mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-25 22:19:30 +01:00
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 <Hatterhat@users.noreply.github.com>
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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" = (
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user