Kelvintaph Defiler


#1

Im not really understanding this. My paladin dies within 15 seconds even when im shielding. According to this article I can last 50 seconds.

Am im doing something wrong while shielding? Heres my shield code.


def Paladin_Wait(Paladin):
    
    hero.command(Paladin, "shield")

Is this the incorrect way to shield? This method is in a loop so its constantly iterating.

.
.
.
Edit: I found out that im not healing because im shielding right after. Im not sure on how to wait till the heal spell has been casted because my paladin cant use the wait method and if my hero uses the wait method he gets attacked. I need a method to let me know when the heal spell has finished casting so I can shield.


#2

canCast can, and should, be used on your paladin. The syntax will look something like this:

if friend.canCast("heal"):
    heal(friend)
else:
    defend(friend)

In my experience, you’ll actually get a little less than 50 seconds, but that will be okay. You only need about 45 to 47 seconds, and you could make do with less.

Here’s 4 tips for you. Some of them might be on other forum threads, but here you go anyway. I’ve spoiler tagged them in case you don’t want to know, but I think I’ve kept it vague.

[spoiler]* Nalfar can’t and won’t die; your only goal is to get his health down enough.

  • Your hero isn’t useless after Nalfar is out of the picture.
  • Killing the first shaman first is a bad idea.
  • Your allies can attack enemies while flying, but not while in a state of fear.[/spoiler]

#3

Much appreciated. Lol honestly this is the only thing I needed. XD

if friend.canCast("heal"):
    heal(friend)

Instead of putting the canCast method in the first if. I was looking see if my paladins HP was low enough until I went inside the heal(friend) method. Im still trying to wrap my mind around on how that even matters but it works now since I switched the order.

This was my code.

if Paladin_Hp < (Max_Hp * 7):
    heal(friend)