aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVincent-Michael <Vincent_Michael@gmx.de>2013-07-05 17:32:38 +0200
committerVincent-Michael <Vincent_Michael@gmx.de>2013-07-05 17:32:38 +0200
commitf97cf4a1d8fe0601be70f70723efa4e0c8437b26 (patch)
treeaa58d5a2b7cc0b57834e75302664a0948d7b7bfc /src
parentf46f7a3414e0d48ef10ff8aee492e6e639fa319a (diff)
Scripted/Eversong Woods: Add Missing cleanup
Diffstat (limited to 'src')
-rw-r--r--src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp243
1 files changed, 15 insertions, 228 deletions
diff --git a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
index 14444e3bd87..98b8932e1d5 100644
--- a/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_eversong_woods.cpp
@@ -19,16 +19,13 @@
/* ScriptData
SDName: Eversong_Woods
SD%Complete: 100
-SDComment: Quest support: 8483, 8488, 8490, 9686
+SDComment: Quest support: 8488, 8490
SDCategory: Eversong Woods
EndScriptData */
/* ContentData
-npc_prospector_anvilward
npc_apprentice_mirveda
npc_infused_crystal
-npc_kelerun_bloodmourn
-go_harbinger_second_trial
EndContentData */
#include "ScriptMgr.h"
@@ -37,231 +34,16 @@ EndContentData */
#include "ScriptedEscortAI.h"
#include "Player.h"
-/*######
-## Quest 9686 Second Trial
-######*/
-
-enum SeconTrial
-{
- QUEST_SECOND_TRIAL = 9686,
- OFFSET_NEXT_ATTACK = 750,
-};
-
-enum eSpells
-{
- SPELL_FLASH_OF_LIGHT = 19939,
- SPELL_SEAL_OF_JUSTICE = 20164,
- SPELL_JUDGEMENT_OF_LIGHT = 20271,
- SPELL_SEAL_OF_COMMAND = 20375,
-};
-
-enum eNpc
-{
- MASTER_KELERUN_BLOODMOURN = 17807,
- CHAMPION_BLOODWRATH = 17809,
- CHAMPION_LIGHTREND = 17810,
- CHAMPION_SWIFTBLADE = 17811,
- CHAMPION_SUNSTRIKER = 17812,
-};
-
-enum eFaction
-{
- FACTION_HOSTILE = 45,
- FACTION_FRIENDLY = 7,
-};
-
-enum eSays
-{
- TEXT_SECOND_TRIAL_1 = 0,
- TEXT_SECOND_TRIAL_2 = 1,
- TEXT_SECOND_TRIAL_3 = 2,
- TEXT_SECOND_TRIAL_4 = 3,
-};
-
-struct Locations
-{
- float x, y, z, o;
-};
-
-static Locations SpawnPosition[]=
+enum UnexpectedResults
{
- {5.3f, -11.8f, 0.361f, 4.2f},
- {11.2f, -29.17f, 0.361f, 2.7f},
- {-5.7f, -34.85f, 0.361f, 1.09f},
- {-11.9f, -18, 0.361f, 5.87f}
-};
-
-static uint32 PaladinEntry[] = {CHAMPION_BLOODWRATH, CHAMPION_LIGHTREND, CHAMPION_SWIFTBLADE, CHAMPION_SUNSTRIKER};
-
-/*######
-## npc_second_trial_paladin
-######*/
-
-class npc_second_trial_paladin : public CreatureScript
-{
-public:
- npc_second_trial_paladin() : CreatureScript("npc_second_trial_paladin") { }
-
- CreatureAI* GetAI(Creature* creature) const
- {
- return new npc_secondTrialAI (creature);
- }
-
- struct npc_secondTrialAI : public ScriptedAI
- {
- npc_secondTrialAI(Creature* creature) : ScriptedAI(creature) {}
-
- uint32 timer;
- uint8 questPhase;
- uint64 summonerGuid;
-
- bool spellFlashLight;
- bool spellJustice;
- bool spellJudLight;
- bool spellCommand;
-
- uint32 timerFlashLight;
- uint32 timerJustice;
- uint32 timerJudLight;
- uint32 timerCommand;
-
- void Reset()
- {
- timer = 2000;
- questPhase = 0;
- summonerGuid = 0;
-
- me->SetUInt32Value(UNIT_FIELD_BYTES_1, UNIT_STAND_STATE_KNEEL);
- me->setFaction(FACTION_FRIENDLY);
-
- spellFlashLight = false;
- spellJustice = false;
- spellJudLight = false;
- spellCommand = false;
-
- switch (me->GetEntry())
- {
- case CHAMPION_BLOODWRATH:
- spellFlashLight = true;
- timerFlashLight = 3225;
- break;
- case CHAMPION_LIGHTREND:
- spellJustice = true;
- timerJustice = 500;
- break;
- case CHAMPION_SWIFTBLADE:
- spellJudLight = false; // Misses Script Effect // http://www.wowhead.com/?spell=20271
- timerJudLight = 500;
- break;
- case CHAMPION_SUNSTRIKER:
- spellFlashLight = true;
- spellJudLight = false; // Misses Script Effect // http://www.wowhead.com/?spell=20271
- spellCommand = false; // Misses Dummy // http://www.wowhead.com/?spell=20375
- timerFlashLight = 3225;
- timerJudLight = 500;
- timerCommand = 1500;
- break;
- }
- }
+ // Quest
+ QUEST_UNEXPECTED_RESULT = 8488,
- void EnterCombat(Unit* /*who*/) {}
-
- void UpdateAI(uint32 diff)
- {
- if (questPhase == 1)
- {
- if (timer <= diff)
- {
- me->SetUInt32Value(UNIT_FIELD_BYTES_1, UNIT_STAND_STATE_STAND);
- me->setFaction(FACTION_HOSTILE);
- questPhase = 0;
-
- if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 0, 100, true))
- {
- me->AddThreat(target, 5000000.0f);
- AttackStart(target);
- }
- }
- else
- timer -= diff;
- }
-
- if (!UpdateVictim())
- return;
-
- // healer
- if (spellFlashLight && HealthBelowPct(70))
- {
- if (timerFlashLight <= diff)
- {
- DoCast(me, SPELL_FLASH_OF_LIGHT);
- timerFlashLight = 3225 + rand()%3225;
- }
- else
- timerFlashLight -= diff;
- }
-
- if (spellJustice)
- {
- if (timerJustice <= diff)
- {
- DoCast(me, SPELL_SEAL_OF_JUSTICE);
- timerJustice = urand(10000, 20000);
- }
- else
- timerJustice -= diff;
- }
-
- if (spellJudLight)
- {
- if (timerJudLight <= diff)
- {
- DoCast(me, SPELL_JUDGEMENT_OF_LIGHT);
- timerJudLight = urand(10000, 20000);
- }
- else
- timerJudLight -= diff;
- }
-
- if (spellCommand)
- {
- if (timerCommand <= diff)
- {
- DoCast(me, SPELL_SEAL_OF_COMMAND);
- timerCommand = urand(20000, 40000);
- }
- else
- timerCommand -= diff;
- }
-
- DoMeleeAttackIfReady();
- }
-
- void Activate(uint64 summonerguid)
- {
- questPhase = 1;
- summonerGuid = summonerguid;
- }
-
- void KilledUnit(Unit* unit)
- {
- if (Player* player = unit->ToPlayer())
- if (player->GetQuestStatus(QUEST_SECOND_TRIAL) == QUEST_STATUS_INCOMPLETE)
- player->FailQuest(QUEST_SECOND_TRIAL);
- }
-
- void JustDied(Unit* killer);
- };
+ // Creatures
+ NPC_GHARZUL = 15958,
+ NPC_ANGERSHADE = 15656
};
-/*######
-## npc_apprentice_mirveda
-######*/
-
-#define QUEST_UNEXPECTED_RESULT 8488
-#define NPC_GHARZUL 15958
-#define NPC_ANGERSHADE 15656
-
class npc_apprentice_mirveda : public CreatureScript
{
public:
@@ -343,9 +125,14 @@ public:
enum InfusedCrystal
{
- NPC_ENRAGED_WRAITH = 17086,
- EMOTE = 0,
- QUEST_POWERING_OUR_DEFENSES = 8490
+ // Quest
+ QUEST_POWERING_OUR_DEFENSES = 8490,
+
+ // Says
+ EMOTE = 0,
+
+ // Creatures
+ NPC_ENRAGED_WRAITH = 17086
};
struct Location