diff options
author | Shauren <shauren.trinity@gmail.com> | 2021-10-03 14:58:35 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-10-03 14:58:35 +0200 |
commit | 3af9be830d736506ed4544a922699ed0f7a7ecd4 (patch) | |
tree | c334a35bfa68b5a1fc8a2549d0766e982fb82e5f | |
parent | 4449b1396ca3bdea1d856bc991903358e33d2000 (diff) |
Core/Spells: Removed CastSpellExtraArgs constructors accepting ObjectGuid, they would become ambiguous with future changes
33 files changed, 136 insertions, 66 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ef6f2dc147e..587ce00f1d0 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -14793,7 +14793,8 @@ void Player::OnGossipSelect(WorldObject* source, uint32 optionIndex, uint32 menu break; case GOSSIP_OPTION_SPIRITHEALER: if (isDead()) - source->ToCreature()->CastSpell(source->ToCreature(), 17251, GetGUID()); + source->ToCreature()->CastSpell(source->ToCreature(), 17251, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetGUID())); break; case GOSSIP_OPTION_QUESTGIVER: PrepareQuestMenu(guid); @@ -25590,7 +25591,8 @@ void Player::ResurrectUsingRequestDataImpl() SetPower(POWER_LUNAR_POWER, 0); if (uint32 aura = resurrectAura) - CastSpell(this, aura, resurrectGUID); + CastSpell(this, aura, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(resurrectGUID)); SpawnCorpseBones(); } diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index f17f44377e7..31593ced080 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1364,7 +1364,8 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b if (*itr < 0) target->RemoveAurasDueToSpell(-(*itr)); else if (removeMode != AURA_REMOVE_BY_DEATH) - target->CastSpell(target, *itr, GetCasterGUID()); + target->CastSpell(target, *itr, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCasterGUID())); } } if (std::vector<int32> const* spellTriggered = sSpellMgr->GetSpellLinked(GetId() + SPELL_LINK_AURA)) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index cf324178003..7dde366b5bd 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -2961,7 +2961,8 @@ void Spell::DoTriggersOnSpellHit(Unit* unit, uint32 effMask) if (*i < 0) unit->RemoveAurasDueToSpell(-(*i)); else - unit->CastSpell(unit, *i, m_caster->GetGUID()); + unit->CastSpell(unit, *i, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(m_caster->GetGUID())); } } } @@ -5778,7 +5779,8 @@ SpellCastResult Spell::CheckCast(bool strict, uint32* param1 /*= nullptr*/, uint { if (strict) //starting cast, trigger pet stun (cast by pet so it doesn't attack player) if (Pet* pet = unitCaster->ToPlayer()->GetPet()) - pet->CastSpell(pet, 32752, pet->GetGUID()); + pet->CastSpell(pet, 32752, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(pet->GetGUID())); } else if (!m_spellInfo->HasAttribute(SPELL_ATTR1_DISMISS_PET)) return SPELL_FAILED_ALREADY_HAVE_SUMMON; diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h index 907e867480e..d26f0e5ab7e 100644 --- a/src/server/game/Spells/SpellDefines.h +++ b/src/server/game/Spells/SpellDefines.h @@ -258,8 +258,6 @@ struct TC_GAME_API CastSpellExtraArgs CastSpellExtraArgs(TriggerCastFlags trigger) : TriggerFlags(trigger) {} CastSpellExtraArgs(Item* item) : TriggerFlags(TRIGGERED_FULL_MASK), CastItem(item) {} CastSpellExtraArgs(AuraEffect const* eff) : TriggerFlags(TRIGGERED_FULL_MASK), TriggeringAura(eff) {} - CastSpellExtraArgs(ObjectGuid const& origCaster) : TriggerFlags(TRIGGERED_FULL_MASK), OriginalCaster(origCaster) {} - CastSpellExtraArgs(AuraEffect const* eff, ObjectGuid const& origCaster) : TriggerFlags(TRIGGERED_FULL_MASK), TriggeringAura(eff), OriginalCaster(origCaster) {} CastSpellExtraArgs(Difficulty castDifficulty) : CastDifficulty(castDifficulty) {} CastSpellExtraArgs(SpellValueMod mod, int32 val) { SpellValueOverrides.AddMod(mod, val); } diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index cb330f5ca44..d44352c5cd1 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -686,7 +686,8 @@ void Spell::EffectTriggerSpell() } } - CastSpellExtraArgs args(m_originalCasterGUID); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(m_originalCasterGUID); // set basepoints for trigger with value effect if (effectInfo->Effect == SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE) for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) @@ -733,7 +734,8 @@ void Spell::EffectTriggerMissileSpell() targets.SetGOTarget(go); } - CastSpellExtraArgs args(m_originalCasterGUID); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(m_originalCasterGUID); // set basepoints for trigger with value effect if (effectInfo->Effect == SPELL_EFFECT_TRIGGER_MISSILE_SPELL_WITH_VALUE) for (uint32 i = 0; i < MAX_SPELL_EFFECTS; ++i) @@ -773,7 +775,8 @@ void Spell::EffectForceCast() case 52463: // Hide In Mine Car case 52349: // Overtake { - CastSpellExtraArgs args(m_originalCasterGUID); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(m_originalCasterGUID); args.AddSpellMod(SPELLVALUE_BASE_POINT0, damage); unitTarget->CastSpell(unitTarget, spellInfo->Id, args); return; @@ -784,7 +787,8 @@ void Spell::EffectForceCast() switch (spellInfo->Id) { case 72298: // Malleable Goo Summon - unitTarget->CastSpell(unitTarget, spellInfo->Id, m_originalCasterGUID); + unitTarget->CastSpell(unitTarget, spellInfo->Id, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(m_originalCasterGUID)); return; } @@ -3323,7 +3327,8 @@ void Spell::EffectScriptEffect() // proc a spellcast if (Aura* chargesAura = m_caster->ToCreature()->GetAura(59907)) { - m_caster->CastSpell(unitTarget, spell_heal, m_caster->ToCreature()->ToTempSummon()->GetSummonerGUID()); + m_caster->CastSpell(unitTarget, spell_heal, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(m_caster->ToCreature()->ToTempSummon()->GetSummonerGUID())); if (chargesAura->ModCharges(-1)) m_caster->ToCreature()->ToTempSummon()->UnSummon(); } @@ -4130,7 +4135,8 @@ void Spell::EffectCharge() unitCaster->Attack(unitTarget, true); if (effectInfo->TriggerSpell) - m_caster->CastSpell(unitTarget, effectInfo->TriggerSpell, m_originalCasterGUID); + m_caster->CastSpell(unitTarget, effectInfo->TriggerSpell, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(m_originalCasterGUID)); } } @@ -4158,7 +4164,8 @@ void Spell::EffectChargeDest() else if (effectHandleMode == SPELL_EFFECT_HANDLE_HIT) { if (effectInfo->TriggerSpell) - m_caster->CastSpell(*destTarget, effectInfo->TriggerSpell, m_originalCasterGUID); + m_caster->CastSpell(*destTarget, effectInfo->TriggerSpell, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(m_originalCasterGUID)); } } diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp index 0a21c2da912..112c81409c0 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_shade_of_aran.cpp @@ -479,7 +479,8 @@ public: Unit* unit = ObjectAccessor::GetUnit(*me, FlameWreathTarget[i]); if (unit && !unit->IsWithinDist2d(FWTargPosX[i], FWTargPosY[i], 3)) { - unit->CastSpell(unit, 20476, me->GetGUID()); + unit->CastSpell(unit, 20476, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); unit->CastSpell(unit, 11027, true); FlameWreathTarget[i].Clear(); } diff --git a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp index c959dd6a251..9bdd4ac25c4 100644 --- a/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp +++ b/src/server/scripts/Kalimdor/CavernsOfTime/BattleForMountHyjal/boss_archimonde.cpp @@ -475,7 +475,8 @@ public: { summoned->CastSpell(summoned, SPELL_DOOMFIRE_SPAWN, false); - summoned->CastSpell(summoned, SPELL_DOOMFIRE, me->GetGUID()); + summoned->CastSpell(summoned, SPELL_DOOMFIRE, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); if (Unit* DoomfireSpirit = ObjectAccessor::GetUnit(*me, DoomfireSpiritGUID)) { diff --git a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp index 4c796ca7fa4..8862eeb7eb4 100644 --- a/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp +++ b/src/server/scripts/Kalimdor/TempleOfAhnQiraj/boss_cthun.cpp @@ -757,7 +757,8 @@ public: //Set target in stomach Stomach_Map[target->GetGUID()] = true; target->InterruptNonMeleeSpells(false); - target->CastSpell(target, SPELL_MOUTH_TENTACLE, me->GetGUID()); + target->CastSpell(target, SPELL_MOUTH_TENTACLE, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); StomachEnterTarget = target->GetGUID(); StomachEnterVisTimer = 3800; } diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 5cf9252ce89..c15529ec5d4 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -355,7 +355,8 @@ class boss_halion : public CreatureScript if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 0.0f, true, true, -SPELL_TWILIGHT_REALM)) { _meteorStrikePos = target->GetPosition(); - me->CastSpell(_meteorStrikePos, SPELL_METEOR_STRIKE, me->GetGUID()); + me->CastSpell(_meteorStrikePos, SPELL_METEOR_STRIKE, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); Talk(SAY_METEOR_STRIKE); } events.ScheduleEvent(EVENT_METEOR_STRIKE, Seconds(38)); @@ -1568,7 +1569,8 @@ class spell_halion_marks : public SpellScriptLoader return; // Stacks marker - CastSpellExtraArgs args(GetCasterGUID()); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(GetCasterGUID()); args.AddSpellMod(SPELLVALUE_BASE_POINT1, aurEff->GetBase()->GetStackAmount()); GetTarget()->CastSpell(GetTarget(), _summonSpellId, args); } diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp index 6eedb9eba0a..11070f62650 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/boss_argent_challenge.cpp @@ -668,7 +668,8 @@ class spell_paletress_summon_memory : public SpellScriptLoader void HandleScript(SpellEffIndex /*effIndex*/) { - GetHitUnit()->CastSpell(GetHitUnit(), memorySpellId[urand(0, 24)], GetCaster()->GetGUID()); + GetHitUnit()->CastSpell(GetHitUnit(), memorySpellId[urand(0, 24)], CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCaster()->GetGUID())); } void Register() override diff --git a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp index cbb468ad3dd..6bfc0a6c160 100644 --- a/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp +++ b/src/server/scripts/Northrend/DraktharonKeep/boss_trollgore.cpp @@ -139,7 +139,8 @@ class boss_trollgore : public CreatureScript case EVENT_SPAWN: for (uint8 i = 0; i < 3; ++i) if (Creature* trigger = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_TROLLGORE_INVADER_SUMMONER_1 + i))) - trigger->CastSpell(trigger, RAND(SPELL_SUMMON_INVADER_A, SPELL_SUMMON_INVADER_B, SPELL_SUMMON_INVADER_C), me->GetGUID()); + trigger->CastSpell(trigger, RAND(SPELL_SUMMON_INVADER_A, SPELL_SUMMON_INVADER_B, SPELL_SUMMON_INVADER_C), CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); events.ScheduleEvent(EVENT_SPAWN, urand(30000, 40000)); break; diff --git a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp index 96693ff9c74..73fe05ed0f3 100644 --- a/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp +++ b/src/server/scripts/Northrend/FrozenHalls/PitOfSaron/boss_scourgelord_tyrannus.cpp @@ -405,7 +405,8 @@ class player_overlord_brandAI : public PlayerAI if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _tyrannusGUID)) if (Unit* victim = tyrannus->GetVictim()) { - CastSpellExtraArgs args(tyrannus->GetGUID()); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(tyrannus->GetGUID()); args.AddSpellBP0(damage); me->CastSpell(victim, SPELL_OVERLORD_BRAND_DAMAGE, args); } @@ -415,7 +416,8 @@ class player_overlord_brandAI : public PlayerAI { if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _tyrannusGUID)) { - CastSpellExtraArgs args(tyrannus->GetGUID()); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(tyrannus->GetGUID()); args.AddSpellBP0(addHealth * 5.5f); me->CastSpell(tyrannus, SPELL_OVERLORD_BRAND_HEAL, args); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp index c831d5bb67a..77f97d1d4af 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_blood_prince_council.cpp @@ -805,7 +805,8 @@ class boss_prince_valanar_icc : public CreatureScript { case NPC_KINETIC_BOMB_TARGET: summon->SetReactState(REACT_PASSIVE); - summon->CastSpell(summon, SPELL_KINETIC_BOMB, me->GetGUID()); + summon->CastSpell(summon, SPELL_KINETIC_BOMB, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); break; case NPC_KINETIC_BOMB: { diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp index d239484148c..f5e30ead702 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_festergut.cpp @@ -199,7 +199,8 @@ class boss_festergut : public CreatureScript // just cast and dont bother with target, conditions will handle it ++_inhaleCounter; if (_inhaleCounter < 3) - me->CastSpell(me, gaseousBlight[_inhaleCounter], me->GetGUID()); + me->CastSpell(me, gaseousBlight[_inhaleCounter], CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); } events.ScheduleEvent(EVENT_INHALE_BLIGHT, urand(33500, 35000)); diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp index 7343575dade..93befb2fb0b 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_professor_putricide.cpp @@ -475,7 +475,8 @@ class boss_professor_putricide : public CreatureScript case ACTION_ROTFACE_OOZE: Talk(SAY_ROTFACE_OOZE_FLOOD); if (Creature* dummy = ObjectAccessor::GetCreature(*me, _oozeFloodDummyGUIDs[_oozeFloodStage])) - dummy->CastSpell(dummy, oozeFloodSpells[_oozeFloodStage], me->GetGUID()); // cast from self for LoS (with prof's GUID for logs) + dummy->CastSpell(dummy, oozeFloodSpells[_oozeFloodStage], CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); // cast from self for LoS (with prof's GUID for logs) if (++_oozeFloodStage == 4) _oozeFloodStage = 0; break; @@ -1155,7 +1156,8 @@ class spell_putricide_choking_gas_bomb : public SpellScriptLoader continue; uint32 spellId = uint32(spellEffectInfo.CalcValue()); - GetCaster()->CastSpell(GetCaster(), spellId, GetCaster()->GetGUID()); + GetCaster()->CastSpell(GetCaster(), spellId, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCaster()->GetGUID())); } } @@ -1337,7 +1339,8 @@ class spell_putricide_mutated_plague : public SpellScriptLoader return; int32 heal = healSpellInfo->GetEffect(EFFECT_0).CalcValue() * GetStackAmount(); - CastSpellExtraArgs args(GetCasterGUID()); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(GetCasterGUID()); args.AddSpellBP0(heal); GetTarget()->CastSpell(GetTarget(), healSpell, args); } diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp index 94bc9d0310d..a81c1c3e7e4 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp @@ -479,7 +479,8 @@ class spell_rotface_ooze_flood : public SpellScriptLoader return; triggers.sort(Trinity::ObjectDistanceOrderPred(GetHitUnit())); - GetHitUnit()->CastSpell(triggers.back(), uint32(GetEffectValue()), GetOriginalCaster() ? GetOriginalCaster()->GetGUID() : ObjectGuid::Empty); + GetHitUnit()->CastSpell(triggers.back(), uint32(GetEffectValue()), CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetOriginalCaster() ? GetOriginalCaster()->GetGUID() : ObjectGuid::Empty)); } void FilterTargets(std::list<WorldObject*>& targets) @@ -556,7 +557,9 @@ class spell_rotface_mutated_infection : public SpellScriptLoader void HandleEffectRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); - target->CastSpell(target, uint32(GetEffectInfo(EFFECT_2).CalcValue()), { aurEff, GetCasterGUID() }); + target->CastSpell(target, uint32(GetEffectInfo(EFFECT_2).CalcValue()), CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetTriggeringAura(aurEff) + .SetOriginalCaster(GetCasterGUID())); } void Register() override @@ -786,7 +789,8 @@ class spell_rotface_unstable_ooze_explosion : public SpellScriptLoader // let Rotface handle the cast - caster dies before this executes if (InstanceScript* script = GetCaster()->GetInstanceScript()) if (Creature* rotface = script->instance->GetCreature(script->GetGuidData(DATA_ROTFACE))) - rotface->CastSpell({x, y, z}, triggered_spell_id, GetCaster()->GetGUID()); + rotface->CastSpell({x, y, z}, triggered_spell_id, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCaster()->GetGUID())); } void Register() override diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp index 9ab10f8d876..3de744e67aa 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp @@ -2120,7 +2120,8 @@ class spell_the_lich_king_necrotic_plague : public SpellScriptLoader return; } - CastSpellExtraArgs args(GetCasterGUID()); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(GetCasterGUID()); args.AddSpellMod(SPELLVALUE_MAX_TARGETS, 1); GetTarget()->CastSpell(nullptr, SPELL_NECROTIC_PLAGUE_JUMP, args); if (Unit* caster = GetCaster()) @@ -2219,7 +2220,8 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader return; } - CastSpellExtraArgs args(GetCasterGUID()); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(GetCasterGUID()); args.AddSpellMod(SPELLVALUE_AURA_STACK, GetStackAmount()); GetTarget()->CastSpell(nullptr, SPELL_NECROTIC_PLAGUE_JUMP, args); if (Unit* caster = GetCaster()) @@ -2237,7 +2239,8 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader if (aurEff->GetAmount() > _lastAmount) return; - CastSpellExtraArgs args(GetCasterGUID()); + CastSpellExtraArgs args(TRIGGERED_FULL_MASK); + args.SetOriginalCaster(GetCasterGUID()); args.AddSpellMod(SPELLVALUE_AURA_STACK, GetStackAmount()); args.AddSpellMod(SPELLVALUE_BASE_POINT1, AURA_REMOVE_BY_ENEMY_SPELL); // add as marker (spell has no effect 1) GetTarget()->CastSpell(nullptr, SPELL_NECROTIC_PLAGUE_JUMP, args); @@ -2695,7 +2698,8 @@ class spell_the_lich_king_vile_spirits : public SpellScriptLoader void OnPeriodic(AuraEffect const* aurEff) { if (_is25Man || ((aurEff->GetTickNumber() - 1) % 5)) - GetTarget()->CastSpell(nullptr, aurEff->GetSpellEffectInfo().TriggerSpell, { aurEff, GetCasterGUID() }); + GetTarget()->CastSpell(nullptr, aurEff->GetSpellEffectInfo().TriggerSpell, CastSpellExtraArgs(aurEff) + .SetOriginalCaster(GetCasterGUID())); } void Register() override @@ -2853,7 +2857,8 @@ class spell_the_lich_king_harvest_soul : public SpellScriptLoader { // m_originalCaster to allow stacking from different casters, meh if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_DEATH) - GetTarget()->CastSpell(nullptr, SPELL_HARVESTED_SOUL, GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING)); + GetTarget()->CastSpell(nullptr, SPELL_HARVESTED_SOUL, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING))); } void Register() override @@ -3058,7 +3063,8 @@ class spell_the_lich_king_in_frostmourne_room : public SpellScriptLoader { // m_originalCaster to allow stacking from different casters, meh if (GetTargetApplication()->GetRemoveMode() == AURA_REMOVE_BY_DEATH) - GetTarget()->CastSpell(nullptr, SPELL_HARVESTED_SOUL, GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING)); + GetTarget()->CastSpell(nullptr, SPELL_HARVESTED_SOUL, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING))); } void Register() override diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp index 55c0487bfdd..35787628e51 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_valithria_dreamwalker.cpp @@ -184,7 +184,8 @@ class DelayedCastEvent : public BasicEvent bool Execute(uint64 /*time*/, uint32 /*diff*/) override { - _trigger->CastSpell(_trigger, _spellId, _originalCaster); + _trigger->CastSpell(_trigger, _spellId, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(_originalCaster)); if (_despawnTime) _trigger->DespawnOrUnsummon(_despawnTime); return true; @@ -1108,7 +1109,8 @@ class npc_dream_cloud : public CreatureScript case EVENT_EXPLODE: me->GetMotionMaster()->MoveIdle(); // must use originalCaster the same for all clouds to allow stacking - me->CastSpell(me, EMERALD_VIGOR, _instance->GetGuidData(DATA_VALITHRIA_DREAMWALKER)); + me->CastSpell(me, EMERALD_VIGOR, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(_instance->GetGuidData(DATA_VALITHRIA_DREAMWALKER))); me->DespawnOrUnsummon(100); break; default: @@ -1236,7 +1238,8 @@ class spell_dreamwalker_summoner : public SpellScriptLoader if (!GetHitUnit()) return; - GetHitUnit()->CastSpell(GetCaster(), GetEffectInfo().TriggerSpell, GetCaster()->GetInstanceScript()->GetGuidData(DATA_VALITHRIA_LICH_KING)); + GetHitUnit()->CastSpell(GetCaster(), GetEffectInfo().TriggerSpell, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCaster()->GetInstanceScript()->GetGuidData(DATA_VALITHRIA_LICH_KING))); } void Register() override @@ -1327,7 +1330,8 @@ class spell_dreamwalker_summon_suppresser_effect : public SpellScriptLoader if (!GetHitUnit()) return; - GetHitUnit()->CastSpell(GetCaster(), GetEffectInfo().TriggerSpell, GetCaster()->GetInstanceScript()->GetGuidData(DATA_VALITHRIA_LICH_KING)); + GetHitUnit()->CastSpell(GetCaster(), GetEffectInfo().TriggerSpell, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCaster()->GetInstanceScript()->GetGuidData(DATA_VALITHRIA_LICH_KING))); } void Register() override @@ -1463,7 +1467,8 @@ class spell_dreamwalker_twisted_nightmares : public SpellScriptLoader // return; if (InstanceScript* instance = GetHitUnit()->GetInstanceScript()) - GetHitUnit()->CastSpell(nullptr, GetEffectInfo().TriggerSpell, instance->GetGuidData(DATA_VALITHRIA_DREAMWALKER)); + GetHitUnit()->CastSpell(nullptr, GetEffectInfo().TriggerSpell, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCaster()->GetInstanceScript()->GetGuidData(DATA_VALITHRIA_DREAMWALKER))); } void Register() override diff --git a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp index f2d473f99f5..04470635f26 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_anubrekhan.cpp @@ -143,7 +143,8 @@ public: void KilledUnit(Unit* victim) override { if (victim->GetTypeId() == TYPEID_PLAYER) - victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCARABS_PLR, me->GetGUID()); + victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCARABS_PLR, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); Talk(SAY_SLAY); } @@ -198,7 +199,8 @@ public: { if (Creature* creatureTarget = ObjectAccessor::GetCreature(*me, Trinity::Containers::SelectRandomContainerElement(guardCorpses))) { - creatureTarget->CastSpell(creatureTarget, SPELL_SUMMON_CORPSE_SCARABS_MOB, me->GetGUID()); + creatureTarget->CastSpell(creatureTarget, SPELL_SUMMON_CORPSE_SCARABS_MOB, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); creatureTarget->AI()->Talk(EMOTE_SCARAB); creatureTarget->DespawnOrUnsummon(); } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp index 33ba844ca4a..1e7eaf1d796 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_grobbulus.cpp @@ -165,7 +165,9 @@ class spell_grobbulus_mutating_injection : public SpellScriptLoader if (Unit* caster = GetCaster()) { caster->CastSpell(GetTarget(), SPELL_MUTATING_EXPLOSION, true); - GetTarget()->CastSpell(GetTarget(), SPELL_POISON_CLOUD, { aurEff, GetCasterGUID() }); + GetTarget()->CastSpell(GetTarget(), SPELL_POISON_CLOUD, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetTriggeringAura(aurEff) + .SetOriginalCaster(GetCasterGUID())); } } diff --git a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp index a39c4e984fb..59e0dad1bbd 100644 --- a/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp +++ b/src/server/scripts/Northrend/Naxxramas/boss_maexxna.cpp @@ -221,7 +221,8 @@ public: if (Unit* victim = ObjectAccessor::GetUnit(*me, victimGUID)) { visibleTimer = (me->GetDistance2d(victim)/WEB_WRAP_MOVE_SPEED + 0.5f) * IN_MILLISECONDS; - victim->CastSpell(victim, SPELL_WEB_WRAP, me->GetGUID()); + victim->CastSpell(victim, SPELL_WEB_WRAP, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); } } diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index b3ed1c677c1..5f85069674d 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -2029,7 +2029,8 @@ class spell_scion_of_eternity_arcane_barrage : public SpellScriptLoader void TriggerDamageSpellFromPlayer() { if (Player* hitTarget = GetHitPlayer()) - hitTarget->CastSpell(hitTarget, SPELL_ARCANE_BARRAGE_DAMAGE, GetCaster()->GetGUID()); + hitTarget->CastSpell(hitTarget, SPELL_ARCANE_BARRAGE_DAMAGE, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCaster()->GetGUID())); } void Register() override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp index 0a33987d591..81ae8f65c53 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_assembly_of_iron.cpp @@ -724,7 +724,9 @@ class spell_assembly_rune_of_summoning : public SpellScriptLoader void HandlePeriodic(AuraEffect const* aurEff) { PreventDefaultAction(); - GetTarget()->CastSpell(GetTarget(), SPELL_RUNE_OF_SUMMONING_SUMMON, { aurEff, GetTarget()->IsSummon() ? GetTarget()->ToTempSummon()->GetSummonerGUID() : ObjectGuid::Empty }); + GetTarget()->CastSpell(GetTarget(), SPELL_RUNE_OF_SUMMONING_SUMMON, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetTriggeringAura(aurEff) + .SetOriginalCaster(GetTarget()->IsSummon() ? GetTarget()->ToTempSummon()->GetSummonerGUID() : ObjectGuid::Empty)); } void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp index 9d234ce1888..b134e200919 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_kologarn.cpp @@ -343,7 +343,8 @@ class spell_ulduar_rubble_summon : public SpellScriptLoader ObjectGuid originalCaster = caster->GetInstanceScript() ? caster->GetInstanceScript()->GetGuidData(BOSS_KOLOGARN) : ObjectGuid::Empty; uint32 spellId = GetEffectValue(); for (uint8 i = 0; i < 5; ++i) - caster->CastSpell(caster, spellId, originalCaster); + caster->CastSpell(caster, spellId, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(originalCaster)); } void Register() override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index e1ac92ff165..f16c7812ddd 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -495,7 +495,9 @@ class boss_mimiron : public CreatureScript { case EVENT_SUMMON_FLAMES: if (Creature* worldtrigger = instance->GetCreature(DATA_MIMIRON_WORLD_TRIGGER)) - worldtrigger->CastSpell(nullptr, SPELL_SCRIPT_EFFECT_SUMMON_FLAMES_INITIAL, CastSpellExtraArgs(me->GetGUID()).AddSpellMod(SPELLVALUE_MAX_TARGETS, 3)); + worldtrigger->CastSpell(nullptr, SPELL_SCRIPT_EFFECT_SUMMON_FLAMES_INITIAL, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID()) + .AddSpellMod(SPELLVALUE_MAX_TARGETS, 3)); events.RescheduleEvent(EVENT_SUMMON_FLAMES, 28000); break; case EVENT_INTRO_1: @@ -2196,7 +2198,8 @@ class spell_mimiron_rocket_strike : public SpellScriptLoader void HandleDummy(SpellEffIndex /*effIndex*/) { - GetHitUnit()->CastSpell(nullptr, SPELL_SCRIPT_EFFECT_ROCKET_STRIKE, GetCaster()->GetGUID()); + GetHitUnit()->CastSpell(nullptr, SPELL_SCRIPT_EFFECT_ROCKET_STRIKE, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(GetCaster()->GetGUID())); } void Register() override @@ -2294,7 +2297,8 @@ class spell_mimiron_rocket_strike_target_select : public SpellScriptLoader void HandleScript(SpellEffIndex /*effIndex*/) { if (InstanceScript* instance = GetCaster()->GetInstanceScript()) - GetCaster()->CastSpell(GetHitUnit(), SPELL_SUMMON_ROCKET_STRIKE, instance->GetGuidData(DATA_VX_001)); + GetCaster()->CastSpell(GetHitUnit(), SPELL_SUMMON_ROCKET_STRIKE, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(instance->GetGuidData(DATA_VX_001))); GetCaster()->SetDisplayId(11686); } @@ -2359,7 +2363,9 @@ class spell_mimiron_summon_assault_bot : public SpellScriptLoader if (Unit* caster = GetCaster()) if (InstanceScript* instance = caster->GetInstanceScript()) if (instance->GetBossState(BOSS_MIMIRON) == IN_PROGRESS) - caster->CastSpell(caster, SPELL_SUMMON_ASSAULT_BOT, { aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT) }); + caster->CastSpell(caster, SPELL_SUMMON_ASSAULT_BOT, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetTriggeringAura(aurEff) + .SetOriginalCaster(instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT))); } void Register() override @@ -2426,7 +2432,9 @@ class spell_mimiron_summon_fire_bot : public SpellScriptLoader if (Unit* caster = GetCaster()) if (InstanceScript* instance = caster->GetInstanceScript()) if (instance->GetBossState(BOSS_MIMIRON) == IN_PROGRESS) - caster->CastSpell(caster, SPELL_SUMMON_FIRE_BOT, { aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT) }); + caster->CastSpell(caster, SPELL_SUMMON_FIRE_BOT, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetTriggeringAura(aurEff) + .SetOriginalCaster(instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT))); } void Register() override @@ -2614,7 +2622,9 @@ class spell_mimiron_summon_junk_bot : public SpellScriptLoader if (Unit* caster = GetCaster()) if (InstanceScript* instance = caster->GetInstanceScript()) if (instance->GetBossState(BOSS_MIMIRON) == IN_PROGRESS) - caster->CastSpell(caster, SPELL_SUMMON_JUNK_BOT, { aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT) }); + caster->CastSpell(caster, SPELL_SUMMON_JUNK_BOT, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetTriggeringAura(aurEff) + .SetOriginalCaster(instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT))); } void Register() override diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp index d962c6c7fb8..9f85d6ccec7 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_xt002.cpp @@ -933,7 +933,8 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader { uint8 a = urand(0, 4); uint32 spellId = spells[a]; - toyPile->CastSpell(toyPile, spellId, instance->GetGuidData(BOSS_XT002)); + toyPile->CastSpell(toyPile, spellId, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(instance->GetGuidData(BOSS_XT002))); } } } diff --git a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp index fae7d777b32..397e7382ba0 100644 --- a/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp +++ b/src/server/scripts/Outland/GruulsLair/boss_gruul.cpp @@ -133,11 +133,13 @@ class boss_gruul : public CreatureScript switch (urand(0, 1)) { case 0: - target->CastSpell(target, SPELL_MAGNETIC_PULL, me->GetGUID()); + target->CastSpell(target, SPELL_MAGNETIC_PULL, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); break; case 1: - target->CastSpell(target, SPELL_KNOCK_BACK, me->GetGUID()); + target->CastSpell(target, SPELL_KNOCK_BACK, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID())); break; } } diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp index 0e35f4625e3..9fb80a4b21c 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_mechano_lord_capacitus.cpp @@ -244,7 +244,8 @@ class spell_capacitus_polarity_shift : public SpellScriptLoader Unit* target = GetHitUnit(); Unit* caster = GetCaster(); - target->CastSpell(target, roll_chance_i(50) ? SPELL_POSITIVE_POLARITY : SPELL_NEGATIVE_POLARITY, caster->GetGUID()); + target->CastSpell(target, roll_chance_i(50) ? SPELL_POSITIVE_POLARITY : SPELL_NEGATIVE_POLARITY, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(caster->GetGUID())); } void Register() override diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp index 045b05009d5..902a527a9b3 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp @@ -107,7 +107,9 @@ class npc_warp_splinter_treant : public CreatureScript if (me->IsWithinMeleeRange(Warp)) { int32 CurrentHP_Treant = (int32)me->GetHealth(); - Warp->CastSpell(Warp, SPELL_HEAL_FATHER, CastSpellExtraArgs(me->GetGUID()).AddSpellBP0(CurrentHP_Treant)); + Warp->CastSpell(Warp, SPELL_HEAL_FATHER, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(me->GetGUID()) + .AddSpellBP0(CurrentHP_Treant)); me->KillSelf(); return; } diff --git a/src/server/scripts/Spells/spell_druid.cpp b/src/server/scripts/Spells/spell_druid.cpp index fd07b60840e..b37be52e21a 100644 --- a/src/server/scripts/Spells/spell_druid.cpp +++ b/src/server/scripts/Spells/spell_druid.cpp @@ -890,7 +890,8 @@ public: } } - target->CastSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, { aurEff, GetCasterGUID() }); + target->CastSpell(target, SPELL_DRUID_LIFEBLOOM_FINAL_HEAL, CastSpellExtraArgs(aurEff) + .SetOriginalCaster(GetCasterGUID())); } void AfterRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) @@ -1185,7 +1186,8 @@ public: void AfterApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) { Unit* target = GetTarget(); - target->CastSpell(target, SPELL_DRUID_SAVAGE_ROAR, { aurEff, GetCasterGUID() }); + target->CastSpell(target, SPELL_DRUID_SAVAGE_ROAR, CastSpellExtraArgs(aurEff) + .SetOriginalCaster(GetCasterGUID())); } void AfterRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index ec5fd6c378b..71724805fd8 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -1737,7 +1737,8 @@ class spell_gen_lifebloom : public SpellScriptLoader return; // final heal - GetTarget()->CastSpell(GetTarget(), _spellId, { aurEff, GetCasterGUID() }); + GetTarget()->CastSpell(GetTarget(), _spellId, CastSpellExtraArgs(aurEff) + .SetOriginalCaster(GetCasterGUID())); } void Register() override @@ -3161,7 +3162,8 @@ class spell_gen_turkey_marker : public AuraScript // on stack 15 cast the achievement crediting spell if (GetStackAmount() >= 15) - target->CastSpell(target, SPELL_TURKEY_VENGEANCE, { aurEff, GetCasterGUID() }); + target->CastSpell(target, SPELL_TURKEY_VENGEANCE, CastSpellExtraArgs(aurEff) + .SetOriginalCaster(GetCasterGUID())); } void OnPeriodic(AuraEffect const* /*aurEff*/) diff --git a/src/server/scripts/Spells/spell_holiday.cpp b/src/server/scripts/Spells/spell_holiday.cpp index c046ce12c14..ec1f16c27ec 100644 --- a/src/server/scripts/Spells/spell_holiday.cpp +++ b/src/server/scripts/Spells/spell_holiday.cpp @@ -578,7 +578,8 @@ class spell_pilgrims_bounty_feast_on : public SpellScriptLoader if (Player* player = target->ToPlayer()) { player->CastSpell(player, SPELL_ON_PLATE_EAT_VISUAL, true); - caster->CastSpell(player, _spellId, player->GetGUID()); + caster->CastSpell(player, _spellId, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + .SetOriginalCaster(player->GetGUID())); } if (Aura* aura = caster->GetAura(GetEffectValue())) diff --git a/src/server/scripts/Spells/spell_shaman.cpp b/src/server/scripts/Spells/spell_shaman.cpp index b237bb717db..a0cfba70da2 100644 --- a/src/server/scripts/Spells/spell_shaman.cpp +++ b/src/server/scripts/Spells/spell_shaman.cpp @@ -291,7 +291,8 @@ class spell_sha_earth_shield : public SpellScriptLoader { PreventDefaultAction(); - GetTarget()->CastSpell(GetTarget(), SPELL_SHAMAN_EARTH_SHIELD_HEAL, { aurEff, GetCasterGUID() }); + GetTarget()->CastSpell(GetTarget(), SPELL_SHAMAN_EARTH_SHIELD_HEAL, CastSpellExtraArgs(aurEff) + .SetOriginalCaster(GetCasterGUID())); } void Register() override |