diff options
-rw-r--r-- | sql/updates/world/2013_01_07_18_world_creature_text.sql | 9 | ||||
-rw-r--r-- | src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp | 51 |
2 files changed, 37 insertions, 23 deletions
diff --git a/sql/updates/world/2013_01_07_18_world_creature_text.sql b/sql/updates/world/2013_01_07_18_world_creature_text.sql new file mode 100644 index 00000000000..b9c6ef8d0c1 --- /dev/null +++ b/sql/updates/world/2013_01_07_18_world_creature_text.sql @@ -0,0 +1,9 @@ +-- Texts for Nightbane +DELETE FROM `creature_text` WHERE `entry`= 17225; +INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES +(17225,0,0, 'An ancient being awakens in the distance...',16,0,100,0,0,0, 'Nightbane - EMOTE_SUMMON'), +(17225,1,0, 'What fools! I shall bring a quick end to your suffering!',14,0,100,0,0,0, 'Nightbane - YELL_AGGRO'), +(17225,2,0, 'Miserable vermin. I shall exterminate you from the air!',14,0,100,0,0,0, 'Nightbane - YELL_FLY_PHASE'), +(17225,3,0, 'Enough! I shall land and crush you myself!',14,0,100,0,0,0, 'Nightbane - YELL_LAND_PHASE'), +(17225,3,1, 'Insects! Let me show you my strength up close!',14,0,100,0,0,0, 'Nightbane - YELL_LAND_PHASE'), +(17225,4,0, 'takes a deep breath.',16,0,100,0,0,0, 'Nightbane - EMOTE_BREATH'); diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp index a60d151f2d8..6d9a1f98e93 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_nightbane.cpp @@ -27,25 +27,30 @@ EndScriptData */ #include "ScriptedCreature.h" #include "karazhan.h" -//phase 1 -#define SPELL_BELLOWING_ROAR 39427 -#define SPELL_CHARRED_EARTH 30129 -#define SPELL_DISTRACTING_ASH 30130 -#define SPELL_SMOLDERING_BREATH 30210 -#define SPELL_TAIL_SWEEP 25653 -//phase 2 -#define SPELL_RAIN_OF_BONES 37098 -#define SPELL_SMOKING_BLAST 37057 -#define SPELL_FIREBALL_BARRAGE 30282 -#define SPELL_SEARING_CINDERS 30127 -#define SPELL_SUMMON_SKELETON 30170 - -#define EMOTE_SUMMON "An ancient being awakens in the distance..." -#define YELL_AGGRO "What fools! I shall bring a quick end to your suffering!" -#define YELL_FLY_PHASE "Miserable vermin. I shall exterminate you from the air!" -#define YELL_LAND_PHASE_1 "Enough! I shall land and crush you myself!" -#define YELL_LAND_PHASE_2 "Insects! Let me show you my strength up close!" -#define EMOTE_BREATH "takes a deep breath." +enum Spells +{ + // phase 1 + SPELL_BELLOWING_ROAR = 39427, + SPELL_CHARRED_EARTH = 30129, + SPELL_DISTRACTING_ASH = 30130, + SPELL_SMOLDERING_BREATH = 30210, + SPELL_TAIL_SWEEP = 25653, + // phase 2 + SPELL_RAIN_OF_BONES = 37098, + SPELL_SMOKING_BLAST = 37057, + SPELL_FIREBALL_BARRAGE = 30282, + SPELL_SEARING_CINDERS = 30127, + SPELL_SUMMON_SKELETON = 30170 +}; + +enum Says +{ + EMOTE_SUMMON = 0, // Not used in script + YELL_AGGRO = 1, + YELL_FLY_PHASE = 2, + YELL_LAND_PHASE = 3, + EMOTE_BREATH = 4 +}; float IntroWay[8][3] = { @@ -161,7 +166,7 @@ public: instance->SetData(TYPE_NIGHTBANE, IN_PROGRESS); HandleTerraceDoors(false); - me->MonsterYell(YELL_AGGRO, LANG_UNIVERSAL, 0); + Talk(YELL_AGGRO); } void AttackStart(Unit* who) @@ -205,7 +210,7 @@ public: { if (id == 0) { - me->MonsterTextEmote(EMOTE_BREATH, 0, true); + Talk(EMOTE_BREATH); Flying = false; Phase = 2; return; @@ -237,7 +242,7 @@ public: void TakeOff() { - me->MonsterYell(YELL_FLY_PHASE, LANG_UNIVERSAL, 0); + Talk(YELL_FLY_PHASE); me->InterruptSpell(CURRENT_GENERIC_SPELL); me->HandleEmoteCommand(EMOTE_ONESHOT_LIFTOFF); @@ -403,7 +408,7 @@ public: if (FlyTimer <= diff) //landing { - me->MonsterYell(RAND(*YELL_LAND_PHASE_1, *YELL_LAND_PHASE_2), LANG_UNIVERSAL, 0); + Talk(YELL_LAND_PHASE); me->GetMotionMaster()->Clear(false); me->GetMotionMaster()->MovePoint(3, IntroWay[3][0], IntroWay[3][1], IntroWay[3][2]); |