فهرست منبع

Simplified offensive spell damage calculation

AlexVinS 9 سال پیش
والد
کامیت
1fd87ecc4a
1فایلهای تغییر یافته به همراه2 افزوده شده و 7 حذف شده
  1. 2 7
      lib/spells/CDefaultSpellMechanics.cpp

+ 2 - 7
lib/spells/CDefaultSpellMechanics.cpp

@@ -447,17 +447,12 @@ void DefaultSpellMechanics::applyBattleEffects(const SpellCastEnvironment * env,
 	//applying effects
 	//applying effects
 	if(owner->isOffensiveSpell())
 	if(owner->isOffensiveSpell())
 	{
 	{
-		int spellDamage = parameters.effectValue;
-
+		const int rawDamage = (parameters.effectValue == 0) ? owner->calculateRawEffectValue(parameters.effectLevel, parameters.effectPower) : parameters.effectValue;
 		int chainLightningModifier = 0;
 		int chainLightningModifier = 0;
 		for(auto & attackedCre : ctx.attackedCres)
 		for(auto & attackedCre : ctx.attackedCres)
 		{
 		{
 			BattleStackAttacked bsa;
 			BattleStackAttacked bsa;
-			if(spellDamage != 0)
-				bsa.damageAmount = owner->adjustRawDamage(parameters.caster, attackedCre, spellDamage) >> chainLightningModifier;
-			else
-				bsa.damageAmount = owner->calculateDamage(parameters.caster, attackedCre, parameters.effectLevel, parameters.effectPower) >> chainLightningModifier;
-
+			bsa.damageAmount = owner->adjustRawDamage(parameters.caster, attackedCre, rawDamage) >> chainLightningModifier;
 			ctx.addDamageToDisplay(bsa.damageAmount);
 			ctx.addDamageToDisplay(bsa.damageAmount);
 
 
 			bsa.stackAttacked = (attackedCre)->ID;
 			bsa.stackAttacked = (attackedCre)->ID;