コード例 #1
0
        public int charge_jump()
        {
            if (WeenieObj != null && !WeenieObj.CanJump(JumpExtent))
            {
                return(0x49);
            }

            var forward = InterpretedState.ForwardCommand;

            if (forward == (uint)MotionCommand.Falling || forward >= (uint)MotionCommand.Crouch && forward < (uint)MotionCommand.Sleeping)
            {
                return(0x48);
            }
            else
            {
                if (PhysicsObj.TransientState.HasFlag(TransientStateFlags.Contact | TransientStateFlags.OnWalkable) && forward == (uint)MotionCommand.Ready &&
                    InterpretedState.SideStepCommand == 0 && InterpretedState.TurnCommand == 0)
                {
                    StandingLongJump = true;
                }
            }
            return(0);
        }
コード例 #2
0
        public int charge_jump()
        {
            if (WeenieObj != null && !WeenieObj.CanJump(JumpExtent))
            {
                return(0x49);
            }

            var forward = InterpretedState.ForwardCommand;

            if (forward == 0x40000008 || forward > 0x41000011 && forward < 0x41000014)
            {
                return(0x48);
            }
            else
            {
                if (PhysicsObj.TransientState.HasFlag(TransientStateFlags.Contact | TransientStateFlags.OnWalkable) && forward == 0x41000003 &&
                    InterpretedState.SideStepCommand == 0 && InterpretedState.TurnCommand == 0)
                {
                    StandingLongJump = true;
                }
            }
            return(0);
        }