Advertisement
Guest User

Untitled

a guest
Jul 17th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2.  
  3. enum Spells
  4. {
  5.  
  6. SPELL_jump = 61724,
  7. SPELL_drainlife = 70213,
  8. SPELL_fusearmor = 64771,
  9. SPELL_curseofdoom = 64157,
  10. SPELL_shadownova = 71106,
  11. SPELL_shadowbreath = 59126,
  12. SPELL_AURA = 69491,
  13. SPELL_duse = 69859
  14. };
  15.  
  16.  
  17.  
  18.  
  19. // zajac script
  20.  
  21. class boss_zajac : public CreatureScript
  22. {
  23. public:
  24. boss_zajac() : CreatureScript("boss_zajac") { }
  25.  
  26. struct boss_zajacAI : public ScriptedAI
  27. {
  28. boss_zajacAI(Creature* pCreature) : ScriptedAI(pCreature) {}
  29.  
  30.  
  31. uint32 m_AURA_Timer;
  32. uint32 m_duse_Timer;
  33. uint32 m_uijump_Timer;
  34. uint32 m_uidrainlife_Timer;
  35. uint32 m_uifusearmor_Timer;
  36. uint32 m_uicurseofdoom_Timer;
  37. uint32 m_uishadownova_Timer;
  38. uint32 m_uishadowbreath_Timer;
  39.  
  40.  
  41.  
  42. void Reset()
  43. {
  44.  
  45. m_uiduse_Timer = False;
  46. m_uiAURA_Timer = False;
  47. m_uijump_Timer = 60000;
  48. m_uidrainlife_Timer = 48000;
  49. m_uifusearmor_Timer = 12000;
  50. m_uicurseofdoom_Timer = 5000;
  51. m_uishadownova_Timer = 18000;
  52. m_uishadowbreath_Timer = 30000;
  53.  
  54.  
  55.  
  56.  
  57. }
  58.  
  59. void EnterCombat(Unit * target)
  60. {
  61. me->MonsterYell("I'm not a rabbit, I'm dark rabbit",LANG_UNIVERSAL,NULL);
  62. }
  63.  
  64. void KilledUnit(Unit * victim)
  65. {
  66. me->MonsterYell("forsake the light embrace the darkness",LANG_UNIVERSAL,NULL);
  67. }
  68.  
  69. void JustDied(Unit * killer)
  70. {
  71. me->MonsterYell("Hell no surprise to me anymore",LANG_UNIVERSAL,NULL);
  72. }
  73.  
  74. void UpdateAI(const uint32 uiDiff)
  75. {
  76. if (!UpdateVictim())
  77. return;
  78.  
  79. //curseofdoom_Timer
  80. if (m_uicurseofdoom_Timer <= uiDiff)
  81. {
  82. if (Unit* pTarget = SelectUnit(SELECT_TARGET_RANDOM, 0))
  83. DoCast(pTarget, SPELL_curseofdoom);
  84.  
  85. m_uicurseofdoom_Timer = 19000;
  86. }
  87. else
  88. m_uicurseofdoom_Timer -= uiDiff;
  89.  
  90.  
  91. //fusearmor_Timer
  92. if (m_uifusearmor_Timer <= uiDiff)
  93. {
  94. DoCast(me->getVictim(), SPELL_fusearmor);
  95.  
  96. m_uifusearmor_Timer = 19000;
  97. }
  98. else
  99. m_uifusearmor_Timer -= uiDiff;
  100.  
  101.  
  102. //shadownova_Timer
  103. if (m_uishadownova_Timer <= uiDiff)
  104. {
  105. DoCast(me->getVictim(), SPELL_shadownova);
  106.  
  107. m_uishadownova_Timer = 20000;
  108. }
  109. else
  110. m_uishadownova_Timer -= uiDiff;
  111.  
  112.  
  113. //shadowbreath_timer
  114. if (m_uishadowbreath_Timer <= uiDiff)
  115. {
  116. DoCast(me->getVictim(), SPELL_shadowbreath);
  117.  
  118. m_uishadowbreath_Timer = 20000;
  119. }
  120. else
  121. m_uishadowbreath_Timer -= uiDiff;
  122.  
  123.  
  124.  
  125. //drainlife_Timer
  126. if (m_uidrainlife_Timer <= uiDiff)
  127. {
  128. DoCast(me->getVictim(), SPELL_drainlife);
  129.  
  130. m_uidrainlife_Timer = 48000;
  131. }
  132. else
  133. m_uidrainlife_Timer -= uiDiff;
  134.  
  135. //faze 2
  136.  
  137. if ((me->GetHealth()*100 / me->GetMaxHealth() <= 30) && !AURA)
  138. {
  139. DoCast(me, AURA);
  140. DoCast(me, duse);
  141. me->SetDisplayId(5927);
  142. me->MonsterYell("I... Am... DEMON",LANG_UNIVERSAL,NULL);
  143. //jump_Timer
  144. if (m_uijump_Timer <= uiDiff)
  145. {
  146. DoCast(me->getVictim(), SPELL_jump);
  147.  
  148. m_uijump_Timer = 28000;
  149. }
  150. else
  151. m_uijump_Timer -= uiDiff;
  152.  
  153.  
  154.  
  155.  
  156.  
  157. DoMeleeAttackIfReady();
  158. }
  159. };
  160.  
  161. CreatureAI *GetAI(Creature *creature) const
  162. {
  163. return new boss_zajacAI(creature);
  164.  
  165. }
  166. };
  167.  
  168. void AddSC_boss_zajac()
  169. {
  170. new boss_zajac;
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement