From e1ab5c56cdbb4cd40fcefbd9ab8c20eec97ff28a Mon Sep 17 00:00:00 2001 From: TiviPlus <57223640+TiviPlus@users.noreply.github.com> Date: Sat, 22 Oct 2022 00:05:22 +0200 Subject: [PATCH] gygax no longer resets movespeed when ending overloading (#70683) gygax no longer resets movespeed when overloading Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com> --- code/modules/vehicles/mecha/combat/gygax.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/modules/vehicles/mecha/combat/gygax.dm b/code/modules/vehicles/mecha/combat/gygax.dm index 4d7ffb27aee..6861fd263e9 100644 --- a/code/modules/vehicles/mecha/combat/gygax.dm +++ b/code/modules/vehicles/mecha/combat/gygax.dm @@ -27,6 +27,8 @@ /datum/action/vehicle/sealed/mecha/mech_overload_mode name = "Toggle leg actuators overload" button_icon_state = "mech_overload_off" + ///stores value that we will add and remove from the mecha + var/speed_mod = 0 /datum/action/vehicle/sealed/mecha/mech_overload_mode/Trigger(trigger_flags, forced_state = null) if(!owner || !chassis || !(owner in chassis.occupants)) @@ -38,11 +40,12 @@ button_icon_state = "mech_overload_[chassis.leg_overload_mode ? "on" : "off"]" chassis.log_message("Toggled leg actuators overload.", LOG_MECHA) if(chassis.leg_overload_mode) - chassis.movedelay = min(1, round(chassis.movedelay * 0.5)) + speed_mod = min(chassis.movedelay-1, round(chassis.movedelay * 0.5)) + chassis.movedelay -= speed_mod chassis.step_energy_drain = max(chassis.overload_step_energy_drain_min,chassis.step_energy_drain*chassis.leg_overload_coeff) chassis.balloon_alert(owner,"leg actuators overloaded") else - chassis.movedelay = initial(chassis.movedelay) + chassis.movedelay += speed_mod chassis.step_energy_drain = chassis.normal_step_energy_drain chassis.balloon_alert(owner, "you disable the overload") UpdateButtons()