mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
Fix mechs not using power to move, gygax leg actuator button not matching actual state, and mechpads not working (#53624)
Fixes these issues with mechs:
Mechs aren't using power to move (broken in #52902)
Gygax leg actuator button is opposite of what it should be (off when it should be on) (broken in #52902)
Mechpads don't actually send mechs
None of the error messages for failing to move work
This commit is contained in:
@@ -615,31 +615,42 @@
|
||||
if(!direction)
|
||||
return FALSE
|
||||
if(internal_tank?.connected_port)
|
||||
if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Unable to move while connected to the air system port!</span>")
|
||||
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
|
||||
return FALSE
|
||||
if(construction_state)
|
||||
if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='danger'>Maintenance protocols in effect.</span>")
|
||||
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
|
||||
return FALSE
|
||||
|
||||
if(!Process_Spacemove(direction))
|
||||
return FALSE
|
||||
if(!has_charge(step_energy_drain))
|
||||
return FALSE
|
||||
if(zoom_mode)
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Unable to move while in zoom mode!</span>")
|
||||
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Unable to move while in zoom mode!</span>")
|
||||
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
|
||||
return FALSE
|
||||
if(!cell)
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Missing power cell.</span>")
|
||||
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Missing power cell.</span>")
|
||||
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
|
||||
return FALSE
|
||||
if(!scanmod || !capacitor)
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Missing [scanmod? "capacitor" : "scanning module"].</span>")
|
||||
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Missing [scanmod? "capacitor" : "scanning module"].</span>")
|
||||
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
|
||||
return FALSE
|
||||
if(!use_power(step_energy_drain))
|
||||
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Insufficient power to move!</span>")
|
||||
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
|
||||
return FALSE
|
||||
if(lavaland_only && is_mining_level(z))
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Invalid Environment.</span>")
|
||||
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
|
||||
to_chat(occupants, "[icon2html(src, occupants)]<span class='warning'>Invalid Environment.</span>")
|
||||
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
|
||||
return FALSE
|
||||
|
||||
var/olddir = dir
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
chassis.leg_overload_mode = !chassis.leg_overload_mode
|
||||
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)
|
||||
if(chassis.leg_overload_mode)
|
||||
chassis.movedelay = min(1, round(chassis.movedelay * 0.5))
|
||||
chassis.step_energy_drain = max(chassis.overload_step_energy_drain_min,chassis.step_energy_drain*chassis.leg_overload_coeff)
|
||||
to_chat(owner, "[icon2html(chassis, owner)]<span class='danger'>You enable leg actuators overload.</span>")
|
||||
|
||||
Reference in New Issue
Block a user