diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2017-12-30 20:28:41 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2021-04-16 15:22:42 +0200 |
| commit | 9b141207d170e4b2b4e6d9290d5f921f76cbcea0 (patch) | |
| tree | 47d65d966a66699f6de7e308047e408bdb255bff /src/server/scripts/Argus | |
| parent | 2ea8f5e6fced094f28c45ac84123c85477122567 (diff) | |
[3.3.5] CastSpell unclusterfucking (that's a word now) (#21123)
Core/Spell: The giant CastSpell unclusterfucking (that's a word now) of this generation.
- CastSpell now always takes three arguments - target, spellId, and a struct containing extra arguments
- This struct (CastSpellExtraArgs, see SpellDefines.h) serves as a conglomerate of every previous combination of the 20 billion different CastSpell overloads, all merged into one
- It has some great utility constructors - check them out! All of these can be used to implicitly construct the ExtraArgs object.
- A gajillion refactors to make everything behave the way it always has
(cherry picked from commit d507a7e3388382960108b24143da48e5f912b4a7)
Diffstat (limited to 'src/server/scripts/Argus')
| -rw-r--r-- | src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp index 4e411bab59f..43047b45a87 100644 --- a/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp +++ b/src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp @@ -526,7 +526,7 @@ class spell_garothi_apocalypse_drive : public AuraScript void HandlePeriodic(AuraEffect const* aurEff) { - GetTarget()->CastSpell(GetTarget(), SPELL_APOCALYPSE_DRIVE_PERIODIC_DAMAGE, true, nullptr, aurEff); + GetTarget()->CastSpell(GetTarget(), SPELL_APOCALYPSE_DRIVE_PERIODIC_DAMAGE, aurEff); } void Register() override @@ -630,7 +630,7 @@ class spell_garothi_searing_barrage_dummy : public SpellScript void HandleHit(SpellEffIndex /*effIndex*/) { - GetHitUnit()->CastCustomSpell(SPELL_SEARING_BARRAGE_SELECTOR, SPELLVALUE_BASE_POINT0, GetSpellInfo()->Id, GetHitUnit(), true); + GetHitUnit()->CastSpell(GetHitUnit(), SPELL_SEARING_BARRAGE_SELECTOR, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_BASE_POINT0, GetSpellInfo()->Id)); } void Register() override @@ -870,7 +870,7 @@ class spell_garothi_cannon_chooser : public SpellScript float x = AnnihilationCenterReferencePos.GetPositionX() + cos(frand(0.0f, float(M_PI * 2))) * frand(15.0f, 30.0f); float y = AnnihilationCenterReferencePos.GetPositionY() + sin(frand(0.0f, float(M_PI * 2))) * frand(15.0f, 30.0f); float z = caster->GetMap()->GetHeight(caster->GetPhaseShift(), x, y, AnnihilationCenterReferencePos.GetPositionZ()); - annihilator->CastSpell(x, y, z, SPELL_ANNIHILATION_SUMMON, true); + annihilator->CastSpell({ x, y, z }, SPELL_ANNIHILATION_SUMMON, true); } annihilator->CastSpell(annihilator, SPELL_ANNIHILATION_DUMMY); |
