Stuck on Summit's Gate. (JS)

I am currently stuck on Summit’s gate. I need tips on how to proceed. My code does work I just don’t really know what to do on how to progress through the stage. I keep on dying at the part with all the skeletons AKA right before the end.

Here’s my code

// Fight your way into the Inner Sanctum of the ogre chieftain, and defeat her.
while (true) {
    var flag = hero.findFlag("green");
    var flagV = hero.findFlag("violet");
    var flagB = hero.findFlag("black");
    var enemy = hero.findNearestEnemy();
    var friends = hero.findFriends();
    if (flagV) {
        hero.pickUpFlag(flagV);
        hero.shield();
        while (true) {
            var flagB = hero.findFlag("black");
            if (flagB) {
                hero.pickUpFlag(flagB);
                break;
            }
        }
    } else if (flag) {
        hero.pickUpFlag(flag);
        var enemy = hero.findNearestEnemy();
    }
    if (enemy && !flag) {
        if (hero.canCast("chain-lightning", enemy) && hero.distanceTo(enemy) < 20) {
            hero.cast("chain-lightning", enemy);
            var enemy = hero.findNearestEnemy();
        } else {
            hero.attack(enemy);
            var enemy = hero.findNearestEnemy();
        }
        if (hero.isReady("stomp")) {
            while (true) {
                hero.move(enemy.pos);
                if (hero.distanceTo(enemy) < 7.5) {
                    hero.stomp();
                    var enemy = hero.findNearestEnemy();
                    break;
                } else if (hero.distanceTo(enemy) > 20) {
                    break;
                }
            }
        } else {
            hero.attack(enemy);
            var enemy = hero.findNearestEnemy();
        }
        if (friends) {
            for (var i = 0; i < friends.length; i += 1) {
                var friend = friends[i];
                if (enemy && friend.team == "ogres") {
                    hero.command(friend, "attack", enemy);
                } else {
                    hero.command(friend, "move", hero.pos);
                }
            }
        }
    }
}

By the time I get to the necromancers or whatever they are my health is almost depleted and I don’t have anyway of replenishing it. Please give tips

(My hero is Okar)
1

You don’t really need flags their are no seeds for this level and if you have ritic use him it took me a few days to finish this level

I have to use the flags because for some reason once he destroys the 2 electric pillar right before the inner gate he just sorta runs into the wall. I think I fixed it with a few lines but honestly I don’t know. I’m going to have to check if he doesn’t run into the wall. Even if he doesn’t he will most likely just be almost out of health and then die to the skeletons.
Edit: Nvm he always dies to the second pillar. So I’m practically forced to use flags.

What hero are you using

I use Okar mainly for his health and damage.

Okar is a good hero but not ideal for this level because he is slow do you have ritic

That’s because of the Twilight glasses. Unequip them (equip some glasses that don’t see through walls) and it’ll be fine.

Nope. Too expensive.

Okay I’ll try that. Thx

Okay everything’s the same except now Okar isn’t running into walls. He still dies at the necromancer part.

I’d recommend targeting the warlocks otherwise they will just keep summoning skeletons. I’d also recommend getting the Boots of Leaping to get to the warlocks faster.

It’s solved! I listend to the first guy about there being no seeds so i just wrote a bunch of code to do it perfectly! I’m finally done with this level! Thx for the tips!

Here’s the code I ended up using. I just scrapped the first version and made a new one further down.

// Fight your way into the Inner Sanctum of the ogre chieftain, and defeat her.
/*
hero.moveXY(33, 55);
while (true) {
    var flag = hero.findFlag("green");
    var flagV = hero.findFlag("violet");
    var flagB = hero.findFlag("black");
    var enemy = hero.findNearestEnemy();
    var friends = hero.findFriends();
    var warlock = hero.findByType("warlock");
    if (flagV) {
        hero.pickUpFlag(flagV);
        hero.shield();
        while (true) {
            var flagB = hero.findFlag("black");
            if (flagB) {
                hero.pickUpFlag(flagB);
                break;
            }
        }
    } else if (flag) {
        hero.pickUpFlag(flag);
        var enemy = hero.findNearestEnemy();
    }
    if (enemy && !flag && !warlock) {
        if (hero.canCast("chain-lightning", enemy) && hero.distanceTo(enemy) < 20) {
            hero.cast("chain-lightning", enemy);
            var enemy = hero.findNearestEnemy();
        } else if (enemy) {
            hero.attack(enemy);
            var enemy = hero.findNearestEnemy();
        }
        if (hero.isReady("stomp")) {
            while (true) {
if (enemy) {
    if (hero.distanceTo(enemy) < 5) {
        hero.stomp();
        break;
    } else if (enemy) {
        hero.move(enemy.pos);
    }
} else {
    break;
}
            }
        } else if (enemy) {
            hero.attack(enemy);
            var enemy = hero.findNearestEnemy();
        }
        if (friends) {
            for (var i = 0; i < friends.length; i += 1) {
                var friend = friends[i];
                if (enemy && !friend.team != "ogres") {
                    hero.command(friend, "attack", enemy);
                } else {
                    hero.command(friend, "move", hero.pos);
                }
            }
        }
    } else if (hero.findByType("warlock")) {
        
    }
}
*/
var friends = hero.findFriends();
for (var i = 0; i < friends.length; i += 1) {
    var friend = friends[i];
    var enemy = hero.findNearestEnemy();
    if (enemy && friend.team != "ogres") {
        hero.command(friend, "attack", enemy);
    } else {
        hero.command(friend, "move", hero.pos);
    }
}
hero.moveXY(33, 38);
hero.stomp();
var a = hero.findByType("fangrider");
hero.cast("chain-lightning", a[1]);
var friends = hero.findFriends();
for (var i = 0; i < friends.length; i += 1) {
var friend = friends[i];
hero.command(friend, "move", {x:6,y:39});
}

hero.attack(a[0]);
hero.moveXY(94, 35);
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
hero.moveXY(93, 55);
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
hero.moveXY(83, 36);
hero.moveXY(91, 14);
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
hero.moveXY(75, 12);
hero.moveXY(92, 34);
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
hero.moveXY(109, 35);
var enemy = hero.findNearestEnemy();
hero.moveXY(enemy.pos.x - 5, 55);
hero.stomp();
hero.attack(enemy);
hero.attack(enemy);
hero.attack(enemy);
hero.attack(enemy);
hero.attack(enemy);
hero.attack(enemy);
hero.moveXY(122, 29);
var enemy = hero.findNearestEnemy();
hero.moveXY(enemy.pos.x - 5, enemy.pos.y);
hero.stomp();
hero.attack(enemy);
hero.attack(enemy);
hero.attack(enemy);
hero.attack(enemy);
hero.attack(enemy);
hero.attack(enemy);
hero.moveXY(151, 34);
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
hero.wait(5);
hero.moveXY(170, 35);
var friends = hero.findFriends();
for (var i = 0; i < friends.length; i += 1) {
    var friend = friends[i];
        hero.command(friend, "move", hero.pos);
}
hero.wait(20);
var paladins = hero.findByType("paladin");
for (var i = 0; i < paladins.length; i += 1) {
    var paladin = paladins[i];
        hero.command(paladin, "cast","heal", hero);
}
var paladins = hero.findByType("paladin");
hero.wait(10);
for (var i = 0; i < paladins.length; i += 1) {
    var paladin = paladins[i];
        hero.command(paladin, "cast","heal", hero);
}
var paladins = hero.findByType("paladin");
hero.wait(10);
for (var i = 0; i < paladins.length; i += 1) {
    var paladin = paladins[i];
        hero.command(paladin, "cast","heal", hero);
}
hero.moveXY(247, 35);
for (var i = 0; i < friends.length; i += 1) {
    var friend = friends[i];
        hero.command(friend, "move", hero.pos);
}
hero.wait(10);
hero.moveXY(276, 35);
var warlock = hero.findByType("warlock");
hero.attack(warlock[0]);
hero.attack(warlock[1]);
var friends = hero.findFriends();
for (var i = 0; i < friends.length; i += 1) {
    var friend = friends[i];
    var enemy = hero.findNearestEnemy();
    if (enemy && friend.team != "ogres") {
        hero.command(friend, "attack", enemy);
    } else {
        hero.command(friend, "move", hero.pos);
    }
}
hero.moveXY(273, 34);
hero.stomp();
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
hero.moveXY(277, 33);
for (var i = 0; i < paladins.length; i += 1) {
    var paladin = paladins[i];
        hero.command(paladin, "cast","heal", hero);
}
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
while(true) {
var friends = hero.findFriends();
var enemy = hero.findNearestEnemy();
for (var i = 0; i < friends.length; i += 1) {
    var friend = friends[i];
    var enemy = hero.findNearestEnemy();
    if (enemy && friend.team != "ogres") {
        hero.command(friend, "attack", enemy);
    } else {
        hero.command(friend, "move", hero.pos);
    }
}
if(enemy) {
    if (hero.isReady("stomp")) {
        hero.moveXY(enemy.pos.x, enemy.pos.y);
        hero.stomp();
    } else {
        hero.attack(enemy);
    }
    if (hero.canCast("chain-lightning", enemy)) {
        hero.cast("chain-lightning", enemy);
    } else {
        hero.attack(enemy);
    }
}
}

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.