Fix pegleg bleeding issues.

This commit is contained in:
Rob Nelson
2013-10-03 01:30:55 -07:00
parent 5142fb3bb1
commit 3fd848e493
6 changed files with 33 additions and 4 deletions

View File

@@ -286,7 +286,7 @@
var/mob/living/carbon/human/H = M
if(!H.shoes)
var/datum/organ/external/affecting = H.get_organ(pick("l_foot", "r_foot"))
if(affecting.status & ORGAN_ROBOT)
if(affecting.status & (ORGAN_ROBOT|ORGAN_PEG))
return
H.Weaken(3)

View File

@@ -254,7 +254,26 @@
is_destroyed["[temp.display_name]"] = 1
wound_flavor_text["[temp.display_name]"] = "<span class='warning'><b>[t_He] is missing [t_his] [temp.display_name].</b></span>\n"
continue
if(temp.status & ORGAN_ROBOT)
if(temp.status & ORGAN_PEG)
if(!(temp.brute_dam + temp.burn_dam))
wound_flavor_text["[temp.display_name]"] = "<span class='warning'>[t_He] has a peg [temp.display_name]!</span>\n"
continue
else
wound_flavor_text["[temp.display_name]"] = "<span class='warning'>[t_He] has a peg [temp.display_name], it has"
if(temp.brute_dam) switch(temp.brute_dam)
if(0 to 20)
wound_flavor_text["[temp.display_name]"] += " some marks"
if(21 to INFINITY)
wound_flavor_text["[temp.display_name]"] += pick(" a lot of damage"," severe cracks and splintering")
if(temp.brute_dam && temp.burn_dam)
wound_flavor_text["[temp.display_name]"] += " and"
if(temp.burn_dam) switch(temp.burn_dam)
if(0 to 20)
wound_flavor_text["[temp.display_name]"] += " some burns"
if(21 to INFINITY)
wound_flavor_text["[temp.display_name]"] += pick(" a lot of burns"," severe charring")
wound_flavor_text["[temp.display_name]"] += "!</span>\n"
else if(temp.status & ORGAN_ROBOT)
if(!(temp.brute_dam + temp.burn_dam))
wound_flavor_text["[temp.display_name]"] = "<span class='warning'>[t_He] has a robot [temp.display_name]!</span>\n"
continue

View File

@@ -1299,7 +1299,7 @@ mob/living/carbon/human/yank_out_object()
src << msg
organ.take_damage(rand(1,3), 0, 0)
if(!(organ.status & ORGAN_ROBOT)) //There is no blood in protheses.
if(!(organ.status & (ORGAN_ROBOT|ORGAN_PEG))) //There is no blood in protheses.
organ.status |= ORGAN_BLEEDING
src.adjustToxLoss(rand(1,3))

View File

@@ -114,7 +114,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
//Bleeding out
var/blood_max = 0
for(var/datum/organ/external/temp in organs)
if(!(temp.status & ORGAN_BLEEDING) || temp.status & ORGAN_ROBOT)
if(!(temp.status & ORGAN_BLEEDING) || temp.status & (ORGAN_ROBOT|ORGAN_PEG))
continue
for(var/datum/wound/W in temp.wounds) if(W.bleeding())
blood_max += W.damage / 4

View File

@@ -17,6 +17,8 @@
return 0
if (affected.status & ORGAN_ROBOT)
return 0
if (affected.status & ORGAN_PEG)
return 0
return 1
/datum/surgery_step/generic/cut_open

View File

@@ -607,6 +607,14 @@ OSError: cannot identify image file
- xenocell4
- xenocell5
- xenocell6
--- C:\Users\Rob\Documents\Projects\Baystation12\icons\turf\floors.dmi
+++ C:\Users\Rob\Documents\Projects\vgstation13\icons\turf\floors.dmi
- checker
- enginebot
- enginedelivery
- engineloadingarea
- enginewarn
- enginewarncorner
--- C:\Users\Rob\Documents\Projects\Baystation12\icons\turf\space.dmi
+++ C:\Users\Rob\Documents\Projects\vgstation13\icons\turf\space.dmi
- debug-east