Frozen Fortress/Equinox tips, tricks, and chat

By the way, the beta version of the finals arena has come out.

1 Like

Im #4, losing to venneth

1 Like

The equinox arena reminds me of the first arena on codecombat.

Do you mean Greed? :thinking:

1 Like

this is getting kinda off-topic

1 Like

Yeah (200000000 chars)

1 Like

indeeeed, lol, although that’s simple code you should be able to convert it…

while (true) {
    enemies = hero.findOpponentEnemies()
    if (enemies.length > 0) {
        hero.ability("haste",enemies[0]);
        hero.ability("rage",enemies[0]);
    }
}
1 Like

I am the master of js >:D they are the masters of arenas tho

1 Like

tomorrow turned into three days later and is gonna turn into 4 and maybe 5 cuz I’m lazy owo

1 Like

For people who are struggling in frozen fortress or equinox this is helpful:
Screenshot 2023-03-28 10.31.05 AM

Hey, As an activity in my school we are using code combat and we are part of the challenge, but I am somewhat competitive and I want to become the first in my class, I don’t know if anyone could help me haha, I use Python as a programming language

1 Like

Welcome to the discourse @Daniela_Garcia! :tada:

If you upload your whole code please do it in pm’s, otherwise someone might copy it. You should use this strategy I posted a few days ago:

Or if you feel advanced and confident, you should use this strategy that @MarmiteOnToast translated:

allsquares = 'abcdefgh'
tower = {
    'a': {'name': 'none', 'level': 0},
    'b': {'name': 'none', 'level': 0},
    'c': {'name': 'none', 'level': 0},
    'd': {'name': 'none', 'level': 0},
    'e': {'name': 'none', 'level': 0},
    'f': {'name': 'none', 'level': 0},
    'g': {'name': 'none', 'level': 0},
    'h': {'name': 'none', 'level': 0}
}

def build(t, s):
    if len(s) > 1:
        letters = list(s)
        for letter in letters:
            build(t, letter)
        return
    hero.build(t, s)
    tower[s]['name'] = t
    tower[s]['level'] += 1

def towers(start, end):
    if str(start).isdigit():
        start = allsquares.index(start)
    else:
        start = start
    if str(end).isdigit():
        end = allsquares.index(end) + 2
    else:
        end = end
    return [tower[allsquares[i]] for i in range(start, end)]

def squares(start, end):
    if str(start).isdigit():
        start = allsquares.index(start)
    else:
        start = start
    if str(end).isdigit():
        end = allsquares.index(end) + 2
    else:
        end = end
    return allsquares[start:end]

def upgrade(*args):
    
    if len(args) > 1:
        args = args
    else:
        list(args[0])
    for s in args:
        build(tower[s]['name'], s)

You should use rage and haste so that the enemies on the opponent’s side go faster, and do more damage to the opponent:

 while True:
        enemies = hero.findOpponentEnemies()
        
        if len (enemies) > 0:
            hero.ability("haste",enemies[0])
            hero.ability("rage",enemies[0])

Of course my version was simply a post from @moonwatcher348 translated to Python, so the actual structure of the code is Moon’s

1 Like

Fixed it:
Screenshot 2023-03-28 6.19.15 PM

also side note, idk when I’ll be done since I’m too lazy to work on it lol

1 Like

ok I’m done, posting in 10 minutes once I verify there is no errors

1 Like

oop, teacher needs computer, will post later, byeee

1 Like

who can help me improve again lol, i don’t mind if you copy


for i in range(8):
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemies = hero.findOpponentEnemies()
    if len (enemies) > 0: 
        hero.ability("haste",enemies[0])
        hero.ability("rage",enemies[0])
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")         
    hero.build("farm", "a")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("farm", "b")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")         
    hero.build("ice", "c")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")         
    hero.build("farm", "d")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")        
    hero.build("farm", "e")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave") 
    hero.build("farm", "f")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("farm", "g")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("farm", "h")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
hero.sell("d")
for i in range(13):
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "d")
hero.sell("a")
for i in range(10):
    hero.build("cannon", "a")
hero.sell("b")
for i in range(10):
    hero.build("cannon", "b")
for i in range(5):
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "a")
    hero.build("cannon", "b")
    hero.build("ice", "c")
    hero.build("cannon", "d")
    hero.build("farm", "e")
    hero.build("farm", "f")
    hero.build("farm", "g")
    hero.build("farm", "h")
enemy = hero.findNearestEnemy()
if enemy and enemy.distanceTo(hero) < 5:
    hero.ability("shockwave")
hero.sell("e")
for i in range(10):
    hero.build("cannon", "e")
enemy = hero.findNearestEnemy()
if enemy and enemy.distanceTo(hero) < 5:
    hero.ability("shockwave")
hero.sell("f")
for i in range(10):
    hero.build("cannon", "f")
enemy = hero.findNearestEnemy()
if enemy and enemy.distanceTo(hero) < 5:
    hero.ability("shockwave")
hero.sell("g")
for i in range(10):
    hero.build("ice", "g")
enemy = hero.findNearestEnemy()
if enemy and enemy.distanceTo(hero) < 5:
    hero.ability("shockwave")
hero.sell("h")
for i in range(10):
    hero.build("cannon", "h")
enemy = hero.findNearestEnemy()
if enemy and enemy.distanceTo(hero) < 5:
    hero.ability("shockwave")

cycles = 0
while cycles < 5:
    cycles += 1
    hero.build("cannon", "a")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "b")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("ice", "c")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "d")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "e")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "f")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("ice", "g")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "h")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")




while True:
    hero.build("cannon", "a")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "b")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("ice", "c")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "d")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "e")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "f")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("ice", "g")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
    hero.build("cannon", "h")
    enemy = hero.findNearestEnemy()
    if enemy and enemy.distanceTo(hero) < 5:
        hero.ability("shockwave")
# hero.sell("d")
# hero.sell("f")
# hero.sell("b")
# hero.sell("e")
# hero.sell("g")
# while True:
#     e = hero.findNearestEnemy()
#     if e and e.distanceTo(hero) < 20:
#             hero.abil ity("shockwave")
#    e = hero.findNearestOpponentEnemy()
#    if e:
#        hero.ability("haste", enemy)
#        hero.ability("rage", enemy)
#     hero.build("archer", "a")
#     hero.build("cannon", "b")
#     hero.build("ice", "c")
#     hero.build("archer", "d")
#     hero.build("cannon", "e")
#     hero.build("archer", "f")
#     hero.build("ice", "g")
#     hero.build("cannon", "h")
   
1 Like

Tips: Use rage and haste.
Like this:

while True:
    enemies = hero.findOpponentEnemies()
        
    if len (enemies) > 0:
         hero.ability("haste",enemies[0])
         hero.ability("rage",enemies[0]) 

My strat is to look at the top players and to hard-code their strategy.
For example, at what time do they start selling their towers, how many times do they build, etc…

And for that, I’m #7!

1 Like

First time ive been 1st place in the aileague other than my school’s league.

1 Like