Core/Spells: ported CastSpell unclusterfucking from 3.3.5 branch
This commit is contained in:
1 parent
7e637971ee
commit
754c138f89
157 files changed
+1195
-1223
No files matched your search
@@ -171,8 +171,7 @@ public:
|
||||
TriggerCastFlags triggered = (triggeredStr != nullptr) ? TRIGGERED_FULL_DEBUG_MASK : TRIGGERED_NONE;
|
||||
float x, y, z;
|
||||
handler->GetSession()->GetPlayer()->GetClosePoint(x, y, z, dist);
|
||||
|
||||
handler->GetSession()->GetPlayer()->CastSpell(x, y, z, spellId, triggered);
|
||||
handler->GetSession()->GetPlayer()->CastSpell({ x, y, z }, spellId, triggered);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -274,7 +273,7 @@ public:
|
||||
}
|
||||
|
||||
TriggerCastFlags triggered = (triggeredStr != nullptr) ? TRIGGERED_FULL_DEBUG_MASK : TRIGGERED_NONE;
|
||||
caster->CastSpell(x, y, z, spellId, triggered);
|
||||
caster->CastSpell({ x, y, z }, spellId, triggered);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -356,7 +356,7 @@ class spell_occuthar_occuthars_destruction : public SpellScriptLoader
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
if (IsExpired())
|
||||
caster->CastSpell((Unit*)nullptr, SPELL_OCCUTHARS_DESTUCTION, true, nullptr, aurEff);
|
||||
caster->CastSpell(nullptr, SPELL_OCCUTHARS_DESTUCTION, aurEff);
|
||||
|
||||
caster->ToCreature()->DespawnOrUnsummon(500);
|
||||
}
|
||||
|
||||
@@ -806,7 +806,7 @@ class npc_ignacious : public CreatureScript
|
||||
float y = pos.GetPositionY() + sin(angle) * i;
|
||||
float z = pos.GetPositionZ();
|
||||
float floor = me->GetMapHeight(x, y, z);
|
||||
me->CastSpell(x, y, floor, SPELL_INFERNO_RUSH_SUMMON, true);
|
||||
me->CastSpell({ x, y, floor }, SPELL_INFERNO_RUSH_SUMMON, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1989,7 +1989,7 @@ class spell_feludius_heart_of_ice : public AuraScript
|
||||
|
||||
void HandlePeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_FROST_IMBUED, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_FROST_IMBUED, aurEff);
|
||||
|
||||
if (AuraEffect* aurEff = GetEffect(EFFECT_0))
|
||||
{
|
||||
@@ -2069,7 +2069,7 @@ class spell_ignacious_rising_flames : public AuraScript
|
||||
|
||||
void HandlePeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_RISING_FLAMES_BUFF, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_RISING_FLAMES_BUFF, aurEff);
|
||||
}
|
||||
|
||||
void HandleAuraRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
@@ -2108,7 +2108,7 @@ class spell_ignacious_burning_blood : public AuraScript
|
||||
|
||||
void HandlePeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_FLAME_IMBUED, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_FLAME_IMBUED, aurEff);
|
||||
|
||||
if (AuraEffect* aurEff = GetEffect(EFFECT_0))
|
||||
{
|
||||
@@ -2491,7 +2491,7 @@ class spell_terrastra_harden_skin : public AuraScript
|
||||
{
|
||||
if (GetTargetApplication()->GetRemoveMode().HasFlag(AuraRemoveFlags::ByEnemySpell))
|
||||
if (Unit* target = GetTarget())
|
||||
target->CastCustomSpell(SPELL_SHATTER, SPELLVALUE_BASE_POINT0, _absorbedDamage, nullptr, true, nullptr, aurEff);
|
||||
target->CastSpell(nullptr, SPELL_SHATTER, CastSpellExtraArgs(aurEff).AddSpellBP0(_absorbedDamage));
|
||||
}
|
||||
private:
|
||||
uint32 _absorbedDamage;
|
||||
@@ -2544,7 +2544,7 @@ class spell_terrastra_eruption : public SpellScript
|
||||
float x = caster->GetPositionX() + cos(angle + (i * steps)) * dist;
|
||||
float y = caster->GetPositionY() + sin(angle + (i * steps)) * dist;
|
||||
float floor = caster->GetMap()->GetHeight(caster->GetPhaseShift(), x, y, z, true);
|
||||
caster->CastSpell(x, y, floor, SPELL_ERUPTION_SUMMON, true);
|
||||
caster->CastSpell({ x, y, floor }, SPELL_ERUPTION_SUMMON, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2666,7 +2666,7 @@ class spell_elementium_monstrosity_liquid_ice : public AuraScript
|
||||
{
|
||||
uint32 triggerSpell = GetSpellInfo()->Effects[EFFECT_0].TriggerSpell;
|
||||
int32 radius = target->GetObjectScale() * 500;
|
||||
target->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, radius, nullptr, true, nullptr, aurEff, target->GetGUID());
|
||||
target->CastSpell(nullptr, triggerSpell, CastSpellExtraArgs(aurEff).SetOriginalCaster(target->GetGUID()).AddSpellMod(SPELLVALUE_RADIUS_MOD, radius));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -243,7 +243,7 @@ namespace CorruptionHandler
|
||||
// Add power to target
|
||||
power += corruptionAmount;
|
||||
target->SetPower(POWER_ALTERNATE_POWER, std::min(power, uint8(MAX_CORRUPTION)));
|
||||
target->CastCustomSpell(SPELL_CORRUPTED_BLOOD_DAMAGE_INCREASE, SPELLVALUE_AURA_STACK, corruptionAmount, target, true);
|
||||
target->CastSpell(target, SPELL_CORRUPTED_BLOOD_DAMAGE_INCREASE, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_AURA_STACK, corruptionAmount));
|
||||
|
||||
// Achievement check
|
||||
if (power > CORRUPTION_ACHIEVEMENT_CAP)
|
||||
@@ -769,10 +769,8 @@ struct npc_chogall_elemental : public PassiveAI
|
||||
if (Creature* chogall = _instance->GetCreature(DATA_CHOGALL))
|
||||
chogall->AI()->JustSummoned(me);
|
||||
|
||||
if (me->GetEntry() == NPC_FIRE_ELEMENTAL)
|
||||
me->CastCustomSpell(SPELL_FIRE_POWER, SPELLVALUE_AURA_STACK, 10, me, true);
|
||||
else
|
||||
me->CastCustomSpell(SPELL_SHADOW_POWER, SPELLVALUE_AURA_STACK, 10, me, true);
|
||||
uint32 spellId = me->GetEntry() == NPC_FIRE_ELEMENTAL ? SPELL_FIRE_POWER : SPELL_SHADOW_POWER;
|
||||
me->CastSpell(me, spellId, { SPELLVALUE_AURA_STACK, 10 });
|
||||
|
||||
_events.ScheduleEvent(EVENT_ABSORB_ELEMENTAL, 10s + 500ms);
|
||||
}
|
||||
@@ -1011,7 +1009,7 @@ class spell_chogall_absorb_elemental_heroic_AuraScript : public AuraScript
|
||||
|
||||
if (Creature* chogall = instance->GetCreature(DATA_CHOGALL))
|
||||
if (uint8 stacks = chogall->AI()->GetData(DATA_ELEMENTAL_POWER_STACKS))
|
||||
target->CastCustomSpell(GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, SPELLVALUE_AURA_STACK, stacks, target, true);
|
||||
target->CastSpell(target, GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_AURA_STACK, stacks));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1053,7 +1051,7 @@ class spell_chogall_flaming_destruction_heroic : public AuraScript
|
||||
uint8 stacks = GetStackAmount();
|
||||
int32 bp = spell->Effects[EFFECT_0].CalcValue();
|
||||
bp += CalculatePct(bp, stacks * 10);
|
||||
caster->CastCustomSpell(spell->Id, SPELLVALUE_BASE_POINT0, bp, target, true, nullptr, aurEff);
|
||||
caster->CastSpell(target, spell->Id, CastSpellExtraArgs(aurEff).AddSpellBP0(bp));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1076,7 +1074,7 @@ class spell_chogall_empowered_shadows_heroic : public AuraScript
|
||||
uint8 stacks = GetStackAmount();
|
||||
int32 bp = spell->Effects[EFFECT_0].CalcValue();
|
||||
bp += CalculatePct(bp, stacks * 5);
|
||||
caster->CastCustomSpell(spell->Id, SPELLVALUE_BASE_POINT0, bp, caster, true, nullptr, aurEff);
|
||||
caster->CastSpell(caster, spell->Id, CastSpellExtraArgs(aurEff).AddSpellBP0(bp));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -1194,7 +1194,7 @@ class spell_theralion_engulfing_magic : public SpellScriptLoader
|
||||
bp += dmgInfo->GetDamage();
|
||||
|
||||
if (bp)
|
||||
GetCaster()->CastCustomSpell(GetCaster(), SPELL_ENGULFING_MAGIC_TRIGGERED, &bp, nullptr, nullptr, true, nullptr, aurEff);
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_ENGULFING_MAGIC_TRIGGERED, CastSpellExtraArgs(aurEff).AddSpellBP0(bp));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
+2
-2
@@ -218,7 +218,7 @@ class spell_karsh_superheated_quicksilver_armor : public SpellScript
|
||||
SpellInfo const* spell = sSpellMgr->AssertSpellInfo(SPELL_HEAT_WAVE);
|
||||
uint8 stacks = superheatedArmor->GetStackAmount();
|
||||
int32 bp = spell->Effects[EFFECT_0].CalcValue() * stacks;
|
||||
target->CastCustomSpell(SPELL_HEAT_WAVE, SPELLVALUE_BASE_POINT0, bp, target, true, nullptr);
|
||||
target->CastSpell(target, SPELL_HEAT_WAVE, CastSpellExtraArgs(true).AddSpellBP0(bp));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,7 +291,7 @@ class spell_karsh_superheated_quicksilver_armor_proc : public AuraScript
|
||||
return;
|
||||
|
||||
int32 bp = spell->Effects[EFFECT_0].CalcValue() * stacks;
|
||||
target->CastCustomSpell(spell->Id, SPELLVALUE_BASE_POINT0, bp, eventInfo.GetProcTarget(), true, nullptr, aurEff);
|
||||
target->CastSpell(eventInfo.GetProcTarget(), spell->Id, CastSpellExtraArgs(aurEff).AddSpellBP0(bp));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-4
@@ -537,7 +537,7 @@ struct npc_atramedes_ancient_dwarven_shield : public NullCreatureAI
|
||||
return;
|
||||
|
||||
if (atramedes->AI()->GetData(DATA_IS_IN_AIR))
|
||||
clicker->CastSpell(clicker, SPELL_RESONATING_CLASH_AIR, true, nullptr, nullptr, me->GetGUID());
|
||||
clicker->CastSpell(clicker, SPELL_RESONATING_CLASH_AIR, me->GetGUID());
|
||||
else
|
||||
DoCastSelf(SPELL_RESONATING_CLASH_GROUND);
|
||||
|
||||
@@ -731,7 +731,7 @@ class spell_atramedes_roaring_flame_breath : public AuraScript
|
||||
void HandleTick(AuraEffect const* aurEff)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetTarget()->CastSpell(GetTarget(), GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -839,7 +839,7 @@ class spell_atramedes_sound_bar : public AuraScript
|
||||
if (Creature* atramedes = instance->GetCreature(DATA_ATRAMEDES))
|
||||
atramedes->AI()->SetGUID(target->GetGUID(), DATA_ADD_NOISY_PLAYER);
|
||||
|
||||
target->CastSpell(target, SPELL_NOISY, true, nullptr, aurEff);
|
||||
target->CastSpell(target, SPELL_NOISY, aurEff);
|
||||
}
|
||||
else if (target->GetPower(POWER_ALTERNATE_POWER) >= 50)
|
||||
if (Creature* atramedes = instance->GetCreature(DATA_ATRAMEDES))
|
||||
@@ -922,7 +922,7 @@ class spell_atramedes_sonic_flames_AuraScript : public AuraScript
|
||||
return;
|
||||
|
||||
PreventDefaultAction();
|
||||
caster->CastSpell(GetTarget(), GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, true, nullptr, aurEff);
|
||||
caster->CastSpell(GetTarget(), GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
+1
-1
@@ -589,7 +589,7 @@ class spell_chimaeron_double_attack : public AuraScript
|
||||
{
|
||||
PreventDefaultAction();
|
||||
if (Unit* target = eventInfo.GetProcTarget())
|
||||
GetTarget()->CastSpell(target, SPELL_DOUBLE_ATTACK_TRIGGERED, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(target, SPELL_DOUBLE_ATTACK_TRIGGERED, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
+1
-1
@@ -770,7 +770,7 @@ struct npc_magmaw_blazing_bone_construct : public ScriptedAI
|
||||
for (uint8 i = 0; i < 20; i++)
|
||||
{
|
||||
Position const pos = me->GetRandomNearPosition(10.0f);
|
||||
me->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), SPELL_IGNITION, true);
|
||||
me->CastSpell({ pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() }, SPELL_IGNITION, true);
|
||||
}
|
||||
_events.ScheduleEvent(EVENT_ENGAGE_PLAYERS, 1s);
|
||||
}
|
||||
|
||||
+2
-2
@@ -1134,7 +1134,7 @@ class spell_maloriak_magma_jets_periodic : public AuraScript
|
||||
float y = target->GetPositionY() + sin(target->GetOrientation()) * dist;
|
||||
float z = target->GetMapHeight(x, y, target->GetPositionZ() + 5.0f);
|
||||
if (target->IsWithinLOS(x, y, z))
|
||||
target->CastSpell(x, y, z, SPELL_MAGMA_JETS_SUMMON_FIRE, true);
|
||||
target->CastSpell({ x, y, z }, SPELL_MAGMA_JETS_SUMMON_FIRE, true);
|
||||
else
|
||||
Remove();
|
||||
}
|
||||
@@ -1182,7 +1182,7 @@ class spell_maloriak_vile_swill: public AuraScript
|
||||
PreventDefaultAction();
|
||||
Unit* target = GetTarget();
|
||||
Position const destination = target->GetRandomPoint(target->GetPosition(), 11.0f);
|
||||
target->CastSpell(destination.GetPositionX(), destination.GetPositionY(), destination.GetPositionZ(), SPELL_VILE_SWILL_SUMMON, true);
|
||||
target->CastSpell({ destination.GetPositionX(), destination.GetPositionY(), destination.GetPositionZ() }, SPELL_VILE_SWILL_SUMMON, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
+5
-5
@@ -1346,14 +1346,14 @@ struct npc_nefarians_end_shadowblaze : public NullCreatureAI
|
||||
}
|
||||
}
|
||||
|
||||
me->CastSpell(summonPos.GetPositionX(), summonPos.GetPositionY(), z, 0.f, SPELL_BRUSHFIRE_SUMMON, true);
|
||||
me->CastSpell({ summonPos.GetPositionX(), summonPos.GetPositionY(), z, 0.f }, SPELL_BRUSHFIRE_SUMMON, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (me->GetEntry() == NPC_SHADOWBLAZE_FLASHPOINT)
|
||||
{
|
||||
me->CastSpell(me->GetPositionX() - 5.f, me->GetPositionY(), z, 0.f, SPELL_BRUSHFIRE_SUMMON, true);
|
||||
me->CastSpell(me->GetPositionX(), me->GetPositionY() + 5.f, z, 0.f, SPELL_BRUSHFIRE_SUMMON, true);
|
||||
me->CastSpell({ me->GetPositionX() - 5.f, me->GetPositionY(), z, 0.f }, SPELL_BRUSHFIRE_SUMMON, true);
|
||||
me->CastSpell({ me->GetPositionX(), me->GetPositionY() + 5.f, z, 0.f }, SPELL_BRUSHFIRE_SUMMON, true);
|
||||
}
|
||||
else if (_summonedByController)
|
||||
{
|
||||
@@ -1361,7 +1361,7 @@ struct npc_nefarians_end_shadowblaze : public NullCreatureAI
|
||||
{
|
||||
float x = me->GetPositionX() + 5.f;
|
||||
float y = me->GetPositionY() + 5.f;
|
||||
me->CastSpell(x, y, z, 0.f, SPELL_BRUSHFIRE_SUMMON, true);
|
||||
me->CastSpell({ x, y, z, 0.f }, SPELL_BRUSHFIRE_SUMMON, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1843,7 +1843,7 @@ class spell_nefarians_end_dominion_dummy : public SpellScript
|
||||
Unit* caster = GetCaster();
|
||||
uint8 size = caster->GetMap()->Is25ManRaid() ? 2 : 5;
|
||||
if (!targets.empty())
|
||||
caster->CastCustomSpell(SPELL_DOMINION_OVERRIDE_ACTION_BAR, SPELLVALUE_MAX_TARGETS, size, caster, true);
|
||||
caster->CastSpell(caster, SPELL_DOMINION_OVERRIDE_ACTION_BAR, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_MAX_TARGETS, size));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
+2
-2
@@ -1412,7 +1412,7 @@ class spell_omnotron_unstable_shield : public AuraScript
|
||||
if (!target)
|
||||
return;
|
||||
|
||||
caster->CastSpell(target, SPELL_STATIC_SHOCK, true, nullptr, aurEff);
|
||||
caster->CastSpell(target, SPELL_STATIC_SHOCK, aurEff);
|
||||
|
||||
if (InstanceScript* instance = caster->GetInstanceScript())
|
||||
if (Creature* magmatron = instance->GetCreature(DATA_MAGMATRON))
|
||||
@@ -1576,7 +1576,7 @@ class spell_omnotron_overcharged_power_generator : public AuraScript
|
||||
{
|
||||
uint32 triggerSpell = GetSpellInfo()->Effects[EFFECT_0].TriggerSpell;
|
||||
int32 radius = target->GetObjectScale() * 10000;
|
||||
target->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, radius, nullptr, true, nullptr, aurEff, target->GetGUID());
|
||||
target->CastSpell(nullptr, triggerSpell, CastSpellExtraArgs(aurEff).SetOriginalCaster(target->GetGUID()).AddSpellMod(SPELLVALUE_RADIUS_MOD, radius));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -135,7 +135,7 @@ class spell_baron_geddon_inferno : public SpellScriptLoader
|
||||
{
|
||||
PreventDefaultAction();
|
||||
int32 damageForTick[8] = { 500, 500, 1000, 1000, 2000, 2000, 3000, 5000 };
|
||||
GetTarget()->CastCustomSpell(SPELL_INFERNO_DMG, SPELLVALUE_BASE_POINT0, damageForTick[aurEff->GetTickNumber() - 1], (Unit*)nullptr, TRIGGERED_FULL_MASK, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(nullptr, SPELL_INFERNO_DMG, CastSpellExtraArgs(aurEff).AddSpellBP0(damageForTick[aurEff->GetTickNumber() - 1]));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -327,7 +327,7 @@ class boss_vanessa_van_cleef : public CreatureScript
|
||||
float y = defiasReinforcementPositions[_currentReinforcement].m_positionY;
|
||||
float z = defiasReinforcementPositions[_currentReinforcement].m_positionZ;
|
||||
|
||||
me->CastSpell(x, y, z, defiasReinforcementSpells[_currentReinforcement], true);
|
||||
me->CastSpell({ x, y, z }, defiasReinforcementSpells[_currentReinforcement], true);
|
||||
_currentReinforcement++;
|
||||
|
||||
if (_currentReinforcement == REINFORCEMENT_BLOOD_WIZARD)
|
||||
|
||||
@@ -516,7 +516,7 @@ class spell_erudax_twilight_corruption_AuraScript : public AuraScript
|
||||
if (SpellInfo const* spell = sSpellMgr->GetSpellInfo(spellId))
|
||||
{
|
||||
int32 damage = CalculatePct(target->GetMaxHealth(), spell->Effects[EFFECT_0].BasePoints);
|
||||
target->CastCustomSpell(target, spellId, &damage, 0, 0, true);
|
||||
target->CastSpell(target, spellId, CastSpellExtraArgs(true).AddSpellBP0(damage));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -334,7 +334,7 @@ public:
|
||||
enfeeble_targets[i] = target->GetGUID();
|
||||
enfeeble_health[i] = target->GetHealth();
|
||||
|
||||
target->CastSpell(target, SPELL_ENFEEBLE, true, 0, 0, me->GetGUID());
|
||||
target->CastSpell(target, SPELL_ENFEEBLE, me->GetGUID());
|
||||
target->SetHealth(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -454,7 +454,7 @@ public:
|
||||
Unit* unit = ObjectAccessor::GetUnit(*me, FlameWreathTarget[i]);
|
||||
if (unit && !unit->IsWithinDist2d(FWTargPosX[i], FWTargPosY[i], 3))
|
||||
{
|
||||
unit->CastSpell(unit, 20476, true, 0, 0, me->GetGUID());
|
||||
unit->CastSpell(unit, 20476, me->GetGUID());
|
||||
unit->CastSpell(unit, 11027, true);
|
||||
FlameWreathTarget[i].Clear();
|
||||
}
|
||||
|
||||
@@ -242,7 +242,7 @@ class spell_ashbury_asphyxiate : public AuraScript
|
||||
if (!target->HasAura(SPELL_ASPHYXIATE_ROOT))
|
||||
target->CastSpell(target, SPELL_ASPHYXIATE_ROOT, true);
|
||||
|
||||
target->CastCustomSpell(triggerSpell, SPELLVALUE_BASE_POINT0, damage, target, true, nullptr, aurEff, caster->GetGUID());
|
||||
target->CastSpell(target, triggerSpell, CastSpellExtraArgs(aurEff).SetOriginalCaster(caster->GetGUID()).AddSpellBP0(damage));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -308,7 +308,7 @@ class spell_godfrey_pistol_barrage : public AuraScript
|
||||
float posX = target->GetPositionX() + cos(ori) * 60;
|
||||
float posY = target->GetPositionY() + sin(ori) * 60;
|
||||
float posZ = target->GetPositionZ();
|
||||
target->CastSpell(posX, posY, posZ, spellId, true);
|
||||
target->CastSpell({ posX, posY, posZ }, spellId, true);
|
||||
_useLeftGun = _useLeftGun ? false : true;
|
||||
}
|
||||
|
||||
|
||||
@@ -207,7 +207,7 @@ class spell_ulthok_dark_fissure : public AuraScript
|
||||
{
|
||||
uint32 triggerSpell = GetSpellInfo()->Effects[EFFECT_0].TriggerSpell;
|
||||
int32 radius = target->GetObjectScale() * 300;
|
||||
target->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, radius, nullptr, true, nullptr, aurEff, target->GetGUID());
|
||||
target->CastSpell(nullptr, triggerSpell, CastSpellExtraArgs(aurEff).SetOriginalCaster(target->GetGUID()).AddSpellMod(SPELLVALUE_RADIUS_MOD, radius));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -458,7 +458,7 @@ class spell_janalai_flame_breath_AuraScript : public AuraScript
|
||||
|
||||
float x = 0.f, y = 0.f, z = 0.f;
|
||||
_castDestinations[tickNumber - 1].GetPosition(x, y, z);
|
||||
GetTarget()->CastSpell(x, y, z, SPELL_FLAME_BREATH_AREA_EFFECT);
|
||||
GetTarget()->CastSpell({ x, y, z }, SPELL_FLAME_BREATH_AREA_EFFECT);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -186,7 +186,7 @@ struct boss_bloodlord_mandokir : public BossAI
|
||||
float y = me->GetPositionY() + sin(angle + angleOffset) * (i * 6.0f);
|
||||
float z = me->GetPositionZ();
|
||||
angleOffset += 0.3f;
|
||||
me->CastSpell(x, y, z, SPELL_DEVASTATING_SLAM_DAMAGE, true);
|
||||
me->CastSpell({ x, y, z }, SPELL_DEVASTATING_SLAM_DAMAGE, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -530,8 +530,8 @@ class spell_mandokir_bloodletting : public AuraScript
|
||||
|
||||
int32 damage = std::max<int32>(7500, target->CountPctFromCurHealth(aurEff->GetAmount()));
|
||||
|
||||
caster->CastCustomSpell(target, SPELL_BLOODLETTING_DAMAGE, &damage, 0, 0, true);
|
||||
target->CastCustomSpell(caster, SPELL_BLOODLETTING_HEAL, &damage, 0, 0, true);
|
||||
caster->CastSpell(target, SPELL_BLOODLETTING_DAMAGE, CastSpellExtraArgs(true).AddSpellBP0(damage));
|
||||
target->CastSpell(caster, SPELL_BLOODLETTING_HEAL, CastSpellExtraArgs(true).AddSpellBP0(damage));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -533,7 +533,7 @@ class spell_venoxis_pool_of_acrid_tears : public AuraScript
|
||||
{
|
||||
uint32 triggerSpell = GetSpellInfo()->Effects[EFFECT_0].TriggerSpell;
|
||||
int32 radius = target->GetObjectScale() * 75;
|
||||
target->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, radius, nullptr, true, nullptr, aurEff, target->GetGUID());
|
||||
target->CastSpell(nullptr, triggerSpell, CastSpellExtraArgs(aurEff).SetOriginalCaster(target->GetGUID()).AddSpellMod(SPELLVALUE_RADIUS_MOD, radius));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -245,7 +245,7 @@ struct boss_zanzil : public BossAI
|
||||
float z = _zanzilPosition.GetPositionZ();
|
||||
|
||||
if (_zanzilPosition.GetExactDist2d(x, y) <= 30.0f)
|
||||
me->CastSpell(x, y, z, SPELL_ZANZILI_FIRE_TRIGGERED, true);
|
||||
me->CastSpell({ x, y, z }, SPELL_ZANZILI_FIRE_TRIGGERED, true);
|
||||
else
|
||||
me->RemoveAurasDueToSpell(SPELL_ZANZILI_FIRE);
|
||||
break;
|
||||
@@ -321,7 +321,7 @@ struct boss_zanzil : public BossAI
|
||||
|
||||
Talk(SAY_ANNOUNCE_ZANZILI_BERSEKER);
|
||||
Talk(SAY_ZANZILI_BERSEKER);
|
||||
me->CastSpell(nearestPos.GetPositionX(), nearestPos.GetPositionY(), nearestPos.GetPositionZ(), SPELL_ZANZILS_RESURRECTION_ELIXIR_BLUE);
|
||||
me->CastSpell({ nearestPos.GetPositionX(), nearestPos.GetPositionY(), nearestPos.GetPositionZ() }, SPELL_ZANZILS_RESURRECTION_ELIXIR_BLUE);
|
||||
events.ScheduleEvent(EVENT_RESPAWN_BERSERKER, 13s);
|
||||
break;
|
||||
}
|
||||
@@ -340,7 +340,7 @@ struct boss_zanzil : public BossAI
|
||||
|
||||
Talk(SAY_ANNOUNCE_ZANZIL_ZOMBIES);
|
||||
Talk(SAY_ZANZILI_ZOMBIES);
|
||||
me->CastSpell(nearestPos.GetPositionX(), nearestPos.GetPositionY(), nearestPos.GetPositionZ(), SPELL_ZANZILS_RESURRECTION_ELIXIR_RED);
|
||||
me->CastSpell({ nearestPos.GetPositionX(), nearestPos.GetPositionY(), nearestPos.GetPositionZ() }, SPELL_ZANZILS_RESURRECTION_ELIXIR_RED);
|
||||
events.ScheduleEvent(EVENT_RESPAWN_ZOMBIE_GROUP, 13s);
|
||||
break;
|
||||
}
|
||||
@@ -514,7 +514,7 @@ class spell_zanzil_zanzils_resurrection_elixir : public AuraScript
|
||||
if (!object)
|
||||
return;
|
||||
|
||||
GetTarget()->CastSpell(object->GetPositionX(), object->GetPositionY(), object->GetPositionZ(), GetSpellInfo()->Effects[EFFECT_1].TriggerSpell, true);
|
||||
GetTarget()->CastSpell({ object->GetPositionX(), object->GetPositionY(), object->GetPositionZ() }, GetSpellInfo()->Effects[EFFECT_1].TriggerSpell, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -545,7 +545,7 @@ class spell_zulgurub_ancient_guardian : public AuraScript
|
||||
{
|
||||
absorbAmount = dmgInfo.GetDamage();
|
||||
int32 health = target->CountPctFromMaxHealth(50) - absorbAmount;
|
||||
target->CastCustomSpell(SPELL_ANCIENT_GUARDIAN_HEAL, SPELLVALUE_BASE_POINT0, health, target, true, nullptr, aurEff);
|
||||
target->CastSpell(target, SPELL_ANCIENT_GUARDIAN_HEAL, CastSpellExtraArgs(aurEff).AddSpellBP0(health));
|
||||
Remove();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -467,7 +467,7 @@ struct npc_brazie_the_bonatist_vehicle : public VehicleAI
|
||||
float x = pos.GetPositionX() + cos(angle) * 3;
|
||||
float y = pos.GetPositionY() + sin(angle) * 3;
|
||||
|
||||
GetPlayer()->CastSpell(x, y, pos.GetPositionZ() + 50.0f, SPELL_CREATE_RANDOM_SUN_POWER, true);
|
||||
GetPlayer()->CastSpell({ x, y, pos.GetPositionZ() + 50.0f }, SPELL_CREATE_RANDOM_SUN_POWER, true);
|
||||
|
||||
switch (_currentLevel)
|
||||
{
|
||||
@@ -508,7 +508,7 @@ struct npc_brazie_the_bonatist_vehicle : public VehicleAI
|
||||
}
|
||||
|
||||
if (Player* player = GetPlayer())
|
||||
player->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), angle, spellId, true);
|
||||
player->CastSpell({ pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), angle }, spellId, true);
|
||||
break;
|
||||
}
|
||||
case EVENT_ANNOUNCE_GOOD_JOB:
|
||||
@@ -592,19 +592,19 @@ private:
|
||||
for (uint8 i = 0; i < MAX_TARGET_POSITIONS; i++)
|
||||
{
|
||||
Position pos = LawnMowerPositions[i];
|
||||
charmer->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), LawnmowerOrientation, SPELL_CREATE_LAWMOWER, true);
|
||||
charmer->CastSpell({ pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), LawnmowerOrientation }, SPELL_CREATE_LAWMOWER, true);
|
||||
|
||||
pos = GoalStalkerPositions[i];
|
||||
charmer->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), GoalStalkerOrientation, SPELL_CREATE_GOAL_STALKER, true);
|
||||
charmer->CastSpell({ pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), GoalStalkerOrientation }, SPELL_CREATE_GOAL_STALKER, true);
|
||||
|
||||
pos = SpitterTargetPositions[i];
|
||||
charmer->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), SpitterTargetOrientation, SPELL_CREATE_SPITTER_TARGET, true);
|
||||
charmer->CastSpell({ pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), SpitterTargetOrientation }, SPELL_CREATE_SPITTER_TARGET, true);
|
||||
}
|
||||
|
||||
for (uint8 i = 0; i < MAX_EMPTY_SPOT_POSITIONS; i++)
|
||||
{
|
||||
Position pos = EmptySpotPositions[i];
|
||||
charmer->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), EmptySpotOrientation, SPELL_CREATE_EMPTY_SPOT, true);
|
||||
charmer->CastSpell({ pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), EmptySpotOrientation }, SPELL_CREATE_EMPTY_SPOT, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -917,7 +917,7 @@ struct npc_brazie_spot : public ScriptedAI
|
||||
float x = pos.GetPositionX() + cos(angle) * 3;
|
||||
float y = pos.GetPositionY() + sin(angle) * 3;
|
||||
|
||||
summoner->CastSpell(x, y, pos.GetPositionZ() + 50.0f, SPELL_CREATE_RANDOM_SUN_POWER, true);
|
||||
summoner->CastSpell({ x, y, pos.GetPositionZ() + 50.0f }, SPELL_CREATE_RANDOM_SUN_POWER, true);
|
||||
}
|
||||
}
|
||||
_events.Repeat(17s);
|
||||
|
||||
@@ -389,7 +389,7 @@ class spell_th_poison : public AuraScript
|
||||
{
|
||||
uint32 triggerSpell = GetSpellInfo()->Effects[EFFECT_0].TriggerSpell;
|
||||
int32 radius = int32(166.66f * aurEff->GetTickNumber());
|
||||
target->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, radius, nullptr, true, nullptr, aurEff, target->GetGUID());
|
||||
target->CastSpell(nullptr, triggerSpell, CastSpellExtraArgs(aurEff).SetOriginalCaster(target->GetGUID()).AddSpellMod(SPELLVALUE_RADIUS_MOD, radius));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -281,7 +281,7 @@ class spell_anetheron_vampiric_aura : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
int32 bp = damageInfo->GetDamage() * 3;
|
||||
eventInfo.GetActor()->CastCustomSpell(SPELL_VAMPIRIC_AURA_HEAL, SPELLVALUE_BASE_POINT0, bp, eventInfo.GetActor(), true, nullptr, aurEff);
|
||||
eventInfo.GetActor()->CastSpell(eventInfo.GetActor(), SPELL_VAMPIRIC_AURA_HEAL, CastSpellExtraArgs(aurEff).AddSpellBP0(bp));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -474,7 +474,7 @@ public:
|
||||
break;
|
||||
case NPC_DOOMFIRE:
|
||||
summoned->CastSpell(summoned, SPELL_DOOMFIRE_SPAWN, false);
|
||||
summoned->CastSpell(summoned, SPELL_DOOMFIRE, true, 0, 0, me->GetGUID());
|
||||
summoned->CastSpell(summoned, SPELL_DOOMFIRE, me->GetGUID());
|
||||
|
||||
if (Unit* DoomfireSpirit = ObjectAccessor::GetUnit(*me, DoomfireSpiritGUID))
|
||||
{
|
||||
|
||||
@@ -211,7 +211,7 @@ class spell_mark_of_kazrogal : public SpellScriptLoader
|
||||
|
||||
if (target->GetPower(POWER_MANA) == 0)
|
||||
{
|
||||
target->CastSpell(target, SPELL_MARK_DAMAGE, true, nullptr, aurEff);
|
||||
target->CastSpell(target, SPELL_MARK_DAMAGE, aurEff);
|
||||
// Remove aura
|
||||
SetDuration(0);
|
||||
}
|
||||
|
||||
@@ -1323,7 +1323,7 @@ public:
|
||||
{
|
||||
if (StrikeTimer <= diff)
|
||||
{
|
||||
me->CastSpell(DummyTarget[0], DummyTarget[1], DummyTarget[2], SPELL_GARGOYLE_STRIKE, false);
|
||||
me->CastSpell({ DummyTarget[0], DummyTarget[1], DummyTarget[2] }, SPELL_GARGOYLE_STRIKE);
|
||||
StrikeTimer = 2000 + rand32() % 1000;
|
||||
} else StrikeTimer -= diff;
|
||||
}
|
||||
@@ -1430,8 +1430,9 @@ public:
|
||||
EnterEvadeMode();
|
||||
return;
|
||||
}
|
||||
int dmg = 500 + rand32() % 700;
|
||||
me->CastCustomSpell(me->GetVictim(), SPELL_EXPLODING_SHOT, &dmg, 0, 0, false);
|
||||
int32 dmg = 500 + rand32() % 700;
|
||||
|
||||
me->CastSpell(me->GetVictim(), SPELL_EXPLODING_SHOT, { SPELLVALUE_BASE_POINT0, dmg });
|
||||
ExplodeTimer = 5000 + rand32() % 5000;
|
||||
} else ExplodeTimer -= diff;
|
||||
DoMeleeAttackIfReady();
|
||||
|
||||
@@ -708,7 +708,7 @@ struct boss_madness_of_deathwing : public BossAI
|
||||
break;
|
||||
}
|
||||
|
||||
me->CastCustomSpell(SPELL_FACE_TRIGGER, SPELLVALUE_BASE_POINT0, facingSpellID);
|
||||
me->CastSpell(me, SPELL_FACE_TRIGGER, { SPELLVALUE_BASE_POINT0, facingSpellID });
|
||||
|
||||
// Nozdormu creates a time zone at the same moment when Deathwing faces a platform
|
||||
if (!_limbData[DRAGON_ASPECT_NOZDORMU].TentacleKilled)
|
||||
@@ -1930,7 +1930,7 @@ class spell_madness_of_deathwing_regenerative_blood_periodic : public AuraScript
|
||||
}
|
||||
|
||||
int32 bp = _basePoints * 10;
|
||||
target->CastCustomSpell(SPELL_REGENERATIVE_BLOOD_SCRIPT, SPELLVALUE_BASE_POINT0, bp, target);
|
||||
target->CastSpell(target, SPELL_REGENERATIVE_BLOOD_SCRIPT, { SPELLVALUE_BASE_POINT0, bp });
|
||||
|
||||
if (aurEff->GetTickNumber() >= 20)
|
||||
Remove();
|
||||
@@ -2016,11 +2016,11 @@ class spell_madness_of_deathwing_burning_blood : public AuraScript
|
||||
|
||||
uint8 stackDiff = std::max<int8>(0, uint8(lostHealthPct) - GetStackAmount());
|
||||
if (stackDiff)
|
||||
target->CastCustomSpell(GetSpellInfo()->Id, SPELLVALUE_AURA_STACK, stackDiff, target);
|
||||
target->CastSpell(target, GetSpellInfo()->Id, { SPELLVALUE_AURA_STACK, stackDiff });
|
||||
|
||||
uint32 spellId = sSpellMgr->GetSpellIdForDifficulty(GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, target);
|
||||
int32 bp = sSpellMgr->AssertSpellInfo(spellId)->Effects[EFFECT_0].CalcValue() * GetStackAmount();
|
||||
target->CastCustomSpell(spellId, SPELLVALUE_BASE_POINT0, bp, target, true);
|
||||
target->CastSpell(target, spellId, CastSpellExtraArgs(true).AddSpellBP0(bp));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2600,7 +2600,7 @@ public:
|
||||
|
||||
if (SpellInfo const* spell = sSpellMgr->GetSpellInfo(spellId))
|
||||
if (uint32 triggerSpellId = spell->Effects[EFFECT_0].TriggerSpell)
|
||||
player->CastCustomSpell(triggerSpellId, SPELLVALUE_BASE_POINT1, spellId, player, true);
|
||||
player->CastSpell(player, triggerSpellId, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_BASE_POINT1, spellId));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -631,7 +631,7 @@ public:
|
||||
return;
|
||||
|
||||
int32 damage = CalculatePct(absorbAmount, reflectPct);
|
||||
GetCaster()->CastCustomSpell(SPELL_VEIL_OF_SKY_DAMAGE, SPELLVALUE_BASE_POINT0, damage, dmgInfo.GetAttacker(), true);
|
||||
GetCaster()->CastSpell(dmgInfo.GetAttacker(), SPELL_VEIL_OF_SKY_DAMAGE, CastSpellExtraArgs(true).AddSpellBP0(damage));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -339,14 +339,8 @@ class spell_anhuur_divine_reckoning : public AuraScript
|
||||
void OnPeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
if (!caster->isDead())
|
||||
{
|
||||
CustomSpellValues values;
|
||||
values.AddSpellMod(SPELLVALUE_BASE_POINT0, aurEff->GetAmount());
|
||||
caster->CastCustomSpell(GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, values, GetTarget());
|
||||
}
|
||||
}
|
||||
caster->CastSpell(GetTarget(), GetSpellInfo()->Effects[EFFECT_0].TriggerSpell, { SPELLVALUE_BASE_POINT0, aurEff->GetAmount() });
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -743,7 +743,7 @@ public:
|
||||
//Set target in stomach
|
||||
Stomach_Map[target->GetGUID()] = true;
|
||||
target->InterruptNonMeleeSpells(false);
|
||||
target->CastSpell(target, SPELL_MOUTH_TENTACLE, true, nullptr, nullptr, me->GetGUID());
|
||||
target->CastSpell(target, SPELL_MOUTH_TENTACLE, me->GetGUID());
|
||||
StomachEnterTarget = target->GetGUID();
|
||||
StomachEnterVisTimer = 3800;
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ class RelentlessStormTeleportEvent : public BasicEvent
|
||||
float y = RelentlessStormTeleportReferencePos.GetPositionY() + frand(-15.0f, 15.0f);
|
||||
float z = RelentlessStormTeleportReferencePos.GetPositionZ() + frand(-15.0f, 15.0f);
|
||||
|
||||
_owner->CastSpell(x, y, z, SPELL_RELENTLESS_STORM_INITIAL_VEHICLE_RIDE_TELEPORT, true);
|
||||
_owner->CastSpell({ x, y, z }, SPELL_RELENTLESS_STORM_INITIAL_VEHICLE_RIDE_TELEPORT, true);
|
||||
return true;
|
||||
}
|
||||
private:
|
||||
@@ -444,8 +444,8 @@ struct boss_alakir : public BossAI
|
||||
|
||||
if (Creature* cloud = DoSummon(NPC_LIGHTNING_CLOUDS_BOTTOM, LightningCloudBottomPos, 0, TEMPSUMMON_MANUAL_DESPAWN))
|
||||
for (uint8 i = 0; i < 48; i++)
|
||||
cloud->CastSpell(LightningCloudsExtraVisualsBottomPositions[i].GetPositionX(), LightningCloudsExtraVisualsBottomPositions[i].GetPositionY(),
|
||||
LightningCloudsExtraVisualsBottomPositions[i].GetPositionZ(), SPELL_LIGHTNING_CLOUDS_SUMMON_EXTRA_VISUALS_BOTTOM);
|
||||
cloud->CastSpell({ LightningCloudsExtraVisualsBottomPositions[i].GetPositionX(), LightningCloudsExtraVisualsBottomPositions[i].GetPositionY(),
|
||||
LightningCloudsExtraVisualsBottomPositions[i].GetPositionZ() }, SPELL_LIGHTNING_CLOUDS_SUMMON_EXTRA_VISUALS_BOTTOM);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -512,8 +512,8 @@ struct boss_alakir : public BossAI
|
||||
|
||||
}, 5s);
|
||||
for (uint8 i = 0; i < 24; i++)
|
||||
summon->CastSpell(LightningCloudsExtraVisualsPositions[i].GetPositionX(), LightningCloudsExtraVisualsPositions[i].GetPositionY(),
|
||||
summon->GetPositionZ(), SPELL_LIGHTNING_CLOUDS_SUMMON_EXTRA_VISUALS);
|
||||
summon->CastSpell({ LightningCloudsExtraVisualsPositions[i].GetPositionX(), LightningCloudsExtraVisualsPositions[i].GetPositionY(),
|
||||
summon->GetPositionZ() }, SPELL_LIGHTNING_CLOUDS_SUMMON_EXTRA_VISUALS);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -666,7 +666,7 @@ struct npc_alakir_ice_storm : public ScriptedAI
|
||||
if (!possibleDestinations.empty())
|
||||
{
|
||||
Position dest = Trinity::Containers::SelectRandomContainerElement(possibleDestinations);
|
||||
me->CastSpell(dest.GetPositionX(), dest.GetPositionY(), dest.GetPositionZ(), SPELL_ICE_STORM_CHARGE, true);
|
||||
me->CastSpell({ dest.GetPositionX(), dest.GetPositionY(), dest.GetPositionZ() }, SPELL_ICE_STORM_CHARGE, true);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -811,7 +811,7 @@ class spell_alakir_lightning_strike_periodic : public SpellScript
|
||||
float x = caster->GetPositionX() + cos(angle) * 75.0f;
|
||||
float y = caster->GetPositionY() + sin(angle) * 75.0f;
|
||||
float z = caster->GetPositionZ();
|
||||
caster->CastSpell(x, y, z, SPELL_LIGHTNING_STRIKE_VISUAL, true);
|
||||
caster->CastSpell({ x, y, z }, SPELL_LIGHTNING_STRIKE_VISUAL, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -995,7 +995,7 @@ class spell_alakir_lightning_clouds_periodic : public AuraScript
|
||||
Unit* target = GetTarget();
|
||||
Position pos = target->GetRandomPoint(target->GetPosition(), 80.0f);
|
||||
pos.m_positionZ = target->GetPositionZ() + frand(-10.0f, 10.0f);
|
||||
target->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), SPELL_LIGHTNING_CLOUDS_VISUAL_DEST);
|
||||
target->CastSpell({ pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() }, SPELL_LIGHTNING_CLOUDS_VISUAL_DEST);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1048,7 +1048,7 @@ class spell_alakir_lightning_clouds_targeting : public SpellScript
|
||||
float y = caster->GetPositionY();
|
||||
float z = GetHitUnit()->GetPositionZ();
|
||||
float o = GetHitUnit()->GetOrientation();
|
||||
caster->CastSpell(x, y, z, o, SPELL_SUMMON_LIGHTNING_CLOUDS_SUMMON);
|
||||
caster->CastSpell({ x, y, z, o }, SPELL_SUMMON_LIGHTNING_CLOUDS_SUMMON);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1137,7 +1137,7 @@ class spell_conclave_of_wind_winds : public AuraScript
|
||||
}
|
||||
|
||||
if (spellId)
|
||||
owner->CastCustomSpell(spellId, SPELLVALUE_BASE_POINT0, damage, owner, true);
|
||||
owner->CastSpell(owner, spellId, CastSpellExtraArgs(true).AddSpellBP0(damage));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -460,7 +460,7 @@ struct npc_asaad_unstable_grounding_field : public ScriptedAI
|
||||
DoCast(me, SPELL_STORM_SUMMON_GROUNDING_FIELD);
|
||||
|
||||
Position pos = ENSURE_AI(AsaadAI, asaad->AI())->GetTriangleCenterPosition();
|
||||
me->CastSpell(pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), SPELL_STORM_SUMMON_GROUNDING_FIELD, true);
|
||||
me->CastSpell({ pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ() }, SPELL_STORM_SUMMON_GROUNDING_FIELD, true);
|
||||
_events.ScheduleEvent(EVENT_STORM_ASAAD_TELEPORT, 500);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -693,7 +693,7 @@ class spell_mh_inferno : public AuraScript
|
||||
bp += CalculatePct(bp, 10) * ticks;
|
||||
bp = std::min(bp, basePoints);
|
||||
|
||||
caster->CastCustomSpell(SPELL_INFERNO_TRIGGERED, SPELLVALUE_BASE_POINT0, bp, caster, true);
|
||||
caster->CastSpell(caster, SPELL_INFERNO_TRIGGERED, CastSpellExtraArgs(true).AddSpellBP0(bp));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -494,7 +494,7 @@ public:
|
||||
DoCast(player, SPELL_ARCANE_CHANNELING, true);//Arcane Channeling
|
||||
break;
|
||||
case 35:
|
||||
me->CastSpell(-8088, 1520.43f, 2.67f, SPELL_TIME_STOP, true);
|
||||
me->CastSpell({ -8088, 1520.43f, 2.67f }, SPELL_TIME_STOP, true);
|
||||
break;
|
||||
case 36:
|
||||
DoCast(player, SPELL_CALL_PRISMATIC_BARRIER, true);
|
||||
@@ -544,7 +544,7 @@ public:
|
||||
break;
|
||||
case 50:
|
||||
Fandral->AI()->Talk(FANDRAL_EMOTE_2);
|
||||
Fandral->CastSpell(-8127, 1525, 17.5f, SPELL_THROW_HAMMER, true);
|
||||
Fandral->CastSpell({ -8127, 1525, 17.5f }, SPELL_THROW_HAMMER, true);
|
||||
break;
|
||||
case 51:
|
||||
{
|
||||
|
||||
@@ -364,14 +364,14 @@ class boss_high_priestess_azil : public CreatureScript
|
||||
if (events.IsInPhase(PHASE_ONE))
|
||||
{
|
||||
if (Creature* worldtrigger = me->FindNearestCreature(NPC_WORLDTRIGGER, 150.0f))
|
||||
worldtrigger->CastCustomSpell(SPELL_SUMMON_WAVE_SOUTH, SPELLVALUE_BASE_POINT0, 3, worldtrigger, true);
|
||||
worldtrigger->CastSpell(worldtrigger, SPELL_SUMMON_WAVE_SOUTH, { SPELLVALUE_BASE_POINT0, 3});
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Creature* worldtrigger = me->FindNearestCreature(NPC_WORLDTRIGGER, 150.0f))
|
||||
{
|
||||
worldtrigger->CastCustomSpell(SPELL_SUMMON_WAVE_SOUTH, SPELLVALUE_BASE_POINT0, 10, worldtrigger, true);
|
||||
worldtrigger->CastCustomSpell(SPELL_SUMMON_WAVE_WEST, SPELLVALUE_BASE_POINT0, 10, worldtrigger, true);
|
||||
worldtrigger->CastSpell(worldtrigger, SPELL_SUMMON_WAVE_SOUTH, { SPELLVALUE_BASE_POINT0, 10 });
|
||||
worldtrigger->CastSpell(worldtrigger, SPELL_SUMMON_WAVE_WEST, { SPELLVALUE_BASE_POINT0, 10 });
|
||||
events.Repeat(10s, 13s);
|
||||
}
|
||||
}
|
||||
@@ -720,7 +720,7 @@ class spell_azil_seismic_shard : public SpellScript
|
||||
|
||||
target->ExitVehicle();
|
||||
if (DynamicObject* dynamicObject = GetCaster()->GetDynObject(SPELL_SEISMIC_SHARD_TARGETING))
|
||||
target->CastSpell(dynamicObject->GetPositionX(), dynamicObject->GetPositionY(), dynamicObject->GetPositionZ(), SPELL_SEISMIC_SHARD_MISSLE, true);
|
||||
target->CastSpell({ dynamicObject->GetPositionX(), dynamicObject->GetPositionY(), dynamicObject->GetPositionZ() }, SPELL_SEISMIC_SHARD_MISSLE, true);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -203,7 +203,7 @@ class spell_ozruk_rupture : public AuraScript
|
||||
float y = caster->GetPositionY() + sin(angle) * dist;
|
||||
float z = caster->GetMap()->GetStaticHeight(caster->GetPhaseShift(), x, y, caster->GetPositionZ() + 3.0f);
|
||||
if (std::abs(z) < caster->GetPositionZ() + 5.0f)
|
||||
caster->CastSpell(x, y, z, SPELL_RUPTURE_SUMMON, true);
|
||||
caster->CastSpell({ x, y, z }, SPELL_RUPTURE_SUMMON, true);
|
||||
angle += 0.2f;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ class spell_ahn_kahet_swarm : public SpellScriptLoader
|
||||
aura->RefreshDuration();
|
||||
}
|
||||
else
|
||||
GetCaster()->CastCustomSpell(SPELL_SWARM_BUFF, SPELLVALUE_AURA_STACK, _targetCount, GetCaster(), TRIGGERED_FULL_MASK);
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_SWARM_BUFF, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_AURA_STACK, _targetCount));
|
||||
}
|
||||
else
|
||||
GetCaster()->RemoveAurasDueToSpell(SPELL_SWARM_BUFF);
|
||||
|
||||
@@ -355,7 +355,7 @@ 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.GetPositionX(), _meteorStrikePos.GetPositionY(), _meteorStrikePos.GetPositionZ(), SPELL_METEOR_STRIKE, true, nullptr, nullptr, me->GetGUID());
|
||||
me->CastSpell({ _meteorStrikePos.GetPositionX(), _meteorStrikePos.GetPositionY(), _meteorStrikePos.GetPositionZ() }, SPELL_METEOR_STRIKE, me->GetGUID());
|
||||
Talk(SAY_METEOR_STRIKE);
|
||||
}
|
||||
events.ScheduleEvent(EVENT_METEOR_STRIKE, Seconds(38));
|
||||
@@ -1240,11 +1240,11 @@ class npc_combustion_consumption : public CreatureScript
|
||||
if (type != DATA_STACKS_DISPELLED || !_damageSpell || !_explosionSpell || !summoner)
|
||||
return;
|
||||
|
||||
me->CastCustomSpell(SPELL_SCALE_AURA, SPELLVALUE_AURA_STACK, stackAmount + 1, me);
|
||||
me->CastSpell(me, SPELL_SCALE_AURA, { SPELLVALUE_AURA_STACK, int32(stackAmount + 1) });
|
||||
DoCastSelf(_damageSpell);
|
||||
|
||||
int32 damage = 1200 + (stackAmount * 1290); // Needs more research.
|
||||
summoner->CastCustomSpell(_explosionSpell, SPELLVALUE_BASE_POINT0, damage, summoner);
|
||||
summoner->CastSpell(summoner, _explosionSpell, { SPELLVALUE_BASE_POINT0, damage });
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 /*diff*/) override { }
|
||||
@@ -1502,8 +1502,7 @@ class spell_halion_combustion_consumption_periodic : public SpellScriptLoader
|
||||
|
||||
uint32 triggerSpell = GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell;
|
||||
int32 radius = caster->GetObjectScale() * M_PI * 10000 / 3;
|
||||
|
||||
caster->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, radius, (Unit*)nullptr, TRIGGERED_FULL_MASK, nullptr, aurEff, caster->GetGUID());
|
||||
caster->CastSpell(nullptr, triggerSpell, CastSpellExtraArgs(aurEff).AddSpellMod(SPELLVALUE_RADIUS_MOD, radius).SetOriginalCaster(caster->GetGUID()));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1552,7 +1551,7 @@ class spell_halion_marks : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
// Stacks marker
|
||||
GetTarget()->CastCustomSpell(_summonSpellId, SPELLVALUE_BASE_POINT1, aurEff->GetBase()->GetStackAmount(), GetTarget(), TRIGGERED_FULL_MASK, nullptr, nullptr, GetCasterGUID());
|
||||
GetTarget()->CastSpell(GetTarget(), _summonSpellId, CastSpellExtraArgs(GetCasterGUID()).AddSpellMod(SPELLVALUE_BASE_POINT1, aurEff->GetBase()->GetStackAmount()));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1765,7 +1764,7 @@ class spell_halion_twilight_phasing : public SpellScriptLoader
|
||||
void Phase()
|
||||
{
|
||||
Unit* caster = GetCaster();
|
||||
caster->CastSpell(caster->GetPositionX(), caster->GetPositionY(), caster->GetPositionZ(), SPELL_SUMMON_TWILIGHT_PORTAL, true);
|
||||
caster->CastSpell({ caster->GetPositionX(), caster->GetPositionY(), caster->GetPositionZ() }, SPELL_SUMMON_TWILIGHT_PORTAL, true);
|
||||
caster->GetMap()->SummonCreature(NPC_TWILIGHT_HALION, HalionSpawnPos);
|
||||
}
|
||||
|
||||
|
||||
@@ -196,7 +196,7 @@ class spell_ruby_sanctum_rallying_shout : public SpellScriptLoader
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (_targetCount && !GetCaster()->HasAura(SPELL_RALLY))
|
||||
GetCaster()->CastCustomSpell(SPELL_RALLY, SPELLVALUE_AURA_STACK, _targetCount, GetCaster(), TRIGGERED_FULL_MASK);
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_RALLY, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_AURA_STACK, _targetCount));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
+1
-1
@@ -664,7 +664,7 @@ class spell_paletress_summon_memory : public SpellScriptLoader
|
||||
|
||||
void HandleScript(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), memorySpellId[urand(0, 24)], true, nullptr, nullptr, GetCaster()->GetGUID());
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), memorySpellId[urand(0, 24)], GetCaster()->GetGUID());
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
+5
-4
@@ -309,12 +309,12 @@ class boss_anubarak_trial : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_FREEZE_SLASH, 15*IN_MILLISECONDS, 0, PHASE_MELEE);
|
||||
return;
|
||||
case EVENT_PENETRATING_COLD:
|
||||
me->CastCustomSpell(SPELL_PENETRATING_COLD, SPELLVALUE_MAX_TARGETS, RAID_MODE(2, 5, 2, 5));
|
||||
DoCastAOE(SPELL_PENETRATING_COLD, { SPELLVALUE_MAX_TARGETS, RAID_MODE(2, 5, 2, 5) });
|
||||
events.ScheduleEvent(EVENT_PENETRATING_COLD, 20*IN_MILLISECONDS, 0, PHASE_MELEE);
|
||||
return;
|
||||
case EVENT_SUMMON_NERUBIAN:
|
||||
if (IsHeroic() || !_reachedPhase3)
|
||||
me->CastCustomSpell(SPELL_SUMMON_BURROWER, SPELLVALUE_MAX_TARGETS, RAID_MODE(1, 2, 2, 4));
|
||||
DoCastAOE(SPELL_SUMMON_BURROWER, { SPELLVALUE_MAX_TARGETS, RAID_MODE(1, 2, 2, 4) });
|
||||
events.ScheduleEvent(EVENT_SUMMON_NERUBIAN, 45*IN_MILLISECONDS, 0, PHASE_MELEE);
|
||||
return;
|
||||
case EVENT_NERUBIAN_SHADOW_STRIKE:
|
||||
@@ -881,10 +881,11 @@ class spell_anubarak_leeching_swarm : public SpellScriptLoader
|
||||
int32 lifeLeeched = target->CountPctFromCurHealth(aurEff->GetAmount());
|
||||
if (lifeLeeched < 250)
|
||||
lifeLeeched = 250;
|
||||
|
||||
// Damage
|
||||
caster->CastCustomSpell(target, SPELL_LEECHING_SWARM_DMG, &lifeLeeched, 0, 0, true);
|
||||
caster->CastSpell(target, SPELL_LEECHING_SWARM_DMG, CastSpellExtraArgs(true).AddSpellBP0(lifeLeeched));
|
||||
// Heal
|
||||
caster->CastCustomSpell(caster, SPELL_LEECHING_SWARM_HEAL, &lifeLeeched, 0, 0, true);
|
||||
caster->CastSpell(caster, SPELL_LEECHING_SWARM_HEAL, CastSpellExtraArgs(true).AddSpellBP0(lifeLeeched));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -2271,7 +2271,7 @@ class spell_faction_champion_warl_unstable_affliction : public SpellScriptLoader
|
||||
void HandleDispel(DispelInfo* dispelInfo)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell(dispelInfo->GetDispeller(), SPELL_UNSTABLE_AFFLICTION_DISPEL, true, nullptr, GetEffect(EFFECT_0));
|
||||
caster->CastSpell(dispelInfo->GetDispeller(), SPELL_UNSTABLE_AFFLICTION_DISPEL, GetEffect(EFFECT_0));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
+1
-1
@@ -175,7 +175,7 @@ class boss_jaraxxus : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_INCINERATE_FLESH, urand(20*IN_MILLISECONDS, 25*IN_MILLISECONDS));
|
||||
return;
|
||||
case EVENT_NETHER_POWER:
|
||||
me->CastCustomSpell(SPELL_NETHER_POWER, SPELLVALUE_AURA_STACK, RAID_MODE<uint32>(5, 10, 5, 10), me, true);
|
||||
me->CastSpell(me, SPELL_NETHER_POWER, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_AURA_STACK, RAID_MODE<uint32>(5, 10, 5, 10)));
|
||||
events.ScheduleEvent(EVENT_NETHER_POWER, 40*IN_MILLISECONDS);
|
||||
return;
|
||||
case EVENT_LEGION_FLAME:
|
||||
|
||||
+1
-1
@@ -1332,7 +1332,7 @@ public:
|
||||
slowEff->ChangeAmount(newAmount);
|
||||
|
||||
if (newAmount <= -100 && !GetTarget()->HasAura(SPELL_PARALYSIS))
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_PARALYSIS, true, nullptr, slowEff, GetCasterGUID());
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_PARALYSIS, { slowEff, GetCasterGUID() });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -318,7 +318,7 @@ struct boss_twin_baseAI : public BossAI
|
||||
break;
|
||||
case EVENT_TOUCH:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 200.0f, true, true, OtherEssenceSpellId))
|
||||
me->CastCustomSpell(TouchSpellId, SPELLVALUE_MAX_TARGETS, 1, target, false);
|
||||
me->CastSpell(target, TouchSpellId, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
events.ScheduleEvent(EVENT_TOUCH, urand(10 * IN_MILLISECONDS, 15 * IN_MILLISECONDS));
|
||||
break;
|
||||
case EVENT_BERSERK:
|
||||
|
||||
@@ -139,7 +139,7 @@ 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), true, nullptr, nullptr, me->GetGUID());
|
||||
trigger->CastSpell(trigger, RAND(SPELL_SUMMON_INVADER_A, SPELL_SUMMON_INVADER_B, SPELL_SUMMON_INVADER_C), me->GetGUID());
|
||||
|
||||
events.ScheduleEvent(EVENT_SPAWN, urand(30000, 40000));
|
||||
break;
|
||||
@@ -273,7 +273,7 @@ class spell_trollgore_corpse_explode : public SpellScriptLoader
|
||||
{
|
||||
if (aurEff->GetTickNumber() == 2)
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell(GetTarget(), SPELL_CORPSE_EXPLODE_DAMAGE, true, nullptr, aurEff);
|
||||
caster->CastSpell(GetTarget(), SPELL_CORPSE_EXPLODE_DAMAGE, aurEff);
|
||||
}
|
||||
|
||||
void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
|
||||
@@ -198,7 +198,7 @@ class boss_bronjahm : public CreatureScript
|
||||
me->CastSpell(me, SPELL_SOULSTORM, false);
|
||||
break;
|
||||
case EVENT_FEAR:
|
||||
me->CastCustomSpell(SPELL_FEAR, SPELLVALUE_MAX_TARGETS, 1, nullptr, false);
|
||||
me->CastSpell(nullptr, SPELL_FEAR, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
events.ScheduleEvent(EVENT_FEAR, urand(8000, 12000), 0, PHASE_2);
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -408,7 +408,7 @@ class spell_devourer_of_souls_mirrored_soul_proc : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
int32 damage = CalculatePct(static_cast<int32>(damageInfo->GetDamage()), 45);
|
||||
GetTarget()->CastCustomSpell(SPELL_MIRRORED_SOUL_DAMAGE, SPELLVALUE_BASE_POINT0, damage, GetCaster(), true);
|
||||
GetTarget()->CastSpell(GetCaster(), SPELL_MIRRORED_SOUL_DAMAGE, CastSpellExtraArgs(true).AddSpellBP0(damage));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -149,7 +149,7 @@ class spell_marwyn_shared_suffering : public SpellScriptLoader
|
||||
{
|
||||
int32 remainingDamage = aurEff->GetAmount() * (aurEff->GetTotalTicks() - aurEff->GetTickNumber());
|
||||
if (remainingDamage > 0)
|
||||
caster->CastCustomSpell(SPELL_SHARED_SUFFERING_DISPEL, SPELLVALUE_BASE_POINT1, remainingDamage, GetTarget(), TRIGGERED_FULL_MASK);
|
||||
caster->CastSpell(GetTarget(), SPELL_SHARED_SUFFERING_DISPEL, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_BASE_POINT1, remainingDamage));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -280,7 +280,7 @@ class boss_ick : public CreatureScript
|
||||
case EVENT_PURSUIT:
|
||||
if (Creature* krick = GetKrick())
|
||||
krick->AI()->Talk(SAY_KRICK_CHASE);
|
||||
me->CastCustomSpell(SPELL_PURSUIT, SPELLVALUE_MAX_TARGETS, 1, me);
|
||||
me->CastSpell(me, SPELL_PURSUIT, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -403,13 +403,13 @@ class player_overlord_brandAI : public PlayerAI
|
||||
{
|
||||
if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _tyrannusGUID))
|
||||
if (Unit* victim = tyrannus->GetVictim())
|
||||
me->CastCustomSpell(SPELL_OVERLORD_BRAND_DAMAGE, SPELLVALUE_BASE_POINT0, damage, victim, true, nullptr, nullptr, tyrannus->GetGUID());
|
||||
me->CastSpell(victim, SPELL_OVERLORD_BRAND_DAMAGE, CastSpellExtraArgs(tyrannus->GetGUID()).AddSpellBP0(damage));
|
||||
}
|
||||
|
||||
void HealDone(Unit* /*target*/, uint32& addHealth) override
|
||||
{
|
||||
if (Creature* tyrannus = ObjectAccessor::GetCreature(*me, _tyrannusGUID))
|
||||
me->CastCustomSpell(SPELL_OVERLORD_BRAND_HEAL, SPELLVALUE_BASE_POINT0, int32(addHealth * 5.5f), tyrannus, true, nullptr, nullptr, tyrannus->GetGUID());
|
||||
me->CastSpell(tyrannus, SPELL_OVERLORD_BRAND_HEAL, CastSpellExtraArgs(tyrannus->GetGUID()).AddSpellBP0(int32(addHealth * 5.5f)));
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 /*diff*/) override { }
|
||||
|
||||
@@ -232,7 +232,7 @@ class spell_moorabi_mojo_frenzy : public SpellScriptLoader
|
||||
|
||||
Unit* owner = GetUnitOwner();
|
||||
int32 castSpeedBonus = (100.0f - owner->GetHealthPct()) * 4; // between 0% and 400% cast speed bonus
|
||||
owner->CastCustomSpell(SPELL_MOJO_FRENZY_CAST_SPEED, SPELLVALUE_BASE_POINT0, castSpeedBonus, owner, true);
|
||||
owner->CastSpell(owner, SPELL_MOJO_FRENZY_CAST_SPEED, CastSpellExtraArgs(true).AddSpellBP0(castSpeedBonus));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -806,7 +806,7 @@ class boss_prince_valanar_icc : public CreatureScript
|
||||
{
|
||||
case NPC_KINETIC_BOMB_TARGET:
|
||||
summon->SetReactState(REACT_PASSIVE);
|
||||
summon->CastSpell(summon, SPELL_KINETIC_BOMB, true, nullptr, nullptr, me->GetGUID());
|
||||
summon->CastSpell(summon, SPELL_KINETIC_BOMB, me->GetGUID());
|
||||
break;
|
||||
case NPC_KINETIC_BOMB:
|
||||
{
|
||||
@@ -1450,7 +1450,7 @@ class spell_blood_council_shadow_prison : public SpellScriptLoader
|
||||
void HandleDummyTick(AuraEffect const* aurEff)
|
||||
{
|
||||
if (GetTarget()->isMoving())
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_SHADOW_PRISON_DAMAGE, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_SHADOW_PRISON_DAMAGE, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -663,7 +663,7 @@ class spell_blood_queen_essence_of_the_blood_queen : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
int32 heal = CalculatePct(static_cast<int32>(damageInfo->GetDamage()), aurEff->GetAmount());
|
||||
GetTarget()->CastCustomSpell(SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_HEAL, SPELLVALUE_BASE_POINT0, heal, GetTarget(), TRIGGERED_FULL_MASK, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_ESSENCE_OF_THE_BLOOD_QUEEN_HEAL, CastSpellExtraArgs(aurEff).AddSpellBP0(heal));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -743,7 +743,7 @@ class spell_blood_queen_pact_of_the_darkfallen_dmg : public SpellScriptLoader
|
||||
int32 damage = damageSpell->Effects[EFFECT_0].CalcValue();
|
||||
float multiplier = 0.3375f + 0.1f * uint32(aurEff->GetTickNumber()/10); // do not convert to 0.01f - we need tick number/10 as INT (damage increases every 10 ticks)
|
||||
damage = int32(damage * multiplier);
|
||||
GetTarget()->CastCustomSpell(SPELL_PACT_OF_THE_DARKFALLEN_DAMAGE, SPELLVALUE_BASE_POINT0, damage, GetTarget(), true);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_PACT_OF_THE_DARKFALLEN_DAMAGE, CastSpellExtraArgs(true).AddSpellBP0(damage));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -435,7 +435,7 @@ class boss_deathbringer_saurfang : public CreatureScript
|
||||
case 72445:
|
||||
case 72446:
|
||||
if (me->GetPower(POWER_ENERGY) != me->GetMaxPower(POWER_ENERGY))
|
||||
target->CastCustomSpell(SPELL_BLOOD_LINK_DUMMY, SPELLVALUE_BASE_POINT0, 1, (Unit*)nullptr, true);
|
||||
target->CastSpell(nullptr, SPELL_BLOOD_LINK_DUMMY, CastSpellExtraArgs(true).AddSpellBP0(1));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -1044,7 +1044,7 @@ class spell_deathbringer_blood_link : public SpellScriptLoader
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastCustomSpell(SPELL_BLOOD_LINK_POWER, SPELLVALUE_BASE_POINT0, GetEffectValue(), GetHitUnit(), true);
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_BLOOD_LINK_POWER, CastSpellExtraArgs(true).AddSpellBP0(GetEffectValue()));
|
||||
PreventHitDefaultEffect(EFFECT_0);
|
||||
}
|
||||
|
||||
@@ -1152,7 +1152,7 @@ class spell_deathbringer_rune_of_blood : public SpellScriptLoader
|
||||
void HandleScript(SpellEffIndex effIndex)
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex); // make this the default handler
|
||||
GetHitUnit()->CastCustomSpell(SPELL_BLOOD_LINK_DUMMY, SPELLVALUE_BASE_POINT0, 1, (Unit*)nullptr, true);
|
||||
GetHitUnit()->CastSpell(nullptr, SPELL_BLOOD_LINK_DUMMY, CastSpellExtraArgs(true).AddSpellBP0(1));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1183,7 +1183,7 @@ class spell_deathbringer_blood_beast_blood_link : public SpellScriptLoader
|
||||
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
eventInfo.GetProcTarget()->CastCustomSpell(SPELL_BLOOD_LINK_DUMMY, SPELLVALUE_BASE_POINT0, 3, (Unit*)nullptr, true, nullptr, aurEff);
|
||||
eventInfo.GetProcTarget()->CastSpell(nullptr, SPELL_BLOOD_LINK_DUMMY, CastSpellExtraArgs(aurEff).AddSpellBP0(3));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1213,7 +1213,7 @@ class spell_deathbringer_blood_nova : public SpellScriptLoader
|
||||
void HandleScript(SpellEffIndex effIndex)
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex); // make this the default handler
|
||||
GetHitUnit()->CastCustomSpell(SPELL_BLOOD_LINK_DUMMY, SPELLVALUE_BASE_POINT0, 2, (Unit*)nullptr, true);
|
||||
GetHitUnit()->CastSpell(nullptr, SPELL_BLOOD_LINK_DUMMY, CastSpellExtraArgs(true).AddSpellBP0(2));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -201,7 +201,7 @@ 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], true, nullptr, nullptr, me->GetGUID());
|
||||
me->CastSpell(me, gaseousBlight[_inhaleCounter], me->GetGUID());
|
||||
}
|
||||
|
||||
events.ScheduleEvent(EVENT_INHALE_BLIGHT, urand(33500, 35000));
|
||||
@@ -236,7 +236,7 @@ class boss_festergut : public CreatureScript
|
||||
case EVENT_GAS_SPORE:
|
||||
Talk(EMOTE_WARN_GAS_SPORE);
|
||||
Talk(EMOTE_GAS_SPORE);
|
||||
me->CastCustomSpell(SPELL_GAS_SPORE, SPELLVALUE_MAX_TARGETS, RAID_MODE<int32>(2, 3, 2, 3), me);
|
||||
me->CastSpell(me, SPELL_GAS_SPORE, { SPELLVALUE_MAX_TARGETS, RAID_MODE<int32>(2, 3, 2, 3) });
|
||||
events.ScheduleEvent(EVENT_GAS_SPORE, urand(40000, 45000));
|
||||
events.RescheduleEvent(EVENT_VILE_GAS, urand(28000, 35000));
|
||||
break;
|
||||
|
||||
@@ -1823,7 +1823,8 @@ class spell_igb_rocket_pack : public SpellScriptLoader
|
||||
void HandleRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
SpellInfo const* damageInfo = sSpellMgr->AssertSpellInfo(SPELL_ROCKET_PACK_DAMAGE);
|
||||
GetTarget()->CastCustomSpell(SPELL_ROCKET_PACK_DAMAGE, SPELLVALUE_BASE_POINT0, 2 * (damageInfo->Effects[EFFECT_0].CalcValue() + aurEff->GetTickNumber() * aurEff->GetPeriodic()), nullptr, TRIGGERED_FULL_MASK);
|
||||
int32 bp = 2 * (damageInfo->Effects[EFFECT_0].CalcValue() + aurEff->GetTickNumber() * aurEff->GetPeriodic());
|
||||
GetTarget()->CastSpell(nullptr, SPELL_ROCKET_PACK_DAMAGE, CastSpellExtraArgs(true).AddSpellBP0(bp));
|
||||
GetTarget()->CastSpell(nullptr, SPELL_ROCKET_BURST, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
@@ -2195,7 +2196,7 @@ class spell_igb_burning_pitch : public SpellScriptLoader
|
||||
void HandleDummy(SpellEffIndex effIndex)
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex);
|
||||
GetCaster()->CastCustomSpell(uint32(GetEffectValue()), SPELLVALUE_BASE_POINT0, 8000, nullptr, TRIGGERED_FULL_MASK);
|
||||
GetCaster()->CastSpell(nullptr, uint32(GetEffectValue()), CastSpellExtraArgs(true).AddSpellBP0(8000));
|
||||
GetHitUnit()->CastSpell(GetHitUnit(), SPELL_BURNING_PITCH, TRIGGERED_FULL_MASK);
|
||||
}
|
||||
|
||||
@@ -2257,7 +2258,7 @@ class spell_igb_rocket_artillery_explosion : public SpellScriptLoader
|
||||
void DamageGunship(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
|
||||
GetCaster()->CastCustomSpell(instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_BURNING_PITCH_DAMAGE_A : SPELL_BURNING_PITCH_DAMAGE_H, SPELLVALUE_BASE_POINT0, 5000, nullptr, TRIGGERED_FULL_MASK);
|
||||
GetCaster()->CastSpell(nullptr, instance->GetData(DATA_TEAM_IN_INSTANCE) == HORDE ? SPELL_BURNING_PITCH_DAMAGE_A : SPELL_BURNING_PITCH_DAMAGE_H, CastSpellExtraArgs(true).AddSpellBP0(5000));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -368,7 +368,7 @@ class boss_lady_deathwhisper : public CreatureScript
|
||||
})
|
||||
.Schedule(Seconds(12), GROUP_TWO, [this](TaskContext summonShade)
|
||||
{
|
||||
me->CastCustomSpell(SPELL_SUMMON_SPIRITS, SPELLVALUE_MAX_TARGETS, Is25ManRaid() ? 2 : 1);
|
||||
me->CastSpell(nullptr, SPELL_SUMMON_SPIRITS, { SPELLVALUE_MAX_TARGETS, Is25ManRaid() ? 2 : 1 });
|
||||
summonShade.Repeat();
|
||||
});
|
||||
|
||||
|
||||
@@ -382,7 +382,7 @@ class boss_professor_putricide : public CreatureScript
|
||||
me->SetSpeedRate(MOVE_RUN, _baseSpeed);
|
||||
DoAction(ACTION_FESTERGUT_GAS);
|
||||
if (Creature* festergut = ObjectAccessor::GetCreature(*me, instance->GetGuidData(DATA_FESTERGUT)))
|
||||
festergut->CastSpell(festergut, SPELL_GASEOUS_BLIGHT_LARGE, false, nullptr, nullptr, festergut->GetGUID());
|
||||
festergut->CastSpell(festergut, SPELL_GASEOUS_BLIGHT_LARGE, CastSpellExtraArgs().SetOriginalCaster(festergut->GetGUID()));
|
||||
break;
|
||||
case POINT_ROTFACE:
|
||||
instance->SetBossState(DATA_ROTFACE, IN_PROGRESS); // needed here for delayed gate close
|
||||
@@ -479,7 +479,7 @@ 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], true, nullptr, nullptr, me->GetGUID()); // cast from self for LoS (with prof's GUID for logs)
|
||||
dummy->CastSpell(dummy, oozeFloodSpells[_oozeFloodStage], me->GetGUID()); // cast from self for LoS (with prof's GUID for logs)
|
||||
if (++_oozeFloodStage == 4)
|
||||
_oozeFloodStage = 0;
|
||||
break;
|
||||
@@ -588,7 +588,7 @@ class boss_professor_putricide : public CreatureScript
|
||||
EnterEvadeMode();
|
||||
break;
|
||||
case EVENT_FESTERGUT_GOO:
|
||||
me->CastCustomSpell(SPELL_MALLEABLE_GOO_SUMMON, SPELLVALUE_MAX_TARGETS, 1, nullptr, true);
|
||||
me->CastSpell(nullptr, SPELL_MALLEABLE_GOO_SUMMON, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1));
|
||||
events.ScheduleEvent(EVENT_FESTERGUT_GOO, (Is25ManRaid() ? 10000 : 30000) + urand(0, 5000), 0, PHASE_FESTERGUT);
|
||||
break;
|
||||
case EVENT_ROTFACE_DIES:
|
||||
@@ -822,7 +822,7 @@ class npc_gas_cloud : public CreatureScript
|
||||
|
||||
void CastMainSpell() override
|
||||
{
|
||||
me->CastCustomSpell(SPELL_GASEOUS_BLOAT, SPELLVALUE_AURA_STACK, 10, me, false);
|
||||
me->CastSpell(me, SPELL_GASEOUS_BLOAT, { SPELLVALUE_AURA_STACK, 10 });
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -849,7 +849,7 @@ class spell_putricide_gaseous_bloat : public SpellScriptLoader
|
||||
{
|
||||
target->RemoveAuraFromStack(GetSpellInfo()->Id, GetCasterGUID());
|
||||
if (!target->HasAura(GetId()))
|
||||
caster->CastCustomSpell(SPELL_GASEOUS_BLOAT, SPELLVALUE_AURA_STACK, 10, caster, false);
|
||||
caster->CastSpell(caster, SPELL_GASEOUS_BLOAT, { SPELLVALUE_AURA_STACK, 10 });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -863,7 +863,7 @@ class spell_putricide_gaseous_bloat : public SpellScriptLoader
|
||||
for (uint8 i = 1; i <= stack; ++i)
|
||||
dmg += mod * i;
|
||||
|
||||
caster->CastCustomSpell(SPELL_EXPUNGED_GAS, SPELLVALUE_BASE_POINT0, dmg);
|
||||
caster->CastSpell(nullptr, SPELL_EXPUNGED_GAS, { SPELLVALUE_BASE_POINT0, dmg });
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1104,7 +1104,7 @@ class spell_putricide_ooze_tank_protection : public SpellScriptLoader
|
||||
PreventDefaultAction();
|
||||
|
||||
Unit* actionTarget = eventInfo.GetActionTarget();
|
||||
actionTarget->CastSpell((Unit*)nullptr, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, true, nullptr, aurEff);
|
||||
actionTarget->CastSpell(nullptr, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -1136,7 +1136,7 @@ class spell_putricide_choking_gas_bomb : public SpellScriptLoader
|
||||
continue;
|
||||
|
||||
uint32 spellId = uint32(GetSpellInfo()->Effects[i].CalcValue());
|
||||
GetCaster()->CastSpell(GetCaster(), spellId, true, nullptr, nullptr, GetCaster()->GetGUID());
|
||||
GetCaster()->CastSpell(GetCaster(), spellId, GetCaster()->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1298,8 +1298,7 @@ class spell_putricide_mutated_plague : public SpellScriptLoader
|
||||
|
||||
damage *= int32(pow(multiplier, GetStackAmount()));
|
||||
damage = int32(damage * 1.5f);
|
||||
|
||||
GetTarget()->CastCustomSpell(triggerSpell, SPELLVALUE_BASE_POINT0, damage, GetTarget(), true, nullptr, aurEff, GetCasterGUID());
|
||||
GetTarget()->CastSpell(GetTarget(), triggerSpell, CastSpellExtraArgs(aurEff).SetOriginalCaster(GetCasterGUID()).AddSpellBP0(damage));
|
||||
}
|
||||
|
||||
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
@@ -1311,7 +1310,7 @@ class spell_putricide_mutated_plague : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
int32 heal = healSpellInfo->Effects[0].CalcValue() * GetStackAmount();
|
||||
GetTarget()->CastCustomSpell(healSpell, SPELLVALUE_BASE_POINT0, heal, GetTarget(), true, nullptr, nullptr, GetCasterGUID());
|
||||
GetTarget()->CastSpell(GetTarget(), healSpell, CastSpellExtraArgs(GetCasterGUID()).AddSpellBP0(heal));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -472,7 +472,7 @@ class spell_rotface_ooze_flood : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
triggers.sort(Trinity::ObjectDistanceOrderPred(GetHitUnit()));
|
||||
GetHitUnit()->CastSpell(triggers.back(), uint32(GetEffectValue()), false, nullptr, nullptr, GetOriginalCaster() ? GetOriginalCaster()->GetGUID() : ObjectGuid::Empty);
|
||||
GetHitUnit()->CastSpell(triggers.back(), uint32(GetEffectValue()), GetOriginalCaster() ? GetOriginalCaster()->GetGUID() : ObjectGuid::Empty);
|
||||
}
|
||||
|
||||
void FilterTargets(std::list<WorldObject*>& targets)
|
||||
@@ -545,7 +545,7 @@ class spell_rotface_mutated_infection : public SpellScriptLoader
|
||||
void HandleEffectRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
Unit* target = GetTarget();
|
||||
target->CastSpell(target, uint32(GetSpellInfo()->Effects[EFFECT_2].CalcValue()), true, nullptr, aurEff, GetCasterGUID());
|
||||
target->CastSpell(target, uint32(GetSpellInfo()->Effects[EFFECT_2].CalcValue()), { aurEff, GetCasterGUID() });
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -667,7 +667,7 @@ class spell_rotface_large_ooze_buff_combine : public SpellScriptLoader
|
||||
|
||||
if (Creature* cre = GetCaster()->ToCreature())
|
||||
cre->AI()->DoAction(EVENT_STICKY_OOZE);
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_UNSTABLE_OOZE_EXPLOSION, false, nullptr, nullptr, GetCaster()->GetGUID());
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_UNSTABLE_OOZE_EXPLOSION, CastSpellExtraArgs(false).SetOriginalCaster(GetCaster()->GetGUID()));
|
||||
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
|
||||
instance->SetData(DATA_OOZE_DANCE_ACHIEVEMENT, uint32(false));
|
||||
}
|
||||
@@ -744,7 +744,7 @@ 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, true, nullptr, nullptr, GetCaster()->GetGUID());
|
||||
rotface->CastSpell({ x, y, z }, triggered_spell_id, GetCaster()->GetGUID());
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -194,7 +194,7 @@ class FrostBombExplosion : public BasicEvent
|
||||
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*updateTime*/) override
|
||||
{
|
||||
_owner->CastSpell((Unit*)nullptr, SPELL_FROST_BOMB, false, nullptr, nullptr, _sindragosaGUID);
|
||||
_owner->CastSpell(nullptr, SPELL_FROST_BOMB, CastSpellExtraArgs().SetOriginalCaster(_sindragosaGUID));
|
||||
_owner->RemoveAurasDueToSpell(SPELL_FROST_BOMB_VISUAL);
|
||||
return true;
|
||||
}
|
||||
@@ -370,7 +370,7 @@ class boss_sindragosa : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_AIR_MOVEMENT, 1);
|
||||
break;
|
||||
case POINT_AIR_PHASE:
|
||||
me->CastCustomSpell(SPELL_ICE_TOMB_TARGET, SPELLVALUE_MAX_TARGETS, RAID_MODE<int32>(2, 5, 2, 6), nullptr, TRIGGERED_FULL_MASK);
|
||||
me->CastSpell(nullptr, SPELL_ICE_TOMB_TARGET, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_MAX_TARGETS, RAID_MODE<int32>(2, 5, 2, 6)));
|
||||
me->SetFacingTo(float(M_PI), true);
|
||||
events.ScheduleEvent(EVENT_AIR_MOVEMENT_FAR, 1);
|
||||
events.ScheduleEvent(EVENT_FROST_BOMB, 9000);
|
||||
@@ -507,7 +507,7 @@ class boss_sindragosa : public CreatureScript
|
||||
me->GetMotionMaster()->MovePoint(POINT_AIR_PHASE_FAR, SindragosaAirPosFar);
|
||||
break;
|
||||
case EVENT_ICE_TOMB:
|
||||
me->CastCustomSpell(SPELL_ICE_TOMB_TARGET, SPELLVALUE_MAX_TARGETS, 1, nullptr, TRIGGERED_FULL_MASK);
|
||||
me->CastSpell(nullptr, SPELL_ICE_TOMB_TARGET, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1));
|
||||
events.ScheduleEvent(EVENT_ICE_TOMB, urand(16000, 23000));
|
||||
break;
|
||||
case EVENT_FROST_BOMB:
|
||||
@@ -517,7 +517,7 @@ class boss_sindragosa : public CreatureScript
|
||||
destY = float(rand_norm()) * 75.0f + 2450.0f;
|
||||
destZ = 205.0f; // random number close to ground, get exact in next call
|
||||
me->UpdateGroundPositionZ(destX, destY, destZ);
|
||||
me->CastSpell(destX, destY, destZ, SPELL_FROST_BOMB_TRIGGER, false);
|
||||
me->CastSpell({ destX, destY, destZ }, SPELL_FROST_BOMB_TRIGGER);
|
||||
events.ScheduleEvent(EVENT_FROST_BOMB, urand(6000, 8000));
|
||||
break;
|
||||
}
|
||||
@@ -1236,7 +1236,7 @@ class spell_sindragosa_instability : public SpellScriptLoader
|
||||
void OnRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
if (GetTargetApplication()->GetRemoveMode().HasFlag(AuraRemoveFlags::Expired))
|
||||
GetTarget()->CastCustomSpell(SPELL_BACKLASH, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, nullptr, aurEff, GetCasterGUID());
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_BACKLASH, CastSpellExtraArgs().SetOriginalCaster(GetCasterGUID()).AddSpellBP0(aurEff->GetAmount()).SetTriggeringAura(aurEff));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -470,7 +470,7 @@ class TriggerWickedSpirit : public BasicEvent
|
||||
|
||||
bool Execute(uint64 /*time*/, uint32 /*diff*/) override
|
||||
{
|
||||
_owner->CastCustomSpell(SPELL_TRIGGER_VILE_SPIRIT_HEROIC, SPELLVALUE_MAX_TARGETS, 1, nullptr, true);
|
||||
_owner->CastSpell(nullptr, SPELL_TRIGGER_VILE_SPIRIT_HEROIC, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1));
|
||||
|
||||
if (--_counter)
|
||||
{
|
||||
@@ -2105,11 +2105,8 @@ class spell_the_lich_king_necrotic_plague : public SpellScriptLoader
|
||||
{
|
||||
if (!GetTargetApplication()->GetRemoveMode().HasFlag(AuraRemoveFlags::ByEnemySpell | AuraRemoveFlags::Expired | AuraRemoveFlags::ByDeath))
|
||||
return;
|
||||
|
||||
CustomSpellValues values;
|
||||
//values.AddSpellMod(SPELLVALUE_AURA_STACK, 2);
|
||||
values.AddSpellMod(SPELLVALUE_MAX_TARGETS, 1);
|
||||
GetTarget()->CastCustomSpell(SPELL_NECROTIC_PLAGUE_JUMP, values, nullptr, TRIGGERED_FULL_MASK, nullptr, nullptr, GetCasterGUID());
|
||||
//args.AddSpellMod(SPELLVALUE_AURA_STACK, 2);
|
||||
GetTarget()->CastSpell(nullptr, SPELL_NECROTIC_PLAGUE_JUMP, CastSpellExtraArgs(GetCasterGUID()).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1));
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell(caster, SPELL_PLAGUE_SIPHON, true);
|
||||
}
|
||||
@@ -2193,9 +2190,7 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
|
||||
|
||||
if (GetTargetApplication()->GetRemoveMode().HasFlag(AuraRemoveFlags::Expired | AuraRemoveFlags::ByDeath))
|
||||
{
|
||||
CustomSpellValues values;
|
||||
values.AddSpellMod(SPELLVALUE_AURA_STACK, GetStackAmount());
|
||||
GetTarget()->CastCustomSpell(SPELL_NECROTIC_PLAGUE_JUMP, values, nullptr, TRIGGERED_FULL_MASK, nullptr, nullptr, GetCasterGUID());
|
||||
GetTarget()->CastSpell(nullptr, SPELL_NECROTIC_PLAGUE_JUMP, CastSpellExtraArgs(GetCasterGUID()).AddSpellMod(SPELLVALUE_AURA_STACK, GetStackAmount()));
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell(caster, SPELL_PLAGUE_SIPHON, true);
|
||||
}
|
||||
@@ -2212,10 +2207,10 @@ class spell_the_lich_king_necrotic_plague_jump : public SpellScriptLoader
|
||||
if (aurEff->GetAmount() > _lastAmount)
|
||||
return;
|
||||
|
||||
CustomSpellValues values;
|
||||
values.AddSpellMod(SPELLVALUE_AURA_STACK, GetStackAmount());
|
||||
values.AddSpellMod(SPELLVALUE_BASE_POINT1, static_cast<uint32>(AuraRemoveFlags::ByEnemySpell)); // add as marker (spell has no effect 1)
|
||||
GetTarget()->CastCustomSpell(SPELL_NECROTIC_PLAGUE_JUMP, values, nullptr, TRIGGERED_FULL_MASK, nullptr, nullptr, GetCasterGUID());
|
||||
CastSpellExtraArgs args(GetCasterGUID());
|
||||
args.AddSpellMod(SPELLVALUE_AURA_STACK, GetStackAmount());
|
||||
args.AddSpellMod(SPELLVALUE_BASE_POINT1, static_cast<uint32>(AuraRemoveFlags::ByEnemySpell)); // add as marker (spell has no effect 1)
|
||||
GetTarget()->CastSpell(nullptr, SPELL_NECROTIC_PLAGUE_JUMP, args);
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell(caster, SPELL_PLAGUE_SIPHON, true);
|
||||
|
||||
@@ -2606,7 +2601,7 @@ class spell_the_lich_king_life_siphon : public SpellScriptLoader
|
||||
|
||||
void TriggerHeal()
|
||||
{
|
||||
GetHitUnit()->CastCustomSpell(SPELL_LIFE_SIPHON_HEAL, SPELLVALUE_BASE_POINT0, GetHitDamage() * 10, GetCaster(), true);
|
||||
GetHitUnit()->CastSpell(GetCaster(), SPELL_LIFE_SIPHON_HEAL, CastSpellExtraArgs(true).AddSpellBP0(GetHitDamage() * 10));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2644,7 +2639,7 @@ class spell_the_lich_king_vile_spirits : public SpellScriptLoader
|
||||
void OnPeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
if (_is25Man || ((aurEff->GetTickNumber() - 1) % 5))
|
||||
GetTarget()->CastSpell((Unit*)nullptr, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, true, nullptr, aurEff, GetCasterGUID());
|
||||
GetTarget()->CastSpell(nullptr, GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell, CastSpellExtraArgs(aurEff).SetOriginalCaster(GetCasterGUID()));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2794,7 +2789,7 @@ class spell_the_lich_king_harvest_soul : public SpellScriptLoader
|
||||
{
|
||||
// m_originalCaster to allow stacking from different casters, meh
|
||||
if (GetTargetApplication()->GetRemoveMode().HasFlag(AuraRemoveFlags::ByDeath))
|
||||
GetTarget()->CastSpell((Unit*)nullptr, SPELL_HARVESTED_SOUL, true, nullptr, nullptr, GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING));
|
||||
GetTarget()->CastSpell(nullptr, SPELL_HARVESTED_SOUL, GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2856,7 +2851,7 @@ class spell_the_lich_king_soul_rip : public SpellScriptLoader
|
||||
PreventDefaultAction();
|
||||
// shouldn't be needed, this is channeled
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastCustomSpell(SPELL_SOUL_RIP_DAMAGE, SPELLVALUE_BASE_POINT0, 5000 * aurEff->GetTickNumber(), GetTarget(), true, nullptr, aurEff, GetCasterGUID());
|
||||
caster->CastSpell(GetTarget(), SPELL_SOUL_RIP_DAMAGE, CastSpellExtraArgs(aurEff).SetOriginalCaster(GetCasterGUID()).AddSpellBP0(5000 * aurEff->GetTickNumber()));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2949,7 +2944,7 @@ class spell_the_lich_king_dark_hunger : public SpellScriptLoader
|
||||
return;
|
||||
|
||||
int32 heal = static_cast<int32>(damageInfo->GetDamage()) / 2;
|
||||
GetTarget()->CastCustomSpell(SPELL_DARK_HUNGER_HEAL, SPELLVALUE_BASE_POINT0, heal, GetTarget(), true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_DARK_HUNGER_HEAL, CastSpellExtraArgs(aurEff).AddSpellBP0(heal));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2980,7 +2975,7 @@ class spell_the_lich_king_in_frostmourne_room : public SpellScriptLoader
|
||||
{
|
||||
// m_originalCaster to allow stacking from different casters, meh
|
||||
if (GetTargetApplication()->GetRemoveMode().HasFlag(AuraRemoveFlags::ByDeath))
|
||||
GetTarget()->CastSpell((Unit*)nullptr, SPELL_HARVESTED_SOUL, true, nullptr, nullptr, GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING));
|
||||
GetTarget()->CastSpell((Unit*)nullptr, SPELL_HARVESTED_SOUL, GetTarget()->GetInstanceScript()->GetGuidData(DATA_THE_LICH_KING));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -720,7 +720,7 @@ class boss_sister_svalna : public CreatureScript
|
||||
switch (action)
|
||||
{
|
||||
case ACTION_KILL_CAPTAIN:
|
||||
me->CastCustomSpell(SPELL_CARESS_OF_DEATH, SPELLVALUE_MAX_TARGETS, 1, me, true);
|
||||
me->CastSpell(me, SPELL_CARESS_OF_DEATH, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1));
|
||||
break;
|
||||
case ACTION_START_GAUNTLET:
|
||||
me->setActive(true);
|
||||
@@ -777,7 +777,7 @@ class boss_sister_svalna : public CreatureScript
|
||||
if (TempSummon* summon = target->SummonCreature(NPC_IMPALING_SPEAR, *target))
|
||||
{
|
||||
Talk(EMOTE_SVALNA_IMPALE, target);
|
||||
summon->CastCustomSpell(VEHICLE_SPELL_RIDE_HARDCODED, SPELLVALUE_BASE_POINT0, 1, target, false);
|
||||
summon->CastSpell(target, VEHICLE_SPELL_RIDE_HARDCODED, { SPELLVALUE_BASE_POINT0, 1 });
|
||||
summon->SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_UNK1 | UNIT_FLAG2_ALLOW_ENEMY_INTERACT);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "Player.h"
|
||||
#include "ScriptedGossip.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellMgr.h"
|
||||
|
||||
static std::vector<uint32> const TeleportSpells =
|
||||
@@ -64,7 +65,7 @@ class icecrown_citadel_teleport : public GameObjectScript
|
||||
return true;
|
||||
}
|
||||
|
||||
player->CastSpell(player, spell, true);
|
||||
player->CastSpell(player, spell->Id, true);
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -138,7 +138,7 @@ public:
|
||||
void KilledUnit(Unit* victim) override
|
||||
{
|
||||
if (victim->GetTypeId() == TYPEID_PLAYER)
|
||||
victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCARABS_PLR, true, nullptr, nullptr, me->GetGUID());
|
||||
victim->CastSpell(victim, SPELL_SUMMON_CORPSE_SCARABS_PLR, me->GetGUID());
|
||||
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
@@ -194,7 +194,7 @@ public:
|
||||
if (ObjectGuid target = Trinity::Containers::SelectRandomContainerElement(guardCorpses))
|
||||
if (Creature* creatureTarget = ObjectAccessor::GetCreature(*me, target))
|
||||
{
|
||||
creatureTarget->CastSpell(creatureTarget, SPELL_SUMMON_CORPSE_SCARABS_MOB, true, nullptr, nullptr, me->GetGUID());
|
||||
creatureTarget->CastSpell(creatureTarget, SPELL_SUMMON_CORPSE_SCARABS_MOB, me->GetGUID());
|
||||
creatureTarget->AI()->Talk(EMOTE_SCARAB);
|
||||
creatureTarget->DespawnOrUnsummon();
|
||||
}
|
||||
|
||||
@@ -727,7 +727,7 @@ class spell_four_horsemen_mark : public SpellScriptLoader
|
||||
break;
|
||||
}
|
||||
if (damage)
|
||||
caster->CastCustomSpell(SPELL_MARK_DAMAGE, SPELLVALUE_BASE_POINT0, damage, GetTarget());
|
||||
caster->CastSpell(GetTarget(), SPELL_MARK_DAMAGE, { SPELLVALUE_BASE_POINT0, damage });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -311,7 +311,7 @@ public:
|
||||
{
|
||||
int32 damage = int32(unit->GetHealth()) - int32(unit->CountPctFromMaxHealth(5));
|
||||
if (damage > 0)
|
||||
GetCaster()->CastCustomSpell(SPELL_DECIMATE_DMG, SPELLVALUE_BASE_POINT0, damage, unit);
|
||||
GetCaster()->CastSpell(unit, SPELL_DECIMATE_DMG, { SPELLVALUE_BASE_POINT0, damage });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ class spell_grobbulus_mutating_injection : public SpellScriptLoader
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
caster->CastSpell(GetTarget(), SPELL_MUTATING_EXPLOSION, true);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_POISON_CLOUD, true, nullptr, aurEff, GetCasterGUID());
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_POISON_CLOUD, CastSpellExtraArgs(aurEff).SetOriginalCaster(GetCasterGUID()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ class spell_grobbulus_poison_cloud : public SpellScriptLoader
|
||||
|
||||
uint32 triggerSpell = GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell;
|
||||
int32 mod = int32(((float(aurEff->GetTickNumber()) / aurEff->GetTotalTicks()) * 0.9f + 0.1f) * 10000 * 2 / 3);
|
||||
GetTarget()->CastCustomSpell(triggerSpell, SPELLVALUE_RADIUS_MOD, mod, (Unit*)nullptr, TRIGGERED_FULL_MASK, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(nullptr, triggerSpell, CastSpellExtraArgs(aurEff).AddSpellMod(SPELLVALUE_RADIUS_MOD, mod));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -934,7 +934,7 @@ public:
|
||||
if (int32 mana = int32(target->GetMaxPower(POWER_MANA) / 10))
|
||||
{
|
||||
mana = target->ModifyPower(POWER_MANA, -mana);
|
||||
target->CastCustomSpell(SPELL_MANA_DETONATION_DAMAGE, SPELLVALUE_BASE_POINT0, -mana * 10, target, true, nullptr, aurEff);
|
||||
target->CastSpell(target, SPELL_MANA_DETONATION_DAMAGE, CastSpellExtraArgs(aurEff).AddSpellBP0(int32(-mana * 10)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -179,7 +179,7 @@ class spell_loatheb_deathbloom : public SpellScriptLoader
|
||||
if (!GetTargetApplication()->GetRemoveMode().HasFlag(AuraRemoveFlags::Expired))
|
||||
return;
|
||||
|
||||
GetTarget()->CastSpell(nullptr, SPELL_DEATHBLOOM_FINAL_DAMAGE, true, nullptr, eff, GetCasterGUID());
|
||||
GetTarget()->CastSpell(nullptr, SPELL_DEATHBLOOM_FINAL_DAMAGE, { eff, GetCasterGUID() });
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -215,7 +215,7 @@ 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, true, nullptr, nullptr, me->GetGUID());
|
||||
victim->CastSpell(victim, SPELL_WEB_WRAP, me->GetGUID());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -755,13 +755,13 @@ public:
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_START_FIRST_RANDOM_PORTAL:
|
||||
me->CastCustomSpell(SPELL_RANDOM_PORTAL, SPELLVALUE_MAX_TARGETS, 1);
|
||||
me->CastSpell(nullptr, SPELL_RANDOM_PORTAL, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
break;
|
||||
case EVENT_STOP_PORTAL_BEAM:
|
||||
me->InterruptNonMeleeSpells(true);
|
||||
break;
|
||||
case EVENT_RANDOM_PORTAL:
|
||||
me->CastCustomSpell(SPELL_RANDOM_PORTAL, SPELLVALUE_MAX_TARGETS, 1);
|
||||
me->CastSpell(nullptr, SPELL_RANDOM_PORTAL, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
break;
|
||||
case EVENT_LAND_START_ENCOUNTER:
|
||||
if (GameObject* iris = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(DATA_FOCUSING_IRIS_GUID)))
|
||||
@@ -1986,7 +1986,7 @@ class spell_scion_of_eternity_arcane_barrage : public SpellScriptLoader
|
||||
void TriggerDamageSpellFromPlayer()
|
||||
{
|
||||
if (Player* hitTarget = GetHitPlayer())
|
||||
hitTarget->CastSpell(hitTarget, SPELL_ARCANE_BARRAGE_DAMAGE, true, nullptr, nullptr, GetCaster()->GetGUID());
|
||||
hitTarget->CastSpell(hitTarget, SPELL_ARCANE_BARRAGE_DAMAGE, GetCaster()->GetGUID());
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -201,7 +201,7 @@ public:
|
||||
summoned->GetMotionMaster()->MoveFollow(target, 0.0f, 0.0f);
|
||||
|
||||
// Why healing when just summoned?
|
||||
summoned->CastSpell(summoned, SPELL_HEAT, false, nullptr, nullptr, me->GetGUID());
|
||||
summoned->CastSpell(summoned, SPELL_HEAT, CastSpellExtraArgs(false).SetOriginalCaster(me->GetGUID()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -787,7 +787,7 @@ class spell_assembly_rune_of_summoning : public AuraScript
|
||||
void HandlePeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_RUNE_OF_SUMMONING_SUMMON, true, nullptr, aurEff, GetTarget()->IsSummon() ? GetTarget()->ToTempSummon()->GetSummonerGUID() : ObjectGuid::Empty);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_RUNE_OF_SUMMONING_SUMMON, { aurEff, GetTarget()->IsSummon() ? GetTarget()->ToTempSummon()->GetSummonerGUID() : ObjectGuid::Empty });
|
||||
}
|
||||
|
||||
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
|
||||
@@ -1039,7 +1039,7 @@ public:
|
||||
{
|
||||
if (Creature* trigger = DoSummonFlyer(NPC_MIMIRON_TARGET_BEACON, me, 20, 0, 1000, TEMPSUMMON_TIMED_DESPAWN))
|
||||
{
|
||||
trigger->CastSpell(me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), SPELL_MIMIRON_S_INFERNO, true);
|
||||
trigger->CastSpell({ me->GetPositionX(), me->GetPositionY(), me->GetPositionZ() }, SPELL_MIMIRON_S_INFERNO, true);
|
||||
infernoTimer = 2000;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -379,7 +379,7 @@ class boss_freya : public CreatureScript
|
||||
else
|
||||
Talk(SAY_AGGRO_WITH_ELDER);
|
||||
|
||||
me->CastCustomSpell(SPELL_ATTUNED_TO_NATURE, SPELLVALUE_AURA_STACK, 150, me, true);
|
||||
me->CastSpell(me, SPELL_ATTUNED_TO_NATURE, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_AURA_STACK, 150));
|
||||
|
||||
events.ScheduleEvent(EVENT_WAVE, 10000);
|
||||
events.ScheduleEvent(EVENT_EONAR_GIFT, 25000);
|
||||
@@ -754,7 +754,7 @@ class boss_elder_brightleaf : public CreatureScript
|
||||
uint8 stackAmount = 0;
|
||||
if (Aura* aura = me->GetAura(SPELL_FLUX_AURA))
|
||||
stackAmount = aura->GetStackAmount();
|
||||
me->CastCustomSpell(SPELL_SOLAR_FLARE, SPELLVALUE_MAX_TARGETS, stackAmount, me, false);
|
||||
me->CastSpell(me, SPELL_SOLAR_FLARE, { SPELLVALUE_MAX_TARGETS, stackAmount });
|
||||
events.ScheduleEvent(EVENT_SOLAR_FLARE, urand(5000, 10000));
|
||||
break;
|
||||
}
|
||||
@@ -840,7 +840,7 @@ class boss_elder_stonebark : public CreatureScript
|
||||
if (me->HasAura(SPELL_PETRIFIED_BARK))
|
||||
{
|
||||
int32 reflect = damage;
|
||||
who->CastCustomSpell(who, SPELL_PETRIFIED_BARK_DMG, &reflect, nullptr, nullptr, true);
|
||||
who->CastSpell(who, SPELL_PETRIFIED_BARK_DMG, CastSpellExtraArgs(true).AddSpellBP0(reflect));
|
||||
damage = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -463,7 +463,7 @@ class spell_general_vezax_mark_of_the_faceless : public SpellScriptLoader
|
||||
void HandleEffectPeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastCustomSpell(SPELL_MARK_OF_THE_FACELESS_DAMAGE, SPELLVALUE_BASE_POINT1, aurEff->GetAmount(), GetTarget(), true);
|
||||
caster->CastSpell(GetTarget(), SPELL_MARK_OF_THE_FACELESS_DAMAGE, CastSpellExtraArgs(aurEff).AddSpellMod(SPELLVALUE_BASE_POINT1, aurEff->GetAmount()));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -523,8 +523,8 @@ class spell_general_vezax_saronite_vapors : public SpellScriptLoader
|
||||
{
|
||||
int32 mana = int32(aurEff->GetAmount() * std::pow(2.0f, GetStackAmount())); // mana restore - bp * 2^stackamount
|
||||
int32 damage = mana * 2;
|
||||
caster->CastCustomSpell(GetTarget(), SPELL_SARONITE_VAPORS_ENERGIZE, &mana, nullptr, nullptr, true);
|
||||
caster->CastCustomSpell(GetTarget(), SPELL_SARONITE_VAPORS_DAMAGE, &damage, nullptr, nullptr, true);
|
||||
caster->CastSpell(GetTarget(), SPELL_SARONITE_VAPORS_ENERGIZE, CastSpellExtraArgs(aurEff).AddSpellBP0(mana));
|
||||
caster->CastSpell(GetTarget(), SPELL_SARONITE_VAPORS_DAMAGE, CastSpellExtraArgs(aurEff).AddSpellBP0(damage));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1044,7 +1044,7 @@ public:
|
||||
return;
|
||||
|
||||
int32 damage = int32(200 * std::pow(2.0f, GetStackAmount()));
|
||||
caster->CastCustomSpell(caster, SPELL_BITING_COLD_DAMAGE, &damage, nullptr, nullptr, true);
|
||||
caster->CastSpell(caster, SPELL_BITING_COLD_DAMAGE, CastSpellExtraArgs(true).AddSpellBP0(damage));
|
||||
|
||||
if (caster->isMoving())
|
||||
caster->RemoveAuraFromStack(SPELL_BITING_COLD_TRIGGERED);
|
||||
|
||||
@@ -342,7 +342,7 @@ class spell_ulduar_rubble_summon : public SpellScriptLoader
|
||||
ObjectGuid originalCaster = caster->GetInstanceScript() ? caster->GetInstanceScript()->GetGuidData(DATA_KOLOGARN) : ObjectGuid::Empty;
|
||||
uint32 spellId = GetEffectValue();
|
||||
for (uint8 i = 0; i < 5; ++i)
|
||||
caster->CastSpell(caster, spellId, true, nullptr, nullptr, originalCaster);
|
||||
caster->CastSpell(caster, spellId, originalCaster);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -495,7 +495,7 @@ class boss_mimiron : public CreatureScript
|
||||
{
|
||||
case EVENT_SUMMON_FLAMES:
|
||||
if (Creature* worldtrigger = instance->GetCreature(DATA_MIMIRON_WORLD_TRIGGER))
|
||||
worldtrigger->CastCustomSpell(SPELL_SCRIPT_EFFECT_SUMMON_FLAMES_INITIAL, SPELLVALUE_MAX_TARGETS, 3, nullptr, true, nullptr, nullptr, me->GetGUID());
|
||||
worldtrigger->CastSpell(nullptr, SPELL_SCRIPT_EFFECT_SUMMON_FLAMES_INITIAL, CastSpellExtraArgs(me->GetGUID()).AddSpellMod(SPELLVALUE_MAX_TARGETS, 3));
|
||||
events.RescheduleEvent(EVENT_SUMMON_FLAMES, 28000);
|
||||
break;
|
||||
case EVENT_INTRO_1:
|
||||
@@ -1235,15 +1235,15 @@ class boss_aerial_command_unit : public CreatureScript
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_SUMMON_FIRE_BOTS:
|
||||
me->CastCustomSpell(SPELL_SUMMON_FIRE_BOT_TRIGGER, SPELLVALUE_MAX_TARGETS, 3, nullptr, true);
|
||||
DoCastAOE(SPELL_SUMMON_FIRE_BOT_TRIGGER, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_MAX_TARGETS, 3));
|
||||
events.RescheduleEvent(EVENT_SUMMON_FIRE_BOTS, 45000, 0, PHASE_AERIAL_COMMAND_UNIT);
|
||||
break;
|
||||
case EVENT_SUMMON_JUNK_BOT:
|
||||
me->CastCustomSpell(SPELL_SUMMON_JUNK_BOT_TRIGGER, SPELLVALUE_MAX_TARGETS, 1, nullptr, true);
|
||||
DoCastAOE(SPELL_SUMMON_JUNK_BOT_TRIGGER, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1));
|
||||
events.RescheduleEvent(EVENT_SUMMON_JUNK_BOT, urand(11000, 12000), 0, PHASE_AERIAL_COMMAND_UNIT);
|
||||
break;
|
||||
case EVENT_SUMMON_ASSAULT_BOT:
|
||||
me->CastCustomSpell(SPELL_SUMMON_ASSAULT_BOT_TRIGGER, SPELLVALUE_MAX_TARGETS, 1, nullptr, true);
|
||||
DoCastAOE(SPELL_SUMMON_ASSAULT_BOT_TRIGGER, CastSpellExtraArgs(TRIGGERED_FULL_MASK).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1));
|
||||
events.RescheduleEvent(EVENT_SUMMON_ASSAULT_BOT, 30000, 0, PHASE_AERIAL_COMMAND_UNIT);
|
||||
break;
|
||||
case EVENT_SUMMON_BOMB_BOT:
|
||||
@@ -2145,7 +2145,7 @@ class spell_mimiron_rapid_burst : public SpellScriptLoader
|
||||
void HandleDummyTick(AuraEffect const* aurEff)
|
||||
{
|
||||
if (GetCaster())
|
||||
GetCaster()->CastSpell(GetTarget(), aurEff->GetTickNumber() % 2 == 0 ? SPELL_RAPID_BURST_RIGHT : SPELL_RAPID_BURST_LEFT, true, nullptr, aurEff);
|
||||
GetCaster()->CastSpell(GetTarget(), aurEff->GetTickNumber() % 2 == 0 ? SPELL_RAPID_BURST_RIGHT : SPELL_RAPID_BURST_LEFT, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2189,7 +2189,7 @@ class spell_mimiron_rocket_strike : public SpellScriptLoader
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
GetHitUnit()->CastSpell((Unit*)nullptr, SPELL_SCRIPT_EFFECT_ROCKET_STRIKE, true, nullptr, nullptr, GetCaster()->GetGUID());
|
||||
GetHitUnit()->CastSpell(nullptr, SPELL_SCRIPT_EFFECT_ROCKET_STRIKE, GetCaster()->GetGUID());
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2283,7 +2283,7 @@ 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, true, nullptr, nullptr, instance->GetGuidData(DATA_VX_001));
|
||||
GetCaster()->CastSpell(GetHitUnit(), SPELL_SUMMON_ROCKET_STRIKE, instance->GetGuidData(DATA_VX_001));
|
||||
GetCaster()->SetDisplayId(11686);
|
||||
}
|
||||
|
||||
@@ -2371,7 +2371,7 @@ class spell_mimiron_summon_assault_bot : public SpellScriptLoader
|
||||
if (Unit* caster = GetCaster())
|
||||
if (InstanceScript* instance = caster->GetInstanceScript())
|
||||
if (instance->GetBossState(DATA_MIMIRON) == IN_PROGRESS)
|
||||
caster->CastSpell(caster, SPELL_SUMMON_ASSAULT_BOT, false, nullptr, aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT));
|
||||
caster->CastSpell(caster, SPELL_SUMMON_ASSAULT_BOT, CastSpellExtraArgs(aurEff).SetOriginalCaster(instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT)));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2434,7 +2434,7 @@ class spell_mimiron_summon_fire_bot : public SpellScriptLoader
|
||||
if (Unit* caster = GetCaster())
|
||||
if (InstanceScript* instance = caster->GetInstanceScript())
|
||||
if (instance->GetBossState(DATA_MIMIRON) == IN_PROGRESS)
|
||||
caster->CastSpell(caster, SPELL_SUMMON_FIRE_BOT, false, nullptr, aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT));
|
||||
caster->CastSpell(caster, SPELL_SUMMON_FIRE_BOT, { aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT) });
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -2612,7 +2612,7 @@ class spell_mimiron_summon_junk_bot : public SpellScriptLoader
|
||||
if (Unit* caster = GetCaster())
|
||||
if (InstanceScript* instance = caster->GetInstanceScript())
|
||||
if (instance->GetBossState(DATA_MIMIRON) == IN_PROGRESS)
|
||||
caster->CastSpell(caster, SPELL_SUMMON_JUNK_BOT, false, nullptr, aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT));
|
||||
caster->CastSpell(caster, SPELL_SUMMON_JUNK_BOT, { aurEff, instance->GetGuidData(DATA_AERIAL_COMMAND_UNIT) });
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -554,7 +554,7 @@ class boss_razorscale : public CreatureScript
|
||||
return;
|
||||
case EVENT_DEVOURING:
|
||||
if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 200.0f, true))
|
||||
me->CastSpell(target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), SPELL_DEVOURING_FLAME, true);
|
||||
me->CastSpell({ target->GetPositionX(), target->GetPositionY(), target->GetPositionZ() }, SPELL_DEVOURING_FLAME, true);
|
||||
events.ScheduleEvent(EVENT_DEVOURING, 10000, 0, PHASE_FLIGHT);
|
||||
return;
|
||||
case EVENT_SUMMON:
|
||||
|
||||
@@ -956,7 +956,7 @@ class spell_xt002_heart_overload_periodic : public SpellScriptLoader
|
||||
{
|
||||
uint8 a = urand(0, 4);
|
||||
uint32 spellId = spells[a];
|
||||
toyPile->CastSpell(toyPile, spellId, true, nullptr, nullptr, instance->GetGuidData(DATA_XT002));
|
||||
toyPile->CastSpell(toyPile, spellId, instance->GetGuidData(DATA_XT002));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -519,7 +519,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
|
||||
|
||||
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_TIMED_START_EVENT);
|
||||
|
||||
me->CastCustomSpell(SPELL_SUMMON_GUARDIAN_2, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_SUMMON_GUARDIAN_2, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
DoCast(me, SPELL_SANITY_PERIODIC);
|
||||
|
||||
events.ScheduleEvent(EVENT_LOCK_DOOR, 15000);
|
||||
@@ -563,7 +563,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_EXTINGUISH_ALL_LIFE, 10000); // cast it again after a short while, players can survive
|
||||
break;
|
||||
case EVENT_SUMMON_GUARDIAN_OF_YOGG_SARON:
|
||||
me->CastCustomSpell(SPELL_SUMMON_GUARDIAN_2, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_SUMMON_GUARDIAN_2, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
++_guardiansCount;
|
||||
if (_guardiansCount <= 6 && _guardiansCount % 3 == 0)
|
||||
_guardianTimer -= 5000;
|
||||
@@ -574,7 +574,7 @@ class boss_voice_of_yogg_saron : public CreatureScript
|
||||
events.ScheduleEvent(EVENT_SUMMON_CORRUPTOR_TENTACLE, 30000, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO);
|
||||
break;
|
||||
case EVENT_SUMMON_CONSTRICTOR_TENTACLE:
|
||||
me->CastCustomSpell(SPELL_CONSTRICTOR_TENTACLE, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_CONSTRICTOR_TENTACLE, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
events.ScheduleEvent(EVENT_SUMMON_CONSTRICTOR_TENTACLE, 25000, EVENT_GROUP_SUMMON_TENTACLES, PHASE_TWO);
|
||||
break;
|
||||
case EVENT_SUMMON_CRUSHER_TENTACLE:
|
||||
@@ -796,15 +796,15 @@ class boss_sara : public CreatureScript
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_SARAS_FERVOR:
|
||||
me->CastCustomSpell(SPELL_SARAS_FERVOR_TARGET_SELECTOR, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_SARAS_FERVOR_TARGET_SELECTOR, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
_events.ScheduleEvent(EVENT_SARAS_FERVOR, 6000, 0, PHASE_ONE);
|
||||
break;
|
||||
case EVENT_SARAS_ANGER:
|
||||
me->CastCustomSpell(SPELL_SARAS_ANGER_TARGET_SELECTOR, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_SARAS_ANGER_TARGET_SELECTOR, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
_events.ScheduleEvent(EVENT_SARAS_ANGER, urand(6000, 8000), 0, PHASE_ONE);
|
||||
break;
|
||||
case EVENT_SARAS_BLESSING:
|
||||
me->CastCustomSpell(SPELL_SARAS_BLESSING_TARGET_SELECTOR, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_SARAS_BLESSING_TARGET_SELECTOR, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
_events.ScheduleEvent(EVENT_SARAS_BLESSING, urand(6000, 30000), 0, PHASE_ONE);
|
||||
break;
|
||||
case EVENT_TRANSFORM_1:
|
||||
@@ -838,15 +838,15 @@ class boss_sara : public CreatureScript
|
||||
_events.ScheduleEvent(EVENT_DEATH_RAY, 21000, 0, PHASE_TWO);
|
||||
break;
|
||||
case EVENT_MALADY_OF_THE_MIND:
|
||||
me->CastCustomSpell(SPELL_MALADY_OF_THE_MIND, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_MALADY_OF_THE_MIND, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
_events.ScheduleEvent(EVENT_MALADY_OF_THE_MIND, urand(18000, 25000), 0, PHASE_TWO);
|
||||
break;
|
||||
case EVENT_PSYCHOSIS:
|
||||
me->CastCustomSpell(SPELL_PSYCHOSIS, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_PSYCHOSIS, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
_events.ScheduleEvent(EVENT_PSYCHOSIS, 4000, 0, PHASE_TWO);
|
||||
break;
|
||||
case EVENT_BRAIN_LINK:
|
||||
me->CastCustomSpell(SPELL_BRAIN_LINK, SPELLVALUE_MAX_TARGETS, 2);
|
||||
DoCastAOE(SPELL_BRAIN_LINK, { SPELLVALUE_MAX_TARGETS, 2 });
|
||||
_events.ScheduleEvent(EVENT_BRAIN_LINK, urand(23000, 26000), 0, PHASE_TWO);
|
||||
break;
|
||||
default:
|
||||
@@ -1646,7 +1646,7 @@ class npc_yogg_saron_keeper : public CreatureScript
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_DESTABILIZATION_MATRIX:
|
||||
me->CastCustomSpell(SPELL_DESTABILIZATION_MATRIX, SPELLVALUE_MAX_TARGETS, 1);
|
||||
DoCastAOE(SPELL_DESTABILIZATION_MATRIX, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
_events.ScheduleEvent(EVENT_DESTABILIZATION_MATRIX, urand(15000, 25000), 0, PHASE_TWO);
|
||||
break;
|
||||
case EVENT_HODIRS_PROTECTIVE_GAZE:
|
||||
@@ -2459,7 +2459,7 @@ class spell_yogg_saron_empowered : public SpellScriptLoader // 64161
|
||||
|
||||
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
GetTarget()->CastCustomSpell(SPELL_EMPOWERED_BUFF, SPELLVALUE_AURA_STACK, 9, GetTarget(), TRIGGERED_FULL_MASK);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_EMPOWERED_BUFF, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_AURA_STACK, 9));
|
||||
}
|
||||
|
||||
void OnPeriodic(AuraEffect const* /*aurEff*/)
|
||||
@@ -2471,7 +2471,7 @@ class spell_yogg_saron_empowered : public SpellScriptLoader // 64161
|
||||
if (stack)
|
||||
{
|
||||
target->RemoveAurasDueToSpell(SPELL_WEAKENED);
|
||||
target->CastCustomSpell(SPELL_EMPOWERED_BUFF, SPELLVALUE_AURA_STACK, stack, target, TRIGGERED_FULL_MASK);
|
||||
target->CastSpell(target, SPELL_EMPOWERED_BUFF, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_AURA_STACK, stack));
|
||||
}
|
||||
else if (!target->HealthAbovePct(1) && !target->HasAura(SPELL_WEAKENED))
|
||||
target->CastSpell(target, SPELL_WEAKENED, true);
|
||||
@@ -2686,7 +2686,7 @@ class spell_yogg_saron_grim_reprisal : public SpellScriptLoader // 63305
|
||||
return;
|
||||
|
||||
int32 damage = CalculatePct(static_cast<int32>(damageInfo->GetDamage()), 60);
|
||||
GetTarget()->CastCustomSpell(SPELL_GRIM_REPRISAL_DAMAGE, SPELLVALUE_BASE_POINT0, damage, damageInfo->GetAttacker(), true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(damageInfo->GetAttacker(), SPELL_GRIM_REPRISAL_DAMAGE, CastSpellExtraArgs(aurEff).AddSpellBP0(damage));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -464,7 +464,7 @@ class spell_ingvar_woe_strike : public SpellScriptLoader
|
||||
void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetTarget()->CastSpell(eventInfo.GetActor(), SPELL_WOE_STRIKE_EFFECT, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(eventInfo.GetActor(), SPELL_WOE_STRIKE_EFFECT, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -217,7 +217,7 @@ class spell_uk_second_wind : public SpellScriptLoader
|
||||
{
|
||||
PreventDefaultAction();
|
||||
Unit* caster = eventInfo.GetActionTarget();
|
||||
caster->CastSpell(caster, SPELL_SECOND_WIND_TRIGGER, true, nullptr, aurEff);
|
||||
caster->CastSpell(caster, SPELL_SECOND_WIND_TRIGGER, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -132,7 +132,7 @@ public:
|
||||
|
||||
bool Execute(uint64 /*eventTime*/, uint32 /*diff*/) override
|
||||
{
|
||||
_owner->CastCustomSpell(SPELL_AWAKEN_SUBBOSS, SPELLVALUE_MAX_TARGETS, 1, _owner);
|
||||
_owner->CastSpell(_owner, SPELL_AWAKEN_SUBBOSS, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -287,7 +287,7 @@ public:
|
||||
if (_encountersCount == _dungeonMode)
|
||||
orb->CastSpell(orb, SPELL_AWAKEN_GORTOK, true);
|
||||
else
|
||||
orb->CastCustomSpell(SPELL_AWAKEN_SUBBOSS, SPELLVALUE_MAX_TARGETS, 1, orb, true);
|
||||
orb->CastSpell(orb, SPELL_AWAKEN_SUBBOSS, CastSpellExtraArgs(true).AddSpellMod(SPELLVALUE_MAX_TARGETS, 1));
|
||||
break;
|
||||
}
|
||||
case ACTION_START_FIGHT:
|
||||
|
||||
@@ -199,7 +199,7 @@ class spell_koralon_meteor_fists : public SpellScriptLoader
|
||||
void TriggerFists(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_METEOR_FISTS_DAMAGE, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_METEOR_FISTS_DAMAGE, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
@@ -270,7 +270,7 @@ class spell_flame_warder_meteor_fists : public SpellScriptLoader
|
||||
void TriggerFists(AuraEffect const* aurEff, ProcEventInfo& eventInfo)
|
||||
{
|
||||
PreventDefaultAction();
|
||||
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_FW_METEOR_FISTS_DAMAGE, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_FW_METEOR_FISTS_DAMAGE, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -92,7 +92,7 @@ class boss_toravon : public CreatureScript
|
||||
switch (eventId)
|
||||
{
|
||||
case EVENT_FROZEN_ORB:
|
||||
me->CastCustomSpell(SPELL_FROZEN_ORB, SPELLVALUE_MAX_TARGETS, 1, me);
|
||||
DoCastSelf(SPELL_FROZEN_ORB, { SPELLVALUE_MAX_TARGETS, 1 });
|
||||
events.ScheduleEvent(EVENT_FROZEN_ORB, 38000);
|
||||
break;
|
||||
case EVENT_WHITEOUT:
|
||||
|
||||
@@ -115,7 +115,7 @@ class spell_moragg_ray : public SpellScriptLoader
|
||||
if (Unit* target = GetTarget()->GetAI()->SelectTarget(SELECT_TARGET_RANDOM, 0, 45.0f, true))
|
||||
{
|
||||
uint32 triggerSpell = GetSpellInfo()->Effects[aurEff->GetEffIndex()].TriggerSpell;
|
||||
GetTarget()->CastSpell(target, triggerSpell, TRIGGERED_FULL_MASK, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(target, triggerSpell, aurEff);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,12 +143,12 @@ public:
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
if (aurEff->GetTickNumber() >= 8)
|
||||
caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_3, TRIGGERED_FULL_MASK, nullptr, aurEff);
|
||||
caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_3, aurEff);
|
||||
|
||||
if (aurEff->GetTickNumber() >= 4)
|
||||
caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_2, TRIGGERED_FULL_MASK, nullptr, aurEff);
|
||||
caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_2, aurEff);
|
||||
|
||||
caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_1, TRIGGERED_FULL_MASK, nullptr, aurEff);
|
||||
caster->CastSpell(GetTarget(), SPELL_OPTIC_LINK_LEVEL_1, aurEff);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ public:
|
||||
break;
|
||||
case 1:
|
||||
Talk(SAY_WP_3);
|
||||
me->CastSpell(5918.33f, 5372.91f, -98.770f, SPELL_EXPLODE_CRYSTAL, true);
|
||||
me->CastSpell({ 5918.33f, 5372.91f, -98.770f }, SPELL_EXPLODE_CRYSTAL, true);
|
||||
me->SummonGameObject(184743, 5918.33f, 5372.91f, -98.770f, 0, QuaternionData(), TEMPSUMMON_MANUAL_DESPAWN); //approx 3 to 4 seconds
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH);
|
||||
break;
|
||||
@@ -108,7 +108,7 @@ public:
|
||||
Talk(SAY_WP_5);
|
||||
break;
|
||||
case 8:
|
||||
me->CastSpell(5887.37f, 5379.39f, -91.289f, SPELL_EXPLODE_CRYSTAL, true);
|
||||
me->CastSpell({ 5887.37f, 5379.39f, -91.289f }, SPELL_EXPLODE_CRYSTAL, true);
|
||||
me->SummonGameObject(184743, 5887.37f, 5379.39f, -91.289f, 0, QuaternionData(), TEMPSUMMON_MANUAL_DESPAWN); //approx 3 to 4 seconds
|
||||
me->HandleEmoteCommand(EMOTE_ONESHOT_LAUGH);
|
||||
break;
|
||||
|
||||
@@ -829,7 +829,7 @@ class npc_wild_wyrm : public CreatureScript
|
||||
if (seatId != SEAT_INITIAL)
|
||||
return;
|
||||
|
||||
me->CastCustomSpell(SPELL_GRIP, SPELLVALUE_AURA_STACK, 50);
|
||||
DoCastAOE(SPELL_GRIP, { SPELLVALUE_AURA_STACK, 50 });
|
||||
DoCastAOE(SPELL_CLAW_SWIPE_PERIODIC);
|
||||
|
||||
_scheduler.Async([this]
|
||||
|
||||
@@ -743,7 +743,7 @@ class spell_random_ingredient : public SpellScriptLoader
|
||||
|
||||
if (Creature* finklestein = GetClosestCreatureWithEntry(player, NPC_FINKLESTEIN, 25.0f))
|
||||
{
|
||||
finklestein->CastSpell(player, FetchIngredients[ingredient][0], true, nullptr);
|
||||
finklestein->CastSpell(player, FetchIngredients[ingredient][0], true);
|
||||
finklestein->AI()->Talk(FetchIngredients[ingredient][3], player);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ class spell_mark_of_malice : public SpellScriptLoader
|
||||
if (aurEff->GetBase()->GetCharges() > 1)
|
||||
return;
|
||||
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_MARK_OF_MALICE_TRIGGERED, true, nullptr, aurEff);
|
||||
GetTarget()->CastSpell(GetTarget(), SPELL_MARK_OF_MALICE_TRIGGERED, aurEff);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
@@ -302,7 +302,7 @@ class spell_illidari_nightlord_shadow_inferno : public SpellScriptLoader
|
||||
{
|
||||
PreventDefaultAction();
|
||||
int32 bp = aurEffect->GetTickNumber() * aurEffect->GetAmount();
|
||||
GetUnitOwner()->CastCustomSpell(SPELL_SHADOW_INFERNO_DAMAGE, SPELLVALUE_BASE_POINT0, bp, GetUnitOwner(), true);
|
||||
GetUnitOwner()->CastSpell(GetUnitOwner(), SPELL_SHADOW_INFERNO_DAMAGE, CastSpellExtraArgs(true).AddSpellBP0(bp));
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
||||
Loaded 100 of 157 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user