Play Home Contribute Github Join Us! Discourse Staff Members Github Contribution Guides Team

New level! Burning Ices!

I have made my 8th multiplayer level. It’s called Burning Ices.
I have received complaints, that all my levels were mountain terrains. Well, this is a new glacier level!
This is forked from Ace Of Coders.
There are the control points, blah blah blah.
There are several major differences.
Differences for units:
Removed artillery and arrow-towers.
Added knights, rangers, alchemists, and barbarians.
Knight Stats:
15 dmg, 600 health, 50 bash dmg, 15 cleave dmg… Warcry enabled.
Must be commanded.
Knight commanding code to make it cleave and attack enemies.

            
            victims = []
            targets = hero.findEnemies()
            for target in targets:
                if friend.distanceTo(target) < 15 and target.type <> 'munchkin' and target.type <> 'thrower':
                    victims.append(target)
            anchor = friend.findNearest(victims)
            if len(victims) >= 2 and friend.isReady("cleave") and anchor:
                hero.command(friend, "cleave", anchor)
            else:
                target = friend.findNearest(targets)                
                if target:
                    hero.command(friend, "attack", target)

You can command knights to cleave, and I added isReady to it’s API, so its commanable to bash, cleave, and warcry.
Alchemist:
120 health, 200 dmg, 5 sec attack cooldown.
Spells:
[‘heal’, ‘grow’, ‘slow’, ‘dispel’, ‘haste’, ‘regen’, ‘poison-cloud’]
CanCast and findFriends are added to it’s API.
Code for making it cast regen on itself, and attack:

if enemy:
   hero.command(friend, "attack", enemy)
targets = friend.findFriends()
if friend.canCast("regen") and friend.health < 100:
    hero.command(friend, "cast", 'regen', friend)

Ranger
80 health, 20 dmg, backstab dmg 600, invisibility spell.
CanCast and isReady has been added to it’s API.
Backstab has been added to the Commandable methods.

Code for making it back stab the nearest enemy:

enemy = friend.findNearestEnemy()
if friend.isReady("backstab"):
    hero.command(friend, 'backstab', enemy)
elif enemy:
    hero.command(friend, 'attack', enemy)

Barbarian:
100 health, 80 dmg
Cannot hurl, stomp, or throw.
Commandable Methods:
[‘move’, ‘attack’, ‘cast’, ‘defend’, ‘backstab’, ‘warcry’, ‘bash’, ‘cleave’]
CommandableTypes:
[‘soldier’, ‘archer’, ‘barbarian’, ‘alchemist’, ‘knight’, ‘ranger’]
Play here.
Probably much harder then Ace Of Coders.

1 Like

Somethings wrong with gold collection…
Spectate

Yeah, thats really odd.
@Chaboi_3000
Please help!!!

I’m pretty busy today, so I don’t think I am able to check your level.

I’m also a little lost on what you mean by “Wrong gold collection”. Your level is literally Ace of Coders with different summonable units, so it still maintains the “capture point = more gold income” mechanic from Ace of Coders tournament.

I solved it.
You see, what was happening, was that the things you summoned could pick up gold, so they stepped on the control point, and just got a bunch of money.

Patched Bugs:
Added new unit:
Necromancer
60 health
10 dmg
Spells = [‘summon-undead’, ‘raise-dead’, ‘sacrifice’, ‘soul-link’]
API:
CanCast, findCorpses

Another note, have you tried creating an arena from scratch rather than forking some other arena and modifying it?

I have done Code Royale without copying

The rest were forked from code royale, and modified

2 new units!
'archer-tower:
600 health, 70 dmg.
Summons an archer every 7.5 seconds.
Soldier-hut
600 health, 70 dmg
Summons a soldier every 7.5 seconds.

Balance Update:
Removed Alchemist Poison Spell
Added Alchemist Slow Spell
Alchemist Attack DMG = 60
Attack cooldown 1 second.
Knight attack dmg decreased
Archer tower now spawns archers every 10 sec

Update:
Added castles
Summons 3 soldiers and 2 archers once every 12 seconds.
140 gold.

Update:
Added fortresses.
Summon 3 munchkins, 2 throwers, and a shaman every 10 seconds.
Nerfed Castles.
Summon 2 soldiers and an archer every 7 seconds.
Soldier Hut now has it’s own texture.
PRO TIP:
You might want to use hero.throw on a thrower or archer horde.

Update:
Fortresses now spawn 2 scouts, and a shaman per spawn.

UPDATE:
Better commanding!!!
Shamans can be commanded, their type is ‘shaman-cut’
Scouts can be commanded too!
Use shamans to provide some decent ranged support, and use your scouts to vex enemies, or just think of them as fast but weak soldiers.
P.S Scouts can capture control points.
If you don’t command them, scouts and shamans will just attack nearest.
The shamans are shaman-cut, so they can’t cast spells.

And the person who spams archer towers and castles, ¯_(ツ)_/¯
And wasn’t that you @JWH?
Might want to modify ur code,

1 Like

Cool game. My necromancer doesn’t summon a skeleton when I do this:

friends = hero.findFriends()
for friend in friends:
    if friend.type == "necromancer":
        if friend.canCast("summon-undead"):
            hero.command(friend, "cast","summon-undead")

Help!

I am looking into it. :slight_smile: