diff options
author | Malcrom <malcromdev@gmail.com> | 2013-12-24 17:56:38 -0330 |
---|---|---|
committer | Malcrom <malcromdev@gmail.com> | 2013-12-24 17:56:38 -0330 |
commit | b8e626199c9a894464eb7a71f030e8c6d75348cf (patch) | |
tree | 88a1fecb2f67609f6624b0f4c76ccde625e899ac | |
parent | 20a2b691785b66a8a265f691c5ffd8affd6298f0 (diff) |
Scripting/Multi: Some cleanup.
7 files changed, 151 insertions, 173 deletions
diff --git a/sql/updates/world/2013_12_24_03_world_creature_template.sql b/sql/updates/world/2013_12_24_03_world_creature_template.sql new file mode 100644 index 00000000000..e12a8f66be4 --- /dev/null +++ b/sql/updates/world/2013_12_24_03_world_creature_template.sql @@ -0,0 +1 @@ +UPDATE `creature_template` SET `ScriptName`= 'npc_oox09hl' WHERE `ScriptName`= 'npc_00x09hl'; diff --git a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp index 5399e0c858e..718e69f78f0 100644 --- a/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp +++ b/src/server/scripts/EasternKingdoms/zone_hinterlands.cpp @@ -24,7 +24,7 @@ SDCategory: The Hinterlands EndScriptData */ /* ContentData -npc_00x09hl +npc_oox09hl npc_rinji EndContentData */ @@ -34,7 +34,7 @@ EndContentData */ #include "Player.h" /*###### -## npc_00x09hl +## npc_oox09hl ######*/ enum OOX @@ -51,14 +51,14 @@ enum OOX FACTION_ESCORTEE_H = 775 }; -class npc_00x09hl : public CreatureScript +class npc_oox09hl : public CreatureScript { public: - npc_00x09hl() : CreatureScript("npc_00x09hl") { } + npc_oox09hl() : CreatureScript("npc_oox09hl") { } - struct npc_00x09hlAI : public npc_escortAI + struct npc_oox09hlAI : public npc_escortAI { - npc_00x09hlAI(Creature* creature) : npc_escortAI(creature) { } + npc_oox09hlAI(Creature* creature) : npc_escortAI(creature) { } void Reset() OVERRIDE { } @@ -132,7 +132,7 @@ public: CreatureAI* GetAI(Creature* creature) const OVERRIDE { - return new npc_00x09hlAI(creature); + return new npc_oox09hlAI(creature); } }; @@ -329,6 +329,6 @@ public: void AddSC_hinterlands() { - new npc_00x09hl(); + new npc_oox09hl(); new npc_rinji(); } diff --git a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp index 604d51f9d8f..8369c3c5560 100644 --- a/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp +++ b/src/server/scripts/EasternKingdoms/zone_redridge_mountains.cpp @@ -29,15 +29,13 @@ Script Data End */ enum CorporalKeeshan { QUEST_MISSING_IN_ACTION = 219, - - SAY_CORPORAL_1 = 0, - SAY_CORPORAL_2 = 1, - SAY_CORPORAL_3 = 2, - SAY_CORPORAL_4 = 3, - SAY_CORPORAL_5 = 4, - - SPELL_MOCKING_BLOW = 21008, - SPELL_SHIELD_BASH = 11972, + SAY_CORPORAL_1 = 0, + SAY_CORPORAL_2 = 1, + SAY_CORPORAL_3 = 2, + SAY_CORPORAL_4 = 3, + SAY_CORPORAL_5 = 4, + SPELL_MOCKING_BLOW = 21008, + SPELL_SHIELD_BASH = 11972 }; class npc_corporal_keeshan : public CreatureScript @@ -45,37 +43,25 @@ class npc_corporal_keeshan : public CreatureScript public: npc_corporal_keeshan() : CreatureScript("npc_corporal_keeshan") { } - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE - { - if (quest->GetQuestId() == QUEST_MISSING_IN_ACTION) - { - CAST_AI(npc_corporal_keeshan::npc_corporal_keeshanAI, creature->AI())->Start(true, false, player->GetGUID(), quest); - creature->AI()->Talk(SAY_CORPORAL_1); - } - - return false; - } - - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_corporal_keeshanAI(creature); - } - struct npc_corporal_keeshanAI : public npc_escortAI { npc_corporal_keeshanAI(Creature* creature) : npc_escortAI(creature) { } - uint32 uiPhase; - uint32 uiTimer; - uint32 uiMockingBlowTimer; - uint32 uiShieldBashTimer; - void Reset() OVERRIDE { - uiTimer = 0; - uiPhase = 0; - uiMockingBlowTimer = 5000; - uiShieldBashTimer = 8000; + timer = 0; + phase = 0; + mockingBlowTimer = 5000; + shieldBashTimer = 8000; + } + + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_MISSING_IN_ACTION) + { + Talk(SAY_CORPORAL_1, player); + npc_escortAI::Start(true, false, player->GetGUID(), quest); + } } void WaypointReached(uint32 waypointId) OVERRIDE @@ -91,82 +77,93 @@ public: { case 39: SetEscortPaused(true); - uiTimer = 2000; - uiPhase = 1; + timer = 2000; + phase = 1; break; case 65: me->SetWalk(false); break; case 115: player->AreaExploredOrEventHappens(QUEST_MISSING_IN_ACTION); - uiTimer = 2000; - uiPhase = 4; + timer = 2000; + phase = 4; break; } } - void UpdateAI(uint32 uiDiff) OVERRIDE + void UpdateAI(uint32 diff) OVERRIDE { if (HasEscortState(STATE_ESCORT_NONE)) return; - npc_escortAI::UpdateAI(uiDiff); + npc_escortAI::UpdateAI(diff); - if (uiPhase) + if (phase) { - if (uiTimer <= uiDiff) + if (timer <= diff) { - switch (uiPhase) + switch (phase) { case 1: me->SetStandState(UNIT_STAND_STATE_SIT); - uiTimer = 1000; - uiPhase = 2; + timer = 1000; + phase = 2; break; case 2: Talk(SAY_CORPORAL_2); - uiTimer = 15000; - uiPhase = 3; + timer = 15000; + phase = 3; break; case 3: Talk(SAY_CORPORAL_3); me->SetStandState(UNIT_STAND_STATE_STAND); SetEscortPaused(false); - uiTimer = 0; - uiPhase = 0; + timer = 0; + phase = 0; break; case 4: Talk(SAY_CORPORAL_4); - uiTimer = 2500; - uiPhase = 5; + timer = 2500; + phase = 5; break; case 5: Talk(SAY_CORPORAL_5); - uiTimer = 0; - uiPhase = 0; + timer = 0; + phase = 0; break; } - } else uiTimer -= uiDiff; + } else timer -= diff; } if (!UpdateVictim()) return; - if (uiMockingBlowTimer <= uiDiff) + if (mockingBlowTimer <= diff) { DoCastVictim(SPELL_MOCKING_BLOW); - uiMockingBlowTimer = 5000; - } else uiMockingBlowTimer -= uiDiff; + mockingBlowTimer = 5000; + } else mockingBlowTimer -= diff; - if (uiShieldBashTimer <= uiDiff) + if (shieldBashTimer <= diff) { DoCastVictim(SPELL_MOCKING_BLOW); - uiShieldBashTimer = 8000; - } else uiShieldBashTimer -= uiDiff; + shieldBashTimer = 8000; + } else shieldBashTimer -= diff; DoMeleeAttackIfReady(); } + + private: + uint32 phase; + uint32 timer; + uint32 mockingBlowTimer; + uint32 shieldBashTimer; }; + + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_corporal_keeshanAI(creature); + } }; void AddSC_redridge_mountains() diff --git a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp index 666ba8e592e..740200d3fdc 100644 --- a/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp +++ b/src/server/scripts/EasternKingdoms/zone_swamp_of_sorrows.cpp @@ -28,53 +28,31 @@ enum Galen { QUEST_GALENS_ESCAPE = 1393, - GO_GALENS_CAGE = 37118, - SAY_PERIODIC = 0, SAY_QUEST_ACCEPTED = 1, SAY_ATTACKED = 2, SAY_QUEST_COMPLETE = 3, EMOTE_WHISPER = 4, - EMOTE_DISAPPEAR = 5, + EMOTE_DISAPPEAR = 5 }; class npc_galen_goodward : public CreatureScript { public: - npc_galen_goodward() : CreatureScript("npc_galen_goodward") { } - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE - { - if (quest->GetQuestId() == QUEST_GALENS_ESCAPE) - { - CAST_AI(npc_galen_goodward::npc_galen_goodwardAI, creature->AI())->Start(false, false, player->GetGUID()); - creature->setFaction(FACTION_ESCORT_N_NEUTRAL_ACTIVE); - creature->AI()->Talk(SAY_QUEST_ACCEPTED); - } - return true; - } - - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_galen_goodwardAI(creature); - } - struct npc_galen_goodwardAI : public npc_escortAI { npc_galen_goodwardAI(Creature* creature) : npc_escortAI(creature) { - m_uiGalensCageGUID = 0; + galensCageGUID = 0; Reset(); } - uint64 m_uiGalensCageGUID; - uint32 m_uiPeriodicSay; - void Reset() OVERRIDE { - m_uiPeriodicSay = 6000; + periodicSay = 6000; } void EnterCombat(Unit* who) OVERRIDE @@ -83,21 +61,30 @@ public: Talk(SAY_ATTACKED, who); } + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_GALENS_ESCAPE) + { + Talk(SAY_QUEST_ACCEPTED, player); + npc_escortAI::Start(false, false, player->GetGUID(), quest); + } + } + void WaypointStart(uint32 uiPointId) OVERRIDE { switch (uiPointId) { case 0: { - GameObject* pCage = NULL; - if (m_uiGalensCageGUID) - pCage = me->GetMap()->GetGameObject(m_uiGalensCageGUID); + GameObject* cage = NULL; + if (galensCageGUID) + cage = me->GetMap()->GetGameObject(galensCageGUID); else - pCage = GetClosestGameObjectWithEntry(me, GO_GALENS_CAGE, INTERACTION_DISTANCE); - if (pCage) + cage = GetClosestGameObjectWithEntry(me, GO_GALENS_CAGE, INTERACTION_DISTANCE); + if (cage) { - pCage->UseDoorOrButton(); - m_uiGalensCageGUID = pCage->GetGUID(); + cage->UseDoorOrButton(); + galensCageGUID = cage->GetGUID(); } break; } @@ -112,8 +99,8 @@ public: switch (waypointId) { case 0: - if (GameObject* pCage = me->GetMap()->GetGameObject(m_uiGalensCageGUID)) - pCage->ResetDoorOrButton(); + if (GameObject* cage = me->GetMap()->GetGameObject(galensCageGUID)) + cage->ResetDoorOrButton(); break; case 20: if (Player* player = GetPlayerForEscort()) @@ -128,25 +115,34 @@ public: } } - void UpdateAI(uint32 uiDiff) OVERRIDE + void UpdateAI(uint32 diff) OVERRIDE { - npc_escortAI::UpdateAI(uiDiff); + npc_escortAI::UpdateAI(diff); if (HasEscortState(STATE_ESCORT_NONE)) return; - if (m_uiPeriodicSay < uiDiff) + if (periodicSay < diff) { if (!HasEscortState(STATE_ESCORT_ESCORTING)) Talk(SAY_PERIODIC); - m_uiPeriodicSay = 15000; + periodicSay = 15000; } else - m_uiPeriodicSay -= uiDiff; + periodicSay -= diff; DoMeleeAttackIfReady(); } + + private: + uint64 galensCageGUID; + uint32 periodicSay; }; + + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_galen_goodwardAI(creature); + } }; void AddSC_swamp_of_sorrows() diff --git a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp index 98ba62a0a57..2d588508b3f 100644 --- a/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_azuremyst_isle.cpp @@ -49,9 +49,7 @@ EndContentData */ enum draeneiSurvivor { SAY_HEAL = 0, - SAY_HELP = 1, - SPELL_IRRIDATION = 35046, SPELL_STUNNED = 28630 }; @@ -61,11 +59,6 @@ class npc_draenei_survivor : public CreatureScript public: npc_draenei_survivor() : CreatureScript("npc_draenei_survivor") { } - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_draenei_survivorAI(creature); - } - struct npc_draenei_survivorAI : public ScriptedAI { npc_draenei_survivorAI(Creature* creature) : ScriptedAI(creature) { } @@ -168,6 +161,10 @@ public: } }; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_draenei_survivorAI(creature); + } }; /*###### @@ -275,11 +272,6 @@ class npc_injured_draenei : public CreatureScript public: npc_injured_draenei() : CreatureScript("npc_injured_draenei") { } - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_injured_draeneiAI(creature); - } - struct npc_injured_draeneiAI : public ScriptedAI { npc_injured_draeneiAI(Creature* creature) : ScriptedAI(creature) { } @@ -304,10 +296,13 @@ public: void MoveInLineOfSight(Unit* /*who*/) OVERRIDE { } - void UpdateAI(uint32 /*diff*/) OVERRIDE { } }; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_injured_draeneiAI(creature); + } }; /*###### @@ -322,8 +317,8 @@ enum Magwin SAY_END1 = 3, SAY_END2 = 4, EMOTE_HUG = 5, - - QUEST_A_CRY_FOR_SAY_HELP = 9528 + QUEST_A_CRY_FOR_SAY_HELP = 9528, + FACTION_QUEST = 113 }; class npc_magwin : public CreatureScript @@ -331,25 +326,25 @@ class npc_magwin : public CreatureScript public: npc_magwin() : CreatureScript("npc_magwin") { } - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE + struct npc_magwinAI : public npc_escortAI { - if (quest->GetQuestId() == QUEST_A_CRY_FOR_SAY_HELP) + npc_magwinAI(Creature* creature) : npc_escortAI(creature) { } + + void Reset() OVERRIDE { } + + void EnterCombat(Unit* who) OVERRIDE { - creature->setFaction(113); - if (npc_escortAI* pEscortAI = CAST_AI(npc_escortAI, creature->AI())) - pEscortAI->Start(true, false, player->GetGUID()); + Talk(SAY_AGGRO, who); } - return true; - } - - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_magwinAI(creature); - } - struct npc_magwinAI : public npc_escortAI - { - npc_magwinAI(Creature* creature) : npc_escortAI(creature) { } + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_A_CRY_FOR_SAY_HELP) + { + me->setFaction(FACTION_QUEST); + npc_escortAI::Start(true, false, player->GetGUID()); + } + } void WaypointReached(uint32 waypointId) OVERRIDE { @@ -374,15 +369,12 @@ public: } } } - - void EnterCombat(Unit* who) OVERRIDE - { - Talk(SAY_AGGRO, who); - } - - void Reset() OVERRIDE { } }; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_magwinAI(creature); + } }; /*###### @@ -416,11 +408,6 @@ class npc_geezle : public CreatureScript public: npc_geezle() : CreatureScript("npc_geezle") { } - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_geezleAI(creature); - } - struct npc_geezleAI : public ScriptedAI { npc_geezleAI(Creature* creature) : ScriptedAI(creature) { } @@ -551,6 +538,10 @@ public: } }; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_geezleAI(creature); + } }; enum RavegerCage @@ -589,11 +580,6 @@ class npc_death_ravager : public CreatureScript public: npc_death_ravager() : CreatureScript("npc_death_ravager") { } - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_death_ravagerAI(creature); - } - struct npc_death_ravagerAI : public ScriptedAI { npc_death_ravagerAI(Creature* creature) : ScriptedAI(creature){ } @@ -633,6 +619,10 @@ public: } }; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_death_ravagerAI(creature); + } }; /*######## diff --git a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp index f717a5721af..f71c07b5c7d 100644 --- a/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp +++ b/src/server/scripts/Kalimdor/zone_bloodmyst_isle.cpp @@ -50,11 +50,6 @@ class npc_webbed_creature : public CreatureScript public: npc_webbed_creature() : CreatureScript("npc_webbed_creature") { } - CreatureAI* GetAI(Creature* creature) const OVERRIDE - { - return new npc_webbed_creatureAI(creature); - } - struct npc_webbed_creatureAI : public ScriptedAI { npc_webbed_creatureAI(Creature* creature) : ScriptedAI(creature) { } @@ -84,6 +79,10 @@ public: } }; + CreatureAI* GetAI(Creature* creature) const OVERRIDE + { + return new npc_webbed_creatureAI(creature); + } }; /*###### diff --git a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp index 01f0f938501..5e70b7f9fc4 100644 --- a/src/server/scripts/Outland/zone_hellfire_peninsula.cpp +++ b/src/server/scripts/Outland/zone_hellfire_peninsula.cpp @@ -238,6 +238,15 @@ public: summoned->AI()->AttackStart(me); } + void sQuestAccept(Player* player, Quest const* quest) + { + if (quest->GetQuestId() == QUEST_ROAD_TO_FALCON_WATCH) + { + me->setFaction(FACTION_FALCON_WATCH_QUEST); + npc_escortAI::Start(true, false, player->GetGUID()); + } + } + void WaypointReached(uint32 waypointId) OVERRIDE { Player* player = GetPlayerForEscort(); @@ -273,20 +282,6 @@ public: } }; - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) OVERRIDE - { - if (quest->GetQuestId() == QUEST_ROAD_TO_FALCON_WATCH) - { - if (npc_escortAI* pEscortAI = CAST_AI(npc_wounded_blood_elf::npc_wounded_blood_elfAI, creature->AI())) - pEscortAI->Start(true, false, player->GetGUID()); - - // Change faction so mobs attack - creature->setFaction(FACTION_FALCON_WATCH_QUEST); - } - - return true; - } - CreatureAI* GetAI(Creature* creature) const OVERRIDE { return new npc_wounded_blood_elfAI(creature); |