mirror of
https://github.com/CHOMPstation/CHOMPstation.git
synced 2026-07-16 09:32:47 +01:00
Merge pull request #3583 from Verkister/chompychomp
Adds a funky fresh feature to beartraps.
This commit is contained in:
@@ -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
|
||||
..()
|
||||
+11
-5
@@ -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."
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
@@ -1042,6 +1042,7 @@
|
||||
#include "code\game\objects\items\weapons\tools.dm"
|
||||
#include "code\game\objects\items\weapons\towels.dm"
|
||||
#include "code\game\objects\items\weapons\traps.dm"
|
||||
#include "code\game\objects\items\weapons\traps_vr.dm"
|
||||
#include "code\game\objects\items\weapons\trays.dm"
|
||||
#include "code\game\objects\items\weapons\weaponry.dm"
|
||||
#include "code\game\objects\items\weapons\weldbackpack.dm"
|
||||
|
||||
Reference in New Issue
Block a user