diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm
index c46f4e0c690..673328b3335 100644
--- a/code/game/mecha/equipment/tools/tools.dm
+++ b/code/game/mecha/equipment/tools/tools.dm
@@ -834,6 +834,7 @@
var/output = ..()
if(output)
return "[output] \[[fuel]: [round(fuel.amount*fuel.perunit,0.1)] cm3\] - [pr_mech_generator.active()?"Dea":"A"]ctivate"
+
return
/obj/item/mecha_parts/mecha_equipment/generator/action(target)
@@ -851,7 +852,7 @@
return
/obj/item/mecha_parts/mecha_equipment/generator/proc/load_fuel(obj/item/stack/material/P)
- if(P.type == fuel.type && P.amount)
+ if(istype(P, fuel) && P.amount)
var/to_load = max(max_fuel - fuel.amount * fuel.perunit,0)
if(to_load)
var/units = min(max(round(to_load / P.perunit), 1), P.amount)
@@ -860,7 +861,8 @@
P.use(units)
return units
else
- return 0
+ return FALSE
+
return
/obj/item/mecha_parts/mecha_equipment/generator/attackby(weapon,mob/user)
@@ -878,6 +880,7 @@
var/turf/simulated/T = get_turf(src)
if(!T)
return
+
var/datum/gas_mixture/GM = new
if(prob(10))
T.assume_gas("plasma", 100, 1500 CELSIUS)
@@ -893,26 +896,29 @@
if(!EG.chassis)
stop()
EG.set_ready_state(1)
- return 0
+ return FALSE
+
if(EG.fuel.amount<=0)
stop()
EG.log_message("Deactivated - no fuel.")
EG.set_ready_state(1)
- return 0
+ return FALSE
+
var/cur_charge = EG.chassis.get_charge()
if(isnull(cur_charge))
EG.set_ready_state(1)
EG.occupant_message("No powercell detected.")
EG.log_message("Deactivated.")
stop()
- return 0
+ return FALSE
+
var/use_fuel = EG.fuel_per_cycle_idle
- if(cur_charge < EG.chassis.cell.maxcharge)
+ if(cur_charge < (EG.chassis.cell.maxcharge / CELLRATE))
use_fuel = EG.fuel_per_cycle_active
EG.chassis.give_power(EG.power_per_cycle)
EG.fuel.amount -= min(use_fuel/EG.fuel.perunit, EG.fuel.amount)
EG.update_equip_info()
- return 1
+ return TRUE
//Nuclear Generator
@@ -949,7 +955,7 @@
EG.rad_source = SSradiation.radiate(EG, new /datum/radiation/preset/uranium_238(EG.fuel.amount))
else
EG.rad_source.info.activity = EG.rad_source.info.specific_activity * EG.fuel.amount
- return 1
+ return TRUE
//This is pretty much just for the death-ripley so that it is harmless
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index edcd8405838..3dad36e1fc5 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -1129,6 +1129,7 @@
forceMove(src.loc)
log_append_to_last("[H] moved in as pilot.")
icon_state = src.reset_icon()
+ on_update_icon()
set_dir(dir_in)
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
if(!hasInternalDamage())
@@ -1309,6 +1310,7 @@
occupant = null
icon_state = reset_icon()+"-open"
set_dir(dir_in)
+ on_update_icon()
return
/////////////////////////
diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm
index 1b3c4764fbc..102adc6c320 100644
--- a/code/game/mecha/working/ripley.dm
+++ b/code/game/mecha/working/ripley.dm
@@ -27,9 +27,9 @@
if(hides)
ClearOverlays()
if(hides < 3)
- AddOverlays(OVERLAY("mecha.dmi", occupant ? "ripley-g" : "ripley-g-open"))
+ AddOverlays(image("mecha.dmi", src, occupant ? "ripley-g" : "ripley-g-open"))
else
- AddOverlays(OVERLAY("mecha.dmi", occupant ? "ripley-g-full" : "ripley-g-full-open"))
+ AddOverlays(image("mecha.dmi", src, occupant ? "ripley-g-full" : "ripley-g-full-open"))
/obj/mecha/working/ripley/firefighter
desc = "Standart APLU chassis was refitted with additional thermal protection and cistern."