OverviewFilesCommitsIssuesDocsReleasesPeers

hyper-tps / scenes / player / player_config.gd

70 lines · gd ref:
class_name PlayerConfig
extends Resource

## Tunable physics constants for the Overgrowth-style player controller.
## Create a .tres from this resource and assign it to the player node
## for editor-time tuning without touching source code.

# ---- Movement ----
@export_group("Movement")
@export var base_run_speed: float = 8.0
@export var true_max_speed: float = 12.0
@export var walk_accel: float = 35.0
@export var standing_friction: float = 0.95
@export var walk_speed: float = 0.2

# ---- Gravity ----
@export_group("Gravity")
@export var gravity: float = 9.8
@export var terminal_velocity: float = 50.0
@export var terminal_damping: float = 0.99

# ---- Jump ----
@export_group("Jump")
@export var jump_initial_velocity: float = 12.0
@export var jump_air_control: float = 3.0
@export var air_speed_cap: float = 14.0
@export var air_decel: float = 0.98
@export var jump_fuel: float = 5.0
@export var jump_fuel_burn: float = 10.0
@export var pre_jump_delay: float = 0.15
@export var jump_threshold_time: float = 0.1

# ---- Wall Run ----
@export_group("Wall Run")
@export var wall_run_min_speed: float = 4.0
@export var wall_run_fall_limit: float = -4.0

# ---- Crouch ----
@export_group("Crouch")
@export var duck_accel: float = 200.0
@export var duck_vel_inertia: float = 0.82
@export var duck_speed_mult: float = 0.5

# ---- Thresholds ----
@export_group("Thresholds")
@export var run_threshold: float = 0.8
@export var walk_threshold: float = 0.6
@export var ground_normal_y_threshold: float = 0.5

# ---- Fall Damage ----
@export_group("Fall Damage")
@export var shock_damage_threshold: float = 30.0
@export var shock_damage_multiplier: float = 0.1

# ---- Camera ----
@export_group("Camera")
@export var turn_velocity: float = 15.0
@export var mouse_sensitivity: float = 0.3
@export var zoom_step: float = 0.5
@export var zoom_min: float = 1.0
@export var zoom_max: float = 20.0

# ---- Ledge Grab ----
@export_group("Ledge Grab")
@export var ledge_grab_max_fall_speed: float = -20.0
@export var ledge_grab_reach: float = 1.2
@export var ledge_grab_forward: float = 1.5
@export var ledge_climb_speed: float = 3.0
@export var wall_grab_range: float = 2.0