Beispiel #1
0
        public override void Enter(AGE.Action _action, Track _track)
        {
            base.Enter(_action, _track);
            this.actorObj = _action.GetActorHandle(this.targetId);
            PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.attackId);

            if ((this.actorObj != 0) && (actorHandle != 0))
            {
                ObjWrapper actorControl = this.actorObj.handle.ActorControl;
                if ((actorControl != null) && !actorControl.IsDeadState)
                {
                    actorControl.TerminateMove();
                    actorControl.ClearMoveCommand();
                    actorControl.ForceAbortCurUseSkill();
                    actorControl.SetOutOfControl(true, (OutOfControlType)this.subType);
                    switch (this.subType)
                    {
                    case 0:
                        actorControl.SetTauntTarget(actorHandle);
                        break;

                    case 2:
                        actorControl.SetTerrorActor(actorHandle);
                        break;
                    }
                }
            }
        }
Beispiel #2
0
        public override void Enter(Action _action, Track _track)
        {
            base.Enter(_action, _track);
            this.actorObj = _action.GetActorHandle(this.targetId);
            PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.attackId);

            if (!this.actorObj || !actorHandle)
            {
                return;
            }
            ObjWrapper actorControl = this.actorObj.handle.ActorControl;

            if (actorControl == null)
            {
                return;
            }
            if (!actorControl.IsDeadState)
            {
                actorControl.TerminateMove();
                actorControl.ClearMoveCommand();
                actorControl.ForceAbortCurUseSkill();
                actorControl.SetOutOfControl(true, OutOfControlType.Taunt);
                actorControl.SetTauntTarget(actorHandle);
            }
        }
Beispiel #3
0
        public override void Enter(Action _action, Track _track)
        {
            base.Enter(_action, _track);
            this.actorObj = _action.GetActorHandle(this.targetId);
            if (!this.actorObj)
            {
                return;
            }
            ObjWrapper actorControl = this.actorObj.get_handle().ActorControl;

            if (actorControl == null)
            {
                return;
            }
            this.PauseAnimation();
            actorControl.TerminateMove();
            actorControl.ClearMoveCommand();
            actorControl.ForceAbortCurUseSkill();
            this.actorObj.get_handle().ActorControl.AddNoAbilityFlag(ObjAbilityType.ObjAbility_Move);
            this.actorObj.get_handle().ActorControl.AddNoAbilityFlag(ObjAbilityType.ObjAbility_Freeze);
            this.actorObj.get_handle().ActorControl.AddDisableSkillFlag(SkillSlotType.SLOT_SKILL_COUNT, false);
            if (this.freezeHeight > 0 && this.actorObj.get_handle().isMovable)
            {
                VInt  vInt     = 0;
                VInt3 location = this.actorObj.get_handle().location;
                PathfindingUtility.GetGroundY(location, out vInt);
                location.y = vInt.i + this.freezeHeight;
                this.actorObj.get_handle().location = location;
            }
        }
        public override void Process(Action _action, Track _track)
        {
            PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.targetId);

            if (!actorHandle)
            {
                if (ActionManager.Instance.isPrintLog)
                {
                }
                return;
            }
            ObjWrapper actorControl = actorHandle.get_handle().ActorControl;

            if (actorControl == null)
            {
                if (ActionManager.Instance.isPrintLog)
                {
                }
                return;
            }
            if (this.stopMove)
            {
                actorControl.TerminateMove();
            }
            if (this.clearMove)
            {
                actorControl.ClearMoveCommand();
            }
            if (this.stopCurSkill)
            {
                actorControl.ForceAbortCurUseSkill();
            }
            if (this.delayStopCurSkill && !this.stopCurSkill)
            {
                actorControl.DelayAbortCurUseSkill();
            }
            if (this.deadControl && actorControl.actor.TheStaticData.TheBaseAttribute.DeadControl && actorControl.IsDeadState)
            {
                actorControl.AddNoAbilityFlag(ObjAbilityType.ObjAbility_DeadControl);
                actorControl.SetDeadMode(ObjDeadMode.DeadState_Idle);
            }
        }
Beispiel #5
0
        public override void Process(Action _action, Track _track)
        {
            PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.targetId);

            if (actorHandle == 0)
            {
                if (ActionManager.Instance.isPrintLog)
                {
                }
            }
            else
            {
                ObjWrapper actorControl = actorHandle.handle.ActorControl;
                if (actorControl == null)
                {
                    if (ActionManager.Instance.isPrintLog)
                    {
                    }
                }
                else
                {
                    if (this.stopMove)
                    {
                        actorControl.TerminateMove();
                    }
                    if (this.clearMove)
                    {
                        actorControl.ClearMoveCommand();
                    }
                    if (this.stopCurSkill)
                    {
                        actorControl.ForceAbortCurUseSkill();
                    }
                    if (this.delayStopCurSkill && !this.stopCurSkill)
                    {
                        actorControl.DelayAbortCurUseSkill();
                    }
                }
            }
        }
Beispiel #6
0
 public override void Enter(AGE.Action _action, Track _track)
 {
     base.Enter(_action, _track);
     this.actorObj = _action.GetActorHandle(this.targetId);
     if (this.actorObj != 0)
     {
         ObjWrapper actorControl = this.actorObj.handle.ActorControl;
         if (actorControl != null)
         {
             this.PauseAnimation();
             actorControl.TerminateMove();
             actorControl.ClearMoveCommand();
             actorControl.ForceAbortCurUseSkill();
             this.actorObj.handle.ActorControl.AddNoAbilityFlag(ObjAbilityType.ObjAbility_Move);
             this.actorObj.handle.ActorControl.AddDisableSkillFlag(SkillSlotType.SLOT_SKILL_COUNT);
             if ((this.freezeHeight > 0) && this.actorObj.handle.isMovable)
             {
                 VInt3 location = this.actorObj.handle.location;
                 location.y += this.freezeHeight;
                 this.actorObj.handle.location = location;
             }
         }
     }
 }