[MIRROR] Fix Xenomorphs not being able to generate plasma for their abilities. (#1752)

* Fix Xenomorphs not being able to generate plasma for their abilities. (#55051)

Fixes #55006

#54632 added some code to handle organ processing, including a big ol' global list which defines the organ processing order.

Downside to this is that it didn't take account of 5 year old Xenomorph code where the organ slots weren't defines. As a result, `/mob/living/carbon/proc/handle_organs()` would never call the `on_life()` for Xeno organs as they weren't in the big ol' global list.

I created defines for Xeno organs, added them to the global list and updated the organs with the new defines. As a result, Xeno plasma vessels now have their `on_life()` proc fired once again and generate plasma.

In local testing I was generating the expected amount of plasma on and off weeds and was able to successfully evolve up to a Queen.

* Fix Xenomorphs not being able to generate plasma for their abilities.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
This commit is contained in:
SkyratBot
2020-11-21 04:00:00 +01:00
committed by GitHub
parent 2a1ae2914f
commit e148f6a72e
2 changed files with 21 additions and 7 deletions
@@ -31,7 +31,7 @@
icon_state = "plasma"
w_class = WEIGHT_CLASS_NORMAL
zone = BODY_ZONE_CHEST
slot = "plasmavessel"
slot = ORGAN_SLOT_XENO_PLASMAVESSEL
alien_powers = list(/obj/effect/proc_holder/alien/plant, /obj/effect/proc_holder/alien/transfer)
food_reagents = list(/datum/reagent/consumable/nutriment = 5, /datum/reagent/toxin/plasma = 10)
@@ -101,7 +101,7 @@
name = "hive node"
icon_state = "hivenode"
zone = BODY_ZONE_HEAD
slot = "hivenode"
slot = ORGAN_SLOT_XENO_HIVENODE
w_class = WEIGHT_CLASS_TINY
///Indicates if the queen died recently, aliens are heavily weakened while this is active.
var/recent_queen_death = FALSE
@@ -156,7 +156,7 @@
name = "resin spinner"
icon_state = "stomach-x"
zone = BODY_ZONE_PRECISE_MOUTH
slot = "resinspinner"
slot = ORGAN_SLOT_XENO_RESINSPINNER
alien_powers = list(/obj/effect/proc_holder/alien/resin)
@@ -164,7 +164,7 @@
name = "acid gland"
icon_state = "acid"
zone = BODY_ZONE_PRECISE_MOUTH
slot = "acidgland"
slot = ORGAN_SLOT_XENO_ACIDGLAND
alien_powers = list(/obj/effect/proc_holder/alien/acid)
@@ -172,7 +172,7 @@
name = "neurotoxin gland"
icon_state = "neurotox"
zone = BODY_ZONE_PRECISE_MOUTH
slot = "neurotoxingland"
slot = ORGAN_SLOT_XENO_NEUROTOXINGLAND
alien_powers = list(/obj/effect/proc_holder/alien/neurotoxin)
@@ -180,6 +180,6 @@
name = "egg sac"
icon_state = "eggsac"
zone = BODY_ZONE_PRECISE_GROIN
slot = "eggsac"
slot = ORGAN_SLOT_XENO_EGGSAC
w_class = WEIGHT_CLASS_BULKY
alien_powers = list(/obj/effect/proc_holder/alien/lay_egg)