aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2017-04-27 19:35:22 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-04-27 19:35:22 +0200
commit037ffdf60911f369b8472bccfe6a90da9b43d0a5 (patch)
tree94c1fb18bc020134150e1556815d607a29d64057
parent66744c4b4cc660f598791a28042087d1cbdcb10d (diff)
Fixed warning
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp4
-rw-r--r--src/server/game/Entities/Unit/Unit.h3
-rw-r--r--src/server/scripts/Spells/spell_item.cpp5
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp2
4 files changed, 9 insertions, 5 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index afafb063d8d..d0f579130fc 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -207,7 +207,7 @@ uint32 DamageInfo::GetHitMask() const
}
HealInfo::HealInfo(Unit* healer, Unit* target, uint32 heal, SpellInfo const* spellInfo, SpellSchoolMask schoolMask)
- : _healer(healer), _target(target), _heal(heal), _absorb(0), _spellInfo(spellInfo), _schoolMask(schoolMask), _hitMask(0)
+ : _healer(healer), _target(target), _heal(heal), _effectiveHeal(0), _absorb(0), _spellInfo(spellInfo), _schoolMask(schoolMask), _hitMask(0)
{
}
@@ -216,6 +216,8 @@ void HealInfo::AbsorbHeal(uint32 amount)
amount = std::min(amount, GetHeal());
_absorb += amount;
_heal -= amount;
+ amount = std::min(amount, GetEffectiveHeal());
+ _effectiveHeal -= amount;
_hitMask |= PROC_HIT_ABSORB;
}
diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h
index f5213b7b172..d06a48b7992 100644
--- a/src/server/game/Entities/Unit/Unit.h
+++ b/src/server/game/Entities/Unit/Unit.h
@@ -992,6 +992,7 @@ private:
Unit* const _healer;
Unit* const _target;
uint32 _heal;
+ uint32 _effectiveHeal;
uint32 _absorb;
SpellInfo const* const _spellInfo;
SpellSchoolMask const _schoolMask;
@@ -1001,10 +1002,12 @@ public:
explicit HealInfo(Unit* healer, Unit* target, uint32 heal, SpellInfo const* spellInfo, SpellSchoolMask schoolMask);
void AbsorbHeal(uint32 amount);
+ void SetEffectiveHeal(uint32 amount) { _effectiveHeal = amount; }
Unit* GetHealer() const { return _healer; }
Unit* GetTarget() const { return _target; }
uint32 GetHeal() const { return _heal; }
+ uint32 GetEffectiveHeal() const { return _effectiveHeal; }
uint32 GetAbsorb() const { return _absorb; }
SpellInfo const* GetSpellInfo() const { return _spellInfo; };
SpellSchoolMask GetSchoolMask() const { return _schoolMask; };
diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp
index 78789581f7b..7007345ecf6 100644
--- a/src/server/scripts/Spells/spell_item.cpp
+++ b/src/server/scripts/Spells/spell_item.cpp
@@ -1210,11 +1210,10 @@ class spell_item_crystal_spire_of_karabor : public SpellScriptLoader
bool CheckProc(ProcEventInfo& eventInfo)
{
- //int32 pct = GetSpellInfo()->GetEffect(EFFECT_0)->CalcValue();
+ int32 pct = GetSpellInfo()->GetEffect(EFFECT_0)->CalcValue();
if (HealInfo* healInfo = eventInfo.GetHealInfo())
if (Unit* healTarget = healInfo->GetTarget())
- // @todo: fix me
- //if (healTarget->GetHealth() - healInfo->GetEffectiveHeal() <= healTarget->CountPctFromMaxHealth(pct))
+ if (healTarget->GetHealth() - healInfo->GetEffectiveHeal() <= healTarget->CountPctFromMaxHealth(pct))
return true;
return false;
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp
index 1244f8983e5..1fb0d3fd0a2 100644
--- a/src/server/scripts/Spells/spell_priest.cpp
+++ b/src/server/scripts/Spells/spell_priest.cpp
@@ -1170,7 +1170,7 @@ class spell_pri_t5_heal_2p_bonus : public SpellScriptLoader
{
if (HealInfo* healInfo = eventInfo.GetHealInfo())
if (Unit* healTarget = healInfo->GetTarget())
- // @todo: fix me later if (healInfo->GetEffectiveHeal())
+ if (healInfo->GetEffectiveHeal())
if (healTarget->GetHealth() >= healTarget->GetMaxHealth())
return true;