Advertisement
nevadies

Untitled

Jul 22nd, 2014
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.96 KB | None | 0 0
  1. /*
  2. Boss Antrix
  3. By Nevadies
  4. 05-31-2012
  5. */
  6.  
  7.  
  8. #include "ScriptPCH.h"
  9.  
  10. enum Spells
  11. {
  12. SPELL_SHADOW_LANCE = 81635,
  13. SPELL_SHADOWSTEP = 589,
  14. SPELL_SHADOW_NOVA = 34914,
  15. SPELL_SHADOW_BLAST = 81636,
  16. SPELL_GRAVITY_BOMB = 81636,
  17. SPELL_DEATH_COIL = 92122,
  18. SPELL_FEAR = 29321,
  19. };
  20.  
  21. class boss_dragon2 : public CreatureScript
  22. {
  23. public:
  24.  
  25. boss_dragon2()
  26. : CreatureScript("boss_dragon2"){}
  27.  
  28. struct boss_dragon2AI : public ScriptedAI
  29. {
  30. boss_dragon2AI(Creature * c) : ScriptedAI(c){}
  31. uint32 ShadowLanceTimer;
  32. uint32 ShadowStepTimer;
  33. uint32 ShadowNovaTimer;
  34. uint32 ShadowBlastTimer;
  35. uint32 GravityBombTimer;
  36. uint32 DeathCoilTimer;
  37. uint32 FearTimer;
  38.  
  39. void Reset()
  40. {
  41. ShadowLanceTimer = 3000;
  42. ShadowStepTimer = 4500;
  43. ShadowNovaTimer = 6000;
  44. ShadowBlastTimer = 1500;
  45. GravityBombTimer = 1800;
  46. DeathCoilTimer = 1000;
  47. FearTimer = 7000;
  48. me->RestoreFaction();
  49. }
  50.  
  51. void KilledUnit(Unit *)
  52. {
  53. me->MonsterYell("As I leach your soul, I'll leach them all!", LANG_UNIVERSAL, me->GetGUID());
  54. }
  55.  
  56. void JustDied(Unit *)
  57. {
  58. me->MonsterYell("You've beaten me! You won't pass us all!", LANG_UNIVERSAL, me->GetGUID());
  59. }
  60.  
  61. void EnterCombat(Unit* who)
  62. {
  63. me->MonsterYell("You've entered the Realm of Shadow's! You won't return!", LANG_UNIVERSAL, me->GetGUID());
  64. }
  65.  
  66. void AttackStart(Unit* who)
  67. {
  68. ScriptedAI::AttackStart(who);
  69. }
  70.  
  71. void UpdateAI(const uint32 diff)
  72. {
  73. if (!UpdateVictim())
  74. return;
  75.  
  76. if (ShadowLanceTimer < diff)
  77. {
  78. DoCast(me->getVictim(), SPELL_SHADOW_LANCE);
  79. ShadowLanceTimer = 4500;
  80. }
  81. else
  82. ShadowLanceTimer -= diff;
  83.  
  84. if (ShadowStepTimer < diff)
  85. {
  86. DoCast(me->getVictim(), SPELL_SHADOWSTEP);
  87. ShadowStepTimer = 3000;
  88. }
  89. else
  90. ShadowStepTimer -= diff;
  91.  
  92. if (ShadowNovaTimer < diff)
  93. {
  94. DoCast(me->getVictim(), SPELL_SHADOW_NOVA);
  95. ShadowNovaTimer = 6000;
  96. }
  97. else
  98. ShadowNovaTimer -= diff;
  99.  
  100. if (ShadowBlastTimer < diff)
  101. {
  102. DoCast(me->getVictim(), SPELL_SHADOW_BLAST);
  103. ShadowBlastTimer = 5500;
  104. }
  105. else
  106. ShadowBlastTimer -= diff;
  107.  
  108. if (GravityBombTimer < diff)
  109. {
  110. DoCast(me->getVictim(), SPELL_GRAVITY_BOMB);
  111. GravityBombTimer = 3500;
  112. }
  113. else
  114. GravityBombTimer -= diff;
  115.  
  116. if (DeathCoilTimer < diff)
  117. {
  118. DoCast(me->getVictim(), SPELL_DEATH_COIL);
  119. DeathCoilTimer = 11000;
  120. }
  121. else
  122. DeathCoilTimer -= diff;
  123.  
  124. if (FearTimer < diff)
  125. {
  126. DoCast(me->getVictim(), SPELL_FEAR);
  127. FearTimer = 7000;
  128. }
  129. else
  130. FearTimer -= diff;
  131. DoMeleeAttackIfReady(); // just add this line
  132. }
  133.  
  134. };
  135.  
  136. CreatureAI* GetAI(Creature* creature) const
  137. {
  138. return new boss_dragon2AI(creature);
  139. }
  140.  
  141. };
  142.  
  143. void AddSC_boss_dragon2()
  144. {
  145. new boss_dragon2();
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement