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."