From 44a6764f2f828ede859f657a2c721d29d11b16db Mon Sep 17 00:00:00 2001 From: Hatterhat <31829017+Hatterhat@users.noreply.github.com> Date: Tue, 27 Jun 2023 08:49:47 -0500 Subject: [PATCH] crush my legs with a hammer i must (adds kneecapping on breach hammers) (#21994) * repath and funny * confession: i just find-replaced all hammer paths * hammer_breaching -> breaching_hammer --------- Co-authored-by: Hatterhat --- _maps/map_files/VoidRaptor/VoidRaptor.dmm | 6 +++--- .../metastation/metastation_armory.dmm | 6 +++--- .../tramstation/tramstation_armory.dmm | 8 ++++---- code/__DEFINES/~skyrat_defines/signals.dm | 2 +- .../code/armaments/armament_utility.dm | 2 +- modular_skyrat/modules/marines/code/mod.dm | 2 +- .../marine_override/modified_equipment.dm | 2 +- .../code/peacekeeper/peacekeeper_hammer.dm | 20 +++++++++++-------- .../21994_hammers_to_breaching_hammers.txt | 3 +++ 9 files changed, 29 insertions(+), 22 deletions(-) create mode 100644 tools/UpdatePaths/Scripts_Skyrat/21994_hammers_to_breaching_hammers.txt diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index 102007795b8..42de31e6b11 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -39811,9 +39811,9 @@ /obj/structure/rack, /obj/item/gun/energy/e_gun/dragnet, /obj/item/gun/energy/e_gun/dragnet, -/obj/item/melee/hammer, -/obj/item/melee/hammer, -/obj/item/melee/hammer, +/obj/item/melee/breaching_hammer, +/obj/item/melee/breaching_hammer, +/obj/item/melee/breaching_hammer, /obj/effect/turf_decal/tile/dark_red/half, /obj/machinery/camera/directional/south{ c_tag = "Armory - Interior" diff --git a/_maps/skyrat/automapper/templates/metastation/metastation_armory.dmm b/_maps/skyrat/automapper/templates/metastation/metastation_armory.dmm index d73bbe538ff..7ccc791d718 100644 --- a/_maps/skyrat/automapper/templates/metastation/metastation_armory.dmm +++ b/_maps/skyrat/automapper/templates/metastation/metastation_armory.dmm @@ -117,9 +117,9 @@ /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 4 }, -/obj/item/melee/hammer, -/obj/item/melee/hammer, -/obj/item/melee/hammer, +/obj/item/melee/breaching_hammer, +/obj/item/melee/breaching_hammer, +/obj/item/melee/breaching_hammer, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "u" = ( diff --git a/_maps/skyrat/automapper/templates/tramstation/tramstation_armory.dmm b/_maps/skyrat/automapper/templates/tramstation/tramstation_armory.dmm index 05c1c9e5d58..80ba797d148 100644 --- a/_maps/skyrat/automapper/templates/tramstation/tramstation_armory.dmm +++ b/_maps/skyrat/automapper/templates/tramstation/tramstation_armory.dmm @@ -39,10 +39,10 @@ /obj/item/gun/energy/e_gun/dragnet, /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/melee/hammer, -/obj/item/melee/hammer, -/obj/item/melee/hammer, -/obj/item/melee/hammer, +/obj/item/melee/breaching_hammer, +/obj/item/melee/breaching_hammer, +/obj/item/melee/breaching_hammer, +/obj/item/melee/breaching_hammer, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) "Mj" = ( diff --git a/code/__DEFINES/~skyrat_defines/signals.dm b/code/__DEFINES/~skyrat_defines/signals.dm index 414f68c1f26..86af4f6913d 100644 --- a/code/__DEFINES/~skyrat_defines/signals.dm +++ b/code/__DEFINES/~skyrat_defines/signals.dm @@ -20,7 +20,7 @@ ///The gun needs to update the gun hud! #define COMSIG_UPDATE_AMMO_HUD "update_ammo_hud" -/// Used by /obj/item/melee/hammer +/// Used by /obj/item/melee/breaching_hammer #define COMSIG_BREACHING "breaching_signal_woop_woop" ///The gun has jammed. #define COMSIG_GUN_JAMMED "gun_jammed" diff --git a/modular_skyrat/modules/black_mesa/code/armaments/armament_utility.dm b/modular_skyrat/modules/black_mesa/code/armaments/armament_utility.dm index 1341c3104ad..2b4d0a0151a 100644 --- a/modular_skyrat/modules/black_mesa/code/armaments/armament_utility.dm +++ b/modular_skyrat/modules/black_mesa/code/armaments/armament_utility.dm @@ -67,7 +67,7 @@ cost = 4 /datum/armament_entry/hecu/utility/breaching_hammer //Mesa more like R6S amirite - item_type = /obj/item/melee/hammer + item_type = /obj/item/melee/breaching_hammer max_purchase = 1 cost = 4 diff --git a/modular_skyrat/modules/marines/code/mod.dm b/modular_skyrat/modules/marines/code/mod.dm index 07a91c48ccd..33d432ca198 100644 --- a/modular_skyrat/modules/marines/code/mod.dm +++ b/modular_skyrat/modules/marines/code/mod.dm @@ -26,7 +26,7 @@ /obj/item/assembly/flash, /obj/item/melee/baton, /obj/item/gun/ballistic, - /obj/item/melee/hammer, + /obj/item/melee/breaching_hammer, ) skins = list( "marine" = list( diff --git a/modular_skyrat/modules/modular_ert/code/marine_override/modified_equipment.dm b/modular_skyrat/modules/modular_ert/code/marine_override/modified_equipment.dm index d1485e30c22..ce899b18fc8 100644 --- a/modular_skyrat/modules/modular_ert/code/marine_override/modified_equipment.dm +++ b/modular_skyrat/modules/modular_ert/code/marine_override/modified_equipment.dm @@ -43,7 +43,7 @@ r_hand = null /datum/outfit/centcom/ert/marine/engineer //engineer - suit_store = /obj/item/melee/hammer //doesn't need a rifle + suit_store = /obj/item/melee/breaching_hammer //doesn't need a rifle back = /obj/item/mod/control/pre_equipped/marine/engineer backpack_contents = list( /obj/item/storage/box/survival/engineer/marine = 1, diff --git a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_hammer.dm b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_hammer.dm index a4319105220..37bf649b7fd 100644 --- a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_hammer.dm +++ b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_hammer.dm @@ -1,4 +1,4 @@ -/obj/item/melee/hammer +/obj/item/melee/breaching_hammer name = "D-4 tactical hammer" desc = "A metallic-plastic composite breaching hammer, looks like a whack with this would severly harm or tire someone." icon = 'modular_skyrat/modules/sec_haul/icons/peacekeeper/peacekeeper_items.dmi' @@ -26,7 +26,11 @@ /// the amount that the force is multiplied by , that is then applied as damage to the door. var/breaching_multipler = 2.5 -/obj/item/melee/hammer/afterattack(atom/target, mob/user, proximity) +/obj/item/melee/breaching_hammer/Initialize(mapload) + . = ..() + AddElement(/datum/element/kneecapping) + +/obj/item/melee/breaching_hammer/afterattack(atom/target, mob/user, proximity) . = ..() if(!proximity) return @@ -42,7 +46,7 @@ breaching_target = target /// Removes any form of tracking from the user and the item , make sure to call it on he proper item -/obj/item/melee/hammer/proc/remove_track(mob/living/carbon/human/user) +/obj/item/melee/breaching_hammer/proc/remove_track(mob/living/carbon/human/user) SIGNAL_HANDLER if(!registered) return FALSE @@ -55,7 +59,7 @@ breacher = null /// Does the checks for breaching -/obj/item/melee/hammer/proc/try_breaching(obj/target, mob/living/carbon/human/user) +/obj/item/melee/breaching_hammer/proc/try_breaching(obj/target, mob/living/carbon/human/user) SIGNAL_HANDLER if(breaching || (user == breacher)) return FALSE @@ -64,20 +68,20 @@ return NONE var/mob/living/carbon/human/breach_buddy = breacher var/target_item = breach_buddy.held_items.Find(src, 1, 0) - var/obj/item/melee/hammer/second_hammer = null + var/obj/item/melee/breaching_hammer/second_hammer = null if(target_item) second_hammer = breach_buddy.held_items[target_item] if(!second_hammer) remove_track(user) return FALSE breaching = TRUE - INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/item/melee/hammer, breaching_loop ), user, target) - INVOKE_ASYNC(second_hammer, TYPE_PROC_REF(/obj/item/melee/hammer, breaching_loop ), breacher, target) + INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/item/melee/breaching_hammer, breaching_loop ), user, target) + INVOKE_ASYNC(second_hammer, TYPE_PROC_REF(/obj/item/melee/breaching_hammer, breaching_loop ), breacher, target) to_chat(breacher , text = "You begin forcefully smashing the [target]") to_chat(user, text = "You begin forcefully smashing the [target]") /// Keeps looping under the door is no more , or someone moves , gets shot , dies , incapacitated , stunned , etc -/obj/item/melee/hammer/proc/breaching_loop(mob/living/user, obj/target) +/obj/item/melee/breaching_hammer/proc/breaching_loop(mob/living/user, obj/target) if(user.stat || !target) remove_track(user) return FALSE diff --git a/tools/UpdatePaths/Scripts_Skyrat/21994_hammers_to_breaching_hammers.txt b/tools/UpdatePaths/Scripts_Skyrat/21994_hammers_to_breaching_hammers.txt new file mode 100644 index 00000000000..51d226b0619 --- /dev/null +++ b/tools/UpdatePaths/Scripts_Skyrat/21994_hammers_to_breaching_hammers.txt @@ -0,0 +1,3 @@ +# Replaces the Skyrat /obj/item/melee/hammer with /obj/item/melee/breaching_hammer, for the sake of preserving the hammer path. + +/obj/item/melee/hammer : /obj/item/melee/breaching_hammer