Advertisement
Guest User

npc_captured_rageclaw

a guest
Jul 26th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. /*####
  2. ## npc_captured_rageclaw
  3. ####*/
  4.  
  5. enum Rageclaw
  6. {
  7.     SPELL_UNSHACKLED                         = 55085,
  8.     SPELL_KNEEL                              = 39656,
  9.     SAY_RAGECLAW                             = 0
  10. };
  11.  
  12. class npc_captured_rageclaw : public CreatureScript
  13. {
  14. public:
  15.     npc_captured_rageclaw() : CreatureScript("npc_captured_rageclaw") { }
  16.  
  17.     struct npc_captured_rageclawAI : public ScriptedAI
  18.     {
  19.         npc_captured_rageclawAI(Creature* creature) : ScriptedAI(creature) { }
  20.  
  21.         void Reset() override
  22.         {
  23.             me->setFaction(35);
  24.             DoCast(me, SPELL_KNEEL, true); // Little Hack for kneel - Thanks Illy :P
  25.         }
  26.  
  27.         void MoveInLineOfSight(Unit* /*who*/) override { }
  28.  
  29.         void SpellHit(Unit* /*caster*/, const SpellInfo* spell) override
  30.         {
  31.             if (spell->Id == SPELL_FREE_RAGECLAW)
  32.             {
  33.                 me->RemoveAurasDueToSpell(SPELL_LEFT_CHAIN);
  34.                 me->RemoveAurasDueToSpell(SPELL_RIGHT_CHAIN);
  35.                 me->RemoveAurasDueToSpell(SPELL_KNEEL);
  36.                 me->setFaction(me->GetCreatureTemplate()->faction);
  37.                 DoCast(me, SPELL_UNSHACKLED, true);
  38.                 Talk(SAY_RAGECLAW);
  39.                 me->GetMotionMaster()->MoveRandom(10);
  40.                 me->DespawnOrUnsummon(10000);
  41.             }
  42.         }
  43.     };
  44.  
  45.     CreatureAI* GetAI(Creature* creature) const override
  46.     {
  47.         return new npc_captured_rageclawAI(creature);
  48.     }
  49. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement