Partially fixed the double definition of BROKEN, renamed organ definitions

This commit is contained in:
Albert Iordache
2012-07-13 23:42:05 +03:00
parent dd6c41ade1
commit b94b57e04c
33 changed files with 227 additions and 227 deletions
+6 -6
View File
@@ -49,13 +49,13 @@
if (M.hand)
if(ishuman(M) || ismonkey(M))
var/datum/organ/external/temp = M:organs["l_hand"]
if(temp.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
M << "\red Yo- wait a minute."
return
else
if(ishuman(M) || ismonkey(M))
var/datum/organ/external/temp = M:organs["r_hand"]
if(temp.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
M << "\red Yo- wait a minute."
return
@@ -100,13 +100,13 @@
if (M.hand)
if(ishuman(M) || ismonkey(M))
var/datum/organ/external/temp = M:organs["l_hand"]
if(temp.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
M << "\red Yo- wait a minute."
return
else
if(ishuman(M) || ismonkey(M))
var/datum/organ/external/temp = M:organs["r_hand"]
if(temp.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
M << "\red Yo- wait a minute."
return
@@ -224,7 +224,7 @@
status = "blugeoned"
if(brutedamage > 40)
status = "mangled"
if(org.status & BLEEDING && brutedamage)
if(org.status & ORGAN_BLEEDING && brutedamage)
status += ",[burndamage ? "" : " and"] bleeding[burndamage ? "," : ""]"
if(brutedamage > 0 && burndamage > 0)
status += " and "
@@ -235,7 +235,7 @@
status += "blistered"
else if(burndamage > 0)
status += "numb"
if(org.status & DESTROYED)
if(org.status & ORGAN_DESTROYED)
status = "MISSING!"
if(status == "")
@@ -131,7 +131,7 @@
//splints
for(var/organ in list("l_leg","r_leg","l_arm","r_arm"))
var/datum/organ/external/o = organs["[organ]"]
if(o.status & SPLINTED)
if(o.status & ORGAN_SPLINTED)
msg += "<span class='warning'>[t_He] [t_has] a splint on his [o.getDisplayName()]!</span>\n"
//belt
@@ -271,11 +271,11 @@
for(var/named in organs)
var/datum/organ/external/temp = organs[named]
if(temp)
if(temp.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
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 & ROBOT)
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
@@ -336,7 +336,7 @@
flavor_text_string += flavor_text[text]
flavor_text_string += " on [t_his] [named].</span><br>"
wound_flavor_text["[named]"] = flavor_text_string
if(temp.status & BLEEDING)
if(temp.status & ORGAN_BLEEDING)
is_bleeding["[named]"] = 1
else
wound_flavor_text["[temp.display_name]"] = ""
+27 -27
View File
@@ -284,8 +284,8 @@
for(var/organ in list("l_leg","l_foot","r_leg","r_foot"))
var/datum/organ/external/o = organs["[organ]"]
if((o.status & BROKEN) || (o.status & DESTROYED))
if(o.status & SPLINTED)
if((o.status & ORGAN_BROKEN) || (o.status & ORGAN_DESTROYED))
if(o.status & ORGAN_SPLINTED)
tally += 3
else
tally += 6
@@ -780,7 +780,7 @@
M.show_message(text("\red [] has been hit by []", src, O), 1)
if (health > 0)
var/datum/organ/external/affecting = get_organ(pick("chest", "chest", "chest", "head"))
if(!affecting || affecting.status & DESTROYED) return
if(!affecting || affecting.status & ORGAN_DESTROYED) return
if (istype(O, /obj/effect/immovablerod))
affecting.take_damage(101, 0)
else
@@ -969,29 +969,29 @@
// Gloves
var/datum/organ/external/lo = organs["l_hand"]
var/datum/organ/external/ro = organs["r_hand"]
if (!(lo.status & DESTROYED && ro.status & DESTROYED))
if (!(lo.status & ORGAN_DESTROYED && ro.status & ORGAN_DESTROYED))
if (gloves)
var/t1 = gloves.item_state
if (!t1)
t1 = gloves.icon_state
var/icon/gloves_icon = new /icon("icon" = 'hands.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")))
if(lo.status & DESTROYED)
if(lo.status & ORGAN_DESTROYED)
gloves_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
if(ro.status & DESTROYED)
if(ro.status & ORGAN_DESTROYED)
gloves_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
clothing_overlays += image(gloves_icon, "layer" = GLOVES_LAYER)
if (gloves.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]")
if(lo.status & DESTROYED)
if(lo.status & ORGAN_DESTROYED)
stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
else if(ro.status & DESTROYED)
else if(ro.status & ORGAN_DESTROYED)
stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
clothing_overlays += image("icon" = stain_icon, "layer" = B_GLOVES_LAYER)
else if (blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "bloodyhands[!lying ? "" : "2"]")
if(lo.status & DESTROYED)
if(lo.status & ORGAN_DESTROYED)
stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
else if(ro.status & DESTROYED)
else if(ro.status & ORGAN_DESTROYED)
stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
clothing_overlays += image("icon" = stain_icon, "layer" = B_GLOVES_LAYER)
@@ -1011,19 +1011,19 @@
// Shoes
lo = organs["l_foot"]
ro = organs["r_foot"]
if (!(lo.status & DESTROYED && ro.status & DESTROYED) && shoes)
if (!(lo.status & ORGAN_DESTROYED && ro.status & ORGAN_DESTROYED) && shoes)
var/t1 = shoes.icon_state
var/icon/shoes_icon = new /icon("icon" = 'feet.dmi', "icon_state" = text("[][]", t1, (!( lying ) ? null : "2")))
if(lo.status & DESTROYED && !lying)
if(lo.status & ORGAN_DESTROYED && !lying)
shoes_icon.Blend(new /icon('limb_mask.dmi', "right[lying?"_l":""]"), ICON_MULTIPLY)
else if(ro.status & DESTROYED && !lying)
else if(ro.status & ORGAN_DESTROYED && !lying)
shoes_icon.Blend(new /icon('limb_mask.dmi', "left[lying?"_l":""]"), ICON_MULTIPLY)
clothing_overlays += image(shoes_icon, "layer" = SHOES_LAYER)
if (shoes.blood_DNA)
var/icon/stain_icon = icon('blood.dmi', "shoeblood[!lying ? "" : "2"]")
if(lo.status & DESTROYED)
if(lo.status & ORGAN_DESTROYED)
stain_icon.Blend(new /icon('limb_mask.dmi', "right_[lying?"l":"s"]"), ICON_MULTIPLY)
else if(ro.status & DESTROYED)
else if(ro.status & ORGAN_DESTROYED)
stain_icon.Blend(new /icon('limb_mask.dmi', "left_[lying?"l":"s"]"), ICON_MULTIPLY)
clothing_overlays += image("icon" = stain_icon, "layer" = B_SHOES_LAYER) // Radio
@@ -1102,7 +1102,7 @@
// Splints
for(var/organ in list("l_leg","r_leg","l_arm","r_arm"))
var/datum/organ/external/o = organs["[organ]"]
if (o.status & SPLINTED)
if (o.status & ORGAN_SPLINTED)
if (!lying)
clothing_overlays += image("icon" = 'mob.dmi', "icon_state" = "[o]_splint", "layer" = CUFFED_LAYER)
else
@@ -1419,7 +1419,7 @@
lying_icon.Blend(new /icon('human.dmi', "chest_[g]_l"), ICON_OVERLAY)
var/datum/organ/external/head = organs["head"]
if(!(head.status & DESTROYED))
if(!(head.status & ORGAN_DESTROYED))
stand_icon.Blend(new /icon('human.dmi', "head_[g]_s"), ICON_OVERLAY)
lying_icon.Blend(new /icon('human.dmi', "head_[g]_l"), ICON_OVERLAY)
@@ -1428,12 +1428,12 @@
if(!istype(part, /datum/organ/external/groin) \
&& !istype(part, /datum/organ/external/chest) \
&& !istype(part, /datum/organ/external/head) \
&& !(part.status & DESTROYED))
&& !(part.status & ORGAN_DESTROYED))
var/icon/temp = new /icon('human.dmi', "[part.icon_name]_s")
if(part.status & ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
if(part.status & ORGAN_ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
stand_icon.Blend(temp, ICON_OVERLAY)
temp = new /icon('human.dmi', "[part.icon_name]_l")
if(part.status & ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
if(part.status & ORGAN_ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
lying_icon.Blend(temp , ICON_OVERLAY)
stand_icon.Blend(new /icon('human.dmi', "groin_[g]_s"), ICON_OVERLAY)
@@ -1473,7 +1473,7 @@
if(!istype(part, /datum/organ/external/groin) \
&& !istype(part, /datum/organ/external/chest) \
&& !istype(part, /datum/organ/external/head) \
&& (part.status & DESTROYED))
&& (part.status & ORGAN_DESTROYED))
husk_s.Blend(new /icon('dam_mask.dmi', "[part.icon_name]"), ICON_SUBTRACT)
husk_l.Blend(new /icon('dam_mask.dmi', "[part.icon_name]2"), ICON_SUBTRACT)
@@ -1503,7 +1503,7 @@
if(organs)
var/datum/organ/external/head = organs["head"]
if(head)
if(head.status & DESTROYED)
if(head.status & ORGAN_DESTROYED)
del(face_standing)
del(face_lying)
return
@@ -1627,7 +1627,7 @@
var/count = 0
for(var/organ in list("l_leg","r_leg","l_arm","r_arm"))
var/datum/organ/external/o = target.organs["[organ]"]
if(o.status & SPLINTED)
if(o.status & ORGAN_SPLINTED)
count = 1
break
if(count == 0)
@@ -2230,9 +2230,9 @@ It can still be worn/put on as normal.
if("splints")
for(var/organ in list("l_leg","r_leg","l_arm","r_arm"))
var/datum/organ/external/o = target.organs["[organ]"]
if (o.status & SPLINTED)
if (o.status & ORGAN_SPLINTED)
var/obj/item/W = new /obj/item/stack/medical/splint/single()
o.status &= ~SPLINTED
o.status &= ~ORGAN_SPLINTED
if (W)
W.loc = target.loc
W.layer = initial(W.layer)
@@ -2651,7 +2651,7 @@ It can still be worn/put on as normal.
var/amount = 0.0
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(!(O.status & ROBOT)) amount+= O.brute_dam
if(!(O.status & ORGAN_ROBOT)) amount+= O.brute_dam
return amount
/mob/living/carbon/human/adjustBruteLoss(var/amount, var/used_weapon = null)
@@ -2664,7 +2664,7 @@ It can still be worn/put on as normal.
var/amount = 0.0
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(!(O.status & ROBOT)) amount+= O.burn_dam
if(!(O.status & ORGAN_ROBOT)) amount+= O.burn_dam
return amount
/mob/living/carbon/human/adjustFireLoss(var/amount,var/used_weapon = null)
@@ -26,7 +26,7 @@
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(O.status & DESTROYED) damage_appearance += "d"
if(O.status & ORGAN_DESTROYED) damage_appearance += "d"
else
damage_appearance += O.damage_state
@@ -41,7 +41,7 @@
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(!(O.status & DESTROYED))
if(!(O.status & ORGAN_DESTROYED))
O.update_icon()
var/icon/DI = new /icon('dam_human.dmi', O.damage_state) // the damage icon for whole human
DI.Blend(new /icon('dam_mask.dmi', O.icon_name), ICON_MULTIPLY) // mask with this organ's pixels
@@ -68,7 +68,7 @@
else
if(!def_zone) def_zone = ran_zone(def_zone)
organ = get_organ(check_zone(def_zone))
if(!organ || organ.status & DESTROYED) return 0
if(!organ || organ.status & ORGAN_DESTROYED) return 0
if(blocked)
damage = (damage/(blocked+1))
@@ -110,7 +110,7 @@ emp_act
O.emp_act(severity)
for(var/named in organs)
var/datum/organ/external/O = organs[named]
if(O.status & DESTROYED) continue
if(O.status & ORGAN_DESTROYED) continue
O.emp_act(severity)
..()
@@ -125,7 +125,7 @@ emp_act
if((user != src) && check_shields(I.force, "the [I.name]"))
return 0
if(!(affecting.status & DESTROYED))
if(!(affecting.status & ORGAN_DESTROYED))
visible_message("\red <B>[src] has been attacked in the [hit_area] with [I.name] by [user]!</B>")
else
user << "What [affecting]?"
+7 -7
View File
@@ -904,7 +904,7 @@
for(var/name in organs)
var/datum/organ/external/E = organs[name]
E.process()
if(E.status & ROBOT && prob(E.brute_dam + E.burn_dam))
if(E.status & ORGAN_ROBOT && prob(E.brute_dam + E.burn_dam))
if(E.name == "l_hand" || E.name == "l_arm")
if(hand && equipped())
drop_item()
@@ -928,10 +928,10 @@
else if(E.name == "l_leg" || E.name == "l_foot" \
|| E.name == "r_leg" || E.name == "r_foot" && !lying)
leg_tally-- // let it fail even if just foot&leg
if(E.status & BROKEN || E.status & DESTROYED)
if(E.status & ORGAN_BROKEN || E.status & ORGAN_DESTROYED)
if(E.name == "l_hand" || E.name == "l_arm")
if(hand && equipped())
if(E.status & SPLINTED && prob(10))
if(E.status & ORGAN_SPLINTED && prob(10))
drop_item()
emote("scream")
else
@@ -939,7 +939,7 @@
emote("scream")
else if(E.name == "r_hand" || E.name == "r_arm")
if(!hand && equipped())
if(E.status & SPLINTED && prob(10))
if(E.status & ORGAN_SPLINTED && prob(10))
drop_item()
emote("scream")
else
@@ -947,7 +947,7 @@
emote("scream")
else if(E.name == "l_leg" || E.name == "l_foot" \
|| E.name == "r_leg" || E.name == "r_foot" && !lying)
if(!(E.status & SPLINTED))
if(!(E.status & ORGAN_SPLINTED))
leg_tally-- // let it fail even if just foot&leg
// can't stand
if(leg_tally == 0 && !paralysis && !(lying || resting))
@@ -1097,10 +1097,10 @@
var/blood_max = 0
for(var/name in organs)
var/datum/organ/external/temp = organs[name]
if(!(temp.status & BLEEDING) || temp.status & ROBOT)
if(!(temp.status & ORGAN_BLEEDING) || temp.status & ORGAN_ROBOT)
continue
blood_max += 2
if(temp.status & DESTROYED && !(temp.status & GAUZED))
if(temp.status & ORGAN_DESTROYED && !(temp.status & ORGAN_GAUZED))
blood_max += 10 //Yer missing a fucking limb.
drip(blood_max)
if (eye_blind)
@@ -27,11 +27,11 @@
for(var/named in organs)
var/datum/organ/external/temp = organs[named]
if(temp)
if(temp.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
is_destroyed["[temp.display_name]"] = 1
wound_flavor_text["[temp.display_name]"] = "<span class='warning'><b>It is missing its [temp.display_name].</b></span>\n"
continue
if(temp.status & ROBOT)
if(temp.status & ORGAN_ROBOT)
if(!(temp.brute_dam + temp.burn_dam))
wound_flavor_text["[temp.display_name]"] = "<span class='warning'>It has a robot [temp.display_name]!</span>\n"
continue
@@ -431,10 +431,10 @@
for(var/name in organs)
var/datum/organ/external/E = organs[name]
E.process()
if(E.status & BROKEN || E.status & DESTROYED)
if(E.status & ORGAN_BROKEN || E.status & ORGAN_DESTROYED)
if(E.name == "l_hand" || E.name == "l_arm")
if(hand && equipped())
if(E.status & SPLINTED && prob(7))
if(E.status & ORGAN_SPLINTED && prob(7))
drop_item()
emote("scream")
else
@@ -442,7 +442,7 @@
emote("scream")
else if(E.name == "r_hand" || E.name == "r_arm")
if(!hand && equipped())
if(E.status & SPLINTED && prob(7))
if(E.status & ORGAN_SPLINTED && prob(7))
drop_item()
emote("scream")
else
@@ -450,7 +450,7 @@
emote("scream")
else if(E.name == "l_leg" || E.name == "l_foot" \
|| E.name == "r_leg" || E.name == "r_foot" && !lying)
if(!(E.status & SPLINTED))
if(!(E.status & ORGAN_SPLINTED))
leg_tally-- // let it fail even if just foot&leg
// can't stand
+10 -10
View File
@@ -585,7 +585,7 @@
lying_icon.Blend(new /icon('monkey.dmi', "chest_l"), ICON_OVERLAY)
var/datum/organ/external/head = organs["head"]
if(!(head.status & DESTROYED))
if(!(head.status & ORGAN_DESTROYED))
stand_icon.Blend(new /icon('monkey.dmi', "head_s"), ICON_OVERLAY)
lying_icon.Blend(new /icon('monkey.dmi', "head_l"), ICON_OVERLAY)
@@ -594,12 +594,12 @@
if(!istype(part, /datum/organ/external/groin) \
&& !istype(part, /datum/organ/external/chest) \
&& !istype(part, /datum/organ/external/head) \
&& !(part.status & DESTROYED))
&& !(part.status & ORGAN_DESTROYED))
var/icon/temp = new /icon('monkey.dmi', "[part.icon_name]_s")
if(part.status & ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
if(part.status & ORGAN_ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
stand_icon.Blend(temp, ICON_OVERLAY)
temp = new /icon('monkey.dmi', "[part.icon_name]_l")
if(part.status & ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
if(part.status & ORGAN_ROBOT) temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
lying_icon.Blend(temp , ICON_OVERLAY)
stand_icon.Blend(new /icon('monkey.dmi', "groin_s"), ICON_OVERLAY)
@@ -743,7 +743,7 @@
var/count = 0
for(var/organ in list("l_leg","r_leg","l_arm","r_arm"))
var/datum/organ/external/o = target.organs["[organ]"]
if(o.status & SPLINTED)
if(o.status & ORGAN_SPLINTED)
count = 1
break
if(count == 0)
@@ -890,9 +890,9 @@
if("splints")
for(var/organ in list("l_leg","r_leg","l_arm","r_arm"))
var/datum/organ/external/o = target.organs["[organ]"]
if (o.status & SPLINTED)
if (o.status & ORGAN_SPLINTED)
var/obj/item/W = new /obj/item/stack/medical/splint/single()
o.status &= ~SPLINTED
o.status &= ~ORGAN_SPLINTED
if (W)
W.loc = target.loc
W.layer = initial(W.layer)
@@ -937,7 +937,7 @@
else
if(!def_zone) def_zone = ran_zone(def_zone)
organ = get_organ(check_zone(def_zone))
if(!organ || organ.status & DESTROYED) return 0
if(!organ || organ.status & ORGAN_DESTROYED) return 0
if(blocked)
damage = (damage/(blocked+1))
@@ -1060,7 +1060,7 @@
var/amount = 0.0
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(!(O.status & ROBOT)) amount+= O.brute_dam
if(!(O.status & ORGAN_ROBOT)) amount+= O.brute_dam
return amount
/mob/living/carbon/monkey/adjustBruteLoss(var/amount, var/used_weapon = null)
@@ -1073,7 +1073,7 @@
var/amount = 0.0
for(var/name in organs)
var/datum/organ/external/O = organs[name]
if(!(O.status & ROBOT)) amount+= O.burn_dam
if(!(O.status & ORGAN_ROBOT)) amount+= O.burn_dam
return amount
/mob/living/carbon/monkey/adjustFireLoss(var/amount,var/used_weapon = null)
+3 -3
View File
@@ -22,11 +22,11 @@
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) && !organ.amputated)
if((organ.status & ORGAN_DESTROYED) && !organ.amputated)
src.traumatic_shock += 60
else if(organ.status & BROKEN || organ.open)
else if(organ.status & ORGAN_BROKEN || organ.open)
src.traumatic_shock += 30
if(organ.status & SPLINTED)
if(organ.status & ORGAN_SPLINTED)
src.traumatic_shock -= 20
if(src.traumatic_shock < 0)
+8 -8
View File
@@ -181,9 +181,9 @@
affecting = H.organs[A]
if(!istype(affecting, /datum/organ/external)) continue
affecting.heal_damage(1000, 1000) //fixes getting hit after ingestion, killing you when game updates organ health
affecting.status &= ~BROKEN
affecting.status &= ~SPLINTED
affecting.status &= ~DESTROYED
affecting.status &= ~ORGAN_BROKEN
affecting.status &= ~ORGAN_SPLINTED
affecting.status &= ~ORGAN_DESTROYED
del affecting.wound_descs
H.UpdateDamageIcon()
H.update_body()
@@ -209,13 +209,13 @@
var/datum/organ/external/e = H.organs[name]
e.brute_dam = 0.0
e.burn_dam = 0.0
e.status &= ~BANDAGED
e.status &= ~ORGAN_BANDAGED
e.max_damage = initial(e.max_damage)
e.status &= ~BLEEDING
e.status &= ~ORGAN_BLEEDING
e.open = 0
e.status &= ~BROKEN
e.status &= ~SPLINTED
e.status &= ~DESTROYED
e.status &= ~ORGAN_BROKEN
e.status &= ~ORGAN_SPLINTED
e.status &= ~ORGAN_DESTROYED
e.perma_injury = 0
e.update_icon()
del e.wound_descs
+3 -3
View File
@@ -687,7 +687,7 @@
if(H.health - H.halloss <= config.health_threshold_crit)
for(var/name in H.organs)
var/datum/organ/external/e = H.organs[name]
if((H.lying) && ((e.status & BROKEN && !(e.status & SPLINTED)) || e.status & BLEEDING) && (H.getBruteLoss() + H.getFireLoss() >= 100))
if((H.lying) && ((e.status & ORGAN_BROKEN && !(e.status & ORGAN_SPLINTED)) || e.status & ORGAN_BLEEDING) && (H.getBruteLoss() + H.getFireLoss() >= 100))
return 1
break
return 0
@@ -713,12 +713,12 @@
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.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
usr << "\blue You look at your stump."
return
else
var/datum/organ/external/temp = usr:get_organ("r_hand")
if(temp.status & DESTROYED)
if(temp.status & ORGAN_DESTROYED)
usr << "\blue You look at your stump."
return
+2 -2
View File
@@ -1233,10 +1233,10 @@ datum/preferences
var/status = organ_data[name]
if(status == "amputated")
O.amputated = 1
O.status |= DESTROYED
O.status |= ORGAN_DESTROYED
O.destspawn = 1
else if(status == "cyborg")
O.status |= ROBOT
O.status |= ORGAN_ROBOT
switch(UI_style)
if("Midnight")
+2 -2
View File
@@ -13,10 +13,10 @@ datum/skill/var
var/global/list/SKILLS = null
var/list/SKILL_ENGINEER = list("field" = "Engineering", "EVA" = SKILL_BASIC, "construction" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "engines" = SKILL_ADEPT)
var/list/SKILL_ROBOTICIST = list("field" = "Science", "devices" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "computer" = SKILL_ADEPT, "anatomy" = SKILL_BASIC)
var/list/SKILL_ORGAN_ROBOTICIST = list("field" = "Science", "devices" = SKILL_ADEPT, "electrical" = SKILL_BASIC, "computer" = SKILL_ADEPT, "anatomy" = SKILL_BASIC)
var/list/SKILL_SECURITY_OFFICER = list("field" = "Security", "combat" = SKILL_BASIC, "weapons" = SKILL_ADEPT, "law" = SKILL_ADEPT, "forensics" = SKILL_BASIC)
var/list/SKILL_CHEMIST = list("field" = "Science", "chemistry" = SKILL_ADEPT, "science" = SKILL_ADEPT, "medical" = SKILL_BASIC, "devices" = SKILL_BASIC)
var/global/list/SKILL_PRE = list("Engineer" = SKILL_ENGINEER, "Roboticist" = SKILL_ROBOTICIST, "Security Officer" = SKILL_SECURITY_OFFICER, "Chemist" = SKILL_CHEMIST)
var/global/list/SKILL_PRE = list("Engineer" = SKILL_ENGINEER, "Roboticist" = SKILL_ORGAN_ROBOTICIST, "Security Officer" = SKILL_SECURITY_OFFICER, "Chemist" = SKILL_CHEMIST)
datum/skill/management
ID = "management"
+24 -24
View File
@@ -121,26 +121,26 @@ var/list/wound_progressions = list(
proc/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list())
if((brute <= 0) && (burn <= 0))
return 0
if(status & DESTROYED)
if(status & ORGAN_DESTROYED)
return 0
if(status & ROBOT)
if(status & ORGAN_ROBOT)
brute *= 0.66 //~2/3 damage for ROBOLIMBS
burn *= 0.66 //~2/3 damage for ROBOLIMBS
if(owner && !(status & ROBOT))
if(owner && !(status & ORGAN_ROBOT))
owner.pain(display_name, (brute+burn)*3, 1, burn > brute)
if(sharp)
var/nux = brute * rand(10,15)
if(brute_dam >= max_damage)
if(prob(5 * brute))
status |= DESTROYED
status |= ORGAN_DESTROYED
droplimb()
return
else if(prob(nux))
createwound( CUT, brute )
if(!(status & ROBOT))
if(!(status & ORGAN_ROBOT))
owner << "You feel something wet on your [display_name]"
if((brute_dam + burn_dam + brute + burn) < max_damage)
@@ -172,7 +172,7 @@ var/list/wound_progressions = list(
burn = can_inflict
burn_dam += burn
createwound(max(1,min(6,round(burn/10) + rand(0,1))),2,burn)
else if(!(status & ROBOT))
else if(!(status & ORGAN_ROBOT))
var/passed_dam = (brute + burn) - can_inflict //Getting how much overdamage we have.
var/list/datum/organ/external/possible_points = list()
if(parent)
@@ -193,7 +193,7 @@ var/list/wound_progressions = list(
droplimb(1) //Robot limbs just kinda fail at full damage.
if(status & BROKEN)
if(status & ORGAN_BROKEN)
owner.emote("scream")
if(used_weapon) add_wound(used_weapon, brute + burn)
@@ -205,7 +205,7 @@ var/list/wound_progressions = list(
proc/heal_damage(brute, burn, internal = 0, robo_repair = 0)
if(status & ROBOT && !robo_repair)
if(status & ORGAN_ROBOT && !robo_repair)
return
// var/brute_to_heal = 0
// var/brute_wounds = list()
@@ -217,7 +217,7 @@ var/list/wound_progressions = list(
burn_dam = max(0, burn_dam-burn)
if(internal)
status &= ~BROKEN
status &= ~ORGAN_BROKEN
perma_injury = 0
// if all damage is healed, replace the wounds with scars
if(brute_dam + burn_dam == 0)
@@ -255,23 +255,23 @@ var/list/wound_progressions = list(
process()
if(next_wound_update && world.time > next_wound_update)
update_wounds()
if(status & DESTROYED)
if(status & ORGAN_DESTROYED)
if(!destspawn)
droplimb()
return
if(!(status & BROKEN))
if(!(status & ORGAN_BROKEN))
perma_dmg = 0
if(parent)
if(parent.status & DESTROYED)
status |= DESTROYED
if(parent.status & ORGAN_DESTROYED)
status |= ORGAN_DESTROYED
owner:update_body()
return
if(brute_dam > min_broken_damage && !(status & ROBOT))
if(!(status & BROKEN))
if(brute_dam > min_broken_damage && !(status & ORGAN_ROBOT))
if(!(status & ORGAN_BROKEN))
//owner.unlock_medal("Broke Yarrr Bones!", 0, "Break a bone.", "easy")
owner.visible_message("\red You hear a loud cracking sound coming from \the [owner].","\red <b>Something feels like it shattered in your [display_name]!</b>","You hear a sickening crack.")
owner.emote("scream")
status |= BROKEN
status |= ORGAN_BROKEN
broken_description = pick("broken","fracture","hairline fracture")
perma_injury = brute_dam
return
@@ -314,17 +314,17 @@ var/list/wound_progressions = list(
proc/droplimb(var/override = 0,var/no_explode = 0)
if(override)
status |= DESTROYED
if(status & DESTROYED)
if(status & SPLINTED)
status &= ~SPLINTED
status |= ORGAN_DESTROYED
if(status & ORGAN_DESTROYED)
if(status & ORGAN_SPLINTED)
status &= ~ORGAN_SPLINTED
if(implant)
for(var/implants in implant)
del(implants)
//owner.unlock_medal("Lost something?", 0, "Lose a limb.", "easy")
for(var/datum/organ/external/I in children)
if(I && !(I.status & DESTROYED))
if(I && !(I.status & ORGAN_DESTROYED))
I.droplimb(1,1)
var/obj/item/weapon/organ/H
switch(body_part)
@@ -390,7 +390,7 @@ var/list/wound_progressions = list(
var/lol = pick(cardinal)
step(H,lol)
destspawn = 1
if(status & ROBOT)
if(status & ORGAN_ROBOT)
owner.visible_message("\red \The [owner]'s [display_name] explodes violently!",\
"\red <b>Your [display_name] explodes!</b>",\
"You hear an explosion followed by a scream!")
@@ -416,7 +416,7 @@ var/list/wound_progressions = list(
var/size = min( max( 1, damage/10 ) , 6)
switch(type)
if(CUT)
src.status |= BLEEDING
src.status |= ORGAN_BLEEDING
var/list/size_names = list("cut", "deep cut", "flesh wound", "gaping wound", "big gaping wound", "massive wound")
wound_name = size_names[size]
if(wound_descs["[update_time]"])
@@ -469,7 +469,7 @@ var/list/wound_progressions = list(
next_wound_update = 0
proc/emp_act(severity)
if(!(status & ROBOT))
if(!(status & ORGAN_ROBOT))
return
if(prob(30*severity))
take_damage(4(4-severity), 0, 1, used_weapon = "EMP")
+1 -1
View File
@@ -457,7 +457,7 @@
/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")
if(!(S.status & ORGAN_ROBOT) || user.a_intent != "help")
return ..()
if(S.burn_dam > 0)
S.heal_damage(0,15,0,1)