Files
VMSolidus cf861efefd Mech Controls Rework (#21762)
This PR reworks the controls for Mechs to now operate under
"Battletech-Style" controls. Where the W and S keys are instead Forward
and Reverse, while A and D are turn-left and turn-right respectively.
This control scheme is generally significantly more playable for mechs,
since mechs can only interact with objects or fire weapons in a
forward-facing arc. Mechs were previously incapable of both
repositioning and fighting at the same time, while with this update a
mech can now face an enemy, fire upon them, and either move closer to
them or further away.

Mechs also now have reverse speed characteristics based on their chassis
selection. Bipedal legs generally have the worst reverse speed. Quad
legs have significantly better reverse handling, and Treads have no
reverse speed reduction at all (with the fun caveat that they suck at
turning).

I have also fixed the issue of mechs feeling like they were "too easy to
mobility kill". It turned out that mechs were hardcoded to be mobility
killed when they took only 45 points of damage, regardless of how tough
their legs were. I have reworked this to instead be a linear decrease in
movement speed, based on the damage taken ratio of the legs. Larger and
tougher legs are naturally more resistant to being impeded by mobility
damage.

I have actually tested this PR, here's it in action! NOW WITH STRAFING


https://github.com/user-attachments/assets/3123fed8-ec22-4118-8a6a-7cbfe45e6667

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-17 15:39:03 +00:00

40 lines
1.5 KiB
Plaintext

/obj/item/mech_component/propulsion/spider
name = "quadlegs"
exosuit_desc_string = "hydraulic quadlegs"
desc = "Xion Manufacturing Group's arachnid series boasts more leg per leg than the leading competitor. Useful for vehicles requiring tight, instant turning."
icon_state = "spiderlegs"
max_damage = 160
move_delay = 4
turn_delay = 1
reverse_delay = 2 // Faster than usual reverse for legs
strafe_delay_modifier = 1.2 // Faster than usual strafing
power_use = 1250
trample_damage = 10
/obj/item/mech_component/propulsion/spider/heavy
name = "industrial quadlegs"
exosuit_desc_string = "hydraulic quadlegs"
desc = "A titan's take on the arachnid series from Xion Manufacturing Group. Much heavier than its smaller counterpart at the sacrifice of acceleration and power draw."
icon_state = "spiderlegs-industrial"
max_damage = 250
move_delay = 5
turn_delay = 1
strafe_delay_modifier = 1.2 // Faster than usual strafing
power_use = 3500
trample_damage = 25
/obj/item/mech_component/propulsion/tracks
name = "tracks"
exosuit_desc_string = "armored tracks"
desc = "A classic brought back. The Hephaestus' Landmaster class tracks are impervious to most damage and can maintain top speed regardless of load. Watch out for corners."
icon_state = "tracks"
max_damage = 450
move_delay = 2 //Its fast
turn_delay = 7
reverse_delay = 0 // Uniquely the only chassis without a reverse delay.
power_use = 3500
color = COLOR_WHITE
mech_step_sound = 'sound/mecha/tanktread.ogg'
trample_damage = 25
can_strafe = FALSE