Guest User

Untitled

a guest
May 28th, 2012
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "ScriptPCH.h"
  2.  
  3. enum Spells
  4. {
  5.     SPELL_ROAR                                  = 42398,
  6.     SHAKE_CAMERA                                = 46853,
  7.     SPELL_FREEZE                                = 58534,
  8.     SPELL_ENRAGE                                = 23537,
  9.     SPELL_KNOCKBACK                             = 46360,
  10. };
  11.  
  12.  
  13. class Yeti_Boss : public CreatureScript
  14. {
  15.     public:
  16.  
  17.         Yeti_Boss()
  18.             : CreatureScript("Yeti_Boss")
  19.         {
  20.         }
  21.  
  22.         struct example_creatureAI : public ScriptedAI
  23.         {
  24.            
  25.             example_creatureAI(Creature* creature) : ScriptedAI(creature) {}
  26.            
  27.             uint32 m_uiBeserkTimer;                                
  28.             uint32 m_uiPhase;                                        
  29.         uint32 m_uiFrostPunchTimer;
  30.         uint32 m_uiRoarTimer;
  31.  
  32.  
  33.             void Reset()
  34.             {
  35.                 m_uiPhase = 0;  
  36.                 m_uiFrostPunchTimer = 12000;  
  37.                 m_uiRoarTimer = 20000;  
  38.                 m_uiEnrageTimer = 180000;
  39.                 me->RestoreFaction();
  40.             }
  41.  
  42.             void EnterCombat(Unit* unit, Player* player)
  43.             {
  44.             if (Unit *pRandPlayer = SelectUnit(SELECT_TARGET_RANDOM,0))
  45.             Player * guid;
  46.             Player * target;
  47.             guid = pRandPlayer->GetGUID();
  48.             target = &guid
  49.             DoCast(*target, SPELL_ROAR);
  50.             DoCast(*target, SHAKE_CAMERA);
  51.             DoCast(*target, SPELL_PUNCH);
  52.             DoCast(*target, SPELL_FREEZE);
  53.                 char message[250];
  54.                     print(message, 250, "Yetiname glares at $N, roars, and casts Frost Punch!", player->GetGUID());
  55.                     Me->MonsterTextEmote(message, player->GetGUID());
  56.             delete target;
  57.             }
  58.  
  59.             void EnterEvadeMode()
  60.             {
  61.  
  62.             }
  63.  
  64.             void UpdateAI(const uint32 uiDiff)
  65.             {
  66.  
  67.                 if (!UpdateVictim())
  68.                     return;
  69.  
  70.                     if (m_uiFrostPunchTimer <= uiDiff)
  71.                     {
  72.                          if (Unit *pRandPlayer = SelectUnit(SELECT_TARGET_RANDOM,0))
  73.                          Player * guid;
  74.                          Player * target;
  75.                          guid = pRandPlayer->GetGUID();
  76.                          target = &guid
  77.                          
  78.                          char message[250];
  79.                          print(message, 250, "Yetiname casts Frost Punch on $N!", *target);
  80.                          Me->MonsterTextEmote(message, *target);
  81.                          DoCast(*target, SPELL_PUNCH);
  82.                          DoCast(*target, SPELL_FREEZE);
  83.                          delete target;
  84.  
  85.                         m_uiSpell3Timer = 12000;
  86.                     }
  87.                     else
  88.                         m_uiFrostPunchTimer -= uiDiff;
  89.  
  90.                     if (m_uiRoarTimer <= uiDiff)
  91.                     {
  92.                          char message[250];
  93.                          print(message, 250, "Yetiname roars at $N!", *target));
  94.                          player->MonsterTextEmote(message, *target);
  95.  
  96.                          if (Unit *pRandPlayer = SelectUnit(SELECT_TARGET_RANDOM,0))
  97.                          Player * guid;
  98.                          Player * target;
  99.                          guid = pRandPlayer->GetGUID();
  100.                          target = &guid
  101.                          DoCast(*target, SPELL_ROAR);
  102.                          DoCast(*target, SHAKE_CAMERA);
  103.                          delete target;
  104.  
  105.                         m_uiRoarTimer = 20000;
  106.                     }
  107.                     else
  108.                         m_uiRoarTimer -= uiDiff;                       
  109.                        
  110.                     if (m_uiBeserkTimer <= uiDiff)
  111.                     {
  112.                         DoCast(me, SPELL_ENRAGE);
  113.                     }
  114.                     else
  115.                         m_uiBeserkTimer -= uiDiff;
  116.                
  117.                 DoMeleeAttackIfReady();
  118.             }
  119.         };
  120.  
  121.         CreatureAI* GetAI(Creature* creature) const
  122.         {
  123.             return new example_creatureAI(creature);
  124.         }
  125. };
  126.  
  127. void AddSC_Yeti_Boss()
  128. {
  129.     new Yeti_Boss();
  130. }
Advertisement
Add Comment
Please, Sign In to add comment