Changeset 67
- Timestamp:
- 11/19/08 13:31:10 (17 years ago)
- Location:
- trunk/src
- Files:
-
- 3 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp
r63 r67 8 8 #include "def_sunwell_plateau.h" 9 9 10 //Intro 11 #define YELL_INTRO_SAC_1 "Misery..." 12 #define YELL_INTRO_ALY_2 "Depravity..." 13 #define YELL_INTRO_SAC_3 "Confusion..." 14 #define YELL_INTRO_ALY_4 "Hatred..." 15 #define YELL_INTRO_SAC_5 "Mistrust..." 16 #define YELL_INTRO_ALY_6 "Chaos..." 17 #define YELL_INTRO_SAC_7 "These are the hallmarks..." 18 #define YELL_INTRO_ALY_8 "These are the pillars..." 19 10 20 // Lady Sacrolash 11 12 21 #define LADY_SACROLASH 25165 13 22 … … 339 348 pInstance = (c->GetInstanceData()) ? ((ScriptedInstance*)c->GetInstanceData()) : NULL; 340 349 Reset(); 341 once = false;350 IntroStepCounter = 10; 342 351 } 343 352 … … 345 354 bool InCombat; 346 355 bool sisterdeath; 347 bool once; 356 uint32 IntroStepCounter; 357 uint32 IntroYell_Timer; 348 358 349 359 uint32 conflagration_timer; … … 385 395 enrage_timer = 360000; 386 396 flamesear_timer = 15000; 397 IntroYell_Timer = 10000; 387 398 } 388 399 } … … 436 447 } 437 448 } 438 else if (!once && m_creature->IsWithinLOSInMap(who)&& m_creature->IsWithinDistInMap(who, 30) ) 439 { 440 DoPlaySoundToSet(m_creature,SOUND_INTRO); 441 once = true; 449 else if (IntroStepCounter == 10 && m_creature->IsWithinLOSInMap(who)&& m_creature->IsWithinDistInMap(who, 30) ) 450 { 451 IntroStepCounter = 0; 442 452 } 443 453 } … … 524 534 } 525 535 536 uint32 IntroStep(uint32 step) 537 { 538 Creature* Sacrolash = (Creature*)Unit::GetUnit((*m_creature),pInstance->GetData64(DATA_SACROLASH)); 539 switch (step) 540 { 541 case 0: DoPlaySoundToSet(m_creature,SOUND_INTRO); return 0; 542 case 1: 543 if(Sacrolash) 544 Sacrolash->Yell(YELL_INTRO_SAC_1, LANG_UNIVERSAL,NULL); 545 return 1000; 546 case 2: 547 m_creature->Yell(YELL_INTRO_ALY_2, LANG_UNIVERSAL,NULL); 548 return 1000; 549 case 3: 550 if(Sacrolash) 551 Sacrolash->Yell(YELL_INTRO_SAC_3, LANG_UNIVERSAL,NULL); 552 return 2000; 553 case 4: 554 m_creature->Yell(YELL_INTRO_ALY_4, LANG_UNIVERSAL,NULL); 555 return 1000; 556 case 5: 557 if(Sacrolash) 558 Sacrolash->Yell(YELL_INTRO_SAC_5, LANG_UNIVERSAL,NULL); 559 return 2000; 560 case 6: 561 m_creature->Yell(YELL_INTRO_ALY_6, LANG_UNIVERSAL,NULL); 562 return 1000; 563 case 7: 564 if(Sacrolash) 565 Sacrolash->Yell(YELL_INTRO_SAC_7, LANG_UNIVERSAL,NULL); 566 return 3000; 567 case 8: 568 m_creature->Yell(YELL_INTRO_ALY_8, LANG_UNIVERSAL,NULL); 569 return 900000; 570 } 571 return 10000; 572 } 573 526 574 void UpdateAI(const uint32 diff) 527 575 { 576 if(IntroStepCounter < 9) 577 { 578 if(IntroYell_Timer < diff) 579 { 580 IntroYell_Timer = IntroStep(IntroStepCounter++); 581 }else IntroYell_Timer -= diff; 582 } 583 528 584 if(!sisterdeath) 529 585 { -
trunk/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp
r63 r67 63 63 #define SPELL_CLOUD_SUMMON 45884 64 64 65 //Creatures 65 66 #define MOB_FELMYST 25038 66 67 #define MOB_BRUTALLUS … … 75 76 #define MOB_VAPOR_TRAIL 25267 76 77 78 //Yells and Sounds 77 79 #define YELL_BIRTH "Glory to Kil'jaeden! Death to all who oppose!" 80 #define SOUND_BIRTH 12477 78 81 #define YELL_KILL1 "I kill for the master!" 82 #define SOUND_KILL1 12480 79 83 #define YELL_KILL2 "The end has come!" 84 #define SOUND_KILL2 12481 80 85 #define YELL_BREATH "Choke on your final breath!" 86 #define SOUND_BREATH 12478 81 87 #define YELL_TAKEOFF "I am stronger than ever before!" 88 #define SOUND_TAKEOFF 12479 82 89 #define YELL_BERSERK "No more hesitation! Your fates are written!" 90 #define SOUND_BERSERK 12482 83 91 #define YELL_DEATH "Kil'jaeden... will... prevail..." 92 #define SOUND_DEATH 12483 84 93 85 94 #define YELL_KALECGOS "Madrigosa deserved a far better fate. You did what had to be done, but this battle is far from over." … … 182 191 case 0: 183 192 DoYell(YELL_KILL1,LANG_UNIVERSAL, NULL); 184 //DoPlaySoundToSet(m_creature, SOUND_KILL1);193 DoPlaySoundToSet(m_creature, SOUND_KILL1); 185 194 break; 186 195 case 1: 187 196 DoYell(YELL_KILL2,LANG_UNIVERSAL, NULL); 188 //DoPlaySoundToSet(m_creature, SOUND_KILL2);197 DoPlaySoundToSet(m_creature, SOUND_KILL2); 189 198 break; 190 199 } … … 194 203 { 195 204 DoYell(YELL_DEATH, LANG_UNIVERSAL, NULL); 196 //DoPlaySoundToSet(m_creature, SOUND_DEATH);205 DoPlaySoundToSet(m_creature, SOUND_DEATH); 197 206 } 198 207 … … 277 286 m_creature->StopMoving(); 278 287 DoYell(YELL_TAKEOFF, LANG_UNIVERSAL, NULL); 279 //DoPlaySoundToSet(m_creature, SOUND_TAKEOFF);288 DoPlaySoundToSet(m_creature, SOUND_TAKEOFF); 280 289 Timer[EVENT_FLIGHT_SEQUENCE] = 2000; 281 290 break; … … 414 423 case EVENT_BERSERK: 415 424 DoYell(YELL_BERSERK, LANG_UNIVERSAL, NULL); 416 //DoPlaySoundToSet(m_creature, SOUND_BERSERK);425 DoPlaySoundToSet(m_creature, SOUND_BERSERK); 417 426 m_creature->CastSpell(m_creature, SPELL_BERSERK, true); 418 427 Timer[EVENT_BERSERK] = 0; … … 452 461 case EVENT_BERSERK: 453 462 DoYell(YELL_BERSERK, LANG_UNIVERSAL, NULL); 454 //DoPlaySoundToSet(m_creature, SOUND_BERSERK);463 DoPlaySoundToSet(m_creature, SOUND_BERSERK); 455 464 m_creature->CastSpell(m_creature, SPELL_BERSERK, true); 456 465 Timer[EVENT_BERSERK] = 0; -
trunk/src/game/SpellMgr.cpp
r44 r67 1346 1346 } 1347 1347 1348 // more generic checks1349 if (spellInfo_1->SpellIconID == spellInfo_2->SpellIconID &&1350 spellInfo_1->SpellIconID != 0 && spellInfo_2->SpellIconID != 0)1351 {1352 bool isModifier = false;1353 for (int i = 0; i < 3; i++)1354 {1355 if (spellInfo_1->EffectApplyAuraName[i] == SPELL_AURA_ADD_FLAT_MODIFIER ||1356 spellInfo_1->EffectApplyAuraName[i] == SPELL_AURA_ADD_PCT_MODIFIER ||1357 spellInfo_2->EffectApplyAuraName[i] == SPELL_AURA_ADD_FLAT_MODIFIER ||1358 spellInfo_2->EffectApplyAuraName[i] == SPELL_AURA_ADD_PCT_MODIFIER )1359 isModifier = true;1360 }1361 1362 if (!isModifier)1363 return true;1364 }1365 1366 1348 if (IsRankSpellDueToSpell(spellInfo_1, spellId_2)) 1367 1349 return true; 1368 1350 1369 if (spellInfo_1->SpellFamilyName == 0 || spellInfo_2->SpellFamilyName == 0) 1351 if (spellInfo_1->SpellIconID != spellInfo_2->SpellIconID || 1352 !spellInfo_1->SpellIconID) 1370 1353 return false; 1371 1354