mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-27 14:08:44 +01:00
Xenowork Prep For Future (#6491)
* Xenowork, weeds walls and material blobs. * More weeds * XenoUpdoots * Stop that, me.
This commit is contained in:
@@ -1283,6 +1283,9 @@
|
||||
else if (affecting.robotic >= ORGAN_LIFELIKE)
|
||||
. = 0
|
||||
fail_msg = "Your needle refuses to penetrate more than a short distance..."
|
||||
else if (affecting.thick_skin && prob(70 - round(affecting.brute_dam + affecting.burn_dam / 2))) // Allows transplanted limbs with thick skin to maintain their resistance.
|
||||
. = 0
|
||||
fail_msg = "Your needle fails to penetrate \the [affecting]'s thick hide..."
|
||||
else
|
||||
switch(target_zone)
|
||||
if(BP_HEAD)
|
||||
|
||||
@@ -121,7 +121,9 @@
|
||||
|
||||
if(check_alien_ability(50,1,O_RESIN))
|
||||
visible_message("<span class='alium'><B>[src] has planted some alien weeds!</B></span>")
|
||||
new /obj/effect/alien/weeds/node(loc)
|
||||
var/obj/O = new /obj/effect/alien/weeds/node(loc)
|
||||
if(O)
|
||||
O.color = "#321D37"
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/proc/Spit(var/atom/A)
|
||||
@@ -231,7 +233,7 @@
|
||||
set desc = "Secrete tough malleable resin."
|
||||
set category = "Abilities"
|
||||
|
||||
var/choice = input("Choose what you wish to shape.","Resin building") as null|anything in list("resin door","resin wall","resin membrane","resin nest") //would do it through typesof but then the player choice would have the type path and we don't want the internal workings to be exposed ICly - Urist
|
||||
var/choice = input("Choose what you wish to shape.","Resin building") as null|anything in list("resin door","resin wall","resin membrane","resin nest","resin blob") //would do it through typesof but then the player choice would have the type path and we don't want the internal workings to be exposed ICly - Urist
|
||||
if(!choice)
|
||||
return
|
||||
|
||||
@@ -239,15 +241,24 @@
|
||||
return
|
||||
|
||||
visible_message("<span class='warning'><B>[src] vomits up a thick purple substance and begins to shape it!</B></span>", "<span class='alium'>You shape a [choice].</span>")
|
||||
|
||||
var/obj/O
|
||||
|
||||
switch(choice)
|
||||
if("resin door")
|
||||
new /obj/structure/simple_door/resin(loc)
|
||||
O = new /obj/structure/simple_door/resin(loc)
|
||||
if("resin wall")
|
||||
new /obj/effect/alien/resin/wall(loc)
|
||||
O = new /obj/effect/alien/resin/wall(loc)
|
||||
if("resin membrane")
|
||||
new /obj/effect/alien/resin/membrane(loc)
|
||||
O = new /obj/effect/alien/resin/membrane(loc)
|
||||
if("resin nest")
|
||||
new /obj/structure/bed/nest(loc)
|
||||
O = new /obj/structure/bed/nest(loc)
|
||||
if("resin blob")
|
||||
O = new /obj/item/stack/material/resin(loc)
|
||||
|
||||
if(O)
|
||||
O.color = "#321D37"
|
||||
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/proc/leap()
|
||||
|
||||
@@ -66,17 +66,17 @@
|
||||
var/weeds_plasma_rate = 5 // Plasma regen on weeds.
|
||||
|
||||
has_limbs = list(
|
||||
BP_TORSO = list("path" = /obj/item/organ/external/chest),
|
||||
BP_GROIN = list("path" = /obj/item/organ/external/groin),
|
||||
BP_HEAD = list("path" = /obj/item/organ/external/head/no_eyes),
|
||||
BP_L_ARM = list("path" = /obj/item/organ/external/arm),
|
||||
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right),
|
||||
BP_L_LEG = list("path" = /obj/item/organ/external/leg),
|
||||
BP_R_LEG = list("path" = /obj/item/organ/external/leg/right),
|
||||
BP_L_HAND = list("path" = /obj/item/organ/external/hand),
|
||||
BP_R_HAND = list("path" = /obj/item/organ/external/hand/right),
|
||||
BP_L_FOOT = list("path" = /obj/item/organ/external/foot),
|
||||
BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right)
|
||||
BP_TORSO = list("path" = /obj/item/organ/external/chest/unseverable/xeno),
|
||||
BP_GROIN = list("path" = /obj/item/organ/external/groin/unseverable/xeno),
|
||||
BP_HEAD = list("path" = /obj/item/organ/external/head/unseverable/xeno),
|
||||
BP_L_ARM = list("path" = /obj/item/organ/external/arm/unseverable/xeno),
|
||||
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right/unseverable/xeno),
|
||||
BP_L_LEG = list("path" = /obj/item/organ/external/leg/unseverable/xeno),
|
||||
BP_R_LEG = list("path" = /obj/item/organ/external/leg/right/unseverable/xeno),
|
||||
BP_L_HAND = list("path" = /obj/item/organ/external/hand/unseverable/xeno),
|
||||
BP_R_HAND = list("path" = /obj/item/organ/external/hand/right/unseverable/xeno),
|
||||
BP_L_FOOT = list("path" = /obj/item/organ/external/foot/unseverable/xeno),
|
||||
BP_R_FOOT = list("path" = /obj/item/organ/external/foot/right/unseverable/xeno)
|
||||
)
|
||||
|
||||
/datum/species/xenos/get_bodytype()
|
||||
@@ -136,7 +136,7 @@
|
||||
H.adjustOxyLoss(-heal_rate)
|
||||
H.adjustToxLoss(-heal_rate)
|
||||
if (prob(5))
|
||||
H << "<span class='alium'>You feel a soothing sensation come over you...</span>"
|
||||
H << "<span class='alien'>You feel a soothing sensation come over you...</span>"
|
||||
return 1
|
||||
|
||||
//next internal organs
|
||||
@@ -144,7 +144,7 @@
|
||||
if(I.damage > 0)
|
||||
I.damage = max(I.damage - heal_rate, 0)
|
||||
if (prob(5))
|
||||
H << "<span class='alium'>You feel a soothing sensation within your [I.parent_organ]...</span>"
|
||||
H << "<span class='alien'>You feel a soothing sensation within your [I.parent_organ]...</span>"
|
||||
return 1
|
||||
|
||||
//next mend broken bones, approx 10 ticks each
|
||||
@@ -152,7 +152,7 @@
|
||||
if (E.status & ORGAN_BROKEN)
|
||||
if (prob(mend_prob))
|
||||
if (E.mend_fracture())
|
||||
H << "<span class='alium'>You feel something mend itself inside your [E.name].</span>"
|
||||
H << "<span class='alien'>You feel something mend itself inside your [E.name].</span>"
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user