Merge pull request #3583 from Verkister/chompychomp

Adds a funky fresh feature to beartraps.
This commit is contained in:
Spades
2018-05-05 08:32:38 -04:00
committed by GitHub
4 changed files with 30 additions and 5 deletions
@@ -0,0 +1,18 @@
/obj/item/weapon/beartrap
slot_flags = SLOT_MASK
item_icons = list(
slot_wear_mask_str = 'icons/mob/mask_vr.dmi'
)
/obj/item/weapon/beartrap/equipped()
if(ishuman(src.loc))
var/mob/living/carbon/human/H = src.loc
if(H.wear_mask == src)
H.verbs |= /mob/living/proc/shred_limb_temp
else
H.verbs -= /mob/living/proc/shred_limb_temp
..()
/obj/item/weapon/beartrap/dropped(var/mob/user)
user.verbs -= /mob/living/proc/shred_limb_temp
..()
@@ -664,7 +664,7 @@
var/list/choices = list()
for(var/mob/living/carbon/human/M in oviewers(1))
choices += M
if(!choices.len)
to_chat(src,"<span class='warning'>There's nobody nearby to use this on.</span>")
@@ -712,7 +712,7 @@
if(can_shred(T) != T)
to_chat(src,"<span class='warning'>Looks like you lost your chance...</span>")
return
//Removing an internal organ
if(T_int && T_int.damage >= 25) //Internal organ and it's been severely damaged
T.apply_damage(15, BRUTE, T_ext) //Damage the external organ they're going through.
@@ -727,7 +727,7 @@
//Removing an external organ
else if(!T_int && (T_ext.damage >= 25 || T_ext.brute_dam >= 25))
T_ext.droplimb(1,DROPLIMB_EDGE) //Clean cut so it doesn't kill the prey completely.
//Is it groin/chest? You can't remove those.
if(T_ext.cannot_amputate)
T.apply_damage(25, BRUTE, T_ext)
@@ -740,14 +740,20 @@
visible_message("<span class='warning'>[src] tears off [T]'s [T_ext.name]!</span>","<span class='warning'>You tear off [T]'s [T_ext.name]!</span>")
//Not targeting an internal organ w/ > 25 damage , and the limb doesn't have < 25 damage.
else
else
if(T_int)
T_int.damage = 25 //Internal organs can only take damage, not brute damage.
T.apply_damage(25, BRUTE, T_ext)
visible_message("<span class='danger'>[src] severely damages [T]'s [T_ext.name]!</span>")
add_attack_logs(src,T,"Shredded (hardvore)")
/mob/living/proc/shred_limb_temp()
set name = "Damage/Remove Prey's Organ (beartrap)"
set desc = "Severely damages prey's organ. If the limb is already severely damaged, it will be torn off."
set category = "Abilities"
shred_limb()
/mob/living/proc/flying_toggle()
set name = "Toggle Flight"
set desc = "While flying over open spaces, you will use up some nutrition. If you run out nutrition, you will fall. Additionally, you can't fly if you are too heavy."