mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-03-10 03:00:28 +00:00
refactor(Scripts/Instances): move spell ids for Heroic to dungeondifficulty_dbc (#23470)
This commit is contained in:
@@ -45,12 +45,9 @@ enum EadricEvents
|
||||
|
||||
enum PaletressSpells
|
||||
{
|
||||
SPELL_SMITE_N = 66536,
|
||||
SPELL_SMITE_H = 67674,
|
||||
SPELL_HOLY_FIRE_N = 66538,
|
||||
SPELL_HOLY_FIRE_H = 67676,
|
||||
SPELL_RENEW_N = 66537,
|
||||
SPELL_RENEW_H = 67675,
|
||||
SPELL_SMITE = 66536,
|
||||
SPELL_HOLY_FIRE = 66538,
|
||||
SPELL_RENEW = 66537,
|
||||
|
||||
SPELL_HOLY_NOVA = 66546,
|
||||
SPELL_SHIELD = 66515,
|
||||
@@ -58,21 +55,11 @@ enum PaletressSpells
|
||||
SPELL_SUMMON_MEMORY = 66545,
|
||||
|
||||
//Memory
|
||||
SPELL_OLD_WOUNDS_N = 66620,
|
||||
SPELL_OLD_WOUNDS_H = 67679,
|
||||
SPELL_SHADOWS_PAST_N = 66619,
|
||||
SPELL_SHADOWS_PAST_H = 67678,
|
||||
SPELL_WAKING_NIGHTMARE_N = 66552,
|
||||
SPELL_WAKING_NIGHTMARE_H = 67677,
|
||||
SPELL_OLD_WOUNDS = 66620,
|
||||
SPELL_SHADOWS_PAST = 66619,
|
||||
SPELL_WAKING_NIGHTMARE = 66552,
|
||||
};
|
||||
|
||||
#define SPELL_SMITE DUNGEON_MODE(SPELL_SMITE_N, SPELL_SMITE_H)
|
||||
#define SPELL_HOLY_FIRE DUNGEON_MODE(SPELL_HOLY_FIRE_N, SPELL_HOLY_FIRE_H)
|
||||
#define SPELL_RENEW DUNGEON_MODE(SPELL_RENEW_N, SPELL_RENEW_H)
|
||||
#define SPELL_OLD_WOUNDS DUNGEON_MODE(SPELL_OLD_WOUNDS_N, SPELL_OLD_WOUNDS_H)
|
||||
#define SPELL_SHADOWS_PAST DUNGEON_MODE(SPELL_SHADOWS_PAST_N, SPELL_SHADOWS_PAST_H)
|
||||
#define SPELL_WAKING_NIGHTMARE DUNGEON_MODE(SPELL_WAKING_NIGHTMARE_N, SPELL_WAKING_NIGHTMARE_H)
|
||||
|
||||
enum PaletressEvents
|
||||
{
|
||||
EVENT_SPELL_SMITE = 1,
|
||||
@@ -477,29 +464,22 @@ enum ArgentSoldierSpells
|
||||
// monk
|
||||
SPELL_FLURRY_OF_BLOWS = 67233,
|
||||
SPELL_PUMMEL = 67235,
|
||||
SPELL_DIVINE_SHIELD_H = 67251,
|
||||
SPELL_FINAL_MEDITATION_H = 67255,
|
||||
SPELL_DIVINE_SHIELD = 67251,
|
||||
SPELL_FINAL_MEDITATION = 67255,
|
||||
|
||||
// priestess
|
||||
SPELL_HOLY_SMITE_N = 36176,
|
||||
SPELL_HOLY_SMITE_H = 67289,
|
||||
SPELL_HOLY_SMITE = 36176,
|
||||
SPELL_FOUNTAIN_OF_LIGHT = 67194,
|
||||
NPC_FOUNTAIN_OF_LIGHT = 35311,
|
||||
SPELL_SHADOW_WORD_PAIN_N = 34941,
|
||||
SPELL_SHADOW_WORD_PAIN_H = 34942,
|
||||
SPELL_MIND_CONTROL_H = 67229,
|
||||
SPELL_SHADOW_WORD_PAIN = 34941,
|
||||
SPELL_MIND_CONTROL = 67229,
|
||||
|
||||
// lightwielder
|
||||
SPELL_BLAZING_LIGHT_N = 67247,
|
||||
SPELL_BLAZING_LIGHT_H = 67290,
|
||||
SPELL_BLAZING_LIGHT = 67247,
|
||||
SPELL_CLEAVE = 15284,
|
||||
SPELL_UNBALANCING_STRIKE_H = 67237,
|
||||
SPELL_UNBALANCING_STRIKE = 67237,
|
||||
};
|
||||
|
||||
#define SPELL_HOLY_SMITE DUNGEON_MODE(SPELL_HOLY_SMITE_N, SPELL_HOLY_SMITE_H)
|
||||
#define SPELL_SHADOW_WORD_PAIN DUNGEON_MODE(SPELL_SHADOW_WORD_PAIN_N, SPELL_SHADOW_WORD_PAIN_H)
|
||||
#define SPELL_BLAZING_LIGHT DUNGEON_MODE(SPELL_BLAZING_LIGHT_N, SPELL_BLAZING_LIGHT_H)
|
||||
|
||||
enum ArgentSoldierEvents
|
||||
{
|
||||
EVENT_MONK_SPELL_FLURRY_OF_BLOWS = 1,
|
||||
@@ -507,10 +487,10 @@ enum ArgentSoldierEvents
|
||||
EVENT_PRIESTESS_SPELL_HOLY_SMITE,
|
||||
EVENT_PRIESTESS_SPELL_SHADOW_WORD_PAIN,
|
||||
EVENT_PRIESTESS_SPELL_FOUNTAIN_OF_LIGHT,
|
||||
EVENT_PRIESTESS_SPELL_MIND_CONTROL_H,
|
||||
EVENT_PRIESTESS_SPELL_MIND_CONTROL,
|
||||
EVENT_LIGHTWIELDER_SPELL_BLAZING_LIGHT,
|
||||
EVENT_LIGHTWIELDER_SPELL_CLEAVE,
|
||||
EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE_H,
|
||||
EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE,
|
||||
};
|
||||
|
||||
class npc_argent_soldier : public CreatureScript
|
||||
@@ -619,8 +599,8 @@ public:
|
||||
bCheck = false;
|
||||
damage = me->GetHealth() - 1;
|
||||
events.DelayEvents(10s);
|
||||
me->CastSpell(me, SPELL_DIVINE_SHIELD_H, true);
|
||||
me->CastSpell((Unit*)nullptr, SPELL_FINAL_MEDITATION_H, true);
|
||||
me->CastSpell(me, SPELL_DIVINE_SHIELD, true);
|
||||
me->CastSpell((Unit*)nullptr, SPELL_FINAL_MEDITATION, true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -639,13 +619,13 @@ public:
|
||||
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_SHADOW_WORD_PAIN, 3s, 6s);
|
||||
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_FOUNTAIN_OF_LIGHT, 8s, 15s);
|
||||
if (IsHeroic())
|
||||
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_MIND_CONTROL_H, 12s);
|
||||
events.RescheduleEvent(EVENT_PRIESTESS_SPELL_MIND_CONTROL, 12s);
|
||||
break;
|
||||
case NPC_ARGENT_LIGHTWIELDER:
|
||||
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_BLAZING_LIGHT, 12s, 15s);
|
||||
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_CLEAVE, 3s, 5s);
|
||||
if (IsHeroic())
|
||||
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE_H, 8s, 12s);
|
||||
events.RescheduleEvent(EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE, 8s, 12s);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -691,9 +671,9 @@ public:
|
||||
me->CastSpell((Unit*)nullptr, SPELL_FOUNTAIN_OF_LIGHT, false);
|
||||
events.Repeat(35s, 45s);
|
||||
break;
|
||||
case EVENT_PRIESTESS_SPELL_MIND_CONTROL_H:
|
||||
case EVENT_PRIESTESS_SPELL_MIND_CONTROL:
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f, true))
|
||||
me->CastSpell(target, SPELL_MIND_CONTROL_H, false);
|
||||
me->CastSpell(target, SPELL_MIND_CONTROL, false);
|
||||
events.Repeat(22s, 30s);
|
||||
break;
|
||||
|
||||
@@ -711,9 +691,9 @@ public:
|
||||
me->CastSpell(me->GetVictim(), SPELL_CLEAVE, false);
|
||||
events.Repeat(6s, 8s);
|
||||
break;
|
||||
case EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE_H:
|
||||
case EVENT_LIGHTWIELDER_SPELL_UNBALANCING_STRIKE:
|
||||
if (me->GetVictim())
|
||||
me->CastSpell(me->GetVictim(), SPELL_UNBALANCING_STRIKE_H, false);
|
||||
me->CastSpell(me->GetVictim(), SPELL_UNBALANCING_STRIKE, false);
|
||||
events.Repeat(12s, 15s);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,11 @@
|
||||
#include "CreatureScript.h"
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ScriptedEscortAI.h"
|
||||
#include "SharedDefines.h"
|
||||
#include "Spell.h"
|
||||
#include "SpellInfo.h"
|
||||
#include "SpellScript.h"
|
||||
#include "SpellScriptLoader.h"
|
||||
#include "trial_of_the_champion.h"
|
||||
|
||||
enum Spells
|
||||
@@ -30,49 +34,29 @@ enum Spells
|
||||
SPELL_BK_KILL_CREDIT = 68663,
|
||||
|
||||
// phase 1
|
||||
SPELL_PLAGUE_STRIKE_N = 67724,
|
||||
SPELL_PLAGUE_STRIKE_H = 67884,
|
||||
SPELL_ICY_TOUCH_N = 67718,
|
||||
SPELL_ICY_TOUCH_H = 67881,
|
||||
SPELL_DEATH_RESPITE_N = 67745,
|
||||
SPELL_DEATH_RESPITE_H = 68306,
|
||||
SPELL_PLAGUE_STRIKE = 67724,
|
||||
SPELL_ICY_TOUCH = 67718,
|
||||
SPELL_DEATH_RESPITE = 67745,
|
||||
SPELL_DEATH_RESPITE_DUMMY = 66798,
|
||||
SPELL_OBLITERATE_N = 67725,
|
||||
SPELL_OBLITERATE_H = 67883,
|
||||
SPELL_OBLITERATE = 67725,
|
||||
|
||||
// phase 2 (+ abilities from phase 1 without death respite)
|
||||
SPELL_ARMY_DEAD_N = 67761,
|
||||
SPELL_ARMY_DEAD_H = 67874,
|
||||
SPELL_DESECRATION_N = 67778,
|
||||
SPELL_DESECRATION_H = 67877,
|
||||
SPELL_ARMY_DEAD = 67761,
|
||||
SPELL_DESECRATION = 67778,
|
||||
SPELL_DESECRATION_SUMMON = 67779,
|
||||
SPELL_BK_GHOUL_EXPLODE = 67751,
|
||||
|
||||
// phase 3
|
||||
SPELL_DEATH_BITE_N = 67808,
|
||||
SPELL_DEATH_BITE_H = 67875,
|
||||
SPELL_MARKED_DEATH_N = 67823,
|
||||
SPELL_MARKED_DEATH_H = 67882,
|
||||
SPELL_DEATH_BITE = 67808,
|
||||
SPELL_MARKED_DEATH = 67823,
|
||||
|
||||
// ghouls
|
||||
SPELL_CLAW_N = 67774,
|
||||
SPELL_CLAW = 67774,
|
||||
SPELL_CLAW_H = 67879,
|
||||
SPELL_EXPLODE_N = 67729,
|
||||
SPELL_EXPLODE_H = 67886,
|
||||
SPELL_LEAP_N = 67749,
|
||||
SPELL_LEAP_H = 67880,
|
||||
SPELL_EXPLODE = 67729,
|
||||
SPELL_EXPLODE_H = 67886,
|
||||
SPELL_LEAP = 67749,
|
||||
};
|
||||
#define SPELL_LEAP DUNGEON_MODE(SPELL_LEAP_N, SPELL_LEAP_H)
|
||||
#define SPELL_EXPLODE DUNGEON_MODE(SPELL_EXPLODE_N, SPELL_EXPLODE_H)
|
||||
|
||||
#define SPELL_PLAGUE_STRIKE DUNGEON_MODE(SPELL_PLAGUE_STRIKE_N, SPELL_PLAGUE_STRIKE_H)
|
||||
#define SPELL_ICY_TOUCH DUNGEON_MODE(SPELL_ICY_TOUCH_N, SPELL_ICY_TOUCH_H)
|
||||
#define SPELL_DEATH_RESPITE DUNGEON_MODE(SPELL_DEATH_RESPITE_N, SPELL_DEATH_RESPITE_H)
|
||||
#define SPELL_OBLITERATE DUNGEON_MODE(SPELL_OBLITERATE_N, SPELL_OBLITERATE_H)
|
||||
#define SPELL_ARMY_DEAD DUNGEON_MODE(SPELL_ARMY_DEAD_N, SPELL_ARMY_DEAD_H)
|
||||
#define SPELL_DESECRATION DUNGEON_MODE(SPELL_DESECRATION_N, SPELL_DESECRATION_H)
|
||||
#define SPELL_DEATH_BITE DUNGEON_MODE(SPELL_DEATH_BITE_N, SPELL_DEATH_BITE_H)
|
||||
#define SPELL_MARKED_DEATH DUNGEON_MODE(SPELL_MARKED_DEATH_N, SPELL_MARKED_DEATH_H)
|
||||
|
||||
enum Events
|
||||
{
|
||||
@@ -420,27 +404,6 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
void SpellHitTarget(Unit* target, SpellInfo const* spell) override
|
||||
{
|
||||
switch (spell->Id)
|
||||
{
|
||||
case SPELL_CLAW_N:
|
||||
case SPELL_CLAW_H:
|
||||
DoResetThreatList();
|
||||
if (Unit* target = SelectTarget(SelectTargetMethod::Random, 0, 30.0f))
|
||||
{
|
||||
me->AddThreat(target, 100.0f);
|
||||
AttackStart(target);
|
||||
}
|
||||
break;
|
||||
case SPELL_EXPLODE_H:
|
||||
if (target && target->IsPlayer())
|
||||
if (pInstance)
|
||||
pInstance->SetData(DATA_ACHIEV_IVE_HAD_WORSE, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateAI(uint32 diff) override
|
||||
{
|
||||
if (!UpdateVictim())
|
||||
@@ -467,7 +430,7 @@ public:
|
||||
break;
|
||||
case 2: // claw
|
||||
if (Unit* target = me->GetVictim())
|
||||
me->CastSpell(target, SPELL_CLAW_N, false);
|
||||
me->CastSpell(target, SPELL_CLAW, false);
|
||||
events.Repeat(6s, 8s);
|
||||
break;
|
||||
}
|
||||
@@ -482,9 +445,51 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
//67774,67879
|
||||
class spell_black_knight_ghoul_claw : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_black_knight_ghoul_claw);
|
||||
|
||||
void HandleSpellHit(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
GetCaster()->GetThreatMgr().ResetAllThreat();
|
||||
if (Unit* target = caster->GetAI()->SelectTarget(SelectTargetMethod::Random, 0, 30.0f))
|
||||
{
|
||||
caster->AddThreat(target, 100.0f);
|
||||
caster->GetAI()->AttackStart(target);
|
||||
}
|
||||
}
|
||||
}
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_black_knight_ghoul_claw::HandleSpellHit, EFFECT_0, SPELL_EFFECT_WEAPON_PERCENT_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
//67886
|
||||
class spell_black_knight_ghoul_explode : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_black_knight_ghoul_explode);
|
||||
|
||||
void HandleSpellHit(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
if (GetHitUnit()->IsPlayer())
|
||||
if (InstanceScript* instance = GetCaster()->GetInstanceScript())
|
||||
instance->SetData(DATA_ACHIEV_IVE_HAD_WORSE, 0);
|
||||
}
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_black_knight_ghoul_explode::HandleSpellHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_black_knight()
|
||||
{
|
||||
new boss_black_knight();
|
||||
new npc_black_knight_skeletal_gryphon();
|
||||
new npc_black_knight_ghoul();
|
||||
RegisterSpellScript(spell_black_knight_ghoul_claw);
|
||||
RegisterSpellScript(spell_black_knight_ghoul_explode);
|
||||
}
|
||||
|
||||
@@ -56,38 +56,30 @@ enum MountSpells
|
||||
enum ChampionSpells
|
||||
{
|
||||
// Mage (Ambrose Boltspark, Eressea Dawnsinger)
|
||||
SPELL_FIREBALL_N = 66042,
|
||||
SPELL_FIREBALL_H = 68310,
|
||||
SPELL_BLAST_WAVE_N = 66044,
|
||||
SPELL_BLAST_WAVE_H = 68312,
|
||||
SPELL_FIREBALL = 66042,
|
||||
SPELL_BLAST_WAVE = 66044,
|
||||
SPELL_HASTE = 66045,
|
||||
SPELL_POLYMORPH_N = 66043,
|
||||
SPELL_POLYMORPH_H = 68311,
|
||||
SPELL_POLYMORPH = 66043,
|
||||
|
||||
// Shaman (Colosos, Runok Wildmane)
|
||||
SPELL_CHAIN_LIGHTNING_N = 67529,
|
||||
SPELL_CHAIN_LIGHTNING_H = 68319,
|
||||
SPELL_CHAIN_LIGHTNING = 67529,
|
||||
SPELL_EARTH_SHIELD = 67530,
|
||||
SPELL_HEALING_WAVE_N = 67528,
|
||||
SPELL_HEALING_WAVE_H = 68318,
|
||||
SPELL_HEALING_WAVE = 67528,
|
||||
SPELL_HEX_OF_MENDING = 67534,
|
||||
|
||||
// Hunter (Jaelyne Evensong, Zul'tore)
|
||||
SPELL_DISENGAGE = 68339,
|
||||
SPELL_LIGHTNING_ARROWS = 66083,
|
||||
SPELL_MULTI_SHOT = 66081,
|
||||
SPELL_SHOOT_N = 65868,
|
||||
SPELL_SHOOT_H = 67988,
|
||||
SPELL_SHOOT = 65868,
|
||||
|
||||
// Rogue (Lana Stouthammer Evensong, Deathstalker Visceri)
|
||||
SPELL_EVISCERATE_N = 67709,
|
||||
SPELL_EVISCERATE_H = 68317,
|
||||
SPELL_EVISCERATE = 67709,
|
||||
SPELL_FAN_OF_KNIVES = 67706,
|
||||
SPELL_POISON_BOTTLE = 67701,
|
||||
|
||||
// Warrior (Marshal Jacob Alerius, Mokra the Skullcrusher)
|
||||
SPELL_MORTAL_STRIKE_N = 68783,
|
||||
SPELL_MORTAL_STRIKE_H = 68784,
|
||||
SPELL_MORTAL_STRIKE = 68783,
|
||||
SPELL_BLADESTORM = 63784,
|
||||
SPELL_INTERCEPT = 67540,
|
||||
SPELL_ROLLING_THROW = 67546, // not implemented yet!
|
||||
@@ -98,15 +90,6 @@ enum Texts
|
||||
SAY_TRAMPLED = 0,
|
||||
};
|
||||
|
||||
#define SPELL_FIREBALL DUNGEON_MODE(SPELL_FIREBALL_N, SPELL_FIREBALL_H)
|
||||
#define SPELL_BLAST_WAVE DUNGEON_MODE(SPELL_BLAST_WAVE_N, SPELL_BLAST_WAVE_H)
|
||||
#define SPELL_POLYMORPH DUNGEON_MODE(SPELL_POLYMORPH_N, SPELL_POLYMORPH_H)
|
||||
#define SPELL_CHAIN_LIGHTNING DUNGEON_MODE(SPELL_CHAIN_LIGHTNING_N, SPELL_CHAIN_LIGHTNING_H)
|
||||
#define SPELL_HEALING_WAVE DUNGEON_MODE(SPELL_HEALING_WAVE_N, SPELL_HEALING_WAVE_H)
|
||||
#define SPELL_SHOOT DUNGEON_MODE(SPELL_SHOOT_N, SPELL_SHOOT_H)
|
||||
#define SPELL_EVISCERATE DUNGEON_MODE(SPELL_EVISCERATE_N, SPELL_EVISCERATE_H)
|
||||
#define SPELL_MORTAL_STRIKE DUNGEON_MODE(SPELL_MORTAL_STRIKE_N, SPELL_MORTAL_STRIKE_H)
|
||||
|
||||
enum MountEvents
|
||||
{
|
||||
EVENT_NONE = 0,
|
||||
|
||||
Reference in New Issue
Block a user