From e4b95d6e8d3745ea3d3395654acd12338af15497 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 6 Dec 2015 00:05:01 -0500 Subject: [PATCH 1/3] Adds missing click cooldowns for aggressive actions Fixes #11601 --- code/game/machinery/bots/bots.dm | 2 ++ code/game/machinery/newscaster.dm | 3 ++- code/game/objects/structures/displaycase.dm | 1 + code/modules/vehicles/vehicle.dm | 2 ++ 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm index 7e03826f055..16cbb7fa9d9 100644 --- a/code/game/machinery/bots/bots.dm +++ b/code/game/machinery/bots/bots.dm @@ -64,6 +64,7 @@ if(open) health = min(maxhealth, health+10) user.visible_message("[user] repairs [src]!","You repair [src]!") + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) else user << "Unable to repair with the maintenance panel closed." else @@ -75,6 +76,7 @@ src.health -= W.force * fire_dam_coeff if("brute") src.health -= W.force * brute_dam_coeff + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) ..() healthcheck() else diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index f80e71ef422..88af4fb76ca 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -747,6 +747,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co O.show_message("[user.name] further abuses the shattered [src.name].") else if(istype(I, /obj/item/weapon) ) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) var/obj/item/weapon/W = I if(W.force <15) for (var/mob/O in hearers(5, src.loc)) @@ -764,7 +765,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co O.show_message("[user.name] forcefully slams the [src.name] with the [I.name]!" ) playsound(src.loc, 'sound/effects/Glasshit.ogg', 100, 1) else - user << "This does nothing." + user << "This does nothing." src.update_icon() /obj/machinery/newscaster/attack_ai(mob/user as mob) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 8ce2a88f244..b98b730b61c 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -55,6 +55,7 @@ /obj/structure/displaycase/attackby(obj/item/weapon/W as obj, mob/user as mob) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) src.health -= W.force src.healthcheck() ..() diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index ddc56dad3f6..80eb2f1a447 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -93,6 +93,7 @@ if(health < maxhealth) if(open) health = min(maxhealth, health+10) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) user.visible_message("\red [user] repairs [src]!","\blue You repair [src]!") else user << "Unable to repair with the maintenance panel closed." @@ -101,6 +102,7 @@ else user << "Unable to repair while [src] is off." else if(hasvar(W,"force") && hasvar(W,"damtype")) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) switch(W.damtype) if("fire") health -= W.force * fire_dam_coeff From fa6c8415ea5c40e9b8843a841bf5cc6cfdccfe39 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 6 Dec 2015 00:15:56 -0500 Subject: [PATCH 2/3] Adds click cooldowns to common healing and repair actions --- code/game/machinery/bots/mulebot.dm | 2 ++ code/game/mecha/mecha.dm | 2 ++ code/game/objects/items/stacks/nanopaste.dm | 2 ++ code/game/objects/items/weapons/tools.dm | 1 + code/modules/mob/living/silicon/robot/robot.dm | 2 ++ code/modules/power/cable.dm | 3 ++- 6 files changed, 11 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm index 9e9571b1778..2a2ca7a6287 100644 --- a/code/game/machinery/bots/mulebot.dm +++ b/code/game/machinery/bots/mulebot.dm @@ -115,6 +115,7 @@ else if (istype(I, /obj/item/weapon/wrench)) if (src.health < maxhealth) src.health = min(maxhealth, src.health+25) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) user.visible_message( "\The [user] repairs \the [src]!", "You repair \the [src]!" @@ -127,6 +128,7 @@ user.visible_message("[user] knocks [load] off [src] with \the [I]!", "You knock [load] off [src] with \the [I]!") else user << "You hit [src] with \the [I] but to no effect." + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) else ..() return diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index ebce14fd5e8..ff2f86bfdff 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -803,10 +803,12 @@ if (hasInternalDamage(MECHA_INT_TANK_BREACH)) clearInternalDamage(MECHA_INT_TANK_BREACH) user << "You repair the damaged gas tank." + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) else return if(src.healthYou repair some damage to [src.name]." + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) src.health += min(10, initial(src.health)-src.health) else user << "The [src.name] is at full integrity" diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm index a9ec0521023..3e8d083f156 100644 --- a/code/game/objects/items/stacks/nanopaste.dm +++ b/code/game/objects/items/stacks/nanopaste.dm @@ -14,6 +14,7 @@ if (istype(M,/mob/living/silicon/robot)) //Repairing cyborgs var/mob/living/silicon/robot/R = M if (R.getBruteLoss() || R.getFireLoss() ) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) R.adjustBruteLoss(-15) R.adjustFireLoss(-15) R.updatehealth() @@ -30,6 +31,7 @@ if(S.open == 1) if (S && (S.status & ORGAN_ROBOT)) if(S.get_damage()) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) S.heal_damage(15, 15, robo_repair = 1) H.updatehealth() use(1) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 640c436ccf7..d8fe74272f4 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -435,6 +435,7 @@ if(S.brute_dam) if(S.brute_dam < ROBOLIMB_SELF_REPAIR_CAP) S.heal_damage(15,0,0,1) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) user.visible_message("\The [user] patches some dents on \the [M]'s [S.name] with \the [src].") else if(S.open != 2) user << "The damage is far too severe to patch over externally." diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index f6ac5b5650e..8486d75dc27 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -452,6 +452,7 @@ return var/obj/item/weapon/weldingtool/WT = W if (WT.remove_fuel(0)) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) adjustBruteLoss(-30) updatehealth() add_fingerprint(user) @@ -467,6 +468,7 @@ return var/obj/item/stack/cable_coil/coil = W if (coil.use(1)) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) adjustFireLoss(-30) updatehealth() for(var/mob/O in viewers(user, null)) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index b5aa43077f9..df6b5a6aef9 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -525,7 +525,8 @@ obj/structure/cable/proc/cableColor(var/colorC) if(S.burn_dam) if(S.burn_dam < ROBOLIMB_SELF_REPAIR_CAP) S.heal_damage(0,15,0,1) - user.visible_message("\The [user] repairs some burn damage on \the [M]'s [S.name] with \the [src].") + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) + user.visible_message("\The [user] patches some damaged wiring on \the [M]'s [S.name] with \the [src].") else if(S.open != 2) user << "The damage is far too severe to patch over externally." return 1 From 3a738bac3f5f496c944427c38199d52ca28ab7ff Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 6 Dec 2015 00:16:30 -0500 Subject: [PATCH 3/3] Adds click cooldown to attacking cult pylons --- code/game/gamemodes/cult/cult_structures.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 3a6c2c1b3cc..59cf8f8856b 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -36,6 +36,7 @@ attackpylon(user, W.force) /obj/structure/cult/pylon/proc/attackpylon(mob/user as mob, var/damage) + user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN) if(!isbroken) if(prob(1+ damage * 5)) user.visible_message(