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

Kelvintaph Burgler ogres help!

So, I tried for a lot of time but still can’t figure out how to kill both ogres without any allies dying
Any advice?
I figured out the dodge part (move, not moveXY)
I have twilight glasses, advanced flags, sapphire sense stone, gilt wristwatch and boss star lll

Please include your code so we can see your strategy and if there are any problematic lines of code. The trick is baiting the chief into following an ally and triggering the ice-yak to attack the chief while your team stands back and archers shoot at him. Thanks.

Sure, here it is:
Sorry if I copy pasted it, I’m not enough high trust level

What eldritch artifacts are these? Don’t let them blast you!

The ice gate will open when both ogres are defeated.

def moveFriends(friends):
for friend in friends:
if friend.pos.x < 20:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
elif friend.pos.x < 54:
target = {“x”: friend.pos.x + 1, “y”: 50}
else:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
hero.command(friend, “move”, target)
def heroDodge():
# Part I’m stuck on
def commandFriends():
friends = hero.findFriends()
for friend in friends:
witch = friend.findNearest(hero.findByType(“witch”))
chieftain = friend.findNearest(hero.findByType(“chieftain”))
if chieftain:
if friend.type == “paladin”:
distance = friend.distanceTo(chieftain)
if distance < 10:
yak = friend.findNearest(hero.findByType(“ice-yak”))
target = {“x”: yak.pos.x - 3, “y”: yak.pos.y - 3}
hero.command(friend, “move”, target)
else:
if friend.pos.x < 20:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
elif friend.pos.x < 54:
target = {“x”: friend.pos.x + 1, “y”: 50}
else:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
hero.command(friend, “move”, target)
elif witch:
if friend.type == “paladin”:
hero.command(friend, “attack”, witch)
while True:
witch = hero.findByType(“witch”)[0]
if witch:
heroDodge()
commandFriends()
else:
friends = hero.findFriends()
moveFriends(friends)
hero.move({“x”: hero.pos.x + 1, “y”: 14})

… wait a sec

What eldritch artifacts are these? Don’t let them blast you!

The ice gate will open when both ogres are defeated.

def moveFriends(friends):
for friend in friends:
if friend.pos.x < 20:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
elif friend.pos.x < 54:
target = {“x”: friend.pos.x + 1, “y”: 50}
else:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
hero.command(friend, “move”, target)
def heroDodge():
# Part I’m stuck on
def commandFriends():
friends = hero.findFriends()
for friend in friends:
witch = friend.findNearest(hero.findByType(“witch”))
chieftain = friend.findNearest(hero.findByType(“chieftain”))
if chieftain:
if friend.type == “paladin”:
distance = friend.distanceTo(chieftain)
if distance < 10:
yak = friend.findNearest(hero.findByType(“ice-yak”))
target = {“x”: yak.pos.x - 3, “y”: yak.pos.y - 3}
hero.command(friend, “move”, target)
else:
if friend.pos.x < 20:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
elif friend.pos.x < 54:
target = {“x”: friend.pos.x + 1, “y”: 50}
else:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
hero.command(friend, “move”, target)
elif witch:
if friend.type == “paladin”:
hero.command(friend, “attack”, witch)
while True:
witch = hero.findByType(“witch”)[0]
if witch:
heroDodge()
commandFriends()
else:
friends = hero.findFriends()
moveFriends(friends)
hero.move({“x”: hero.pos.x + 1, “y”: 14})

huh, this is weird
def moveFriends(friends):
for friend in friends:
if friend.pos.x < 20:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
elif friend.pos.x < 54:
target = {“x”: friend.pos.x + 1, “y”: 50}
else:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
hero.command(friend, “move”, target)
def heroDodge():
# Part I’m stuck on
def commandFriends():
friends = hero.findFriends()
for friend in friends:
witch = friend.findNearest(hero.findByType(“witch”))
chieftain = friend.findNearest(hero.findByType(“chieftain”))
if chieftain:
if friend.type == “paladin”:
distance = friend.distanceTo(chieftain)
if distance < 10:
yak = friend.findNearest(hero.findByType(“ice-yak”))
target = {“x”: yak.pos.x - 3, “y”: yak.pos.y - 3}
hero.command(friend, “move”, target)
else:
if friend.pos.x < 20:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
elif friend.pos.x < 54:
target = {“x”: friend.pos.x + 1, “y”: 50}
else:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
hero.command(friend, “move”, target)
elif witch:
if friend.type == “paladin”:
hero.command(friend, “attack”, witch)
while True:
witch = hero.findByType(“witch”)[0]
if witch:
heroDodge()
commandFriends()
else:
friends = hero.findFriends()
moveFriends(friends)
hero.move({“x”: hero.pos.x + 1, “y”: 14})

Okay, don’t know what’s happening


try this

Okay:
so my BEST equipments:

def moveFriends(friends):
for friend in friends:
if friend.pos.x < 20:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
elif friend.pos.x < 54:
target = {“x”: friend.pos.x + 1, “y”: 50}
else:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
hero.command(friend, “move”, target)
def heroDodge():
def commandFriends():
friends = hero.findFriends()
for friend in friends:
witch = friend.findNearest(hero.findByType(“witch”))
chieftain = friend.findNearest(hero.findByType(“chieftain”))
if chieftain:
if friend.type == “paladin”:
distance = friend.distanceTo(chieftain)
if distance < 10:
yak = friend.findNearest(hero.findByType(“ice-yak”))
target = {“x”: yak.pos.x - 3, “y”: yak.pos.y - 3}
hero.command(friend, “move”, target)
else:
if friend.pos.x < 20:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
elif friend.pos.x < 54:
target = {“x”: friend.pos.x + 1, “y”: 50}
else:
target = {“x”: friend.pos.x + 1, “y”: friend.pos.y - 1}
hero.command(friend, “move”, target)
elif witch:
if friend.type == “paladin”:
hero.command(friend, “attack”, witch)
while True:
witch = hero.findByType(“witch”)[0]
if witch:
heroDodge()
commandFriends()
else:
friends = hero.findFriends()
moveFriends(friends)
hero.move({“x”: hero.pos.x + 1, “y”: 14})

Okay!
So:

def moveFriends(friends):
    for friend in friends:
        if friend.pos.x < 20:
            target = {"x": friend.pos.x + 1, "y": friend.pos.y - 1}
        elif friend.pos.x < 54:
            target = {"x": friend.pos.x + 1, "y": 50}
        else:
            target = {"x": friend.pos.x + 1, "y": friend.pos.y - 1}
        hero.command(friend, "move", target)
def heroDodge():
def commandFriends():
    friends = hero.findFriends()
    for friend in friends:
        witch = friend.findNearest(hero.findByType("witch"))
        chieftain = friend.findNearest(hero.findByType("chieftain"))
        if chieftain:
            if friend.type == "paladin":
                distance = friend.distanceTo(chieftain)
                if distance < 10:
                    yak = friend.findNearest(hero.findByType("ice-yak"))
                    target = {"x": yak.pos.x - 3, "y": yak.pos.y - 3}
                    hero.command(friend, "move", target)
                else:
                    if friend.pos.x < 20:
                        target = {"x": friend.pos.x + 1, "y": friend.pos.y - 1}
                    elif friend.pos.x < 54:
                        target = {"x": friend.pos.x + 1, "y": 50}
                    else:
                        target = {"x": friend.pos.x + 1, "y": friend.pos.y - 1}
                    hero.command(friend, "move", target)
        elif witch:
            if friend.type == "paladin":
                hero.command(friend, "attack", witch)
while True:
    witch = hero.findByType("witch")[0]
    if witch:
        heroDodge()
        commandFriends()
    else:
        friends = hero.findFriends()
        moveFriends(friends)
        hero.move({"x": hero.pos.x + 1, "y": 14})

I figured out how the defeat both ogres using only the paladin (and saving her)
I thought the robot walkers would die when both ogres are defeated
But they don’t, so now I’m stuck on how to get past or destroy both robot walkers