mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
Allows Pickable Species for Lavaland Ghost Roles (#12346)
This commit is contained in:
committed by
variableundefined
parent
53e3cdc38f
commit
98757e9d4b
@@ -53,6 +53,8 @@
|
||||
var/ghost_role = alert("Become [mob_name]? (Warning, You can no longer be cloned!)",,"Yes","No")
|
||||
if(ghost_role == "No" || !loc)
|
||||
return
|
||||
if(!species_prompt())
|
||||
return
|
||||
log_game("[user.ckey] became [mob_name]")
|
||||
create(ckey = user.ckey)
|
||||
|
||||
@@ -72,6 +74,9 @@
|
||||
GLOB.mob_spawners -= name
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/proc/species_prompt()
|
||||
return TRUE
|
||||
|
||||
/obj/effect/mob_spawn/proc/special(mob/M)
|
||||
return
|
||||
|
||||
@@ -124,6 +129,8 @@
|
||||
mob_type = /mob/living/carbon/human
|
||||
//Human specific stuff.
|
||||
var/mob_species = null //Set species
|
||||
var/allow_species_pick = FALSE
|
||||
var/list/pickable_species = list("Human", "Vulpkanin", "Tajaran", "Unathi", "Skrell", "Diona")
|
||||
var/datum/outfit/outfit = /datum/outfit //If this is a path, it will be instanced in Initialize()
|
||||
var/disable_pda = TRUE
|
||||
var/disable_sensors = TRUE
|
||||
@@ -170,10 +177,19 @@
|
||||
mob_name = id_job
|
||||
return ..()
|
||||
|
||||
/obj/effect/mob_spawn/human/species_prompt()
|
||||
if(allow_species_pick)
|
||||
var/selected_species = input("Select a species", "Species Selection") as null|anything in pickable_species
|
||||
if(!selected_species)
|
||||
return TRUE // You didn't pick, so just continue on with the spawning process as a human
|
||||
var/datum/species/S = GLOB.all_species[selected_species]
|
||||
mob_species = S.type
|
||||
return TRUE
|
||||
|
||||
/obj/effect/mob_spawn/human/equip(mob/living/carbon/human/H)
|
||||
if(mob_species)
|
||||
if(H.set_species(mob_species))
|
||||
H.regenerate_icons()
|
||||
H.set_species(mob_species)
|
||||
|
||||
if(husk)
|
||||
H.ChangeToHusk()
|
||||
else //Because for some reason I can't track down, things are getting turned into husks even if husk = false. It's in some damage proc somewhere.
|
||||
@@ -186,19 +202,23 @@
|
||||
if(hair_style)
|
||||
D.h_style = hair_style
|
||||
else
|
||||
D.h_style = random_hair_style(gender)
|
||||
D.h_style = random_hair_style(gender, D.dna.species.name)
|
||||
D.hair_colour = rand_hex_color()
|
||||
if(facial_hair_style)
|
||||
D.f_style = facial_hair_style
|
||||
else
|
||||
D.f_style = random_facial_hair_style(gender)
|
||||
D.f_style = random_facial_hair_style(gender, D.dna.species.name)
|
||||
D.facial_colour = rand_hex_color()
|
||||
if(skin_tone)
|
||||
H.s_tone = skin_tone
|
||||
H.change_skin_tone(skin_tone)
|
||||
else
|
||||
H.s_tone = random_skin_tone()
|
||||
H.change_skin_tone(random_skin_tone())
|
||||
H.change_skin_color(rand_hex_color())
|
||||
H.update_hair()
|
||||
H.update_fhair()
|
||||
H.update_body()
|
||||
H.update_dna()
|
||||
H.regenerate_icons()
|
||||
if(outfit)
|
||||
var/static/list/slots = list("uniform", "r_hand", "l_hand", "suit", "shoes", "gloves", "ears", "glasses", "mask", "head", "belt", "r_pocket", "l_pocket", "back", "id", "neck", "backpack_contents", "suit_store")
|
||||
for(var/slot in slots)
|
||||
@@ -444,6 +464,7 @@
|
||||
death = FALSE
|
||||
roundstart = FALSE
|
||||
random = TRUE
|
||||
allow_species_pick = TRUE
|
||||
name = "bartender sleeper"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
icon_state = "sleeper"
|
||||
@@ -474,6 +495,7 @@
|
||||
death = FALSE
|
||||
roundstart = FALSE
|
||||
random = TRUE
|
||||
allow_species_pick = TRUE
|
||||
mob_name = "Beach Bum"
|
||||
name = "beach bum sleeper"
|
||||
icon = 'icons/obj/cryogenic2.dmi'
|
||||
|
||||
Reference in New Issue
Block a user