diff options
author | slg <none@none> | 2008-10-27 15:17:06 -0500 |
---|---|---|
committer | slg <none@none> | 2008-10-27 15:17:06 -0500 |
commit | 1b820f93ebadc6f253a0b1baa958abe3ab482e2d (patch) | |
tree | dfa777ab8f6d6575e080c0c90d3ea4fc1a5fc5cc /src | |
parent | bbd5c8fd403408297f094c1634e0a28b5312902c (diff) |
[svn] More C++ scripts converted to use script_texts.
- Blackwing Lair
- Black Morass
- Old Hillsbrad
source: ScriptDev2
--HG--
branch : trunk
Diffstat (limited to 'src')
12 files changed, 241 insertions, 434 deletions
diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp index 3e2feba5699..0e40276903a 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp @@ -23,16 +23,14 @@ EndScriptData */ #include "precompiled.h" +#define SAY_AGGRO -1469000 +#define SAY_LEASH -1469001 + #define SPELL_CLEAVE 26350 #define SPELL_BLASTWAVE 23331 #define SPELL_MORTALSTRIKE 24573 #define SPELL_KNOCKBACK 25778 -#define SAY_AGGRO "None of your kind should be here! You've doomed only yourselves!" -#define SAY_LEASH "Clever Mortals but I am not so easily lured away from my sanctum!" -#define SOUND_AGGRO 8286 -#define SOUND_LEASH 8287 - struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI { boss_broodlordAI(Creature *c) : ScriptedAI(c) {Reset();} @@ -57,8 +55,7 @@ struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); DoZoneInCombat(); } @@ -75,6 +72,7 @@ struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI float spawndist = m_creature->GetDistance(rx,ry,rz); if ( spawndist > 250 ) { + DoScriptText(SAY_LEASH, m_creature); EnterEvadeMode(); return; } @@ -106,7 +104,7 @@ struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI { DoCast(m_creature->getVictim(),SPELL_KNOCKBACK); //Drop 50% aggro - if(m_creature->getThreatManager().getThreat(m_creature->getVictim())) + if (m_creature->getThreatManager().getThreat(m_creature->getVictim())) m_creature->getThreatManager().modifyThreatPercent(m_creature->getVictim(),-50); KnockBack_Timer = 15000 + rand()%15000; diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp index 33a91413ade..ea683bd1a13 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp @@ -23,6 +23,9 @@ EndScriptData */ #include "precompiled.h" +#define EMOTE_FRENZY -1469002 +#define EMOTE_SHIMMER -1469003 + //These spells are actually called elemental shield //What they do is decrease all damage by 75% then they increase //One school of damage by 1100% @@ -32,30 +35,24 @@ EndScriptData */ #define SPELL_NATURE_VURNALBILTY 22280 #define SPELL_ARCANE_VURNALBILTY 22281 -#define EMOTE_FRENZY "goes into a killing frenzy!" -#define EMOTE_SHIMMER "flinches as its skin shimmers" - -#define SPELL_INCINERATE 23308 //Incinerate 23308,23309 -#define SPELL_TIMELAPSE 23310 //Time lapse 23310, 23311(old threat mod that was removed in 2.01) -#define SPELL_CORROSIVEACID 23313 //Corrosive Acid 23313, 23314 -#define SPELL_IGNITEFLESH 23315 //Ignite Flesh 23315,23316 -#define SPELL_FROSTBURN 23187 //Frost burn 23187, 23189 +#define SPELL_INCINERATE 23308 //Incinerate 23308,23309 +#define SPELL_TIMELAPSE 23310 //Time lapse 23310, 23311(old threat mod that was removed in 2.01) +#define SPELL_CORROSIVEACID 23313 //Corrosive Acid 23313, 23314 +#define SPELL_IGNITEFLESH 23315 //Ignite Flesh 23315,23316 +#define SPELL_FROSTBURN 23187 //Frost burn 23187, 23189 //Brood Affliction 23173 - Scripted Spell that cycles through all targets within 100 yards and has a chance to cast one of the afflictions on them //Since Scripted spells arn't coded I'll just write a function that does the same thing +#define SPELL_BROODAF_BLUE 23153 //Blue affliction 23153 +#define SPELL_BROODAF_BLACK 23154 //Black affliction 23154 +#define SPELL_BROODAF_RED 23155 //Red affliction 23155 (23168 on death) +#define SPELL_BROODAF_BRONZE 23170 //Bronze Affliction 23170 +#define SPELL_BROODAF_GREEN 23169 //Brood Affliction Green 23169 -#define SPELL_BROODAF_BLUE 23153 //Blue affliction 23153 -#define SPELL_BROODAF_BLACK 23154 //Black affliction 23154 -#define SPELL_BROODAF_RED 23155 //Red affliction 23155 (23168 on death) -#define SPELL_BROODAF_BRONZE 23170 //Bronze Affliction 23170 -#define SPELL_BROODAF_GREEN 23169 //Brood Affliction Green 23169 - -#define SPELL_CHROMATIC_MUT_1 23174 //Spell cast on player if they get all 5 debuffs - -#define SPELL_FRENZY 28371 //The frenzy spell may be wrong -#define SPELL_ENRAGE 28747 +#define SPELL_CHROMATIC_MUT_1 23174 //Spell cast on player if they get all 5 debuffs -#define TEMP_MUTATE_WHISPER "[SD2 Debug] You would be mind controlled here!" +#define SPELL_FRENZY 28371 //The frenzy spell may be wrong +#define SPELL_ENRAGE 28747 struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI { @@ -216,7 +213,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI DoCast(m_creature,spell); CurrentVurln_Spell = spell; - DoTextEmote(EMOTE_SHIMMER, NULL); + DoScriptText(EMOTE_SHIMMER, m_creature); Shimmer_Timer = 45000; }else Shimmer_Timer -= diff; @@ -255,7 +252,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI Unit* pUnit = NULL; pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); - if(pUnit) + if (pUnit) { //Cast affliction DoCast(pUnit, SpellAfflict, true); @@ -276,10 +273,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI //WORKAROUND if (pUnit->GetTypeId() == TYPEID_PLAYER) - { - DoWhisper(TEMP_MUTATE_WHISPER, pUnit); pUnit->CastSpell(pUnit, 5, false); - } } } } @@ -291,7 +285,7 @@ struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI if (Frenzy_Timer < diff) { DoCast(m_creature,SPELL_FRENZY); - DoTextEmote(EMOTE_FRENZY,NULL); + DoScriptText(EMOTE_FRENZY, m_creature); Frenzy_Timer = 10000 + (rand() % 5000); }else Frenzy_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp index dffd01f171e..b819fde0bd5 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp @@ -16,30 +16,29 @@ /* ScriptData SDName: Boss_Nefarian -SD%Complete: 100 +SD%Complete: 80 SDComment: Some issues with class calls effecting more than one class SDCategory: Blackwing Lair EndScriptData */ #include "precompiled.h" -#define SAY_AGGRO "Well done, my minions. The mortals' courage begins to wane! Now, let's see how they contend with the true Lord of Blackrock Spire!" -#define SAY_DEATH "This cannot be! I am the Master here! You mortals are nothing to my kind! DO YOU HEAR? NOTHING!" -#define SAY_RAISE_SKELETONS "Impossible! Rise my minions! Serve your master once more!" -#define SAY_SHADOWFLAME "Burn, you wretches! Burn!" -#define SAY_SLAY "Worthless $N! Your friends will join you soon enough!" -#define SAY_XHEALTH "Enough! Now you vermin shall feel the force of my birthright, the fury of the earth itself." -#define SAY_GAMESBEGIN "Let the games begin!" -#define SAY_START "<unknown>" - -#define SOUND_AGGRO 8288 -#define SOUND_DEATH 8292 -#define SOUND_RAISE_SKELETONS 8291 -#define SOUND_SHADOWFLAME 8290 -#define SOUND_SLAY 8293 -#define SOUND_XHEALTH 8289 -#define SOUND_GAMESBEGIN 8279 -#define SOUND_START 8280 +#define SAY_AGGRO -1469007 +#define SAY_XHEALTH -1469008 +#define SAY_SHADOWFLAME -1469009 +#define SAY_RAISE_SKELETONS -1469010 +#define SAY_SLAY -1469011 +#define SAY_DEATH -1469012 + +#define SAY_MAGE -1469013 +#define SAY_WARRIOR -1469014 +#define SAY_DRUID -1469015 +#define SAY_PRIEST -1469016 +#define SAY_PALADIN -1469017 +#define SAY_SHAMAN -1469018 +#define SAY_WARLOCK -1469019 +#define SAY_HUNTER -1469020 +#define SAY_ROGUE -1469021 #define SPELL_SHADOWFLAME_INITIAL 22972 #define SPELL_SHADOWFLAME 22539 @@ -59,16 +58,6 @@ EndScriptData */ #define SPELL_HUNTER 23436 //bow broke #define SPELL_ROGUE 23414 //Paralise -#define SAY_MAGE "Mages too? You should be more careful when you play with magic..." -#define SAY_WARRIOR "Warriors, I know you can hit harder than that! Let's see it!" -#define SAY_DRUID "Druids and your silly shapeshifting. Let's see it in action!" -#define SAY_PRIEST "Priests! If you're going to keep healing like that, we might as well make it a little more interesting!" -#define SAY_PALADIN "Paladins, I've heard you have many lives. Show me." -#define SAY_SHAMAN "Shamans, show me what your totems can do!" -#define SAY_WARLOCK "Warlocks, you shouldn't be playing with magic you don't understand. See what happens?" -#define SAY_HUNTER "Hunters and your annoying pea-shooters!" -#define SAY_ROGUE "Rogues? Stop hiding and face me!" - struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI { boss_nefarianAI(Creature *c) : ScriptedAI(c) {Reset();} @@ -100,32 +89,21 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI if (rand()%5) return; - DoYell(SAY_SLAY,LANG_UNIVERSAL,Victim); - DoPlaySoundToSet(m_creature, SOUND_SLAY); + DoScriptText(SAY_SLAY, m_creature, Victim); } void JustDied(Unit* Killer) { - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_DEATH); + DoScriptText(SAY_DEATH, m_creature); } void Aggro(Unit *who) { switch (rand()%3) { - case 0: - DoYell(SAY_XHEALTH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_XHEALTH); - break; - case 1: - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_AGGRO); - break; - case 2: - DoYell(SAY_SHADOWFLAME,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_SHADOWFLAME); - break; + case 0: DoScriptText(SAY_XHEALTH, m_creature); break; + case 1: DoScriptText(SAY_AGGRO, m_creature); break; + case 2: DoScriptText(SAY_SHADOWFLAME, m_creature); break; } DoCast(who,SPELL_SHADOWFLAME_INITIAL); @@ -184,39 +162,39 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI switch (rand()%9) { case 0: - DoYell(SAY_MAGE,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_MAGE, m_creature); DoCast(m_creature,SPELL_MAGE); break; case 1: - DoYell(SAY_WARRIOR,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_WARRIOR, m_creature); DoCast(m_creature,SPELL_WARRIOR); break; case 2: - DoYell(SAY_DRUID,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_DRUID, m_creature); DoCast(m_creature,SPELL_DRUID); break; case 3: - DoYell(SAY_PRIEST,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_PRIEST, m_creature); DoCast(m_creature,SPELL_PRIEST); break; case 4: - DoYell(SAY_PALADIN,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_PALADIN, m_creature); DoCast(m_creature,SPELL_PALADIN); break; case 5: - DoYell(SAY_SHAMAN,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_SHAMAN, m_creature); DoCast(m_creature,SPELL_SHAMAN); break; case 6: - DoYell(SAY_WARLOCK,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_WARLOCK, m_creature); DoCast(m_creature,SPELL_WARLOCK); break; case 7: - DoYell(SAY_HUNTER,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_HUNTER, m_creature); DoCast(m_creature,SPELL_HUNTER); break; case 8: - DoYell(SAY_ROGUE,LANG_UNIVERSAL,NULL); + DoScriptText(SAY_ROGUE, m_creature); DoCast(m_creature,SPELL_ROGUE); break; } @@ -228,8 +206,7 @@ struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI if (!Phase3 && (m_creature->GetHealth()*100 / m_creature->GetMaxHealth()) < 20) { Phase3 = true; - DoYell(SAY_RAISE_SKELETONS,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_RAISE_SKELETONS); + DoScriptText(SAY_RAISE_SKELETONS, m_creature); } DoMeleeAttackIfReady(); diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp index 305910aefa6..bf76a08897f 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp @@ -17,7 +17,7 @@ /* ScriptData SDName: Boss_Razorgore SD%Complete: 50 -SDComment: Needs additional review. Phase 1 NYI +SDComment: Needs additional review. Phase 1 NYI (Grethok the Controller) SDCategory: Blackwing Lair EndScriptData */ @@ -25,10 +25,10 @@ EndScriptData */ //Razorgore Phase 2 Script -#define SAY_NPC_DEATH "If I fall into the abyss I'll take all of you mortals with me..." -#define SOUND_NPC_DEATH 8278 -#define SAY_EGGS_BREAK3 "No! Not another one! I'll have your heads for this atrocity." -#define SOUND_EGGS_BREAK3 8277 +#define SAY_EGGS_BROKEN1 -1469022 +#define SAY_EGGS_BROKEN2 -1469023 +#define SAY_EGGS_BROKEN3 -1469024 +#define SAY_DEATH -1469025 #define SPELL_CLEAVE 22540 #define SPELL_WARSTOMP 24375 @@ -60,6 +60,11 @@ struct TRINITY_DLL_DECL boss_razorgoreAI : public ScriptedAI DoZoneInCombat(); } + void JustDied(Unit* Killer) + { + DoScriptText(SAY_DEATH, m_creature); + } + void UpdateAI(const uint32 diff) { if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp index c00b3c2f9a2..05e4b39af7d 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp @@ -23,6 +23,14 @@ EndScriptData */ #include "precompiled.h" +#define SAY_LINE1 -1469026 +#define SAY_LINE2 -1469027 +#define SAY_LINE3 -1469028 +#define SAY_HALFLIFE -1469029 +#define SAY_KILLTARGET -1469030 + +#define GOSSIP_ITEM "Start Event <Needs Gossip Text>" + #define SPELL_ESSENCEOFTHERED 23513 #define SPELL_FLAMEBREATH 23461 #define SPELL_FIRENOVA 23462 @@ -30,23 +38,6 @@ EndScriptData */ #define SPELL_BURNINGADRENALINE 23620 #define SPELL_CLEAVE 20684 //Chain cleave is most likely named something different and contains a dummy effect -#define SAY_LINE1 "Too late...friends. Nefarius' corruption has taken hold. I cannot...control myself. " -#define SOUND_LINE1 8281 - -#define SAY_LINE2 "I beg you Mortals, flee! Flee before I lose all control. The Black Fire rages within my heart. I must release it!" -#define SOUND_LINE2 8282 - -#define SAY_LINE3 "FLAME! DEATH! DESTRUCTION! COWER MORTALS BEFORE THE WRATH OF LORD....NO! I MUST FIGHT THIS!" -#define SOUND_LINE3 8283 - -#define SAY_HALFLIFE "Nefarius' hate has made me stronger than ever before. You should have fled, while you could, mortals! The fury of Blackrock courses through my veins! " -#define SOUND_HALFLIFE 8285 - -#define SAY_KILLTARGET "Forgive me $N, your death only adds to my failure." -#define SOUND_KILLTARGET 8284 - -#define GOSSIP_ITEM "Start Event <Needs Gossip Text>" - struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI { boss_vaelAI(Creature *c) : ScriptedAI(c) @@ -93,8 +84,8 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI PlayerGUID = target->GetGUID(); //10 seconds - DoYell(SAY_LINE1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_LINE1); + DoScriptText(SAY_LINE1, m_creature); + SpeachTimer = 10000; SpeachNum = 0; DoingSpeach = true; @@ -105,8 +96,7 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI if (rand()%5) return; - DoYell(SAY_KILLTARGET,LANG_UNIVERSAL,victim); - DoPlaySoundToSet(m_creature,SOUND_KILLTARGET); + DoScriptText(SAY_KILLTARGET, m_creature, victim); } void Aggro(Unit *who) @@ -126,15 +116,13 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI { case 0: //16 seconds till next line - DoYell(SAY_LINE2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_LINE2); + DoScriptText(SAY_LINE2, m_creature); SpeachTimer = 16000; SpeachNum++; break; case 1: //This one is actually 16 seconds but we only go to 10 seconds because he starts attacking after he says "I must fight this!" - DoYell(SAY_LINE3,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_LINE3); + DoScriptText(SAY_LINE3, m_creature); SpeachTimer = 10000; SpeachNum++; break; @@ -160,9 +148,7 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI // Yell if hp lower than 15% if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 15 && !HasYelled) { - //Say our dialog - DoYell(SAY_HALFLIFE,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_HALFLIFE); + DoScriptText(SAY_HALFLIFE, m_creature); HasYelled = true; } @@ -205,7 +191,6 @@ struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI { // have the victim cast the spell on himself otherwise the third effect aura will be applied // to Vael instead of the player - m_creature->getVictim()->CastSpell(m_creature->getVictim(),SPELL_BURNINGADRENALINE,1); BurningAdrenalineTank_Timer = 45000; diff --git a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp index 0063f070e24..c9e92c7b75f 100644 --- a/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp +++ b/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp @@ -23,12 +23,9 @@ EndScriptData */ #include "precompiled.h" -#define SAY_GAMESBEGIN_1 "In this world where time is your enemy, it is my greatest ally. This grand game of life that you think you play in fact plays you. To that I say..." -#define SAY_GAMESBEGIN_2 "Let the games begin!" -#define SAY_VAEL_INTRO "<unknown>" - -#define SOUND_GAMESBEGIN 8280 -#define SOUND_VAEL_INTRO 8279 +#define SAY_GAMESBEGIN_1 -1469004 +#define SAY_GAMESBEGIN_2 -1469005 +#define SAY_VAEL_INTRO -1469006 //when he corrupts Vaelastrasz #define GOSSIP_ITEM_1 "I've made no mistakes." #define GOSSIP_ITEM_2 "You have lost your mind, Nefarius. You speak in riddles." @@ -41,7 +38,6 @@ EndScriptData */ #define CREATURE_BLACK_DRAKANOID 14265 #define CREATURE_CHROMATIC_DRAKANOID 14302 - #define CREATURE_NEFARIAN 11583 #define ADD_X1 -7591.151855 @@ -191,8 +187,7 @@ struct TRINITY_DLL_DECL boss_victor_nefariusAI : public ScriptedAI void BeginEvent(Player* target) { - DoYell(SAY_GAMESBEGIN_2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature,SOUND_GAMESBEGIN); + DoScriptText(SAY_GAMESBEGIN_2, m_creature); //Trinity::Singleton<MapManager>::Instance().GetMap(m_creature->GetMapId(), m_creature)->GetPlayers().begin(); /* @@ -326,7 +321,7 @@ struct TRINITY_DLL_DECL boss_victor_nefariusAI : public ScriptedAI Nefarian->setFaction(103); NefarianGUID = Nefarian->GetGUID(); } - else DoYell("UNABLE TO SPAWN NEF PROPERLY",LANG_UNIVERSAL,NULL); + else error_log("SD2: Blackwing Lair: Unable to spawn nefarian properly."); } AddSpawnTimer = 4000; @@ -379,7 +374,7 @@ bool GossipSelect_boss_victor_nefarius(Player *player, Creature *_Creature, uint break; case GOSSIP_ACTION_INFO_DEF+3: player->CLOSE_GOSSIP_MENU(); - _Creature->MonsterSay(SAY_GAMESBEGIN_1,LANG_UNIVERSAL,0); + DoScriptText(SAY_GAMESBEGIN_1, _Creature); ((boss_victor_nefariusAI*)_Creature->AI())->BeginEvent(player); break; } diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp index 91f05eadc3c..f6dd7a167ff 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp @@ -16,30 +16,25 @@ /* ScriptData SDName: Boss_Aeonus -SD%Complete: 100 -SDComment: +SD%Complete: 80 +SDComment: Some spells not implemented SDCategory: Caverns of Time, The Dark Portal EndScriptData */ #include "precompiled.h" -#define SAND_BREATH 31478 -#define TIME_STOP 31422 -#define FRENZY 19812 +#define SAY_ENTER -1269012 +#define SAY_AGGRO -1269013 +#define SAY_BANISH -1269014 +#define SAY_SLAY1 -1269015 +#define SAY_SLAY2 -1269016 +#define SAY_DEATH -1269017 -#define SAY_ENTER "The time has come to shatter this clockwork universe forever! Let us no longer be slaves of the hourglass! I warn you: those who do not embrace the greater path shall become victims of its passing!" -#define SAY_AGGRO "Let us see what fate lays in store..." -#define SAY_BANISH "Your time is up, slave of the past!" -#define SAY_SLAY1 "One less obstacle in our way!" -#define SAY_SLAY2 "No one can stop us! No one!" -#define SAY_DEATH "It is only a matter...of time." - -#define SOUND_ENTER 10400 -#define SOUND_AGGRO 10402 -#define SOUND_BANISH 10401 -#define SOUND_SLAY1 10403 -#define SOUND_SLAY2 10404 -#define SOUND_DEATH 10405 +#define SPELL_CLEAVE 40504 +#define SPELL_TIME_STOP 31422 +#define SPELL_ENRAGE 37605 +#define SPELL_SAND_BREATH 31473 +#define H_SPELL_SAND_BREATH 39049 struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI { @@ -58,30 +53,20 @@ struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); } void JustDied(Unit *victim) { - //Just Died - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_DEATH); + DoScriptText(SAY_DEATH, m_creature); } void KilledUnit(Unit *victim) { - //Killed Unit switch(rand()%2) { - case 0: - DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY1); - break; - case 1: - DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY2); - break; + case 0: DoScriptText(SAY_SLAY1, m_creature); break; + case 1: DoScriptText(SAY_SLAY2, m_creature); break; } } @@ -97,24 +82,23 @@ struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI Unit* target = NULL; target = m_creature->getVictim(); if (target) - DoCast(target, SAND_BREATH); + DoCast(target, SPELL_SAND_BREATH); SandBreath_Timer = 30000; }else SandBreath_Timer -= diff; //Time Stop if (TimeStop_Timer < diff) { - DoYell(SAY_BANISH, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_BANISH); + DoScriptText(SAY_BANISH, m_creature); - DoCast(m_creature->getVictim(), TIME_STOP); + DoCast(m_creature->getVictim(), SPELL_TIME_STOP); TimeStop_Timer = 40000; }else TimeStop_Timer -= diff; //Frenzy if (Frenzy_Timer < diff) { - DoCast(m_creature, FRENZY); + DoCast(m_creature, SPELL_ENRAGE); Frenzy_Timer = 120000; }else Frenzy_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp index 497f916c9c5..b6d00be0889 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp @@ -16,30 +16,26 @@ /* ScriptData SDName: Boss_Chrono_Lord_Deja -SD%Complete: 100 -SDComment: +SD%Complete: 65 +SDComment: All abilities not implemented SDCategory: Caverns of Time, The Dark Portal EndScriptData */ #include "precompiled.h" -#define ARCANE_BLAST 24857 -#define TIME_LAPSE 31467 -#define MAGNETIC_PULL 28337 //Not Implemented (Heroic mod) +#define SAY_ENTER -1269006 +#define SAY_AGGRO -1269007 +#define SAY_BANISH -1269008 +#define SAY_SLAY1 -1269009 +#define SAY_SLAY2 -1269010 +#define SAY_DEATH -1269011 -#define SAY_ENTER "Why do you aid the Magus? Just think of how many lives could be saved if the portal is never opened, if the resulting wars could be erased ..." -#define SAY_AGGRO "If you will not cease this foolish quest, then you will die!" -#define SAY_BANISH "You have outstayed your welcome, Timekeeper. Begone!" -#define SAY_SLAY1 "I told you it was a fool's quest!" -#define SAY_SLAY2 "Leaving so soon?" -#define SAY_DEATH "Time ... is on our side." - -#define SOUND_ENTER 10412 -#define SOUND_AGGRO 10414 -#define SOUND_BANISH 10413 -#define SOUND_SLAY1 10415 -#define SOUND_SLAY2 10416 -#define SOUND_DEATH 10417 +#define SPELL_ARCANE_BLAST 31457 +#define H_SPELL_ARCANE_BLAST 38538 +#define SPELL_ARCANE_DISCHARGE 31472 +#define H_SPELL_ARCANE_DISCHARGE 38539 +#define SPELL_TIME_LAPSE 31467 +#define SPELL_ATTRACTION 38540 //Not Implemented (Heroic mode) struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI { @@ -56,30 +52,21 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO); - + DoScriptText(SAY_AGGRO, m_creature); } void KilledUnit(Unit *victim) { switch(rand()%2) { - case 0: - DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY1); - break; - case 1: - DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY2); - break; + case 0: DoScriptText(SAY_SLAY1, m_creature); break; + case 1: DoScriptText(SAY_SLAY2, m_creature); break; } } void JustDied(Unit *victim) { - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_DEATH); + DoScriptText(SAY_DEATH, m_creature); } void UpdateAI(const uint32 diff) @@ -91,21 +78,19 @@ struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI //Arcane Blast if (ArcaneBlast_Timer < diff) { - DoCast(m_creature->getVictim(), ARCANE_BLAST); + DoCast(m_creature->getVictim(), SPELL_ARCANE_BLAST); ArcaneBlast_Timer = 20000+rand()%5000; }else ArcaneBlast_Timer -= diff; //Time Lapse if (TimeLapse_Timer < diff) { - DoYell(SAY_BANISH, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_BANISH); - DoCast(m_creature, TIME_LAPSE); + DoScriptText(SAY_BANISH, m_creature); + DoCast(m_creature, SPELL_TIME_LAPSE); TimeLapse_Timer = 15000+rand()%10000; }else TimeLapse_Timer -= diff; DoMeleeAttackIfReady(); - } }; diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp index d051c06d188..2d66eed17ec 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp @@ -16,31 +16,25 @@ /* ScriptData SDName: Boss_Temporus -SD%Complete: 100 -SDComment: +SD%Complete: 75 +SDComment: More abilities need to be implemented SDCategory: Caverns of Time, The Dark Portal EndScriptData */ #include "precompiled.h" -#define SPELL_TAUNT 355 -#define SPELL_HASTE 31458 -#define SPELL_MORTAL_WOUND 28467 -#define SPELL_REFLECT 23920 //Not Implemented (Heroic mod) - -#define SAY_ENTER "Why do you persist? Surely you can see the futility of it all. It is not too late! You may still leave with your lives ..." -#define SAY_AGGRO "So be it ... you have been warned." -#define SAY_BANISH "Time... sands of time is run out for you." -#define SAY_SLAY1 "You should have left when you had the chance." -#define SAY_SLAY2 "Your days are done." -#define SAY_DEATH "My death means ... little." - -#define SOUND_ENTER 10442 -#define SOUND_AGGRO 10444 -#define SOUND_BANISH 10443 -#define SOUND_SLAY1 10445 -#define SOUND_SLAY2 10446 -#define SOUND_DEATH 10447 +#define SAY_ENTER -1269000 +#define SAY_AGGRO -1269001 +#define SAY_BANISH -1269002 +#define SAY_SLAY1 -1269003 +#define SAY_SLAY2 -1269004 +#define SAY_DEATH -1269005 + +#define SPELL_HASTE 31458 +#define SPELL_MORTAL_WOUND 31464 +#define SPELL_WING_BUFFET 31475 +#define H_SPELL_WING_BUFFET 38593 +#define SPELL_REFLECT 38592 //Not Implemented (Heroic mod) struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI { @@ -51,35 +45,30 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI void Reset() { + m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); + m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); + Haste_Timer = 20000; SpellReflection_Timer = 40000; } void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); } void KilledUnit(Unit *victim) { switch(rand()%2) { - case 0: - DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY1); - break; - case 1: - DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY2); - break; + case 0: DoScriptText(SAY_SLAY1, m_creature); break; + case 1: DoScriptText(SAY_SLAY2, m_creature); break; } } void JustDied(Unit *victim) { - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_DEATH); + DoScriptText(SAY_DEATH, m_creature); } void MoveInLineOfSight(Unit *who) @@ -93,8 +82,7 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI if(((Creature*)who)->GetEntry() == 17918 && m_creature->IsWithinDistInMap(who,20)) { //This is the wrong yell & sound for despawning time keepers! - DoYell(SAY_ENTER, LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_ENTER); + DoScriptText(SAY_ENTER, m_creature); m_creature->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); } @@ -117,33 +105,26 @@ struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI void UpdateAI(const uint32 diff) { //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) return; - //Check if we have a current target - if( m_creature->getVictim() && m_creature->isAlive()) + //Attack Haste + if (Haste_Timer < diff) { + DoCast(m_creature, SPELL_HASTE); + Haste_Timer = 20000+rand()%5000; + }else Haste_Timer -= diff; - //Attack Haste - if (Haste_Timer < diff) - { - DoCast(m_creature, SPELL_HASTE); - Haste_Timer = 20000+rand()%5000; - }else Haste_Timer -= diff; - - //Spell Reflection - if (SpellReflection_Timer < diff) - { - DoYell(SAY_BANISH, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_BANISH); - - DoCast(m_creature, SPELL_REFLECT); - SpellReflection_Timer = 40000+rand()%10000; - }else SpellReflection_Timer -= diff; + //Spell Reflection + if (SpellReflection_Timer < diff) + { + DoScriptText(SAY_BANISH, m_creature); - DoMeleeAttackIfReady(); + DoCast(m_creature, SPELL_REFLECT); + SpellReflection_Timer = 40000+rand()%10000; + }else SpellReflection_Timer -= diff; - } + DoMeleeAttackIfReady(); } }; diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp index 1d4d4397241..19aff777b23 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp @@ -24,26 +24,19 @@ EndScriptData */ #include "precompiled.h" #include "def_old_hillsbrad.h" -#define HOLY_LIGHT 29562 -#define CLEANSE 39078 -#define HAMMER_OF_JUSTICE 13005 -#define HOLY_SHIELD 31904 -#define DEVOTION_AURA 41452 -#define CONSECRATION 41541 - -#define SAY_ENTER "Thrall! You didn't really think you would escape did you? You and your allies shall answer to Blackmoore - after I've had my fun!" -#define SAY_AGGRO1 "You're a slave. That's all you'll ever be.'" -#define SAY_AGGRO2 "I don't know what Blackmoore sees in you. For my money, you're just another ignorant savage!" -#define SAY_SLAY1 "Thrall will never be free!" -#define SAY_SLAY2 "Did you really think you would leave here alive?" -#define SAY_DEATH "Guards! Urgh..Guards..!'" - -#define SOUND_ENTER 10406 -#define SOUND_AGGRO1 10407 -#define SOUND_AGGRO2 10408 -#define SOUND_SLAY1 10409 -#define SOUND_SLAY2 10410 -#define SOUND_DEATH 10411 +#define SAY_ENTER -1560000 +#define SAY_TAUNT1 -1560001 +#define SAY_TAUNT2 -1560002 +#define SAY_SLAY1 -1560003 +#define SAY_SLAY2 -1560004 +#define SAY_DEATH -1560005 + +#define SPELL_HOLY_LIGHT 29427 +#define SPELL_CLEANSE 29380 +#define SPELL_HAMMER_OF_JUSTICE 13005 +#define SPELL_HOLY_SHIELD 31904 +#define SPELL_DEVOTION_AURA 8258 +#define SPELL_CONSECRATION 38385 struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI { @@ -68,45 +61,31 @@ struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI Cleanse_Timer = 10000; HammerOfJustice_Timer = 60000; HolyShield_Timer = 240000; - DevotionAura_Timer = 60000; + DevotionAura_Timer = 3000; Consecration_Timer = 8000; } void Aggro(Unit *who) { - switch(rand()%2) - { - case 0: - DoYell(SAY_AGGRO1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO1); - break; - case 1: - DoYell(SAY_AGGRO2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO2); - break; - } + //This is not correct. Should taunt Thrall before engage in combat + DoScriptText(SAY_TAUNT1, m_creature); + DoScriptText(SAY_TAUNT2, m_creature); } void KilledUnit(Unit *victim) { switch(rand()%2) { - case 0: - DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY1); - break; - case 1: - DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY2); - break; + case 0: DoScriptText(SAY_SLAY1, m_creature); break; + case 1: DoScriptText(SAY_SLAY2, m_creature); break; } } void JustDied(Unit *victim) { - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_DEATH); - if( pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS ) + DoScriptText(SAY_DEATH, m_creature); + + if (pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS) pInstance->SetData(TYPE_THRALL_PART1, DONE); } @@ -119,42 +98,42 @@ struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI //Holy_Light if (Holy_Light_Timer < diff) { - DoCast(m_creature, HOLY_LIGHT); + DoCast(m_creature, SPELL_HOLY_LIGHT); Holy_Light_Timer = 30000; }else Holy_Light_Timer -= diff; //Cleanse if(Cleanse_Timer < diff) { - DoCast(m_creature, CLEANSE); - Cleanse_Timer = 10000 ; + DoCast(m_creature, SPELL_CLEANSE); + Cleanse_Timer = 10000; } else Cleanse_Timer -= diff; //Hammer of Justice if (HammerOfJustice_Timer < diff) { - DoCast(m_creature->getVictim(), HAMMER_OF_JUSTICE); + DoCast(m_creature->getVictim(), SPELL_HAMMER_OF_JUSTICE); HammerOfJustice_Timer = 60000; }else HammerOfJustice_Timer -= diff; //Holy Shield if (HolyShield_Timer < diff) { - DoCast(m_creature,HOLY_SHIELD); + DoCast(m_creature, SPELL_HOLY_SHIELD); HolyShield_Timer = 240000; }else HolyShield_Timer -= diff; //Devotion_Aura if (DevotionAura_Timer < diff) { - DoCast(m_creature,DEVOTION_AURA); + DoCast(m_creature, SPELL_DEVOTION_AURA); DevotionAura_Timer = 60000; }else DevotionAura_Timer -= diff; //Consecration if (Consecration_Timer < diff) { - //DoCast(m_creature->getVictim(),CONSECRATION); + //DoCast(m_creature->getVictim(), SPELL_CONSECRATION); Consecration_Timer = 8000; }else Consecration_Timer -= diff; diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp index ca3d26268fe..734ea93ffbe 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp @@ -24,30 +24,16 @@ EndScriptData */ #include "precompiled.h" #include "def_old_hillsbrad.h" -#define SAY_ENTER1 "Thrall! Come outside and face your fate!" -#define SOUND_ENTER1 10418 -#define SAY_ENTER2 "Taretha's life hangs in the balance. Surely you care for her. Surely you wish to save her..." -#define SOUND_ENTER2 10419 -#define SAY_ENTER3 "Ah, there you are. I had hoped to accomplish this with a bit of subtlety, but I suppose direct confrontation was inevitable. Your future, Thrall, must not come to pass and so...you and your troublesome friends must die!" -#define SOUND_ENTER3 10420 - -#define SAY_AGGRO1 "Enough! I will erase your very existence!" -#define SOUND_AGGRO1 10421 -#define SAY_AGGRO2 "You cannot fight fate!" -#define SOUND_AGGRO2 10422 - -#define SAY_SLAY1 "You are...irrelevant." -#define SOUND_SLAY1 10425 -#define SAY_SLAY2 "Thrall will remain a slave. Taretha will die. You have failed." -#define SOUND_SLAY2 10426 - -#define SAY_BREATH1 "Not so fast!" -#define SOUND_BREATH1 10423 -#define SAY_BREATH2 "Struggle as much as you like!" -#define SOUND_BREATH2 10424 - -#define SAY_DEATH "No!...The master... will not... be pleased." -#define SOUND_DEATH 10427 +#define SAY_ENTER1 -1560013 +#define SAY_ENTER2 -1560014 +#define SAY_ENTER3 -1560015 +#define SAY_AGGRO1 -1560016 +#define SAY_AGGRO2 -1560017 +#define SAY_SLAY1 -1560018 +#define SAY_SLAY2 -1560019 +#define SAY_BREATH1 -1560020 +#define SAY_BREATH2 -1560021 +#define SAY_DEATH -1560022 #define SPELL_SAND_BREATH 31914 #define SPELL_IMPENDING_DEATH 31916 @@ -81,14 +67,8 @@ struct TRINITY_DLL_DECL boss_epoch_hunterAI : public ScriptedAI { switch(rand()%2) { - case 0: - DoYell(SAY_AGGRO1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO1); - break; - case 1: - DoYell(SAY_AGGRO2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO2); - break; + case 0: DoScriptText(SAY_AGGRO1, m_creature); break; + case 1: DoScriptText(SAY_AGGRO2, m_creature); break; } } @@ -96,23 +76,16 @@ struct TRINITY_DLL_DECL boss_epoch_hunterAI : public ScriptedAI { switch(rand()%2) { - case 0: - DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY1); - break; - case 1: - DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY2); - break; + case 0: DoScriptText(SAY_SLAY1, m_creature); break; + case 1: DoScriptText(SAY_SLAY2, m_creature); break; } } void JustDied(Unit *victim) { - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_DEATH); + DoScriptText(SAY_DEATH, m_creature); - if( pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS ) + if (pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS) pInstance->SetData(TYPE_THRALL_PART4, DONE); } @@ -123,42 +96,36 @@ struct TRINITY_DLL_DECL boss_epoch_hunterAI : public ScriptedAI return; //Sand Breath - if( SandBreath_Timer < diff ) + if (SandBreath_Timer < diff) { - if( m_creature->IsNonMeleeSpellCasted(false) ) + if (m_creature->IsNonMeleeSpellCasted(false)) m_creature->InterruptNonMeleeSpells(false); DoCast(m_creature->getVictim(),SPELL_SAND_BREATH); switch(rand()%2) { - case 0: - DoYell(SAY_BREATH1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_BREATH1); - break; - case 1: - DoYell(SAY_BREATH2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_BREATH2); - break; + case 0: DoScriptText(SAY_BREATH1, m_creature); break; + case 1: DoScriptText(SAY_BREATH2, m_creature); break; } SandBreath_Timer = 25000+rand()%5000; }else SandBreath_Timer -= diff; - if( ImpendingDeath_Timer < diff ) + if (ImpendingDeath_Timer < diff) { DoCast(m_creature->getVictim(),SPELL_IMPENDING_DEATH); ImpendingDeath_Timer = 30000+rand()%5000; }else ImpendingDeath_Timer -= diff; - if( WingBuffet_Timer < diff ) + if (WingBuffet_Timer < diff) { - if( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0) ) + if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) DoCast(target,SPELL_WING_BUFFET); WingBuffet_Timer = 25000+rand()%10000; }else WingBuffet_Timer -= diff; - if( Mda_Timer < diff ) + if (Mda_Timer < diff) { DoCast(m_creature,SPELL_MAGIC_DISRUPTION_AURA); Mda_Timer = 15000; diff --git a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp index b3f3a76a8b9..2790d66ef57 100644 --- a/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp +++ b/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp @@ -56,28 +56,18 @@ bool GOHello_go_barrel_old_hillsbrad(Player *player, GameObject* _GO) ## boss_lieutenant_drake ######*/ -#define WHIRLWIND 40236 -#define FEAR 33789 -#define MORTAL_STRIKE 40220 -#define EXPLODIG_SHOUT 33792 - -#define SAY_ENTER1 "You there, fetch water quickly!" -#define SAY_ENTER2 "Get these flames out before they spread to the rest of the keep!" -#define SAY_ENTER3 "Hurry, damn you!" -#define SAY_AGGRO "I know what you're up to, and I mean to put an end to it, permanently!" -#define SAY_SLAY1 "No more middling for you." -#define SAY_SLAY2 "You will not interfere!" -#define SAY_MORTAL "Time to bleed!" -#define SAY_SHOUT "Run, you blasted cowards!" -#define SAY_DEATH "Thrall... must not... go free." - -#define SOUND_ENTER 10428 -#define SOUND_AGGRO 10429 -#define SOUND_SLAY1 10432 -#define SOUND_SLAY2 10433 -#define SOUND_MORTAL 10430 -#define SOUND_SHOUT 10431 -#define SOUND_DEATH 10434 +#define SAY_ENTER -1560006 +#define SAY_AGGRO -1560007 +#define SAY_SLAY1 -1560008 +#define SAY_SLAY2 -1560009 +#define SAY_MORTAL -1560010 +#define SAY_SHOUT -1560011 +#define SAY_DEATH -1560012 + +#define SPELL_WHIRLWIND 31909 +#define SPELL_HAMSTRING 9080 +#define SPELL_MORTAL_STRIKE 31911 +#define SPELL_FRIGHTENING_SHOUT 33789 struct Location { @@ -135,92 +125,59 @@ struct TRINITY_DLL_DECL boss_lieutenant_drakeAI : public ScriptedAI void Aggro(Unit *who) { - DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_AGGRO); + DoScriptText(SAY_AGGRO, m_creature); } void KilledUnit(Unit *victim) { switch(rand()%2) { - case 0: - DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY1); - break; - case 1: - DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_SLAY2); - break; + case 0: DoScriptText(SAY_SLAY1, m_creature); break; + case 1: DoScriptText(SAY_SLAY2, m_creature); break; } } void JustDied(Unit *victim) { - DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); - DoPlaySoundToSet(m_creature, SOUND_DEATH); + DoScriptText(SAY_DEATH, m_creature); } void UpdateAI(const uint32 diff) { //TODO: make this work - if( CanPatrol && wpId == 0 ) + if (CanPatrol && wpId == 0) { m_creature->GetMotionMaster()->MovePoint(DrakeWP[0].wpId, DrakeWP[0].x, DrakeWP[0].y, DrakeWP[0].z); wpId++; } //Return since we have no target - if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) + if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) return; //Whirlwind if (Whirlwind_Timer < diff) { - DoCast(m_creature->getVictim(), WHIRLWIND); - + DoCast(m_creature->getVictim(), SPELL_WHIRLWIND); Whirlwind_Timer = 20000+rand()%5000; }else Whirlwind_Timer -= diff; //Fear if (Fear_Timer < diff) { - Unit* target = NULL; - target = SelectUnit(SELECT_TARGET_RANDOM, 0); - if (target) - DoCast(target, FEAR); - + DoScriptText(SAY_SHOUT, m_creature); + DoCast(m_creature->getVictim(), SPELL_FRIGHTENING_SHOUT); Fear_Timer = 30000+rand()%10000; }else Fear_Timer -= diff; //Mortal Strike if (MortalStrike_Timer < diff) { - DoYell(SAY_MORTAL, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_MORTAL); - - DoCast(m_creature->getVictim(), MORTAL_STRIKE); - + DoScriptText(SAY_MORTAL, m_creature); + DoCast(m_creature->getVictim(), SPELL_MORTAL_STRIKE); MortalStrike_Timer = 45000+rand()%5000; }else MortalStrike_Timer -= diff; - /* - //This only enabled on heroic? - //Exploding Shout - if (m_creature->IsHeroicCreature()) - { - if (ExplodingShout_Timer < diff) - { - Unit* target = NULL; - target = SelectUnit(SELECT_TARGET_RANDOM,0); - if (target) - DoYell(SAY_SHOUT, LANG_UNIVERSAL, NULL); - DoPlaySoundToSet(m_creature, SOUND_SHOUT); - DoCast(target,EXPLODING_SHOUT); - ExplodingShout_Timer = 25000+rand()%5000; - }else ExplodingShout_Timer -= diff; - } - */ - DoMeleeAttackIfReady(); } }; |