Changeset 67

Show
Ignore:
Timestamp:
11/19/08 13:31:10 (17 years ago)
Author:
yumileroy
Message:

[svn] Change aura stack check.
Add some boss yells. Patched provided by BroodWyrm? and Blaymoira.

Original author: megamage
Date: 2008-10-19 13:56:11-05:00

Location:
trunk/src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_eredar_twins.cpp

    r63 r67  
    88#include "def_sunwell_plateau.h" 
    99 
     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 
    1020// Lady Sacrolash 
    11  
    1221#define LADY_SACROLASH                  25165 
    1322 
     
    339348        pInstance = (c->GetInstanceData()) ? ((ScriptedInstance*)c->GetInstanceData()) : NULL; 
    340349        Reset(); 
    341         once = false; 
     350        IntroStepCounter = 10; 
    342351    } 
    343352 
     
    345354    bool InCombat; 
    346355    bool sisterdeath; 
    347     bool once; 
     356    uint32 IntroStepCounter; 
     357    uint32 IntroYell_Timer; 
    348358 
    349359    uint32 conflagration_timer; 
     
    385395            enrage_timer = 360000; 
    386396            flamesear_timer = 15000; 
     397            IntroYell_Timer = 10000; 
    387398        } 
    388399    } 
     
    436447            } 
    437448        } 
    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; 
    442452        } 
    443453    } 
     
    524534    } 
    525535 
     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 
    526574    void UpdateAI(const uint32 diff)  
    527575    { 
     576        if(IntroStepCounter < 9) 
     577        { 
     578            if(IntroYell_Timer < diff) 
     579            { 
     580                IntroYell_Timer = IntroStep(IntroStepCounter++); 
     581            }else IntroYell_Timer -= diff; 
     582        } 
     583 
    528584        if(!sisterdeath) 
    529585        { 
  • trunk/src/bindings/scripts/scripts/zone/sunwell_plateau/boss_felmyst.cpp

    r63 r67  
    6363#define SPELL_CLOUD_SUMMON      45884 
    6464 
     65//Creatures 
    6566#define MOB_FELMYST             25038 
    6667#define MOB_BRUTALLUS 
     
    7576#define MOB_VAPOR_TRAIL         25267 
    7677 
     78//Yells and Sounds 
    7779#define YELL_BIRTH      "Glory to Kil'jaeden! Death to all who oppose!" 
     80#define SOUND_BIRTH            12477 
    7881#define YELL_KILL1      "I kill for the master!" 
     82#define SOUND_KILL1            12480 
    7983#define YELL_KILL2      "The end has come!" 
     84#define SOUND_KILL2            12481 
    8085#define YELL_BREATH     "Choke on your final breath!" 
     86#define SOUND_BREATH   12478 
    8187#define YELL_TAKEOFF    "I am stronger than ever before!" 
     88#define SOUND_TAKEOFF  12479 
    8289#define YELL_BERSERK    "No more hesitation! Your fates are written!" 
     90#define SOUND_BERSERK  12482 
    8391#define YELL_DEATH      "Kil'jaeden... will... prevail..." 
     92#define SOUND_DEATH            12483 
    8493 
    8594#define YELL_KALECGOS   "Madrigosa deserved a far better fate. You did what had to be done, but this battle is far from over." 
     
    182191        case 0: 
    183192            DoYell(YELL_KILL1,LANG_UNIVERSAL, NULL); 
    184             //DoPlaySoundToSet(m_creature, SOUND_KILL1); 
     193            DoPlaySoundToSet(m_creature, SOUND_KILL1); 
    185194            break; 
    186195        case 1: 
    187196            DoYell(YELL_KILL2,LANG_UNIVERSAL, NULL); 
    188             //DoPlaySoundToSet(m_creature, SOUND_KILL2); 
     197            DoPlaySoundToSet(m_creature, SOUND_KILL2); 
    189198            break; 
    190199        } 
     
    194203    { 
    195204        DoYell(YELL_DEATH, LANG_UNIVERSAL, NULL); 
    196         //DoPlaySoundToSet(m_creature, SOUND_DEATH); 
     205        DoPlaySoundToSet(m_creature, SOUND_DEATH); 
    197206    } 
    198207 
     
    277286            m_creature->StopMoving(); 
    278287            DoYell(YELL_TAKEOFF, LANG_UNIVERSAL, NULL); 
    279             //DoPlaySoundToSet(m_creature, SOUND_TAKEOFF); 
     288            DoPlaySoundToSet(m_creature, SOUND_TAKEOFF); 
    280289            Timer[EVENT_FLIGHT_SEQUENCE] = 2000; 
    281290            break; 
     
    414423            case EVENT_BERSERK: 
    415424                DoYell(YELL_BERSERK, LANG_UNIVERSAL, NULL); 
    416                 //DoPlaySoundToSet(m_creature, SOUND_BERSERK); 
     425                DoPlaySoundToSet(m_creature, SOUND_BERSERK); 
    417426                m_creature->CastSpell(m_creature, SPELL_BERSERK, true); 
    418427                Timer[EVENT_BERSERK] = 0; 
     
    452461            case EVENT_BERSERK: 
    453462                DoYell(YELL_BERSERK, LANG_UNIVERSAL, NULL); 
    454                 //DoPlaySoundToSet(m_creature, SOUND_BERSERK); 
     463                DoPlaySoundToSet(m_creature, SOUND_BERSERK); 
    455464                m_creature->CastSpell(m_creature, SPELL_BERSERK, true); 
    456465                Timer[EVENT_BERSERK] = 0; 
  • trunk/src/game/SpellMgr.cpp

    r44 r67  
    13461346    } 
    13471347 
    1348     // more generic checks 
    1349     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  
    13661348    if (IsRankSpellDueToSpell(spellInfo_1, spellId_2)) 
    13671349        return true; 
    13681350 
    1369     if (spellInfo_1->SpellFamilyName == 0 || spellInfo_2->SpellFamilyName == 0) 
     1351    if (spellInfo_1->SpellIconID != spellInfo_2->SpellIconID || 
     1352        !spellInfo_1->SpellIconID) 
    13701353        return false; 
    13711354