Changeset 115
- Timestamp:
- 11/19/08 13:37:39 (17 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 9 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bindings/scripts/scripts/zone/aunchindoun/auchenai_crypts/boss_exarch_maladaar.cpp
r109 r115 53 53 54 54 void Aggro(Unit *who) 55 55 { } 56 56 57 57 void SetMyClass(uint8 myclass) … … 65 65 return; 66 66 67 if ( Class_Timer < diff)68 { 69 switch ( myClass)67 if (Class_Timer < diff) 68 { 69 switch (myClass) 70 70 { 71 71 case CLASS_WARRIOR: … … 106 106 break; 107 107 } 108 } else Class_Timer -= diff;108 } else Class_Timer -= diff; 109 109 110 110 DoMeleeAttackIfReady(); … … 117 117 } 118 118 119 #define SAY_INTRO "You have defiled the resting place of our ancestors. For this offense, there can be but one punishment. It is fitting that you have come to a place of the dead... for you will soon be joining them." 120 #define SOUND_INTRO 10509 121 #define SAY_SUMMON "Rise my fallen brothers. Take form and fight!" 122 #define SOUND_SUMMON 10512 123 124 #define SAY_AGGRO_1 "You will pay with your life!" 125 #define SOUND_AGGRO_1 10513 126 #define SAY_AGGRO_2 "There's no turning back now!" 127 #define SOUND_AGGRO_2 10514 128 #define SAY_AGGRO_3 "Serve your penitence!" 129 #define SOUND_AGGRO_3 10515 130 131 #define SAY_ROAR "Let your mind be clouded." 132 #define SOUND_ROAR 10510 133 #define SAY_SOUL_CLEAVE "Stare into the darkness of your soul." 134 #define SOUND_SOUL_CLEAVE 10511 135 136 #define SAY_SLAY_1 "These walls will be your doom." 137 #define SOUND_SLAY_1 10516 138 #define SAY_SLAY_2 "<laugh> Now, you'll stay for eternity!" 139 #define SOUND_SLAY_2 10517 140 141 #define SAY_DEATH "This is... where.. I belong..." 142 #define SOUND_DEATH 10518 119 #define SAY_INTRO -1558000 120 #define SAY_SUMMON -1558001 121 122 #define SAY_AGGRO_1 -1558002 123 #define SAY_AGGRO_2 -1558003 124 #define SAY_AGGRO_3 -1558004 125 126 #define SAY_ROAR -1558005 127 #define SAY_SOUL_CLEAVE -1558006 128 129 #define SAY_SLAY_1 -1558007 130 #define SAY_SLAY_2 -1558008 131 132 #define SAY_DEATH -1558009 143 133 144 134 #define SPELL_RIBBON_OF_SOULS 32422 … … 183 173 void MoveInLineOfSight(Unit *who) 184 174 { 185 if ( !m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature))186 { 187 if ( !HasTaunted && m_creature->IsWithinDistInMap(who, 150.0))175 if (!m_creature->getVictim() && who->isTargetableForAttack() && ( m_creature->IsHostileTo( who )) && who->isInAccessablePlaceFor(m_creature)) 176 { 177 if (!HasTaunted && m_creature->IsWithinDistInMap(who, 150.0)) 188 178 { 189 DoYell(SAY_INTRO, LANG_UNIVERSAL, NULL); 190 DoPlaySoundToSet(m_creature,SOUND_INTRO); 179 DoScriptText(SAY_INTRO, m_creature); 191 180 HasTaunted = true; 192 181 } … … 196 185 197 186 float attackRadius = m_creature->GetAttackDistance(who); 198 if ( m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who))187 if (m_creature->IsWithinDistInMap(who, attackRadius) && m_creature->IsWithinLOSInMap(who)) 199 188 { 200 189 who->RemoveSpellsCausingAura(SPELL_AURA_MOD_STEALTH); … … 206 195 void Aggro(Unit *who) 207 196 { 208 switch(rand()%3) 209 { 210 case 0: 211 DoYell(SAY_AGGRO_1, LANG_UNIVERSAL, NULL); 212 DoPlaySoundToSet(m_creature,SOUND_AGGRO_1); 213 break; 214 case 1: 215 DoYell(SAY_AGGRO_2, LANG_UNIVERSAL, NULL); 216 DoPlaySoundToSet(m_creature,SOUND_AGGRO_2); 217 break; 218 case 2: 219 DoYell(SAY_AGGRO_3, LANG_UNIVERSAL, NULL); 220 DoPlaySoundToSet(m_creature,SOUND_AGGRO_3); 221 break; 197 switch (rand()%3) 198 { 199 case 0: DoScriptText(SAY_AGGRO_1, m_creature); break; 200 case 1: DoScriptText(SAY_AGGRO_2, m_creature); break; 201 case 2: DoScriptText(SAY_AGGRO_3, m_creature); break; 222 202 } 223 203 } … … 225 205 void JustSummoned(Creature *summoned) 226 206 { 227 if ( summoned->GetEntry() == ENTRY_STOLEN_SOUL)207 if (summoned->GetEntry() == ENTRY_STOLEN_SOUL) 228 208 { 229 209 //SPELL_STOLEN_SOUL_VISUAL has shapeshift effect, but not implemented feature in Trinity for this spell. … … 231 211 summoned->CastSpell(summoned,SPELL_STOLEN_SOUL_VISUAL,false); 232 212 233 if ( Unit *target = Unit::GetUnit(*m_creature,soulholder))213 if (Unit *target = Unit::GetUnit(*m_creature,soulholder)) 234 214 summoned->AI()->AttackStart(target); 235 215 … … 243 223 return; 244 224 245 switch(rand()%2) 246 { 247 case 0: 248 DoYell(SAY_SLAY_1, LANG_UNIVERSAL, NULL); 249 DoPlaySoundToSet(m_creature,SOUND_SLAY_1); 250 break; 251 case 1: 252 DoYell(SAY_SLAY_2, LANG_UNIVERSAL, NULL); 253 DoPlaySoundToSet(m_creature,SOUND_SLAY_2); 254 break; 225 switch (rand()%2) 226 { 227 case 0: DoScriptText(SAY_SLAY_1, m_creature); break; 228 case 1: DoScriptText(SAY_SLAY_2, m_creature); break; 255 229 } 256 230 } … … 258 232 void JustDied(Unit* Killer) 259 233 { 260 DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL); 261 DoPlaySoundToSet(m_creature,SOUND_DEATH); 262 234 DoScriptText(SAY_DEATH, m_creature); 263 235 //When Exarch Maladar is defeated D'ore appear. 264 236 DoSpawnCreature(19412,0,0,0,0, TEMPSUMMON_TIMED_DESPAWN, 600000); … … 270 242 return; 271 243 272 if ( !Avatar_summoned && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 25))273 { 274 if ( m_creature->IsNonMeleeSpellCasted(false))244 if (!Avatar_summoned && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 25)) 245 { 246 if (m_creature->IsNonMeleeSpellCasted(false)) 275 247 m_creature->InterruptNonMeleeSpells(true); 276 248 277 DoYell(SAY_SUMMON, LANG_UNIVERSAL, NULL); 278 DoPlaySoundToSet(m_creature,SOUND_SUMMON); 249 DoScriptText(SAY_SUMMON, m_creature); 279 250 280 251 DoCast(m_creature, SPELL_SUMMON_AVATAR); … … 283 254 } 284 255 285 if ( StolenSoul_Timer < diff)286 { 287 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))256 if (StolenSoul_Timer < diff) 257 { 258 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 288 259 { 289 if ( target->GetTypeId() == TYPEID_PLAYER)260 if (target->GetTypeId() == TYPEID_PLAYER) 290 261 { 291 if ( m_creature->IsNonMeleeSpellCasted(false))262 if (m_creature->IsNonMeleeSpellCasted(false)) 292 263 m_creature->InterruptNonMeleeSpells(true); 293 264 294 265 uint32 i = urand(1,2); 295 if( i == 1 ) 296 { 297 DoYell(SAY_ROAR, LANG_UNIVERSAL, NULL); 298 DoPlaySoundToSet(m_creature,SOUND_ROAR); 299 } 266 if (i == 1) 267 DoScriptText(SAY_ROAR, m_creature); 300 268 else 301 { 302 DoYell(SAY_SOUL_CLEAVE, LANG_UNIVERSAL, NULL); 303 DoPlaySoundToSet(m_creature,SOUND_SOUL_CLEAVE); 304 } 269 DoScriptText(SAY_SOUL_CLEAVE, m_creature); 305 270 306 271 soulmodel = target->GetDisplayId(); … … 316 281 }else StolenSoul_Timer -= diff; 317 282 318 if ( Ribbon_of_Souls_timer < diff)319 { 320 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))283 if (Ribbon_of_Souls_timer < diff) 284 { 285 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 321 286 DoCast(target,SPELL_RIBBON_OF_SOULS); 322 287 … … 324 289 }else Ribbon_of_Souls_timer -= diff; 325 290 326 if ( Fear_timer < diff)291 if (Fear_timer < diff) 327 292 { 328 293 DoCast(m_creature,SPELL_SOUL_SCREAM); … … 362 327 return; 363 328 364 if (Mortal_Strike_timer < diff)329 if (Mortal_Strike_timer < diff) 365 330 { 366 331 DoCast(m_creature->getVictim(), SPELL_MORTAL_STRIKE); 367 332 Mortal_Strike_timer = 10000 + rand()%20 * 1000; 368 } else Mortal_Strike_timer -= diff;333 } else Mortal_Strike_timer -= diff; 369 334 370 335 DoMeleeAttackIfReady(); -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_nexusprince_shaffar.cpp
r109 r115 29 29 #include "precompiled.h" 30 30 31 #define SAY_INTRO "What is this? You must forgive me, but I was not expecting company. As you can see, we are somewhat preoccupied right now. But no matter. As I am a gracious host, I will tend to you... personally." 32 #define SOUND_INTRO 10539 33 34 #define SAY_AGGRO_1 "We have not yet been properly introduced." 35 #define SOUND_AGGRO_1 10541 36 #define SAY_AGGRO_2 "An epic battle. How exciting!" 37 #define SOUND_AGGRO_2 10542 38 #define SAY_AGGRO_3 "I have longed for a good adventure." 39 #define SOUND_AGGRO_3 10543 40 41 #define SAY_SLAY_1 "It has been... entertaining." 42 #define SOUND_SLAY_1 10544 43 #define SAY_SLAY_2 "And now we part company." 44 #define SOUND_SLAY_2 10545 45 46 #define SAY_SUMMON "I have such fascinating things to show you." 47 #define SOUND_SUMMON 10540 48 49 #define SAY_DEAD "I must bid you... farewell." 50 #define SOUND_DEAD 10546 31 #define SAY_INTRO -1557000 32 33 #define SAY_AGGRO_1 -1557001 34 #define SAY_AGGRO_2 -1557002 35 #define SAY_AGGRO_3 -1557003 36 37 #define SAY_SLAY_1 -1557004 38 #define SAY_SLAY_2 -1557005 39 40 #define SAY_SUMMON -1557006 41 42 #define SAY_DEAD -1557007 51 43 52 44 #define SPELL_BLINK 34605 … … 91 83 if( !HasTaunted && m_creature->IsWithinDistInMap(who, 100.0) ) 92 84 { 93 DoYell(SAY_INTRO, LANG_UNIVERSAL, NULL); 94 DoPlaySoundToSet(m_creature,SOUND_INTRO); 85 DoScriptText(SAY_INTRO, m_creature); 95 86 HasTaunted = true; 96 87 } … … 112 103 switch(rand()%3) 113 104 { 114 case 0: 115 DoYell(SAY_AGGRO_1, LANG_UNIVERSAL, NULL); 116 DoPlaySoundToSet(m_creature,SOUND_AGGRO_1); 117 break; 118 case 1: 119 DoYell(SAY_AGGRO_2, LANG_UNIVERSAL, NULL); 120 DoPlaySoundToSet(m_creature,SOUND_AGGRO_2); 121 break; 122 case 2: 123 DoYell(SAY_AGGRO_3, LANG_UNIVERSAL, NULL); 124 DoPlaySoundToSet(m_creature,SOUND_AGGRO_3); 125 break; 105 case 0: DoScriptText(SAY_AGGRO_1, m_creature); break; 106 case 1: DoScriptText(SAY_AGGRO_2, m_creature); break; 107 case 2: DoScriptText(SAY_AGGRO_3, m_creature); break; 126 108 } 127 109 } … … 142 124 switch(rand()%2) 143 125 { 144 case 0: 145 DoYell(SAY_SLAY_1, LANG_UNIVERSAL, NULL); 146 DoPlaySoundToSet(m_creature,SOUND_SLAY_1); 147 break; 148 case 1: 149 DoYell(SAY_SLAY_2, LANG_UNIVERSAL, NULL); 150 DoPlaySoundToSet(m_creature,SOUND_SLAY_2); 151 break; 126 case 0: DoScriptText(SAY_SLAY_1, m_creature); break; 127 case 1: DoScriptText(SAY_SLAY_2, m_creature); break; 152 128 } 153 129 } … … 155 131 void JustDied(Unit* Killer) 156 132 { 157 DoYell(SAY_DEAD, LANG_UNIVERSAL, NULL); 158 DoPlaySoundToSet(m_creature,SOUND_DEAD); 133 DoScriptText(SAY_DEAD, m_creature); 159 134 } 160 135 … … 205 180 206 181 if( !urand(0,3) ) 207 { 208 DoYell(SAY_SUMMON, LANG_UNIVERSAL, NULL); 209 DoPlaySoundToSet(m_creature,SOUND_SUMMON); 210 } 182 DoScriptText(SAY_SUMMON, m_creature); 183 211 184 DoCast(m_creature,SPELL_ETHEREAL_BEACON); 212 185 -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/mana_tombs/boss_pandemonius.cpp
r90 r115 24 24 #include "precompiled.h" 25 25 26 #define SAY_AGGRO_1 "I will feed on your soul." 27 #define SOUND_AGGRO_1 10561 28 #define SAY_AGGRO_2 "So... full of life!" 29 #define SOUND_AGGRO_2 10562 30 #define SAY_AGGRO_3 "Do not... resist." 31 #define SOUND_AGGRO_3 10563 26 #define SAY_AGGRO_1 -1557008 27 #define SAY_AGGRO_2 -1557009 28 #define SAY_AGGRO_3 -1557010 32 29 33 #define SAY_KILL_1 "Yes! I am... empowered!" 34 #define SOUND_KILL_1 10564 35 #define SAY_KILL_2 "More... I must have more!" 36 #define SOUND_KILL_2 10565 30 #define SAY_KILL_1 -1557011 31 #define SAY_KILL_2 -1557012 37 32 38 #define SAY_DEATH "To the void... once... more.." 39 #define SOUND_DEATH 10566 33 #define SAY_DEATH -1557013 40 34 41 #define EMOTE_DARK_SHELL "shifts into the void..."35 #define EMOTE_DARK_SHELL -1557014 42 36 43 37 #define SPELL_VOID_BLAST 32325 … … 68 62 void JustDied(Unit* Killer) 69 63 { 70 DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL); 71 DoPlaySoundToSet(m_creature,SOUND_DEATH); 64 DoScriptText(SAY_DEATH, m_creature); 72 65 } 73 66 … … 76 69 switch(rand()%2) 77 70 { 78 case 0: 79 DoYell(SAY_KILL_1, LANG_UNIVERSAL, NULL); 80 DoPlaySoundToSet(m_creature,SOUND_KILL_1); 81 break; 82 case 1: 83 DoYell(SAY_KILL_2, LANG_UNIVERSAL, NULL); 84 DoPlaySoundToSet(m_creature,SOUND_KILL_2); 85 break; 71 case 0: DoScriptText(SAY_KILL_1, m_creature); break; 72 case 1: DoScriptText(SAY_KILL_2, m_creature); break; 86 73 } 87 74 } … … 91 78 switch(rand()%3) 92 79 { 93 case 0: 94 DoYell(SAY_AGGRO_1, LANG_UNIVERSAL, NULL); 95 DoPlaySoundToSet(m_creature,SOUND_AGGRO_1); 96 break; 97 case 1: 98 DoYell(SAY_AGGRO_2, LANG_UNIVERSAL, NULL); 99 DoPlaySoundToSet(m_creature,SOUND_AGGRO_2); 100 break; 101 case 2: 102 DoYell(SAY_AGGRO_3, LANG_UNIVERSAL, NULL); 103 DoPlaySoundToSet(m_creature,SOUND_AGGRO_3); 104 break; 80 case 0: DoScriptText(SAY_AGGRO_1, m_creature); break; 81 case 1: DoScriptText(SAY_AGGRO_2, m_creature); break; 82 case 2: DoScriptText(SAY_AGGRO_3, m_creature); break; 105 83 } 106 84 … … 135 113 m_creature->InterruptNonMeleeSpells(true); 136 114 137 DoTextEmote(EMOTE_DARK_SHELL,NULL,true); 115 DoScriptText(EMOTE_DARK_SHELL, m_creature); 116 138 117 DoCast(m_creature,HeroicMode ? H_SPELL_DARK_SHELL : SPELL_DARK_SHELL); 139 118 DarkShell_Timer = 20000; -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_darkweaver_syth.cpp
r90 r115 24 24 #include "precompiled.h" 25 25 26 #define SAY_SUMMON "I have pets..<squawk>..of my own!" 27 #define SOUND_SUMMON 10502 28 29 #define SAY_AGGRO_1 "Hrrmm.. Time to.. hrrm.. make my move." 30 #define SOUND_AGGRO_1 10503 31 #define SAY_AGGRO_2 "Nice pets..hrm.. Yes! <squawking>" 32 #define SOUND_AGGRO_2 10504 33 #define SAY_AGGRO_3 "Nice pets have.. weapons. No so..<squawk>..nice." 34 #define SOUND_AGGRO_3 10505 35 36 #define SAY_SLAY_1 "Death.. meeting life is.. <squawking>" 37 #define SOUND_SLAY_1 10506 38 #define SAY_SLAY_2 "Uhn.. Be free..<squawk>" 39 #define SOUND_SLAY_2 10507 40 41 #define SAY_DEATH "No more life..hrm. No more pain. <squawks weakly>" 42 #define SOUND_DEATH 10508 26 #define SAY_SUMMON -1556000 27 28 #define SAY_AGGRO_1 -1556001 29 #define SAY_AGGRO_2 -1556002 30 #define SAY_AGGRO_3 -1556003 31 32 #define SAY_SLAY_1 -1556004 33 #define SAY_SLAY_2 -1556005 34 35 #define SAY_DEATH -1556006 43 36 44 37 #define SPELL_FROST_SHOCK 37865 … … 94 87 switch(rand()%3) 95 88 { 96 case 0: 97 DoYell(SAY_AGGRO_1, LANG_UNIVERSAL, NULL); 98 DoPlaySoundToSet(m_creature,SOUND_AGGRO_1); 99 break; 100 case 1: 101 DoYell(SAY_AGGRO_2, LANG_UNIVERSAL, NULL); 102 DoPlaySoundToSet(m_creature,SOUND_AGGRO_2); 103 break; 104 case 2: 105 DoYell(SAY_AGGRO_3, LANG_UNIVERSAL, NULL); 106 DoPlaySoundToSet(m_creature,SOUND_AGGRO_3); 107 break; 89 case 0: DoScriptText(SAY_AGGRO_1, m_creature); break; 90 case 1: DoScriptText(SAY_AGGRO_2, m_creature); break; 91 case 2: DoScriptText(SAY_AGGRO_3, m_creature); break; 108 92 } 109 93 } … … 111 95 void JustDied(Unit* Killer) 112 96 { 113 DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL); 114 DoPlaySoundToSet(m_creature,SOUND_DEATH); 97 DoScriptText(SAY_DEATH, m_creature); 115 98 } 116 99 … … 122 105 switch(rand()%2) 123 106 { 124 case 0: 125 DoYell(SAY_SLAY_1, LANG_UNIVERSAL, NULL); 126 DoPlaySoundToSet(m_creature,SOUND_SLAY_1); 127 break; 128 case 1: 129 DoYell(SAY_SLAY_2, LANG_UNIVERSAL, NULL); 130 DoPlaySoundToSet(m_creature,SOUND_SLAY_2); 131 break; 107 case 0: DoScriptText(SAY_SLAY_1, m_creature); break; 108 case 1: DoScriptText(SAY_SLAY_2, m_creature); break; 132 109 } 133 110 } … … 135 112 void JustSummoned(Creature *summoned) 136 113 { 137 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))114 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 138 115 summoned->AI()->AttackStart(target); 139 140 116 } 141 117 142 118 void SythSummoning() 143 119 { 144 DoYell(SAY_SUMMON, LANG_UNIVERSAL, NULL); 145 DoPlaySoundToSet(m_creature,SOUND_SUMMON); 146 147 if( m_creature->IsNonMeleeSpellCasted(false) ) 120 DoScriptText(SAY_SUMMON, m_creature); 121 122 if (m_creature->IsNonMeleeSpellCasted(false)) 148 123 m_creature->InterruptNonMeleeSpells(false); 149 124 … … 159 134 return; 160 135 161 if (((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 90) && !summon90)136 if (((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 90) && !summon90) 162 137 { 163 138 SythSummoning(); … … 165 140 } 166 141 167 if (((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 50) && !summon50)142 if (((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 50) && !summon50) 168 143 { 169 144 SythSummoning(); … … 171 146 } 172 147 173 if (((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 10) && !summon10)148 if (((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 10) && !summon10) 174 149 { 175 150 SythSummoning(); … … 177 152 } 178 153 179 if ( flameshock_timer < diff)180 { 181 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))154 if (flameshock_timer < diff) 155 { 156 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 182 157 DoCast(target,SPELL_FLAME_SHOCK); 183 158 184 159 flameshock_timer = 10000 + rand()%5000; 185 } else flameshock_timer -= diff;186 187 if ( arcaneshock_timer < diff)188 { 189 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))160 } else flameshock_timer -= diff; 161 162 if (arcaneshock_timer < diff) 163 { 164 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 190 165 DoCast(target,SPELL_ARCANE_SHOCK); 191 166 192 167 arcaneshock_timer = 10000 + rand()%5000; 193 } else arcaneshock_timer -= diff;194 195 if ( frostshock_timer < diff)196 { 197 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))168 } else arcaneshock_timer -= diff; 169 170 if (frostshock_timer < diff) 171 { 172 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 198 173 DoCast(target,SPELL_FROST_SHOCK); 199 174 200 175 frostshock_timer = 10000 + rand()%5000; 201 } else frostshock_timer -= diff;202 203 if ( shadowshock_timer < diff)204 { 205 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))176 } else frostshock_timer -= diff; 177 178 if (shadowshock_timer < diff) 179 { 180 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 206 181 DoCast(target,SPELL_SHADOW_SHOCK); 207 182 208 183 shadowshock_timer = 10000 + rand()%5000; 209 } else shadowshock_timer -= diff;210 211 if ( chainlightning_timer < diff)212 { 213 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))184 } else shadowshock_timer -= diff; 185 186 if (chainlightning_timer < diff) 187 { 188 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 214 189 DoCast(target,SPELL_CHAIN_LIGHTNING); 215 190 216 191 chainlightning_timer = 25000; 217 } else chainlightning_timer -= diff;192 } else chainlightning_timer -= diff; 218 193 219 194 DoMeleeAttackIfReady(); -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/sethekk_halls/boss_tailonking_ikiss.cpp
r109 r115 25 25 #include "def_sethekk_halls.h" 26 26 27 #define SAY_INTRO "<squawk>..Trinkets yes pretty Trinkets..<squawk>..power, great power.<squawk>..power in Trinkets..<squawk>" 28 #define SOUND_INTRO 10557 29 30 #define SAY_AGGRO_1 "You make war on Ikiss?..<squawk>" 31 #define SOUND_AGGRO_1 10554 32 #define SAY_AGGRO_2 "Ikiss cut you pretty..<squawk>..slice you. Yes!" 33 #define SOUND_AGGRO_2 10555 34 #define SAY_AGGRO_3 "No escape for..<squawk>..for you" 35 #define SOUND_AGGRO_3 10556 36 37 #define SAY_SLAY_1 "You die..<squawk>..stay away from Trinkets" 38 #define SOUND_SLAY_1 10558 39 #define SAY_SLAY_2 "<squawk>" 40 #define SOUND_SLAY_2 10559 41 42 #define SAY_DEATH "Ikiss will not..<squawk>..die" 43 #define SOUND_DEATH 10560 44 45 #define EMOTE_ARCANE_EXP "begins to channel arcane energy..." 27 #define SAY_INTRO -1556007 28 29 #define SAY_AGGRO_1 -1556008 30 #define SAY_AGGRO_2 -1556009 31 #define SAY_AGGRO_3 -1556010 32 33 #define SAY_SLAY_1 -1556011 34 #define SAY_SLAY_2 -1556012 35 36 #define SAY_DEATH -15560013 37 38 #define EMOTE_ARCANE_EXP -15560014 46 39 47 40 #define SPELL_BLINK 38194 … … 101 94 { 102 95 Intro = true; 103 DoYell(SAY_INTRO, LANG_UNIVERSAL, NULL); 104 DoPlaySoundToSet(m_creature,SOUND_INTRO); 96 DoScriptText(SAY_INTRO, m_creature); 105 97 } 106 98 … … 121 113 switch(rand()%3) 122 114 { 123 case 0: 124 DoYell(SAY_AGGRO_1, LANG_UNIVERSAL, NULL); 125 DoPlaySoundToSet(m_creature,SOUND_AGGRO_1); 126 break; 127 128 case 1: 129 DoYell(SAY_AGGRO_2, LANG_UNIVERSAL, NULL); 130 DoPlaySoundToSet(m_creature,SOUND_AGGRO_2); 131 break; 132 133 case 2: 134 DoYell(SAY_AGGRO_3, LANG_UNIVERSAL, NULL); 135 DoPlaySoundToSet(m_creature,SOUND_AGGRO_3); 136 break; 115 case 0: DoScriptText(SAY_AGGRO_1, m_creature); break; 116 case 1: DoScriptText(SAY_AGGRO_2, m_creature); break; 117 case 2: DoScriptText(SAY_AGGRO_3, m_creature); break; 137 118 } 138 119 } … … 140 121 void JustDied(Unit* Killer) 141 122 { 142 DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL); 143 DoPlaySoundToSet(m_creature,SOUND_DEATH); 144 145 if( pInstance ) 123 DoScriptText(SAY_DEATH, m_creature); 124 125 if (pInstance) 146 126 pInstance->SetData(DATA_IKISSDOOREVENT, DONE); 147 127 } … … 151 131 switch(rand()%2) 152 132 { 153 case 0: 154 DoYell(SAY_SLAY_1, LANG_UNIVERSAL, NULL); 155 DoPlaySoundToSet(m_creature,SOUND_SLAY_1); 156 break; 157 158 case 1: 159 DoYell(SAY_SLAY_2, LANG_UNIVERSAL, NULL); 160 DoPlaySoundToSet(m_creature,SOUND_SLAY_2); 161 break; 133 case 0: DoScriptText(SAY_SLAY_1, m_creature); break; 134 case 1: DoScriptText(SAY_SLAY_2, m_creature); break; 162 135 } 163 136 } … … 168 141 return; 169 142 170 if ( Blink)143 if (Blink) 171 144 { 172 145 DoCast(m_creature,HeroicMode ? H_SPELL_ARCANE_EXPLOSION : SPELL_ARCANE_EXPLOSION); … … 175 148 } 176 149 177 if ( ArcaneVolley_Timer < diff)150 if (ArcaneVolley_Timer < diff) 178 151 { 179 152 DoCast(m_creature,HeroicMode ? H_SPELL_ARCANE_VOLLEY : SPELL_ARCANE_VOLLEY); … … 181 154 }else ArcaneVolley_Timer -= diff; 182 155 183 if ( Sheep_Timer < diff)156 if (Sheep_Timer < diff) 184 157 { 185 158 //second top aggro target in normal, random target in heroic correct? 186 159 Unit *target = NULL; 187 if ( HeroicMode ? target = SelectUnit(SELECT_TARGET_RANDOM,0) : target = SelectUnit(SELECT_TARGET_TOPAGGRO,1))160 if (HeroicMode ? target = SelectUnit(SELECT_TARGET_RANDOM,0) : target = SelectUnit(SELECT_TARGET_TOPAGGRO,1)) 188 161 DoCast(target,HeroicMode ? H_SPELL_POLYMORPH : SPELL_POLYMORPH); 189 162 Sheep_Timer = 15000+rand()%2500; … … 191 164 192 165 //may not be correct time to cast 193 if ( !ManaShield && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 20))166 if (!ManaShield && ((m_creature->GetHealth()*100) / m_creature->GetMaxHealth() < 20)) 194 167 { 195 168 DoCast(m_creature,SPELL_MANA_SHIELD); … … 197 170 } 198 171 199 if ( HeroicMode)200 { 201 if ( Slow_Timer < diff)172 if (HeroicMode) 173 { 174 if (Slow_Timer < diff) 202 175 { 203 176 DoCast(m_creature,H_SPELL_SLOW); … … 206 179 } 207 180 208 if ( Blink_Timer < diff)209 { 210 Do TextEmote(EMOTE_ARCANE_EXP,NULL,true);211 212 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0))213 { 214 if ( m_creature->IsNonMeleeSpellCasted(false))181 if (Blink_Timer < diff) 182 { 183 DoScriptText(EMOTE_ARCANE_EXP, m_creature); 184 185 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 186 { 187 if (m_creature->IsNonMeleeSpellCasted(false)) 215 188 m_creature->InterruptNonMeleeSpells(false); 216 189 … … 231 204 }else Blink_Timer -= diff; 232 205 233 if ( !Blink)206 if (!Blink) 234 207 DoMeleeAttackIfReady(); 235 208 } -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_ambassador_hellmaw.cpp
r90 r115 25 25 #include "def_shadow_labyrinth.h" 26 26 27 #define SAY_INTRO "Infidels have invaded the sanctuary! Sniveling pests...You have yet to learn the true meaning of agony!" 28 #define SOUND_INTRO 10473 27 #define SAY_INTRO -1555000 29 28 30 #define SAY_AGGRO1 "Pathetic mortals! You will pay dearly!" 31 #define SOUND_AGGRO1 10475 32 #define SAY_AGGRO2 "I will break you!" 33 #define SOUND_AGGRO2 10476 34 #define SAY_AGGRO3 "Finally! Something to relieve the tedium!" 35 #define SOUND_AGGRO3 10477 29 #define SAY_AGGRO1 -1555001 30 #define SAY_AGGRO2 -1555002 31 #define SAY_AGGRO3 -1555003 36 32 37 #define SAY_HELP "Aid me, you fools, before it's too late!" 38 #define SOUND_HELP 10474 33 #define SAY_HELP -1555004 39 34 40 #define SAY_SLAY1 "Do you fear death?" 41 #define SOUND_SLAY1 10478 42 #define SAY_SLAY2 "This is the part I enjoy most." 43 #define SOUND_SLAY2 10479 35 #define SAY_SLAY1 -1555005 36 #define SAY_SLAY2 -1555006 44 37 45 #define SAY_DEATH "Do not...grow...overconfident, mortal." 46 #define SOUND_DEATH 10480 38 #define SAY_DEATH -1555007 47 39 48 40 #define SPELL_BANISH 30231 … … 80 72 IsBanished = false; 81 73 82 if ( pInstance)74 if (pInstance) 83 75 { 84 if ( pInstance->GetData(TYPE_HELLMAW) == NOT_STARTED)76 if (pInstance->GetData(TYPE_HELLMAW) == NOT_STARTED) 85 77 { 86 78 DoCast(m_creature,SPELL_BANISH); … … 89 81 else pInstance->SetData(TYPE_HELLMAW,FAIL); 90 82 91 if ( pInstance->GetData(TYPE_OVERSEER) == DONE)83 if (pInstance->GetData(TYPE_OVERSEER) == DONE) 92 84 { 93 if ( m_creature->HasAura(SPELL_BANISH,0))85 if (m_creature->HasAura(SPELL_BANISH,0)) 94 86 m_creature->RemoveAurasDueToSpell(SPELL_BANISH); 95 87 Intro = true; … … 100 92 void MovementInform(uint32 type, uint32 id) 101 93 { 102 if ( type != POINT_MOTION_TYPE)94 if (type != POINT_MOTION_TYPE) 103 95 return; 104 96 } … … 106 98 void DoIntro() 107 99 { 108 DoYell(SAY_INTRO, LANG_UNIVERSAL, NULL); 109 DoPlaySoundToSet(m_creature, SOUND_INTRO); 100 DoScriptText(SAY_INTRO, m_creature); 110 101 111 if ( m_creature->HasAura(SPELL_BANISH,0))102 if (m_creature->HasAura(SPELL_BANISH,0)) 112 103 m_creature->RemoveAurasDueToSpell(SPELL_BANISH); 113 104 … … 115 106 Intro = true; 116 107 117 if ( pInstance)108 if (pInstance) 118 109 pInstance->SetData(TYPE_HELLMAW, IN_PROGRESS); 119 110 } … … 123 114 switch(rand()%3) 124 115 { 125 case 0: 126 DoYell(SAY_AGGRO1, LANG_UNIVERSAL, NULL); 127 DoPlaySoundToSet(m_creature, SOUND_AGGRO1); 128 break; 129 case 1: 130 DoYell(SAY_AGGRO2, LANG_UNIVERSAL, NULL); 131 DoPlaySoundToSet(m_creature, SOUND_AGGRO2); 132 break; 133 case 2: 134 DoYell(SAY_AGGRO3, LANG_UNIVERSAL, NULL); 135 DoPlaySoundToSet(m_creature, SOUND_AGGRO3); 136 break; 116 case 0: DoScriptText(SAY_AGGRO1, m_creature); break; 117 case 1: DoScriptText(SAY_AGGRO2, m_creature); break; 118 case 2: DoScriptText(SAY_AGGRO3, m_creature); break; 137 119 } 138 120 } … … 142 124 switch(rand()%2) 143 125 { 144 case 0: 145 DoYell(SAY_SLAY1, LANG_UNIVERSAL, NULL); 146 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 147 break; 148 case 1: 149 DoYell(SAY_SLAY2, LANG_UNIVERSAL, NULL); 150 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 151 break; 126 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 127 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 152 128 } 153 129 } … … 155 131 void JustDied(Unit *victim) 156 132 { 157 DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL); 158 DoPlaySoundToSet(m_creature, SOUND_DEATH); 133 DoScriptText(SAY_DEATH, m_creature); 159 134 160 if ( pInstance)135 if (pInstance) 161 136 pInstance->SetData(TYPE_HELLMAW, DONE); 162 137 } … … 164 139 void UpdateAI(const uint32 diff) 165 140 { 166 if ( !Intro)141 if (!Intro) 167 142 { 168 if ( EventCheck_Timer < diff)143 if (EventCheck_Timer < diff) 169 144 { 170 if ( pInstance)145 if (pInstance) 171 146 { 172 if ( pInstance->GetData(TYPE_OVERSEER) == DONE)147 if (pInstance->GetData(TYPE_OVERSEER) == DONE) 173 148 DoIntro(); 174 149 } … … 177 152 } 178 153 179 if ( !InCombat && !IsBanished)154 if (!InCombat && !IsBanished) 180 155 { 181 156 //this is where we add MovePoint() … … 186 161 return; 187 162 188 if ( CorrosiveAcid_Timer < diff)163 if (CorrosiveAcid_Timer < diff) 189 164 { 190 165 DoCast(m_creature,SPELL_CORROSIVE_ACID); … … 192 167 }else CorrosiveAcid_Timer -= diff; 193 168 194 if ( Fear_Timer < diff)169 if (Fear_Timer < diff) 195 170 { 196 171 DoCast(m_creature,SPELL_FEAR); … … 198 173 }else Fear_Timer -= diff; 199 174 200 /*if ( HeroicMode)175 /*if (HeroicMode) 201 176 { 202 if ( Enrage_Timer < diff)177 if (Enrage_Timer < diff) 203 178 { 204 179 DoCast(m_creature,SPELL_ENRAGE); -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_blackheart_the_inciter.cpp
r90 r115 30 30 #define SPELL_WAR_STOMP 33707 31 31 32 #define SAY_AGGRO1 "You be dead people!" 33 #define SAY_AGGRO2 "Time to kill!" 34 #define SAY_AGGRO3 "I see dead people!" 35 #define SAY_SLAY1 "No coming back for you!" 36 #define SAY_SLAY2 "Nice try!" 37 #define SAY_SLAY3 "Now you gone for good!" 38 #define SAY_DEATH "This...no...good.." 32 #define SAY_INTRO1 -1555008 33 #define SAY_INTRO2 -1555009 34 #define SAY_INTRO3 -1555010 35 #define SAY_AGGRO1 -1555011 36 #define SAY_AGGRO2 -1555012 37 #define SAY_AGGRO3 -1555013 38 #define SAY_SLAY1 -1555014 39 #define SAY_SLAY2 -1555015 40 #define SAY_HELP -1555016 41 #define SAY_DEATH -1555017 39 42 40 #define SOUND_AGGRO1 10498 41 #define SOUND_AGGRO2 10497 42 #define SOUND_AGGRO3 10488 43 #define SOUND_SLAY1 10489 44 #define SOUND_SLAY2 10490 45 #define SOUND_SLAY3 10499 46 #define SOUND_DEATH 10491 43 #define SAY2_INTRO1 -1555018 44 #define SAY2_INTRO2 -1555019 45 #define SAY2_INTRO3 -1555020 46 #define SAY2_AGGRO1 -1555021 47 #define SAY2_AGGRO2 -1555022 48 #define SAY2_AGGRO3 -1555023 49 #define SAY2_SLAY1 -1555024 50 #define SAY2_SLAY2 -1555025 51 #define SAY2_HELP -1555026 52 #define SAY2_DEATH -1555027 47 53 48 54 struct TRINITY_DLL_DECL boss_blackheart_the_inciterAI : public ScriptedAI … … 70 76 Knockback_Timer = 15000; 71 77 72 if ( pInstance)78 if (pInstance) 73 79 pInstance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, NOT_STARTED); 74 80 } … … 76 82 void KilledUnit(Unit *victim) 77 83 { 78 switch(rand()% 3)84 switch(rand()%2) 79 85 { 80 case 0: 81 DoYell(SAY_SLAY1, LANG_UNIVERSAL, NULL); 82 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 83 break; 84 case 1: 85 DoYell(SAY_SLAY2, LANG_UNIVERSAL, NULL); 86 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 87 break; 88 case 2: 89 DoYell(SAY_SLAY3, LANG_UNIVERSAL, NULL); 90 DoPlaySoundToSet(m_creature, SOUND_SLAY3); 91 break; 86 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 87 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 92 88 } 93 89 } … … 95 91 void JustDied(Unit *victim) 96 92 { 97 DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL); 98 DoPlaySoundToSet(m_creature, SOUND_DEATH); 93 DoScriptText(SAY_DEATH, m_creature); 99 94 100 95 if( pInstance ) … … 106 101 switch(rand()%3) 107 102 { 108 case 0: 109 DoYell(SAY_AGGRO1, LANG_UNIVERSAL, NULL); 110 DoPlaySoundToSet(m_creature, SOUND_AGGRO1); 111 break; 112 case 1: 113 DoYell(SAY_AGGRO2, LANG_UNIVERSAL, NULL); 114 DoPlaySoundToSet(m_creature, SOUND_AGGRO2); 115 break; 116 case 2: 117 DoYell(SAY_AGGRO3, LANG_UNIVERSAL, NULL); 118 DoPlaySoundToSet(m_creature, SOUND_AGGRO3); 119 break; 103 case 0: DoScriptText(SAY_AGGRO1, m_creature); break; 104 case 1: DoScriptText(SAY_AGGRO2, m_creature); break; 105 case 2: DoScriptText(SAY_AGGRO3, m_creature); break; 120 106 } 121 107 122 if ( pInstance)108 if (pInstance) 123 109 pInstance->SetData(DATA_BLACKHEARTTHEINCITEREVENT, IN_PROGRESS); 124 110 } … … 130 116 return; 131 117 132 if ( InciteChaos)118 if (InciteChaos) 133 119 { 134 if ( InciteChaosWait_Timer < diff)120 if (InciteChaosWait_Timer < diff) 135 121 { 136 122 InciteChaos = false; … … 141 127 } 142 128 143 if ( InciteChaos_Timer < diff)129 if (InciteChaos_Timer < diff) 144 130 { 145 131 DoCast(m_creature, SPELL_INCITE_CHAOS); … … 149 135 { 150 136 Unit* target = Unit::GetUnit(*m_creature, (*itr)->getUnitGuid()); 151 if ( target && target->GetTypeId() == TYPEID_PLAYER)137 if (target && target->GetTypeId() == TYPEID_PLAYER) 152 138 target->CastSpell(target,SPELL_INCITE_CHAOS_B,true); 153 139 } … … 160 146 161 147 //Charge_Timer 162 if ( Charge_Timer < diff)148 if (Charge_Timer < diff) 163 149 { 164 if ( Unit *target = SelectUnit(SELECT_TARGET_RANDOM, 0))150 if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM, 0)) 165 151 DoCast(target, SPELL_CHARGE); 166 152 Charge_Timer = 25000; … … 168 154 169 155 //Knockback_Timer 170 if ( Knockback_Timer < diff)156 if (Knockback_Timer < diff) 171 157 { 172 158 DoCast(m_creature, SPELL_WAR_STOMP); -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_grandmaster_vorpil.cpp
r109 r115 25 25 #include "def_shadow_labyrinth.h" 26 26 27 #define SAY_INTRO "Keep your minds focused for the days of reckoning are close at hand. Soon, the destroyer of worlds will return to make good on his promise. Soon the destruction of all that is will begin!" 28 #define SAY_AGGRO1 "I'll make an offering of your blood!" 29 #define SAY_AGGRO2 "You'll be a fine example, for the others." 30 #define SAY_AGGRO3 "Good, a worthy sacrifice." 31 #define SAY_HELP "Come to my aid, heed your master now!" 32 #define SAY_SLAY1 "I serve with pride." 33 #define SAY_SLAY2 "Your death is for the greater cause!" 34 #define SAY_DEATH "I give my life... Gladly." 35 36 #define SOUND_INTRO 10522 37 #define SOUND_AGGRO1 10524 38 #define SOUND_AGGRO2 10525 39 #define SOUND_AGGRO3 10526 40 #define SOUND_HELP 10523 41 #define SOUND_SLAY1 10527 42 #define SOUND_SLAY2 10528 43 #define SOUND_DEATH 10529 27 #define SAY_INTRO -1555028 28 #define SAY_AGGRO1 -1555029 29 #define SAY_AGGRO2 -1555030 30 #define SAY_AGGRO3 -1555031 31 #define SAY_HELP -1555032 32 #define SAY_SLAY1 -1555033 33 #define SAY_SLAY2 -1555034 34 #define SAY_DEATH -1555035 44 35 45 36 #define SPELL_RAIN_OF_FIRE 33617 … … 148 139 switch(rand()%2) 149 140 { 150 case 0: 151 DoYell(SAY_SLAY1, LANG_UNIVERSAL, NULL); 152 DoPlaySoundToSet(m_creature, SOUND_SLAY1); 153 break; 154 155 case 1: 156 DoYell(SAY_SLAY2, LANG_UNIVERSAL, NULL); 157 DoPlaySoundToSet(m_creature, SOUND_SLAY2); 158 break; 141 case 0: DoScriptText(SAY_SLAY1, m_creature); break; 142 case 1: DoScriptText(SAY_SLAY2, m_creature); break; 159 143 } 160 144 } … … 162 146 void JustDied(Unit *victim) 163 147 { 164 DoYell(SAY_DEATH, LANG_UNIVERSAL, NULL); 165 DoPlaySoundToSet(m_creature, SOUND_DEATH); 148 DoScriptText(SAY_DEATH, m_creature); 166 149 destroyPortals(); 167 150 if(pInstance) … … 173 156 switch(rand()%3) 174 157 { 175 case 0: 176 DoYell(SAY_AGGRO1, LANG_UNIVERSAL, NULL); 177 DoPlaySoundToSet(m_creature, SOUND_AGGRO1); 178 break; 179 180 case 1: 181 DoYell(SAY_AGGRO2, LANG_UNIVERSAL, NULL); 182 DoPlaySoundToSet(m_creature, SOUND_AGGRO2); 183 break; 184 185 case 2: 186 DoYell(SAY_AGGRO3, LANG_UNIVERSAL, NULL); 187 DoPlaySoundToSet(m_creature, SOUND_AGGRO3); 188 break; 158 case 0: DoScriptText(SAY_AGGRO1, m_creature); break; 159 case 1: DoScriptText(SAY_AGGRO2, m_creature); break; 160 case 2: DoScriptText(SAY_AGGRO3, m_creature); break; 189 161 } 190 162 … … 220 192 else if (!Intro && m_creature->IsWithinLOSInMap(who)&& m_creature->IsWithinDistInMap(who, 100) ) //not sure about right radius 221 193 { 222 DoYell(SAY_INTRO, LANG_UNIVERSAL, NULL); 223 DoPlaySoundToSet(m_creature, SOUND_INTRO); 194 DoScriptText(SAY_INTRO, m_creature); 224 195 Intro = true; 225 196 } … … 236 207 if (sumportals_Timer < diff) 237 208 { 238 DoYell(SAY_HELP, LANG_UNIVERSAL, NULL); 239 DoPlaySoundToSet(m_creature, SOUND_HELP); 209 DoScriptText(SAY_HELP, m_creature); 240 210 summonPortals(); 241 211 sumportals_Timer = 1000000; -
trunk/src/bindings/scripts/scripts/zone/aunchindoun/shadow_labyrinth/boss_murmur.cpp
r109 r115 24 24 #include "precompiled.h" 25 25 26 #define EMOTE_SONIC_BOOM "draws energy from the air."26 #define EMOTE_SONIC_BOOM -1555036 27 27 28 28 #define SPELL_MAGNETIC_PULL 33689 … … 57 57 //database should have `RegenHealth`=0 to prevent regen 58 58 uint32 hp = m_creature->GetMaxHealth()*0.4; 59 if ( hp)59 if (hp) 60 60 m_creature->SetHealth(hp); 61 61 } … … 70 70 71 71 //SonicBoom_Timer 72 if (SonicBoom_Timer < diff)72 if (SonicBoom_Timer < diff) 73 73 { 74 if (CanSonicBoom)74 if (CanSonicBoom) 75 75 { 76 76 DoCast(m_creature, SPELL_SONIC_BOOM_CAST,true); … … 80 80 else 81 81 { 82 Do TextEmote(EMOTE_SONIC_BOOM,NULL);82 DoScriptText(EMOTE_SONIC_BOOM, m_creature); 83 83 DoCast(m_creature,SPELL_SONIC_BOOM_PRE); 84 84 CanSonicBoom = true; … … 88 88 89 89 //MurmursTouch_Timer 90 if (MurmursTouch_Timer < diff)90 if (MurmursTouch_Timer < diff) 91 91 { 92 92 /*Unit* target = NULL; … … 99 99 100 100 //Resonance_Timer 101 if (Resonance_Timer < diff)101 if (Resonance_Timer < diff) 102 102 { 103 if ( !m_creature->IsWithinDistInMap(m_creature->getVictim(), ATTACK_DISTANCE))103 if (!m_creature->IsWithinDistInMap(m_creature->getVictim(), ATTACK_DISTANCE)) 104 104 DoCast(m_creature->getVictim(), SPELL_RESONANCE); 105 105 Resonance_Timer = 5000; … … 107 107 108 108 //MagneticPull_Timer 109 if (MagneticPull_Timer < diff)109 if (MagneticPull_Timer < diff) 110 110 { 111 if ( !CanShockWave)111 if (!CanShockWave) 112 112 { 113 if ( Unit* temp = SelectUnit(SELECT_TARGET_RANDOM,0))113 if (Unit* temp = SelectUnit(SELECT_TARGET_RANDOM,0)) 114 114 { 115 if ( temp->GetTypeId() == TYPEID_PLAYER)115 if (temp->GetTypeId() == TYPEID_PLAYER) 116 116 { 117 117 DoCast(temp, SPELL_MAGNETIC_PULL); … … 124 124 else 125 125 { 126 if ( Unit* target = Unit::GetUnit(*m_creature,pTarget))126 if (Unit* target = Unit::GetUnit(*m_creature,pTarget)) 127 127 target->CastSpell(target,SPELL_SHOCKWAVE,true); 128 128 … … 134 134 135 135 //no meele if preparing for sonic boom 136 if (!CanSonicBoom)136 if (!CanSonicBoom) 137 137 DoMeleeAttackIfReady(); 138 138 }