mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-21 20:14:31 +01:00
makes boxing gloves not kill people you're attacking (#18700)
* makes boxing gloves not kill people you're attacking * Update sources.dm
This commit is contained in:
@@ -4,6 +4,19 @@
|
||||
icon_state = "boxing"
|
||||
item_state_slots = list(slot_r_hand_str = "red", slot_l_hand_str = "red")
|
||||
|
||||
/obj/item/clothing/gloves/boxing/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
if(user)
|
||||
if(slot && slot == slot_gloves)
|
||||
ADD_TRAIT(user, TRAIT_NONLETHAL_BLOWS, CLOTHING_TRAIT)
|
||||
return
|
||||
if(HAS_TRAIT_FROM(user, TRAIT_NONLETHAL_BLOWS, CLOTHING_TRAIT))
|
||||
REMOVE_TRAIT(user, TRAIT_NONLETHAL_BLOWS, CLOTHING_TRAIT)
|
||||
|
||||
/obj/item/clothing/gloves/boxing/dropped(mob/user)
|
||||
. = ..()
|
||||
if(HAS_TRAIT_FROM(user, TRAIT_NONLETHAL_BLOWS, CLOTHING_TRAIT))
|
||||
REMOVE_TRAIT(user, TRAIT_NONLETHAL_BLOWS, CLOTHING_TRAIT)
|
||||
/*
|
||||
/obj/item/clothing/gloves/boxing/attackby(obj/item/W, mob/user)
|
||||
if(W.has_tool_quality(TOOL_WIRECUTTER) || istype(W, /obj/item/surgical/scalpel))
|
||||
|
||||
@@ -1635,8 +1635,13 @@
|
||||
set category = "IC.Game"
|
||||
|
||||
if(stat) return
|
||||
pulling_punches = !pulling_punches
|
||||
to_chat(src, span_notice("You are now [pulling_punches ? "pulling your punches" : "not pulling your punches"]."))
|
||||
var/pulling = FALSE
|
||||
if(HAS_TRAIT_FROM(src, TRAIT_NONLETHAL_BLOWS, ACTION_TRAIT))
|
||||
REMOVE_TRAIT(src, TRAIT_NONLETHAL_BLOWS, ACTION_TRAIT)
|
||||
else
|
||||
ADD_TRAIT(src, TRAIT_NONLETHAL_BLOWS, ACTION_TRAIT)
|
||||
pulling = TRUE
|
||||
to_chat(src, span_notice("You are now [pulling ? "pulling your punches" : "not pulling your punches"]."))
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/should_have_organ(var/organ_check)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/mob/living/carbon/human/proc/get_unarmed_attack(var/mob/living/carbon/human/target, var/hit_zone)
|
||||
if(nif && nif.flag_check(NIF_C_HARDCLAWS,NIF_FLAGS_COMBAT)){return unarmed_hardclaws}
|
||||
if(src.default_attack && src.default_attack.is_usable(src, target, hit_zone))
|
||||
if(pulling_punches)
|
||||
if(HAS_TRAIT(src, TRAIT_NONLETHAL_BLOWS))
|
||||
var/datum/unarmed_attack/soft_type = src.default_attack.get_sparring_variant()
|
||||
if(soft_type)
|
||||
return soft_type
|
||||
@@ -12,20 +12,20 @@
|
||||
if(src.gloves)
|
||||
var/obj/item/clothing/gloves/G = src.gloves
|
||||
if(istype(G) && G.special_attack && G.special_attack.is_usable(src, target, hit_zone))
|
||||
if(pulling_punches)
|
||||
if(HAS_TRAIT(src, TRAIT_NONLETHAL_BLOWS))
|
||||
var/datum/unarmed_attack/soft_type = G.special_attack.get_sparring_variant()
|
||||
if(soft_type)
|
||||
return soft_type
|
||||
return G.special_attack
|
||||
if(src.default_attack && src.default_attack.is_usable(src, target, hit_zone))
|
||||
if(pulling_punches)
|
||||
if(HAS_TRAIT(src, TRAIT_NONLETHAL_BLOWS))
|
||||
var/datum/unarmed_attack/soft_type = src.default_attack.get_sparring_variant()
|
||||
if(soft_type)
|
||||
return soft_type
|
||||
return src.default_attack
|
||||
for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks)
|
||||
if(u_attack.is_usable(src, target, hit_zone))
|
||||
if(pulling_punches)
|
||||
if(HAS_TRAIT(src, TRAIT_NONLETHAL_BLOWS))
|
||||
var/datum/unarmed_attack/soft_variant = u_attack.get_sparring_variant()
|
||||
if(soft_variant)
|
||||
return soft_variant
|
||||
@@ -389,7 +389,7 @@
|
||||
var/obj/item/clothing/accessory/G = H.gloves
|
||||
real_damage += G.punch_force
|
||||
hit_dam_type = G.punch_damtype
|
||||
if(H.pulling_punches && !attack.sharp && !attack.edge) //SO IT IS DECREED: PULLING PUNCHES WILL PREVENT THE ACTUAL DAMAGE FROM RINGS AND KNUCKLES, BUT NOT THE ADDED PAIN, BUT YOU CAN'T "PULL" A KNIFE
|
||||
if(HAS_TRAIT(H, TRAIT_NONLETHAL_BLOWS) && !attack.sharp && !attack.edge) //SO IT IS DECREED: PULLING PUNCHES WILL PREVENT THE ACTUAL DAMAGE FROM RINGS AND KNUCKLES, BUT NOT THE ADDED PAIN, BUT YOU CAN'T "PULL" A KNIFE
|
||||
hit_dam_type = HALLOSS
|
||||
real_damage *= damage_multiplier
|
||||
rand_damage *= damage_multiplier
|
||||
|
||||
@@ -90,7 +90,6 @@
|
||||
var/hand_blood_color
|
||||
|
||||
var/list/flavor_texts = list()
|
||||
var/pulling_punches // Are you trying not to hurt your opponent?
|
||||
var/robolimb_count = 0 // Total number of external robot parts.
|
||||
var/robobody_count = 0 // Counts torso, groin, and head, if they're robotic
|
||||
|
||||
|
||||
Reference in New Issue
Block a user