121 for (
uint8 i = 0; i < entryCount; ++i)
131 SF_LOG_ERROR(
"sql.sql",
"TCSR: Creature template entry %u has ScriptName npc_air_force_bots, but it's not handled by that script", creature->
GetEntry());
134 CreatureTemplate const* spawnedTemplate = sObjectMgr->GetCreatureTemplate(SpawnAssoc->spawnedCreatureEntry);
136 if (!spawnedTemplate)
138 SF_LOG_ERROR(
"sql.sql",
"TCSR: Creature template entry %u does not exist in DB, which is required by npc_air_force_bots", SpawnAssoc->spawnedCreatureEntry);
158 SF_LOG_ERROR(
"sql.sql",
"TCSR: npc_air_force_bots: wasn't able to spawn Creature %u",
SpawnAssoc->spawnedCreatureEntry);
169 if (creature && creature->
IsAlive())
181 if (
me->IsValidAttackTarget(who))
192 if (!lastSpawnedGuard)
206 if (!lastSpawnedGuard)
210 if (!lastSpawnedGuard)
220 if (!lastSpawnedGuard)
223 if (!lastSpawnedGuard)
235 if (!lastSpawnedGuard)
238 if (!lastSpawnedGuard)
271#define GOSSIP_ITEM_GRANT "You have thought well, spirit. I ask you to grant me the strength of your body and the strength of your heart."
289 player->PlayerTalkClass->ClearMenus();
428 me->GetPosition(x, y, z);
429 me->Relocate(x, y, z + 0.94f);
430 me->SetDisableGravity(
true);
453 if (
me->IsWithinLOS(player->GetPositionX(), player->GetPositionY(), player->GetPositionZ()) &&
me->IsWithinDistInMap(player, 30.0f))
455 me->SetInFront(player);
508 {-3757.38f, -4533.05f, 14.16f, 3.62f},
509 {-3754.36f, -4539.13f, 14.16f, 5.13f},
510 {-3749.54f, -4540.25f, 14.28f, 3.34f},
511 {-3742.10f, -4536.85f, 14.28f, 3.64f},
512 {-3755.89f, -4529.07f, 14.05f, 0.57f},
513 {-3749.51f, -4527.08f, 14.07f, 5.26f},
514 {-3746.37f, -4525.35f, 14.16f, 5.22f},
518#define A_RUNTOX -3742.96f
519#define A_RUNTOY -4531.52f
520#define A_RUNTOZ 11.91f
524 {-1013.75f, -3492.59f, 62.62f, 4.34f},
525 {-1017.72f, -3490.92f, 62.62f, 4.34f},
526 {-1015.77f, -3497.15f, 62.82f, 4.34f},
527 {-1019.51f, -3495.49f, 62.82f, 4.34f},
528 {-1017.25f, -3500.85f, 62.98f, 4.34f},
529 {-1020.95f, -3499.21f, 62.98f, 4.34f}
533#define H_RUNTOX -1016.44f
534#define H_RUNTOY -3508.48f
535#define H_RUNTOZ 62.96f
601 switch (
me->GetEntry())
654 std::list<uint64>::const_iterator itr;
683 if ((quest->GetQuestId() == 6624) || (quest->GetQuestId() == 6622))
731 me->SetHealth(
me->CountPctFromMaxHealth(75));
735 me->SetHealth(
me->CountPctFromMaxHealth(50));
739 me->SetHealth(
me->CountPctFromMaxHealth(25));
749 if (!player || !
me->IsAlive() || spell->Id != 20804)
789 if (
me->IsAlive() &&
me->GetHealth() > 6)
790 me->ModifyHealth(-5);
792 if (
me->IsAlive() &&
me->GetHealth() <= 6)
830 switch (
me->GetEntry())
839 SF_LOG_ERROR(
"scripts",
"Invalid entry for Triage doctor. Please check your database");
850 Patients.push_back(Patient->GetGUID());
924 me->SetHealth(
me->CountPctFromMaxHealth(70));
934 if (
me->IsInCombat())
943 switch (
me->GetEntry())
1034 player->TalkedToCreature(
me->GetEntry(),
me->GetGUID());
1049 switch (
me->GetEntry())
1068 Start(
false,
true,
true);
1121 if (
me->isAttackReady())
1124 me->resetAttackTimer();
1146 if (creature->IsQuestGiver())
1147 player->PrepareQuestMenu(creature->GetGUID());
1149 bool canBuy =
false;
1150 uint32 vendor = creature->GetEntry();
1151 uint8 race = player->getRace();
1160 player->SEND_GOSSIP_MENU(5855, creature->GetGUID());
1165 player->SEND_GOSSIP_MENU(5856, creature->GetGUID());
1170 player->SEND_GOSSIP_MENU(5841, creature->GetGUID());
1175 player->SEND_GOSSIP_MENU(5843, creature->GetGUID());
1180 player->SEND_GOSSIP_MENU(5844, creature->GetGUID());
1185 player->SEND_GOSSIP_MENU(5840, creature->GetGUID());
1190 player->SEND_GOSSIP_MENU(5842, creature->GetGUID());
1195 player->SEND_GOSSIP_MENU(5857, creature->GetGUID());
1200 player->SEND_GOSSIP_MENU(10305, creature->GetGUID());
1205 player->SEND_GOSSIP_MENU(10239, creature->GetGUID());
1212 if (creature->IsVendor())
1214 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
1221 player->PlayerTalkClass->ClearMenus();
1223 player->GetSession()->SendListInventory(creature->GetGUID());
1233#define GOSSIP_HELLO_ROGUE1 "I wish to unlearn my talents"
1234#define GOSSIP_HELLO_ROGUE2 "<Take the letter>"
1235#define GOSSIP_HELLO_ROGUE3 "Purchase a Dual Talent Specialization."
1236#define GOSSIP_HELLO_ROGUE4 "I wish to unlearn my specialization"
1245 if (creature->IsQuestGiver())
1246 player->PrepareQuestMenu(creature->GetGUID());
1248 if (creature->IsTrainer())
1260 if (player->getClass() ==
CLASS_ROGUE && player->getLevel() >= 24 && !player->HasItemCount(17126) && !player->GetQuestRewardStatus(6681))
1263 player->SEND_GOSSIP_MENU(5996, creature->GetGUID());
1265 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
1272 player->PlayerTalkClass->ClearMenus();
1276 player->CLOSE_GOSSIP_MENU();
1277 player->CastSpell(player, 21100,
false);
1280 player->GetSession()->SendTrainerList(creature->GetGUID());
1283 player->CLOSE_GOSSIP_MENU();
1284 player->SendTalentWipeConfirm(creature->GetGUID(),
false);
1287 player->CLOSE_GOSSIP_MENU();
1288 player->SendTalentWipeConfirm(creature->GetGUID(),
true);
1294 if (!player->HasEnoughMoney(
uint64(100000)))
1297 player->PlayerTalkClass->SendCloseGossip();
1302 player->ModifyMoney(
int64(-100000));
1306 player->CastSpell(player, 63680,
true, NULL, NULL, player->GetGUID());
1307 player->CastSpell(player, 63624,
true, NULL, NULL, player->GetGUID());
1310 player->PrepareGossipMenu(creature, 10373);
1311 player->SendPreparedGossip(creature);
1337#define GOSSIP_HELLO_SAYGE "Yes"
1338#define GOSSIP_SENDACTION_SAYGE1 "Slay the Man"
1339#define GOSSIP_SENDACTION_SAYGE2 "Turn him over to liege"
1340#define GOSSIP_SENDACTION_SAYGE3 "Confiscate the corn"
1341#define GOSSIP_SENDACTION_SAYGE4 "Let him go and have the corn"
1342#define GOSSIP_SENDACTION_SAYGE5 "Execute your friend painfully"
1343#define GOSSIP_SENDACTION_SAYGE6 "Execute your friend painlessly"
1344#define GOSSIP_SENDACTION_SAYGE7 "Let your friend go"
1345#define GOSSIP_SENDACTION_SAYGE8 "Confront the diplomat"
1346#define GOSSIP_SENDACTION_SAYGE9 "Show not so quiet defiance"
1347#define GOSSIP_SENDACTION_SAYGE10 "Remain quiet"
1348#define GOSSIP_SENDACTION_SAYGE11 "Speak against your brother openly"
1349#define GOSSIP_SENDACTION_SAYGE12 "Help your brother in"
1350#define GOSSIP_SENDACTION_SAYGE13 "Keep your brother out without letting him know"
1351#define GOSSIP_SENDACTION_SAYGE14 "Take credit, keep gold"
1352#define GOSSIP_SENDACTION_SAYGE15 "Take credit, share the gold"
1353#define GOSSIP_SENDACTION_SAYGE16 "Let the knight take credit"
1354#define GOSSIP_SENDACTION_SAYGE17 "Thanks"
1363 if (creature->IsQuestGiver())
1364 player->PrepareQuestMenu(creature->GetGUID());
1366 if (player->HasSpellCooldown(
SPELL_INT) ||
1374 player->SEND_GOSSIP_MENU(7393, creature->GetGUID());
1378 player->SEND_GOSSIP_MENU(7339, creature->GetGUID());
1393 player->SEND_GOSSIP_MENU(7340, creature->
GetGUID());
1399 player->SEND_GOSSIP_MENU(7341, creature->
GetGUID());
1405 player->SEND_GOSSIP_MENU(7361, creature->
GetGUID());
1411 player->SEND_GOSSIP_MENU(7362, creature->
GetGUID());
1417 player->SEND_GOSSIP_MENU(7363, creature->
GetGUID());
1421 player->SEND_GOSSIP_MENU(7364, creature->
GetGUID());
1425 player->SEND_GOSSIP_MENU(7365, creature->
GetGUID());
1432 player->PlayerTalkClass->ClearMenus();
1439 creature->CastSpell(player,
SPELL_DMG,
false);
1440 player->AddSpellCooldown(
SPELL_DMG, 0, time(NULL) + 7200);
1444 creature->CastSpell(player,
SPELL_RES,
false);
1445 player->AddSpellCooldown(
SPELL_RES, 0, time(NULL) + 7200);
1449 creature->CastSpell(player,
SPELL_ARM,
false);
1450 player->AddSpellCooldown(
SPELL_ARM, 0, time(NULL) + 7200);
1454 creature->CastSpell(player,
SPELL_SPI,
false);
1455 player->AddSpellCooldown(
SPELL_SPI, 0, time(NULL) + 7200);
1459 creature->CastSpell(player,
SPELL_INT,
false);
1460 player->AddSpellCooldown(
SPELL_INT, 0, time(NULL) + 7200);
1464 creature->CastSpell(player,
SPELL_STM,
false);
1465 player->AddSpellCooldown(
SPELL_STM, 0, time(NULL) + 7200);
1469 creature->CastSpell(player,
SPELL_STR,
false);
1470 player->AddSpellCooldown(
SPELL_STR, 0, time(NULL) + 7200);
1474 creature->CastSpell(player,
SPELL_AGI,
false);
1475 player->AddSpellCooldown(
SPELL_AGI, 0, time(NULL) + 7200);
1500 me->InitCharmInfo();
1501 me->GetCharmInfo()->InitEmptyActionBar(
false);
1665 me->DespawnOrUnsummon();
1684#define GOSSIP_ENGINEERING1 "Borean Tundra"
1685#define GOSSIP_ENGINEERING2 "Howling Fjord"
1686#define GOSSIP_ENGINEERING3 "Sholazar Basin"
1687#define GOSSIP_ENGINEERING4 "Icecrown"
1688#define GOSSIP_ENGINEERING5 "Storm Peaks"
1689#define GOSSIP_ENGINEERING6 "Underground..."
1730 if (creature->IsSummon())
1732 if (player == creature->ToTempSummon()->GetSummoner())
1743 player->PlayerTalkClass->SendGossipMenu(
TEXT_WORMHOLE, creature->GetGUID());
1752 player->PlayerTalkClass->ClearMenus();
1757 player->CLOSE_GOSSIP_MENU();
1761 player->CLOSE_GOSSIP_MENU();
1765 player->CLOSE_GOSSIP_MENU();
1769 player->CLOSE_GOSSIP_MENU();
1773 player->CLOSE_GOSSIP_MENU();
1777 player->CLOSE_GOSSIP_MENU();
1803#define GOSSIP_PET1 "How do I train my pet?"
1804#define GOSSIP_PET2 "I wish to untrain my pet."
1805#define GOSSIP_PET_CONFIRM "Yes, please do."
1814 if (creature->IsQuestGiver())
1815 player->PrepareQuestMenu(creature->GetGUID());
1823 player->PlayerTalkClass->SendGossipMenu(
TEXT_ISHUNTER, creature->GetGUID());
1826 player->PlayerTalkClass->SendGossipMenu(
TEXT_NOTHUNTER, creature->GetGUID());
1832 player->PlayerTalkClass->ClearMenus();
1836 player->PlayerTalkClass->SendGossipMenu(
TEXT_PETINFO, creature->GetGUID());
1841 player->PlayerTalkClass->SendGossipMenu(
TEXT_CONFIRM, creature->GetGUID());
1846 player->ResetPetTalents();
1847 player->CLOSE_GOSSIP_MENU();
1892#define GOSSIP_LOST_ARCATRAZ_KEY "I've lost my key to the Arcatraz."
1893#define GOSSIP_LOST_SHADOWFORGE_KEY "I've lost my key to the Blackrock Depths."
1894#define GOSSIP_LOST_SKELETON_KEY "I've lost my key to the Scholomance."
1895#define GOSSIP_LOST_SHATTERED_HALLS_KEY "I've lost my key to the Shattered Halls."
1896#define GOSSIP_LOST_THE_MASTERS_KEY "I've lost my key to the Karazhan."
1897#define GOSSIP_LOST_VIOLET_HOLD_KEY "I've lost my key to the Violet Hold."
1898#define GOSSIP_LOST_ESSENCE_INFUSED_MOONSTONE "I've lost my Essence-Infused Moonstone."
1899#define GOSSIP_LOST_KEY_TO_THE_FOCUSING_IRIS "I've lost my Key to the Focusing Iris."
1900#define GOSSIP_LOST_HC_KEY_TO_THE_FOCUSING_IRIS "I've lost my Heroic Key to the Focusing Iris."
1947 player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
1954 player->PlayerTalkClass->ClearMenus();
1958 player->CLOSE_GOSSIP_MENU();
1962 player->CLOSE_GOSSIP_MENU();
1966 player->CLOSE_GOSSIP_MENU();
1970 player->CLOSE_GOSSIP_MENU();
1974 player->CLOSE_GOSSIP_MENU();
1978 player->CLOSE_GOSSIP_MENU();
1982 player->CLOSE_GOSSIP_MENU();
1986 player->CLOSE_GOSSIP_MENU();
1990 player->CLOSE_GOSSIP_MENU();
2002#define EXP_COST 100000
2003#define GOSSIP_TEXT_EXP 14736
2004#define GOSSIP_XP_OFF "I no longer wish to gain experience."
2005#define GOSSIP_XP_ON "I wish to start gaining experience again."
2016 player->PlayerTalkClass->SendGossipMenu(
GOSSIP_TEXT_EXP, creature->GetGUID());
2022 player->PlayerTalkClass->ClearMenus();
2024 bool doSwitch =
false;
2056 player->PlayerTalkClass->SendCloseGossip();
2131 switch (
me->GetEntry())
2176 launcher = launcher1;
2178 launcher = launcher2;
2180 launcher = launcher3;
2182 launcher = launcher4;
2191 launcher = launcher1;
2193 launcher = launcher2;
2195 launcher = launcher3;
2238 switch (
me->GetEntry())
2294 me->SetOrientation(launcher->GetOrientation() +
M_PI/2);
2306 switch (std::rand() % 9)
2313 minion->AI()->AttackStart(
me->SelectNearestPlayer(20.0f));
2324 float displacement = 0.7f;
2325 for (
uint8 i = 0; i < 4; i++)
2326 me->SummonGameObject(
GetFireworkGameObjectId(),
me->GetPositionX() + (i%2 == 0 ? displacement : -displacement),
me->GetPositionY() + (i > 1 ? displacement : -displacement),
me->GetPositionZ() + 4.0f,
me->GetOrientation(), 0.0f, 0.0f, 0.0f, 0.0f, 1);
2377 if (
Unit* owner =
me->GetOwner())
2386 if (
Unit* owner =
me->GetOwner())
2419 rabbit->AI()->DoAction(1);
2442#define GOSSIP_TEXT_EXP 14736
2443#define GOSSIP_CHOOSE_FACTION "I would like to choose my faction"
bool IsHolidayActive(HolidayIds id)
@ GOSSIP_OPTION_UNLEARN_SPEC
@ GOSSIP_OPTION_UNLEARNTALENTS
@ GOSSIP_OPTION_LEARNDUALSPEC
@ BUY_ERR_NOT_ENOUGHT_MONEY
#define SF_LOG_ERROR(filterType__,...)
@ TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT
@ TEMPSUMMON_CORPSE_TIMED_DESPAWN
@ PLAYER_FLAGS_NO_XP_GAIN
@ QUEST_STATUS_INCOMPLETE
GameObject * GetClosestGameObjectWithEntry(WorldObject *source, uint32 entry, float maxSearchRange)
#define GOSSIP_TEXT_TRAIN
#define GOSSIP_TEXT_BROWSE_GOODS
@ SPELL_EFFECT_KNOCK_BACK
@ SPELL_EFFECT_SUMMON_OBJECT_WILD
@ UNIT_NPC_FLAG_QUESTGIVER
@ UNIT_FLAG_NON_ATTACKABLE
@ UNIT_FLAG_PVP_ATTACKABLE
@ UNIT_FLAG_NOT_SELECTABLE
@ OBJECT_FIELD_DYNAMIC_FLAGS
@ PLAYER_FIELD_PLAYER_FLAGS
float frand(float min, float max)
int32 GetDuration() const
void Talk(uint8 id, WorldObject const *whisperTarget=NULL)
virtual void EnterEvadeMode()
CreatureScript(const char *name)
static Player * GetPlayer(WorldObject const &, uint64 guid)
void ShowNeutralPlayerFactionSelectUI()
void PrepareQuestMenu(uint64 guid)
void AreaExploredOrEventHappens(uint32 questId)
QuestStatus GetQuestStatus(uint32 quest_id) const
void FailQuest(uint32 quest_id)
PlayerMenu * PlayerTalkClass
SpellEffectInfo Effects[MAX_SPELL_EFFECTS]
void DoMeleeAttackIfReady()
void DoCast(uint32 spellId)
void DoCastVictim(uint32 spellId, bool triggered=false)
virtual void AttackStart(Unit *)
void CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=NULL, AuraEffect const *triggeredByAura=NULL, uint64 originalCaster=0)
bool IsQuestGiver() const
static Creature * GetCreature(WorldObject &object, uint64 guid)
static Unit * GetUnit(WorldObject &object, uint64 guid)
npc_Spirit_of_Master_Shang_Xi()
bool OnGossipSelect(Player *player, Creature *, uint32, uint32 action)
bool OnGossipHello(Player *player, Creature *creature)
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnQuestComplete(Player *, Creature *creature, Quest const *quest) OVERRIDE
bool OnQuestAccept(Player *, Creature *creature, Quest const *quest) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnQuestAccept(Player *player, Creature *creature, Quest const *quest) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *, uint32, uint32 action) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipSelect(Player *player, Creature *, uint32, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32 sender, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
void SendAction(Player *player, Creature *creature, uint32 action)
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
bool OnGossipSelect(Player *player, Creature *creature, uint32, uint32 action) OVERRIDE
bool OnGossipHello(Player *player, Creature *creature) OVERRIDE
CreatureAI * GetAI(Creature *creature) const OVERRIDE
@ CONFIG_MIN_DUALSPEC_LEVEL
#define GOSSIP_SENDACTION_SAYGE7
@ NPC_ADVANCED_TARGET_DUMMY
#define GOSSIP_CHOOSE_FACTION
#define GOSSIP_HELLO_ROGUE1
#define GOSSIP_SENDACTION_SAYGE15
#define GOSSIP_ITEM_GRANT
float const RANGE_GUARDS_MARK
#define GOSSIP_ENGINEERING1
#define GOSSIP_SENDACTION_SAYGE12
#define GOSSIP_ENGINEERING2
@ SPELL_TONK_MINE_DETONATE
@ SPAWNTYPE_TRIPWIRE_ROOFTOP
#define GOSSIP_LOST_THE_MASTERS_KEY
#define GOSSIP_LOST_SKELETON_KEY
#define GOSSIP_PET_CONFIRM
#define GOSSIP_HELLO_ROGUE3
#define GOSSIP_SENDACTION_SAYGE16
#define GOSSIP_HELLO_SAYGE
@ ANIM_GO_LAUNCH_FIREWORK
@ NPC_FIREWORK_BIG_YELLOW
@ NPC_FIREWORK_BIG_PURPLE
@ SPELL_ROCKET_BIG_YELLOW
@ SPELL_ROCKET_BIG_PURPLE
#define GOSSIP_SENDACTION_SAYGE11
#define GOSSIP_SENDACTION_SAYGE4
#define GOSSIP_ENGINEERING3
#define GOSSIP_SENDACTION_SAYGE14
#define GOSSIP_LOST_SHADOWFORGE_KEY
#define GOSSIP_SENDACTION_SAYGE9
#define GOSSIP_SENDACTION_SAYGE6
@ AURA_DURATION_TIME_LEFT
#define GOSSIP_SENDACTION_SAYGE17
@ QUEST_RETURN_TO_KHAGDAR
@ QUEST_THE_KEY_TO_SCHOLOMANCE_H
@ SPELL_ESSENCE_INFUSED_MOONSTONE
@ QUEST_HOTTER_THAN_HELL_H
@ QUEST_HOW_TO_BRAKE_IN_TO_THE_ARCATRAZ
@ SPELL_SHATTERED_HALLS_KEY
@ ITEM_ESSENCE_INFUSED_MOONSTONE
@ QUEST_THE_KEY_TO_SCHOLOMANCE_A
@ QUEST_ETERNAL_VIGILANCE
@ ITEM_SHATTERED_HALLS_KEY
@ QUEST_HC_KEY_TO_THE_FOCUSING_IRIS
@ QUEST_HOTTER_THAN_HELL_A
@ QUEST_KEY_TO_THE_FOCUSING_IRIS
@ ITEM_HC_KEY_TO_THE_FOCUSING_IRIS
@ ITEM_KEY_TO_THE_FOCUSING_IRIS
#define GOSSIP_SENDACTION_SAYGE8
#define GOSSIP_SENDACTION_SAYGE13
#define GOSSIP_SENDACTION_SAYGE1
float const RANGE_TRIPWIRE
#define GOSSIP_LOST_SHATTERED_HALLS_KEY
#define GOSSIP_ENGINEERING6
@ SPELL_SPRING_RABBIT_WANDER
@ SPELL_SPRING_RABBIT_JUMP
@ SPELL_SPRING_RABBIT_IN_LOVE
@ SPELL_SUMMON_BABY_BUNNY
uint32 const AllianceSoldierId[3]
void AddSC_npcs_special()
#define GOSSIP_HELLO_ROGUE2
#define GOSSIP_LOST_VIOLET_HOLD_KEY
SpawnAssociation spawnAssociations[]
#define GOSSIP_SENDACTION_SAYGE10
static Location HordeCoords[]
uint32 const HordeSoldierId[3]
#define GOSSIP_ENGINEERING4
#define GOSSIP_SENDACTION_SAYGE5
#define GOSSIP_LOST_HC_KEY_TO_THE_FOCUSING_IRIS
#define GOSSIP_ENGINEERING5
#define GOSSIP_SENDACTION_SAYGE3
#define GOSSIP_HELLO_ROGUE4
#define GOSSIP_LOST_KEY_TO_THE_FOCUSING_IRIS
#define GOSSIP_LOST_ESSENCE_INFUSED_MOONSTONE
#define GOSSIP_LOST_ARCATRAZ_KEY
static Location AllianceCoords[]
#define GOSSIP_SENDACTION_SAYGE2
void SetCombatMovement(bool allowMovement)
ScriptedAI(Creature *creature)
uint32 spawnedCreatureEntry
npc_air_force_botsAI(Creature *creature)
SpawnAssociation * SpawnAssoc
void MoveInLineOfSight(Unit *who) OVERRIDE
Creature * GetSummonedGuard()
npc_brewfest_revelerAI(Creature *creature)
void ReceiveEmote(Player *player, uint32 emote) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_chicken_cluckAI(Creature *creature)
void ReceiveEmote(Player *player, uint32 emote) OVERRIDE
npc_dancing_flamesAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void ReceiveEmote(Player *player, uint32 emote) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
void PatientSaved(Creature *, Player *player, Location *point)
void BeginEvent(Player *player)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
uint32 SummonPatientCount
void EnterCombat(Unit *) OVERRIDE
std::list< uint64 > Patients
npc_doctorAI(Creature *creature)
std::vector< Location * > Coordinates
void PatientDied(Location *point)
uint32 SummonPatientTimer
void EnterEvadeMode() OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
npc_escortAI(Creature *creature)
void Start(bool isActiveAttacker=true, bool run=false, uint64 playerGUID=0, Quest const *quest=NULL, bool instantRespawn=false, bool canLoopPath=false, bool resetWaypoints=true)
GameObject * FindNearestLauncher()
uint32 GetFireworkSpell(uint32 entry)
npc_fireworkAI(Creature *creature)
uint32 GetFireworkGameObjectId()
void WaypointReached(uint32) OVERRIDE
npc_garments_of_questsAI(Creature *creature)
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void SpellHit(Unit *caster, SpellInfo const *spell) OVERRIDE
void EnterCombat(Unit *) OVERRIDE
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
void EnterCombat(Unit *) OVERRIDE
npc_guardianAI(Creature *creature)
npc_injured_patientAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
void UpdateAI(uint32) OVERRIDE
== Triggered Actions Requested ==================
void SpellHit(Unit *caster, SpellInfo const *spell) OVERRIDE
npc_spring_rabbitAI(Creature *creature)
void DoAction(int32) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void EnterCombat(Unit *) OVERRIDE
npc_steam_tonkAI(Creature *creature)
void OnPossess(bool apply)
void EnterCombat(Unit *) OVERRIDE
void AttackStart(Unit *) OVERRIDE
npc_tonk_mineAI(Creature *creature)
void EnterCombat(Unit *) OVERRIDE
void MoveInLineOfSight(Unit *) OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void DamageTaken(Unit *, uint32 &damage) OVERRIDE
npc_training_dummyAI(Creature *creature)
void MoveInLineOfSight(Unit *) OVERRIDE
void EnterEvadeMode() OVERRIDE
void UpdateAI(uint32 diff) OVERRIDE
== Triggered Actions Requested ==================
void EnterEvadeMode() override
void DamageTaken(Unit *, uint32 &) override
npc_training_targetAI(Creature *creature)
void UpdateAI(uint32 diff) override
== Triggered Actions Requested ==================
uint32 GetData(uint32 type) const OVERRIDE
void InitializeAI() OVERRIDE
npc_wormholeAI(Creature *creature)