mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-22 18:15:31 +01:00
Merge remote-tracking branch 'origin/master' into mmaps
This commit is contained in:
@@ -19,16 +19,13 @@
|
||||
#include "ScriptedCreature.h"
|
||||
#include "ahnkahet.h"
|
||||
|
||||
//not in db
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1619014,
|
||||
SAY_SLAY_1 = -1619015,
|
||||
SAY_SLAY_2 = -1619016,
|
||||
SAY_SLAY_3 = -1619017,
|
||||
SAY_DEATH = -1619018,
|
||||
SAY_EGG_SAC_1 = -1619019,
|
||||
SAY_EGG_SAC_2 = -1619020
|
||||
SAY_AGGRO = 0,
|
||||
SAY_SLAY = 1,
|
||||
SAY_DEATH = 2,
|
||||
SAY_EGG_SAC = 3,
|
||||
EMOTE_HATCHES = 4
|
||||
};
|
||||
|
||||
enum Spells
|
||||
@@ -50,8 +47,6 @@ enum Creatures
|
||||
#define ACTION_AHNKAHAR_GUARDIAN_DEAD 1
|
||||
#define DATA_RESPECT_YOUR_ELDERS 2
|
||||
|
||||
#define EMOTE_HATCHES "An Ahn'kahar Guardian hatches!"
|
||||
|
||||
class boss_elder_nadox : public CreatureScript
|
||||
{
|
||||
public:
|
||||
@@ -61,7 +56,7 @@ class boss_elder_nadox : public CreatureScript
|
||||
{
|
||||
boss_elder_nadoxAI(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
instance = me->GetInstanceScript();
|
||||
instance = creature->GetInstanceScript();
|
||||
}
|
||||
|
||||
uint32 uiPlagueTimer;
|
||||
@@ -78,16 +73,13 @@ class boss_elder_nadox : public CreatureScript
|
||||
|
||||
void Reset()
|
||||
{
|
||||
uiPlagueTimer = 13000;
|
||||
uiRagueTimer = 20000;
|
||||
|
||||
uiPlagueTimer = 13000;
|
||||
uiRagueTimer = 20000;
|
||||
uiSwarmerSpawnTimer = 10000;
|
||||
uiGuardSpawnTimer = 25000;
|
||||
|
||||
uiEnrageTimer = 5000;
|
||||
|
||||
bGuardSpawned = false;
|
||||
respectYourElders = true;
|
||||
uiGuardSpawnTimer = 25000;
|
||||
uiEnrageTimer = 5000;
|
||||
bGuardSpawned = false;
|
||||
respectYourElders = true;
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_ELDER_NADOX_EVENT, NOT_STARTED);
|
||||
@@ -95,7 +87,7 @@ class boss_elder_nadox : public CreatureScript
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(SAY_DEATH, me);
|
||||
Talk(SAY_AGGRO);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_ELDER_NADOX_EVENT, IN_PROGRESS);
|
||||
@@ -103,12 +95,12 @@ class boss_elder_nadox : public CreatureScript
|
||||
|
||||
void KilledUnit(Unit* /*who*/)
|
||||
{
|
||||
DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2, SAY_SLAY_3), me);
|
||||
Talk(SAY_SLAY);
|
||||
}
|
||||
|
||||
void JustDied(Unit* /*killer*/)
|
||||
{
|
||||
DoScriptText(SAY_SLAY_3, me); //SAY_SLAY_3 on death?
|
||||
Talk(SAY_DEATH);
|
||||
|
||||
if (instance)
|
||||
instance->SetData(DATA_ELDER_NADOX_EVENT, DONE);
|
||||
@@ -135,7 +127,7 @@ class boss_elder_nadox : public CreatureScript
|
||||
|
||||
if (uiPlagueTimer <= diff)
|
||||
{
|
||||
DoCast(me->getVictim(), SPELL_BROOD_PLAGUE);
|
||||
DoCastVictim(SPELL_BROOD_PLAGUE);
|
||||
uiPlagueTimer = 15000;
|
||||
}
|
||||
else
|
||||
@@ -160,7 +152,7 @@ class boss_elder_nadox : public CreatureScript
|
||||
DoCast(me, SPELL_SUMMON_SWARMERS, true);
|
||||
DoCast(me, SPELL_SUMMON_SWARMERS);
|
||||
if (urand(1, 3) == 3) // 33% chance of dialog
|
||||
DoScriptText(RAND(SAY_EGG_SAC_1, SAY_EGG_SAC_2), me);
|
||||
Talk(SAY_EGG_SAC);
|
||||
|
||||
uiSwarmerSpawnTimer = 10000;
|
||||
}
|
||||
@@ -169,7 +161,7 @@ class boss_elder_nadox : public CreatureScript
|
||||
|
||||
if (!bGuardSpawned && uiGuardSpawnTimer <= diff)
|
||||
{
|
||||
me->MonsterTextEmote(EMOTE_HATCHES, me->GetGUID(), true);
|
||||
Talk(EMOTE_HATCHES, me->GetGUID());
|
||||
DoCast(me, SPELL_SUMMON_SWARM_GUARD);
|
||||
bGuardSpawned = true;
|
||||
}
|
||||
@@ -217,7 +209,7 @@ class mob_ahnkahar_nerubian : public CreatureScript
|
||||
{
|
||||
mob_ahnkahar_nerubianAI(Creature* creature) : ScriptedAI(creature)
|
||||
{
|
||||
instance = me->GetInstanceScript();
|
||||
instance = creature->GetInstanceScript();
|
||||
}
|
||||
|
||||
InstanceScript* instance;
|
||||
@@ -237,9 +229,7 @@ class mob_ahnkahar_nerubian : public CreatureScript
|
||||
Nadox->AI()->DoAction(ACTION_AHNKAHAR_GUARDIAN_DEAD);
|
||||
}
|
||||
|
||||
void EnterCombat(Unit* /*who*/)
|
||||
{
|
||||
}
|
||||
void EnterCombat(Unit* /*who*/) {}
|
||||
|
||||
void UpdateAI(uint32 const diff)
|
||||
{
|
||||
@@ -300,9 +290,7 @@ public:
|
||||
class achievement_respect_your_elders : public AchievementCriteriaScript
|
||||
{
|
||||
public:
|
||||
achievement_respect_your_elders() : AchievementCriteriaScript("achievement_respect_your_elders")
|
||||
{
|
||||
}
|
||||
achievement_respect_your_elders() : AchievementCriteriaScript("achievement_respect_your_elders") {}
|
||||
|
||||
bool OnCheck(Player* /*player*/, Unit* target)
|
||||
{
|
||||
|
||||
@@ -21,97 +21,93 @@
|
||||
|
||||
enum Yells
|
||||
{
|
||||
SAY_AGGRO = -1603240,
|
||||
SAY_HARDMODE_ON = -1603241,
|
||||
SAY_MKII_ACTIVATE = -1603242,
|
||||
SAY_MKII_SLAY_1 = -1603243,
|
||||
SAY_MKII_SLAY_2 = -1603244,
|
||||
SAY_MKII_DEATH = -1603245,
|
||||
SAY_VX001_ACTIVATE = -1603246,
|
||||
SAY_VX001_SLAY_1 = -1603247,
|
||||
SAY_VX001_SLAY_2 = -1603248,
|
||||
SAY_VX001_DEATH = -1603249,
|
||||
SAY_AERIAL_ACTIVATE = -1603250,
|
||||
SAY_AERIAL_SLAY_1 = -1603251,
|
||||
SAY_AERIAL_SLAY_2 = -1603252,
|
||||
SAY_AERIAL_DEATH = -1603253,
|
||||
SAY_V07TRON_ACTIVATE = -1603254,
|
||||
SAY_V07TRON_SLAY_1 = -1603255,
|
||||
SAY_V07TRON_SLAY_2 = -1603256,
|
||||
SAY_V07TRON_DEATH = -1603257,
|
||||
SAY_BERSERK = -1603258,
|
||||
SAY_YS_HELP = -1603259,
|
||||
SAY_AGGRO = 0,
|
||||
SAY_HARDMODE_ON = 1,
|
||||
SAY_MKII_ACTIVATE = 2,
|
||||
SAY_MKII_SLAY = 3,
|
||||
SAY_MKII_DEATH = 4,
|
||||
SAY_VX001_ACTIVATE = 5,
|
||||
SAY_VX001_SLAY = 6,
|
||||
SAY_VX001_DEATH = 7,
|
||||
SAY_AERIAL_ACTIVATE = 8,
|
||||
SAY_AERIAL_SLAY = 9,
|
||||
SAY_AERIAL_DEATH = 10,
|
||||
SAY_V07TRON_ACTIVATE = 11,
|
||||
SAY_V07TRON_SLAY = 12,
|
||||
SAY_V07TRON_DEATH = 13,
|
||||
SAY_BERSERK = 14,
|
||||
SAY_YS_HELP = 15
|
||||
};
|
||||
|
||||
enum Spells
|
||||
{
|
||||
SPELL_JETPACK = 63341,
|
||||
SPELL_EMERGENCY_MODE = 64582,
|
||||
SPELL_SELF_REPAIR = 64383,
|
||||
SPELL_MAGNETIC_CORE = 64444,
|
||||
// Leviathan MK II
|
||||
SPELL_FLAME_SUPPRESSANT_MK = 64570,
|
||||
SPELL_NAPALM_SHELL = 63666,
|
||||
SPELL_PLASMA_BLAST = 62977,
|
||||
SPELL_PROXIMITY_MINES = 63027,
|
||||
SPELL_SHOCK_BLAST = 63631,
|
||||
// VX 001
|
||||
SPELL_FLAME_SUPPRESSANT_VX = 65192,
|
||||
SPELL_FROSTBOMB = 64623,
|
||||
SPELL_HAND_PULSE = 64348,
|
||||
SPELL_SPINNING_UP = 63414,
|
||||
SPELL_RAPID_BURST = 63387,
|
||||
SPELL_P3WX2_LASER_BARRAGE = 63293,
|
||||
SPELL_ROCKET_STRIKE = 63041,
|
||||
SPELL_HEAT_WAVE = 63677,
|
||||
// Aerial Command Unit
|
||||
SPELL_PLASMA_BALL = 63689,
|
||||
// Additonal spells
|
||||
SPELL_MAGNETIC_FIELD = 64668,
|
||||
SPELL_DEAFENING_SIREN = 64616,
|
||||
SPELL_WATER_SPRAY = 64619,
|
||||
SPELL_FROST_BOMB_HARD_MODE = 64627,
|
||||
SPELL_EXPLOSION = 66351,
|
||||
SPELL_DISARM = 1842,
|
||||
SPELL_RIDE_VEHICLE = 46598,
|
||||
SPELL_TRIGGER_MISSILE = 65347,
|
||||
SPELL_JETPACK = 63341,
|
||||
SPELL_EMERGENCY_MODE = 64582,
|
||||
SPELL_SELF_REPAIR = 64383,
|
||||
SPELL_MAGNETIC_CORE = 64444,
|
||||
// Leviathan MK II
|
||||
SPELL_FLAME_SUPPRESSANT_MK = 64570,
|
||||
SPELL_NAPALM_SHELL = 63666,
|
||||
SPELL_PLASMA_BLAST = 62977,
|
||||
SPELL_PROXIMITY_MINES = 63027,
|
||||
SPELL_SHOCK_BLAST = 63631,
|
||||
// VX 001
|
||||
SPELL_FLAME_SUPPRESSANT_VX = 65192,
|
||||
SPELL_FROSTBOMB = 64623,
|
||||
SPELL_HAND_PULSE = 64348,
|
||||
SPELL_SPINNING_UP = 63414,
|
||||
SPELL_RAPID_BURST = 63387,
|
||||
SPELL_P3WX2_LASER_BARRAGE = 63293,
|
||||
SPELL_ROCKET_STRIKE = 63041,
|
||||
SPELL_HEAT_WAVE = 63677,
|
||||
// Aerial Command Unit
|
||||
SPELL_PLASMA_BALL = 63689,
|
||||
// Additonal spells
|
||||
SPELL_MAGNETIC_FIELD = 64668,
|
||||
SPELL_DEAFENING_SIREN = 64616,
|
||||
SPELL_WATER_SPRAY = 64619,
|
||||
SPELL_FROST_BOMB_HARD_MODE = 64627,
|
||||
SPELL_EXPLOSION = 66351,
|
||||
SPELL_DISARM = 1842,
|
||||
SPELL_RIDE_VEHICLE = 46598,
|
||||
SPELL_TRIGGER_MISSILE = 65347,
|
||||
};
|
||||
|
||||
enum Npc
|
||||
{
|
||||
NPC_ASSAULT_BOT = 34057,
|
||||
NPC_BOMB_BOT = 33836,
|
||||
NPC_JUNK_BOT = 33855,
|
||||
NPC_EMERGENCE_FIRE_BOT = 34147,
|
||||
NPC_FROST_BOMB = 34149,
|
||||
NPC_ASSAULT_BOT = 34057,
|
||||
NPC_BOMB_BOT = 33836,
|
||||
NPC_JUNK_BOT = 33855,
|
||||
NPC_EMERGENCE_FIRE_BOT = 34147,
|
||||
NPC_FROST_BOMB = 34149,
|
||||
};
|
||||
|
||||
class spell_ulduar_proximity_mines : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_ulduar_proximity_mines() : SpellScriptLoader("spell_ulduar_proximity_mines") { }
|
||||
public:
|
||||
spell_ulduar_proximity_mines() : SpellScriptLoader("spell_ulduar_proximity_mines") { }
|
||||
|
||||
class spell_ulduar_proximity_minesSpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_ulduar_proximity_minesSpellScript)
|
||||
class spell_ulduar_proximity_minesSpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_ulduar_proximity_minesSpellScript)
|
||||
|
||||
void HandleScript(SpellEffIndex effIndex)
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex);
|
||||
for (uint8 i = 0; i < 10; ++i)
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_TRIGGER_MISSILE, true);
|
||||
}
|
||||
void HandleScript(SpellEffIndex effIndex)
|
||||
{
|
||||
PreventHitDefaultEffect(effIndex);
|
||||
for (uint8 i = 0; i < 10; ++i)
|
||||
GetCaster()->CastSpell(GetCaster(), SPELL_TRIGGER_MISSILE, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_ulduar_proximity_minesSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
void Register()
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_ulduar_proximity_minesSpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const
|
||||
{
|
||||
return new spell_ulduar_proximity_minesSpellScript();
|
||||
}
|
||||
SpellScript* GetSpellScript() const
|
||||
{
|
||||
return new spell_ulduar_proximity_minesSpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_mimiron()
|
||||
|
||||
@@ -627,7 +627,7 @@ class spell_pal_divine_sacrifice : public SpellScriptLoader
|
||||
|
||||
bool Load()
|
||||
{
|
||||
|
||||
|
||||
if (Unit* caster = GetCaster())
|
||||
{
|
||||
if (caster->GetTypeId() == TYPEID_PLAYER)
|
||||
|
||||
Reference in New Issue
Block a user