From 5c4ed0becf131b712cb82e2d7d04ad004a89862e Mon Sep 17 00:00:00 2001 From: Paul Coene Date: Thu, 5 Jul 2018 19:46:56 -0400 Subject: [PATCH] Fix HT and LOH to retry after failure to cast --- zone/special_attacks.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/zone/special_attacks.cpp b/zone/special_attacks.cpp index 7c91c97a7..94a6e99a3 100644 --- a/zone/special_attacks.cpp +++ b/zone/special_attacks.cpp @@ -1540,16 +1540,19 @@ void NPC::DoClassAttacks(Mob *target) { if(ka_time){ int knightreuse = 1000; //lets give it a small cooldown actually. + switch(GetClass()){ case SHADOWKNIGHT: case SHADOWKNIGHTGM:{ - CastSpell(SPELL_NPC_HARM_TOUCH, target->GetID()); - knightreuse = HarmTouchReuseTime * 1000; + if (CastSpell(SPELL_NPC_HARM_TOUCH, target->GetID())) { + knightreuse = HarmTouchReuseTime * 1000; + } break; } case PALADIN: case PALADINGM:{ if(GetHPRatio() < 20) { - CastSpell(SPELL_LAY_ON_HANDS, GetID()); - knightreuse = LayOnHandsReuseTime * 1000; + if (CastSpell(SPELL_LAY_ON_HANDS, GetID())) { + knightreuse = LayOnHandsReuseTime * 1000; + } } else { knightreuse = 2000; //Check again in two seconds. }