Changeset 125

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

[svn] More C++ scripts converted to use script_texts.
- Blackwing Lair
- Black Morass
- Old Hillsbrad
source: ScriptDev?2

Original author: slg
Date: 2008-10-27 15:17:06-05:00

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  
    2424#include "precompiled.h" 
    2525 
     26#define SAY_AGGRO               -1469000 
     27#define SAY_LEASH               -1469001 
     28 
    2629#define SPELL_CLEAVE            26350 
    2730#define SPELL_BLASTWAVE         23331 
    2831#define SPELL_MORTALSTRIKE      24573 
    2932#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             8286 
    34 #define SOUND_LEASH             8287 
    3533 
    3634struct TRINITY_DLL_DECL boss_broodlordAI : public ScriptedAI 
     
    5856    void Aggro(Unit *who) 
    5957    { 
    60         DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL); 
    61         DoPlaySoundToSet(m_creature, SOUND_AGGRO); 
     58        DoScriptText(SAY_AGGRO, m_creature); 
    6259        DoZoneInCombat(); 
    6360    } 
     
    7673            if ( spawndist > 250 ) 
    7774            { 
     75                DoScriptText(SAY_LEASH, m_creature); 
    7876                EnterEvadeMode(); 
    7977                return; 
     
    107105            DoCast(m_creature->getVictim(),SPELL_KNOCKBACK); 
    108106            //Drop 50% aggro 
    109             if(m_creature->getThreatManager().getThreat(m_creature->getVictim())) 
     107            if (m_creature->getThreatManager().getThreat(m_creature->getVictim())) 
    110108                m_creature->getThreatManager().modifyThreatPercent(m_creature->getVictim(),-50); 
    111109 
  • trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_chromaggus.cpp

    r90 r125  
    2424#include "precompiled.h" 
    2525 
     26#define EMOTE_FRENZY                -1469002 
     27#define EMOTE_SHIMMER               -1469003 
     28 
    2629//These spells are actually called elemental shield 
    2730//What they do is decrease all damage by 75% then they increase 
     
    3336#define SPELL_ARCANE_VURNALBILTY    22281 
    3437 
    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 
    4343 
    4444//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 
    4545//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 
    5956 
    6057struct TRINITY_DLL_DECL boss_chromaggusAI : public ScriptedAI 
     
    217214            CurrentVurln_Spell = spell; 
    218215 
    219             DoTextEmote(EMOTE_SHIMMER, NULL); 
     216            DoScriptText(EMOTE_SHIMMER, m_creature); 
    220217            Shimmer_Timer = 45000; 
    221218        }else Shimmer_Timer -= diff; 
     
    256253                pUnit = Unit::GetUnit((*m_creature), (*i)->getUnitGuid()); 
    257254 
    258                 if(pUnit) 
     255                if (pUnit) 
    259256                { 
    260257                    //Cast affliction 
     
    277274                        //WORKAROUND 
    278275                        if (pUnit->GetTypeId() == TYPEID_PLAYER) 
    279                         { 
    280                             DoWhisper(TEMP_MUTATE_WHISPER, pUnit); 
    281276                            pUnit->CastSpell(pUnit, 5, false); 
    282                         } 
    283277                    } 
    284278                } 
     
    292286        { 
    293287            DoCast(m_creature,SPELL_FRENZY); 
    294             DoTextEmote(EMOTE_FRENZY,NULL); 
     288            DoScriptText(EMOTE_FRENZY, m_creature); 
    295289            Frenzy_Timer = 10000 + (rand() % 5000); 
    296290        }else Frenzy_Timer -= diff; 
  • trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_nefarian.cpp

    r90 r125  
    1717/* ScriptData 
    1818SDName: Boss_Nefarian 
    19 SD%Complete: 100 
     19SD%Complete: 80 
    2020SDComment: Some issues with class calls effecting more than one class 
    2121SDCategory: Blackwing Lair 
     
    2424#include "precompiled.h" 
    2525 
    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 
    4342 
    4443#define SPELL_SHADOWFLAME_INITIAL   22972 
     
    6059#define SPELL_ROGUE                 23414                   //Paralise 
    6160 
    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  
    7261struct TRINITY_DLL_DECL boss_nefarianAI : public ScriptedAI 
    7362{ 
     
    10190            return; 
    10291 
    103         DoYell(SAY_SLAY,LANG_UNIVERSAL,Victim); 
    104         DoPlaySoundToSet(m_creature, SOUND_SLAY); 
     92        DoScriptText(SAY_SLAY, m_creature, Victim); 
    10593    } 
    10694 
    10795    void JustDied(Unit* Killer) 
    10896    { 
    109         DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 
    110         DoPlaySoundToSet(m_creature, SOUND_DEATH); 
     97        DoScriptText(SAY_DEATH, m_creature); 
    11198    } 
    11299 
     
    115102        switch (rand()%3) 
    116103        { 
    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; 
    129107        } 
    130108 
     
    185163            { 
    186164                case 0: 
    187                     DoYell(SAY_MAGE,LANG_UNIVERSAL,NULL); 
     165                    DoScriptText(SAY_MAGE, m_creature); 
    188166                    DoCast(m_creature,SPELL_MAGE); 
    189167                    break; 
    190168                case 1: 
    191                     DoYell(SAY_WARRIOR,LANG_UNIVERSAL,NULL); 
     169                    DoScriptText(SAY_WARRIOR, m_creature); 
    192170                    DoCast(m_creature,SPELL_WARRIOR); 
    193171                    break; 
    194172                case 2: 
    195                     DoYell(SAY_DRUID,LANG_UNIVERSAL,NULL); 
     173                    DoScriptText(SAY_DRUID, m_creature); 
    196174                    DoCast(m_creature,SPELL_DRUID); 
    197175                    break; 
    198176                case 3: 
    199                     DoYell(SAY_PRIEST,LANG_UNIVERSAL,NULL); 
     177                    DoScriptText(SAY_PRIEST, m_creature); 
    200178                    DoCast(m_creature,SPELL_PRIEST); 
    201179                    break; 
    202180                case 4: 
    203                     DoYell(SAY_PALADIN,LANG_UNIVERSAL,NULL); 
     181                    DoScriptText(SAY_PALADIN, m_creature); 
    204182                    DoCast(m_creature,SPELL_PALADIN); 
    205183                    break; 
    206184                case 5: 
    207                     DoYell(SAY_SHAMAN,LANG_UNIVERSAL,NULL); 
     185                    DoScriptText(SAY_SHAMAN, m_creature); 
    208186                    DoCast(m_creature,SPELL_SHAMAN); 
    209187                    break; 
    210188                case 6: 
    211                     DoYell(SAY_WARLOCK,LANG_UNIVERSAL,NULL); 
     189                    DoScriptText(SAY_WARLOCK, m_creature); 
    212190                    DoCast(m_creature,SPELL_WARLOCK); 
    213191                    break; 
    214192                case 7: 
    215                     DoYell(SAY_HUNTER,LANG_UNIVERSAL,NULL); 
     193                    DoScriptText(SAY_HUNTER, m_creature); 
    216194                    DoCast(m_creature,SPELL_HUNTER); 
    217195                    break; 
    218196                case 8: 
    219                     DoYell(SAY_ROGUE,LANG_UNIVERSAL,NULL); 
     197                    DoScriptText(SAY_ROGUE, m_creature); 
    220198                    DoCast(m_creature,SPELL_ROGUE); 
    221199                    break; 
     
    229207        { 
    230208            Phase3 = true; 
    231             DoYell(SAY_RAISE_SKELETONS,LANG_UNIVERSAL,NULL); 
    232             DoPlaySoundToSet(m_creature,SOUND_RAISE_SKELETONS); 
     209            DoScriptText(SAY_RAISE_SKELETONS, m_creature); 
    233210        } 
    234211 
  • trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_razorgore.cpp

    r90 r125  
    1818SDName: Boss_Razorgore 
    1919SD%Complete: 50 
    20 SDComment: Needs additional review. Phase 1 NYI 
     20SDComment: Needs additional review. Phase 1 NYI (Grethok the Controller) 
    2121SDCategory: Blackwing Lair 
    2222EndScriptData */ 
     
    2626//Razorgore Phase 2 Script 
    2727 
    28 #define SAY_NPC_DEATH           "If I fall into the abyss I'll take all of you mortals with me..." 
    29 #define SOUND_NPC_DEATH         8278 
    30 #define SAY_EGGS_BREAK3         "No! Not another one! I'll have your heads for this atrocity." 
    31 #define SOUND_EGGS_BREAK3       8277 
     28#define SAY_EGGS_BROKEN1        -1469022 
     29#define SAY_EGGS_BROKEN2        -1469023 
     30#define SAY_EGGS_BROKEN3        -1469024 
     31#define SAY_DEATH               -1469025 
    3232 
    3333#define SPELL_CLEAVE            22540 
     
    5959    { 
    6060        DoZoneInCombat(); 
     61    } 
     62 
     63    void JustDied(Unit* Killer) 
     64    { 
     65        DoScriptText(SAY_DEATH, m_creature); 
    6166    } 
    6267 
  • trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_vaelastrasz.cpp

    r109 r125  
    2424#include "precompiled.h" 
    2525 
     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 
    2634#define SPELL_ESSENCEOFTHERED       23513 
    2735#define SPELL_FLAMEBREATH           23461 
     
    3038#define SPELL_BURNINGADRENALINE     23620 
    3139#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         8281 
    35  
    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         8282 
    38  
    39 #define SAY_LINE3           "FLAME! DEATH! DESTRUCTION! COWER MORTALS BEFORE THE WRATH OF LORD....NO! I MUST FIGHT THIS!" 
    40 #define SOUND_LINE3         8283 
    41  
    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      8285 
    44  
    45 #define SAY_KILLTARGET      "Forgive me $N, your death only adds to my failure." 
    46 #define SOUND_KILLTARGET    8284 
    47  
    48 #define GOSSIP_ITEM         "Start Event <Needs Gossip Text>" 
    4940 
    5041struct TRINITY_DLL_DECL boss_vaelAI : public ScriptedAI 
     
    9485 
    9586        //10 seconds 
    96         DoYell(SAY_LINE1,LANG_UNIVERSAL,NULL); 
    97         DoPlaySoundToSet(m_creature,SOUND_LINE1); 
     87        DoScriptText(SAY_LINE1, m_creature); 
     88 
    9889        SpeachTimer = 10000; 
    9990        SpeachNum = 0; 
     
    10697            return; 
    10798 
    108         DoYell(SAY_KILLTARGET,LANG_UNIVERSAL,victim); 
    109         DoPlaySoundToSet(m_creature,SOUND_KILLTARGET); 
     99        DoScriptText(SAY_KILLTARGET, m_creature, victim); 
    110100    } 
    111101 
     
    127117                    case 0: 
    128118                        //16 seconds till next line 
    129                         DoYell(SAY_LINE2,LANG_UNIVERSAL,NULL); 
    130                         DoPlaySoundToSet(m_creature,SOUND_LINE2); 
     119                        DoScriptText(SAY_LINE2, m_creature); 
    131120                        SpeachTimer = 16000; 
    132121                        SpeachNum++; 
     
    134123                    case 1: 
    135124                        //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); 
    138126                        SpeachTimer = 10000; 
    139127                        SpeachNum++; 
     
    161149        if (m_creature->GetHealth()*100 / m_creature->GetMaxHealth() < 15 && !HasYelled) 
    162150        { 
    163             //Say our dialog 
    164             DoYell(SAY_HALFLIFE,LANG_UNIVERSAL,NULL); 
    165             DoPlaySoundToSet(m_creature,SOUND_HALFLIFE); 
     151            DoScriptText(SAY_HALFLIFE, m_creature); 
    166152            HasYelled = true; 
    167153        } 
     
    206192            // have the victim cast the spell on himself otherwise the third effect aura will be applied 
    207193            // to Vael instead of the player 
    208  
    209194            m_creature->getVictim()->CastSpell(m_creature->getVictim(),SPELL_BURNINGADRENALINE,1); 
    210195 
  • trunk/src/bindings/scripts/scripts/zone/blackwing_lair/boss_victor_nefarius.cpp

    r90 r125  
    2424#include "precompiled.h" 
    2525 
    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 
    3229 
    3330#define GOSSIP_ITEM_1           "I've made no mistakes." 
     
    4239 
    4340#define CREATURE_CHROMATIC_DRAKANOID    14302 
    44  
    4541#define CREATURE_NEFARIAN               11583 
    4642 
     
    192188    void BeginEvent(Player* target) 
    193189    { 
    194         DoYell(SAY_GAMESBEGIN_2,LANG_UNIVERSAL,NULL); 
    195         DoPlaySoundToSet(m_creature,SOUND_GAMESBEGIN); 
     190        DoScriptText(SAY_GAMESBEGIN_2, m_creature); 
    196191 
    197192        //Trinity::Singleton<MapManager>::Instance().GetMap(m_creature->GetMapId(), m_creature)->GetPlayers().begin(); 
     
    327322                        NefarianGUID = Nefarian->GetGUID(); 
    328323                    } 
    329                     else DoYell("UNABLE TO SPAWN NEF PROPERLY",LANG_UNIVERSAL,NULL); 
     324                    else error_log("SD2: Blackwing Lair: Unable to spawn nefarian properly."); 
    330325                } 
    331326 
     
    380375        case GOSSIP_ACTION_INFO_DEF+3: 
    381376            player->CLOSE_GOSSIP_MENU(); 
    382             _Creature->MonsterSay(SAY_GAMESBEGIN_1,LANG_UNIVERSAL,0); 
     377            DoScriptText(SAY_GAMESBEGIN_1, _Creature); 
    383378            ((boss_victor_nefariusAI*)_Creature->AI())->BeginEvent(player); 
    384379            break; 
  • trunk/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_aeonus.cpp

    r90 r125  
    1717/* ScriptData 
    1818SDName: Boss_Aeonus 
    19 SD%Complete: 100 
    20 SDComment: 
     19SD%Complete: 80 
     20SDComment: Some spells not implemented 
    2121SDCategory: Caverns of Time, The Dark Portal 
    2222EndScriptData */ 
     
    2424#include "precompiled.h" 
    2525 
    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 
    2932 
    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 
    4338 
    4439struct TRINITY_DLL_DECL boss_aeonusAI : public ScriptedAI 
     
    5954    void Aggro(Unit *who) 
    6055    { 
    61         DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); 
    62         DoPlaySoundToSet(m_creature, SOUND_AGGRO); 
     56        DoScriptText(SAY_AGGRO, m_creature); 
    6357    } 
    6458 
    6559    void JustDied(Unit *victim) 
    6660    { 
    67         //Just Died 
    68         DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 
    69         DoPlaySoundToSet(m_creature, SOUND_DEATH); 
     61        DoScriptText(SAY_DEATH, m_creature); 
    7062    } 
    7163 
    7264    void KilledUnit(Unit *victim) 
    7365    { 
    74         //Killed Unit 
    7566        switch(rand()%2) 
    7667        { 
    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; 
    8570        } 
    8671    } 
     
    9883            target = m_creature->getVictim(); 
    9984            if (target) 
    100                 DoCast(target, SAND_BREATH); 
     85                DoCast(target, SPELL_SAND_BREATH); 
    10186            SandBreath_Timer = 30000; 
    10287        }else SandBreath_Timer -= diff; 
     
    10590        if (TimeStop_Timer < diff) 
    10691        { 
    107             DoYell(SAY_BANISH, LANG_UNIVERSAL, NULL); 
    108             DoPlaySoundToSet(m_creature, SOUND_BANISH); 
     92            DoScriptText(SAY_BANISH, m_creature); 
    10993 
    110             DoCast(m_creature->getVictim(), TIME_STOP); 
     94            DoCast(m_creature->getVictim(), SPELL_TIME_STOP); 
    11195            TimeStop_Timer = 40000; 
    11296        }else TimeStop_Timer -= diff; 
     
    11599        if (Frenzy_Timer < diff) 
    116100        { 
    117             DoCast(m_creature, FRENZY); 
     101            DoCast(m_creature, SPELL_ENRAGE); 
    118102            Frenzy_Timer = 120000; 
    119103        }else Frenzy_Timer -= diff; 
  • trunk/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_chrono_lord_deja.cpp

    r90 r125  
    1717/* ScriptData 
    1818SDName: Boss_Chrono_Lord_Deja 
    19 SD%Complete: 100 
    20 SDComment: 
     19SD%Complete: 65 
     20SDComment: All abilities not implemented 
    2121SDCategory: Caverns of Time, The Dark Portal 
    2222EndScriptData */ 
     
    2424#include "precompiled.h" 
    2525 
    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 
    2932 
    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) 
    4339 
    4440struct TRINITY_DLL_DECL boss_chrono_lord_dejaAI : public ScriptedAI 
     
    5753    void Aggro(Unit *who) 
    5854    { 
    59         DoYell(SAY_AGGRO, LANG_UNIVERSAL, NULL); 
    60         DoPlaySoundToSet(m_creature, SOUND_AGGRO); 
    61  
     55        DoScriptText(SAY_AGGRO, m_creature); 
    6256    } 
    6357 
     
    6660        switch(rand()%2) 
    6761        { 
    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; 
    7664        } 
    7765    } 
     
    7967    void JustDied(Unit *victim) 
    8068    { 
    81         DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 
    82         DoPlaySoundToSet(m_creature, SOUND_DEATH); 
     69        DoScriptText(SAY_DEATH, m_creature); 
    8370    } 
    8471 
     
    9279        if (ArcaneBlast_Timer < diff) 
    9380        { 
    94             DoCast(m_creature->getVictim(), ARCANE_BLAST); 
     81            DoCast(m_creature->getVictim(), SPELL_ARCANE_BLAST); 
    9582            ArcaneBlast_Timer = 20000+rand()%5000; 
    9683        }else ArcaneBlast_Timer -= diff; 
     
    9986        if (TimeLapse_Timer < diff) 
    10087        { 
    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); 
    10490            TimeLapse_Timer = 15000+rand()%10000; 
    10591        }else TimeLapse_Timer -= diff; 
    10692 
    10793        DoMeleeAttackIfReady(); 
    108  
    10994    } 
    11095}; 
  • trunk/src/bindings/scripts/scripts/zone/caverns_of_time/dark_portal/boss_temporus.cpp

    r109 r125  
    1717/* ScriptData 
    1818SDName: Boss_Temporus 
    19 SD%Complete: 100 
    20 SDComment: 
     19SD%Complete: 75 
     20SDComment: More abilities need to be implemented 
    2121SDCategory: Caverns of Time, The Dark Portal 
    2222EndScriptData */ 
     
    2424#include "precompiled.h" 
    2525 
    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 
    3032 
    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) 
    4438 
    4539struct TRINITY_DLL_DECL boss_temporusAI : public ScriptedAI 
     
    5246    void Reset() 
    5347    { 
     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 
    5451        Haste_Timer = 20000; 
    5552        SpellReflection_Timer = 40000; 
     
    5855    void Aggro(Unit *who) 
    5956    { 
    60         DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); 
    61         DoPlaySoundToSet(m_creature, SOUND_AGGRO); 
     57        DoScriptText(SAY_AGGRO, m_creature); 
    6258    } 
    6359 
     
    6662        switch(rand()%2) 
    6763        { 
    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; 
    7666        } 
    7767    } 
     
    7969    void JustDied(Unit *victim) 
    8070    { 
    81         DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 
    82         DoPlaySoundToSet(m_creature, SOUND_DEATH); 
     71        DoScriptText(SAY_DEATH, m_creature); 
    8372    } 
    8473 
     
    9483            { 
    9584                //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); 
    9886 
    9987                m_creature->DealDamage(who, who->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false); 
     
    118106    { 
    119107        //Return since we have no target 
    120         if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) 
     108        if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) 
    121109            return; 
    122110 
    123         //Check if we have a current target 
    124         if( m_creature->getVictim() && m_creature->isAlive()) 
     111        //Attack Haste 
     112        if (Haste_Timer < diff) 
    125113        { 
     114            DoCast(m_creature, SPELL_HASTE); 
     115            Haste_Timer = 20000+rand()%5000; 
     116        }else Haste_Timer -= diff; 
    126117 
    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); 
    133122 
    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; 
    139126 
    140                 DoCast(m_creature, SPELL_REFLECT); 
    141                 SpellReflection_Timer = 40000+rand()%10000; 
    142             }else SpellReflection_Timer -= diff; 
    143  
    144             DoMeleeAttackIfReady(); 
    145  
    146         } 
     127        DoMeleeAttackIfReady(); 
    147128    } 
    148129}; 
  • trunk/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_captain_skarloc.cpp

    r90 r125  
    2525#include "def_old_hillsbrad.h" 
    2626 
    27 #define HOLY_LIGHT          29562 
    28 #define CLEANSE             39078 
    29 #define HAMMER_OF_JUSTICE   13005 
    30 #define HOLY_SHIELD         31904 
    31 #define DEVOTION_AURA       41452 
    32 #define CONSECRATION        41541 
     27#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 
    3333 
    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 
    4740 
    4841struct TRINITY_DLL_DECL boss_captain_skarlocAI : public ScriptedAI 
     
    6962        HammerOfJustice_Timer = 60000; 
    7063        HolyShield_Timer = 240000; 
    71         DevotionAura_Timer = 60000; 
     64        DevotionAura_Timer = 3000; 
    7265        Consecration_Timer = 8000; 
    7366    } 
     
    7568    void Aggro(Unit *who) 
    7669    { 
    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); 
    8873    } 
    8974 
     
    9277        switch(rand()%2) 
    9378        { 
    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; 
    10281        } 
    10382    } 
     
    10584    void JustDied(Unit *victim) 
    10685    { 
    107         DoYell(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) 
    11089            pInstance->SetData(TYPE_THRALL_PART1, DONE); 
    11190    } 
     
    12099        if (Holy_Light_Timer < diff) 
    121100        { 
    122             DoCast(m_creature, HOLY_LIGHT); 
     101            DoCast(m_creature, SPELL_HOLY_LIGHT); 
    123102            Holy_Light_Timer = 30000; 
    124103        }else Holy_Light_Timer -= diff; 
     
    127106        if(Cleanse_Timer  < diff) 
    128107        { 
    129             DoCast(m_creature, CLEANSE); 
    130             Cleanse_Timer = 10000 ; 
     108            DoCast(m_creature, SPELL_CLEANSE); 
     109            Cleanse_Timer = 10000; 
    131110        } else Cleanse_Timer -= diff; 
    132111 
     
    134113        if (HammerOfJustice_Timer < diff) 
    135114        { 
    136             DoCast(m_creature->getVictim(), HAMMER_OF_JUSTICE); 
     115            DoCast(m_creature->getVictim(), SPELL_HAMMER_OF_JUSTICE); 
    137116            HammerOfJustice_Timer = 60000; 
    138117        }else HammerOfJustice_Timer -= diff; 
     
    141120        if (HolyShield_Timer < diff) 
    142121        { 
    143             DoCast(m_creature,HOLY_SHIELD); 
     122            DoCast(m_creature, SPELL_HOLY_SHIELD); 
    144123            HolyShield_Timer = 240000; 
    145124        }else HolyShield_Timer -= diff; 
     
    148127        if (DevotionAura_Timer < diff) 
    149128        { 
    150             DoCast(m_creature,DEVOTION_AURA); 
     129            DoCast(m_creature, SPELL_DEVOTION_AURA); 
    151130            DevotionAura_Timer = 60000; 
    152131        }else DevotionAura_Timer -= diff; 
     
    155134        if (Consecration_Timer < diff) 
    156135        { 
    157             //DoCast(m_creature->getVictim(),CONSECRATION); 
     136            //DoCast(m_creature->getVictim(), SPELL_CONSECRATION); 
    158137            Consecration_Timer = 8000; 
    159138        }else Consecration_Timer -= diff; 
  • trunk/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_epoch_hunter.cpp

    r90 r125  
    2525#include "def_old_hillsbrad.h" 
    2626 
    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 
    5137 
    5238#define SPELL_SAND_BREATH           31914 
     
    8268        switch(rand()%2) 
    8369        { 
    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; 
    9272        } 
    9373    } 
     
    9777        switch(rand()%2) 
    9878        { 
    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; 
    10781        } 
    10882    } 
     
    11084    void JustDied(Unit *victim) 
    11185    { 
    112         DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 
    113         DoPlaySoundToSet(m_creature, SOUND_DEATH); 
     86        DoScriptText(SAY_DEATH, m_creature); 
    11487 
    115         if( pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS ) 
     88        if (pInstance && pInstance->GetData(TYPE_THRALL_EVENT) == IN_PROGRESS) 
    11689            pInstance->SetData(TYPE_THRALL_PART4, DONE); 
    11790    } 
     
    12497 
    12598        //Sand Breath 
    126         if( SandBreath_Timer < diff ) 
     99        if (SandBreath_Timer < diff) 
    127100        { 
    128             if( m_creature->IsNonMeleeSpellCasted(false) ) 
     101            if (m_creature->IsNonMeleeSpellCasted(false)) 
    129102                m_creature->InterruptNonMeleeSpells(false); 
    130103 
     
    133106            switch(rand()%2) 
    134107            { 
    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; 
    143110            } 
    144111 
     
    146113        }else SandBreath_Timer -= diff; 
    147114 
    148         if( ImpendingDeath_Timer < diff ) 
     115        if (ImpendingDeath_Timer < diff) 
    149116        { 
    150117            DoCast(m_creature->getVictim(),SPELL_IMPENDING_DEATH); 
     
    152119        }else ImpendingDeath_Timer -= diff; 
    153120 
    154         if( WingBuffet_Timer < diff ) 
     121        if (WingBuffet_Timer < diff) 
    155122        { 
    156             if( Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0) ) 
     123            if (Unit *target = SelectUnit(SELECT_TARGET_RANDOM,0)) 
    157124                DoCast(target,SPELL_WING_BUFFET); 
    158125            WingBuffet_Timer = 25000+rand()%10000; 
    159126        }else WingBuffet_Timer -= diff; 
    160127 
    161         if( Mda_Timer < diff ) 
     128        if (Mda_Timer < diff) 
    162129        { 
    163130            DoCast(m_creature,SPELL_MAGIC_DISRUPTION_AURA); 
  • trunk/src/bindings/scripts/scripts/zone/caverns_of_time/old_hillsbrad/boss_leutenant_drake.cpp

    r90 r125  
    5757######*/ 
    5858 
    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 
    8171 
    8272struct Location 
     
    136126    void Aggro(Unit *who) 
    137127    { 
    138         DoYell(SAY_AGGRO,LANG_UNIVERSAL,NULL); 
    139         DoPlaySoundToSet(m_creature, SOUND_AGGRO); 
     128        DoScriptText(SAY_AGGRO, m_creature); 
    140129    } 
    141130 
     
    144133        switch(rand()%2) 
    145134        { 
    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; 
    154137        } 
    155138    } 
     
    157140    void JustDied(Unit *victim) 
    158141    { 
    159         DoYell(SAY_DEATH,LANG_UNIVERSAL,NULL); 
    160         DoPlaySoundToSet(m_creature, SOUND_DEATH); 
     142        DoScriptText(SAY_DEATH, m_creature); 
    161143    } 
    162144 
     
    164146    { 
    165147        //TODO: make this work 
    166         if( CanPatrol && wpId == 0 ) 
     148        if (CanPatrol && wpId == 0) 
    167149        { 
    168150            m_creature->GetMotionMaster()->MovePoint(DrakeWP[0].wpId, DrakeWP[0].x, DrakeWP[0].y, DrakeWP[0].z); 
     
    171153 
    172154        //Return since we have no target 
    173         if (!m_creature->SelectHostilTarget() || !m_creature->getVictim() ) 
     155        if (!m_creature->SelectHostilTarget() || !m_creature->getVictim()) 
    174156            return; 
    175157 
     
    177159        if (Whirlwind_Timer < diff) 
    178160        { 
    179             DoCast(m_creature->getVictim(), WHIRLWIND); 
    180  
     161            DoCast(m_creature->getVictim(), SPELL_WHIRLWIND); 
    181162            Whirlwind_Timer = 20000+rand()%5000; 
    182163        }else Whirlwind_Timer -= diff; 
     
    185166        if (Fear_Timer < diff) 
    186167        { 
    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); 
    192170            Fear_Timer = 30000+rand()%10000; 
    193171        }else Fear_Timer -= diff; 
     
    196174        if (MortalStrike_Timer < diff) 
    197175        { 
    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); 
    203178            MortalStrike_Timer = 45000+rand()%5000; 
    204179        }else MortalStrike_Timer -= diff; 
    205  
    206         /* 
    207         //This only enabled on heroic? 
    208         //Exploding Shout 
    209         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         */ 
    223180 
    224181        DoMeleeAttackIfReady();