public static void MoveState(AbstractFighter actor) { if (actor.CheckSmash("ForwardSmash")) { actor.doAction("Dash"); } //float direction = actor.GetControllerAxis("Horizontal") * actor.facing; //shield if (actor.KeyBuffered("Attack")) { actor.doGroundAttack(); } if (actor.KeyBuffered("Special")) { actor.doGroundSpecial(); } if (actor.KeyBuffered("Jump")) { actor.doAction("Jump"); } // else if (actor.DirectionHeld("Down")) // actor.doAction("Crouch"); else if (actor.GetAxis("Horizontal") == 0.0f) { actor.doAction("Stop"); } if (actor.KeyBuffered(InputTypeUtil.GetBackward(actor.getBattleObject()))) { actor.SendMessage("flip"); //TODO PIVOT } //Two other kinds of stop? Not sure if these are needed }
public static void AirControl(AbstractFighter actor) { actor.BroadcastMessage("ChangeXPreferred", actor.GetAxis("Horizontal") * actor.GetFloatVar(TussleConstants.FighterAttributes.MAX_AIR_SPEED)); if (Mathf.Abs(actor.GetFloatVar(TussleConstants.MotionVariableNames.XSPEED)) > actor.GetFloatVar(TussleConstants.FighterAttributes.MAX_AIR_SPEED)) { actor.SendMessage("accel", actor.GetFloatVar(TussleConstants.FighterAttributes.AIR_CONTROL)); } if (Mathf.Abs(actor.GetFloatVar(TussleConstants.MotionVariableNames.YSPEED)) > Mathf.Abs(actor.GetFloatVar(TussleConstants.FighterAttributes.MAX_FALL_SPEED))) { actor.SetVar("landing_lag", actor.GetIntVar(TussleConstants.FighterAttributes.HEAVY_LANDING_LAG)); } }
public static void DashState(AbstractFighter actor) { /* * (key,invkey) = _actor.getForwardBackwardKeys() * if _actor.keyHeld('attack'): * if _actor.keysContain('shield'): * _actor.doAction('DashGrab') * elif _actor.checkSmash(key): * print("Dash cancelled into forward smash") * _actor.doAction('ForwardSmash') * else: * _actor.doAction('DashAttack') * elif _actor.keyHeld('special'): * _actor.doGroundSpecial() * elif _actor.keysContain('down', 0.5): * _actor.doAction('RunStop') * elif not _actor.keysContain('left') and not _actor.keysContain('right') and not _actor.keysContain('down'): * _actor.doAction('RunStop') * elif _actor.preferred_xspeed < 0 and not _actor.keysContain('left',1) and _actor.keysContain('right',1): * _actor.doAction('RunStop') * elif _actor.preferred_xspeed > 0 and not _actor.keysContain('right',1) and _actor.keysContain('left',1): * _actor.doAction('RunStop') */ //float direction = actor.GetControllerAxis("Horizontal") * actor.facing; //shield if (actor.KeyBuffered("Attack")) { actor.doGroundAttack(); } if (actor.KeyBuffered("Special")) { actor.doGroundSpecial(); } if (actor.KeyBuffered("Jump")) { actor.doAction("Jump"); } else if (actor.GetAxis("Horizontal") == 0.0f) { actor.doAction("Stop"); } if (actor.KeyBuffered(InputTypeUtil.GetBackward(actor.getBattleObject()))) { actor.SendMessage("flip"); //TODO PIVOT } }