From d69584f8fc0c6756b020c3ee8dce1c2fad7a40ee Mon Sep 17 00:00:00 2001 From: legendiguess Date: Fri, 11 Mar 2022 01:57:29 +0500 Subject: [PATCH] Tweak character jump --- src/map/sproinger.rs | 2 +- src/player/character.rs | 11 ++++++++++- src/player/mod.rs | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/map/sproinger.rs b/src/map/sproinger.rs index 6f515bc681..2879fb94ff 100644 --- a/src/map/sproinger.rs +++ b/src/map/sproinger.rs @@ -25,7 +25,7 @@ const COOLDOWN: f32 = 0.75; const TRIGGER_WIDTH: f32 = 32.0; const TRIGGER_HEIGHT: f32 = 8.0; -const FORCE: f32 = 35.0; +const FORCE: f32 = 25.0; #[derive(Default)] pub struct Sproinger { diff --git a/src/player/character.rs b/src/player/character.rs index ad77fbd3dc..a77ae31477 100644 --- a/src/player/character.rs +++ b/src/player/character.rs @@ -75,13 +75,18 @@ pub struct PlayerCharacterMetadata { /// This is the float gravity factor of the player character #[serde(default = "PlayerCharacterMetadata::default_float_gravity_factor")] pub float_gravity_factor: f32, + /// This is the gravity of the player character + #[serde(default = "PlayerCharacterMetadata::default_gravity")] + pub gravity: f32, } impl PlayerCharacterMetadata { const DEFAULT_HEAD_THRESHOLD: f32 = 24.0; const DEFAULT_LEGS_THRESHOLD: f32 = 42.0; - const DEFAULT_JUMP_FORCE: f32 = 15.0; + const DEFAULT_GRAVITY: f32 = 1.0; + + const DEFAULT_JUMP_FORCE: f32 = 9.5; const DEFAULT_MOVE_SPEED: f32 = 5.0; const DEFAULT_SLIDE_SPEED_FACTOR: f32 = 3.0; const DEFAULT_SLIDE_DURATION: f32 = 0.1; @@ -145,4 +150,8 @@ impl PlayerCharacterMetadata { pub fn default_hat_mount() -> Vec2 { vec2(Self::DEFAULT_HAT_MOUNT_X, Self::DEFAULT_HAT_MOUNT_Y) } + + pub fn default_gravity() -> f32 { + Self::DEFAULT_GRAVITY + } } diff --git a/src/player/mod.rs b/src/player/mod.rs index 0eae96af33..3b4eabaa4c 100644 --- a/src/player/mod.rs +++ b/src/player/mod.rs @@ -207,6 +207,7 @@ pub fn spawn_player( size: character.collider_size, has_friction: false, can_rotate: false, + gravity: character.gravity, ..Default::default() };