[SOLVED] Help! Restless Dead [Python]

What do you mean by brrrrr?. And move pet.on out of the whole loop.

1 Like

Use the gift of the trees for naria (you need scattershot)

Not really, I beat the level without using the gift of the trees. It’s rather the code that needs improvement.

My hero goes spinning (sorta)
Lydia

It still doesn’t work even after I move pet.on out of the loop.
Lydia

This is definitely challenging. I used Senick and struggled to survive the first time I tried this level. Flags are actually unneeded in this level. You’d probably want to use moveXY() more than flags. I recommend you use griffin-riders for troops since they deal decent damage and have a high HP value compared to archers. Here’s a quick demo video of what I did for the level:

4 Likes

I think your Blue Fox have to move to skeletons.

What do you mean?
Lydia

Before it shapeShift() it have to moveXY to skeletons.

1 Like

@Chaboi_3000 Can you make a Tips topic for Restless Dead like this one?

But for Restless Dead?
Lydia

Yeah sure I’ll try to get some time. Pretty busy with exams though.

1 Like

You’re still in school? I thought you graduated already.
Lydia

I still have classes :slight_smile: Just good at time management so I shouldn’t have a load on me.

2 Likes

Well, after graduation there’s still college or if you want get different degrees.

2 Likes

@Lydia_Song
I just tried this level using your exact equipment(Shown below), and finally completed this level with a whooping 80 lines of code!

The most important factor in the completion was probably the use of Blue Fox's shapeShift and the throw() ability. Trust me, you'd want to use them. Envenom and hide() are both really strong abilities and hide() is fantastic to use with Blue Fox. In the gameplay demo down below(Sorry for the crazy amount of blur!), you can probably see how the fox kited those skeletons into the bombs and the griffin-riders. In the end I lived with 744 HP and a bunch of riders blown up... Personally not a big fan of the precision rifle against swarms, it's pretty ineffective.

I did as @xython said,

  • No new equipment(All are copied from Lydia’s inventory)
  • No flags

Here’s the quick gameplay GIF of Restless Dead using the above methods + equipment:
Screen-Recording-2020-10-05-at-1

Hopefully this gives you a better understanding of different ways you can complete this level. Have fun!


Personally I never knew how much of a challenge this level is – I’ve been using Senick + Gift of Trees, so it wasn’t too much of a challenge. Fun one though! Really pushed my algorithmic thinking!

6 Likes

Thank you for this advice, I will try it as soon as possible.
You can summon griffin-riders with BS3?
Lydia

1 Like

One thing I don’t get is did you use while-true loops? I can’t figure out how to command my hero to move to different spots while doing something. Without my hero just going back and forth.
Lydia

1 Like
def onSpawn():
    if pet.isReady("shape-shift"):
        pet.moveXY(58, 54)
        pet.shapeShift() 
        pet.moveXY(50, 37)

def summon():
    if hero.gold > hero.costOf("archer"):
        hero.summon("archer")

def command():
    friends = hero.findFriends()
    for friend in friends:
        if friend.type == "archer":
            enemyF = friend.findNearestEnemy()
            if enemyF:
                hero.command(friend, "attack", enemyF)
            else:
                hero.command(friend, "move", {'x':36, 'y':40})
def friendMove():
    friends = hero.findFriends()
    for friend in friends:
        if friend.type == "archer":
            hero.command(friend, "move", {'x':36, 'y':38})

def attack():
    enemy = hero.findNearestEnemy()
    hero.move({'x':56, 'y':51})
    if enemy:
        if hero.isReady("throw"):
            hero.throw(enemy)
        if hero.canCast("chain-lightning", enemy):
            hero.cast("chain-lightning", enemy)
        else:
            hero.attack(enemy)

def collect():
    item = hero.findNearestItem()
    if item:
        hero.move(item.pos)

def move():
    hero.move({'x':19, 'y':40})
    hero.move({'x':56, 'y':51})
    
pet.on("spawn", onSpawn)
while True:
    friends = hero.findFriends()
    item = hero.findNearestItem()
    enemy = hero.findNearestEnemy()
    
    
    summon()
    command()
    friendMove()
    move()
    if enemy:
        attack()
    if hero.time < 40:
        collect()

My hero still does the same thing.
Lydia

1 Like

Yes, you can. I used all of your listed Naria equipment :slight_smile:

I did the first movements outside of a while true loop, and I used the gilt wristwatch’s hero.time to transition from outside the graveyard to inside the graveyard

2 Likes

So you did something like this?

while True:
    if hero.time <= 40:
        hero.moveXY(inside graveyard)
    if hero.time <= 50:
        hero.moveXY(outside graveyard)

Lydia