bones breaking system

This commit is contained in:
quotefox
2019-11-25 07:11:44 +00:00
parent c8169d289f
commit 20d85b8d35
10 changed files with 33 additions and 2 deletions
+1
View File
@@ -30,6 +30,7 @@
#define CHAT_GHOSTPDA (1<<8)
#define CHAT_GHOSTRADIO (1<<9)
#define CHAT_LOOC (1<<10)
#define SHOW_TYPING (1<<11)
#define TOGGLES_DEFAULT_CHAT (CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_PULLR|CHAT_GHOSTWHISPER|CHAT_GHOSTPDA|CHAT_GHOSTRADIO|CHAT_LOOC)
+1
View File
@@ -101,6 +101,7 @@
else
return trim(html_encode(name), max_length)
//Filters out undesirable characters from names
/proc/reject_bad_name(t_in, allow_numbers=0, max_length=MAX_NAME_LEN)
if(!t_in || length(t_in) > max_length)
@@ -304,6 +304,15 @@ GENE SCANNER
for(var/obj/item/bodypart/org in damaged)
msg += "\t\t<span class='info'>[capitalize(org.name)]: [(org.brute_dam > 0) ? "<font color='red'>[org.brute_dam]</font></span>" : "<font color='red'>0</font>"]-[(org.burn_dam > 0) ? "<font color='#FF8000'>[org.burn_dam]</font>" : "<font color='#FF8000'>0</font>"]\n"
//Bones broken report! Hyperstation 13
if(iscarbon(M) && mode == 1)
var/mob/living/carbon/C = M
for(var/X in C.bodyparts)
var/obj/item/bodypart/LB = X
var/broken = LB.broken
if(broken == 1)
msg += "\t<span class='alert'><font color='red'>Subjects [LB.name] is fractured!</font></span>\n"
//Organ damages report
if(ishuman(M))
var/mob/living/carbon/human/H = M
+16
View File
@@ -15,6 +15,7 @@
var/heal_burn = 0
var/stop_bleeding = 0
var/self_delay = 50
var/fix_bone= 0
/obj/item/stack/medical/attack(mob/living/M, mob/user)
@@ -93,6 +94,9 @@
if(affecting.status == BODYPART_ORGANIC) //Limb must be organic to be healed - RR
if(affecting.heal_damage(heal_brute, heal_burn))
C.update_damage_overlays()
if (fix_bone) //Fix broken bones on targeted limb
affecting.broken = 0
affecting.disabled = 0
else
to_chat(user, "<span class='notice'>Medicine won't work on a robotic limb!</span>")
else
@@ -100,7 +104,19 @@
use(1)
/obj/item/stack/medical/plaster_gauze
name = "plaster gauze"
gender = PLURAL
singular_name = "plaster gauze"
desc = "A roll of plaster of paris that is extremely effective at aiding bone fratcutres, but does not heal wounds."
icon_state = "pgauze"
self_delay = 300
max_amount = 10
fix_bone = 1
/obj/item/stack/medical/plaster_gauze/suicide_act(mob/user)
user.visible_message("<span class='suicide'>[user] is bludgeoning [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
return (BRUTELOSS)
/obj/item/stack/medical/bruise_pack
name = "bruise pack"
+2 -1
View File
@@ -30,6 +30,7 @@
/obj/item/storage/firstaid/regular/PopulateContents()
if(empty)
return
new /obj/item/stack/medical/plaster_gauze(src)
new /obj/item/stack/medical/gauze(src)
new /obj/item/stack/medical/bruise_pack(src)
new /obj/item/stack/medical/bruise_pack(src)
@@ -337,7 +338,7 @@
/obj/item/storage/pill_bottle/penis_enlargement/PopulateContents()
for(var/i in 1 to 7)
new /obj/item/reagent_containers/pill/penis_enlargement(src)
/obj/item/storage/pill_bottle/breast_enlargement
name = "breast enlargement pills"
desc = "Made by Fermichem - They have a woman with breasts larger than she is on them. The warming states not to take more than 10u at a time."
@@ -112,6 +112,7 @@
return
adjustStaminaLoss(diff, updating, forced)
/** adjustOrganLoss
* inputs: slot (organ slot, like ORGAN_SLOT_HEART), amount (damage to be done), and maximum (currently an arbitrarily large number, can be set so as to limit damage)
* outputs:
@@ -702,7 +702,7 @@
else if(burndamage > 0)
status += LB.light_burn_msg
if(broken == 1)
status = "broken"
status = "fractured"
if(status == "")
status = "OK"
var/no_damage
@@ -83,6 +83,7 @@
/obj/item/bodypart/blob_act()
take_damage(max_damage)
/obj/item/bodypart/Destroy()
if(owner)
owner.bodyparts -= src
@@ -358,6 +358,7 @@
L.burn_dam = 0
L.brutestate = 0
L.burnstate = 0
L.broken = 0
L.attach_limb(src, 1)
return 1
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 41 KiB