From c3a1d109884afacd18ae8963ca2464d308589ed5 Mon Sep 17 00:00:00 2001 From: DjWarmonger Date: Wed, 6 Feb 2013 20:43:17 +0000 Subject: [PATCH] Fixed shield effect - spell only. --- server/CGameHandler.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/CGameHandler.cpp b/server/CGameHandler.cpp index fbc0302b0..e50f2d44e 100644 --- a/server/CGameHandler.cpp +++ b/server/CGameHandler.cpp @@ -4100,6 +4100,10 @@ void CGameHandler::handleSpellCasting( int spellID, int spellLvl, BattleHex dest pseudoBonus.val = spellLvl; pseudoBonus.turnsRemain = gs->curB->calculateSpellDuration(spell, caster, stackSpellPower ? stackSpellPower : usedSpellPower); CStack::stackEffectToFeature(sse.effect, pseudoBonus); + if (spellID == Spells::SHIELD || spellID == Spells::AIR_SHIELD) + { + sse.effect.back().val = (100 - sse.effect.back().val); //fix to original config: shiled should display damage reduction + } if (spellID == Spells::BIND && stack)//bind { sse.effect.back().additionalInfo = stack->ID; //we need to know who casted Bind