Merge remote-tracking branch 'origin/master' into 4.3.4

Conflicts:
	src/server/game/Entities/Creature/GossipDef.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/Entities/Player/Player.h
	src/server/game/Handlers/QuestHandler.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_akilzon.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_halazzi.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_hexlord.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_janalai.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_nalorakk.cpp
	src/server/scripts/EasternKingdoms/ZulAman/boss_zuljin.cpp
	src/server/scripts/EasternKingdoms/ZulAman/instance_zulaman.cpp
	src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_grilek.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_hakkar.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_hazzarah.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_jeklik.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_jindo.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_kilnara.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_mandokir.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_marli.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_renataki.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_thekal.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_venoxis.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/boss_wushoolay.cpp
	src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp
	src/server/scripts/EasternKingdoms/boss_kruul.cpp
	src/server/scripts/EasternKingdoms/zone_arathi_highlands.cpp
	src/server/scripts/EasternKingdoms/zone_burning_steppes.cpp
	src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
	src/server/scripts/EasternKingdoms/zone_hinterlands.cpp
	src/server/scripts/EasternKingdoms/zone_ironforge.cpp
	src/server/scripts/EasternKingdoms/zone_loch_modan.cpp
	src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp
	src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp
	src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp
	src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp
	src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp
	src/server/scripts/Kalimdor/zone_azshara.cpp
	src/server/scripts/Kalimdor/zone_darkshore.cpp
	src/server/scripts/Kalimdor/zone_desolace.cpp
	src/server/scripts/Kalimdor/zone_durotar.cpp
	src/server/scripts/Kalimdor/zone_felwood.cpp
	src/server/scripts/Kalimdor/zone_feralas.cpp
	src/server/scripts/Kalimdor/zone_mulgore.cpp
	src/server/scripts/Kalimdor/zone_orgrimmar.cpp
	src/server/scripts/Kalimdor/zone_stonetalon_mountains.cpp
	src/server/scripts/Kalimdor/zone_tanaris.cpp
	src/server/scripts/Kalimdor/zone_thousand_needles.cpp
	src/server/scripts/Kalimdor/zone_thunder_bluff.cpp
	src/server/scripts/Kalimdor/zone_ungoro_crater.cpp
	src/server/scripts/Northrend/zone_dalaran.cpp
	src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
	src/server/scripts/Spells/spell_druid.cpp
	src/server/scripts/Spells/spell_generic.cpp
	src/server/scripts/Spells/spell_mage.cpp
	src/server/scripts/Spells/spell_paladin.cpp
	src/server/scripts/Spells/spell_priest.cpp
	src/server/scripts/Spells/spell_shaman.cpp
	src/server/scripts/Spells/spell_warlock.cpp
	src/server/scripts/Spells/spell_warrior.cpp
	src/server/scripts/World/item_scripts.cpp
This commit is contained in:
Nay
2013-07-14 16:10:20 +01:00
603 changed files with 14632 additions and 11728 deletions
+1 -1
View File
@@ -33,7 +33,7 @@ class account_commandscript : public CommandScript
public:
account_commandscript() : CommandScript("account_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand accountSetCommandTable[] =
{
@@ -33,7 +33,7 @@ class achievement_commandscript : public CommandScript
public:
achievement_commandscript() : CommandScript("achievement_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand achievementCommandTable[] =
{
+15 -13
View File
@@ -34,7 +34,7 @@ class arena_commandscript : public CommandScript
public:
arena_commandscript() : CommandScript("arena_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand arenaCommandTable[] =
{
@@ -228,9 +228,9 @@ public:
if (!handler->extractPlayerTarget(nameStr, &target, &targetGuid))
return false;
ArenaTeam* Arena = sArenaTeamMgr->GetArenaTeamById(teamId);
ArenaTeam* arena = sArenaTeamMgr->GetArenaTeamById(teamId);
if (!Arena)
if (!arena)
{
handler->PSendSysMessage(LANG_ARENA_ERROR_NOT_FOUND, teamId);
handler->SetSentErrorMessage(true);
@@ -244,36 +244,38 @@ public:
return false;
}
if (Arena->IsFighting())
if (arena->IsFighting())
{
handler->SendSysMessage(LANG_ARENA_ERROR_COMBAT);
handler->SetSentErrorMessage(true);
return false;
}
if (!Arena->IsMember(targetGuid))
if (!arena->IsMember(targetGuid))
{
handler->PSendSysMessage(LANG_ARENA_ERROR_NOT_MEMBER, nameStr, Arena->GetName().c_str());
handler->PSendSysMessage(LANG_ARENA_ERROR_NOT_MEMBER, nameStr, arena->GetName().c_str());
handler->SetSentErrorMessage(true);
return false;
}
if (Arena->GetCaptain() == targetGuid)
if (arena->GetCaptain() == targetGuid)
{
handler->PSendSysMessage(LANG_ARENA_ERROR_CAPTAIN, nameStr, Arena->GetName().c_str());
handler->PSendSysMessage(LANG_ARENA_ERROR_CAPTAIN, nameStr, arena->GetName().c_str());
handler->SetSentErrorMessage(true);
return false;
}
Player* oldCaptain = sObjectMgr->GetPlayerByLowGUID(Arena->GetCaptain());
Arena->SetCaptain(targetGuid);
handler->PSendSysMessage(LANG_ARENA_CAPTAIN, Arena->GetName().c_str(), Arena->GetId(), oldCaptain->GetName().c_str(), target->GetName().c_str());
std::string oldCaptainName;
sObjectMgr->GetPlayerNameByGUID(arena->GetCaptain(), oldCaptainName);
arena->SetCaptain(targetGuid);
handler->PSendSysMessage(LANG_ARENA_CAPTAIN, arena->GetName().c_str(), arena->GetId(), oldCaptainName.c_str(), target->GetName().c_str());
if (handler->GetSession())
TC_LOG_DEBUG(LOG_FILTER_ARENAS, "GameMaster: %s [GUID: %u] promoted player: %s [GUID: %u] to leader of arena team \"%s\"[Id: %u]",
handler->GetSession()->GetPlayer()->GetName().c_str(), handler->GetSession()->GetPlayer()->GetGUIDLow(), target->GetName().c_str(), target->GetGUIDLow(), Arena->GetName().c_str(), Arena->GetId());
handler->GetSession()->GetPlayer()->GetName().c_str(), handler->GetSession()->GetPlayer()->GetGUIDLow(), target->GetName().c_str(), target->GetGUIDLow(), arena->GetName().c_str(), arena->GetId());
else
TC_LOG_DEBUG(LOG_FILTER_ARENAS, "Console: promoted player: %s [GUID: %u] to leader of arena team \"%s\"[Id: %u]",
target->GetName().c_str(), target->GetGUIDLow(), Arena->GetName().c_str(), Arena->GetId());
target->GetName().c_str(), target->GetGUIDLow(), arena->GetName().c_str(), arena->GetId());
return true;
}
+1 -1
View File
@@ -35,7 +35,7 @@ class ban_commandscript : public CommandScript
public:
ban_commandscript() : CommandScript("ban_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand unbanCommandTable[] =
{
+1 -1
View File
@@ -31,7 +31,7 @@ class bf_commandscript : public CommandScript
public:
bf_commandscript() : CommandScript("bf_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand battlefieldcommandTable[] =
{
+1 -1
View File
@@ -33,7 +33,7 @@ class cast_commandscript : public CommandScript
public:
cast_commandscript() : CommandScript("cast_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand castCommandTable[] =
{
+1 -1
View File
@@ -35,7 +35,7 @@ class character_commandscript : public CommandScript
public:
character_commandscript() : CommandScript("character_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand pdumpCommandTable[] =
{
+1 -1
View File
@@ -33,7 +33,7 @@ class cheat_commandscript : public CommandScript
public:
cheat_commandscript() : CommandScript("cheat_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand cheatCommandTable[] =
+1 -1
View File
@@ -40,7 +40,7 @@ class debug_commandscript : public CommandScript
public:
debug_commandscript() : CommandScript("debug_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand debugPlayCommandTable[] =
{
+1 -1
View File
@@ -43,7 +43,7 @@ public:
* @brief Returns the command structure for the system.
*/
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand deserterInstanceCommandTable[] =
{
+1 -1
View File
@@ -37,7 +37,7 @@ class disable_commandscript : public CommandScript
public:
disable_commandscript() : CommandScript("disable_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand removeDisableCommandTable[] =
{
+1 -1
View File
@@ -33,7 +33,7 @@ class event_commandscript : public CommandScript
public:
event_commandscript() : CommandScript("event_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand eventCommandTable[] =
{
+1 -1
View File
@@ -36,7 +36,7 @@ class gm_commandscript : public CommandScript
public:
gm_commandscript() : CommandScript("gm_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand gmCommandTable[] =
{
+1 -1
View File
@@ -35,7 +35,7 @@ class go_commandscript : public CommandScript
public:
go_commandscript() : CommandScript("go_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand goCommandTable[] =
{
+1 -1
View File
@@ -33,7 +33,7 @@ class honor_commandscript : public CommandScript
public:
honor_commandscript() : CommandScript("honor_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand honorAddCommandTable[] =
{
+1 -1
View File
@@ -35,7 +35,7 @@ class instance_commandscript : public CommandScript
public:
instance_commandscript() : CommandScript("instance_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand instanceCommandTable[] =
{
+1 -1
View File
@@ -36,7 +36,7 @@ class learn_commandscript : public CommandScript
public:
learn_commandscript() : CommandScript("learn_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand learnAllMyCommandTable[] =
{
+1 -1
View File
@@ -41,7 +41,7 @@ class lfg_commandscript : public CommandScript
public:
lfg_commandscript() : CommandScript("lfg_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand lfgCommandTable[] =
{
+1 -1
View File
@@ -36,7 +36,7 @@ class list_commandscript : public CommandScript
public:
list_commandscript() : CommandScript("list_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand listCommandTable[] =
{
+1 -1
View File
@@ -37,7 +37,7 @@ class lookup_commandscript : public CommandScript
public:
lookup_commandscript() : CommandScript("lookup_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand lookupPlayerCommandTable[] =
{
+1 -1
View File
@@ -42,7 +42,7 @@ class misc_commandscript : public CommandScript
public:
misc_commandscript() : CommandScript("misc_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand groupCommandTable[] =
{
+1 -1
View File
@@ -41,7 +41,7 @@ class mmaps_commandscript : public CommandScript
public:
mmaps_commandscript() : CommandScript("mmaps_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand mmapCommandTable[] =
{
+1 -1
View File
@@ -37,7 +37,7 @@ class modify_commandscript : public CommandScript
public:
modify_commandscript() : CommandScript("modify_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand modifyspeedCommandTable[] =
{
+1 -1
View File
@@ -74,7 +74,7 @@ class npc_commandscript : public CommandScript
public:
npc_commandscript() : CommandScript("npc_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand npcAddCommandTable[] =
{
+1 -1
View File
@@ -33,7 +33,7 @@ class quest_commandscript : public CommandScript
public:
quest_commandscript() : CommandScript("quest_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand questCommandTable[] =
{
+1 -1
View File
@@ -35,7 +35,7 @@ class reset_commandscript : public CommandScript
public:
reset_commandscript() : CommandScript("reset_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand resetCommandTable[] =
{
+1 -1
View File
@@ -35,7 +35,7 @@ class server_commandscript : public CommandScript
public:
server_commandscript() : CommandScript("server_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand serverIdleRestartCommandTable[] =
{
+1 -1
View File
@@ -35,7 +35,7 @@ class tele_commandscript : public CommandScript
public:
tele_commandscript() : CommandScript("tele_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand teleCommandTable[] =
{
+1 -1
View File
@@ -33,7 +33,7 @@ class titles_commandscript : public CommandScript
public:
titles_commandscript() : CommandScript("titles_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand titlesSetCommandTable[] =
{
+1 -1
View File
@@ -34,7 +34,7 @@ class wp_commandscript : public CommandScript
public:
wp_commandscript() : CommandScript("wp_commandscript") { }
ChatCommand* GetCommands() const
ChatCommand* GetCommands() const OVERRIDE
{
static ChatCommand wpCommandTable[] =
{
@@ -86,7 +86,7 @@ class npc_av_marshal_or_warmaster : public CreatureScript
{
npc_av_marshal_or_warmasterAI(Creature* creature) : ScriptedAI(creature) { }
void Reset()
void Reset() OVERRIDE
{
events.Reset();
events.ScheduleEvent(EVENT_CHARGE_TARGET, urand(2 * IN_MILLISECONDS, 12 * IN_MILLISECONDS));
@@ -99,12 +99,12 @@ class npc_av_marshal_or_warmaster : public CreatureScript
_hasAura = false;
}
void JustRespawned()
void JustRespawned() OVERRIDE
{
Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
// I have a feeling this isn't blizzlike, but owell, I'm only passing by and cleaning up.
if (!_hasAura)
@@ -170,7 +170,7 @@ class npc_av_marshal_or_warmaster : public CreatureScript
bool _hasAura;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_av_marshal_or_warmasterAI(creature);
}
@@ -56,13 +56,13 @@ public:
uint64 balindaGUID;
uint32 resetTimer;
void Reset()
void Reset() OVERRIDE
{
waterBoltTimer = 3 * IN_MILLISECONDS;
resetTimer = 5 * IN_MILLISECONDS;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -86,7 +86,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_water_elementalAI(creature);
}
@@ -110,7 +110,7 @@ public:
SummonList summons;
void Reset()
void Reset() OVERRIDE
{
arcaneExplosionTimer = urand(5 * IN_MILLISECONDS, 15 * IN_MILLISECONDS);
coneOfColdTimer = 8 * IN_MILLISECONDS;
@@ -122,17 +122,17 @@ public:
summons.DespawnAll();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(YELL_AGGRO);
}
void JustRespawned()
void JustRespawned() OVERRIDE
{
Reset();
}
void JustSummoned(Creature* summoned)
void JustSummoned(Creature* summoned) OVERRIDE
{
CAST_AI(npc_water_elemental::npc_water_elementalAI, summoned->AI())->balindaGUID = me->GetGUID();
summoned->AI()->AttackStart(SelectTarget(SELECT_TARGET_RANDOM, 0, 50, true));
@@ -140,12 +140,12 @@ public:
summons.Summon(summoned);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
summons.DespawnAll();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -196,7 +196,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_balindaAI(creature);
}
@@ -54,7 +54,7 @@ public:
uint32 YellTimer;
uint32 ResetTimer;
void Reset()
void Reset() OVERRIDE
{
WhirlwindTimer = urand(1 * IN_MILLISECONDS, 20 * IN_MILLISECONDS);
Whirlwind2Timer = urand(1 * IN_MILLISECONDS, 20 * IN_MILLISECONDS);
@@ -64,18 +64,18 @@ public:
YellTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS); //20 to 30 seconds
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(YELL_AGGRO);
}
void JustRespawned()
void JustRespawned() OVERRIDE
{
Reset();
Talk(YELL_RESPAWN);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -125,7 +125,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_drektharAI(creature);
}
@@ -49,7 +49,7 @@ public:
uint32 MortalStrikeTimer;
uint32 ResetTimer;
void Reset()
void Reset() OVERRIDE
{
CleaveTimer = urand(1 * IN_MILLISECONDS, 9 * IN_MILLISECONDS);
FrighteningShoutTimer = urand(2 * IN_MILLISECONDS, 19 * IN_MILLISECONDS);
@@ -59,17 +59,17 @@ public:
ResetTimer = 5 * IN_MILLISECONDS;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(YELL_AGGRO);
}
void JustRespawned()
void JustRespawned() OVERRIDE
{
Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -119,7 +119,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_galvangarAI(creature);
}
@@ -50,7 +50,7 @@ public:
uint32 ResetTimer;
uint32 YellTimer;
void Reset()
void Reset() OVERRIDE
{
AvatarTimer = 3 * IN_MILLISECONDS;
ThunderclapTimer = 4 * IN_MILLISECONDS;
@@ -59,12 +59,12 @@ public:
YellTimer = urand(20 * IN_MILLISECONDS, 30 * IN_MILLISECONDS);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(YELL_AGGRO);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -108,7 +108,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_vanndarAI(creature);
}
@@ -29,7 +29,7 @@ class go_shadowforge_brazier : public GameObjectScript
public:
go_shadowforge_brazier() : GameObjectScript("go_shadowforge_brazier") { }
bool OnGossipHello(Player* /*player*/, GameObject* go)
bool OnGossipHello(Player* /*player*/, GameObject* go) OVERRIDE
{
if (InstanceScript* instance = go->GetInstanceScript())
{
@@ -48,7 +48,7 @@ public:
};
// npc_grimstone
enum eGrimstone
enum Grimstone
{
NPC_GRIMSTONE = 10096,
NPC_THELDREN = 16059,
@@ -82,7 +82,7 @@ class at_ring_of_law : public AreaTriggerScript
public:
at_ring_of_law() : AreaTriggerScript("at_ring_of_law") { }
bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/)
bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
{
if (InstanceScript* instance = player->GetInstanceScript())
{
@@ -115,7 +115,7 @@ class npc_grimstone : public CreatureScript
public:
npc_grimstone() : CreatureScript("npc_grimstone") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_grimstoneAI(creature);
}
@@ -142,7 +142,7 @@ public:
bool CanWalk;
void Reset()
void Reset() OVERRIDE
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
@@ -181,7 +181,7 @@ public:
MobDeath_Timer = 2500;
}
void WaypointReached(uint32 waypointId)
void WaypointReached(uint32 waypointId) OVERRIDE
{
switch (waypointId)
{
@@ -222,7 +222,7 @@ public:
instance->HandleGameObject(instance->GetData64(id), open);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!instance)
return;
@@ -352,9 +352,9 @@ class npc_phalanx : public CreatureScript
public:
npc_phalanx() : CreatureScript("npc_phalanx") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_phalanxAI (creature);
return new npc_phalanxAI(creature);
}
struct npc_phalanxAI : public ScriptedAI
@@ -365,14 +365,14 @@ public:
uint32 FireballVolley_Timer;
uint32 MightyBlow_Timer;
void Reset()
void Reset() OVERRIDE
{
ThunderClap_Timer = 12000;
FireballVolley_Timer = 0;
MightyBlow_Timer = 15000;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -430,7 +430,7 @@ class npc_kharan_mighthammer : public CreatureScript
public:
npc_kharan_mighthammer() : CreatureScript("npc_kharan_mighthammer") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -479,7 +479,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -524,7 +524,7 @@ class npc_lokhtos_darkbargainer : public CreatureScript
public:
npc_lokhtos_darkbargainer() : CreatureScript("npc_lokhtos_darkbargainer") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -538,7 +538,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -577,7 +577,7 @@ class npc_dughal_stormwing : public CreatureScript
public:
npc_dughal_stormwing() : CreatureScript("npc_dughal_stormwing") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
npc_dughal_stormwingAI* dughal_stormwingAI = new npc_dughal_stormwingAI(creature);
@@ -588,7 +588,7 @@ public:
return dughal_stormwingAI;
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -601,7 +601,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (player->GetQuestStatus(QUEST_JAIL_BREAK) == QUEST_STATUS_INCOMPLETE && instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_IN_PROGRESS)
{
@@ -615,7 +615,7 @@ public:
{
npc_dughal_stormwingAI(Creature* creature) : npc_escortAI(creature) {}
void WaypointReached(uint32 waypointId)
void WaypointReached(uint32 waypointId) OVERRIDE
{
switch (waypointId)
{
@@ -634,10 +634,10 @@ public:
}
}
void EnterCombat(Unit* who) {}
void Reset() {}
void EnterCombat(Unit* who) OVERRIDE {}
void Reset() OVERRIDE {}
void JustDied(Unit* killer)
void JustDied(Unit* killer) OVERRIDE
{
if (IsBeingEscorted && killer == me)
{
@@ -648,7 +648,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED) return;
if ((instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_IN_PROGRESS || instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_FAILED || instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_ENDED)&& instance->GetData(DATA_DUGHAL) == ENCOUNTER_STATE_ENDED)
@@ -680,7 +680,11 @@ public:
#define SAY_WINDSOR_4_3 "Good work! We're almost there, $N. This way."
#define SAY_WINDSOR_6 "This is it, $N. My stuff should be in that room. Cover me, I'm going in!"
#define SAY_WINDSOR_9 "Ah, there it is!"
#define NPC_REGINALD_WINDSOR 9682
enum MarshalWindsor
{
NPC_REGINALD_WINDSOR = 9682
};
/*
Player* playerStart;
@@ -689,7 +693,7 @@ class npc_marshal_windsor : public CreatureScript
public:
npc_marshal_windsor() : CreatureScript("npc_marshal_windsor") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
npc_marshal_windsorAI* marshal_windsorAI = new npc_marshal_windsorAI(creature);
@@ -717,7 +721,7 @@ public:
return marshal_windsorAI;
}
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest)
bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE
{
if (quest->GetQuestId() == 4322)
{
@@ -739,7 +743,7 @@ public:
instance = creature->GetInstanceScript();
}
void WaypointReached(uint32 waypointId)
void WaypointReached(uint32 waypointId) OVERRIDE
{
switch (waypointId)
{
@@ -784,7 +788,7 @@ public:
}
}
void EnterCombat(Unit* who)
void EnterCombat(Unit* who) OVERRIDE
{
switch (urand(0, 2))
{
@@ -800,14 +804,14 @@ public:
}
}
void Reset() {}
void Reset() OVERRIDE {}
void JustDied(Unit* slayer)
void JustDied(Unit* slayer) OVERRIDE
{
instance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_FAILED);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -859,8 +863,12 @@ public:
#define SAY_REGINALD_WINDSOR_14_2 "Excellent work, $N. Let's find the exit. I think I know the way. Follow me!"
#define SAY_REGINALD_WINDSOR_20_1 "We made it!"
#define SAY_REGINALD_WINDSOR_20_2 "Meet me at Maxwell's encampment. We'll go over the next stages of the plan there and figure out a way to decode my tablets without the decryption ring."
#define NPC_SHILL_DINGER 9678
#define NPC_CREST_KILLER 9680
enum MarshalReginaldWindor
{
NPC_SHILL_DINGER = 9678,
NPC_CREST_KILLER = 9680
};
/*
int wp = 0;
@@ -869,7 +877,7 @@ class npc_marshal_reginald_windsor : public CreatureScript
public:
npc_marshal_reginald_windsor() : CreatureScript("npc_marshal_reginald_windsor") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
npc_marshal_reginald_windsorAI* marshal_reginald_windsorAI = new npc_marshal_reginald_windsorAI(creature);
@@ -918,7 +926,7 @@ public:
{
}
void WaypointReached(uint32 waypointId)
void WaypointReached(uint32 waypointId) OVERRIDE
{
wp = waypointId;
switch (waypointId)
@@ -976,7 +984,8 @@ public:
}
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
return;
@@ -995,7 +1004,7 @@ public:
}
}
void EnterCombat(Unit* who)
void EnterCombat(Unit* who) OVERRIDE
{
switch (urand(0, 2))
{
@@ -1010,14 +1019,14 @@ public:
break;
}
}
void Reset() {}
void Reset() OVERRIDE {}
void JustDied(Unit* slayer)
void JustDied(Unit* slayer) OVERRIDE
{
instance->SetData(DATA_QUEST_JAIL_BREAK, ENCOUNTER_STATE_FAILED);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -1026,10 +1035,10 @@ public:
{
if (!instance->GetData(DATA_GATE_J) && instance->GetData(DATA_JAZ) == ENCOUNTER_STATE_NOT_STARTED)
{
instance->SetData(DATA_CREATURE_JAZ, 1);
instance->SetData(DATA_NPC_JAZ, 1);
instance->SetData(DATA_JAZ, ENCOUNTER_STATE_IN_PROGRESS);
}
if (instance->GetData(DATA_CREATURE_JAZ) && instance->GetData(DATA_CREATURE_OGRABISI) && instance->GetData(DATA_JAZ) == ENCOUNTER_STATE_IN_PROGRESS)
if (instance->GetData(DATA_NPC_JAZ) && instance->GetData(DATA_NPC_OGRABISI) && instance->GetData(DATA_JAZ) == ENCOUNTER_STATE_IN_PROGRESS)
{
SetEscortPaused(false);
instance->SetData(DATA_JAZ, ENCOUNTER_STATE_ENDED);
@@ -1039,10 +1048,10 @@ public:
{
if (!instance->GetData(DATA_GATE_S) && instance->GetData(DATA_SHILL) == ENCOUNTER_STATE_NOT_STARTED)
{
instance->SetData(DATA_CREATURE_SHILL, 1);
instance->SetData(DATA_NPC_SHILL, 1);
instance->SetData(DATA_SHILL, ENCOUNTER_STATE_IN_PROGRESS);
}
if (instance->GetData(DATA_CREATURE_SHILL) && instance->GetData(DATA_SHILL) == ENCOUNTER_STATE_IN_PROGRESS)
if (instance->GetData(DATA_NPC_SHILL) && instance->GetData(DATA_SHILL) == ENCOUNTER_STATE_IN_PROGRESS)
{
instance->SetData(DATA_SHILL, ENCOUNTER_STATE_ENDED);
SetEscortPaused(false);
@@ -1052,11 +1061,11 @@ public:
{
if (!instance->GetData(DATA_GATE_C) && instance->GetData(DATA_CREST) == ENCOUNTER_STATE_NOT_STARTED)
{
instance->SetData(DATA_CREATURE_CREST, 1);
instance->SetData(DATA_NPC_CREST, 1);
me->Say(SAY_REGINALD_WINDSOR_13_2, LANG_UNIVERSAL, PlayerGUID);
instance->SetData(DATA_CREST, ENCOUNTER_STATE_IN_PROGRESS);
}
if (instance->GetData(DATA_CREATURE_CREST) && instance->GetData(DATA_CREST) == ENCOUNTER_STATE_IN_PROGRESS)
if (instance->GetData(DATA_NPC_CREST) && instance->GetData(DATA_CREST) == ENCOUNTER_STATE_IN_PROGRESS)
{
SetEscortPaused(false);
instance->SetData(DATA_CREST, ENCOUNTER_STATE_ENDED);
@@ -1078,7 +1087,7 @@ class npc_tobias_seecher : public CreatureScript
public:
npc_tobias_seecher() : CreatureScript("npc_tobias_seecher") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
npc_tobias_seecherAI* tobias_seecherAI = new npc_tobias_seecherAI(creature);
@@ -1091,7 +1100,7 @@ public:
return tobias_seecherAI;
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -1104,7 +1113,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (player->GetQuestStatus(QUEST_JAIL_BREAK) == QUEST_STATUS_INCOMPLETE && instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_IN_PROGRESS)
{
@@ -1118,10 +1127,10 @@ public:
{
npc_tobias_seecherAI(Creature* creature) : npc_escortAI(creature) {}
void EnterCombat(Unit* who) {}
void Reset() {}
void EnterCombat(Unit* who) OVERRIDE {}
void Reset() OVERRIDE {}
void JustDied(Unit* killer)
void JustDied(Unit* killer) OVERRIDE
{
if (IsBeingEscorted && killer == me)
{
@@ -1132,7 +1141,7 @@ public:
}
}
void WaypointReached(uint32 waypointId)
void WaypointReached(uint32 waypointId) OVERRIDE
{
switch (waypointId)
{
@@ -1151,7 +1160,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (instance->GetData(DATA_QUEST_JAIL_BREAK) == ENCOUNTER_STATE_NOT_STARTED)
return;
@@ -1196,7 +1205,7 @@ class npc_rocknot : public CreatureScript
public:
npc_rocknot() : CreatureScript("npc_rocknot") { }
bool OnQuestReward(Player* /*player*/, Creature* creature, Quest const* quest, uint32 /*item*/)
bool OnQuestReward(Player* /*player*/, Creature* creature, Quest const* quest, uint32 /*item*/) OVERRIDE
{
InstanceScript* instance = creature->GetInstanceScript();
if (!instance)
@@ -1226,7 +1235,7 @@ public:
return true;
}
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_rocknotAI(creature);
}
@@ -1243,7 +1252,7 @@ public:
uint32 BreakKeg_Timer;
uint32 BreakDoor_Timer;
void Reset()
void Reset() OVERRIDE
{
if (HasEscortState(STATE_ESCORT_ESCORTING))
return;
@@ -1258,7 +1267,7 @@ public:
go->SetGoState((GOState)state);
}
void WaypointReached(uint32 waypointId)
void WaypointReached(uint32 waypointId) OVERRIDE
{
if (!instance)
return;
@@ -1284,7 +1293,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!instance)
return;
@@ -19,11 +19,14 @@
#ifndef DEF_BRD_H
#define DEF_BRD_H
#define FACTION_NEUTRAL 734
#define FACTION_HOSTILE 754
#define FACTION_FRIEND 35
enum FactionIds
{
FACTION_NEUTRAL = 734,
FACTION_HOSTILE = 754,
FACTION_FRIEND = 35
};
enum eTypes
enum DataTypes
{
TYPE_RING_OF_LAW = 1,
TYPE_VAULT = 2,
@@ -57,4 +60,5 @@ enum eTypes
DATA_SF_BRAZIER_S = 26,
DATA_MOIRA = 27,
};
#endif
@@ -29,9 +29,9 @@ class boss_ambassador_flamelash : public CreatureScript
public:
boss_ambassador_flamelash() : CreatureScript("boss_ambassador_flamelash") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_ambassador_flamelashAI (creature);
return new boss_ambassador_flamelashAI(creature);
}
struct boss_ambassador_flamelashAI : public ScriptedAI
@@ -41,13 +41,13 @@ public:
uint32 FireBlast_Timer;
uint32 Spirit_Timer;
void Reset()
void Reset() OVERRIDE
{
FireBlast_Timer = 2000;
Spirit_Timer = 24000;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void SummonSpirits(Unit* victim)
{
@@ -55,7 +55,7 @@ public:
Spirit->AI()->AttackStart(victim);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -33,9 +33,9 @@ class boss_anubshiah : public CreatureScript
public:
boss_anubshiah() : CreatureScript("boss_anubshiah") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_anubshiahAI (creature);
return new boss_anubshiahAI(creature);
}
struct boss_anubshiahAI : public ScriptedAI
@@ -48,7 +48,7 @@ public:
uint32 DemonArmor_Timer;
uint32 EnvelopingWeb_Timer;
void Reset()
void Reset() OVERRIDE
{
ShadowBolt_Timer = 7000;
CurseOfTongues_Timer = 24000;
@@ -57,9 +57,9 @@ public:
EnvelopingWeb_Timer = 16000;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -37,9 +37,9 @@ class boss_emperor_dagran_thaurissan : public CreatureScript
public:
boss_emperor_dagran_thaurissan() : CreatureScript("boss_emperor_dagran_thaurissan") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_draganthaurissanAI (creature);
return new boss_draganthaurissanAI(creature);
}
struct boss_draganthaurissanAI : public ScriptedAI
@@ -54,25 +54,25 @@ public:
uint32 AvatarOfFlame_Timer;
//uint32 Counter;
void Reset()
void Reset() OVERRIDE
{
HandOfThaurissan_Timer = 4000;
AvatarOfFlame_Timer = 25000;
//Counter= 0;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
me->CallForHelp(VISIBLE_RANGE);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (Creature* Moira = ObjectAccessor::GetCreature(*me, instance ? instance->GetData64(DATA_MOIRA) : 0))
{
@@ -81,7 +81,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -31,9 +31,9 @@ class boss_general_angerforge : public CreatureScript
public:
boss_general_angerforge() : CreatureScript("boss_general_angerforge") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_general_angerforgeAI (creature);
return new boss_general_angerforgeAI(creature);
}
struct boss_general_angerforgeAI : public ScriptedAI
@@ -46,7 +46,7 @@ public:
uint32 Adds_Timer;
bool Medics;
void Reset()
void Reset() OVERRIDE
{
MightyBlow_Timer = 8000;
HamString_Timer = 12000;
@@ -55,7 +55,7 @@ public:
Medics = false;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void SummonAdds(Unit* victim)
{
@@ -69,7 +69,7 @@ public:
SummonedMedic->AI()->AttackStart(victim);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -30,9 +30,9 @@ class boss_gorosh_the_dervish : public CreatureScript
public:
boss_gorosh_the_dervish() : CreatureScript("boss_gorosh_the_dervish") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_gorosh_the_dervishAI (creature);
return new boss_gorosh_the_dervishAI(creature);
}
struct boss_gorosh_the_dervishAI : public ScriptedAI
@@ -42,17 +42,17 @@ public:
uint32 WhirlWind_Timer;
uint32 MortalStrike_Timer;
void Reset()
void Reset() OVERRIDE
{
WhirlWind_Timer = 12000;
MortalStrike_Timer = 22000;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -31,9 +31,9 @@ class boss_grizzle : public CreatureScript
public:
boss_grizzle() : CreatureScript("boss_grizzle") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_grizzleAI (creature);
return new boss_grizzleAI(creature);
}
struct boss_grizzleAI : public ScriptedAI
@@ -43,15 +43,15 @@ public:
uint32 GroundTremor_Timer;
uint32 Frenzy_Timer;
void Reset()
void Reset() OVERRIDE
{
GroundTremor_Timer = 12000;
Frenzy_Timer =0;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -32,9 +32,9 @@ class boss_high_interrogator_gerstahn : public CreatureScript
public:
boss_high_interrogator_gerstahn() : CreatureScript("boss_high_interrogator_gerstahn") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_high_interrogator_gerstahnAI (creature);
return new boss_high_interrogator_gerstahnAI(creature);
}
struct boss_high_interrogator_gerstahnAI : public ScriptedAI
@@ -46,7 +46,7 @@ public:
uint32 PsychicScream_Timer;
uint32 ShadowShield_Timer;
void Reset()
void Reset() OVERRIDE
{
ShadowWordPain_Timer = 4000;
ManaBurn_Timer = 14000;
@@ -54,9 +54,9 @@ public:
ShadowShield_Timer = 8000;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -25,7 +25,7 @@ enum Spells
SPELL_WARSTOMP = 24375
};
enum eEnums
enum Misc
{
DATA_THRONE_DOOR = 24 // not id or guid of doors but number of enum in blackrock_depths.h
};
@@ -35,9 +35,9 @@ class boss_magmus : public CreatureScript
public:
boss_magmus() : CreatureScript("boss_magmus") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_magmusAI (creature);
return new boss_magmusAI(creature);
}
struct boss_magmusAI : public ScriptedAI
@@ -47,15 +47,15 @@ public:
uint32 FieryBurst_Timer;
uint32 WarStomp_Timer;
void Reset()
void Reset() OVERRIDE
{
FieryBurst_Timer = 5000;
WarStomp_Timer =0;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -81,7 +81,7 @@ public:
DoMeleeAttackIfReady();
}
// When he die open door to last chamber
void JustDied(Unit* killer)
void JustDied(Unit* killer) OVERRIDE
{
if (InstanceScript* instance = killer->GetInstanceScript())
instance->HandleGameObject(instance->GetData64(DATA_THRONE_DOOR), true);
@@ -34,9 +34,9 @@ class boss_moira_bronzebeard : public CreatureScript
public:
boss_moira_bronzebeard() : CreatureScript("boss_moira_bronzebeard") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_moira_bronzebeardAI (creature);
return new boss_moira_bronzebeardAI(creature);
}
struct boss_moira_bronzebeardAI : public ScriptedAI
@@ -48,7 +48,7 @@ public:
uint32 ShadowWordPain_Timer;
uint32 Smite_Timer;
void Reset()
void Reset() OVERRIDE
{
Heal_Timer = 12000; //These times are probably wrong
MindBlast_Timer = 16000;
@@ -56,9 +56,9 @@ public:
Smite_Timer = 8000;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -48,7 +48,7 @@ class boss_gloomrel : public CreatureScript
public:
boss_gloomrel() : CreatureScript("boss_gloomrel") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -77,7 +77,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (player->GetQuestRewardStatus(QUEST_SPECTRAL_CHALICE) == 1 && player->GetSkillValue(SKILL_MINING) >= DATA_SKILLPOINT_MIN && !player->HasSpell(SPELL_SMELT_DARK_IRON))
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_TEACH_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
@@ -107,7 +107,7 @@ class boss_doomrel : public CreatureScript
public:
boss_doomrel() : CreatureScript("boss_doomrel") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -130,7 +130,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_CHALLENGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
player->SEND_GOSSIP_MENU(2601, creature->GetGUID());
@@ -138,9 +138,9 @@ public:
return true;
}
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_doomrelAI (creature);
return new boss_doomrelAI(creature);
}
struct boss_doomrelAI : public ScriptedAI
@@ -157,7 +157,7 @@ public:
uint32 DemonArmor_Timer;
bool Voidwalkers;
void Reset()
void Reset() OVERRIDE
{
ShadowVolley_Timer = 10000;
Immolate_Timer = 18000;
@@ -179,11 +179,11 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
}
void EnterEvadeMode()
void EnterEvadeMode() OVERRIDE
{
me->RemoveAllAuras();
me->DeleteThreatList();
@@ -196,13 +196,13 @@ public:
instance->SetData64(DATA_EVENSTARTER, 0);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (instance)
instance->SetData(DATA_GHOSTKILL, 1);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -22,11 +22,10 @@
#include "blackrock_depths.h"
#define TIMER_TOMBOFTHESEVEN 15000
#define MAX_ENCOUNTER 6
enum eEnums
enum Creatures
{
MAX_ENCOUNTER = 6,
NPC_EMPEROR = 9019,
NPC_PHALANX = 9502,
NPC_ANGERREL = 9035,
@@ -37,8 +36,11 @@ enum eEnums
NPC_GLOOMREL = 9037,
NPC_DOOMREL = 9039,
NPC_MAGMUS = 9938,
NPC_MOIRA = 8929,
NPC_MOIRA = 8929
};
enum GameObjects
{
GO_ARENA1 = 161525,
GO_ARENA2 = 161522,
GO_ARENA3 = 161524,
@@ -67,7 +69,7 @@ class instance_blackrock_depths : public InstanceMapScript
public:
instance_blackrock_depths() : InstanceMapScript("instance_blackrock_depths", 230) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const
InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
{
return new instance_blackrock_depths_InstanceMapScript(map);
}
@@ -210,7 +212,7 @@ public:
}
}
void SetData64(uint32 type, uint64 data)
void SetData64(uint32 type, uint64 data) OVERRIDE
{
TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Blackrock Depths: SetData64 update (Type: %u Data " UI64FMTD ")", type, data);
@@ -226,7 +228,7 @@ public:
}
}
void SetData(uint32 type, uint32 data)
void SetData(uint32 type, uint32 data) OVERRIDE
{
TC_LOG_DEBUG(LOG_FILTER_TSCR, "Instance Blackrock Depths: SetData update (Type: %u Data %u)", type, data);
@@ -273,7 +275,7 @@ public:
}
}
uint32 GetData(uint32 type) const
uint32 GetData(uint32 type) const OVERRIDE
{
switch (type)
{
@@ -298,7 +300,7 @@ public:
return 0;
}
uint64 GetData64(uint32 data) const
uint64 GetData64(uint32 data) const OVERRIDE
{
switch (data)
{
@@ -45,12 +45,12 @@ public:
{
boss_drakkisathAI(Creature* creature) : BossAI(creature, DATA_GENERAL_DRAKKISATH) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_FIRE_NOVA, 6000);
@@ -59,12 +59,12 @@ public:
events.ScheduleEvent(EVENT_THUNDERCLAP, 17000);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -100,7 +100,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_drakkisathAI(creature);
}
@@ -48,29 +48,29 @@ public:
{
boss_gizrul_the_slavenerAI(Creature* creature) : BossAI(creature, DATA_GIZRUL_THE_SLAVENER) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
}
void IsSummonedBy(Unit* /*summoner*/)
void IsSummonedBy(Unit* /*summoner*/) OVERRIDE
{
me->GetMotionMaster()->MovePath(GIZRUL_PATH, false);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_FATAL_BITE, urand(17000,20000));
events.ScheduleEvent(EVENT_INFECTED_BITE, urand(10000,12000));
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -100,7 +100,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_gizrul_the_slavenerAI(creature);
}
@@ -57,7 +57,7 @@ public:
bool SummonedRend;
void Reset()
void Reset() OVERRIDE
{
SummonedRend = false;
if (instance->GetBossState(DATA_GYTH) == IN_PROGRESS)
@@ -67,7 +67,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
@@ -77,12 +77,12 @@ public:
events.ScheduleEvent(EVENT_KNOCK_AWAY, urand(12000, 18000));
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
instance->SetBossState(DATA_GYTH, DONE);
}
void SetData(uint32 /*type*/, uint32 data)
void SetData(uint32 /*type*/, uint32 data) OVERRIDE
{
switch (data)
{
@@ -94,7 +94,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!SummonedRend && HealthBelowPct(5))
@@ -160,7 +160,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_gythAI(creature);
}
@@ -47,20 +47,20 @@ public:
{
boss_halyconAI(Creature* creature) : BossAI(creature, DATA_HALYCON) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
Summoned = false;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_REND, urand(17000,20000));
events.ScheduleEvent(EVENT_THRASH, urand(10000,12000));
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
me->SummonCreature(NPC_GIZRUL_THE_SLAVENER, SummonLocation, TEMPSUMMON_TIMED_DESPAWN, 300000);
Talk(EMOTE_DEATH);
@@ -68,7 +68,7 @@ public:
Summoned = true;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -99,7 +99,7 @@ public:
bool Summoned;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_halyconAI(creature);
}
@@ -37,7 +37,7 @@ class boss_highlord_omokk : public CreatureScript
public:
boss_highlord_omokk() : CreatureScript("boss_highlord_omokk") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_highlordomokkAI(creature);
}
@@ -46,24 +46,24 @@ public:
{
boss_highlordomokkAI(Creature* creature) : BossAI(creature, DATA_HIGHLORD_OMOKK) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_FRENZY, 20000);
events.ScheduleEvent(EVENT_KNOCK_AWAY, 18000);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -38,7 +38,7 @@ class boss_mother_smolderweb : public CreatureScript
public:
boss_mother_smolderweb() : CreatureScript("boss_mother_smolderweb") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_mothersmolderwebAI(creature);
}
@@ -47,30 +47,30 @@ public:
{
boss_mothersmolderwebAI(Creature* creature) : BossAI(creature, DATA_MOTHER_SMOLDERWEB) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_CRYSTALIZE, 20 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_MOTHERS_MILK, 10 * IN_MILLISECONDS);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void DamageTaken(Unit* /*done_by*/, uint32 &damage)
void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
{
if (me->GetHealth() <= damage)
DoCast(me, SPELL_SUMMON_SPIRE_SPIDERLING, true);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -50,7 +50,7 @@ class boss_overlord_wyrmthalak : public CreatureScript
public:
boss_overlord_wyrmthalak() : CreatureScript("boss_overlord_wyrmthalak") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_overlordwyrmthalakAI(creature);
}
@@ -61,13 +61,13 @@ public:
bool Summoned;
void Reset()
void Reset() OVERRIDE
{
_Reset();
Summoned = false;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_BLAST_WAVE, 20 * IN_MILLISECONDS);
@@ -76,12 +76,12 @@ public:
events.ScheduleEvent(EVENT_KNOCK_AWAY, 12 * IN_MILLISECONDS);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -77,7 +77,7 @@ public:
{
boss_pyroguard_emberseerAI(Creature* creature) : BossAI(creature, DATA_PYROGAURD_EMBERSEER) {}
void Reset()
void Reset() OVERRIDE
{
if (instance)
{
@@ -98,7 +98,7 @@ public:
}
}
void SetData(uint32 /*type*/, uint32 data)
void SetData(uint32 /*type*/, uint32 data) OVERRIDE
{
switch (data)
{
@@ -122,7 +122,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
// ### TODO Check combat timing ###
events.ScheduleEvent(EVENT_FIRENOVA, 6000);
@@ -130,7 +130,7 @@ public:
events.ScheduleEvent(EVENT_PYROBLAST, 14000);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (instance)
{
@@ -143,7 +143,7 @@ public:
}
}
void SpellHit(Unit* /*caster*/, SpellInfo const* spell)
void SpellHit(Unit* /*caster*/, SpellInfo const* spell) OVERRIDE
{
if (spell->Id == SPELL_ENCAGE_EMBERSEER)
{
@@ -205,7 +205,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
{
@@ -314,7 +314,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_pyroguard_emberseerAI(creature);
}
@@ -342,19 +342,19 @@ public:
{
npc_blackhand_incarceratorAI(Creature* creature) : ScriptedAI(creature) {}
void Reset()
void Reset() OVERRIDE
{
me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC|UNIT_FLAG_IMMUNE_TO_NPC);
if (Creature* Emberseer = me->FindNearestCreature(NPC_PYROGAURD_EMBERSEER, 30.0f, true))
Emberseer->AI()->SetData(1, 3);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
me->DespawnOrUnsummon(10000);
}
void SetData(uint32 data, uint32 value)
void SetData(uint32 data, uint32 value) OVERRIDE
{
if (data == 1 && value == 1)
{
@@ -369,7 +369,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
// Used to close doors
if (Creature* Emberseer = me->FindNearestCreature(NPC_PYROGAURD_EMBERSEER, 30.0f, true))
@@ -388,7 +388,7 @@ public:
_events.ScheduleEvent(EVENT_ENCAGE, urand(10000, 20000));
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
@@ -401,11 +401,14 @@ public:
switch (eventId)
{
case EVENT_ENCAGED_EMBERSEER:
if(me->GetPositionX() == me->GetHomePosition().GetPositionX())
if(!me->HasAura(SPELL_ENCAGE_EMBERSEER))
{
if (me->GetPositionX() == me->GetHomePosition().GetPositionX())
if (!me->HasAura(SPELL_ENCAGE_EMBERSEER))
if (Creature* Emberseer = me->FindNearestCreature(NPC_PYROGAURD_EMBERSEER, 30.0f, true))
DoCast(Emberseer, SPELL_ENCAGE_EMBERSEER);
break;
}
}
}
return;
@@ -429,6 +432,7 @@ public:
break;
}
}
DoMeleeAttackIfReady();
}
@@ -436,7 +440,7 @@ public:
EventMap _events;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_blackhand_incarceratorAI(creature);
}
@@ -42,24 +42,24 @@ public:
{
boss_quatermasterzigrisAI(Creature* creature) : BossAI(creature, DATA_QUARTERMASTER_ZIGRIS) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_SHOOT, 1000);
events.ScheduleEvent(EVENT_STUN_BOMB, 16000);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -87,7 +87,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_quatermasterzigrisAI(creature);
}
@@ -166,29 +166,29 @@ public:
{
boss_rend_blackhandAI(Creature* creature) : BossAI(creature, DATA_WARCHIEF_REND_BLACKHAND) { }
void Reset()
void Reset() OVERRIDE
{
_Reset();
gythEvent = false;
victorGUID = 0;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_WHIRLWIND, urand (13000, 15000));
events.ScheduleEvent(EVENT_CLEAVE, urand (15000, 17000));
events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand (17000, 19000));
events.ScheduleEvent(EVENT_WHIRLWIND, urand(13000, 15000));
events.ScheduleEvent(EVENT_CLEAVE, urand(15000, 17000));
events.ScheduleEvent(EVENT_MORTAL_STRIKE, urand(17000, 19000));
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
if (Creature* victor = me->FindNearestCreature(NPC_LORD_VICTOR_NEFARIUS, 75.0f, true))
victor->AI()->SetData(1, 2);
}
void SetData(uint32 type, uint32 data)
void SetData(uint32 type, uint32 data) OVERRIDE
{
if (instance && type == AREATRIGGER && data == AREATRIGGER_BLACKROCK_STADIUM)
{
@@ -208,7 +208,7 @@ public:
}
}
void MovementInform(uint32 type, uint32 id)
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
if (type == WAYPOINT_MOTION_TYPE)
{
@@ -226,7 +226,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (gythEvent)
{
@@ -435,7 +435,7 @@ public:
uint64 portcullisGUID;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_rend_blackhandAI(creature);
}
@@ -39,7 +39,7 @@ class boss_shadow_hunter_voshgajin : public CreatureScript
public:
boss_shadow_hunter_voshgajin() : CreatureScript("boss_shadow_hunter_voshgajin") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_shadowvoshAI(creature);
}
@@ -48,13 +48,13 @@ public:
{
boss_shadowvoshAI(Creature* creature) : BossAI(creature, DATA_SHADOW_HUNTER_VOSHGAJIN) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
//DoCast(me, SPELL_ICEARMOR, true);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_CURSE_OF_BLOOD, 2 * IN_MILLISECONDS);
@@ -62,12 +62,12 @@ public:
events.ScheduleEvent(EVENT_CLEAVE, 14 * IN_MILLISECONDS);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -39,7 +39,7 @@ class boss_the_beast : public CreatureScript
public:
boss_the_beast() : CreatureScript("boss_the_beast") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_thebeastAI(creature);
}
@@ -48,12 +48,12 @@ public:
{
boss_thebeastAI(Creature* creature) : BossAI(creature, DATA_THE_BEAST) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_FLAME_BREAK, 12 * IN_MILLISECONDS);
@@ -61,12 +61,12 @@ public:
events.ScheduleEvent(EVENT_TERRIFYING_ROAR, 23 * IN_MILLISECONDS);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -48,12 +48,12 @@ public:
{
boss_urok_doomhowlAI(Creature* creature) : BossAI(creature, DATA_UROK_DOOMHOWL) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(SPELL_REND, urand(17000,20000));
@@ -61,12 +61,12 @@ public:
Talk(SAY_AGGRO);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -96,7 +96,7 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_urok_doomhowlAI(creature);
}
@@ -45,7 +45,7 @@ class boss_warmaster_voone : public CreatureScript
public:
boss_warmaster_voone() : CreatureScript("boss_warmaster_voone") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_warmastervooneAI(creature);
}
@@ -54,12 +54,12 @@ public:
{
boss_warmastervooneAI(Creature* creature) : BossAI(creature, DATA_WARMASTER_VOONE) {}
void Reset()
void Reset() OVERRIDE
{
_Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
events.ScheduleEvent(EVENT_SNAP_KICK, 8 * IN_MILLISECONDS);
@@ -70,12 +70,12 @@ public:
events.ScheduleEvent(EVENT_THROW_AXE, 1 * IN_MILLISECONDS);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -280,7 +280,7 @@ public:
}
}
void SetData(uint32 type, uint32 data)
void SetData(uint32 type, uint32 data) OVERRIDE
{
switch (type)
{
@@ -295,7 +295,7 @@ public:
}
}
uint64 GetData64(uint32 type) const
uint64 GetData64(uint32 type) const OVERRIDE
{
switch (type)
{
@@ -592,7 +592,7 @@ public:
uint64 go_portcullis_tobossrooms;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const
InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
{
return new instance_blackrock_spireMapScript(map);
}
@@ -607,7 +607,7 @@ class at_dragonspire_hall : public AreaTriggerScript
public:
at_dragonspire_hall() : AreaTriggerScript("at_dragonspire_hall") { }
bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/)
bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
{
if (player && player->IsAlive())
{
@@ -631,7 +631,7 @@ class at_blackrock_stadium : public AreaTriggerScript
public:
at_blackrock_stadium() : AreaTriggerScript("at_blackrock_stadium") { }
bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/)
bool OnTrigger(Player* player, const AreaTriggerEntry* /*at*/) OVERRIDE
{
if (player && player->IsAlive())
{
@@ -52,7 +52,7 @@ public:
{
boss_broodlordAI(Creature* creature) : BossAI(creature, BOSS_BROODLORD) { }
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
if (instance->GetBossState(BOSS_VAELASTRAZ) != DONE)
{
@@ -70,7 +70,7 @@ public:
events.ScheduleEvent(EVENT_CHECK, 1000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -114,9 +114,9 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_broodlordAI (creature);
return new boss_broodlordAI(creature);
}
};
@@ -173,7 +173,7 @@ public:
EnterEvadeMode();
}
void Reset()
void Reset() OVERRIDE
{
_Reset();
@@ -181,7 +181,7 @@ public:
Enraged = false;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
if (instance && instance->GetBossState(BOSS_FLAMEGOR) != DONE)
{
@@ -197,7 +197,7 @@ public:
events.ScheduleEvent(EVENT_FRENZY, 15000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -280,9 +280,9 @@ public:
bool Enraged;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_chromaggusAI (creature);
return new boss_chromaggusAI(creature);
}
};
@@ -43,7 +43,7 @@ public:
{
boss_ebonrocAI(Creature* creature) : BossAI(creature, BOSS_EBONROC) { }
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
if (instance && instance->GetBossState(BOSS_BROODLORD) != DONE)
{
@@ -57,7 +57,7 @@ public:
events.ScheduleEvent(EVENT_SHADOWOFEBONROC, urand(8000, 10000));
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -90,9 +90,9 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_ebonrocAI (creature);
return new boss_ebonrocAI(creature);
}
};
@@ -43,7 +43,7 @@ public:
{
boss_firemawAI(Creature* creature) : BossAI(creature, BOSS_FIREMAW) { }
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
if (instance && instance->GetBossState(BOSS_BROODLORD) != DONE)
{
@@ -57,7 +57,7 @@ public:
events.ScheduleEvent(EVENT_FLAMEBUFFET, 5000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -92,9 +92,9 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_firemawAI (creature);
return new boss_firemawAI(creature);
}
};
@@ -48,7 +48,7 @@ public:
{
boss_flamegorAI(Creature* creature) : BossAI(creature, BOSS_FLAMEGOR) { }
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
if (instance && instance->GetBossState(BOSS_BROODLORD) != DONE)
{
@@ -62,7 +62,7 @@ public:
events.ScheduleEvent(EVENT_FRENZY, 10000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -98,9 +98,9 @@ public:
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_flamegorAI (creature);
return new boss_flamegorAI(creature);
}
};
@@ -168,7 +168,7 @@ public:
{
boss_victor_nefariusAI(Creature* creature) : BossAI(creature, BOSS_NEFARIAN) { }
void Reset()
void Reset() OVERRIDE
{
if (me->GetMapId() == 469)
{
@@ -185,7 +185,7 @@ public:
}
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
Reset();
}
@@ -207,7 +207,7 @@ public:
events.ScheduleEvent(EVENT_SPAWN_ADD, 10000);
}
void SummonedCreatureDies(Creature* summon, Unit* /*killer*/)
void SummonedCreatureDies(Creature* summon, Unit* /*killer*/) OVERRIDE
{
if (summon->GetEntry() != NPC_NEFARIAN)
{
@@ -218,9 +218,9 @@ public:
}
}
void JustSummoned(Creature* /*summon*/) {}
void JustSummoned(Creature* /*summon*/) OVERRIDE {}
void SetData(uint32 type, uint32 data)
void SetData(uint32 type, uint32 data) OVERRIDE
{
if (instance && type == 1 && data == 1)
{
@@ -234,7 +234,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
{
@@ -360,7 +360,7 @@ public:
}
}
void sGossipSelect(Player* player, uint32 sender, uint32 action)
void sGossipSelect(Player* player, uint32 sender, uint32 action) OVERRIDE
{
if (sender == GOSSIP_ID && action == GOSSIP_OPTION_ID)
{
@@ -374,9 +374,9 @@ public:
uint32 SpawnedAdds;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_victor_nefariusAI (creature);
return new boss_victor_nefariusAI(creature);
}
};
@@ -389,19 +389,19 @@ public:
{
boss_nefarianAI(Creature* creature) : BossAI(creature, BOSS_NEFARIAN) { }
void Reset()
void Reset() OVERRIDE
{
Phase3 = false;
canDespawn = false;
DespawnTimer = 30000;
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
canDespawn = true;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
events.ScheduleEvent(EVENT_SHADOWFLAME, 12000);
events.ScheduleEvent(EVENT_FEAR, urand(25000, 35000));
@@ -412,13 +412,13 @@ public:
Talk(SAY_RANDOM);
}
void JustDied(Unit* /*Killer*/)
void JustDied(Unit* /*Killer*/) OVERRIDE
{
_JustDied();
Talk(SAY_DEATH);
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) OVERRIDE
{
if (rand()%5)
return;
@@ -426,7 +426,7 @@ public:
Talk(SAY_SLAY, victim->GetGUID());
}
void MovementInform(uint32 type, uint32 id)
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
if (type != POINT_MOTION_TYPE)
return;
@@ -439,7 +439,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (canDespawn && DespawnTimer <= diff)
{
@@ -570,9 +570,9 @@ public:
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_nefarianAI (creature);
return new boss_nefarianAI(creature);
}
};
@@ -70,7 +70,7 @@ public:
{
boss_razorgoreAI(Creature* creature) : BossAI(creature, BOSS_RAZORGORE) { }
void Reset()
void Reset() OVERRIDE
{
_Reset();
@@ -79,7 +79,7 @@ public:
instance->SetData(DATA_EGG_EVENT, NOT_STARTED);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
_JustDied();
Talk(SAY_DEATH);
@@ -100,19 +100,19 @@ public:
me->SetHealth(me->GetMaxHealth());
}
void DoAction(int32 action)
void DoAction(int32 action) OVERRIDE
{
if (action == ACTION_PHASE_TWO)
DoChangePhase();
}
void DamageTaken(Unit* /*who*/, uint32& damage)
void DamageTaken(Unit* /*who*/, uint32& damage) OVERRIDE
{
if (!secondPhase)
damage = 0;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -154,9 +154,9 @@ public:
bool secondPhase;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_razorgoreAI (creature);
return new boss_razorgoreAI(creature);
}
};
@@ -165,7 +165,7 @@ class go_orb_of_domination : public GameObjectScript
public:
go_orb_of_domination() : GameObjectScript("go_orb_of_domination") { }
bool OnGossipHello(Player* player, GameObject* go)
bool OnGossipHello(Player* player, GameObject* go) OVERRIDE
{
if (InstanceScript* instance = go->GetInstanceScript())
if (instance->GetData(DATA_EGG_EVENT) != DONE)
@@ -193,13 +193,13 @@ class spell_egg_event : public SpellScriptLoader
instance->SetData(DATA_EGG_EVENT, SPECIAL);
}
void Register()
void Register() OVERRIDE
{
OnHit += SpellHitFn(spell_egg_eventSpellScript::HandleOnHit);
}
};
SpellScript* GetSpellScript() const
SpellScript* GetSpellScript() const OVERRIDE
{
return new spell_egg_eventSpellScript();
}
@@ -75,7 +75,7 @@ public:
creature->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
}
void Reset()
void Reset() OVERRIDE
{
_Reset();
@@ -85,7 +85,7 @@ public:
HasYelled = false;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
_EnterCombat();
@@ -109,7 +109,7 @@ public:
events.ScheduleEvent(EVENT_SPEECH_1, 1000);
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) OVERRIDE
{
if (rand()%5)
return;
@@ -117,7 +117,7 @@ public:
Talk(SAY_KILLTARGET, victim->GetGUID());
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
events.Update(diff);
@@ -216,7 +216,7 @@ public:
DoMeleeAttackIfReady();
}
void sGossipSelect(Player* player, uint32 sender, uint32 action)
void sGossipSelect(Player* player, uint32 sender, uint32 action) OVERRIDE
{
if (sender == GOSSIP_ID && action == 0)
{
@@ -230,9 +230,9 @@ public:
bool HasYelled;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_vaelAI (creature);
return new boss_vaelAI(creature);
}
};
@@ -215,7 +215,7 @@ public:
return true;
}
uint64 GetData64(uint32 id) const
uint64 GetData64(uint32 id) const OVERRIDE
{
switch (id)
{
@@ -233,7 +233,7 @@ public:
return 0;
}
void SetData(uint32 type, uint32 data)
void SetData(uint32 type, uint32 data) OVERRIDE
{
if (type == DATA_EGG_EVENT)
{
@@ -343,7 +343,7 @@ public:
uint64 NefarianGUID;
};
InstanceScript* GetInstanceScript(InstanceMap* map) const
InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
{
return new instance_blackwing_lair_InstanceMapScript(map);
}
@@ -25,7 +25,7 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "deadmines.h"
enum eSpels
enum Spels
{
SPELL_TRASH = 3391,
SPELL_SMITE_STOMP = 6432,
@@ -43,9 +43,9 @@ class boss_mr_smite : public CreatureScript
public:
boss_mr_smite() : CreatureScript("boss_mr_smite") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_mr_smiteAI (creature);
return new boss_mr_smiteAI(creature);
}
struct boss_mr_smiteAI : public ScriptedAI
@@ -66,7 +66,7 @@ public:
uint32 uiPhase;
uint32 uiTimer;
void Reset()
void Reset() OVERRIDE
{
uiTrashTimer = urand(5000, 9000);
uiSlamTimer = 9000;
@@ -80,7 +80,7 @@ public:
SetEquipmentSlots(false, EQUIP_SWORD, EQUIP_UNEQUIP, EQUIP_NO_CHANGE);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
}
@@ -94,7 +94,7 @@ public:
return true;
}
void UpdateAI(uint32 uiDiff)
void UpdateAI(uint32 uiDiff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -166,7 +166,7 @@ public:
DoMeleeAttackIfReady();
}
void MovementInform(uint32 uiType, uint32 /*uiId*/)
void MovementInform(uint32 uiType, uint32 /*uiId*/) OVERRIDE
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -39,7 +39,7 @@ class item_defias_gunpowder : public ItemScript
public:
item_defias_gunpowder() : ItemScript("item_defias_gunpowder") { }
bool OnUse(Player* player, Item* item, SpellCastTargets const& targets)
bool OnUse(Player* player, Item* item, SpellCastTargets const& targets) OVERRIDE
{
InstanceScript* instance = player->GetInstanceScript();
@@ -200,7 +200,7 @@ class instance_deadmines : public InstanceMapScript
}
}
void SetData(uint32 type, uint32 data)
void SetData(uint32 type, uint32 data) OVERRIDE
{
switch (type)
{
@@ -216,7 +216,7 @@ class instance_deadmines : public InstanceMapScript
}
}
uint32 GetData(uint32 type) const
uint32 GetData(uint32 type) const OVERRIDE
{
switch (type)
{
@@ -227,7 +227,7 @@ class instance_deadmines : public InstanceMapScript
return 0;
}
uint64 GetData64(uint32 data) const
uint64 GetData64(uint32 data) const OVERRIDE
{
switch (data)
{
@@ -247,7 +247,7 @@ class instance_deadmines : public InstanceMapScript
}
};
InstanceScript* GetInstanceScript(InstanceMap* map) const
InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
{
return new instance_deadmines_InstanceMapScript(map);
}
@@ -88,12 +88,12 @@ class npc_blastmaster_emi_shortfuse : public CreatureScript
public:
npc_blastmaster_emi_shortfuse() : CreatureScript("npc_blastmaster_emi_shortfuse") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_blastmaster_emi_shortfuseAI(creature);
}
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF+1)
@@ -109,7 +109,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
InstanceScript* instance = creature->GetInstanceScript();
@@ -138,7 +138,7 @@ public:
std::list<uint64> SummonList;
std::list<uint64> GoSummonList;
void Reset()
void Reset() OVERRIDE
{
if (!HasEscortState(STATE_ESCORT_ESCORTING))
{
@@ -264,7 +264,7 @@ public:
}
}
void WaypointReached(uint32 waypointId)
void WaypointReached(uint32 waypointId) OVERRIDE
{
//just in case
if (GetPlayerForEscort())
@@ -308,7 +308,7 @@ public:
}
}
void SetData(uint32 uiI, uint32 uiValue)
void SetData(uint32 uiI, uint32 uiValue) OVERRIDE
{
switch (uiI)
{
@@ -408,7 +408,7 @@ public:
}
}
void UpdateEscortAI(const uint32 uiDiff)
void UpdateEscortAI(const uint32 uiDiff) OVERRIDE
{
if (uiPhase)
{
@@ -537,7 +537,7 @@ public:
DoMeleeAttackIfReady();
}
void JustSummoned(Creature* summon)
void JustSummoned(Creature* summon) OVERRIDE
{
SummonList.push_back(summon->GetGUID());
AggroAllPlayers(summon);
@@ -551,7 +551,7 @@ class boss_grubbis : public CreatureScript
public:
boss_grubbis() : CreatureScript("boss_grubbis") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_grubbisAI(creature);
}
@@ -573,7 +573,7 @@ public:
creature->AI()->SetData(2, 1);
}
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -581,7 +581,7 @@ public:
DoMeleeAttackIfReady();
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (!me->IsSummon())
return;
@@ -18,14 +18,14 @@
#ifndef DEF_GNOMEREGAN_H
#define DEF_GNOMEREGAN_H
enum eGameObjects
enum GameObjectIds
{
GO_CAVE_IN_LEFT = 146085,
GO_CAVE_IN_RIGHT = 146086,
GO_RED_ROCKET = 103820
};
enum eCreatures
enum CreatureIds
{
NPC_BLASTMASTER_EMI_SHORTFUSE = 7998,
NPC_CAVERNDEEP_AMBUSHER = 6207,
@@ -33,12 +33,12 @@ enum eCreatures
NPC_CHOMPER = 6215
};
enum eData
enum Data
{
TYPE_EVENT = 1
};
enum eData64
enum Data64
{
DATA_GO_CAVE_IN_LEFT,
DATA_GO_CAVE_IN_RIGHT,
@@ -27,7 +27,7 @@ class instance_gnomeregan : public InstanceMapScript
public:
instance_gnomeregan() : InstanceMapScript("instance_gnomeregan", 90) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const
InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
{
return new instance_gnomeregan_InstanceMapScript(map);
}
@@ -102,7 +102,7 @@ public:
}
}
void SetData(uint32 uiType, uint32 uiData)
void SetData(uint32 uiType, uint32 uiData) OVERRIDE
{
switch (uiType)
{
@@ -114,7 +114,7 @@ public:
}
}
uint32 GetData(uint32 uiType) const
uint32 GetData(uint32 uiType) const OVERRIDE
{
switch (uiType)
{
@@ -123,7 +123,7 @@ public:
return 0;
}
uint64 GetData64(uint32 uiType) const
uint64 GetData64(uint32 uiType) const OVERRIDE
{
switch (uiType)
{
@@ -53,9 +53,9 @@ class boss_curator : public CreatureScript
public:
boss_curator() : CreatureScript("boss_curator") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_curatorAI (creature);
return new boss_curatorAI(creature);
}
struct boss_curatorAI : public ScriptedAI
@@ -69,7 +69,7 @@ public:
bool Enraged;
bool Evocating;
void Reset()
void Reset() OVERRIDE
{
AddTimer = 10000;
HatefulBoltTimer = 15000; //This time may be wrong
@@ -80,22 +80,22 @@ public:
me->ApplySpellImmune(0, IMMUNITY_DAMAGE, SPELL_SCHOOL_MASK_ARCANE, true);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -45,9 +45,9 @@ class boss_maiden_of_virtue : public CreatureScript
public:
boss_maiden_of_virtue() : CreatureScript("boss_maiden_of_virtue") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_maiden_of_virtueAI (creature);
return new boss_maiden_of_virtueAI(creature);
}
struct boss_maiden_of_virtueAI : public ScriptedAI
@@ -62,7 +62,7 @@ public:
bool Enraged;
void Reset()
void Reset() OVERRIDE
{
Repentance_Timer = 25000+(rand()%15000);
Holyfire_Timer = 8000+(rand()%17000);
@@ -73,23 +73,23 @@ public:
Enraged = false;
}
void KilledUnit(Unit* /*Victim*/)
void KilledUnit(Unit* /*Victim*/) OVERRIDE
{
if (urand(0, 1) == 0)
Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -53,9 +53,9 @@ class boss_attumen : public CreatureScript
public:
boss_attumen() : CreatureScript("boss_attumen") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_attumenAI (creature);
return new boss_attumenAI(creature);
}
struct boss_attumenAI : public ScriptedAI
@@ -79,34 +79,34 @@ public:
uint32 ChargeTimer; //only when mounted
uint32 ResetTimer;
void Reset()
void Reset() OVERRIDE
{
ResetTimer = 0;
}
void EnterEvadeMode()
void EnterEvadeMode() OVERRIDE
{
ScriptedAI::EnterEvadeMode();
ResetTimer = 2000;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
if (Unit* midnight = Unit::GetUnit(*me, Midnight))
midnight->Kill(midnight);
}
void UpdateAI(uint32 diff);
void UpdateAI(uint32 diff) OVERRIDE;
void SpellHit(Unit* /*source*/, const SpellInfo* spell)
void SpellHit(Unit* /*source*/, const SpellInfo* spell) OVERRIDE
{
if (spell->Mechanic == MECHANIC_DISARM)
Talk(SAY_DISARMED);
@@ -119,7 +119,7 @@ class boss_midnight : public CreatureScript
public:
boss_midnight() : CreatureScript("boss_midnight") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_midnightAI(creature);
}
@@ -132,7 +132,7 @@ public:
uint8 Phase;
uint32 Mount_Timer;
void Reset()
void Reset() OVERRIDE
{
Phase = 1;
Attumen = 0;
@@ -142,9 +142,9 @@ public:
me->SetVisible(true);
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
if (Phase == 2)
{
@@ -153,7 +153,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -27,20 +27,51 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "karazhan.h"
enum Moroes
enum Yells
{
SAY_AGGRO = 0,
SAY_SPECIAL = 1,
SAY_KILL = 2,
SAY_DEATH = 3,
SPELL_VANISH = 29448,
SPELL_GARROTE = 37066,
SPELL_BLIND = 34694,
SPELL_GOUGE = 29425,
SPELL_FRENZY = 37023,
SAY_DEATH = 3
};
enum Spells
{
SPELL_VANISH = 29448,
SPELL_GARROTE = 37066,
SPELL_BLIND = 34694,
SPELL_GOUGE = 29425,
SPELL_FRENZY = 37023,
// Adds
SPELL_MANABURN = 29405,
SPELL_MINDFLY = 29570,
SPELL_SWPAIN = 34441,
SPELL_SHADOWFORM = 29406,
SPELL_HAMMEROFJUSTICE = 13005,
SPELL_JUDGEMENTOFCOMMAND = 29386,
SPELL_SEALOFCOMMAND = 29385,
SPELL_DISPELMAGIC = 15090,
SPELL_GREATERHEAL = 29564,
SPELL_HOLYFIRE = 29563,
SPELL_PWSHIELD = 29408,
SPELL_CLEANSE = 29380,
SPELL_GREATERBLESSOFMIGHT = 29381,
SPELL_HOLYLIGHT = 29562,
SPELL_DIVINESHIELD = 41367,
SPELL_HAMSTRING = 9080,
SPELL_MORTALSTRIKE = 29572,
SPELL_WHIRLWIND = 29573,
SPELL_DISARM = 8379,
SPELL_HEROICSTRIKE = 29567,
SPELL_SHIELDBASH = 11972,
SPELL_SHIELDWALL = 29390
};
#define POS_Z 81.73f
@@ -67,9 +98,9 @@ class boss_moroes : public CreatureScript
public:
boss_moroes() : CreatureScript("boss_moroes") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_moroesAI (creature);
return new boss_moroesAI(creature);
}
struct boss_moroesAI : public ScriptedAI
@@ -96,7 +127,7 @@ public:
bool InVanish;
bool Enrage;
void Reset()
void Reset() OVERRIDE
{
Vanish_Timer = 30000;
Blind_Timer = 35000;
@@ -121,7 +152,7 @@ public:
DoZoneInCombat();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
StartEvent();
@@ -130,12 +161,12 @@ public:
DoZoneInCombat();
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
@@ -228,7 +259,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -324,7 +355,7 @@ struct boss_moroes_guestAI : public ScriptedAI
instance = creature->GetInstanceScript();
}
void Reset()
void Reset() OVERRIDE
{
if (instance)
instance->SetData(TYPE_MOROES, NOT_STARTED);
@@ -354,7 +385,7 @@ struct boss_moroes_guestAI : public ScriptedAI
return me;
}
void UpdateAI(uint32 /*diff*/)
void UpdateAI(uint32 /*diff*/) OVERRIDE
{
if (instance && !instance->GetData(TYPE_MOROES))
EnterEvadeMode();
@@ -363,42 +394,14 @@ struct boss_moroes_guestAI : public ScriptedAI
}
};
#define SPELL_MANABURN 29405
#define SPELL_MINDFLY 29570
#define SPELL_SWPAIN 34441
#define SPELL_SHADOWFORM 29406
#define SPELL_HAMMEROFJUSTICE 13005
#define SPELL_JUDGEMENTOFCOMMAND 29386
#define SPELL_SEALOFCOMMAND 29385
#define SPELL_DISPELMAGIC 15090 //Self or other guest+Moroes
#define SPELL_GREATERHEAL 29564 //Self or other guest+Moroes
#define SPELL_HOLYFIRE 29563
#define SPELL_PWSHIELD 29408
#define SPELL_CLEANSE 29380 //Self or other guest+Moroes
#define SPELL_GREATERBLESSOFMIGHT 29381 //Self or other guest+Moroes
#define SPELL_HOLYLIGHT 29562 //Self or other guest+Moroes
#define SPELL_DIVINESHIELD 41367
#define SPELL_HAMSTRING 9080
#define SPELL_MORTALSTRIKE 29572
#define SPELL_WHIRLWIND 29573
#define SPELL_DISARM 8379
#define SPELL_HEROICSTRIKE 29567
#define SPELL_SHIELDBASH 11972
#define SPELL_SHIELDWALL 29390
class boss_baroness_dorothea_millstipe : public CreatureScript
{
public:
boss_baroness_dorothea_millstipe() : CreatureScript("boss_baroness_dorothea_millstipe") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_baroness_dorothea_millstipeAI (creature);
return new boss_baroness_dorothea_millstipeAI(creature);
}
struct boss_baroness_dorothea_millstipeAI : public boss_moroes_guestAI
@@ -410,7 +413,7 @@ public:
uint32 MindFlay_Timer;
uint32 ShadowWordPain_Timer;
void Reset()
void Reset() OVERRIDE
{
ManaBurn_Timer = 7000;
MindFlay_Timer = 1000;
@@ -421,7 +424,7 @@ public:
boss_moroes_guestAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -459,9 +462,9 @@ class boss_baron_rafe_dreuger : public CreatureScript
public:
boss_baron_rafe_dreuger() : CreatureScript("boss_baron_rafe_dreuger") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_baron_rafe_dreugerAI (creature);
return new boss_baron_rafe_dreugerAI(creature);
}
struct boss_baron_rafe_dreugerAI : public boss_moroes_guestAI
@@ -473,7 +476,7 @@ public:
uint32 SealOfCommand_Timer;
uint32 JudgementOfCommand_Timer;
void Reset()
void Reset() OVERRIDE
{
HammerOfJustice_Timer = 1000;
SealOfCommand_Timer = 7000;
@@ -482,7 +485,7 @@ public:
boss_moroes_guestAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -516,9 +519,9 @@ class boss_lady_catriona_von_indi : public CreatureScript
public:
boss_lady_catriona_von_indi() : CreatureScript("boss_lady_catriona_von_indi") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_lady_catriona_von_indiAI (creature);
return new boss_lady_catriona_von_indiAI(creature);
}
struct boss_lady_catriona_von_indiAI : public boss_moroes_guestAI
@@ -531,7 +534,7 @@ public:
uint32 HolyFire_Timer;
uint32 PowerWordShield_Timer;
void Reset()
void Reset() OVERRIDE
{
DispelMagic_Timer = 11000;
GreaterHeal_Timer = 1500;
@@ -543,7 +546,7 @@ public:
boss_moroes_guestAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -586,9 +589,9 @@ class boss_lady_keira_berrybuck : public CreatureScript
public:
boss_lady_keira_berrybuck() : CreatureScript("boss_lady_keira_berrybuck") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_lady_keira_berrybuckAI (creature);
return new boss_lady_keira_berrybuckAI(creature);
}
struct boss_lady_keira_berrybuckAI : public boss_moroes_guestAI
@@ -601,7 +604,7 @@ public:
uint32 HolyLight_Timer;
uint32 DivineShield_Timer;
void Reset()
void Reset() OVERRIDE
{
Cleanse_Timer = 13000;
GreaterBless_Timer = 1000;
@@ -613,7 +616,7 @@ public:
boss_moroes_guestAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -660,9 +663,9 @@ class boss_lord_robin_daris : public CreatureScript
public:
boss_lord_robin_daris() : CreatureScript("boss_lord_robin_daris") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_lord_robin_darisAI (creature);
return new boss_lord_robin_darisAI(creature);
}
struct boss_lord_robin_darisAI : public boss_moroes_guestAI
@@ -674,7 +677,7 @@ public:
uint32 MortalStrike_Timer;
uint32 WhirlWind_Timer;
void Reset()
void Reset() OVERRIDE
{
Hamstring_Timer = 7000;
MortalStrike_Timer = 10000;
@@ -683,7 +686,7 @@ public:
boss_moroes_guestAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -716,9 +719,9 @@ class boss_lord_crispin_ference : public CreatureScript
public:
boss_lord_crispin_ference() : CreatureScript("boss_lord_crispin_ference") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_lord_crispin_ferenceAI (creature);
return new boss_lord_crispin_ferenceAI(creature);
}
struct boss_lord_crispin_ferenceAI : public boss_moroes_guestAI
@@ -731,7 +734,7 @@ public:
uint32 ShieldBash_Timer;
uint32 ShieldWall_Timer;
void Reset()
void Reset() OVERRIDE
{
Disarm_Timer = 6000;
HeroicStrike_Timer = 10000;
@@ -741,7 +744,7 @@ public:
boss_moroes_guestAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -69,7 +69,7 @@ class boss_netherspite : public CreatureScript
public:
boss_netherspite() : CreatureScript("boss_netherspite") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_netherspiteAI(creature);
}
@@ -127,7 +127,7 @@ public:
return sqrt((xa-xb)*(xa-xb) + (ya-yb)*(ya-yb));
}
void Reset()
void Reset() OVERRIDE
{
Berserk = false;
NetherInfusionTimer = 540000;
@@ -257,19 +257,19 @@ public:
Door->SetGoState(open ? GO_STATE_ACTIVE : GO_STATE_READY);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
HandleDoors(false);
SwitchToPortalPhase();
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
HandleDoors(true);
DestroyPortals();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -69,9 +69,9 @@ class boss_nightbane : public CreatureScript
public:
boss_nightbane() : CreatureScript("boss_nightbane") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_nightbaneAI (creature);
return new boss_nightbaneAI(creature);
}
struct boss_nightbaneAI : public ScriptedAI
@@ -109,7 +109,7 @@ public:
uint32 WaitTimer;
uint32 MovePhase;
void Reset()
void Reset() OVERRIDE
{
BellowingRoarTimer = 30000;
CharredEarthTimer = 15000;
@@ -160,7 +160,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
if (instance)
instance->SetData(TYPE_NIGHTBANE, IN_PROGRESS);
@@ -169,13 +169,13 @@ public:
Talk(YELL_AGGRO);
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) OVERRIDE
{
if (!Intro && !Flying)
ScriptedAI::AttackStart(who);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (instance)
instance->SetData(TYPE_NIGHTBANE, DONE);
@@ -183,13 +183,14 @@ public:
HandleTerraceDoors(true);
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (!Intro && !Flying)
ScriptedAI::MoveInLineOfSight(who);
}
void MovementInform(uint32 type, uint32 id)
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
if (type != POINT_MOTION_TYPE)
return;
@@ -235,7 +236,7 @@ public:
}
}
void JustSummoned(Creature* summoned)
void JustSummoned(Creature* summoned) OVERRIDE
{
summoned->AI()->AttackStart(me->GetVictim());
}
@@ -260,7 +261,7 @@ public:
Skeletons = false;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
/* The timer for this was never setup apparently, not sure if the code works properly:
if (WaitTimer <= diff)
@@ -102,9 +102,9 @@ class netherspite_infernal : public CreatureScript
public:
netherspite_infernal() : CreatureScript("netherspite_infernal") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new netherspite_infernalAI (creature);
return new netherspite_infernalAI(creature);
}
struct netherspite_infernalAI : public ScriptedAI
@@ -117,11 +117,12 @@ public:
uint64 malchezaar;
InfernalPoint *point;
void Reset() {}
void EnterCombat(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
void Reset() OVERRIDE {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (HellfireTimer)
{
@@ -143,14 +144,14 @@ public:
}
}
void KilledUnit(Unit* who)
void KilledUnit(Unit* who) OVERRIDE
{
if (Unit* unit = Unit::GetUnit(*me, malchezaar))
if (Creature* creature = unit->ToCreature())
creature->AI()->KilledUnit(who);
}
void SpellHit(Unit* /*who*/, const SpellInfo* spell)
void SpellHit(Unit* /*who*/, const SpellInfo* spell) OVERRIDE
{
if (spell->Id == SPELL_INFERNAL_RELAY)
{
@@ -161,7 +162,7 @@ public:
}
}
void DamageTaken(Unit* done_by, uint32 &damage)
void DamageTaken(Unit* done_by, uint32 &damage) OVERRIDE
{
if (done_by->GetGUID() != malchezaar)
damage = 0;
@@ -176,9 +177,9 @@ class boss_malchezaar : public CreatureScript
public:
boss_malchezaar() : CreatureScript("boss_malchezaar") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_malchezaarAI (creature);
return new boss_malchezaarAI(creature);
}
struct boss_malchezaarAI : public ScriptedAI
@@ -210,7 +211,7 @@ public:
uint32 phase;
void Reset()
void Reset() OVERRIDE
{
AxesCleanup();
ClearWeapons();
@@ -242,12 +243,12 @@ public:
instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), true);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
@@ -263,7 +264,7 @@ public:
instance->HandleGameObject(instance->GetData64(DATA_GO_NETHER_DOOR), true);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
@@ -386,7 +387,7 @@ public:
Talk(SAY_SUMMON);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -84,9 +84,9 @@ class boss_shade_of_aran : public CreatureScript
public:
boss_shade_of_aran() : CreatureScript("boss_shade_of_aran") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_aranAI (creature);
return new boss_aranAI(creature);
}
struct boss_aranAI : public ScriptedAI
@@ -123,7 +123,7 @@ public:
bool Drinking;
bool DrinkInturrupted;
void Reset()
void Reset() OVERRIDE
{
SecondarySpellTimer = 5000;
NormalCastTimer = 0;
@@ -155,12 +155,12 @@ public:
}
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
@@ -171,7 +171,7 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
@@ -217,7 +217,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -478,13 +478,13 @@ public:
DoMeleeAttackIfReady();
}
void DamageTaken(Unit* /*pAttacker*/, uint32 &damage)
void DamageTaken(Unit* /*pAttacker*/, uint32 &damage) OVERRIDE
{
if (!DrinkInturrupted && Drinking && damage)
DrinkInturrupted = true;
}
void SpellHit(Unit* /*pAttacker*/, const SpellInfo* Spell)
void SpellHit(Unit* /*pAttacker*/, const SpellInfo* Spell) OVERRIDE
{
//We only care about interrupt effects and only if they are durring a spell currently being casted
if ((Spell->Effects[0].Effect != SPELL_EFFECT_INTERRUPT_CAST &&
@@ -513,9 +513,9 @@ class npc_aran_elemental : public CreatureScript
public:
npc_aran_elemental() : CreatureScript("npc_aran_elemental") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new water_elementalAI (creature);
return new water_elementalAI(creature);
}
struct water_elementalAI : public ScriptedAI
@@ -524,14 +524,14 @@ public:
uint32 CastTimer;
void Reset()
void Reset() OVERRIDE
{
CastTimer = 2000 + (rand()%3000);
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -34,8 +34,11 @@ enum TerestianIllhoof
SAY_DEATH = 2,
SAY_AGGRO = 3,
SAY_SACRIFICE = 4,
SAY_SUMMON = 5,
SAY_SUMMON = 5
};
enum Spells
{
SPELL_SUMMON_DEMONCHAINS = 30120, // Summons demonic chains that maintain the ritual of sacrifice.
SPELL_DEMON_CHAINS = 30206, // Instant - Visual Effect
SPELL_ENRAGE = 23537, // Increases the caster's attack speed by 50% and the Physical damage it deals by 219 to 281 for 10 min.
@@ -51,11 +54,14 @@ enum TerestianIllhoof
SPELL_FIREBOLT = 30050, // Blasts a target for 150 Fire damage.
SPELL_BROKEN_PACT = 30065, // All damage taken increased by 25%.
SPELL_AMPLIFY_FLAMES = 30053, // Increases the Fire damage taken by an enemy by 500 for 25 sec.
};
CREATURE_DEMONCHAINS = 17248,
CREATURE_FIENDISHIMP = 17267,
CREATURE_PORTAL = 17265,
CREATURE_KILREK = 17229,
enum Creatures
{
NPC_DEMONCHAINS = 17248,
NPC_FIENDISHIMP = 17267,
NPC_PORTAL = 17265,
NPC_KILREK = 17229
};
@@ -64,9 +70,9 @@ class npc_kilrek : public CreatureScript
public:
npc_kilrek() : CreatureScript("npc_kilrek") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_kilrekAI (creature);
return new npc_kilrekAI(creature);
}
struct npc_kilrekAI : public ScriptedAI
@@ -82,13 +88,13 @@ public:
uint32 AmplifyTimer;
void Reset()
void Reset() OVERRIDE
{
TerestianGUID = 0;
AmplifyTimer = 2000;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
if (!instance)
{
@@ -97,7 +103,7 @@ public:
}
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (instance)
{
@@ -111,7 +117,7 @@ public:
} else ERROR_INST_DATA(me);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -135,7 +141,7 @@ class npc_demon_chain : public CreatureScript
public:
npc_demon_chain() : CreatureScript("npc_demon_chain") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_demon_chainAI(creature);
}
@@ -146,16 +152,17 @@ public:
uint64 SacrificeGUID;
void Reset()
void Reset() OVERRIDE
{
SacrificeGUID = 0;
}
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void AttackStart(Unit* /*who*/) OVERRIDE {}
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (SacrificeGUID)
{
@@ -172,9 +179,9 @@ class npc_fiendish_portal : public CreatureScript
public:
npc_fiendish_portal() : CreatureScript("npc_fiendish_portal") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_fiendish_portalAI (creature);
return new npc_fiendish_portalAI(creature);
}
struct npc_fiendish_portalAI : public PassiveAI
@@ -183,12 +190,12 @@ public:
SummonList summons;
void Reset()
void Reset() OVERRIDE
{
DespawnAllImp();
}
void JustSummoned(Creature* summon)
void JustSummoned(Creature* summon) OVERRIDE
{
summons.Summon(summon);
DoZoneInCombat(summon);
@@ -201,16 +208,14 @@ public:
};
};
#define SPELL_FIREBOLT 30050 // Blasts a target for 181-209 Fire damage.
class npc_fiendish_imp : public CreatureScript
{
public:
npc_fiendish_imp() : CreatureScript("npc_fiendish_imp") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_fiendish_impAI (creature);
return new npc_fiendish_impAI(creature);
}
struct npc_fiendish_impAI : public ScriptedAI
@@ -219,16 +224,16 @@ public:
uint32 FireboltTimer;
void Reset()
void Reset() OVERRIDE
{
FireboltTimer = 2000;
me->ApplySpellImmune(0, IMMUNITY_SCHOOL, SPELL_SCHOOL_MASK_FIRE, true);
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -250,9 +255,9 @@ class boss_terestian_illhoof : public CreatureScript
public:
boss_terestian_illhoof() : CreatureScript("boss_terestian_illhoof") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_terestianAI (creature);
return new boss_terestianAI(creature);
}
struct boss_terestianAI : public ScriptedAI
@@ -277,7 +282,7 @@ public:
bool SummonedPortals;
bool Berserk;
void Reset()
void Reset() OVERRIDE
{
for (uint8 i = 0; i < 2; ++i)
{
@@ -318,14 +323,14 @@ public:
else DoCast(me, SPELL_SUMMON_IMP, true);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
}
void JustSummoned(Creature* summoned)
void JustSummoned(Creature* summoned) OVERRIDE
{
if (summoned->GetEntry() == CREATURE_PORTAL)
if (summoned->GetEntry() == NPC_PORTAL)
{
PortalGUID[PortalsCount] = summoned->GetGUID();
++PortalsCount;
@@ -338,12 +343,12 @@ public:
}
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_SLAY);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
for (uint8 i = 0; i < 2; ++i)
{
@@ -362,7 +367,7 @@ public:
instance->SetData(TYPE_TERESTIAN, DONE);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -375,7 +380,7 @@ public:
DoCast(target, SPELL_SACRIFICE, true);
DoCast(target, SPELL_SUMMON_DEMONCHAINS, true);
if (Creature* Chains = me->FindNearestCreature(CREATURE_DEMONCHAINS, 5000))
if (Creature* Chains = me->FindNearestCreature(NPC_DEMONCHAINS, 5000))
{
CAST_AI(npc_demon_chain::npc_demon_chainAI, Chains->AI())->SacrificeGUID = target->GetGUID();
Chains->CastSpell(Chains, SPELL_DEMON_CHAINS, true);
@@ -116,7 +116,7 @@ class boss_dorothee : public CreatureScript
public:
boss_dorothee() : CreatureScript("boss_dorothee") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_dorotheeAI(creature);
}
@@ -139,7 +139,7 @@ public:
bool SummonedTito;
bool TitoDied;
void Reset()
void Reset() OVERRIDE
{
AggroTimer = 500;
@@ -151,19 +151,19 @@ public:
TitoDied = false;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_DOROTHEE_AGGRO);
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
me->DespawnOrUnsummon();
}
void SummonTito();
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DOROTHEE_DEATH);
@@ -171,7 +171,7 @@ public:
SummonCroneIfReady(instance, me);
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -179,7 +179,8 @@ public:
ScriptedAI::AttackStart(who);
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -187,7 +188,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (AggroTimer)
{
@@ -230,7 +231,7 @@ class npc_tito : public CreatureScript
public:
npc_tito() : CreatureScript("npc_tito") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_titoAI(creature);
}
@@ -242,15 +243,15 @@ public:
uint64 DorotheeGUID;
uint32 YipTimer;
void Reset()
void Reset() OVERRIDE
{
DorotheeGUID = 0;
YipTimer = 10000;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (DorotheeGUID)
{
@@ -263,7 +264,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -296,7 +297,7 @@ class boss_strawman : public CreatureScript
public:
boss_strawman() : CreatureScript("boss_strawman") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_strawmanAI(creature);
}
@@ -314,14 +315,14 @@ public:
uint32 BrainBashTimer;
uint32 BrainWipeTimer;
void Reset()
void Reset() OVERRIDE
{
AggroTimer = 13000;
BrainBashTimer = 5000;
BrainWipeTimer = 7000;
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -329,7 +330,8 @@ public:
ScriptedAI::AttackStart(who);
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -337,17 +339,17 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_STRAWMAN_AGGRO);
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
me->DespawnOrUnsummon();
}
void SpellHit(Unit* /*caster*/, const SpellInfo* Spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) OVERRIDE
{
if ((Spell->SchoolMask == SPELL_SCHOOL_MASK_FIRE) && (!(rand()%10)))
{
@@ -360,7 +362,7 @@ public:
}
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_STRAWMAN_DEATH);
@@ -368,12 +370,12 @@ public:
SummonCroneIfReady(instance, me);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_STRAWMAN_SLAY);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (AggroTimer)
{
@@ -410,7 +412,7 @@ class boss_tinhead : public CreatureScript
public:
boss_tinhead() : CreatureScript("boss_tinhead") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_tinheadAI(creature);
}
@@ -430,7 +432,7 @@ public:
uint8 RustCount;
void Reset()
void Reset() OVERRIDE
{
AggroTimer = 15000;
CleaveTimer = 5000;
@@ -439,17 +441,17 @@ public:
RustCount = 0;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_TINHEAD_AGGRO);
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
me->DespawnOrUnsummon();
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -457,7 +459,8 @@ public:
ScriptedAI::AttackStart(who);
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -465,7 +468,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_TINHEAD_DEATH);
@@ -473,12 +476,12 @@ public:
SummonCroneIfReady(instance, me);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_TINHEAD_SLAY);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (AggroTimer)
{
@@ -519,7 +522,7 @@ class boss_roar : public CreatureScript
public:
boss_roar() : CreatureScript("boss_roar") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_roarAI(creature);
}
@@ -538,7 +541,7 @@ public:
uint32 ShredTimer;
uint32 ScreamTimer;
void Reset()
void Reset() OVERRIDE
{
AggroTimer = 20000;
MangleTimer = 5000;
@@ -546,7 +549,8 @@ public:
ScreamTimer = 15000;
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -554,7 +558,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void AttackStart(Unit* who)
void AttackStart(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -562,17 +566,17 @@ public:
ScriptedAI::AttackStart(who);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_ROAR_AGGRO);
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
me->DespawnOrUnsummon();
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_ROAR_DEATH);
@@ -580,12 +584,12 @@ public:
SummonCroneIfReady(instance, me);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_ROAR_SLAY);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (AggroTimer)
{
@@ -627,7 +631,7 @@ class boss_crone : public CreatureScript
public:
boss_crone() : CreatureScript("boss_crone") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_croneAI(creature);
}
@@ -644,30 +648,30 @@ public:
uint32 CycloneTimer;
uint32 ChainLightningTimer;
void Reset()
void Reset() OVERRIDE
{
CycloneTimer = 30000;
ChainLightningTimer = 10000;
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
me->DespawnOrUnsummon();
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_CRONE_SLAY);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_CRONE_AGGRO);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE);
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_PC);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_CRONE_DEATH);
@@ -682,7 +686,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -713,7 +717,7 @@ class npc_cyclone : public CreatureScript
public:
npc_cyclone() : CreatureScript("npc_cyclone") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_cycloneAI(creature);
}
@@ -724,18 +728,19 @@ public:
uint32 MoveTimer;
void Reset()
void Reset() OVERRIDE
{
MoveTimer = 1000;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE
void MoveInLineOfSight(Unit* /*who*/)
{
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!me->HasAura(SPELL_KNOCKBACK))
DoCast(me, SPELL_KNOCKBACK, true);
@@ -778,7 +783,7 @@ class npc_grandmother : public CreatureScript
public:
npc_grandmother() : CreatureScript("npc_grandmother") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF)
@@ -792,7 +797,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_GRANDMA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
player->SEND_GOSSIP_MENU(8990, creature->GetGUID());
@@ -806,7 +811,7 @@ class boss_bigbadwolf : public CreatureScript
public:
boss_bigbadwolf() : CreatureScript("boss_bigbadwolf") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_bigbadwolfAI(creature);
}
@@ -829,7 +834,7 @@ public:
bool IsChasing;
void Reset()
void Reset() OVERRIDE
{
ChaseTimer = 30000;
FearTimer = urand(25000, 35000);
@@ -841,22 +846,22 @@ public:
IsChasing = false;
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_WOLF_AGGRO);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_WOLF_SLAY);
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
me->DespawnOrUnsummon();
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
DoPlaySoundToSet(me, SOUND_WOLF_DEATH);
@@ -871,7 +876,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -1008,7 +1013,7 @@ class boss_julianne : public CreatureScript
public:
boss_julianne() : CreatureScript("boss_julianne") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_julianneAI(creature);
}
@@ -1045,7 +1050,7 @@ public:
bool SummonedRomulo;
bool RomuloDead;
void Reset()
void Reset() OVERRIDE
{
RomuloGUID = 0;
Phase = PHASE_JULIANNE;
@@ -1068,9 +1073,9 @@ public:
RomuloDead = false;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void AttackStart(Unit* who)
void AttackStart(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1078,7 +1083,8 @@ public:
ScriptedAI::AttackStart(who);
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1086,12 +1092,12 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
me->DespawnOrUnsummon();
}
void SpellHit(Unit* /*caster*/, const SpellInfo* Spell)
void SpellHit(Unit* /*caster*/, const SpellInfo* Spell) OVERRIDE
{
if (Spell->Id == SPELL_DRINK_POISON)
{
@@ -1100,9 +1106,9 @@ public:
}
}
void DamageTaken(Unit* /*done_by*/, uint32 &damage);
void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE;
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_JULIANNE_DEATH02);
@@ -1116,12 +1122,12 @@ public:
}
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_JULIANNE_SLAY);
}
void UpdateAI(uint32 diff);
void UpdateAI(uint32 diff) OVERRIDE;
};
};
@@ -1130,7 +1136,7 @@ class boss_romulo : public CreatureScript
public:
boss_romulo() : CreatureScript("boss_romulo") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_romuloAI(creature);
}
@@ -1160,7 +1166,7 @@ public:
bool IsFakingDeath;
bool JulianneDead;
void Reset()
void Reset() OVERRIDE
{
JulianneGUID = 0;
Phase = PHASE_ROMULO;
@@ -1175,12 +1181,12 @@ public:
JulianneDead = false;
}
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
me->DespawnOrUnsummon();
}
void DamageTaken(Unit* /*done_by*/, uint32 &damage)
void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
{
if (damage < me->GetHealth())
return;
@@ -1234,7 +1240,7 @@ public:
TC_LOG_ERROR(LOG_FILTER_TSCR, "boss_romuloAI: DamageTaken reach end of code, that should not happen.");
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_ROMULO_AGGRO);
if (JulianneGUID)
@@ -1248,7 +1254,8 @@ public:
}
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE))
return;
@@ -1256,7 +1263,7 @@ public:
ScriptedAI::MoveInLineOfSight(who);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_ROMULO_DEATH);
@@ -1271,12 +1278,12 @@ public:
}
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_ROMULO_SLAY);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim() || IsFakingDeath)
return;
@@ -49,7 +49,7 @@ class instance_karazhan : public InstanceMapScript
public:
instance_karazhan() : InstanceMapScript("instance_karazhan", 532) { }
InstanceScript* GetInstanceScript(InstanceMap* map) const
InstanceScript* GetInstanceScript(InstanceMap* map) const OVERRIDE
{
return new instance_karazhan_InstanceMapScript(map);
}
@@ -127,7 +127,7 @@ public:
}
}
void SetData(uint32 type, uint32 uiData)
void SetData(uint32 type, uint32 uiData) OVERRIDE
{
switch (type)
{
@@ -182,7 +182,7 @@ public:
}
}
void SetData64(uint32 identifier, uint64 data)
void SetData64(uint32 identifier, uint64 data) OVERRIDE
{
switch (identifier)
{
@@ -241,7 +241,7 @@ public:
return strSaveData;
}
uint32 GetData(uint32 uiData) const
uint32 GetData(uint32 uiData) const OVERRIDE
{
switch (uiData)
{
@@ -264,7 +264,7 @@ public:
return 0;
}
uint64 GetData64(uint32 uiData) const
uint64 GetData64(uint32 uiData) const OVERRIDE
{
switch (uiData)
{
@@ -36,6 +36,28 @@ EndContentData */
#include "ScriptedEscortAI.h"
#include "Player.h"
enum Spells
{
// Barnes
SPELL_SPOTLIGHT = 25824,
SPELL_TUXEDO = 32616,
// Berthold
SPELL_TELEPORT = 39567,
// Image of Medivh
SPELL_FIRE_BALL = 30967,
SPELL_UBER_FIREBALL = 30971,
SPELL_CONFLAGRATION_BLAST = 30977,
SPELL_MANA_SHIELD = 31635
};
enum Creatures
{
NPC_ARCANAGOS = 17652,
NPC_SPOTLIGHT = 19525
};
/*######
# npc_barnesAI
######*/
@@ -96,11 +118,6 @@ float Spawns[6][2]=
{17534, -10900}, // Julianne
};
#define CREATURE_SPOTLIGHT 19525
#define SPELL_SPOTLIGHT 25824
#define SPELL_TUXEDO 32616
#define SPAWN_Z 90.5f
#define SPAWN_Y -1758
#define SPAWN_O 4.738f
@@ -131,7 +148,7 @@ public:
bool PerformanceReady;
bool RaidWiped;
void Reset()
void Reset() OVERRIDE
{
m_uiSpotlightGUID = 0;
@@ -159,9 +176,9 @@ public:
Start(false, false);
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void WaypointReached(uint32 waypointId)
void WaypointReached(uint32 waypointId) OVERRIDE
{
if (!instance)
return;
@@ -176,13 +193,13 @@ public:
TalkCount = 0;
SetEscortPaused(true);
if (Creature* pSpotlight = me->SummonCreature(CREATURE_SPOTLIGHT,
if (Creature* spotlight = me->SummonCreature(NPC_SPOTLIGHT,
me->GetPositionX(), me->GetPositionY(), me->GetPositionZ(), 0.0f,
TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, 60000))
{
pSpotlight->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
pSpotlight->CastSpell(pSpotlight, SPELL_SPOTLIGHT, false);
m_uiSpotlightGUID = pSpotlight->GetGUID();
spotlight->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE);
spotlight->CastSpell(spotlight, SPELL_SPOTLIGHT, false);
m_uiSpotlightGUID = spotlight->GetGUID();
}
break;
case 8:
@@ -266,7 +283,7 @@ public:
RaidWiped = false;
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
npc_escortAI::UpdateAI(diff);
@@ -326,7 +343,7 @@ public:
}
};
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
npc_barnesAI* pBarnesAI = CAST_AI(npc_barnes::npc_barnesAI, creature->AI());
@@ -361,7 +378,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (InstanceScript* instance = creature->GetInstanceScript())
{
@@ -393,7 +410,7 @@ public:
return true;
}
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_barnesAI(creature);
}
@@ -403,11 +420,6 @@ public:
# npc_berthold
####*/
enum eBerthold
{
SPELL_TELEPORT = 39567
};
#define GOSSIP_ITEM_TELEPORT "Teleport me to the Guardian's Library"
class npc_berthold : public CreatureScript
@@ -415,7 +427,7 @@ class npc_berthold : public CreatureScript
public:
npc_berthold() : CreatureScript("npc_berthold") { }
bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* /*creature*/, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
if (action == GOSSIP_ACTION_INFO_DEF + 1)
@@ -425,7 +437,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (InstanceScript* instance = creature->GetInstanceScript())
{
@@ -453,11 +465,6 @@ public:
#define SAY_DIALOG_ARCANAGOS_8 "What have you done, wizard? This cannot be! I'm burning from... within!"
#define SAY_DIALOG_MEDIVH_9 "He should not have angered me. I must go... recover my strength now..."
#define NPC_ARCANAGOS 17652
#define SPELL_FIRE_BALL 30967
#define SPELL_UBER_FIREBALL 30971
#define SPELL_CONFLAGRATION_BLAST 30977
#define SPELL_MANA_SHIELD 31635
static float MedivPos[4] = {-11161.49f, -1902.24f, 91.48f, 1.94f};
static float ArcanagosPos[4] = {-11169.75f, -1881.48f, 95.39f, 4.83f};
@@ -467,7 +474,7 @@ class npc_image_of_medivh : public CreatureScript
public:
npc_image_of_medivh() : CreatureScript("npc_image_of_medivh") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_image_of_medivhAI(creature);
}
@@ -490,7 +497,7 @@ public:
bool EventStarted;
void Reset()
void Reset() OVERRIDE
{
ArcanagosGUID = 0;
@@ -505,9 +512,9 @@ public:
me->RemoveCorpse();
}
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void MovementInform(uint32 type, uint32 id)
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
if (type != POINT_MOTION_TYPE)
return;
@@ -613,7 +620,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (YellTimer <= diff)
{
@@ -19,7 +19,7 @@
#ifndef DEF_KARAZHAN_H
#define DEF_KARAZHAN_H
enum eEnums
enum DataTypes
{
TYPE_ATTUMEN = 1,
TYPE_MOROES = 2,
@@ -94,7 +94,7 @@ class boss_felblood_kaelthas : public CreatureScript
public:
boss_felblood_kaelthas() : CreatureScript("boss_felblood_kaelthas") { }
CreatureAI* GetAI(Creature* c) const
CreatureAI* GetAI(Creature* c) const OVERRIDE
{
return new boss_felblood_kaelthasAI(c);
}
@@ -132,7 +132,7 @@ public:
// 1 = Fireball; Summon Phoenix; Flamestrike
// 2 = Gravity Lapses
void Reset()
void Reset() OVERRIDE
{
/// @todo Timers
FireballTimer = 0;
@@ -154,7 +154,7 @@ public:
instance->SetData(DATA_KAELTHAS_EVENT, NOT_STARTED);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
@@ -168,13 +168,13 @@ public:
escapeOrb->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_NOT_SELECTABLE);
}
void DamageTaken(Unit* /*done_by*/, uint32 &damage)
void DamageTaken(Unit* /*done_by*/, uint32 &damage) OVERRIDE
{
if (damage > me->GetHealth())
RemoveGravityLapse(); // Remove Gravity Lapse so that players fall to ground if they kill him when in air.
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
if (!instance)
return;
@@ -182,7 +182,8 @@ public:
instance->SetData(DATA_KAELTHAS_EVENT, IN_PROGRESS);
}
void MoveInLineOfSight(Unit* who)
void MoveInLineOfSight(Unit* who) OVERRIDE
{
if (!HasTaunted && me->IsWithinDistInMap(who, 40.0f))
{
@@ -280,7 +281,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//Return since we have no target
if (!UpdateVictim())
@@ -437,7 +438,7 @@ class npc_felkael_flamestrike : public CreatureScript
public:
npc_felkael_flamestrike() : CreatureScript("npc_felkael_flamestrike") { }
CreatureAI* GetAI(Creature* c) const
CreatureAI* GetAI(Creature* c) const OVERRIDE
{
return new npc_felkael_flamestrikeAI(c);
}
@@ -450,7 +451,7 @@ public:
uint32 FlameStrikeTimer;
void Reset()
void Reset() OVERRIDE
{
FlameStrikeTimer = 5000;
@@ -460,9 +461,10 @@ public:
DoCast(me, SPELL_FLAMESTRIKE2, true);
}
void EnterCombat(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
void UpdateAI(uint32 diff)
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff) OVERRIDE
{
if (FlameStrikeTimer <= diff)
{
@@ -478,7 +480,7 @@ class npc_felkael_phoenix : public CreatureScript
public:
npc_felkael_phoenix() : CreatureScript("npc_felkael_phoenix") { }
CreatureAI* GetAI(Creature* c) const
CreatureAI* GetAI(Creature* c) const OVERRIDE
{
return new npc_felkael_phoenixAI(c);
}
@@ -496,7 +498,7 @@ public:
bool Rebirth;
bool FakeDeath;
void Reset()
void Reset() OVERRIDE
{
me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE + UNIT_FLAG_NON_ATTACKABLE);
me->SetDisableGravity(true);
@@ -507,9 +509,9 @@ public:
FakeDeath = false;
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void DamageTaken(Unit* /*killer*/, uint32 &damage)
void DamageTaken(Unit* /*killer*/, uint32 &damage) OVERRIDE
{
if (damage < me->GetHealth())
return;
@@ -543,12 +545,12 @@ public:
}
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
me->SummonCreature(CREATURE_PHOENIX_EGG, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 45000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
//If we are fake death, we cast revbirth and after that we kill the phoenix to spawn the egg.
if (FakeDeath)
@@ -591,7 +593,7 @@ class npc_felkael_phoenix_egg : public CreatureScript
public:
npc_felkael_phoenix_egg() : CreatureScript("npc_felkael_phoenix_egg") { }
CreatureAI* GetAI(Creature* c) const
CreatureAI* GetAI(Creature* c) const OVERRIDE
{
return new npc_felkael_phoenix_eggAI(c);
}
@@ -602,15 +604,16 @@ public:
uint32 HatchTimer;
void Reset()
void Reset() OVERRIDE
{
HatchTimer = 10000;
}
void EnterCombat(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (HatchTimer <= diff)
{
@@ -626,7 +629,7 @@ class npc_arcane_sphere : public CreatureScript
public:
npc_arcane_sphere() : CreatureScript("npc_arcane_sphere") { }
CreatureAI* GetAI(Creature* c) const
CreatureAI* GetAI(Creature* c) const OVERRIDE
{
return new npc_arcane_sphereAI(c);
}
@@ -638,7 +641,7 @@ public:
uint32 DespawnTimer;
uint32 ChangeTargetTimer;
void Reset()
void Reset() OVERRIDE
{
DespawnTimer = 30000;
ChangeTargetTimer = urand(6000, 12000);
@@ -649,9 +652,9 @@ public:
DoCast(me, SPELL_ARCANE_SPHERE_PASSIVE, true);
}
void EnterCombat(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (DespawnTimer <= diff)
me->Kill(me);
@@ -49,19 +49,34 @@ static Speech PlayerDeath[]=
{9},
};
enum eEnums
enum Yells
{
SAY_AGGRO = 0,
SAY_DEATH = 10,
};
SPELL_DISPEL_MAGIC = 27609,
SPELL_FLASH_HEAL = 17843,
SPELL_SW_PAIN_NORMAL = 14032,
SPELL_SW_PAIN_HEROIC = 15654,
SPELL_SHIELD = 44291,
SPELL_RENEW_NORMAL = 44174,
SPELL_RENEW_HEROIC = 46192,
enum Spells
{
SPELL_DISPEL_MAGIC = 27609,
SPELL_FLASH_HEAL = 17843,
SPELL_SW_PAIN_NORMAL = 14032,
SPELL_SW_PAIN_HEROIC = 15654,
SPELL_SHIELD = 44291,
SPELL_RENEW_NORMAL = 44174,
SPELL_RENEW_HEROIC = 46192,
// Apoko
SPELL_WINDFURY_TOTEM = 27621,
SPELL_WAR_STOMP = 46026,
SPELL_PURGE = 27626,
SPELL_LESSER_HEALING_WAVE = 44256,
SPELL_FROST_SHOCK = 21401,
SPELL_FIRE_NOVA_TOTEM = 44257,
SPELL_EARTHBIND_TOTEM = 15786
};
enum Misc
{
MAX_ACTIVE_LACKEY = 4
};
@@ -93,7 +108,7 @@ class boss_priestess_delrissa : public CreatureScript
public:
boss_priestess_delrissa() : CreatureScript("boss_priestess_delrissa") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_priestess_delrissaAI(creature);
}
@@ -121,7 +136,7 @@ public:
uint32 DispelTimer;
uint32 ResetTimer;
void Reset()
void Reset() OVERRIDE
{
PlayersKilled = 0;
@@ -136,13 +151,13 @@ public:
}
//this mean she at some point evaded
void JustReachedHome()
void JustReachedHome() OVERRIDE
{
if (instance)
instance->SetData(DATA_DELRISSA_EVENT, FAIL);
}
void EnterCombat(Unit* who)
void EnterCombat(Unit* who) OVERRIDE
{
Talk(SAY_AGGRO);
@@ -211,7 +226,7 @@ public:
}
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) OVERRIDE
{
if (victim->GetTypeId() != TYPEID_PLAYER)
return;
@@ -222,7 +237,7 @@ public:
++PlayersKilled;
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
@@ -238,7 +253,7 @@ public:
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -333,7 +348,7 @@ public:
};
};
enum eHealingPotion
enum HealingPotion
{
SPELL_HEALING_POTION = 15503
};
@@ -355,7 +370,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
bool UsedPotion;
void Reset()
void Reset() OVERRIDE
{
UsedPotion = false;
@@ -373,7 +388,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
void EnterCombat(Unit* who)
void EnterCombat(Unit* who) OVERRIDE
{
if (!who)
return;
@@ -403,7 +418,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (!instance)
return;
@@ -435,7 +450,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
void KilledUnit(Unit* victim)
void KilledUnit(Unit* victim) OVERRIDE
{
if (!instance)
return;
@@ -456,7 +471,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UsedPotion && HealthBelowPct(25))
{
@@ -472,7 +487,7 @@ struct boss_priestess_lackey_commonAI : public ScriptedAI
}
};
enum eRogueSpells
enum RogueSpells
{
SPELL_KIDNEY_SHOT = 27615,
SPELL_GOUGE = 12540,
@@ -487,7 +502,7 @@ class boss_kagani_nightstrike : public CreatureScript
public:
boss_kagani_nightstrike() : CreatureScript("boss_kagani_nightstrike") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_kagani_nightstrikeAI(creature);
}
@@ -504,7 +519,7 @@ public:
uint32 Wait_Timer;
bool InVanish;
void Reset()
void Reset() OVERRIDE
{
Gouge_Timer = 5500;
Kick_Timer = 7000;
@@ -517,7 +532,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -575,7 +590,7 @@ public:
};
};
enum eWarlockSpells
enum WarlockSpells
{
SPELL_IMMOLATE = 44267,
SPELL_SHADOW_BOLT = 12471,
@@ -591,7 +606,7 @@ class boss_ellris_duskhallow : public CreatureScript
public:
boss_ellris_duskhallow() : CreatureScript("boss_ellris_duskhallow") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_ellris_duskhallowAI(creature);
}
@@ -607,7 +622,7 @@ public:
uint32 Curse_of_Agony_Timer;
uint32 Fear_Timer;
void Reset()
void Reset() OVERRIDE
{
Immolate_Timer = 6000;
Shadow_Bolt_Timer = 3000;
@@ -618,12 +633,12 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
DoCast(me, SPELL_SUMMON_IMP);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -671,7 +686,7 @@ public:
};
};
enum eKickDown
enum KickDown
{
SPELL_KNOCKDOWN = 11428,
SPELL_SNAP_KICK = 46182
@@ -682,7 +697,7 @@ class boss_eramas_brightblaze : public CreatureScript
public:
boss_eramas_brightblaze() : CreatureScript("boss_eramas_brightblaze") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_eramas_brightblazeAI(creature);
}
@@ -695,7 +710,7 @@ public:
uint32 Knockdown_Timer;
uint32 Snap_Kick_Timer;
void Reset()
void Reset() OVERRIDE
{
Knockdown_Timer = 6000;
Snap_Kick_Timer = 4500;
@@ -703,7 +718,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -727,7 +742,7 @@ public:
};
};
enum eMageSpells
enum MageSpells
{
SPELL_POLYMORPH = 13323,
SPELL_ICE_BLOCK = 27619,
@@ -743,7 +758,7 @@ class boss_yazzai : public CreatureScript
public:
boss_yazzai() : CreatureScript("boss_yazzai") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_yazzaiAI(creature);
}
@@ -764,7 +779,7 @@ public:
uint32 Frostbolt_Timer;
uint32 Blink_Timer;
void Reset()
void Reset() OVERRIDE
{
HasIceBlocked = false;
@@ -780,7 +795,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -857,7 +872,7 @@ public:
};
};
enum eWarriorSpells
enum WarriorSpells
{
SPELL_INTERCEPT_STUN = 27577,
SPELL_DISARM = 27581,
@@ -873,7 +888,7 @@ class boss_warlord_salaris : public CreatureScript
public:
boss_warlord_salaris() : CreatureScript("boss_warlord_salaris") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_warlord_salarisAI(creature);
}
@@ -890,7 +905,7 @@ public:
uint32 Hamstring_Timer;
uint32 Mortal_Strike_Timer;
void Reset()
void Reset() OVERRIDE
{
Intercept_Stun_Timer = 500;
Disarm_Timer = 6000;
@@ -902,12 +917,12 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
DoCast(me, SPELL_BATTLE_SHOUT);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -976,7 +991,7 @@ public:
};
};
enum eHunterSpells
enum HunterSpells
{
SPELL_AIMED_SHOT = 44271,
SPELL_SHOOT = 15620,
@@ -993,7 +1008,7 @@ class boss_garaxxas : public CreatureScript
public:
boss_garaxxas() : CreatureScript("boss_garaxxas") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_garaxxasAI(creature);
}
@@ -1015,7 +1030,7 @@ public:
uint32 Wing_Clip_Timer;
uint32 Freezing_Trap_Timer;
void Reset()
void Reset() OVERRIDE
{
Aimed_Shot_Timer = 6000;
Shoot_Timer = 2500;
@@ -1031,12 +1046,12 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
void JustSummoned(Creature* summoned)
void JustSummoned(Creature* summoned) OVERRIDE
{
m_uiPetGUID = summoned->GetGUID();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -1099,23 +1114,12 @@ public:
};
};
enum Spells
{
SPELL_WINDFURY_TOTEM = 27621,
SPELL_WAR_STOMP = 46026,
SPELL_PURGE = 27626,
SPELL_LESSER_HEALING_WAVE = 44256,
SPELL_FROST_SHOCK = 21401,
SPELL_FIRE_NOVA_TOTEM = 44257,
SPELL_EARTHBIND_TOTEM = 15786
};
class boss_apoko : public CreatureScript
{
public:
boss_apoko() : CreatureScript("boss_apoko") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_apokoAI(creature);
}
@@ -1132,7 +1136,7 @@ public:
uint32 Healing_Wave_Timer;
uint32 Frost_Shock_Timer;
void Reset()
void Reset() OVERRIDE
{
Totem_Timer = 2000;
Totem_Amount = 1;
@@ -1144,7 +1148,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -1198,7 +1202,7 @@ public:
};
};
enum eEngineerSpells
enum EngineerSpells
{
SPELL_GOBLIN_DRAGON_GUN = 44272,
SPELL_ROCKET_LAUNCH = 44137,
@@ -1213,7 +1217,7 @@ class boss_zelfan : public CreatureScript
public:
boss_zelfan() : CreatureScript("boss_zelfan") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_zelfanAI(creature);
}
@@ -1229,7 +1233,7 @@ public:
uint32 High_Explosive_Sheep_Timer;
uint32 Fel_Iron_Bomb_Timer;
void Reset()
void Reset() OVERRIDE
{
Goblin_Dragon_Gun_Timer = 20000;
Rocket_Launch_Timer = 7000;
@@ -1240,7 +1244,7 @@ public:
boss_priestess_lackey_commonAI::Reset();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -1298,9 +1302,9 @@ class npc_high_explosive_sheep : public CreatureScript
public:
npc_high_explosive_sheep() : CreatureScript("npc_high_explosive_sheep") { }
//CreatureAI* GetAI(Creature* creature) const
//CreatureAI* GetAI(Creature* creature) const OVERRIDE
//{
// return new npc_high_explosive_sheepAI (creature);
// return new npc_high_explosive_sheepAI(creature);
//};
};
*/
@@ -64,9 +64,9 @@ class boss_selin_fireheart : public CreatureScript
public:
boss_selin_fireheart() : CreatureScript("boss_selin_fireheart") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_selin_fireheartAI (creature);
return new boss_selin_fireheartAI(creature);
};
struct boss_selin_fireheartAI : public ScriptedAI
@@ -105,7 +105,7 @@ public:
uint64 CrystalGUID; // This will help us create a pointer to the crystal we are draining. We store GUIDs, never units in case unit is deleted/offline (offline if player of course).
void Reset()
void Reset() OVERRIDE
{
if (instance)
{
@@ -197,19 +197,19 @@ public:
}
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
if (instance)
instance->SetData(DATA_SELIN_EVENT, IN_PROGRESS);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_KILL);
}
void MovementInform(uint32 type, uint32 id)
void MovementInform(uint32 type, uint32 id) OVERRIDE
{
if (type == POINT_MOTION_TYPE && id == 1)
{
@@ -231,7 +231,7 @@ public:
}
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
Talk(SAY_DEATH);
@@ -242,7 +242,7 @@ public:
ShatterRemainingCrystals();
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -325,22 +325,23 @@ class npc_fel_crystal : public CreatureScript
public:
npc_fel_crystal() : CreatureScript("npc_fel_crystal") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_fel_crystalAI (creature);
return new npc_fel_crystalAI(creature);
};
struct npc_fel_crystalAI : public ScriptedAI
{
npc_fel_crystalAI(Creature* creature) : ScriptedAI(creature) {}
void Reset() {}
void EnterCombat(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
void UpdateAI(uint32 /*diff*/) {}
void Reset() OVERRIDE {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void AttackStart(Unit* /*who*/) OVERRIDE {}
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
void JustDied(Unit* /*killer*/)
void UpdateAI(uint32 /*diff*/) OVERRIDE {}
void JustDied(Unit* /*killer*/) OVERRIDE
{
if (InstanceScript* instance = me->GetInstanceScript())
{
@@ -27,35 +27,44 @@ EndScriptData */
#include "ScriptedCreature.h"
#include "magisters_terrace.h"
enum eEnums
enum Yells
{
SAY_AGGRO = 0,
SAY_ENERGY = 1,
SAY_OVERLOAD = 2,
SAY_KILL = 3,
EMOTE_DISCHARGE_ENERGY = 4,
EMOTE_DISCHARGE_ENERGY = 4
//is this text for real?
//#define SAY_DEATH "What...happen...ed."
};
//Pure energy spell info
enum Spells
{
// Pure energy spell info
SPELL_ENERGY_BOLT = 46156,
SPELL_ENERGY_FEEDBACK = 44335,
//Vexallus spell info
// Vexallus spell info
SPELL_CHAIN_LIGHTNING = 44318,
SPELL_H_CHAIN_LIGHTNING = 46380, //heroic spell
SPELL_H_CHAIN_LIGHTNING = 46380, // heroic spell
SPELL_OVERLOAD = 44353,
SPELL_ARCANE_SHOCK = 44319,
SPELL_H_ARCANE_SHOCK = 46381, //heroic spell
SPELL_H_ARCANE_SHOCK = 46381, // heroic spell
SPELL_SUMMON_PURE_ENERGY = 44322, //mod scale -10
H_SPELL_SUMMON_PURE_ENERGY1 = 46154, //mod scale -5
H_SPELL_SUMMON_PURE_ENERGY2 = 46159, //mod scale -5
SPELL_SUMMON_PURE_ENERGY = 44322, // mod scale -10
H_SPELL_SUMMON_PURE_ENERGY1 = 46154, // mod scale -5
H_SPELL_SUMMON_PURE_ENERGY2 = 46159 // mod scale -5
//Creatures
};
enum Creatures
{
NPC_PURE_ENERGY = 24745,
};
enum Misc
{
INTERVAL_MODIFIER = 15,
INTERVAL_SWITCH = 6
};
@@ -65,9 +74,9 @@ class boss_vexallus : public CreatureScript
public:
boss_vexallus() : CreatureScript("boss_vexallus") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_vexallusAI (creature);
return new boss_vexallusAI(creature);
};
struct boss_vexallusAI : public BossAI
@@ -85,7 +94,7 @@ public:
uint32 IntervalHealthAmount;
bool Enraged;
void Reset()
void Reset() OVERRIDE
{
summons.DespawnAll();
ChainLightningTimer = 8000;
@@ -98,19 +107,19 @@ public:
instance->SetData(DATA_VEXALLUS_EVENT, NOT_STARTED);
}
void KilledUnit(Unit* /*victim*/)
void KilledUnit(Unit* /*victim*/) OVERRIDE
{
Talk(SAY_KILL);
}
void JustDied(Unit* /*killer*/)
void JustDied(Unit* /*killer*/) OVERRIDE
{
summons.DespawnAll();
if (instance)
instance->SetData(DATA_VEXALLUS_EVENT, DONE);
}
void EnterCombat(Unit* /*who*/)
void EnterCombat(Unit* /*who*/) OVERRIDE
{
Talk(SAY_AGGRO);
@@ -118,7 +127,7 @@ public:
instance->SetData(DATA_VEXALLUS_EVENT, IN_PROGRESS);
}
void JustSummoned(Creature* summoned)
void JustSummoned(Creature* summoned) OVERRIDE
{
if (Unit* temp = SelectTarget(SELECT_TARGET_RANDOM, 0))
summoned->GetMotionMaster()->MoveFollow(temp, 0, 0);
@@ -127,7 +136,7 @@ public:
summoned->CastSpell(summoned, SPELL_ENERGY_BOLT, false, 0, 0, me->GetGUID());
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -201,9 +210,9 @@ class npc_pure_energy : public CreatureScript
public:
npc_pure_energy() : CreatureScript("npc_pure_energy") { }
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_pure_energyAI (creature);
return new npc_pure_energyAI(creature);
};
struct npc_pure_energyAI : public ScriptedAI
@@ -213,9 +222,9 @@ public:
me->SetDisplayId(me->GetCreatureTemplate()->Modelid2);
}
void Reset() {}
void Reset() OVERRIDE {}
void JustDied(Unit* slayer)
void JustDied(Unit* slayer) OVERRIDE
{
if (Unit* temp = me->GetOwner())
{
@@ -224,9 +233,10 @@ public:
}
}
void EnterCombat(Unit* /*who*/) {}
void MoveInLineOfSight(Unit* /*who*/) {}
void AttackStart(Unit* /*who*/) {}
void EnterCombat(Unit* /*who*/) OVERRIDE {}
void MoveInLineOfSight(Unit* /*who*/) OVERRIDE {}
void AttackStart(Unit* /*who*/) OVERRIDE {}
};
};
@@ -37,11 +37,19 @@ EndContentData */
## npc_kalecgos
######*/
enum eEnums
enum Spells
{
SPELL_TRANSFORM_TO_KAEL = 44670,
SPELL_ORB_KILL_CREDIT = 46307,
NPC_KAEL = 24848, //human form entry
SPELL_ORB_KILL_CREDIT = 46307
};
enum Creatures
{
NPC_KAEL = 24848 //human form entry
};
enum Misc
{
POINT_ID_LAND = 1
};
@@ -60,7 +68,7 @@ class npc_kalecgos : public CreatureScript
public:
npc_kalecgos() : CreatureScript("npc_kalecgos") { }
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action)
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) OVERRIDE
{
player->PlayerTalkClass->ClearMenus();
switch (action)
@@ -89,7 +97,7 @@ public:
return true;
}
bool OnGossipHello(Player* player, Creature* creature)
bool OnGossipHello(Player* player, Creature* creature) OVERRIDE
{
if (creature->IsQuestGiver())
player->PrepareQuestMenu(creature->GetGUID());
@@ -100,7 +108,7 @@ public:
return true;
}
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_kalecgosAI(creature);
}
@@ -111,7 +119,7 @@ public:
uint32 m_uiTransformTimer;
void Reset()
void Reset() OVERRIDE
{
m_uiTransformTimer = 0;
@@ -120,7 +128,7 @@ public:
me->GetMotionMaster()->MovePoint(POINT_ID_LAND, afKaelLandPoint[0], afKaelLandPoint[1], afKaelLandPoint[2]);
}
void MovementInform(uint32 uiType, uint32 uiPointId)
void MovementInform(uint32 uiType, uint32 uiPointId) OVERRIDE
{
if (uiType != POINT_MOTION_TYPE)
return;
@@ -154,7 +162,7 @@ public:
}
}
void UpdateAI(uint32 uiDiff)
void UpdateAI(uint32 uiDiff) OVERRIDE
{
if (m_uiTransformTimer)
{
@@ -59,7 +59,7 @@ class boss_baron_geddon : public CreatureScript
{
}
void EnterCombat(Unit* victim)
void EnterCombat(Unit* victim) OVERRIDE
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_INFERNO, 45000);
@@ -67,7 +67,7 @@ class boss_baron_geddon : public CreatureScript
events.ScheduleEvent(EVENT_LIVING_BOMB, 35000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -113,9 +113,9 @@ class boss_baron_geddon : public CreatureScript
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_baron_geddonAI (creature);
return new boss_baron_geddonAI(creature);
}
};
@@ -57,14 +57,14 @@ class boss_garr : public CreatureScript
{
}
void EnterCombat(Unit* victim)
void EnterCombat(Unit* victim) OVERRIDE
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_ANTIMAGIC_PULSE, 25000);
events.ScheduleEvent(EVENT_MAGMA_SHACKLES, 15000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -95,7 +95,7 @@ class boss_garr : public CreatureScript
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_garrAI(creature);
}
@@ -112,12 +112,12 @@ class npc_firesworn : public CreatureScript
uint32 immolateTimer;
void Reset()
void Reset() OVERRIDE
{
immolateTimer = 4000; //These times are probably wrong
}
void DamageTaken(Unit* /*attacker*/, uint32& damage)
void DamageTaken(Unit* /*attacker*/, uint32& damage) OVERRIDE
{
uint32 const health10pct = me->CountPctFromMaxHealth(10);
uint32 health = me->GetHealth();
@@ -129,7 +129,7 @@ class npc_firesworn : public CreatureScript
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -147,7 +147,7 @@ class npc_firesworn : public CreatureScript
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_fireswornAI(creature);
}
@@ -53,7 +53,7 @@ class boss_gehennas : public CreatureScript
{
}
void EnterCombat(Unit* victim)
void EnterCombat(Unit* victim) OVERRIDE
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_GEHENNAS_CURSE, 12000);
@@ -61,7 +61,7 @@ class boss_gehennas : public CreatureScript
events.ScheduleEvent(EVENT_SHADOW_BOLT, 6000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -98,7 +98,7 @@ class boss_gehennas : public CreatureScript
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_gehennasAI(creature);
}
@@ -63,19 +63,19 @@ class boss_golemagg : public CreatureScript
{
}
void Reset()
void Reset() OVERRIDE
{
BossAI::Reset();
DoCast(me, SPELL_MAGMASPLASH, true);
}
void EnterCombat(Unit* victim)
void EnterCombat(Unit* victim) OVERRIDE
{
BossAI::EnterCombat(victim);
events.ScheduleEvent(EVENT_PYROBLAST, 7000);
}
void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/)
void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
{
if (!HealthBelowPct(10) || me->HasAura(SPELL_ENRAGE))
return;
@@ -84,7 +84,7 @@ class boss_golemagg : public CreatureScript
events.ScheduleEvent(EVENT_EARTHQUAKE, 3000);
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -116,7 +116,7 @@ class boss_golemagg : public CreatureScript
}
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new boss_golemaggAI(creature);
}
@@ -134,12 +134,12 @@ class npc_core_rager : public CreatureScript
instance = creature->GetInstanceScript();
}
void Reset()
void Reset() OVERRIDE
{
mangleTimer = 7*IN_MILLISECONDS; // These times are probably wrong
}
void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/)
void DamageTaken(Unit* /*attacker*/, uint32& /*damage*/) OVERRIDE
{
if (HealthAbovePct(50) || !instance)
return;
@@ -155,7 +155,7 @@ class npc_core_rager : public CreatureScript
}
}
void UpdateAI(uint32 diff)
void UpdateAI(uint32 diff) OVERRIDE
{
if (!UpdateVictim())
return;
@@ -177,7 +177,7 @@ class npc_core_rager : public CreatureScript
uint32 mangleTimer;
};
CreatureAI* GetAI(Creature* creature) const
CreatureAI* GetAI(Creature* creature) const OVERRIDE
{
return new npc_core_ragerAI(creature);
}

Some files were not shown because too many files have changed in this diff Show More