mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 16:44:33 +01:00
Xenos are Initialize (#18333)
* Xenos are Initialize * Remove the confusing debug leftover
This commit is contained in:
@@ -20,20 +20,28 @@
|
||||
var/heat_protection = 0.5
|
||||
var/leaping = FALSE
|
||||
ventcrawler = 2
|
||||
var/list/alien_organs = list()
|
||||
var/death_message = "lets out a waning guttural screech, green blood bubbling from its maw..."
|
||||
var/death_sound = 'sound/voice/hiss6.ogg'
|
||||
|
||||
/mob/living/carbon/alien/New()
|
||||
..()
|
||||
/mob/living/carbon/alien/Initialize(mapload)
|
||||
. = ..()
|
||||
create_reagents(1000)
|
||||
verbs += /mob/living/verb/mob_sleep
|
||||
verbs += /mob/living/verb/rest
|
||||
alien_organs += new /obj/item/organ/internal/brain/xeno
|
||||
alien_organs += new /obj/item/organ/internal/xenos/hivenode
|
||||
alien_organs += new /obj/item/organ/internal/ears
|
||||
for(var/obj/item/organ/internal/I in alien_organs)
|
||||
I.insert(src)
|
||||
|
||||
for(var/organ_path in get_caste_organs())
|
||||
var/obj/item/organ/internal/organ = new organ_path()
|
||||
organ.insert(src)
|
||||
|
||||
/// returns the list of type paths of the organs that we need to insert into
|
||||
/// this particular xeno upon its creation
|
||||
/mob/living/carbon/alien/proc/get_caste_organs()
|
||||
RETURN_TYPE(/list/obj/item/organ/internal)
|
||||
return list(
|
||||
/obj/item/organ/internal/brain/xeno,
|
||||
/obj/item/organ/internal/xenos/hivenode,
|
||||
/obj/item/organ/internal/ears
|
||||
)
|
||||
|
||||
/mob/living/carbon/alien/get_default_language()
|
||||
if(default_language)
|
||||
|
||||
@@ -5,14 +5,20 @@
|
||||
health = 100
|
||||
icon_state = "aliend_s"
|
||||
|
||||
/mob/living/carbon/alien/humanoid/drone/New()
|
||||
/mob/living/carbon/alien/humanoid/drone/Initialize(mapload)
|
||||
. = ..()
|
||||
if(src.name == "alien drone")
|
||||
src.name = text("alien drone ([rand(1, 1000)])")
|
||||
src.name = "alien drone ([rand(1, 1000)])"
|
||||
src.real_name = src.name
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/drone
|
||||
alien_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
alien_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/drone/get_caste_organs()
|
||||
. = ..()
|
||||
. += list(
|
||||
/obj/item/organ/internal/xenos/plasmavessel/drone,
|
||||
/obj/item/organ/internal/xenos/acidgland,
|
||||
/obj/item/organ/internal/xenos/resinspinner,
|
||||
)
|
||||
|
||||
|
||||
//Drones use the same base as generic humanoids.
|
||||
//Drone verbs
|
||||
|
||||
@@ -5,12 +5,15 @@
|
||||
health = 125
|
||||
icon_state = "alienh_s"
|
||||
|
||||
/mob/living/carbon/alien/humanoid/hunter/New()
|
||||
/mob/living/carbon/alien/humanoid/hunter/Initialize(mapload)
|
||||
. = ..()
|
||||
if(name == "alien hunter")
|
||||
name = text("alien hunter ([rand(1, 1000)])")
|
||||
name = "alien hunter ([rand(1, 1000)])"
|
||||
real_name = name
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/hunter
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/hunter/get_caste_organs()
|
||||
. = ..()
|
||||
. += /obj/item/organ/internal/xenos/plasmavessel/hunter
|
||||
|
||||
/mob/living/carbon/alien/humanoid/hunter/movement_delay()
|
||||
. = -1 //hunters are sanic
|
||||
|
||||
@@ -32,14 +32,19 @@
|
||||
for(var/image/I in overlays_standing)
|
||||
overlays += I
|
||||
|
||||
/mob/living/carbon/alien/humanoid/sentinel/New()
|
||||
/mob/living/carbon/alien/humanoid/sentinel/Initialize(mapload)
|
||||
. = ..()
|
||||
if(name == "alien sentinel")
|
||||
name = text("alien sentinel ([rand(1, 1000)])")
|
||||
name = "alien sentinel ([rand(1, 1000)])"
|
||||
real_name = name
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel
|
||||
alien_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
alien_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/sentinel/get_caste_organs()
|
||||
. = ..()
|
||||
. += list(
|
||||
/obj/item/organ/internal/xenos/plasmavessel,
|
||||
/obj/item/organ/internal/xenos/acidgland,
|
||||
/obj/item/organ/internal/xenos/neurotoxin,
|
||||
)
|
||||
|
||||
/*
|
||||
/mob/living/carbon/alien/humanoid/sentinel/verb/evolve() // -- TLE
|
||||
|
||||
@@ -30,7 +30,8 @@
|
||||
for(var/image/I in overlays_standing)
|
||||
overlays += I
|
||||
|
||||
/mob/living/carbon/alien/humanoid/empress/New()
|
||||
/mob/living/carbon/alien/humanoid/empress/Initialize(mapload)
|
||||
. = ..()
|
||||
//there should only be one queen
|
||||
for(var/mob/living/carbon/alien/humanoid/empress/E in GLOB.alive_mob_list)
|
||||
if(E == src)
|
||||
@@ -42,12 +43,16 @@
|
||||
break
|
||||
|
||||
real_name = name
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen
|
||||
alien_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
alien_organs += new /obj/item/organ/internal/xenos/eggsac
|
||||
alien_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
alien_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/empress/get_caste_organs()
|
||||
. = ..()
|
||||
. += list(
|
||||
/obj/item/organ/internal/xenos/plasmavessel/queen,
|
||||
/obj/item/organ/internal/xenos/acidgland,
|
||||
/obj/item/organ/internal/xenos/eggsac,
|
||||
/obj/item/organ/internal/xenos/resinspinner,
|
||||
/obj/item/organ/internal/xenos/neurotoxin,
|
||||
)
|
||||
|
||||
/mob/living/carbon/alien/humanoid/empress/verb/lay_egg()
|
||||
set name = "Lay Egg (250)"
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
ventcrawler = 0
|
||||
pressure_resistance = 200 //Because big, stompy xenos should not be blown around like paper.
|
||||
|
||||
/mob/living/carbon/alien/humanoid/queen/New()
|
||||
/mob/living/carbon/alien/humanoid/queen/Initialize(mapload)
|
||||
. = ..()
|
||||
//there should only be one queen
|
||||
for(var/mob/living/carbon/alien/humanoid/queen/Q in GLOB.alive_mob_list)
|
||||
if(Q == src)
|
||||
@@ -22,12 +23,16 @@
|
||||
break
|
||||
|
||||
real_name = src.name
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/queen
|
||||
alien_organs += new /obj/item/organ/internal/xenos/acidgland
|
||||
alien_organs += new /obj/item/organ/internal/xenos/eggsac
|
||||
alien_organs += new /obj/item/organ/internal/xenos/resinspinner
|
||||
alien_organs += new /obj/item/organ/internal/xenos/neurotoxin
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/queen/get_caste_organs()
|
||||
. = ..()
|
||||
. += list(
|
||||
/obj/item/organ/internal/xenos/plasmavessel/queen,
|
||||
/obj/item/organ/internal/xenos/acidgland,
|
||||
/obj/item/organ/internal/xenos/eggsac,
|
||||
/obj/item/organ/internal/xenos/resinspinner,
|
||||
/obj/item/organ/internal/xenos/neurotoxin,
|
||||
)
|
||||
|
||||
/mob/living/carbon/alien/humanoid/queen/movement_delay()
|
||||
. = ..()
|
||||
|
||||
@@ -16,15 +16,19 @@
|
||||
death_sound = null
|
||||
|
||||
//This is fine right now, if we're adding organ specific damage this needs to be updated
|
||||
/mob/living/carbon/alien/larva/New()
|
||||
/mob/living/carbon/alien/larva/Initialize(mapload)
|
||||
. = ..()
|
||||
if(name == "alien larva")
|
||||
name = "alien larva ([rand(1, 1000)])"
|
||||
real_name = name
|
||||
regenerate_icons()
|
||||
add_language("Xenomorph")
|
||||
add_language("Hivemind")
|
||||
alien_organs += new /obj/item/organ/internal/xenos/plasmavessel/larva
|
||||
..()
|
||||
|
||||
/mob/living/carbon/alien/larva/get_caste_organs()
|
||||
. = ..()
|
||||
. += /obj/item/organ/internal/xenos/plasmavessel/larva
|
||||
|
||||
|
||||
//This needs to be fixed
|
||||
/mob/living/carbon/alien/larva/Stat()
|
||||
|
||||
Reference in New Issue
Block a user