diff --git a/data/sql/updates/pending_db_world/rev_1724764338252798941.sql b/data/sql/updates/pending_db_world/rev_1724764338252798941.sql new file mode 100644 index 000000000..d35775f79 --- /dev/null +++ b/data/sql/updates/pending_db_world/rev_1724764338252798941.sql @@ -0,0 +1,3 @@ +-- +DELETE FROM `spell_script_names` WHERE `spell_id` = 64765; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES (64765, 'spell_gen_absorb0_hitlimit1'); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index d5ca8b153..2f3765c91 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1195,29 +1195,31 @@ class spell_gen_haunted_aura : public AuraScript }; /* 39228 - Argussian Compass - 60218 - Essence of Gossamer */ + 60218 - Essence of Gossamer + 64765 - The General's Heart */ class spell_gen_absorb0_hitlimit1 : public AuraScript { PrepareAuraScript(spell_gen_absorb0_hitlimit1); - uint32 limit; - bool Load() override { // Max absorb stored in 1 dummy effect - limit = GetSpellInfo()->Effects[EFFECT_1].CalcValue(); + _limit = GetSpellInfo()->Effects[EFFECT_1].CalcValue(); return true; } void Absorb(AuraEffect* /*aurEff*/, DamageInfo& /*dmgInfo*/, uint32& absorbAmount) { - absorbAmount = std::min(limit, absorbAmount); + absorbAmount = std::min(_limit, absorbAmount); } void Register() override { OnEffectAbsorb += AuraEffectAbsorbFn(spell_gen_absorb0_hitlimit1::Absorb, EFFECT_0); } + +private: + uint32 _limit; }; enum AdaptiveWarding