Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.52 KB | None | 0 0
  1. class npc_mirror_image : public CreatureScript
  2. {
  3. public:
  4.     npc_mirror_image() : CreatureScript("npc_mirror_image") { }
  5.  
  6.     struct npc_mirror_imageAI : CasterAI
  7.     {
  8.         npc_mirror_imageAI(Creature *c) : CasterAI(c) {}
  9.  
  10.         void InitializeAI()
  11.         {
  12.             CasterAI::InitializeAI();
  13.             Unit * owner = me->GetOwner();
  14.             IF (!owner)
  15.                 RETURN;
  16.             // Inherit Master's Threat List (not yet implemented)
  17.            owner->CastSpell((Unit*)NULL, 58838, true);
  18.            // here mirror image casts on summoner spell (not present in client dbc) 49866
  19.            // here should be auras (not present in client dbc): 35657, 35658, 35659, 35660 selfcasted by mirror images (stats related?)
  20.            // Clone Me!
  21.            owner->CastSpell(me, 45204, false);
  22.        }
  23.  
  24.        // Do not reload Creature templates on evade mode enter - prevent visual lost
  25.        void EnterEvadeMode()
  26.        {
  27.            if (me->IsInEvadeMode() || !me->isAlive())
  28.                return;
  29.  
  30.            Unit *owner = me->GetCharmerOrOwner();
  31.  
  32.            me->CombatStop(true);
  33.            if (owner && !me->HasUnitState(UNIT_STAT_FOLLOW))
  34.            {
  35.                me->GetMotionMaster()->Clear(false);
  36.                me->GetMotionMaster()->MoveFollow(owner, PET_FOLLOW_DIST, me->GetFollowAngle(), MOTION_SLOT_ACTIVE);
  37.            }
  38.        }
  39.    };
  40.  
  41.    CreatureAI *GetAI(Creature *creature) const
  42.    {
  43.        return new npc_mirror_imageAI(creature);
  44.    }
  45. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement