diff options
Diffstat (limited to 'src')
22 files changed, 538 insertions, 556 deletions
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp index e971ecdcac2..c1c93c789de 100644 --- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp +++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp @@ -16,6 +16,7 @@ */ #include "ScriptMgr.h" +#include "ScriptedCreature.h" #include "InstanceScript.h" #include "violet_hold.h" #include "Player.h" diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp index 3d2d39e9817..5d3ff2abcc5 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warbringer_omrogg.cpp @@ -34,9 +34,9 @@ EndContentData */ enum eEnums { - YELL_DIE_L = -1540039, - YELL_DIE_R = -1540040, - EMOTE_ENRAGE = -1540041, + YELL_DIE_L = 0, + YELL_DIE_R = 1, + EMOTE_ENRAGE = 2, SPELL_BLAST_WAVE = 30600, SPELL_FEAR = 30584, @@ -57,49 +57,49 @@ struct Yell static Yell GoCombat[]= { - {-1540018, NPC_LEFT_HEAD}, - {-1540019, NPC_LEFT_HEAD}, - {-1540020, NPC_LEFT_HEAD}, + {0, NPC_LEFT_HEAD}, + {1, NPC_LEFT_HEAD}, + {2, NPC_LEFT_HEAD}, }; static Yell GoCombatDelay[]= { - {-1540021, NPC_RIGHT_HEAD}, - {-1540022, NPC_RIGHT_HEAD}, - {-1540023, NPC_RIGHT_HEAD}, + {0, NPC_RIGHT_HEAD}, + {1, NPC_RIGHT_HEAD}, + {2, NPC_RIGHT_HEAD}, }; static Yell Threat[]= { - {-1540024, NPC_LEFT_HEAD}, - {-1540025, NPC_RIGHT_HEAD}, - {-1540026, NPC_LEFT_HEAD}, - {-1540027, NPC_LEFT_HEAD}, + {3, NPC_LEFT_HEAD}, + {3, NPC_RIGHT_HEAD}, + {4, NPC_LEFT_HEAD}, + {5, NPC_LEFT_HEAD}, }; static Yell ThreatDelay1[]= { - {-1540028, NPC_RIGHT_HEAD}, - {-1540029, NPC_LEFT_HEAD}, - {-1540030, NPC_RIGHT_HEAD}, - {-1540031, NPC_RIGHT_HEAD}, + {4, NPC_RIGHT_HEAD}, + {6, NPC_LEFT_HEAD}, + {5, NPC_RIGHT_HEAD}, + {6, NPC_RIGHT_HEAD}, }; static Yell ThreatDelay2[]= { - {-1540032, NPC_LEFT_HEAD}, - {-1540033, NPC_RIGHT_HEAD}, - {-1540034, NPC_LEFT_HEAD}, - {-1540035, NPC_LEFT_HEAD}, + {7, NPC_LEFT_HEAD}, + {7, NPC_RIGHT_HEAD}, + {8, NPC_LEFT_HEAD}, + {9, NPC_LEFT_HEAD}, }; static Yell Killing[]= { - {-1540036, NPC_LEFT_HEAD}, - {-1540037, NPC_RIGHT_HEAD}, + {10, NPC_LEFT_HEAD}, + {8, NPC_RIGHT_HEAD}, }; static Yell KillingDelay[]= { - {-1540038, NPC_RIGHT_HEAD}, - {-1000000, NPC_LEFT_HEAD}, + {9, NPC_RIGHT_HEAD}, + {11, NPC_LEFT_HEAD}, }; class mob_omrogg_heads : public CreatureScript @@ -137,7 +137,7 @@ class mob_omrogg_heads : public CreatureScript if (Death_Timer <= diff) { - DoScriptText(YELL_DIE_R, me); + Talk(YELL_DIE_R); Death_Timer = false; me->setDeathState(JUST_DIED); } else Death_Timer -= diff; @@ -222,17 +222,17 @@ class boss_warbringer_omrogg : public CreatureScript void DoYellForThreat() { - Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID); - Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID); + Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID); + Creature* pRightHead = Unit::GetCreature(*me, RightHeadGUID); if (!pLeftHead || !pRightHead) return; ithreat = rand()%4; - Unit* source = (pLeftHead->GetEntry() == Threat[ithreat].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == Threat[ithreat].creature ? pLeftHead : pRightHead); - DoScriptText(Threat[ithreat].id, source); + source->AI()->Talk(Threat[ithreat].id); Delay_Timer = 3500; ThreatYell = true; @@ -243,11 +243,11 @@ class boss_warbringer_omrogg : public CreatureScript me->SummonCreature(NPC_LEFT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0); me->SummonCreature(NPC_RIGHT_HEAD, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_DEAD_DESPAWN, 0); - if (Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID)) + if (Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID)) { iaggro = rand()%3; - DoScriptText(GoCombat[iaggro].id, pLeftHead); + pLeftHead->AI()->Talk(GoCombat[iaggro].id); Delay_Timer = 3500; AggroYell = true; @@ -272,25 +272,25 @@ class boss_warbringer_omrogg : public CreatureScript void KilledUnit(Unit* /*victim*/) { - Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID); - Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID); + Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID); + Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID); if (!pLeftHead || !pRightHead) return; ikilling = rand()%2; - Unit* source = (pLeftHead->GetEntry() == Killing[ikilling].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == Killing[ikilling].creature ? pLeftHead : pRightHead); switch (ikilling) { case 0: - DoScriptText(Killing[ikilling].id, source); + source->AI()->Talk(Killing[ikilling].id); Delay_Timer = 3500; KillingYell = true; break; case 1: - DoScriptText(Killing[ikilling].id, source); + source->AI()->Talk(Killing[ikilling].id); KillingYell = false; break; } @@ -298,13 +298,13 @@ class boss_warbringer_omrogg : public CreatureScript void JustDied(Unit* /*killer*/) { - Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID); - Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID); + Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID); + Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID); if (!pLeftHead || !pRightHead) return; - DoScriptText(YELL_DIE_L, pLeftHead); + pLeftHead->AI()->Talk(YELL_DIE_L); CAST_AI(mob_omrogg_heads::mob_omrogg_headsAI, CAST_CRE(pRightHead)->AI())->DoDeathYell(); @@ -318,40 +318,40 @@ class boss_warbringer_omrogg : public CreatureScript { Delay_Timer = 3500; - Unit* pLeftHead = Unit::GetUnit(*me, LeftHeadGUID); - Unit* pRightHead = Unit::GetUnit(*me, RightHeadGUID); + Creature* pLeftHead = Creature::GetCreature(*me, LeftHeadGUID); + Creature* pRightHead = Creature::GetCreature(*me, RightHeadGUID); if (!pLeftHead || !pRightHead) return; if (AggroYell) { - DoScriptText(GoCombatDelay[iaggro].id, pRightHead); + pRightHead->AI()->Talk(GoCombatDelay[iaggro].id); AggroYell = false; } if (ThreatYell2) { - Unit* source = (pLeftHead->GetEntry() == ThreatDelay2[ithreat].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == ThreatDelay2[ithreat].creature ? pLeftHead : pRightHead); - DoScriptText(ThreatDelay2[ithreat].id, source); + source->AI()->Talk(ThreatDelay2[ithreat].id); ThreatYell2 = false; } if (ThreatYell) { - Unit* source = (pLeftHead->GetEntry() == ThreatDelay1[ithreat].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == ThreatDelay1[ithreat].creature ? pLeftHead : pRightHead); - DoScriptText(ThreatDelay1[ithreat].id, source); + source->AI()->Talk(ThreatDelay1[ithreat].id); ThreatYell = false; ThreatYell2 = true; } if (KillingYell) { - Unit* source = (pLeftHead->GetEntry() == KillingDelay[ikilling].creature ? pLeftHead : pRightHead); + Creature* source = (pLeftHead->GetEntry() == KillingDelay[ikilling].creature ? pLeftHead : pRightHead); - DoScriptText(KillingDelay[ikilling].id, source); + source->AI()->Talk(KillingDelay[ikilling].id); KillingYell = false; } } else Delay_Timer -= diff; @@ -373,7 +373,7 @@ class boss_warbringer_omrogg : public CreatureScript if (BurningMaul_Timer <= diff) { - DoScriptText(EMOTE_ENRAGE, me); + Talk(EMOTE_ENRAGE); DoCast(me, SPELL_BURNING_MAUL); BurningMaul_Timer = 40000; BlastWave_Timer = 16000; diff --git a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp index 99f7c69aff2..37cd5666f73 100644 --- a/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp +++ b/src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/boss_warchief_kargath_bladefist.cpp @@ -32,12 +32,9 @@ EndContentData */ enum eSays { - SAY_AGGRO1 = -1540042, - SAY_AGGRO2 = -1540043, - SAY_AGGRO3 = -1540044, - SAY_SLAY1 = -1540045, - SAY_SLAY2 = -1540046, - SAY_DEATH = -1540047, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2 }; enum eSpells @@ -111,7 +108,7 @@ class boss_warchief_kargath_bladefist : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(RAND(SAY_AGGRO1, SAY_AGGRO2, SAY_AGGRO3), me); + Talk(SAY_AGGRO); } void JustSummoned(Creature* summoned) @@ -134,13 +131,13 @@ class boss_warchief_kargath_bladefist : public CreatureScript { if (victim->GetTypeId() == TYPEID_PLAYER) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); removeAdds(); } diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp index 5b5c3ff2326..91ff608a6c7 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_astromancer.cpp @@ -32,15 +32,13 @@ EndScriptData */ enum eEnums { - SAY_AGGRO = -1550007, - SAY_SUMMON1 = -1550008, - SAY_SUMMON2 = -1550009, - SAY_KILL1 = -1550010, - SAY_KILL2 = -1550011, - SAY_KILL3 = -1550012, - SAY_DEATH = -1550013, - SAY_VOIDA = -1550014, - SAY_VOIDB = -1550015, + SAY_AGGRO = 0, + SAY_SUMMON1 = 1, + SAY_SUMMON2 = 2, + SAY_KILL = 3, + SAY_DEATH = 4, + SAY_VOIDA = 5, + SAY_VOIDB = 6, SPELL_ARCANE_MISSILES = 33031, SPELL_WRATH_OF_THE_ASTROMANCER = 42783, @@ -149,21 +147,21 @@ class boss_high_astromancer_solarian : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_KILL1, SAY_KILL2, SAY_KILL3), me); + Talk(SAY_KILL); } void JustDied(Unit* /*killer*/) { me->SetObjectScale(defaultsize); me->SetDisplayId(MODEL_HUMAN); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_HIGHASTROMANCERSOLARIANEVENT, DONE); } void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoZoneInCombat(); if (instance) @@ -333,7 +331,7 @@ class boss_high_astromancer_solarian : public CreatureScript for (int j=1; j <= 4; j++) SummonMinion(NPC_SOLARIUM_AGENT, Portals[i][0], Portals[i][1], Portals[i][2]); - DoScriptText(SAY_SUMMON1, me); + Talk(SAY_SUMMON1); Phase2_Timer = 10000; } else @@ -360,7 +358,7 @@ class boss_high_astromancer_solarian : public CreatureScript me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetVisible(true); - DoScriptText(SAY_SUMMON2, me); + Talk(SAY_SUMMON2); AppearDelay = true; Phase3_Timer = 15000; } @@ -394,8 +392,8 @@ class boss_high_astromancer_solarian : public CreatureScript //To make sure she wont be invisible or not selecatble me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->SetVisible(true); - DoScriptText(SAY_VOIDA, me); - DoScriptText(SAY_VOIDB, me); + Talk(SAY_VOIDA); + Talk(SAY_VOIDB); me->SetArmor(WV_ARMOR); me->SetDisplayId(MODEL_VOIDWALKER); me->SetObjectScale(defaultsize*2.5f); diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp index 2dbfb7b46c5..e87009737f1 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_kaelthas.cpp @@ -32,42 +32,37 @@ EndScriptData */ enum eEnums { //kael'thas Speech - SAY_INTRO = -1550016, - SAY_INTRO_CAPERNIAN = -1550017, - SAY_INTRO_TELONICUS = -1550018, - SAY_INTRO_THALADRED = -1550019, - SAY_INTRO_SANGUINAR = -1550020, - SAY_PHASE2_WEAPON = -1550021, - SAY_PHASE3_ADVANCE = -1550022, - SAY_PHASE4_INTRO2 = -1550023, - SAY_PHASE5_NUTS = -1550024, - SAY_SLAY1 = -1550025, - SAY_SLAY2 = -1550026, - SAY_SLAY3 = -1550027, - SAY_MINDCONTROL1 = -1550028, - SAY_MINDCONTROL2 = -1550029, - SAY_GRAVITYLAPSE1 = -1550030, - SAY_GRAVITYLAPSE2 = -1550031, - SAY_SUMMON_PHOENIX1 = -1550032, - SAY_SUMMON_PHOENIX2 = -1550033, - SAY_DEATH = -1550034, + SAY_INTRO = 0, + SAY_INTRO_CAPERNIAN = 1, + SAY_INTRO_TELONICUS = 2, + SAY_INTRO_THALADRED = 3, + SAY_INTRO_SANGUINAR = 4, + SAY_PHASE2_WEAPON = 5, + SAY_PHASE3_ADVANCE = 6, + SAY_PHASE4_INTRO2 = 7, + SAY_PHASE5_NUTS = 8, + SAY_SLAY = 9, + SAY_MINDCONTROL = 10, + SAY_GRAVITYLAPSE = 11, + SAY_SUMMON_PHOENIX = 12, + SAY_DEATH = 13, //Thaladred the Darkener speech - SAY_THALADRED_AGGRO = -1550035, - SAY_THALADRED_DEATH = -1550036, - EMOTE_THALADRED_GAZE = -1550037, + SAY_THALADRED_AGGRO = 0, + SAY_THALADRED_DEATH = 1, + EMOTE_THALADRED_GAZE = 2, //Lord Sanguinar speech - SAY_SANGUINAR_AGGRO = -1550038, - SAY_SANGUINAR_DEATH = -1550039, + SAY_SANGUINAR_AGGRO = 0, + SAY_SANGUINAR_DEATH = 1, //Grand Astromancer Capernian speech - SAY_CAPERNIAN_AGGRO = -1550040, - SAY_CAPERNIAN_DEATH = -1550041, + SAY_CAPERNIAN_AGGRO = 0, + SAY_CAPERNIAN_DEATH = 1, //Master Engineer Telonicus speech - SAY_TELONICUS_AGGRO = -1550042, - SAY_TELONICUS_DEATH = -1550043, + SAY_TELONICUS_AGGRO = 0, + SAY_TELONICUS_DEATH = 1, //Phase 2 spells SPELL_SUMMON_WEAPONS = 36976, @@ -369,7 +364,7 @@ class boss_kaelthas : public CreatureScript { sLog->outError(LOG_FILTER_TSCR, "Kael'Thas One or more advisors missing, Skipping Phases 1-3"); - DoScriptText(SAY_PHASE4_INTRO2, me); + Talk(SAY_PHASE4_INTRO2); Phase = 4; @@ -385,7 +380,7 @@ class boss_kaelthas : public CreatureScript { PrepareAdvisors(); - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); instance->SetData(DATA_KAELTHASEVENT, 1); me->SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); @@ -431,7 +426,7 @@ class boss_kaelthas : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustSummoned(Creature* summoned) @@ -456,7 +451,7 @@ class boss_kaelthas : public CreatureScript me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NOT_SELECTABLE); me->RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_NON_ATTACKABLE); - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); summons.DespawnAll(); @@ -487,7 +482,7 @@ class boss_kaelthas : public CreatureScript case 0: if (Phase_Timer <= diff) { - DoScriptText(SAY_INTRO_THALADRED, me); + Talk(SAY_INTRO_THALADRED); //start advisor within 7 seconds Phase_Timer = 7000; @@ -521,7 +516,7 @@ class boss_kaelthas : public CreatureScript if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD)) { - DoScriptText(SAY_INTRO_SANGUINAR, me); + Talk(SAY_INTRO_SANGUINAR); //start advisor within 12.5 seconds Phase_Timer = 12500; @@ -555,7 +550,7 @@ class boss_kaelthas : public CreatureScript if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD)) { - DoScriptText(SAY_INTRO_CAPERNIAN, me); + Talk(SAY_INTRO_CAPERNIAN); //start advisor within 7 seconds Phase_Timer = 7000; @@ -589,7 +584,7 @@ class boss_kaelthas : public CreatureScript if (Advisor && (Advisor->getStandState() == UNIT_STAND_STATE_DEAD)) { - DoScriptText(SAY_INTRO_TELONICUS, me); + Talk(SAY_INTRO_TELONICUS); //start advisor within 8.4 seconds Phase_Timer = 8400; @@ -628,7 +623,7 @@ class boss_kaelthas : public CreatureScript if (instance) instance->SetData(DATA_KAELTHASEVENT, 2); - DoScriptText(SAY_PHASE2_WEAPON, me); + Talk(SAY_PHASE2_WEAPON); PhaseSubphase = 0; Phase_Timer = 3500; @@ -669,7 +664,7 @@ class boss_kaelthas : public CreatureScript { if (Phase_Timer <= diff) { - DoScriptText(SAY_PHASE3_ADVANCE, me); + Talk(SAY_PHASE3_ADVANCE); if (instance) instance->SetData(DATA_KAELTHASEVENT, 3); Phase = 3; @@ -705,7 +700,7 @@ class boss_kaelthas : public CreatureScript if (Phase_Timer <= diff) { - DoScriptText(SAY_PHASE4_INTRO2, me); + Talk(SAY_PHASE4_INTRO2); Phase = 4; if (instance) @@ -801,7 +796,7 @@ class boss_kaelthas : public CreatureScript if (Phoenix_Timer <= diff) { DoCast(me, SPELL_PHOENIX_ANIMATION); - DoScriptText(RAND(SAY_SUMMON_PHOENIX1, SAY_SUMMON_PHOENIX2), me); + Talk(SAY_SUMMON_PHOENIX); Phoenix_Timer = 60000; } @@ -818,7 +813,7 @@ class boss_kaelthas : public CreatureScript Phase = 5; Phase_Timer = 10000; - DoScriptText(SAY_PHASE5_NUTS, me); + Talk(SAY_PHASE5_NUTS); me->StopMoving(); me->GetMotionMaster()->Clear(); @@ -913,7 +908,7 @@ class boss_kaelthas : public CreatureScript break; case 1: - DoScriptText(RAND(SAY_GRAVITYLAPSE1, SAY_GRAVITYLAPSE2), me); + Talk(SAY_GRAVITYLAPSE); // 2) At that point he will put a Gravity Lapse debuff on everyone for (i = threatlist.begin(); i != threatlist.end(); ++i) @@ -1041,14 +1036,14 @@ class boss_thaladred_the_darkener : public CreatureScript if (!who || FakeDeath) return; - DoScriptText(SAY_THALADRED_AGGRO, me); + Talk(SAY_THALADRED_AGGRO); me->AddThreat(who, 5000000.0f); } void JustDied(Unit* /*killer*/) { if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3) - DoScriptText(SAY_THALADRED_DEATH, me); + Talk(SAY_THALADRED_DEATH); } void UpdateAI(const uint32 diff) @@ -1070,7 +1065,7 @@ class boss_thaladred_the_darkener : public CreatureScript { DoResetThreat(); me->AddThreat(target, 5000000.0f); - DoScriptText(EMOTE_THALADRED_GAZE, me, target); + Talk(EMOTE_THALADRED_GAZE, target->GetGUID()); Gaze_Timer = 8500; } } @@ -1134,13 +1129,13 @@ class boss_lord_sanguinar : public CreatureScript if (!who || FakeDeath) return; - DoScriptText(SAY_SANGUINAR_AGGRO, me); + Talk(SAY_SANGUINAR_AGGRO); } void JustDied(Unit* /*killer*/) { if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3) - DoScriptText(SAY_SANGUINAR_DEATH, me); + Talk(SAY_SANGUINAR_DEATH); } void UpdateAI(const uint32 diff) @@ -1205,7 +1200,7 @@ class boss_grand_astromancer_capernian : public CreatureScript void JustDied(Unit* /*killer*/) { if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3) - DoScriptText(SAY_CAPERNIAN_DEATH, me); + Talk(SAY_CAPERNIAN_DEATH); } void AttackStart(Unit* who) @@ -1249,7 +1244,7 @@ class boss_grand_astromancer_capernian : public CreatureScript { if (Yell_Timer <= diff) { - DoScriptText(SAY_CAPERNIAN_AGGRO, me); + Talk(SAY_CAPERNIAN_AGGRO); Yell = true; } else @@ -1344,7 +1339,7 @@ class boss_master_engineer_telonicus : public CreatureScript void JustDied(Unit* /*killer*/) { if (instance && instance->GetData(DATA_KAELTHASEVENT) == 3) - DoScriptText(SAY_TELONICUS_DEATH, me); + Talk(SAY_TELONICUS_DEATH); } void EnterCombat(Unit* who) @@ -1355,7 +1350,7 @@ class boss_master_engineer_telonicus : public CreatureScript if (!who || FakeDeath) return; - DoScriptText(SAY_TELONICUS_AGGRO, me); + Talk(SAY_TELONICUS_AGGRO); } void UpdateAI(const uint32 diff) diff --git a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp index 2c778485131..14895f1d898 100644 --- a/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp +++ b/src/server/scripts/Outland/TempestKeep/Eye/boss_void_reaver.cpp @@ -29,13 +29,10 @@ EndScriptData */ enum eEnums { - SAY_AGGRO = -1550000, - SAY_SLAY1 = -1550001, - SAY_SLAY2 = -1550002, - SAY_SLAY3 = -1550003, - SAY_DEATH = -1550004, - SAY_POUNDING1 = -1550005, - SAY_POUNDING2 = -1550006, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_DEATH = 2, + SAY_POUNDING = 3, SPELL_POUNDING = 34162, SPELL_ARCANE_ORB = 34172, @@ -83,12 +80,12 @@ class boss_void_reaver : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2, SAY_SLAY3), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); DoZoneInCombat(); if (instance) @@ -97,7 +94,7 @@ class boss_void_reaver : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (instance) instance->SetData(DATA_VOIDREAVEREVENT, IN_PROGRESS); @@ -111,7 +108,7 @@ class boss_void_reaver : public CreatureScript if (Pounding_Timer <= diff) { DoCast(me->getVictim(), SPELL_POUNDING); - DoScriptText(RAND(SAY_POUNDING1, SAY_POUNDING2), me); + Talk(SAY_POUNDING); Pounding_Timer = 15000; //cast time(3000) + cooldown time(12000) } else diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp index 83acc1258be..15241e35a4a 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_gatewatcher_ironhand.cpp @@ -28,13 +28,11 @@ EndScriptData */ enum eSays { - SAY_AGGRO_1 = -1554006, - SAY_HAMMER_1 = -1554007, - SAY_HAMMER_2 = -1554008, - SAY_SLAY_1 = -1554009, - SAY_SLAY_2 = -1554010, - SAY_DEATH_1 = -1554011, - EMOTE_HAMMER = -1554012, + SAY_AGGRO = 0, + SAY_HAMMER = 1, + SAY_SLAY = 2, + SAY_DEATH = 3, + EMOTE_HAMMER = 4 }; enum eSpells @@ -76,7 +74,7 @@ class boss_gatewatcher_iron_hand : public CreatureScript } void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO_1, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) @@ -84,12 +82,12 @@ class boss_gatewatcher_iron_hand : public CreatureScript if (rand()%2) return; - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH_1, me); + Talk(SAY_DEATH); //TODO: Add door check/open code } @@ -112,14 +110,14 @@ class boss_gatewatcher_iron_hand : public CreatureScript if (Jackhammer_Timer <= diff) { //TODO: expect cast this about 5 times in a row (?), announce it by emote only once - DoScriptText(EMOTE_HAMMER, me); + Talk(EMOTE_HAMMER); DoCast(me->getVictim(), SPELL_JACKHAMMER); //chance to yell, but not same time as emote (after spell in fact casted) if (rand()%2) - return; + return; - DoScriptText(RAND(SAY_HAMMER_1, SAY_HAMMER_2), me); + Talk(SAY_HAMMER); Jackhammer_Timer = 30000; } else diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp index 02be844711d..1602ea56d93 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_nethermancer_sepethrea.cpp @@ -29,13 +29,11 @@ EndScriptData */ enum eSays { - SAY_AGGRO = -1554013, - SAY_SUMMON = -1554014, - SAY_DRAGONS_BREATH_1 = -1554015, - SAY_DRAGONS_BREATH_2 = -1554016, - SAY_SLAY1 = -1554017, - SAY_SLAY2 = -1554018, - SAY_DEATH = -1554019, + SAY_AGGRO = 0, + SAY_SUMMON = 1, + SAY_DRAGONS_BREATH = 2, + SAY_SLAY = 3, + SAY_DEATH = 4 }; enum eSpells @@ -92,19 +90,19 @@ class boss_nethermancer_sepethrea : public CreatureScript if (instance) instance->SetData(DATA_NETHERMANCER_EVENT, IN_PROGRESS); - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); DoCast(who, SPELL_SUMMON_RAGIN_FLAMES); - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY1, SAY_SLAY2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(DATA_NETHERMANCER_EVENT, DONE); } @@ -140,7 +138,7 @@ class boss_nethermancer_sepethrea : public CreatureScript { if (rand()%2) return; - DoScriptText(RAND(SAY_DRAGONS_BREATH_1, SAY_DRAGONS_BREATH_2), me); + Talk(SAY_DRAGONS_BREATH); } dragons_breath_Timer = urand(12000, 22000); } diff --git a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp index 622e6e6d7e6..adf1aac0639 100644 --- a/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp +++ b/src/server/scripts/Outland/TempestKeep/Mechanar/boss_pathaleon_the_calculator.cpp @@ -28,14 +28,12 @@ EndScriptData */ enum eSays { - SAY_AGGRO = -1554020, - SAY_DOMINATION_1 = -1554021, - SAY_DOMINATION_2 = -1554022, - SAY_SUMMON = -1554023, - SAY_ENRAGE = -1554024, - SAY_SLAY_1 = -1554025, - SAY_SLAY_2 = -1554026, - SAY_DEATH = -1554027, + SAY_AGGRO = 0, + SAY_DOMINATION = 1, + SAY_SUMMON = 2, + SAY_ENRAGE = 3, + SAY_SLAY = 4, + SAY_DEATH = 5 }; // Spells to be casted enum eSpells @@ -96,17 +94,17 @@ class boss_pathaleon_the_calculator : public CreatureScript } void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); summons.DespawnAll(); } @@ -135,7 +133,7 @@ class boss_pathaleon_the_calculator : public CreatureScript if (target && Wraith) Wraith->AI()->AttackStart(target); } - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); Summon_Timer = urand(30000, 45000); } else @@ -161,7 +159,7 @@ class boss_pathaleon_the_calculator : public CreatureScript { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) { - DoScriptText(RAND(SAY_DOMINATION_1, SAY_DOMINATION_2), me); + Talk(SAY_DOMINATION); DoCast(target, SPELL_DOMINATION); } Domination_Timer = urand(25000, 30000); @@ -184,7 +182,7 @@ class boss_pathaleon_the_calculator : public CreatureScript if (!Enraged && HealthBelowPct(21)) { DoCast(me, SPELL_FRENZY); - DoScriptText(SAY_ENRAGE, me); + Talk(SAY_ENRAGE); Enraged = true; } diff --git a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp index 730bab7e626..8a107090a28 100644 --- a/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp +++ b/src/server/scripts/Outland/TempestKeep/arcatraz/boss_harbinger_skyriss.cpp @@ -34,16 +34,13 @@ EndContentData */ enum eSays { - SAY_INTRO = -1552000, - SAY_AGGRO = -1552001, - SAY_KILL_1 = -1552002, - SAY_KILL_2 = -1552003, - SAY_MIND_1 = -1552004, - SAY_MIND_2 = -1552005, - SAY_FEAR_1 = -1552006, - SAY_FEAR_2 = -1552007, - SAY_IMAGE = -1552008, - SAY_DEATH = -1552009, + SAY_INTRO = 0, + SAY_AGGRO = 1, + SAY_KILL = 2, + SAY_MIND = 3, + SAY_FEAR = 4, + SAY_IMAGE = 5, + SAY_DEATH = 6 }; enum eSpells @@ -115,7 +112,7 @@ class boss_harbinger_skyriss : public CreatureScript void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); if (instance) instance->SetData(TYPE_HARBINGERSKYRISS, DONE); } @@ -139,7 +136,7 @@ class boss_harbinger_skyriss : public CreatureScript if (victim->GetEntry() == 21436) return; - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void DoSplit(uint32 val) @@ -147,7 +144,7 @@ class boss_harbinger_skyriss : public CreatureScript if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(false); - DoScriptText(SAY_IMAGE, me); + Talk(SAY_IMAGE); if (val == 66) DoCast(me, SPELL_66_ILLUSION); @@ -167,13 +164,13 @@ class boss_harbinger_skyriss : public CreatureScript switch (Intro_Phase) { case 1: - DoScriptText(SAY_INTRO, me); + Talk(SAY_INTRO); instance->HandleGameObject(instance->GetData64(DATA_SPHERE_SHIELD), true); ++Intro_Phase; Intro_Timer = 25000; break; case 2: - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); if (Unit* mellic = Unit::GetUnit(*me, instance->GetData64(DATA_MELLICHAR))) { //should have a better way to do this. possibly spell exist. @@ -224,7 +221,7 @@ class boss_harbinger_skyriss : public CreatureScript if (me->IsNonMeleeSpellCasted(false)) return; - DoScriptText(RAND(SAY_FEAR_1, SAY_FEAR_2), me); + Talk(SAY_FEAR); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_FEAR); @@ -241,7 +238,7 @@ class boss_harbinger_skyriss : public CreatureScript if (me->IsNonMeleeSpellCasted(false)) return; - DoScriptText(RAND(SAY_MIND_1, SAY_MIND_2), me); + Talk(SAY_MIND); if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1)) DoCast(target, SPELL_DOMINATION); diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp index a53f62c96f4..4288061860e 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_high_botanist_freywinn.cpp @@ -28,12 +28,10 @@ EndScriptData */ enum eSays { - SAY_AGGRO = -1553000, - SAY_KILL_1 = -1553001, - SAY_KILL_2 = -1553002, - SAY_TREE_1 = -1553003, - SAY_TREE_2 = -1553004, - SAY_DEATH = -1553005, + SAY_AGGRO = 0, + SAY_KILL = 1, + SAY_TREE = 2, + SAY_DEATH = 3 }; enum eSpells @@ -83,7 +81,7 @@ class boss_high_botanist_freywinn : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void JustSummoned(Creature* summoned) @@ -105,12 +103,12 @@ class boss_high_botanist_freywinn : public CreatureScript void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_KILL_1, SAY_KILL_2), me); + Talk(SAY_KILL); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void UpdateAI(const uint32 diff) @@ -120,7 +118,7 @@ class boss_high_botanist_freywinn : public CreatureScript if (TreeForm_Timer <= diff) { - DoScriptText(RAND(SAY_TREE_1, SAY_TREE_2), me); + Talk(SAY_TREE); if (me->IsNonMeleeSpellCasted(false)) me->InterruptNonMeleeSpells(true); diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp index ed04c42edc7..3bda920fdeb 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_laj.cpp @@ -42,7 +42,7 @@ enum eSpells }; enum eOthers { - EMOTE_SUMMON = -1553006, + EMOTE_SUMMON = 0, MODEL_DEFAULT = 13109, MODEL_ARCANE = 14213, MODEL_FIRE = 13110, @@ -175,7 +175,7 @@ class boss_laj : public CreatureScript { if (Summon_Timer <= diff) { - DoScriptText(EMOTE_SUMMON, me); + Talk(EMOTE_SUMMON); DoSummons(); Summon_Timer = 2500; } diff --git a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp index 2937a5b9987..74f10f97754 100644 --- a/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp +++ b/src/server/scripts/Outland/TempestKeep/botanica/boss_warp_splinter.cpp @@ -28,12 +28,10 @@ EndScriptData */ enum eSays { - SAY_AGGRO = -1553007, - SAY_SLAY_1 = -1553008, - SAY_SLAY_2 = -1553009, - SAY_SUMMON_1 = -1553010, - SAY_SUMMON_2 = -1553011, - SAY_DEATH = -1553012, + SAY_AGGRO = 0, + SAY_SLAY = 1, + SAY_SUMMON = 2, + SAY_DEATH = 3 }; enum eSpells @@ -162,17 +160,17 @@ class boss_warp_splinter : public CreatureScript void EnterCombat(Unit* /*who*/) { - DoScriptText(SAY_AGGRO, me); + Talk(SAY_AGGRO); } void KilledUnit(Unit* /*victim*/) { - DoScriptText(RAND(SAY_SLAY_1, SAY_SLAY_2), me); + Talk(SAY_SLAY); } void JustDied(Unit* /*killer*/) { - DoScriptText(SAY_DEATH, me); + Talk(SAY_DEATH); } void SummonTreants() @@ -188,7 +186,7 @@ class boss_warp_splinter : public CreatureScript if (Creature* pTreant = me->SummonCreature(CREATURE_TREANT, treant_pos[i][0], treant_pos[i][1], treant_pos[i][2], O, TEMPSUMMON_TIMED_OR_CORPSE_DESPAWN, 25000)) CAST_AI(mob_warp_splinter_treant::mob_warp_splinter_treantAI, pTreant->AI())->WarpGuid = me->GetGUID(); } - DoScriptText(RAND(SAY_SUMMON_1, SAY_SUMMON_2), me); + Talk(SAY_SUMMON); } void UpdateAI(const uint32 diff) diff --git a/src/server/scripts/Outland/hellfire_peninsula.cpp b/src/server/scripts/Outland/hellfire_peninsula.cpp index 4da98281eb2..7ac90320347 100644 --- a/src/server/scripts/Outland/hellfire_peninsula.cpp +++ b/src/server/scripts/Outland/hellfire_peninsula.cpp @@ -46,8 +46,8 @@ EndContentData */ enum eAeranas { - SAY_SUMMON = -1000138, - SAY_FREE = -1000139, + SAY_SUMMON = 0, + SAY_FREE = 1, FACTION_HOSTILE = 16, FACTION_FRIENDLY = 35, @@ -85,7 +85,7 @@ public: me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); me->setFaction(FACTION_FRIENDLY); - DoScriptText(SAY_SUMMON, me); + Talk(SAY_SUMMON); } void UpdateAI(const uint32 diff) @@ -109,7 +109,7 @@ public: me->RemoveAllAuras(); me->DeleteThreatList(); me->CombatStop(true); - DoScriptText(SAY_FREE, me); + Talk(SAY_FREE); return; } @@ -136,9 +136,9 @@ public: enum eAncestralWolf { - EMOTE_WOLF_LIFT_HEAD = -1000496, - EMOTE_WOLF_HOWL = -1000497, - SAY_WOLF_WELCOME = -1000498, + EMOTE_WOLF_LIFT_HEAD = 0, + EMOTE_WOLF_HOWL = 1, + SAY_WOLF_WELCOME = 2, SPELL_ANCESTRAL_WOLF_BUFF = 29981, @@ -168,7 +168,7 @@ public: Reset(); } - Unit* pRyga; + Creature* pRyga; void Reset() { @@ -178,8 +178,9 @@ public: void MoveInLineOfSight(Unit* who) { - if (!pRyga && who->GetTypeId() == TYPEID_UNIT && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f)) - pRyga = who; + if (!pRyga && who->GetEntry() == NPC_RYGA && me->IsWithinDistInMap(who, 15.0f)) + if (Creature* temp = who->ToCreature()) + pRyga = temp; npc_escortAI::MoveInLineOfSight(who); } @@ -189,14 +190,14 @@ public: switch (waypointId) { case 0: - DoScriptText(EMOTE_WOLF_LIFT_HEAD, me); + Talk(EMOTE_WOLF_LIFT_HEAD); break; case 2: - DoScriptText(EMOTE_WOLF_HOWL, me); + Talk(EMOTE_WOLF_HOWL); break; case 50: if (pRyga && pRyga->isAlive() && !pRyga->isInCombat()) - DoScriptText(SAY_WOLF_WELCOME, pRyga); + pRyga->AI()->Talk(SAY_WOLF_WELCOME); break; } } @@ -368,12 +369,12 @@ public: enum eWoundedBloodElf { - SAY_ELF_START = -1000117, - SAY_ELF_SUMMON1 = -1000118, - SAY_ELF_RESTING = -1000119, - SAY_ELF_SUMMON2 = -1000120, - SAY_ELF_COMPLETE = -1000121, - SAY_ELF_AGGRO = -1000122, + SAY_ELF_START = 0, + SAY_ELF_SUMMON1 = 1, + SAY_ELF_RESTING = 2, + SAY_ELF_SUMMON2 = 3, + SAY_ELF_COMPLETE = 4, + SAY_ELF_AGGRO = 5, QUEST_ROAD_TO_FALCON_WATCH = 9375 }; @@ -415,25 +416,25 @@ public: switch (waypointId) { case 0: - DoScriptText(SAY_ELF_START, me, player); + Talk(SAY_ELF_START, player->GetGUID()); break; case 9: - DoScriptText(SAY_ELF_SUMMON1, me, player); + Talk(SAY_ELF_SUMMON1, player->GetGUID()); // Spawn two Haal'eshi Talonguard DoSpawnCreature(16967, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); DoSpawnCreature(16967, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); break; case 13: - DoScriptText(SAY_ELF_RESTING, me, player); + Talk(SAY_ELF_RESTING, player->GetGUID()); break; case 14: - DoScriptText(SAY_ELF_SUMMON2, me, player); + Talk(SAY_ELF_SUMMON2, player->GetGUID()); // Spawn two Haal'eshi Windwalker DoSpawnCreature(16966, -15, -15, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); DoSpawnCreature(16966, -17, -17, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 5000); break; case 27: - DoScriptText(SAY_ELF_COMPLETE, me, player); + Talk(SAY_ELF_COMPLETE, player->GetGUID()); // Award quest credit player->GroupEventHappens(QUEST_ROAD_TO_FALCON_WATCH, me); break; @@ -445,7 +446,7 @@ public: void EnterCombat(Unit* /*who*/) { if (HasEscortState(STATE_ESCORT_ESCORTING)) - DoScriptText(SAY_ELF_AGGRO, me); + Talk(SAY_ELF_AGGRO); } void JustSummoned(Creature* summoned) diff --git a/src/server/scripts/Outland/nagrand.cpp b/src/server/scripts/Outland/nagrand.cpp index 0c9a60603f5..54565553e94 100644 --- a/src/server/scripts/Outland/nagrand.cpp +++ b/src/server/scripts/Outland/nagrand.cpp @@ -149,13 +149,13 @@ public: enum eMagharCaptive { - SAY_MAG_START = -1000482, - SAY_MAG_NO_ESCAPE = -1000483, - SAY_MAG_MORE = -1000484, - SAY_MAG_MORE_REPLY = -1000485, - SAY_MAG_LIGHTNING = -1000486, - SAY_MAG_SHOCK = -1000487, - SAY_MAG_COMPLETE = -1000488, + SAY_MAG_START = 0, + SAY_MAG_NO_ESCAPE = 0, + SAY_MAG_MORE = 1, + SAY_MAG_MORE_REPLY = 0, + SAY_MAG_LIGHTNING = 2, + SAY_MAG_SHOCK = 3, + SAY_MAG_COMPLETE = 4, SPELL_CHAIN_LIGHTNING = 16006, SPELL_EARTHBIND_TOTEM = 15786, @@ -189,7 +189,7 @@ public: pEscortAI->Start(true, false, player->GetGUID(), quest); - DoScriptText(SAY_MAG_START, creature); + creature->AI()->Talk(SAY_MAG_START); creature->SummonCreature(NPC_MURK_RAIDER, m_afAmbushA[0]+2.5f, m_afAmbushA[1]-2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); creature->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushA[0]-2.5f, m_afAmbushA[1]+2.5f, m_afAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); @@ -229,17 +229,17 @@ public: switch (waypointId) { case 7: - DoScriptText(SAY_MAG_MORE, me); + Talk(SAY_MAG_MORE); if (Creature* temp = me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0], m_afAmbushB[1], m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000)) - DoScriptText(SAY_MAG_MORE_REPLY, temp); + temp->AI()->Talk(SAY_MAG_MORE_REPLY); me->SummonCreature(NPC_MURK_PUTRIFIER, m_afAmbushB[0]-2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]+2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); me->SummonCreature(NPC_MURK_SCAVENGER, m_afAmbushB[0]+2.5f, m_afAmbushB[1]-2.5f, m_afAmbushB[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); break; case 16: - DoScriptText(SAY_MAG_COMPLETE, me); + Talk(SAY_MAG_COMPLETE); if (Player* player = GetPlayerForEscort()) player->GroupEventHappens(QUEST_TOTEM_KARDASH_H, me); @@ -252,7 +252,7 @@ public: void JustSummoned(Creature* summoned) { if (summoned->GetEntry() == NPC_MURK_BRUTE) - DoScriptText(SAY_MAG_NO_ESCAPE, summoned); + summoned->AI()->Talk(SAY_MAG_NO_ESCAPE); if (summoned->isTotem()) return; @@ -270,7 +270,7 @@ public: if (rand()%10) return; - DoScriptText(SAY_MAG_LIGHTNING, me); + Talk(SAY_MAG_LIGHTNING); } } @@ -367,18 +367,18 @@ enum CorkiData NPC_CORKI = 18445, NPC_CORKI_CREDIT_1 = 18369, GO_CORKIS_PRISON = 182349, - CORKI_SAY_THANKS = -1800071, + CORKI_SAY_THANKS = 0, // 2nd quest QUEST_CORKIS_GONE_MISSING_AGAIN = 9924, NPC_CORKI_2 = 20812, GO_CORKIS_PRISON_2 = 182350, - CORKI_SAY_PROMISE = -1800072, + CORKI_SAY_PROMISE = 0, // 3rd quest QUEST_CHOWAR_THE_PILLAGER = 9955, NPC_CORKI_3 = 18369, NPC_CORKI_CREDIT_3 = 18444, GO_CORKIS_PRISON_3 = 182521, - CORKI_SAY_LAST = -1800073 + CORKI_SAY_LAST = 0 }; class go_corkis_prison : public GameObjectScript @@ -468,11 +468,11 @@ public: Say_Timer = 5000; ReleasedFromCage = true; if (me->GetEntry() == NPC_CORKI) - DoScriptText(CORKI_SAY_THANKS, me); + Talk(CORKI_SAY_THANKS); if (me->GetEntry() == NPC_CORKI_2) - DoScriptText(CORKI_SAY_PROMISE, me); + Talk(CORKI_SAY_PROMISE); if (me->GetEntry() == NPC_CORKI_3) - DoScriptText(CORKI_SAY_LAST, me); + Talk(CORKI_SAY_LAST); } }; }; @@ -521,7 +521,7 @@ public: { creature->SetStandState(UNIT_STAND_STATE_STAND); EscortAI->Start(true, false, player->GetGUID(), quest); - DoScriptText(SAY_KUR_START, creature); + creature->AI()->Talk(SAY_KUR_START); creature->SummonCreature(NPC_KUR_MURK_RAIDER, kurenaiAmbushA[0]+2.5f, kurenaiAmbushA[1]-2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); creature->SummonCreature(NPC_KUR_MURK_BRUTE, kurenaiAmbushA[0]-2.5f, kurenaiAmbushA[1]+2.5f, kurenaiAmbushA[2], 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 25000); diff --git a/src/server/scripts/Outland/netherstorm.cpp b/src/server/scripts/Outland/netherstorm.cpp index eaea4960712..96f707b06f1 100644 --- a/src/server/scripts/Outland/netherstorm.cpp +++ b/src/server/scripts/Outland/netherstorm.cpp @@ -45,12 +45,12 @@ EndContentData */ //used by 20209, 20417, 20418, 20440, signed for 20209 enum eManaforgeConsoleData { - EMOTE_START = -1000211, - EMOTE_60 = -1000212, - EMOTE_30 = -1000213, - EMOTE_10 = -1000214, - EMOTE_COMPLETE = -1000215, - EMOTE_ABORT = -1000216, + EMOTE_START = 0, + EMOTE_60 = 1, + EMOTE_30 = 2, + EMOTE_10 = 3, + EMOTE_COMPLETE = 4, + EMOTE_ABORT = 5, ENTRY_BNAAR_C_CONSOLE = 20209, ENTRY_CORUU_C_CONSOLE = 20417, @@ -114,7 +114,7 @@ public: void JustDied(Unit* /*killer*/) { - DoScriptText(EMOTE_ABORT, me); + Talk(EMOTE_ABORT); if (someplayer) { @@ -247,31 +247,32 @@ public: if (someplayer) { Unit* u = Unit::GetUnit(*me, someplayer); - if (u && u->GetTypeId() == TYPEID_PLAYER) DoScriptText(EMOTE_START, me, u); + if (u && u->GetTypeId() == TYPEID_PLAYER) + Talk(EMOTE_START, u->GetGUID()); } Event_Timer = 60000; Wave = true; ++Phase; break; case 2: - DoScriptText(EMOTE_60, me); + Talk(EMOTE_60); Event_Timer = 30000; ++Phase; break; case 3: - DoScriptText(EMOTE_30, me); + Talk(EMOTE_30); Event_Timer = 20000; DoFinalSpawnForCreature(me); ++Phase; break; case 4: - DoScriptText(EMOTE_10, me); + Talk(EMOTE_10); Event_Timer = 10000; Wave = false; ++Phase; break; case 5: - DoScriptText(EMOTE_COMPLETE, me); + Talk(EMOTE_COMPLETE); if (someplayer) { Unit* u = Unit::GetUnit(*me, someplayer); @@ -361,18 +362,20 @@ public: // The Speech of Dawnforge, Ardonis & Pathaleon enum eCommanderDawnforgeData { - SAY_COMMANDER_DAWNFORGE_1 = -1000128, - SAY_ARCANIST_ARDONIS_1 = -1000129, - SAY_COMMANDER_DAWNFORGE_2 = -1000130, - SAY_PATHALEON_CULATOR_IMAGE_1 = -1000131, - SAY_COMMANDER_DAWNFORGE_3 = -1000132, - SAY_PATHALEON_CULATOR_IMAGE_2 = -1000133, - SAY_PATHALEON_CULATOR_IMAGE_2_1 = -1000134, - SAY_PATHALEON_CULATOR_IMAGE_2_2 = -1000135, - SAY_COMMANDER_DAWNFORGE_4 = -1000136, - SAY_ARCANIST_ARDONIS_2 = -1000136, - SAY_COMMANDER_DAWNFORGE_5 = -1000137, - + SAY_COMMANDER_DAWNFORGE_1 = 0, + SAY_COMMANDER_DAWNFORGE_2 = 1, + SAY_COMMANDER_DAWNFORGE_3 = 2, + SAY_COMMANDER_DAWNFORGE_4 = 3, + SAY_COMMANDER_DAWNFORGE_5 = 4, + + SAY_ARCANIST_ARDONIS_1 = 0, + SAY_ARCANIST_ARDONIS_2 = 1, + + SAY_PATHALEON_CULATOR_IMAGE_1 = 0, + SAY_PATHALEON_CULATOR_IMAGE_2 = 1, + SAY_PATHALEON_CULATOR_IMAGE_2_1 = 2, + SAY_PATHALEON_CULATOR_IMAGE_2_2 = 3, + QUEST_INFO_GATHERING = 10198, SPELL_SUNFURY_DISGUISE = 34603, }; @@ -516,8 +519,8 @@ public: return; } - Unit* ardonis = Unit::GetUnit(*me, ardonisGUID); - Unit* pathaleon = Unit::GetUnit(*me, pathaleonGUID); + Creature* ardonis = Creature::GetCreature(*me, ardonisGUID); + Creature* pathaleon = Creature::GetCreature(*me, pathaleonGUID); Player* player = Unit::GetPlayer(*me, PlayerGUID); if (!ardonis || !player) @@ -536,19 +539,19 @@ public: switch (Phase) { case 1: - DoScriptText(SAY_COMMANDER_DAWNFORGE_1, me); + Talk(SAY_COMMANDER_DAWNFORGE_1); ++Phase; Phase_Timer = 16000; break; //Phase 2 Ardonis say case 2: - DoScriptText(SAY_ARCANIST_ARDONIS_1, ardonis); + ardonis->AI()->Talk(SAY_ARCANIST_ARDONIS_1); ++Phase; Phase_Timer = 16000; break; //Phase 3 Dawnforge say case 3: - DoScriptText(SAY_COMMANDER_DAWNFORGE_2, me); + Talk(SAY_COMMANDER_DAWNFORGE_2); ++Phase; Phase_Timer = 16000; break; @@ -561,7 +564,7 @@ public: break; //Phase 5 Pathaleon say case 5: - DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_1, pathaleon); + pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_1); ++Phase; Phase_Timer = 6000; break; @@ -577,7 +580,7 @@ public: break; //Subphase 2 Dawnforge say case 1: - DoScriptText(SAY_COMMANDER_DAWNFORGE_3, me); + Talk(SAY_COMMANDER_DAWNFORGE_3); PhaseSubphase = 0; ++Phase; Phase_Timer = 8000; @@ -590,19 +593,19 @@ public: { //Subphase 1 case 0: - DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2, pathaleon); + pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2); ++PhaseSubphase; Phase_Timer = 12000; break; //Subphase 2 case 1: - DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2_1, pathaleon); + pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2_1); ++PhaseSubphase; Phase_Timer = 16000; break; //Subphase 3 case 2: - DoScriptText(SAY_PATHALEON_CULATOR_IMAGE_2_2, pathaleon); + pathaleon->AI()->Talk(SAY_PATHALEON_CULATOR_IMAGE_2_2); PhaseSubphase = 0; ++Phase; Phase_Timer = 10000; @@ -611,8 +614,8 @@ public: break; //Phase 8 Dawnforge & Ardonis say case 8: - DoScriptText(SAY_COMMANDER_DAWNFORGE_4, me); - DoScriptText(SAY_ARCANIST_ARDONIS_2, ardonis); + Talk(SAY_COMMANDER_DAWNFORGE_4); + ardonis->AI()->Talk(SAY_ARCANIST_ARDONIS_2); ++Phase; Phase_Timer = 4000; break; @@ -627,7 +630,7 @@ public: break; //Phase 10 Dawnforge say case 10: - DoScriptText(SAY_COMMANDER_DAWNFORGE_5, me); + Talk(SAY_COMMANDER_DAWNFORGE_5); player->AreaExploredOrEventHappens(QUEST_INFO_GATHERING); Reset(); break; @@ -667,7 +670,7 @@ enum eProfessorDabiriData { SPELL_PHASE_DISTRUPTOR = 35780, - WHISPER_DABIRI = -1000522, + //WHISPER_DABIRI = 0, not existing in database QUEST_DIMENSIUS = 10439, QUEST_ON_NETHERY_WINGS = 10438, @@ -680,13 +683,9 @@ class npc_professor_dabiri : public CreatureScript public: npc_professor_dabiri() : CreatureScript("npc_professor_dabiri") { } - bool OnQuestAccept(Player* player, Creature* creature, Quest const* quest) - { - if (quest->GetQuestId() == QUEST_DIMENSIUS) - DoScriptText(WHISPER_DABIRI, creature, player); - - return true; - } + //OnQuestAccept: + //if (quest->GetQuestId() == QUEST_DIMENSIUS) + //creature->AI()->Talk(WHISPER_DABIRI, player->GetGUID()); bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) { @@ -725,7 +724,7 @@ enum ePhaseHunterData NPC_PHASE_HUNTER_ENTRY = 18879, NPC_DRAINED_PHASE_HUNTER_ENTRY = 19595, - EMOTE_WEAK = -1000303, + EMOTE_WEAK = 0, // Spells SPELL_RECHARGING_BATTERY = 34219, @@ -827,7 +826,7 @@ public: if (!Weak && HealthBelowPct(WeakPercent) && player->GetQuestStatus(QUEST_RECHARGING_THE_BATTERIES) == QUEST_STATUS_INCOMPLETE) { - DoScriptText(EMOTE_WEAK, me); + Talk(EMOTE_WEAK); Weak = true; } if (Weak && !Drained && me->HasAura(SPELL_RECHARGING_BATTERY)) @@ -857,8 +856,8 @@ enum eBessyData N_THADELL = 20464, SPAWN_FIRST = 20512, SPAWN_SECOND = 19881, - SAY_THADELL_1 = -1000524, - SAY_THADELL_2 = -1000525, + SAY_THADELL_1 = 0, + SAY_THADELL_2 = 1, }; class npc_bessy : public CreatureScript @@ -912,11 +911,11 @@ public: case 12: player->GroupEventHappens(Q_ALMABTRIEB, me); if (me->FindNearestCreature(N_THADELL, 30)) - DoScriptText(SAY_THADELL_1, me); + Talk(SAY_THADELL_1); break; case 13: if (me->FindNearestCreature(N_THADELL, 30)) - DoScriptText(SAY_THADELL_2, me, player); + Talk(SAY_THADELL_2, player->GetGUID()); break; } } diff --git a/src/server/scripts/Outland/shadowmoon_valley.cpp b/src/server/scripts/Outland/shadowmoon_valley.cpp index dc91fb2c14f..55fce0c4a8d 100644 --- a/src/server/scripts/Outland/shadowmoon_valley.cpp +++ b/src/server/scripts/Outland/shadowmoon_valley.cpp @@ -55,7 +55,7 @@ EndContentData */ enum eMatureNetherwing { - SAY_JUST_EATEN = -1000175, + SAY_JUST_EATEN = 0, SPELL_PLACE_CARCASS = 38439, SPELL_JUST_EATEN = 38502, @@ -152,7 +152,7 @@ public: else if (bIsEating) { DoCast(me, SPELL_JUST_EATEN); - DoScriptText(SAY_JUST_EATEN, me); + Talk(SAY_JUST_EATEN); if (Player* pPlr = Unit::GetPlayer(*me, uiPlayerGUID)) { @@ -674,25 +674,25 @@ enum eOverlordData SPELL_THREE = 40216, // Dragonaw Faction SPELL_FOUR = 42016, // Dragonaw Trasform - OVERLORD_SAY_1 = -1000606, - OVERLORD_SAY_2 = -1000607, - OVERLORD_SAY_3 = -1000608, //signed for 28315 - OVERLORD_SAY_4 = -1000609, - OVERLORD_SAY_5 = -1000610, - OVERLORD_SAY_6 = -1000611, - - OVERLORD_YELL_1 = -1000612, - OVERLORD_YELL_2 = -1000613, - - LORD_ILLIDAN_SAY_1 = -1000614, - LORD_ILLIDAN_SAY_2 = -1000615, - LORD_ILLIDAN_SAY_3 = -1000616, - LORD_ILLIDAN_SAY_4 = -1000617, - LORD_ILLIDAN_SAY_5 = -1000618, - LORD_ILLIDAN_SAY_6 = -1000619, - LORD_ILLIDAN_SAY_7 = -1000620, - - YARZILL_THE_MERC_SAY = -1000621, + OVERLORD_SAY_1 = 0, + OVERLORD_SAY_2 = 1, + //OVERLORD_SAY_3 = 2, + OVERLORD_SAY_4 = 3, + OVERLORD_SAY_5 = 4, + OVERLORD_SAY_6 = 5, + + OVERLORD_YELL_1 = 6, + OVERLORD_YELL_2 = 7, + + LORD_ILLIDAN_SAY_1 = 0, + LORD_ILLIDAN_SAY_2 = 1, + LORD_ILLIDAN_SAY_3 = 2, + LORD_ILLIDAN_SAY_4 = 3, + LORD_ILLIDAN_SAY_5 = 4, + LORD_ILLIDAN_SAY_6 = 5, + LORD_ILLIDAN_SAY_7 = 6, + + YARZILL_THE_MERC_SAY = 0 }; class npc_overlord_morghor : public CreatureScript @@ -754,7 +754,7 @@ public: { Player* player = Unit::GetPlayer(*me, PlayerGUID); if (player) - DoScriptText(OVERLORD_SAY_1, me, player); + Talk(OVERLORD_SAY_1, player->GetGUID()); } ConversationTimer = 4200; Step = 0; @@ -764,7 +764,7 @@ public: uint32 NextStep(uint32 Step) { Player* player = Unit::GetPlayer(*me, PlayerGUID); - Unit* Illi = Unit::GetUnit(*me, IllidanGUID); + Creature* Illi = Creature::GetCreature(*me, IllidanGUID); if (!player || !Illi) { @@ -782,7 +782,7 @@ public: return 9000; break; case 2: - DoScriptText(OVERLORD_YELL_1, me, player); + Talk(OVERLORD_YELL_1, player->GetGUID()); return 4500; break; case 3: @@ -790,7 +790,7 @@ public: return 3200; break; case 4: - DoScriptText(OVERLORD_SAY_2, me, player); + Talk(OVERLORD_SAY_2, player->GetGUID()); return 2000; break; case 5: @@ -805,31 +805,27 @@ public: return 2000; break; case 7: - DoScriptText(OVERLORD_YELL_2, me); + Talk(OVERLORD_YELL_2); return 4500; break; case 8: me->SetUInt32Value(UNIT_FIELD_BYTES_1, 8); - return 2500; - break; - case 9: - DoScriptText(OVERLORD_SAY_3, me); - return 6500; + return 9000; break; case 10: - DoScriptText(LORD_ILLIDAN_SAY_1, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_1); return 5000; break; case 11: - DoScriptText(OVERLORD_SAY_4, me, player); + Talk(OVERLORD_SAY_4, player->GetGUID()); return 6000; break; case 12: - DoScriptText(LORD_ILLIDAN_SAY_2, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_2); return 5500; break; case 13: - DoScriptText(LORD_ILLIDAN_SAY_3, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_3); return 4000; break; case 14: @@ -837,7 +833,7 @@ public: return 1500; break; case 15: - DoScriptText(LORD_ILLIDAN_SAY_4, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_4); return 1500; break; case 16: @@ -847,15 +843,15 @@ public: return 5000; break; case 17: - DoScriptText(LORD_ILLIDAN_SAY_5, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_5); return 5000; break; case 18: - DoScriptText(LORD_ILLIDAN_SAY_6, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_6); return 5000; break; case 19: - DoScriptText(LORD_ILLIDAN_SAY_7, Illi); + Illi->AI()->Talk(LORD_ILLIDAN_SAY_7); return 5000; break; case 20: @@ -864,7 +860,7 @@ public: return 500; break; case 21: - DoScriptText(OVERLORD_SAY_5, me); + Talk(OVERLORD_SAY_5); return 500; break; case 22: @@ -881,7 +877,7 @@ public: return 5000; break; case 25: - DoScriptText(OVERLORD_SAY_6, me); + Talk(OVERLORD_SAY_6); return 2000; break; case 26: @@ -905,24 +901,21 @@ public: break; case 29: { - Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50); - if (Yarzill) - DoScriptText(YARZILL_THE_MERC_SAY, Yarzill, player); + if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f)) + Yarzill->AI()->Talk(YARZILL_THE_MERC_SAY, player->GetGUID()); return 5000; } break; case 30: { - Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50); - if (Yarzill) + if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f)) Yarzill->SetTarget(0); return 5000; } break; case 31: { - Unit* Yarzill = me->FindNearestCreature(C_YARZILL, 50); - if (Yarzill) + if (Creature* Yarzill = me->FindNearestCreature(C_YARZILL, 50.0f)) Yarzill->CastSpell(player, 41540, true); return 1000; } @@ -960,16 +953,13 @@ public: enum eEarthmender { - SAY_WIL_START = -1000381, - SAY_WIL_AGGRO1 = -1000382, - SAY_WIL_AGGRO2 = -1000383, - SAY_WIL_PROGRESS1 = -1000384, - SAY_WIL_PROGRESS2 = -1000385, - SAY_WIL_FIND_EXIT = -1000386, - SAY_WIL_PROGRESS4 = -1000387, - SAY_WIL_PROGRESS5 = -1000388, - SAY_WIL_JUST_AHEAD = -1000389, - SAY_WIL_END = -1000390, + SAY_WIL_START = 0, + SAY_WIL_AGGRO = 1, + SAY_WIL_PROGRESS1 = 2, + SAY_WIL_PROGRESS2 = 3, + SAY_WIL_FIND_EXIT = 4, + SAY_WIL_JUST_AHEAD = 5, + SAY_WIL_END = 6, SPELL_CHAIN_LIGHTNING = 16006, SPELL_EARTHBING_TOTEM = 15786, @@ -990,7 +980,7 @@ public: { if (quest->GetQuestId() == QUEST_ESCAPE_COILSCAR) { - DoScriptText(SAY_WIL_START, creature, player); + creature->AI()->Talk(SAY_WIL_START, player->GetGUID()); creature->setFaction(FACTION_EARTHEN); if (npc_earthmender_wildaAI* pEscortAI = CAST_AI(npc_earthmender_wilda::npc_earthmender_wildaAI, creature->AI())) @@ -1024,14 +1014,14 @@ public: switch (waypointId) { case 13: - DoScriptText(SAY_WIL_PROGRESS1, me, player); + Talk(SAY_WIL_PROGRESS1, player->GetGUID()); DoSpawnAssassin(); break; case 14: DoSpawnAssassin(); break; case 15: - DoScriptText(SAY_WIL_FIND_EXIT, me, player); + Talk(SAY_WIL_FIND_EXIT, player->GetGUID()); break; case 19: DoRandomSay(); @@ -1058,7 +1048,7 @@ public: DoSpawnAssassin(); break; case 39: - DoScriptText(SAY_WIL_JUST_AHEAD, me, player); + Talk(SAY_WIL_JUST_AHEAD, player->GetGUID()); break; case 43: DoRandomSay(); @@ -1067,7 +1057,7 @@ public: DoSpawnAssassin(); break; case 50: - DoScriptText(SAY_WIL_END, me, player); + Talk(SAY_WIL_END, player->GetGUID()); player->GroupEventHappens(QUEST_ESCAPE_COILSCAR, me); break; } @@ -1082,7 +1072,7 @@ public: //this is very unclear, random say without no real relevance to script/event void DoRandomSay() { - DoScriptText(RAND(SAY_WIL_PROGRESS2, SAY_WIL_PROGRESS4, SAY_WIL_PROGRESS5), me); + Talk(SAY_WIL_PROGRESS2); } void DoSpawnAssassin() @@ -1102,7 +1092,7 @@ public: { //appears to be random if (urand(0, 1)) - DoScriptText(RAND(SAY_WIL_AGGRO1, SAY_WIL_AGGRO2), who); + Talk(SAY_WIL_AGGRO); } } @@ -1140,28 +1130,25 @@ npc_lord_illidan_stormrage : Creature that controls the event. go_crystal_prison : GameObject that begins the event and hands out quest EndContentData */ -#define END_TEXT -1000366 //signed for 10646 - #define QUEST_BATTLE_OF_THE_CRIMSON_WATCH 10781 #define EVENT_AREA_RADIUS 65 //65yds #define EVENT_COOLDOWN 30000 //in ms. appear after event completed or failed (should be = Adds despawn time) struct TorlothCinematic { - int32 TextId; uint32 creature, Timer; }; // Creature 0 - Torloth, 1 - Illidan static TorlothCinematic TorlothAnim[]= { - {-1000367, 0, 2000}, - {-1000368, 1, 7000}, - {-1000369, 0, 3000}, - {0, 0, 2000}, // Torloth stand - {-1000370, 0, 1000}, - {0, 0, 3000}, - {0, 0, 0} + {0, 2000}, + {1, 7000}, + {0, 3000}, + {0, 2000}, // Torloth stand + {0, 1000}, + {0, 3000}, + {0, 0} }; struct Location @@ -1195,15 +1182,14 @@ struct WaveData { uint8 SpawnCount, UsedSpawnPoint; uint32 CreatureId, SpawnTimer, YellTimer; - int32 WaveTextId; }; static WaveData WavesInfo[]= { - {9, 0, 22075, 10000, 7000, -1000371}, //Illidari Soldier - {2, 9, 22074, 10000, 7000, -1000372}, //Illidari Mind Breaker - {4, 11, 19797, 10000, 7000, -1000373}, //Illidari Highlord - {1, 15, 22076, 10000, 7000, -1000374} //Torloth The Magnificent + {9, 0, 22075, 10000, 7000}, //Illidari Soldier + {2, 9, 22074, 10000, 7000}, //Illidari Mind Breaker + {4, 11, 19797, 10000, 7000}, //Illidari Highlord + {1, 15, 22076, 10000, 7000} //Torloth The Magnificent }; struct SpawnSpells @@ -1278,9 +1264,6 @@ public: return; } - if (TorlothAnim[AnimationCount].TextId) - DoScriptText(TorlothAnim[AnimationCount].TextId, creature); - AnimationTimer = TorlothAnim[AnimationCount].Timer; switch (AnimationCount) @@ -1377,7 +1360,6 @@ public: if (Creature* LordIllidan = (Unit::GetCreature(*me, LordIllidanGUID))) { - DoScriptText(END_TEXT, LordIllidan, killer); LordIllidan->AI()->EnterEvadeMode(); } } @@ -1512,14 +1494,17 @@ public: { if (!Announced && AnnounceTimer <= diff) { - DoScriptText(WavesInfo[WaveCount].WaveTextId, me); Announced = true; - } else AnnounceTimer -= diff; + } + else + AnnounceTimer -= diff; if (WaveTimer <= diff) { SummonNextWave(); - } else WaveTimer -= diff; + } + else + WaveTimer -= diff; } CheckEventFail(); diff --git a/src/server/scripts/Outland/shattrath_city.cpp b/src/server/scripts/Outland/shattrath_city.cpp index 76cffa9e1fe..c45ad519d39 100644 --- a/src/server/scripts/Outland/shattrath_city.cpp +++ b/src/server/scripts/Outland/shattrath_city.cpp @@ -286,28 +286,32 @@ public: # npc_kservant ######*/ -#define SAY1 -1000234 -#define WHISP1 -1000235 -#define WHISP2 -1000236 -#define WHISP3 -1000237 -#define WHISP4 -1000238 -#define WHISP5 -1000239 -#define WHISP6 -1000240 -#define WHISP7 -1000241 -#define WHISP8 -1000242 -#define WHISP9 -1000243 -#define WHISP10 -1000244 -#define WHISP11 -1000245 -#define WHISP12 -1000246 -#define WHISP13 -1000247 -#define WHISP14 -1000248 -#define WHISP15 -1000249 -#define WHISP16 -1000250 -#define WHISP17 -1000251 -#define WHISP18 -1000252 -#define WHISP19 -1000253 -#define WHISP20 -1000254 -#define WHISP21 -1000255 +enum KServant +{ + SAY1 = 0, + WHISP1 = 1, + WHISP2 = 2, + WHISP3 = 3, + WHISP4 = 4, + WHISP5 = 5, + WHISP6 = 6, + WHISP7 = 7, + WHISP8 = 8, + WHISP9 = 9, + WHISP10 = 10, + WHISP11 = 11, + WHISP12 = 12, + WHISP13 = 13, + WHISP14 = 14, + WHISP15 = 15, + WHISP16 = 16, + WHISP17 = 17, + WHISP18 = 18, + WHISP19 = 19, + WHISP20 = 20, + WHISP21 = 21 +}; + class npc_kservant : public CreatureScript { public: @@ -332,70 +336,70 @@ public: switch (waypointId) { case 0: - DoScriptText(SAY1, me, player); + Talk(SAY1, player->GetGUID()); break; case 4: - DoScriptText(WHISP1, me, player); + Talk(WHISP1, player->GetGUID()); break; case 6: - DoScriptText(WHISP2, me, player); + Talk(WHISP2, player->GetGUID()); break; case 7: - DoScriptText(WHISP3, me, player); + Talk(WHISP3, player->GetGUID()); break; case 8: - DoScriptText(WHISP4, me, player); + Talk(WHISP4, player->GetGUID()); break; case 17: - DoScriptText(WHISP5, me, player); + Talk(WHISP5, player->GetGUID()); break; case 18: - DoScriptText(WHISP6, me, player); + Talk(WHISP6, player->GetGUID()); break; case 19: - DoScriptText(WHISP7, me, player); + Talk(WHISP7, player->GetGUID()); break; case 33: - DoScriptText(WHISP8, me, player); + Talk(WHISP8, player->GetGUID()); break; case 34: - DoScriptText(WHISP9, me, player); + Talk(WHISP9, player->GetGUID()); break; case 35: - DoScriptText(WHISP10, me, player); + Talk(WHISP10, player->GetGUID()); break; case 36: - DoScriptText(WHISP11, me, player); + Talk(WHISP11, player->GetGUID()); break; case 43: - DoScriptText(WHISP12, me, player); + Talk(WHISP12, player->GetGUID()); break; case 44: - DoScriptText(WHISP13, me, player); + Talk(WHISP13, player->GetGUID()); break; case 49: - DoScriptText(WHISP14, me, player); + Talk(WHISP14, player->GetGUID()); break; case 50: - DoScriptText(WHISP15, me, player); + Talk(WHISP15, player->GetGUID()); break; case 51: - DoScriptText(WHISP16, me, player); + Talk(WHISP16, player->GetGUID()); break; case 52: - DoScriptText(WHISP17, me, player); + Talk(WHISP17, player->GetGUID()); break; case 53: - DoScriptText(WHISP18, me, player); + Talk(WHISP18, player->GetGUID()); break; case 54: - DoScriptText(WHISP19, me, player); + Talk(WHISP19, player->GetGUID()); break; case 55: - DoScriptText(WHISP20, me, player); + Talk(WHISP20, player->GetGUID()); break; case 56: - DoScriptText(WHISP21, me, player); + Talk(WHISP21, player->GetGUID()); player->GroupEventHappens(10211, me); break; } @@ -429,16 +433,19 @@ public: #define GOSSIP_BOOK "Ezekiel said that you might have a certain book..." -#define SAY_1 -1000274 -#define SAY_2 -1000275 -#define SAY_3 -1000276 -#define SAY_4 -1000277 -#define SAY_5 -1000278 -#define SAY_GIVEUP -1000279 - -#define QUEST_WBI 10231 -#define NPC_CREEPJACK 19726 -#define NPC_MALONE 19725 +enum DirtyLarry +{ + SAY_1 = 0, + SAY_2 = 1, + SAY_3 = 2, + SAY_4 = 3, + SAY_5 = 4, + SAY_GIVEUP = 5, + + QUEST_WBI = 10231, + NPC_CREEPJACK = 19726, + NPC_MALONE = 19725 +}; class npc_dirty_larry : public CreatureScript { @@ -500,11 +507,11 @@ public: if (Malone) Malone->SetUInt32Value(UNIT_FIELD_BYTES_1, 0); me->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP); }return 2000; - case 1: DoScriptText(SAY_1, me, player); return 3000; - case 2: DoScriptText(SAY_2, me, player); return 5000; - case 3: DoScriptText(SAY_3, me, player); return 2000; - case 4: DoScriptText(SAY_4, me, player); return 2000; - case 5: DoScriptText(SAY_5, me, player); return 2000; + case 1: Talk(SAY_1, player->GetGUID()); return 3000; + case 2: Talk(SAY_2, player->GetGUID()); return 5000; + case 3: Talk(SAY_3, player->GetGUID()); return 2000; + case 4: Talk(SAY_4, player->GetGUID()); return 2000; + case 5: Talk(SAY_5, player->GetGUID()); return 2000; case 6: Attack = true; return 2000; default: return 0; } @@ -572,7 +579,7 @@ public: } me->setFaction(1194); Done = true; - DoScriptText(SAY_GIVEUP, me, NULL); + Talk(SAY_GIVEUP); me->DeleteThreatList(); me->CombatStop(); me->GetMotionMaster()->MoveTargetedHome(); diff --git a/src/server/scripts/Outland/terokkar_forest.cpp b/src/server/scripts/Outland/terokkar_forest.cpp index 2298f676692..d1f37dd5bfc 100644 --- a/src/server/scripts/Outland/terokkar_forest.cpp +++ b/src/server/scripts/Outland/terokkar_forest.cpp @@ -45,14 +45,16 @@ EndContentData */ ## mob_unkor_the_ruthless ######*/ -#define SAY_SUBMIT -1000194 +enum UnkorTheRuthless +{ + SAY_SUBMIT = 0, -#define FACTION_HOSTILE 45 -#define FACTION_FRIENDLY 35 -#define QUEST_DONTKILLTHEFATONE 9889 + FACTION_HOSTILE = 45, + FACTION_FRIENDLY = 35, + QUEST_DONTKILLTHEFATONE = 9889, -#define SPELL_PULVERIZE 2676 -//#define SPELL_QUID9889 32174 + SPELL_PULVERIZE = 2676 +}; class mob_unkor_the_ruthless : public CreatureScript { @@ -85,7 +87,7 @@ public: void DoNice() { - DoScriptText(SAY_SUBMIT, me); + Talk(SAY_SUBMIT); me->setFaction(FACTION_FRIENDLY); me->SetStandState(UNIT_STAND_STATE_SIT); me->RemoveAllAuras(); @@ -344,7 +346,7 @@ public: enum eFloon { - SAY_FLOON_ATTACK = -1000195, + SAY_FLOON_ATTACK = 0, SPELL_SILENCE = 6726, SPELL_FROSTBOLT = 9672, @@ -371,7 +373,7 @@ public: { player->CLOSE_GOSSIP_MENU(); creature->setFaction(FACTION_HOSTILE_FL); - DoScriptText(SAY_FLOON_ATTACK, creature, player); + creature->AI()->Talk(SAY_FLOON_ATTACK, player->GetGUID()); creature->AI()->AttackStart(player); } return true; @@ -447,10 +449,10 @@ public: ######*/ enum eIslaStarmaneData { - SAY_PROGRESS_1 = -1000571, - SAY_PROGRESS_2 = -1000572, - SAY_PROGRESS_3 = -1000573, - SAY_PROGRESS_4 = -1000574, + SAY_PROGRESS_1 = 0, + SAY_PROGRESS_2 = 1, + SAY_PROGRESS_3 = 2, + SAY_PROGRESS_4 = 3, QUEST_EFTW_H = 10052, QUEST_EFTW_A = 10051, @@ -480,16 +482,16 @@ public: Cage->SetGoState(GO_STATE_ACTIVE); break; case 2: - DoScriptText(SAY_PROGRESS_1, me, player); + Talk(SAY_PROGRESS_1, player->GetGUID()); break; case 5: - DoScriptText(SAY_PROGRESS_2, me, player); + Talk(SAY_PROGRESS_2, player->GetGUID()); break; case 6: - DoScriptText(SAY_PROGRESS_3, me, player); + Talk(SAY_PROGRESS_3, player->GetGUID()); break; case 29: - DoScriptText(SAY_PROGRESS_4, me, player); + Talk(SAY_PROGRESS_4, player->GetGUID()); if (player->GetTeam() == ALLIANCE) player->GroupEventHappens(QUEST_EFTW_A, me); else if (player->GetTeam() == HORDE) diff --git a/src/server/scripts/Outland/zangarmarsh.cpp b/src/server/scripts/Outland/zangarmarsh.cpp index 03e40b8d7dc..1fbb8a48324 100644 --- a/src/server/scripts/Outland/zangarmarsh.cpp +++ b/src/server/scripts/Outland/zangarmarsh.cpp @@ -45,9 +45,24 @@ EndContentData */ #define GOSSIP_ITEM_BLESS_ASH "Grant me your mark, wise ancient." #define GOSSIP_ITEM_BLESS_KEL "Grant me your mark, mighty ancient." -//signed for 17900 but used by 17900, 17901 -#define GOSSIP_REWARD_BLESS -1000359 -//#define TEXT_BLESSINGS "<You need higher standing with Cenarion Expedition to recive a blessing.>" + +enum AshyenAndKeleth +{ + GOSSIP_REWARD_BLESS = 0, + + NPC_ASHYEN = 17900, + NPC_KELETH = 17901, + + SPELL_BLESS_ASH_EXA = 31815, + SPELL_BLESS_ASH_REV = 31811, + SPELL_BLESS_ASH_HON = 31810, + SPELL_BLESS_ASH_FRI = 31808, + + SPELL_BLESS_KEL_EXA = 31814, + SPELL_BLESS_KEL_REV = 31813, + SPELL_BLESS_KEL_HON = 31812, + SPELL_BLESS_KEL_FRI = 31807 +}; class npcs_ashyen_and_keleth : public CreatureScript { @@ -58,10 +73,10 @@ public: { if (player->GetReputationRank(942) > REP_NEUTRAL) { - if (creature->GetEntry() == 17900) + if (creature->GetEntry() == NPC_ASHYEN) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_ASH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); - if (creature->GetEntry() == 17901) + if (creature->GetEntry() == NPC_KELETH) player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_BLESS_KEL, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1); } player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID()); @@ -78,54 +93,60 @@ public: creature->SetMaxPower(POWER_MANA, 200); //set a "fake" mana value, we can't depend on database doing it in this case creature->SetPower(POWER_MANA, 200); - if (creature->GetEntry() == 17900) //check which Creature we are dealing with + if (creature->GetEntry() == NPC_ASHYEN) //check which Creature we are dealing with { + uint32 spell = 0; switch (player->GetReputationRank(942)) { //mark of lore case REP_FRIENDLY: - creature->CastSpell(player, 31808, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_ASH_FRI; break; case REP_HONORED: - creature->CastSpell(player, 31810, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_ASH_HON; break; case REP_REVERED: - creature->CastSpell(player, 31811, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_ASH_REV; break; case REP_EXALTED: - creature->CastSpell(player, 31815, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_ASH_EXA; break; default: break; } + + if (spell) + { + creature->CastSpell(player, spell, true); + creature->AI()->Talk(GOSSIP_REWARD_BLESS); + } } - if (creature->GetEntry() == 17901) + if (creature->GetEntry() == NPC_KELETH) { + uint32 spell = 0; switch (player->GetReputationRank(942)) //mark of war { case REP_FRIENDLY: - creature->CastSpell(player, 31807, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_KEL_FRI; break; case REP_HONORED: - creature->CastSpell(player, 31812, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_KEL_HON; break; case REP_REVERED: - creature->CastSpell(player, 31813, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_KEL_REV; break; case REP_EXALTED: - creature->CastSpell(player, 31814, true); - DoScriptText(GOSSIP_REWARD_BLESS, creature); + spell = SPELL_BLESS_KEL_EXA; break; default: break; } + + if (spell) + { + creature->CastSpell(player, spell, true); + creature->AI()->Talk(GOSSIP_REWARD_BLESS); + } } player->CLOSE_GOSSIP_MENU(); player->TalkedToCreature(creature->GetEntry(), creature->GetGUID()); @@ -304,12 +325,11 @@ public: enum eKayra { - SAY_START = -1000343, - SAY_AMBUSH1 = -1000344, - SAY_PROGRESS = -1000345, - SAY_AMBUSH2 = -1000346, - SAY_NEAR_END = -1000347, - SAY_END = -1000348, //this is signed for 10646 + SAY_START = 0, + SAY_AMBUSH1 = 1, + SAY_PROGRESS = 2, + SAY_AMBUSH2 = 3, + SAY_END = 4, QUEST_ESCAPE_FROM = 9752, NPC_SLAVEBINDER = 18042 @@ -335,25 +355,24 @@ public: switch (waypointId) { case 4: - DoScriptText(SAY_AMBUSH1, me, player); + Talk(SAY_AMBUSH1, player->GetGUID()); DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); break; case 5: - DoScriptText(SAY_PROGRESS, me, player); + Talk(SAY_PROGRESS, player->GetGUID()); SetRun(); break; case 16: - DoScriptText(SAY_AMBUSH2, me, player); + Talk(SAY_AMBUSH2, player->GetGUID()); DoSpawnCreature(NPC_SLAVEBINDER, -10.0f, -5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); DoSpawnCreature(NPC_SLAVEBINDER, -8.0f, 5.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000); break; case 17: SetRun(false); - DoScriptText(SAY_NEAR_END, me, player); break; case 25: - DoScriptText(SAY_END, me, player); + Talk(SAY_END, player->GetGUID()); player->GroupEventHappens(QUEST_ESCAPE_FROM, me); break; } @@ -364,7 +383,7 @@ public: { if (quest->GetQuestId() == QUEST_ESCAPE_FROM) { - DoScriptText(SAY_START, creature, player); + creature->AI()->Talk(SAY_START, player->GetGUID()); if (npc_escortAI* pEscortAI = CAST_AI(npc_kayra_longmane::npc_kayra_longmaneAI, creature->AI())) pEscortAI->Start(false, false, player->GetGUID()); diff --git a/src/server/scripts/World/guards.cpp b/src/server/scripts/World/guards.cpp index 951c0ed9688..8fc63a1eacf 100644 --- a/src/server/scripts/World/guards.cpp +++ b/src/server/scripts/World/guards.cpp @@ -39,9 +39,7 @@ enum GuardGeneric { GENERIC_CREATURE_COOLDOWN = 5000, - SAY_GUARD_SIL_AGGRO1 = -1070001, - SAY_GUARD_SIL_AGGRO2 = -1070002, - SAY_GUARD_SIL_AGGRO3 = -1070003, + SAY_GUARD_SIL_AGGRO = 0, NPC_CENARION_HOLD_INFANTRY = 15184, NPC_STORMWIND_CITY_GUARD = 68, @@ -67,7 +65,7 @@ public: void EnterCombat(Unit* who) { if (me->GetEntry() == NPC_CENARION_HOLD_INFANTRY) - DoScriptText(RAND(SAY_GUARD_SIL_AGGRO1, SAY_GUARD_SIL_AGGRO2, SAY_GUARD_SIL_AGGRO3), me, who); + Talk(SAY_GUARD_SIL_AGGRO, who->GetGUID()); if (SpellInfo const* spell = me->reachWithSpellAttack(who)) DoCast(who, spell->Id); } diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 5ed799bbec1..367a119c9a3 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -313,12 +313,16 @@ public: # npc_chicken_cluck #########*/ -#define EMOTE_HELLO -1070004 -#define EMOTE_CLUCK_TEXT -1070006 +enum ChickenCluck +{ + EMOTE_HELLO_A = 0, + EMOTE_HELLO_H = 1, + EMOTE_CLUCK_TEXT = 2, -#define QUEST_CLUCK 3861 -#define FACTION_FRIENDLY 35 -#define FACTION_CHICKEN 31 + QUEST_CLUCK = 3861, + FACTION_FRIENDLY = 35, + FACTION_CHICKEN = 31 +}; class npc_chicken_cluck : public CreatureScript { @@ -367,7 +371,7 @@ public: { me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); me->setFaction(FACTION_FRIENDLY); - DoScriptText(EMOTE_HELLO, me); + Talk(player->GetTeam() == HORDE ? EMOTE_HELLO_H : EMOTE_HELLO_A); } break; case TEXT_EMOTE_CHEER: @@ -375,7 +379,7 @@ public: { me->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_QUESTGIVER); me->setFaction(FACTION_FRIENDLY); - DoScriptText(EMOTE_CLUCK_TEXT, me); + Talk(EMOTE_CLUCK_TEXT); } break; } @@ -500,15 +504,15 @@ public: ## Triage quest ######*/ -//signed for 9623 -#define SAY_DOC1 -1000201 -#define SAY_DOC2 -1000202 -#define SAY_DOC3 -1000203 +enum Doctor +{ + SAY_DOC = 0, -#define DOCTOR_ALLIANCE 12939 -#define DOCTOR_HORDE 12920 -#define ALLIANCE_COORDS 7 -#define HORDE_COORDS 6 + DOCTOR_ALLIANCE = 12939, + DOCTOR_HORDE = 12920, + ALLIANCE_COORDS = 7, + HORDE_COORDS = 6 +}; struct Location { @@ -773,7 +777,7 @@ public: //stand up me->SetUInt32Value(UNIT_FIELD_BYTES_1, UNIT_STAND_STATE_STAND); - DoScriptText(RAND(SAY_DOC1, SAY_DOC2, SAY_DOC3), me); + Talk(SAY_DOC); uint32 mobId = me->GetEntry(); me->SetWalk(false); @@ -897,17 +901,9 @@ enum eGarments ENTRY_DG_KEL = 12428, //used by 12429, 12423, 12427, 12430, 12428, but signed for 12429 - SAY_COMMON_HEALED = -1000164, - SAY_DG_KEL_THANKS = -1000165, - SAY_DG_KEL_GOODBYE = -1000166, - SAY_ROBERTS_THANKS = -1000167, - SAY_ROBERTS_GOODBYE = -1000168, - SAY_KORJA_THANKS = -1000169, - SAY_KORJA_GOODBYE = -1000170, - SAY_DOLF_THANKS = -1000171, - SAY_DOLF_GOODBYE = -1000172, - SAY_SHAYA_THANKS = -1000173, - SAY_SHAYA_GOODBYE = -1000174, //signed for 21469 + //SAY_HEALED = 0, + //SAY_THANKS = 1, + //SAY_GOODBYE = 2 }; class npc_garments_of_quests : public CreatureScript @@ -963,14 +959,14 @@ public: { if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_SHAYA_THANKS, me, caster); + //Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + //Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -980,14 +976,14 @@ public: { if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_ROBERTS_THANKS, me, caster); + //Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + //Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -997,14 +993,14 @@ public: { if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_DOLF_THANKS, me, caster); + //Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + //Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -1014,14 +1010,14 @@ public: { if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_KORJA_THANKS, me, caster); + //Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + //Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -1031,14 +1027,14 @@ public: { if (IsHealed && !CanRun && Spell->Id == SPELL_FORTITUDE_R1) { - DoScriptText(SAY_DG_KEL_THANKS, me, caster); + //Talk(SAY_THANKS, caster->GetGUID()); CanRun = true; } else if (!IsHealed && Spell->Id == SPELL_LESSER_HEAL_R2) { CasterGUID = caster->GetGUID(); me->SetStandState(UNIT_STAND_STATE_STAND); - DoScriptText(SAY_COMMON_HEALED, me, caster); + //Talk(SAY_HEALED, caster->GetGUID()); IsHealed = true; } } @@ -1068,19 +1064,19 @@ public: switch (me->GetEntry()) { case ENTRY_SHAYA: - DoScriptText(SAY_SHAYA_GOODBYE, me, unit); + //Talk(SAY_GOODBYE, unit->GetGUID()); break; case ENTRY_ROBERTS: - DoScriptText(SAY_ROBERTS_GOODBYE, me, unit); + //Talk(SAY_GOODBYE, unit->GetGUID()); break; case ENTRY_DOLF: - DoScriptText(SAY_DOLF_GOODBYE, me, unit); + //Talk(SAY_GOODBYE, unit->GetGUID()); break; case ENTRY_KORJA: - DoScriptText(SAY_KORJA_GOODBYE, me, unit); + //Talk(SAY_GOODBYE, unit->GetGUID()); break; case ENTRY_DG_KEL: - DoScriptText(SAY_DG_KEL_GOODBYE, me, unit); + //Talk(SAY_GOODBYE, unit->GetGUID()); break; } |