mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 08:08:49 +01:00
xeno princesses no longer lose their unique identifier (#87917)
This commit is contained in:
@@ -56,14 +56,16 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
|
||||
..()
|
||||
|
||||
//For alien evolution/promotion/queen finder procs. Checks for an active alien of that type
|
||||
/proc/get_alien_type(alienpath)
|
||||
for(var/mob/living/carbon/alien/adult/A in GLOB.alive_mob_list)
|
||||
if(!istype(A, alienpath))
|
||||
/proc/get_alien_type(alien_path, mob/ignored)
|
||||
for(var/mob/living/carbon/alien/alien in GLOB.carbon_list)
|
||||
if(alien == ignored)
|
||||
continue
|
||||
if(!A.key || A.stat == DEAD) //Only living aliens with a ckey are valid.
|
||||
if(!istype(alien, alien_path))
|
||||
continue
|
||||
return A
|
||||
return FALSE
|
||||
if(!alien.key || alien.stat == DEAD) //Only living aliens with a ckey are valid.
|
||||
continue
|
||||
return alien
|
||||
return null
|
||||
|
||||
/mob/living/carbon/alien/adult/check_breath(datum/gas_mixture/breath)
|
||||
if(breath?.total_moles() > 0 && !HAS_TRAIT(src, TRAIT_SNEAK))
|
||||
|
||||
@@ -44,18 +44,6 @@
|
||||
alien_speed = 2
|
||||
|
||||
/mob/living/carbon/alien/adult/royal/queen/Initialize(mapload)
|
||||
//there should only be one queen
|
||||
for(var/mob/living/carbon/alien/adult/royal/queen/Q in GLOB.carbon_list)
|
||||
if(Q == src)
|
||||
continue
|
||||
if(Q.stat == DEAD)
|
||||
continue
|
||||
if(Q.client)
|
||||
name = "alien princess ([rand(1, 999)])" //if this is too cutesy feel free to change it/remove it.
|
||||
break
|
||||
|
||||
real_name = src.name
|
||||
|
||||
var/static/list/innate_actions = list(
|
||||
/datum/action/cooldown/alien/promote,
|
||||
/datum/action/cooldown/spell/aoe/repulse/xeno,
|
||||
@@ -72,6 +60,11 @@
|
||||
organs += new /obj/item/organ/alien/eggsac
|
||||
return ..()
|
||||
|
||||
/mob/living/carbon/alien/adult/royal/queen/set_name()
|
||||
if(get_alien_type(/mob/living/carbon/alien/adult/royal/queen, ignored = src))
|
||||
name = "alien princess"
|
||||
return ..()
|
||||
|
||||
//Queen verbs
|
||||
/datum/action/cooldown/alien/make_structure/lay_egg
|
||||
name = "Lay Egg"
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
gib_type = /obj/effect/decal/cleanable/xenoblood/xgibs
|
||||
unique_name = TRUE
|
||||
|
||||
var/static/regex/alien_name_regex = new("alien (larva|sentinel|drone|hunter|praetorian|queen)( \\(\\d+\\))?")
|
||||
var/static/regex/alien_name_regex = new("alien (larva|sentinel|drone|hunter|praetorian|princess|queen)( \\(\\d+\\))?")
|
||||
var/static/list/xeno_allowed_items = typecacheof(list(
|
||||
/obj/item/clothing/mask/facehugger,
|
||||
/obj/item/toy/basketball, // playing ball against a xeno is rigged since they cannot be disarmed, their game is out of this world
|
||||
|
||||
Reference in New Issue
Block a user