This commit is contained in:
caelaislinn
2012-07-08 23:10:29 +10:00
18 changed files with 122 additions and 82 deletions
@@ -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
+1 -1
View File
@@ -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
+8
View File
@@ -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
+1
View File
@@ -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
+3
View File
@@ -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
+22
View File
@@ -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)