MagicNStuff/source/components/characters/character_movement_base.gd
2025-02-25 22:07:11 +01:00

32 lines
1.1 KiB
GDScript

class_name CharacterMovementBase
extends Resource
@export var jump_height: float = 1.25
@export var walking_speed: float = 3.5
@export var air_walking_speed: float = 3.75
@export var running_speed: float = 5.5
@export var air_running_speed: float = 6.0
@export var max_turning_speed: float = 50.0
@export var max_air_turning_speed: float = 10.0
@export_exp_easing("inout") var max_acceleration: float = 30.0
@export_exp_easing("inout") var max_air_acceleration: float = 10.0
@export_exp_easing("attenuation") var max_friction: float = 20.0
@export_exp_easing("attenuation") var max_air_friction: float = 10.0
@export var use_default_physics_gravity: bool = true
@export var gravity: float = 9.8: get = get_gravity
@export_group("Gravity Multiplier")
@export var gravity_check_margin: float = 0.05
@export var rise_gravity_multiplier: float = 1.0
@export var peak_gravity_multiplier: float = 0.85
@export var fall_gravity_multiplier: float = 1.5
func get_gravity() -> float:
if use_default_physics_gravity:
return ProjectSettings.get_setting("physics/3d/default_gravity")
else:
return gravity