Fixes some mix-up with what hand was lost

Regenerate admin verb now restores limbs/lost blood
Fixes power_loss proc to actually respect the electrical channel something is on.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3539 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
VivianFoxfoot@gmail.com
2012-05-01 20:53:18 +00:00
parent d54289d410
commit 8314f5bf5d
7 changed files with 52 additions and 6 deletions
+3
View File
@@ -188,6 +188,9 @@
status += "blistered"
else if(burndamage > 0)
status += "numb"
if(org.destroyed)
status = "MISSING!"
if(status == "")
status = "OK"
src.show_message(text("\t []My [] is [].",status=="OK"?"\blue ":"\red ",org.getDisplayName(),status),1)
+28 -1
View File
@@ -158,10 +158,37 @@
SetStunned(0)
SetWeakened(0)
//src.health = 100
if(ishuman(src))
var/mob/living/carbon/human/H = src
for(var/datum/organ/external/e in src:organs)
if(e.destroyed)
e.destroyed = 0
e.brute_dam = 0.0
e.burn_dam = 0.0
e.bandaged = 0.0
e.max_damage = initial(e.max_damage)
e.bleeding = 0
e.open = 0
e.broken = 0
e.destroyed = 0
e.perma_injury = 0
if(e.wounds)
for(var/datum/organ/wound/W in e.wounds)
del(W)
e.update_icon()
src:update_body()
src:update_face()
src:UpdateDamageIcon()
H.vessel:clear_reagents()
H.vessel:add_reagent("blood",560)
src.heal_overall_damage(1000, 1000)
src.buckled = initial(src.buckled)
src.handcuffed = initial(src.handcuffed)
if(src.stat > 1) src.stat = CONSCIOUS
if(src.stat > 1)
src.stat = CONSCIOUS
..()
return
+13
View File
@@ -630,6 +630,19 @@
if ( !usr || usr==src || !istype(src.loc,/turf) ) //if there's no person pulling OR the person is pulling themself OR the object being pulled is inside something: abort!
return
if(ishuman(usr))
if(usr.hand) // if he's using his left hand.
var/datum/organ/external/temp = usr:get_organ("l_hand")
if(temp.destroyed)
usr << "\blue You look at your stump."
return
else
var/datum/organ/external/temp = usr:get_organ("r_hand")
if(temp.destroyed)
usr << "\blue You look at your stump."
return
if (!( anchored ))
usr.pulling = src
if(ismob(src))
+1 -1
View File
@@ -431,7 +431,7 @@
destspawn = 1
if(!robot)
owner.visible_message("\red [owner.name]'s [display_name] flies off in an arc.",\
"\red <b>Your [display_name] goes flying off!</b>",\
"<span class='moderate'><b>Your [display_name] goes flying off!</b></span>",\
"You hear a terrible sound of ripping tendons and flesh.")
else
owner.visible_message("\red [owner.name]'s [display_name] explodes violently!",\
+1 -1
View File
@@ -31,7 +31,7 @@
if(!A || !isarea(A) || !A.master)
return 0 // if not, then not powered
return A.master.powered(chan) // return power status of the area
return A.master.powered(power_channel) // return power status of the area
// increment the power usage stats for an area