Organs update 3

This commit is contained in:
c0
2015-09-25 22:26:15 +03:00
parent 3bf0f92a67
commit feeb9ff7d2
21 changed files with 234 additions and 86 deletions
@@ -1,6 +1,5 @@
/obj/item/organ/internal/alien
origin_tech = "biotech=5"
icon = 'icons/effects/blood.dmi'
icon_state = "xgibmid2"
var/list/alien_powers = list()
@@ -30,6 +29,7 @@
/obj/item/organ/internal/alien/plasmavessel
name = "plasma vessel"
icon_state = "plasma"
origin_tech = "biotech=5;plasma=2"
w_class = 3
zone = "chest"
@@ -48,6 +48,7 @@
/obj/item/organ/internal/alien/plasmavessel/large
name = "large plasma vessel"
icon_state = "plasma_large"
w_class = 4
storedPlasma = 200
max_plasma = 500
@@ -59,6 +60,7 @@
/obj/item/organ/internal/alien/plasmavessel/small
name = "small plasma vessel"
icon_state = "plasma_small"
w_class = 2
storedPlasma = 100
max_plasma = 150
@@ -66,6 +68,7 @@
/obj/item/organ/internal/alien/plasmavessel/small/tiny
name = "tiny plasma vessel"
icon_state = "plasma_tiny"
w_class = 1
max_plasma = 100
alien_powers = list(/obj/effect/proc_holder/alien/transfer)
@@ -100,6 +103,7 @@
/obj/item/organ/internal/alien/hivenode
name = "hive node"
icon_state = "hivenode"
zone = "head"
slot = "hivenode"
origin_tech = "biotech=5;magnets=4;bluespace=3"
@@ -117,6 +121,7 @@
/obj/item/organ/internal/alien/resinspinner
name = "resin spinner"
icon_state = "stomach-x"
zone = "mouth"
slot = "resinspinner"
origin_tech = "biotech=5;materials=4"
@@ -125,6 +130,7 @@
/obj/item/organ/internal/alien/acid
name = "acid gland"
icon_state = "acid"
zone = "mouth"
slot = "acidgland"
origin_tech = "biotech=5;materials=2;combat=2"
@@ -133,6 +139,7 @@
/obj/item/organ/internal/alien/neurotoxin
name = "neurotoxin gland"
icon_state = "neurotox"
zone = "mouth"
slot = "neurotoxingland"
origin_tech = "biotech=5;combat=5"
@@ -141,6 +148,7 @@
/obj/item/organ/internal/alien/eggsac
name = "egg sac"
icon_state = "eggsac"
zone = "groin"
slot = "eggsac"
w_class = 4
@@ -57,6 +57,10 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds
RefreshInfectionImage()
if(stage == 5 && prob(50))
for(var/datum/surgery/S in owner.surgeries)
if(S.location == "chest" && istype(S.get_surgery_step(), /datum/surgery_step/manipulate_organs))
AttemptGrow(0)
return
AttemptGrow()
@@ -79,10 +83,8 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds
stage = 4 // Let's try again later.
return
if(owner.lying)
owner.overlays += image('icons/mob/alien.dmi', loc = owner, icon_state = "burst_lie")
else
owner.overlays += image('icons/mob/alien.dmi', loc = owner, icon_state = "burst_stand")
var/overlay = image('icons/mob/alien.dmi', loc = owner, icon_state = "burst_lie")
owner.overlays += overlay
spawn(6)
var/atom/xeno_loc = owner
if(!gib_on_success)
@@ -94,6 +96,9 @@ var/const/ALIEN_AFK_BRACKET = 450 // 45 seconds
if(gib_on_success)
owner.stomach_contents += new_xeno
owner.gib()
else
owner.adjustBruteLoss(40)
owner.overlays -= overlay
qdel(src)
@@ -119,5 +119,5 @@
/obj/item/organ/internal/brain/alien
name = "alien brain"
desc = "We barely understand the brains of terrestial animals. Who knows what we may find in the brain of such an advanced species?"
icon_state = "brain-alien"
icon_state = "brain-x"
origin_tech = "biotech=7"
+4 -1
View File
@@ -50,9 +50,12 @@
msg += "It isn't responding to anything around it; it seems to be asleep.\n"
msg += "</span>"
if (digitalcamo)
if(digitalcamo)
msg += "It is moving its body in an unnatural and blatantly unsimian manner.\n"
if(!getorgan(/obj/item/organ/internal/brain))
msg += "<span class='deadsay'>It appears that it's brain is missing...</span>\n"
msg += "*---------*</span>"
user << msg
@@ -280,7 +280,8 @@
if(istype(H.glasses, /obj/item/clothing/glasses/hud/health) || istype(CIH,/obj/item/organ/internal/cyberimp/eyes/hud/medical))
var/implant_detect
for(var/obj/item/organ/internal/cyberimp/CI in internal_organs)
implant_detect += "[name] is modified with a [CI.name].<br>"
if(CI.status == ORGAN_ROBOTIC)
implant_detect += "[name] is modified with a [CI.name].<br>"
if(implant_detect)
msg += "Detected cybernetic modifications:<br>"
msg += implant_detect
@@ -80,8 +80,12 @@
if(origin)
origin.transfer_to(M)
if(origin.changeling)
origin.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null)
if(!origin.changeling)
M.make_changeling()
if(origin.changeling.can_absorb_dna(M, owner))
origin.changeling.add_profile(owner, M)
origin.changeling.purchasedpowers += new /obj/effect/proc_holder/changeling/humanform(null)
M.key = origin.key
owner.gib()
@@ -252,25 +252,44 @@
OpenFire()
/mob/living/simple_animal/hostile/asteroid/hivelord/death(gibbed)
new /obj/item/asteroid/hivelord_core(src.loc)
new /obj/item/organ/internal/hivelord_core(src.loc)
mouse_opacity = 1
..(gibbed)
/obj/item/asteroid/hivelord_core
/obj/item/organ/internal/hivelord_core
name = "hivelord remains"
desc = "All that remains of a hivelord, it seems to be what allows it to break pieces of itself off without being hurt... its healing properties will soon become inert if not used quickly."
icon = 'icons/obj/food/food.dmi'
icon_state = "boiledrorocore"
icon_state = "roro core 2"
flags = NOBLUDGEON
slot = "hivecore"
force = 0
var/inert = 0
/obj/item/asteroid/hivelord_core/New()
spawn(1200)
inert = 1
desc = "The remains of a hivelord that have become useless, having been left alone too long after being harvested."
/obj/item/organ/internal/hivelord_core/New()
..()
spawn(2400)
if(!owner)
inert = 1
desc = "The remains of a hivelord that have become useless, having been left alone too long after being harvested."
/obj/item/asteroid/hivelord_core/attack(mob/living/M, mob/living/user)
if(ishuman(M))
var/mob/living/carbon/human/H = M
/obj/item/organ/internal/hivelord_core/on_life()
..()
if(inert)
return
owner.adjustBruteLoss(-1)
owner.adjustFireLoss(-1)
owner.adjustOxyLoss(-2)
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
var/datum/reagent/blood/B = locate() in H.vessel.reagent_list //Grab some blood
var/blood_volume = round(H.vessel.get_reagent_amount("blood"))
if(B && blood_volume < 560 && blood_volume)
B.volume += 2 // Fast blood regen
/obj/item/organ/internal/hivelord_core/afterattack(atom/target, mob/user, proximity_flag)
if(proximity_flag && ishuman(target))
var/mob/living/carbon/human/H = target
if(inert)
user << "<span class='notice'>[src] have become inert, its healing properties are no more.</span>"
return
@@ -286,6 +305,9 @@
qdel(src)
..()
/obj/item/organ/internal/hivelord_core/prepare_eat()
return null
/mob/living/simple_animal/hostile/asteroid/hivelordbrood
name = "hivelord brood"
desc = "A fragment of the original Hivelord, rallying behind its original. One isn't much of a threat, but..."
@@ -591,7 +613,7 @@
/obj/item/asteroid/fugu_gland
name = "wumborian fugu gland"
desc = "The key to the wumborian fugu's ability to increase its mass arbitrarily, this disgusting remnant can apply the same effect to other creatures, giving them great strength."
icon = 'icons/obj/mining.dmi'
icon = 'icons/obj/surgery.dmi'
icon_state = "fugu_gland"
flags = NOBLUDGEON
w_class = 3