mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-11 07:59:08 +01:00
bones breaking system
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user