From b5b3fca2afcd2efb9980ca524ddd3cb77cdb49e4 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Mon, 29 Oct 2018 20:01:22 +0100 Subject: [PATCH] Mechs can now only be repaired once every 1.5 seconds --- code/game/mecha/mecha.dm | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 64874762050..157fee6e523 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -43,6 +43,8 @@ var/lights_power = 6 var/emagged = FALSE + var/list/repairers = new + //inner atmos var/use_internal_tank = 0 var/internal_tank_valve = ONE_ATMOSPHERE @@ -778,15 +780,22 @@ var/obj/item/weldingtool/WT = W if(healthYou repair the damaged gas tank.") + if(!(user in repairers)) // Can only repair it once at a time + repairers += user + user.visible_message("[user] starts repairing some damage to [name].", "You start repairing some damage to [name]") + playsound(user, WT.usesound, 50, 1) + if(do_after(user, 15 * WT.toolspeed, target = src)) // Takes 1.5 seconds to repair + if (internal_damage & MECHA_INT_TANK_BREACH) + clearInternalDamage(MECHA_INT_TANK_BREACH) + user.visible_message("[user] repairs the damaged gas tank.", "You repair the damaged gas tank.") + else + user.visible_message("[user] repairs some damage to [name].", "You repair some damage to [name]") + health += min(10, initial(health)-health) + repairers -= user else - user.visible_message("[user] repairs some damage to [name].") - health += min(10, initial(health)-health) + to_chat(user, "You are already repairing [name]!") else to_chat(user, "The welder must be on for this task!") - return 1 else to_chat(user, "The [name] is at full integrity!") return 1