ソースを参照

Fixed shield effect - spell only.

DjWarmonger 12 年 前
コミット
c3a1d10988
1 ファイル変更4 行追加0 行削除
  1. 4 0
      server/CGameHandler.cpp

+ 4 - 0
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