Add ledge getup, ledge intangibility limit & fix walk-off velocity (#93)
Reviewed-on: #93 Co-authored-by: Álex Román Núñez <eirexe@eirteam.moe>
This commit was merged in pull request #93.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
use crate::fighter::state::jump::{self};
|
||||
use crate::fighter::state::land::{LandingState, LandingType};
|
||||
use crate::fighter::state::ledge_wait::LedgeWaitState;
|
||||
use crate::fighter::state::ledge_grab::LedgeGrabState;
|
||||
use crate::fighter::state::{
|
||||
CollisionContext, FighterState, InterruptContext, air_attack, air_dodge,
|
||||
};
|
||||
@@ -129,10 +129,7 @@ pub fn collision_interrupt(
|
||||
) -> Option<FighterState> {
|
||||
if ctx.velocity.y <= FGi32::ZERO {
|
||||
if let Some(ledge_result) = ctx.air_collide_with_ledges() {
|
||||
return Some(FighterState::LedgeWait(LedgeWaitState {
|
||||
airborne_state_common: AirborneStateCommon::default(),
|
||||
ledge_id: ledge_result.ledge,
|
||||
}));
|
||||
return Some(FighterState::LedgeGrab(LedgeGrabState::new(ledge_result.ledge)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +141,7 @@ pub fn collision_interrupt(
|
||||
ctx.ecb.right -= diff;
|
||||
ctx.translation.0 = res.hit_position;
|
||||
ctx.presentation_snap.0 = true;
|
||||
ctx.surface.land(res.line_id);
|
||||
ctx.surface.land(res.line_id, ctx.ledge_info);
|
||||
Some(FighterState::Land(LandingState::create(landing_type)))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user