Exemplo n.º 1
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.get_handle().ActorControl;

            if (actorControl == null)
            {
                return;
            }
            if (!actorControl.IsDeadState)
            {
                actorControl.TerminateMove();
                actorControl.ClearMoveCommand();
                actorControl.ForceAbortCurUseSkill();
                actorControl.SetOutOfControl(true, OutOfControlType.Taunt);
                actorControl.SetTauntTarget(actorHandle);
            }
        }
Exemplo n.º 2
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;
                    }
                }
            }
        }
Exemplo n.º 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;
            }
        }
Exemplo n.º 4
0
        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);
            }
        }