Description:
ID - 74502 Enervating Brand
Effect 0: Id 6 (SPELL_EFFECT_APPLY_AURA)
BasePoints = 0
Targets (6, 0) (TARGET_UNIT_TARGET_ENEMY, NO_TARGET)
Aura Id 23 (SPELL_AURA_PERIODIC_TRIGGER_SPELL), value = 0, misc = 0 (0), miscB = 0, periodic = 2000
Trigger spell (74505) Enervating Brand. Chance = 101
ID - 74505 Enervating Brand
Effect 0: Id 6 (SPELL_EFFECT_APPLY_AURA)
BasePoints = -2
Targets (22, 30) (TARGET_SRC_CASTER, TARGET_UNIT_SRC_AREA_ALLY)
Aura Id 79 (SPELL_AURA_MOD_DAMAGE_PERCENT_DONE), value = -2, misc = 127 (127), miscB = 0, periodic = 0
Radius (Id 32) 12,00
Effect 1: Id 6 (SPELL_EFFECT_APPLY_AURA)
BasePoints = -2
Targets (22, 30) (TARGET_SRC_CASTER, TARGET_UNIT_SRC_AREA_ALLY)
Aura Id 136 (SPELL_AURA_MOD_HEALING_DONE_PERCENT), value = -2, misc = 127 (127), miscB = 0, periodic = 0
Radius (Id 32) 12,00
md5-27e049b47b3cac90cec8e39b84786858
ID - 74507 Siphoned Might
Effect 0: Id 6 (SPELL_EFFECT_APPLY_AURA)
BasePoints = 2
Targets (25, 0) (TARGET_UNIT_TARGET_ANY, NO_TARGET)
Aura Id 79 (SPELL_AURA_MOD_DAMAGE_PERCENT_DONE), value = 2, misc = 127 (127), miscB = 0, periodic = 0
Effect 1: Id 6 (SPELL_EFFECT_APPLY_AURA)
BasePoints = 2
Targets (25, 0) (TARGET_UNIT_TARGET_ANY, NO_TARGET)
Aura Id 61 (SPELL_AURA_MOD_SCALE), value = 2, misc = 0 (0), miscB = 0, periodic = 0
@Keader all for you 馃槃
Current behaviour:
When Baltharus or Clone cast ID - 74502 Enervating Brand on Player, trigger spell ID - 74505 Enervating Brand and when hit 74505 on Player, Player get ID - 74507 Siphoned Might
Expected behaviour:
When Baltharus or Clone cast ID - 74502 Enervating Brand on Player, trigger spell ID - 74505 Enervating Brand and when hit 74505 on Player, Baltharus or Clone (the true caster) should get ID - 74507 Siphoned Might
Steps to reproduce the problem:
Branch(es): 3.3.5
TC rev. hash/commit: 463ed5e1ac6881696124cfaa2eeb49b95a082914
TDB version: TDB335.63
Operating system: Debian
There you go 馃槂 tested, Baltharus does get stacks
class spell_baltharus_enervating_brand_trigger : public SpellScriptLoader
{
public:
spell_baltharus_enervating_brand_trigger() : SpellScriptLoader("spell_baltharus_enervating_brand_trigger") { }
class spell_baltharus_enervating_brand_trigger_SpellScript : public SpellScript
{
PrepareSpellScript(spell_baltharus_enervating_brand_trigger_SpellScript);
bool Validate(SpellInfo const* /*spell*/) override
{
return ValidateSpellInfo({ SPELL_SIPHONED_MIGHT });
}
void TriggerSpell()
{
if (const SpellInfo* triggeringSpellInfo = GetTriggeringSpell())
if (Aura* triggeringAura = GetCaster()->GetAura(triggeringSpellInfo->Id))
GetHitUnit()->CastSpell(triggeringAura->GetCaster(), SPELL_SIPHONED_MIGHT, true);
}
void Register() override
{
OnHit += SpellHitFn(spell_baltharus_enervating_brand_trigger_SpellScript::TriggerSpell);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_baltharus_enervating_brand_trigger_SpellScript();
}
};
Weird...
Btw, was not my script (already present on core before cleanup) haha
Something change SpellScripts, because Caster become player, HitUnit is player, OriginalCaster is player and it was working before.
Thanks @Mihapro
And wtf, missing validate o.o
I doubt this is only one missing validate :)
Most helpful comment
There you go 馃槂 tested, Baltharus does get stacks