Core/Spells: Removed CastSpellExtraArgs constructors accepting ObjectGuid, they would become ambiguous with future changes
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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); }
|
||||
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
{
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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*/)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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*/)
|
||||
|
||||
@@ -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*/)
|
||||
|
||||
@@ -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()))
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user