Tweaks to previous commits.

More tweaks to IPC fixes.
Merge resolution/compile fixes.

Further work on properly integrating, updating and fixing prosthetic options.

Repathed internal organs to organ/internal.

More work on full synthetics, changelings, overheating.

Working on getting organs to qdel properly and spawn properly when robotized.

Finalized some overheating values, added remaining prosthetic icons.

Finalizing the testing version of the full prosthetic bodies branch.

Added suit cyclers to the autolathe and map.

Fixing runtime errors.

Fixing errors.

Changelog.

Replacing limb and organ strings with constants.

Prevented brainless species from becoming full cyborgs.

Fixed issues with brain/MMIs renaming themselves inappropriately.

Various fixes and oversights.
This commit is contained in:
Zuhayr
2015-12-04 16:49:21 +10:30
parent 87afd2feb2
commit f93ea6a78f
161 changed files with 1384 additions and 1352 deletions

View File

@@ -72,7 +72,7 @@
/datum/reagent/blood/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.check_is_prosthetic())
if(H.isSynthetic())
return
if(data && data["viruses"])
for(var/datum/disease/D in data["viruses"])

View File

@@ -246,7 +246,7 @@
if(prob(50))
M.apply_effect(50, IRRADIATE, check_protection = 0) // curing it that way may kill you instead
var/absorbed = 0
var/obj/item/organ/diona/nutrients/rad_organ = locate() in M.internal_organs
var/obj/item/organ/internal/diona/nutrients/rad_organ = locate() in M.internal_organs
if(rad_organ && !rad_organ.is_broken())
absorbed = 1
if(!absorbed)
@@ -323,7 +323,7 @@
if(!M.unacidable && removed > 0)
if(istype(M, /mob/living/carbon/human) && volume >= meltdose)
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/affecting = H.get_organ("head")
var/obj/item/organ/external/affecting = H.get_organ(BP_HEAD)
if(affecting)
if(affecting.take_damage(0, removed * power * 0.1))
H.UpdateDamageIcon()

View File

@@ -1763,7 +1763,7 @@
M.adjustToxLoss(2 * removed)
if(dose > 60 && ishuman(M) && prob(5))
var/mob/living/carbon/human/H = M
var/obj/item/organ/heart/L = H.internal_organs_by_name["heart"]
var/obj/item/organ/internal/heart/L = H.internal_organs_by_name[O_HEART]
if (L && istype(L))
if(dose < 120)
L.take_damage(10 * removed, 0)

View File

@@ -255,7 +255,7 @@
M.eye_blind = max(M.eye_blind - 5, 0)
if(ishuman(M))
var/mob/living/carbon/human/H = M
var/obj/item/organ/eyes/E = H.internal_organs_by_name["eyes"]
var/obj/item/organ/internal/eyes/E = H.internal_organs_by_name[O_EYES]
if(E && istype(E))
if(E.damage > 0)
E.damage = max(E.damage - 5 * removed, 0)

View File

@@ -1540,42 +1540,6 @@
if(wrapped)
Unwrap(user)
/*
On_Consume(var/mob/M)
M << "<span class = 'warning'>Something inside of you suddently expands!</span>"
if (istype(M, /mob/living/carbon/human))
//Do not try to understand.
var/obj/item/weapon/surprise = new/obj/item/weapon(M)
var/mob/ook = monkey_type
surprise.icon = initial(ook.icon)
surprise.icon_state = initial(ook.icon_state)
surprise.name = "malformed [initial(ook.name)]"
surprise.desc = "Looks like \a very deformed [initial(ook.name)], a little small for its kind. It shows no signs of life."
surprise.transform *= 0.6
surprise.add_blood(M)
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/E = H.get_organ("chest")
E.fracture()
for (var/obj/item/organ/I in E.internal_organs)
I.take_damage(rand(I.min_bruised_damage, I.min_broken_damage+1))
if (!E.hidden && prob(60)) //set it snuggly
E.hidden = surprise
E.cavity = 0
else //someone is having a bad day
E.createwound(CUT, 30)
E.embed(surprise)
else if (issmall(M))
M.visible_message("<span class='danger'>[M] suddenly tears in half!</span>")
var/mob/living/carbon/monkey/ook = new monkey_type(M.loc)
ook.name = "malformed [ook.name]"
ook.transform *= 0.6
ook.add_blood(M)
M.gib()
..()
*/
proc/Expand()
src.visible_message("<span class='notice'>\The [src] expands!</span>")
var/mob/living/carbon/human/H = new(src.loc)

View File

@@ -96,7 +96,7 @@
var/datum/reagent/B
if(istype(T, /mob/living/carbon/human))
var/mob/living/carbon/human/H = T
if(H.species && !H.should_have_organ("heart"))
if(H.species && !H.should_have_organ(O_HEART))
H.reagents.trans_to_obj(src, amount)
else
B = T.take_blood(src, amount)