mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 18:44:48 +01:00
Merge branch 'master' of https://github.com/Baystation12/Baystation12
This commit is contained in:
@@ -284,7 +284,7 @@
|
||||
|
||||
for(var/organ in list("l_leg","l_foot","r_leg","r_foot"))
|
||||
var/datum/organ/external/o = organs["[organ]"]
|
||||
if(o.status & BROKEN)
|
||||
if((o.status & BROKEN) || (o.status & DESTROYED))
|
||||
if(o.status & SPLINTED)
|
||||
tally += 3
|
||||
else
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
var/mob/living/carbon/human/M = src
|
||||
for(var/name in M.organs)
|
||||
var/datum/organ/external/organ = M.organs[name]
|
||||
if(organ.status & DESTROYED)
|
||||
if((organ.status & DESTROYED) && !organ.amputated)
|
||||
src.traumatic_shock += 60
|
||||
else if(organ.status & BROKEN || organ.open)
|
||||
src.traumatic_shock += 30
|
||||
|
||||
@@ -358,3 +358,11 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
|
||||
else
|
||||
I.loc = get_turf(src)
|
||||
update_clothing()
|
||||
|
||||
|
||||
/mob/proc/is_player_active()
|
||||
if(!src.client) return 0
|
||||
if(src.client.inactivity > 10 * 60 * 10) return 0
|
||||
if(src.stat == 2) return 0
|
||||
|
||||
return 1
|
||||
@@ -1232,6 +1232,7 @@ datum/preferences
|
||||
|
||||
var/status = organ_data[name]
|
||||
if(status == "amputated")
|
||||
O.amputated = 1
|
||||
O.status |= DESTROYED
|
||||
O.destspawn = 1
|
||||
else if(status == "cyborg")
|
||||
|
||||
@@ -221,10 +221,10 @@ datum/preferences
|
||||
else
|
||||
preview_icon = new /icon('human.dmi', "torso_[g]_s", "dir" = preview_dir)
|
||||
|
||||
preview_icon.Blend(new /icon('human.dmi', "chest_[g]_s"), ICON_OVERLAY, "dir" = preview_dir)
|
||||
preview_icon.Blend(new /icon('human.dmi', "chest_[g]_s", "dir" = preview_dir), ICON_OVERLAY)
|
||||
|
||||
if(organ_data["head"] != "amputated")
|
||||
preview_icon.Blend(new /icon('human.dmi', "head_[g]_s"), ICON_OVERLAY, "dir" = preview_dir)
|
||||
preview_icon.Blend(new /icon('human.dmi', "head_[g]_s", "dir" = preview_dir), ICON_OVERLAY)
|
||||
|
||||
for(var/name in list("l_arm","r_arm","l_leg","r_leg","l_foot","r_foot","l_hand","r_hand"))
|
||||
// make sure the organ is added to the list so it's drawn
|
||||
|
||||
@@ -97,6 +97,7 @@ var/list/wound_progressions = list(
|
||||
var/tmp/perma_injury = 0
|
||||
var/tmp/perma_dmg = 0
|
||||
var/tmp/destspawn = 0 //Has it spawned the broken limb?
|
||||
var/tmp/amputated = 0 // Whether this has been cleanly amputated, thus causing no pain
|
||||
var/min_broken_damage = 30
|
||||
|
||||
var/datum/organ/external/parent
|
||||
|
||||
@@ -55,6 +55,9 @@ mob/living/carbon/human/proc/handle_pain()
|
||||
var/datum/organ/external/damaged_organ = null
|
||||
for(var/name in organs)
|
||||
var/datum/organ/external/E = organs[name]
|
||||
// amputated limbs don't cause pain
|
||||
if(E.amputated) continue
|
||||
|
||||
var/dam = E.get_damage()
|
||||
// make the choice of the organ depend on damage,
|
||||
// but also sometimes use one of the less damaged ones
|
||||
|
||||
@@ -454,6 +454,28 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/cable_coil/attack(mob/M as mob, mob/user as mob)
|
||||
if(hasorgans(M))
|
||||
var/datum/organ/external/S = M:organs[user.zone_sel.selecting]
|
||||
if(!(S.status & ROBOT) || user.a_intent != "help")
|
||||
return ..()
|
||||
if(S.burn_dam > 0)
|
||||
S.heal_damage(0,15,0,1)
|
||||
if(user != M)
|
||||
user.visible_message("\red \The [user] repairs some burn damage on their [S.display_name] with \the [src]",\
|
||||
"\red You repair some burn damage on your [S.display_name]",\
|
||||
"You hear wires being cut.")
|
||||
else
|
||||
user.visible_message("\red \The [user] repairs some burn damage on their [S.display_name] with \the [src]",\
|
||||
"\red You repair some burn damage on your [S.display_name]",\
|
||||
"You hear wires being cut.")
|
||||
else
|
||||
user << "Nothing to fix!"
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
/obj/structure/cable/proc/mergeConnectedNetworks(var/direction)
|
||||
var/turf/TB
|
||||
if((d1 == direction || d2 == direction) != 1)
|
||||
|
||||
Reference in New Issue
Block a user