Changeset 125
- Timestamp:
- 11/19/08 13:38:28 (17 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 2 removed
- 12 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_broodlord_lashlayer.cpp
r90 r125 24 24 #include "precompiled.h" 25 25 26 #define SAY_AGGRO -1469000 27 #define SAY_LEASH -1469001 28 26 29 #define SPELL_CLEAVE 26350 27 30 #define SPELL_BLASTWAVE 23331 28 31 #define SPELL_MORTALSTRIKE 24573 29 32 #define SPELL_KNOCKBACK 25778 30 31 #define SAY_AGGRO "None of your kind should be here! You've doomed only yourselves!"32 #define SAY_LEASH "Clever Mortals but I am not so easily lured away from my sanctum!"33 #define SOUND_AGGRO 828634 #define SOUND_LEASH 828735 33 36 34 struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI … … 58 56 void Aggro(Unit *who) 59 57 { 60 DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL); 61 DoPlaySoundToSet(m_creature, SOUND_AGGRO); 58 DoScriptText(SAY_AGGRO, m_creature); 62 59 DoZoneInCombat(); 63 60 } … … 76 73 if ( spawndist > 250 ) 77 74 { 75 DoScriptText(SAY_LEASH, m_creature); 78 76 EnterEvadeMode(); 79 77 return; … … 107 105 DoCast(m_creature->getVictim(),SPELL_KNOCKBACK); 108 106 //Drop 50% aggro 109 if (m_creature->getThreatManager().getThreat(m_creature->getVictim()))107 if (m_creature->getThreatManager().getThreat(m_creature->getVictim())) 110 108 m_creature->getThreatManager().modifyThreatPercent(m_creature->getVictim(),-50); 111 109 -
trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp
r90 r125 24 24 #include "precompiled.h" 25 25 26 #define EMOTE_FRENZY -1469002 27 #define EMOTE_SHIMMER -1469003 28 26 29 //These spells are actually called elemental shield 27 30 //What they do is decrease all damage by 75% then they increase … … 33 36 #define SPELL_ARCANE_VURNALBILTY 22281 34 37 35 #define EMOTE_FRENZY "goes into a killing frenzy!" 36 #define EMOTE_SHIMMER "flinches as its skin shimmers" 37 38 #define SPELL_INCINERATE 23308 //Incinerate 23308,23309 39 #define SPELL_TIMELAPSE 23310 //Time lapse 23310, 23311(old threat mod that was removed in 2.01) 40 #define SPELL_CORROSIVEACID 23313 //Corrosive Acid 23313, 23314 41 #define SPELL_IGNITEFLESH 23315 //Ignite Flesh 23315,23316 42 #define SPELL_FROSTBURN 23187 //Frost burn 23187, 23189 38 #define SPELL_INCINERATE 23308 //Incinerate 23308,23309 39 #define SPELL_TIMELAPSE 23310 //Time lapse 23310, 23311(old threat mod that was removed in 2.01) 40 #define SPELL_CORROSIVEACID 23313 //Corrosive Acid 23313, 23314 41 #define SPELL_IGNITEFLESH 23315 //Ignite Flesh 23315,23316 42 #define SPELL_FROSTBURN 23187 //Frost burn 23187, 23189 43 43 44 44 //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 45 45 //Since Scripted spells arn't coded I'll just write a function that does the same thing 46 47 #define SPELL_BROODAF_BLUE 23153 //Blue affliction 23153 48 #define SPELL_BROODAF_BLACK 23154 //Black affliction 23154 49 #define SPELL_BROODAF_RED 23155 //Red affliction 23155 (23168 on death) 50 #define SPELL_BROODAF_BRONZE 23170 //Bronze Affliction 23170 51 #define SPELL_BROODAF_GREEN 23169 //Brood Affliction Green 23169 52 53 #define SPELL_CHROMATIC_MUT_1 23174 //Spell cast on player if they get all 5 debuffs 54 55 #define SPELL_FRENZY 28371 //The frenzy spell may be wrong 56 #define SPELL_ENRAGE 28747 57 58 #define TEMP_MUTATE_WHISPER "[SD2 Debug] You would be mind controlled here!" 46 #define SPELL_BROODAF_BLUE 23153 //Blue affliction 23153 47 #define SPELL_BROODAF_BLACK 23154 //Black affliction 23154 48 #define SPELL_BROODAF_RED 23155 //Red affliction 23155 (23168 on death) 49 #define SPELL_BROODAF_BRONZE 23170 //Bronze Affliction 23170 50 #define SPELL_BROODAF_GREEN 23169 //Brood Affliction Green 23169 51 52 #define SPELL_CHROMATIC_MUT_1 23174 //Spell cast on player if they get all 5 debuffs 53 54 #define SPELL_FRENZY 28371 //The frenzy spell may be wrong 55 #define SPELL_ENRAGE 28747 59 56 60 57 struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI … … 217 214 CurrentVurln_Spell = spell; 218 215 219 Do TextEmote(EMOTE_SHIMMER, NULL);216 DoScriptText(EMOTE_SHIMMER, m_creature); 220 217 Shimmer_Timer = 45000; 221 218 }else Shimmer_Timer -= diff; … … 256 253 pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); 257 254 258 if (pUnit)255 if (pUnit) 259 256 { 260 257 //Cast affliction … … 277 274 //WORKAROUND 278 275 if (pUnit->GetTypeId() == TYPEID_PLAYER) 279 {280 DoWhisper(TEMP_MUTATE_WHISPER, pUnit);281 276 pUnit->CastSpell(pUnit, 5, false); 282 }283 277 } 284 278 } … … 292 286 { 293 287 DoCast(m_creature,SPELL_FRENZY); 294 Do TextEmote(EMOTE_FRENZY,NULL);288 DoScriptText(EMOTE_FRENZY, m_creature); 295 289 Frenzy_Timer = 10000 + (rand() % 5000); 296 290 }else Frenzy_Timer -= diff; -
trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp
r90 r125 17 17 /* ScriptData 18 18 SDName: Boss_Nefarian 19 SD%Complete: 10019 SD%Complete: 80 20 20 SDComment: Some issues with class calls effecting more than one class 21 21 SDCategory: Blackwing Lair … … 24 24 #include "precompiled.h" 25 25 26 #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!" 27 #define SAY_DEATH "This cannot be! I am the Master here! You mortals are nothing to my kind! DO YOU HEAR? NOTHING!" 28 #define SAY_RAISE_SKELETONS "Impossible! Rise my minions! Serve your master once more!" 29 #define SAY_SHADOWFLAME "Burn, you wretches! Burn!" 30 #define SAY_SLAY "Worthless $N! Your friends will join you soon enough!" 31 #define SAY_XHEALTH "Enough! Now you vermin shall feel the force of my birthright, the fury of the earth itself." 32 #define SAY_GAMESBEGIN "Let the games begin!" 33 #define SAY_START "<unknown>" 34 35 #define SOUND_AGGRO 8288 36 #define SOUND_DEATH 8292 37 #define SOUND_RAISE_SKELETONS 8291 38 #define SOUND_SHADOWFLAME 8290 39 #define SOUND_SLAY 8293 40 #define SOUND_XHEALTH 8289 41 #define SOUND_GAMESBEGIN 8279 42 #define SOUND_START 8280 26 #define SAY_AGGRO -1469007 27 #define SAY_XHEALTH -1469008 28 #define SAY_SHADOWFLAME -1469009 29 #define SAY_RAISE_SKELETONS -1469010 30 #define SAY_SLAY -1469011 31 #define SAY_DEATH -1469012 32 33 #define SAY_MAGE -1469013 34 #define SAY_WARRIOR -1469014 35 #define SAY_DRUID -1469015 36 #define SAY_PRIEST -1469016 37 #define SAY_PALADIN -1469017 38 #define SAY_SHAMAN -1469018 39 #define SAY_WARLOCK -1469019 40 #define SAY_HUNTER -1469020 41 #define SAY_ROGUE -1469021 43 42 44 43 #define SPELL_SHADOWFLAME_INITIAL 22972 … … 60 59 #define SPELL_ROGUE 23414 //Paralise 61 60 62 #define SAY_MAGE "Mages too? You should be more careful when you play with magic..."63 #define SAY_WARRIOR "Warriors, I know you can hit harder than that! Let's see it!"64 #define SAY_DRUID "Druids and your silly shapeshifting. Let's see it in action!"65 #define SAY_PRIEST "Priests! If you're going to keep healing like that, we might as well make it a little more interesting!"66 #define SAY_PALADIN "Paladins, I've heard you have many lives. Show me."67 #define SAY_SHAMAN "Shamans, show me what your totems can do!"68 #define SAY_WARLOCK "Warlocks, you shouldn't be playing with magic you don't understand. See what happens?"69 #define SAY_HUNTER "Hunters and your annoying pea-shooters!"70 #define SAY_ROGUE "Rogues? Stop hiding and face me!"71 72 61 struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI 73 62 { … … 101 90 return; 102 91 103 DoYell(SAY_SLAY,LANG_UNIVERSAL,Victim); 104 DoPlaySoundToSet(m_creature, SOUND_SLAY); 92 DoScriptText(SAY_SLAY, m_creature, Victim); 105 93 } 106 94 107 95 void JustDied(Unit* Killer) 108 96 { 109 DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 110 DoPlaySoundToSet(m_creature, SOUND_DEATH); 97 DoScriptText(SAY_DEATH, m_creature); 111 98 } 112 99 … … 115 102 switch (rand()%3) 116 103 { 117 case 0: 118 DoYell(SAY_XHEALTH,LANG_UNIVERSAL,NULL); 119 DoPlaySoundToSet(m_creature,SOUND_XHEALTH); 120 break; 121 case 1: 122 DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); 123 DoPlaySoundToSet(m_creature,SOUND_AGGRO); 124 break; 125 case 2: 126 DoYell(SAY_SHADOWFLAME,LANG_UNIVERSAL,NULL); 127 DoPlaySoundToSet(m_creature,SOUND_SHADOWFLAME); 128 break; 104 case 0: DoScriptText(SAY_XHEALTH, m_creature); break; 105 case 1: DoScriptText(SAY_AGGRO, m_creature); break; 106 case 2: DoScriptText(SAY_SHADOWFLAME, m_creature); break; 129 107 } 130 108 … … 185 163 { 186 164 case 0: 187 Do Yell(SAY_MAGE,LANG_UNIVERSAL,NULL);165 DoScriptText(SAY_MAGE, m_creature); 188 166 DoCast(m_creature,SPELL_MAGE); 189 167 break; 190 168 case 1: 191 Do Yell(SAY_WARRIOR,LANG_UNIVERSAL,NULL);169 DoScriptText(SAY_WARRIOR, m_creature); 192 170 DoCast(m_creature,SPELL_WARRIOR); 193 171 break; 194 172 case 2: 195 Do Yell(SAY_DRUID,LANG_UNIVERSAL,NULL);173 DoScriptText(SAY_DRUID, m_creature); 196 174 DoCast(m_creature,SPELL_DRUID); 197 175 break; 198 176 case 3: 199 Do Yell(SAY_PRIEST,LANG_UNIVERSAL,NULL);177 DoScriptText(SAY_PRIEST, m_creature); 200 178 DoCast(m_creature,SPELL_PRIEST); 201 179 break; 202 180 case 4: 203 Do Yell(SAY_PALADIN,LANG_UNIVERSAL,NULL);181 DoScriptText(SAY_PALADIN, m_creature); 204 182 DoCast(m_creature,SPELL_PALADIN); 205 183 break; 206 184 case 5: 207 Do Yell(SAY_SHAMAN,LANG_UNIVERSAL,NULL);185 DoScriptText(SAY_SHAMAN, m_creature); 208 186 DoCast(m_creature,SPELL_SHAMAN); 209 187 break; 210 188 case 6: 211 Do Yell(SAY_WARLOCK,LANG_UNIVERSAL,NULL);189 DoScriptText(SAY_WARLOCK, m_creature); 212 190 DoCast(m_creature,SPELL_WARLOCK); 213 191 break; 214 192 case 7: 215 Do Yell(SAY_HUNTER,LANG_UNIVERSAL,NULL);193 DoScriptText(SAY_HUNTER, m_creature); 216 194 DoCast(m_creature,SPELL_HUNTER); 217 195 break; 218 196 case 8: 219 Do Yell(SAY_ROGUE,LANG_UNIVERSAL,NULL);197 DoScriptText(SAY_ROGUE, m_creature); 220 198 DoCast(m_creature,SPELL_ROGUE); 221 199 break; … … 229 207 { 230 208 Phase3 = true; 231 DoYell(SAY_RAISE_SKELETONS,LANG_UNIVERSAL,NULL); 232 DoPlaySoundToSet(m_creature,SOUND_RAISE_SKELETONS); 209 DoScriptText(SAY_RAISE_SKELETONS, m_creature); 233 210 } 234 211 -
trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp
r90 r125 18 18 SDName: Boss_Razorgore 19 19 SD%Complete: 50 20 SDComment: Needs additional review. Phase 1 NYI 20 SDComment: Needs additional review. Phase 1 NYI (Grethok the Controller) 21 21 SDCategory: Blackwing Lair 22 22 EndScriptData */ … … 26 26 //Razorgore Phase 2 Script 27 27 28 #define SAY_ NPC_DEATH "If I fall into the abyss I'll take all of you mortals with me..."29 #define S OUND_NPC_DEATH 827830 #define SAY_EGGS_BR EAK3 "No! Not another one! I'll have your heads for this atrocity."31 #define S OUND_EGGS_BREAK3 827728 #define SAY_EGGS_BROKEN1 -1469022 29 #define SAY_EGGS_BROKEN2 -1469023 30 #define SAY_EGGS_BROKEN3 -1469024 31 #define SAY_DEATH -1469025 32 32 33 33 #define SPELL_CLEAVE 22540 … … 59 59 { 60 60 DoZoneInCombat(); 61 } 62 63 void JustDied(Unit* Killer) 64 { 65 DoScriptText(SAY_DEATH, m_creature); 61 66 } 62 67 -
trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp
r109 r125 24 24 #include "precompiled.h" 25 25 26 #define SAY_LINE1 -1469026 27 #define SAY_LINE2 -1469027 28 #define SAY_LINE3 -1469028 29 #define SAY_HALFLIFE -1469029 30 #define SAY_KILLTARGET -1469030 31 32 #define GOSSIP_ITEM "Start Event <Needs Gossip Text>" 33 26 34 #define SPELL_ESSENCEOFTHERED 23513 27 35 #define SPELL_FLAMEBREATH 23461 … … 30 38 #define SPELL_BURNINGADRENALINE 23620 31 39 #define SPELL_CLEAVE 20684 //Chain cleave is most likely named something different and contains a dummy effect 32 33 #define SAY_LINE1 "Too late...friends. Nefarius' corruption has taken hold. I cannot...control myself. "34 #define SOUND_LINE1 828135 36 #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!"37 #define SOUND_LINE2 828238 39 #define SAY_LINE3 "FLAME! DEATH! DESTRUCTION! COWER MORTALS BEFORE THE WRATH OF LORD....NO! I MUST FIGHT THIS!"40 #define SOUND_LINE3 828341 42 #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! "43 #define SOUND_HALFLIFE 828544 45 #define SAY_KILLTARGET "Forgive me $N, your death only adds to my failure."46 #define SOUND_KILLTARGET 828447 48 #define GOSSIP_ITEM "Start Event <Needs Gossip Text>"49 40 50 41 struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI … … 94 85 95 86 //10 seconds 96 Do Yell(SAY_LINE1,LANG_UNIVERSAL,NULL);97 DoPlaySoundToSet(m_creature,SOUND_LINE1); 87 DoScriptText(SAY_LINE1, m_creature); 88 98 89 SpeachTimer = 10000; 99 90 SpeachNum = 0; … … 106 97 return; 107 98 108 DoYell(SAY_KILLTARGET,LANG_UNIVERSAL,victim); 109 DoPlaySoundToSet(m_creature,SOUND_KILLTARGET); 99 DoScriptText(SAY_KILLTARGET, m_creature, victim); 110 100 } 111 101 … … 127 117 case 0: 128 118 //16 seconds till next line 129 DoYell(SAY_LINE2,LANG_UNIVERSAL,NULL); 130 DoPlaySoundToSet(m_creature,SOUND_LINE2); 119 DoScriptText(SAY_LINE2, m_creature); 131 120 SpeachTimer = 16000; 132 121 SpeachNum++; … … 134 123 case 1: 135 124 //This one is actually 16 seconds but we only go to 10 seconds because he starts attacking after he says "I must fight this!" 136 DoYell(SAY_LINE3,LANG_UNIVERSAL,NULL); 137 DoPlaySoundToSet(m_creature,SOUND_LINE3); 125 DoScriptText(SAY_LINE3, m_creature); 138 126 SpeachTimer = 10000; 139 127 SpeachNum++; … … 161 149 if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 15 && !HasYelled) 162 150 { 163 //Say our dialog 164 DoYell(SAY_HALFLIFE,LANG_UNIVERSAL,NULL); 165 DoPlaySoundToSet(m_creature,SOUND_HALFLIFE); 151 DoScriptText(SAY_HALFLIFE, m_creature); 166 152 HasYelled = true; 167 153 } … … 206 192 // have the victim cast the spell on himself otherwise the third effect aura will be applied 207 193 // to Vael instead of the player 208 209 194 m_creature->getVictim()->CastSpell(m_creature->getVictim(),SPELL_BURNINGADRENALINE,1); 210 195 -
trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp
r90 r125 24 24 #include "precompiled.h" 25 25 26 #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..." 27 #define SAY_GAMESBEGIN_2 "Let the games begin!" 28 #define SAY_VAEL_INTRO "<unknown>" 29 30 #define SOUND_GAMESBEGIN 8280 31 #define SOUND_VAEL_INTRO 8279 26 #define SAY_GAMESBEGIN_1 -1469004 27 #define SAY_GAMESBEGIN_2 -1469005 28 #define SAY_VAEL_INTRO -1469006 //when he corrupts Vaelastrasz 32 29 33 30 #define GOSSIP_ITEM_1 "I've made no mistakes." … … 42 39 43 40 #define CREATURE_CHROMATIC_DRAKANOID 14302 44 45 41 #define CREATURE_NEFARIAN 11583 46 42 … … 192 188 void BeginEvent(Player* target) 193 189 { 194 DoYell(SAY_GAMESBEGIN_2,LANG_UNIVERSAL,NULL); 195 DoPlaySoundToSet(m_creature,SOUND_GAMESBEGIN); 190 DoScriptText(SAY_GAMESBEGIN_2, m_creature); 196 191 197 192 //Trinity::Singleton<MapManager>::Instance().GetMap(m_creature->GetMapId(), m_creature)->GetPlayers().begin(); … … 327 322 NefarianGUID = Nefarian->GetGUID(); 328 323 } 329 else DoYell("UNABLE TO SPAWN NEF PROPERLY",LANG_UNIVERSAL,NULL);324 else error_log("SD2: Blackwing Lair: Unable to spawn nefarian properly."); 330 325 } 331 326 … … 380 375 case GOSSIP_ACTION_INFO_DEF+3: 381 376 player->CLOSE_GOSSIP_MENU(); 382 _Creature->MonsterSay(SAY_GAMESBEGIN_1,LANG_UNIVERSAL,0);377 DoScriptText(SAY_GAMESBEGIN_1, _Creature); 383 378 ((boss_victor_nefariusAI*)_Creature->AI())->BeginEvent(player); 384 379 break; -
trunk/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp
r90 r125 17 17 /* ScriptData 18 18 SDName: Boss_Aeonus 19 SD%Complete: 10020 SDComment: 19 SD%Complete: 80 20 SDComment: Some spells not implemented 21 21 SDCategory: Caverns of Time, The Dark Portal 22 22 EndScriptData */ … … 24 24 #include "precompiled.h" 25 25 26 #define SAND_BREATH 31478 27 #define TIME_STOP 31422 28 #define FRENZY 19812 26 #define SAY_ENTER -1269012 27 #define SAY_AGGRO -1269013 28 #define SAY_BANISH -1269014 29 #define SAY_SLAY1 -1269015 30 #define SAY_SLAY2 -1269016 31 #define SAY_DEATH -1269017 29 32 30 #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!" 31 #define SAY_AGGRO "Let us see what fate lays in store..." 32 #define SAY_BANISH "Your time is up, slave of the past!" 33 #define SAY_SLAY1 "One less obstacle in our way!" 34 #define SAY_SLAY2 "No one can stop us! No one!" 35 #define SAY_DEATH "It is only a matter...of time." 36 37 #define SOUND_ENTER 10400 38 #define SOUND_AGGRO 10402 39 #define SOUND_BANISH 10401 40 #define SOUND_SLAY1 10403 41 #define SOUND_SLAY2 10404 42 #define SOUND_DEATH 10405 33 #define SPELL_CLEAVE 40504 34 #define SPELL_TIME_STOP 31422 35 #define SPELL_ENRAGE 37605 36 #define SPELL_SAND_BREATH 31473 37 #define H_SPELL_SAND_BREATH 39049 43 38 44 39 struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI … … 59 54 void Aggro(Unit *who) 60 55 { 61 DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); 62 DoPlaySoundToSet(m_creature, SOUND_AGGRO); 56 DoScriptText(SAY_AGGRO, m_creature); 63 57 } 64 58 65 59 void JustDied(Unit *victim) 66 60 { 67 //Just Died 68 DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 69 DoPlaySoundToSet(m_creature, SOUND_DEATH); 61 DoScriptText(SAY_DEATH, m_creature); 70 62 } 71 63 72 64 void KilledUnit(Unit *victim) 73 65 { 74 //Killed Unit75 66 switch(rand()%2) 76 67 { 77 case 0: 78 DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); 79 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 80 break; 81 case 1: 82 DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); 83 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 84 break; 68 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 69 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 85 70 } 86 71 } … … 98 83 target = m_creature->getVictim(); 99 84 if (target) 100 DoCast(target, S AND_BREATH);85 DoCast(target, SPELL_SAND_BREATH); 101 86 SandBreath_Timer = 30000; 102 87 }else SandBreath_Timer -= diff; … … 105 90 if (TimeStop_Timer < diff) 106 91 { 107 DoYell(SAY_BANISH, LANG_UNIVERSAL, NULL); 108 DoPlaySoundToSet(m_creature, SOUND_BANISH); 92 DoScriptText(SAY_BANISH, m_creature); 109 93 110 DoCast(m_creature->getVictim(), TIME_STOP);94 DoCast(m_creature->getVictim(), SPELL_TIME_STOP); 111 95 TimeStop_Timer = 40000; 112 96 }else TimeStop_Timer -= diff; … … 115 99 if (Frenzy_Timer < diff) 116 100 { 117 DoCast(m_creature, FRENZY);101 DoCast(m_creature, SPELL_ENRAGE); 118 102 Frenzy_Timer = 120000; 119 103 }else Frenzy_Timer -= diff; -
trunk/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp
r90 r125 17 17 /* ScriptData 18 18 SDName: Boss_Chrono_Lord_Deja 19 SD%Complete: 10020 SDComment: 19 SD%Complete: 65 20 SDComment: All abilities not implemented 21 21 SDCategory: Caverns of Time, The Dark Portal 22 22 EndScriptData */ … … 24 24 #include "precompiled.h" 25 25 26 #define ARCANE_BLAST 24857 27 #define TIME_LAPSE 31467 28 #define MAGNETIC_PULL 28337 //Not Implemented (Heroic mod) 26 #define SAY_ENTER -1269006 27 #define SAY_AGGRO -1269007 28 #define SAY_BANISH -1269008 29 #define SAY_SLAY1 -1269009 30 #define SAY_SLAY2 -1269010 31 #define SAY_DEATH -1269011 29 32 30 #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 ..." 31 #define SAY_AGGRO "If you will not cease this foolish quest, then you will die!" 32 #define SAY_BANISH "You have outstayed your welcome, Timekeeper. Begone!" 33 #define SAY_SLAY1 "I told you it was a fool's quest!" 34 #define SAY_SLAY2 "Leaving so soon?" 35 #define SAY_DEATH "Time ... is on our side." 36 37 #define SOUND_ENTER 10412 38 #define SOUND_AGGRO 10414 39 #define SOUND_BANISH 10413 40 #define SOUND_SLAY1 10415 41 #define SOUND_SLAY2 10416 42 #define SOUND_DEATH 10417 33 #define SPELL_ARCANE_BLAST 31457 34 #define H_SPELL_ARCANE_BLAST 38538 35 #define SPELL_ARCANE_DISCHARGE 31472 36 #define H_SPELL_ARCANE_DISCHARGE 38539 37 #define SPELL_TIME_LAPSE 31467 38 #define SPELL_ATTRACTION 38540 //Not Implemented (Heroic mode) 43 39 44 40 struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI … … 57 53 void Aggro(Unit *who) 58 54 { 59 DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL); 60 DoPlaySoundToSet(m_creature, SOUND_AGGRO); 61 55 DoScriptText(SAY_AGGRO, m_creature); 62 56 } 63 57 … … 66 60 switch(rand()%2) 67 61 { 68 case 0: 69 DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); 70 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 71 break; 72 case 1: 73 DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); 74 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 75 break; 62 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 63 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 76 64 } 77 65 } … … 79 67 void JustDied(Unit *victim) 80 68 { 81 DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 82 DoPlaySoundToSet(m_creature, SOUND_DEATH); 69 DoScriptText(SAY_DEATH, m_creature); 83 70 } 84 71 … … 92 79 if (ArcaneBlast_Timer < diff) 93 80 { 94 DoCast(m_creature->getVictim(), ARCANE_BLAST);81 DoCast(m_creature->getVictim(), SPELL_ARCANE_BLAST); 95 82 ArcaneBlast_Timer = 20000+rand()%5000; 96 83 }else ArcaneBlast_Timer -= diff; … … 99 86 if (TimeLapse_Timer < diff) 100 87 { 101 DoYell(SAY_BANISH, LANG_UNIVERSAL, NULL); 102 DoPlaySoundToSet(m_creature, SOUND_BANISH); 103 DoCast(m_creature, TIME_LAPSE); 88 DoScriptText(SAY_BANISH, m_creature); 89 DoCast(m_creature, SPELL_TIME_LAPSE); 104 90 TimeLapse_Timer = 15000+rand()%10000; 105 91 }else TimeLapse_Timer -= diff; 106 92 107 93 DoMeleeAttackIfReady(); 108 109 94 } 110 95 }; -
trunk/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp
r109 r125 17 17 /* ScriptData 18 18 SDName: Boss_Temporus 19 SD%Complete: 10020 SDComment: 19 SD%Complete: 75 20 SDComment: More abilities need to be implemented 21 21 SDCategory: Caverns of Time, The Dark Portal 22 22 EndScriptData */ … … 24 24 #include "precompiled.h" 25 25 26 #define SPELL_TAUNT 355 27 #define SPELL_HASTE 31458 28 #define SPELL_MORTAL_WOUND 28467 29 #define SPELL_REFLECT 23920 //Not Implemented (Heroic mod) 26 #define SAY_ENTER -1269000 27 #define SAY_AGGRO -1269001 28 #define SAY_BANISH -1269002 29 #define SAY_SLAY1 -1269003 30 #define SAY_SLAY2 -1269004 31 #define SAY_DEATH -1269005 30 32 31 #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 ..." 32 #define SAY_AGGRO "So be it ... you have been warned." 33 #define SAY_BANISH "Time... sands of time is run out for you." 34 #define SAY_SLAY1 "You should have left when you had the chance." 35 #define SAY_SLAY2 "Your days are done." 36 #define SAY_DEATH "My death means ... little." 37 38 #define SOUND_ENTER 10442 39 #define SOUND_AGGRO 10444 40 #define SOUND_BANISH 10443 41 #define SOUND_SLAY1 10445 42 #define SOUND_SLAY2 10446 43 #define SOUND_DEATH 10447 33 #define SPELL_HASTE 31458 34 #define SPELL_MORTAL_WOUND 31464 35 #define SPELL_WING_BUFFET 31475 36 #define H_SPELL_WING_BUFFET 38593 37 #define SPELL_REFLECT 38592 //Not Implemented (Heroic mod) 44 38 45 39 struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI … … 52 46 void Reset() 53 47 { 48 m_creature->ApplySpellImmune(0, IMMUNITY_STATE, SPELL_AURA_MOD_TAUNT, true); 49 m_creature->ApplySpellImmune(0, IMMUNITY_EFFECT,SPELL_EFFECT_ATTACK_ME, true); 50 54 51 Haste_Timer = 20000; 55 52 SpellReflection_Timer = 40000; … … 58 55 void Aggro(Unit *who) 59 56 { 60 DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); 61 DoPlaySoundToSet(m_creature, SOUND_AGGRO); 57 DoScriptText(SAY_AGGRO, m_creature); 62 58 } 63 59 … … 66 62 switch(rand()%2) 67 63 { 68 case 0: 69 DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); 70 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 71 break; 72 case 1: 73 DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); 74 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 75 break; 64 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 65 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 76 66 } 77 67 } … … 79 69 void JustDied(Unit *victim) 80 70 { 81 DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 82 DoPlaySoundToSet(m_creature, SOUND_DEATH); 71 DoScriptText(SAY_DEATH, m_creature); 83 72 } 84 73 … … 94 83 { 95 84 //This is the wrong yell & sound for despawning time keepers! 96 DoYell(SAY_ENTER, LANG_UNIVERSAL,NULL); 97 DoPlaySoundToSet(m_creature, SOUND_ENTER); 85 DoScriptText(SAY_ENTER, m_creature); 98 86 99 87 m_creature->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); … … 118 106 { 119 107 //Return since we have no target 120 if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() 108 if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) 121 109 return; 122 110 123 // Check if we have a current target124 if ( m_creature->getVictim() && m_creature->isAlive())111 //Attack Haste 112 if (Haste_Timer < diff) 125 113 { 114 DoCast(m_creature, SPELL_HASTE); 115 Haste_Timer = 20000+rand()%5000; 116 }else Haste_Timer -= diff; 126 117 127 //Attack Haste 128 if (Haste_Timer < diff) 129 { 130 DoCast(m_creature, SPELL_HASTE); 131 Haste_Timer = 20000+rand()%5000; 132 }else Haste_Timer -= diff; 118 //Spell Reflection 119 if (SpellReflection_Timer < diff) 120 { 121 DoScriptText(SAY_BANISH, m_creature); 133 122 134 //Spell Reflection 135 if (SpellReflection_Timer < diff) 136 { 137 DoYell(SAY_BANISH, LANG_UNIVERSAL, NULL); 138 DoPlaySoundToSet(m_creature, SOUND_BANISH); 123 DoCast(m_creature, SPELL_REFLECT); 124 SpellReflection_Timer = 40000+rand()%10000; 125 }else SpellReflection_Timer -= diff; 139 126 140 DoCast(m_creature, SPELL_REFLECT); 141 SpellReflection_Timer = 40000+rand()%10000; 142 }else SpellReflection_Timer -= diff; 143 144 DoMeleeAttackIfReady(); 145 146 } 127 DoMeleeAttackIfReady(); 147 128 } 148 129 }; -
trunk/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp
r90 r125 25 25 #include "def_old_hillsbrad.h" 26 26 27 #define HOLY_LIGHT 2956228 #define CLEANSE 3907829 #define HAMMER_OF_JUSTICE 1300530 #define HOLY_SHIELD 3190431 #define DEVOTION_AURA 4145232 #define CONSECRATION 4154127 #define SAY_ENTER -1560000 28 #define SAY_TAUNT1 -1560001 29 #define SAY_TAUNT2 -1560002 30 #define SAY_SLAY1 -1560003 31 #define SAY_SLAY2 -1560004 32 #define SAY_DEATH -1560005 33 33 34 #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!" 35 #define SAY_AGGRO1 "You're a slave. That's all you'll ever be.'" 36 #define SAY_AGGRO2 "I don't know what Blackmoore sees in you. For my money, you're just another ignorant savage!" 37 #define SAY_SLAY1 "Thrall will never be free!" 38 #define SAY_SLAY2 "Did you really think you would leave here alive?" 39 #define SAY_DEATH "Guards! Urgh..Guards..!'" 40 41 #define SOUND_ENTER 10406 42 #define SOUND_AGGRO1 10407 43 #define SOUND_AGGRO2 10408 44 #define SOUND_SLAY1 10409 45 #define SOUND_SLAY2 10410 46 #define SOUND_DEATH 10411 34 #define SPELL_HOLY_LIGHT 29427 35 #define SPELL_CLEANSE 29380 36 #define SPELL_HAMMER_OF_JUSTICE 13005 37 #define SPELL_HOLY_SHIELD 31904 38 #define SPELL_DEVOTION_AURA 8258 39 #define SPELL_CONSECRATION 38385 47 40 48 41 struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI … … 69 62 HammerOfJustice_Timer = 60000; 70 63 HolyShield_Timer = 240000; 71 DevotionAura_Timer = 60000;64 DevotionAura_Timer = 3000; 72 65 Consecration_Timer = 8000; 73 66 } … … 75 68 void Aggro(Unit *who) 76 69 { 77 switch(rand()%2) 78 { 79 case 0: 80 DoYell(SAY_AGGRO1,LANG_UNIVERSAL,NULL); 81 DoPlaySoundToSet(m_creature, SOUND_AGGRO1); 82 break; 83 case 1: 84 DoYell(SAY_AGGRO2,LANG_UNIVERSAL,NULL); 85 DoPlaySoundToSet(m_creature, SOUND_AGGRO2); 86 break; 87 } 70 //This is not correct. Should taunt Thrall before engage in combat 71 DoScriptText(SAY_TAUNT1, m_creature); 72 DoScriptText(SAY_TAUNT2, m_creature); 88 73 } 89 74 … … 92 77 switch(rand()%2) 93 78 { 94 case 0: 95 DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); 96 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 97 break; 98 case 1: 99 DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); 100 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 101 break; 79 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 80 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 102 81 } 103 82 } … … 105 84 void JustDied(Unit *victim) 106 85 { 107 Do Yell(SAY_DEATH,LANG_UNIVERSAL,NULL);108 DoPlaySoundToSet(m_creature, SOUND_DEATH); 109 if ( pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS)86 DoScriptText(SAY_DEATH, m_creature); 87 88 if (pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS) 110 89 pInstance->SetData(TYPE_THRALL_PART1, DONE); 111 90 } … … 120 99 if (Holy_Light_Timer < diff) 121 100 { 122 DoCast(m_creature, HOLY_LIGHT);101 DoCast(m_creature, SPELL_HOLY_LIGHT); 123 102 Holy_Light_Timer = 30000; 124 103 }else Holy_Light_Timer -= diff; … … 127 106 if(Cleanse_Timer < diff) 128 107 { 129 DoCast(m_creature, CLEANSE);130 Cleanse_Timer = 10000 108 DoCast(m_creature, SPELL_CLEANSE); 109 Cleanse_Timer = 10000; 131 110 } else Cleanse_Timer -= diff; 132 111 … … 134 113 if (HammerOfJustice_Timer < diff) 135 114 { 136 DoCast(m_creature->getVictim(), HAMMER_OF_JUSTICE);115 DoCast(m_creature->getVictim(), SPELL_HAMMER_OF_JUSTICE); 137 116 HammerOfJustice_Timer = 60000; 138 117 }else HammerOfJustice_Timer -= diff; … … 141 120 if (HolyShield_Timer < diff) 142 121 { 143 DoCast(m_creature, HOLY_SHIELD);122 DoCast(m_creature, SPELL_HOLY_SHIELD); 144 123 HolyShield_Timer = 240000; 145 124 }else HolyShield_Timer -= diff; … … 148 127 if (DevotionAura_Timer < diff) 149 128 { 150 DoCast(m_creature, DEVOTION_AURA);129 DoCast(m_creature, SPELL_DEVOTION_AURA); 151 130 DevotionAura_Timer = 60000; 152 131 }else DevotionAura_Timer -= diff; … … 155 134 if (Consecration_Timer < diff) 156 135 { 157 //DoCast(m_creature->getVictim(), CONSECRATION);136 //DoCast(m_creature->getVictim(), SPELL_CONSECRATION); 158 137 Consecration_Timer = 8000; 159 138 }else Consecration_Timer -= diff; -
trunk/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp
r90 r125 25 25 #include "def_old_hillsbrad.h" 26 26 27 #define SAY_ENTER1 "Thrall! Come outside and face your fate!" 28 #define SOUND_ENTER1 10418 29 #define SAY_ENTER2 "Taretha's life hangs in the balance. Surely you care for her. Surely you wish to save her..." 30 #define SOUND_ENTER2 10419 31 #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!" 32 #define SOUND_ENTER3 10420 33 34 #define SAY_AGGRO1 "Enough! I will erase your very existence!" 35 #define SOUND_AGGRO1 10421 36 #define SAY_AGGRO2 "You cannot fight fate!" 37 #define SOUND_AGGRO2 10422 38 39 #define SAY_SLAY1 "You are...irrelevant." 40 #define SOUND_SLAY1 10425 41 #define SAY_SLAY2 "Thrall will remain a slave. Taretha will die. You have failed." 42 #define SOUND_SLAY2 10426 43 44 #define SAY_BREATH1 "Not so fast!" 45 #define SOUND_BREATH1 10423 46 #define SAY_BREATH2 "Struggle as much as you like!" 47 #define SOUND_BREATH2 10424 48 49 #define SAY_DEATH "No!...The master... will not... be pleased." 50 #define SOUND_DEATH 10427 27 #define SAY_ENTER1 -1560013 28 #define SAY_ENTER2 -1560014 29 #define SAY_ENTER3 -1560015 30 #define SAY_AGGRO1 -1560016 31 #define SAY_AGGRO2 -1560017 32 #define SAY_SLAY1 -1560018 33 #define SAY_SLAY2 -1560019 34 #define SAY_BREATH1 -1560020 35 #define SAY_BREATH2 -1560021 36 #define SAY_DEATH -1560022 51 37 52 38 #define SPELL_SAND_BREATH 31914 … … 82 68 switch(rand()%2) 83 69 { 84 case 0: 85 DoYell(SAY_AGGRO1,LANG_UNIVERSAL,NULL); 86 DoPlaySoundToSet(m_creature, SOUND_AGGRO1); 87 break; 88 case 1: 89 DoYell(SAY_AGGRO2,LANG_UNIVERSAL,NULL); 90 DoPlaySoundToSet(m_creature, SOUND_AGGRO2); 91 break; 70 case 0: DoScriptText(SAY_AGGRO1, m_creature); break; 71 case 1: DoScriptText(SAY_AGGRO2, m_creature); break; 92 72 } 93 73 } … … 97 77 switch(rand()%2) 98 78 { 99 case 0: 100 DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); 101 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 102 break; 103 case 1: 104 DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); 105 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 106 break; 79 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 80 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 107 81 } 108 82 } … … 110 84 void JustDied(Unit *victim) 111 85 { 112 DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 113 DoPlaySoundToSet(m_creature, SOUND_DEATH); 86 DoScriptText(SAY_DEATH, m_creature); 114 87 115 if ( pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS)88 if (pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS) 116 89 pInstance->SetData(TYPE_THRALL_PART4, DONE); 117 90 } … … 124 97 125 98 //Sand Breath 126 if ( SandBreath_Timer < diff)99 if (SandBreath_Timer < diff) 127 100 { 128 if ( m_creature->IsNonMeleeSpellCasted(false))101 if (m_creature->IsNonMeleeSpellCasted(false)) 129 102 m_creature->InterruptNonMeleeSpells(false); 130 103 … … 133 106 switch(rand()%2) 134 107 { 135 case 0: 136 DoYell(SAY_BREATH1,LANG_UNIVERSAL,NULL); 137 DoPlaySoundToSet(m_creature, SOUND_BREATH1); 138 break; 139 case 1: 140 DoYell(SAY_BREATH2,LANG_UNIVERSAL,NULL); 141 DoPlaySoundToSet(m_creature, SOUND_BREATH2); 142 break; 108 case 0: DoScriptText(SAY_BREATH1, m_creature); break; 109 case 1: DoScriptText(SAY_BREATH2, m_creature); break; 143 110 } 144 111 … … 146 113 }else SandBreath_Timer -= diff; 147 114 148 if ( ImpendingDeath_Timer < diff)115 if (ImpendingDeath_Timer < diff) 149 116 { 150 117 DoCast(m_creature->getVictim(),SPELL_IMPENDING_DEATH); … … 152 119 }else ImpendingDeath_Timer -= diff; 153 120 154 if ( WingBuffet_Timer < diff)121 if (WingBuffet_Timer < diff) 155 122 { 156 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))123 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 157 124 DoCast(target,SPELL_WING_BUFFET); 158 125 WingBuffet_Timer = 25000+rand()%10000; 159 126 }else WingBuffet_Timer -= diff; 160 127 161 if ( Mda_Timer < diff)128 if (Mda_Timer < diff) 162 129 { 163 130 DoCast(m_creature,SPELL_MAGIC_DISRUPTION_AURA); -
trunk/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp
r90 r125 57 57 ######*/ 58 58 59 #define WHIRLWIND 40236 60 #define FEAR 33789 61 #define MORTAL_STRIKE 40220 62 #define EXPLODIG_SHOUT 33792 63 64 #define SAY_ENTER1 "You there, fetch water quickly!" 65 #define SAY_ENTER2 "Get these flames out before they spread to the rest of the keep!" 66 #define SAY_ENTER3 "Hurry, damn you!" 67 #define SAY_AGGRO "I know what you're up to, and I mean to put an end to it, permanently!" 68 #define SAY_SLAY1 "No more middling for you." 69 #define SAY_SLAY2 "You will not interfere!" 70 #define SAY_MORTAL "Time to bleed!" 71 #define SAY_SHOUT "Run, you blasted cowards!" 72 #define SAY_DEATH "Thrall... must not... go free." 73 74 #define SOUND_ENTER 10428 75 #define SOUND_AGGRO 10429 76 #define SOUND_SLAY1 10432 77 #define SOUND_SLAY2 10433 78 #define SOUND_MORTAL 10430 79 #define SOUND_SHOUT 10431 80 #define SOUND_DEATH 10434 59 #define SAY_ENTER -1560006 60 #define SAY_AGGRO -1560007 61 #define SAY_SLAY1 -1560008 62 #define SAY_SLAY2 -1560009 63 #define SAY_MORTAL -1560010 64 #define SAY_SHOUT -1560011 65 #define SAY_DEATH -1560012 66 67 #define SPELL_WHIRLWIND 31909 68 #define SPELL_HAMSTRING 9080 69 #define SPELL_MORTAL_STRIKE 31911 70 #define SPELL_FRIGHTENING_SHOUT 33789 81 71 82 72 struct Location … … 136 126 void Aggro(Unit *who) 137 127 { 138 DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); 139 DoPlaySoundToSet(m_creature, SOUND_AGGRO); 128 DoScriptText(SAY_AGGRO, m_creature); 140 129 } 141 130 … … 144 133 switch(rand()%2) 145 134 { 146 case 0: 147 DoYell(SAY_SLAY1,LANG_UNIVERSAL,NULL); 148 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 149 break; 150 case 1: 151 DoYell(SAY_SLAY2,LANG_UNIVERSAL,NULL); 152 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 153 break; 135 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 136 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 154 137 } 155 138 } … … 157 140 void JustDied(Unit *victim) 158 141 { 159 DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 160 DoPlaySoundToSet(m_creature, SOUND_DEATH); 142 DoScriptText(SAY_DEATH, m_creature); 161 143 } 162 144 … … 164 146 { 165 147 //TODO: make this work 166 if ( CanPatrol && wpId == 0)148 if (CanPatrol && wpId == 0) 167 149 { 168 150 m_creature->GetMotionMaster()->MovePoint(DrakeWP[0].wpId, DrakeWP[0].x, DrakeWP[0].y, DrakeWP[0].z); … … 171 153 172 154 //Return since we have no target 173 if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() 155 if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) 174 156 return; 175 157 … … 177 159 if (Whirlwind_Timer < diff) 178 160 { 179 DoCast(m_creature->getVictim(), WHIRLWIND); 180 161 DoCast(m_creature->getVictim(), SPELL_WHIRLWIND); 181 162 Whirlwind_Timer = 20000+rand()%5000; 182 163 }else Whirlwind_Timer -= diff; … … 185 166 if (Fear_Timer < diff) 186 167 { 187 Unit* target = NULL; 188 target = SelectUnit(SELECT_TARGET_RANDOM, 0); 189 if (target) 190 DoCast(target, FEAR); 191 168 DoScriptText(SAY_SHOUT, m_creature); 169 DoCast(m_creature->getVictim(), SPELL_FRIGHTENING_SHOUT); 192 170 Fear_Timer = 30000+rand()%10000; 193 171 }else Fear_Timer -= diff; … … 196 174 if (MortalStrike_Timer < diff) 197 175 { 198 DoYell(SAY_MORTAL, LANG_UNIVERSAL, NULL); 199 DoPlaySoundToSet(m_creature, SOUND_MORTAL); 200 201 DoCast(m_creature->getVictim(), MORTAL_STRIKE); 202 176 DoScriptText(SAY_MORTAL, m_creature); 177 DoCast(m_creature->getVictim(), SPELL_MORTAL_STRIKE); 203 178 MortalStrike_Timer = 45000+rand()%5000; 204 179 }else MortalStrike_Timer -= diff; 205 206 /*207 //This only enabled on heroic?208 //Exploding Shout209 if (m_creature->IsHeroicCreature())210 {211 if (ExplodingShout_Timer < diff)212 {213 Unit* target = NULL;214 target = SelectUnit(SELECT_TARGET_RANDOM,0);215 if (target)216 DoYell(SAY_SHOUT, LANG_UNIVERSAL, NULL);217 DoPlaySoundToSet(m_creature, SOUND_SHOUT);218 DoCast(target,EXPLODING_SHOUT);219 ExplodingShout_Timer = 25000+rand()%5000;220 }else ExplodingShout_Timer -= diff;221 }222 */223 180 224 181 DoMeleeAttackIfReady();