From d792624dd8b45295b54ee0c50f32071190d42d38 Mon Sep 17 00:00:00 2001 From: AnturK Date: Tue, 31 Oct 2017 23:39:43 +0100 Subject: [PATCH 1/2] Nerfs peaceborg chain bucklestun (#32251) The definition of a trap option is that you don't know its a trap option until you use it. Obviously anyone who has tried it before realizes that they're a stunted joke but that doesn't make it any worse of a addition to the game. --- code/game/objects/items/robot/robot_items.dm | 16 ++++++++++++++++ code/modules/fields/peaceborg_dampener.dm | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 2ccb57564f..c4d86b0800 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -561,6 +561,10 @@ if(istype(dampening_field)) QDEL_NULL(dampening_field) dampening_field = make_field(/datum/proximity_monitor/advanced/peaceborg_dampener, list("current_range" = field_radius, "host" = src, "projector" = src)) + + var/mob/living/silicon/robot/owner = get_host() + if(owner) + owner.module.allow_riding = FALSE /obj/item/borg/projectile_dampen/proc/deactivate_field() QDEL_NULL(dampening_field) @@ -568,6 +572,18 @@ for(var/P in tracked) restore_projectile(P) + var/mob/living/silicon/robot/owner = get_host() + if(owner) + owner.module.allow_riding = TRUE + +/obj/item/borg/projectile_dampen/proc/get_host() + if(istype(host)) + return host + else + if(iscyborg(host.loc)) + return host.loc + return null + /obj/item/borg/projectile_dampen/dropped() . = ..() host = loc diff --git a/code/modules/fields/peaceborg_dampener.dm b/code/modules/fields/peaceborg_dampener.dm index 5e0fbdfb2b..79bd866fca 100644 --- a/code/modules/fields/peaceborg_dampener.dm +++ b/code/modules/fields/peaceborg_dampener.dm @@ -42,7 +42,7 @@ if(R.has_buckled_mobs()) for(var/mob/living/L in R.buckled_mobs) L.visible_message("[L] is knocked off of [R] by the charge in [R]'s chassis induced by [name]!") //I know it's bad. - L.Knockdown(60) + L.Knockdown(10) R.unbuckle_mob(L) do_sparks(5, 0, L) ..()