mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
[MIRROR] Unified Ghost Hole (#11833)
Co-authored-by: Killian <49700375+KillianKirilenko@users.noreply.github.com> Co-authored-by: Cameron Lennox <killer65311@gmail.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
0924920662
commit
e49179e010
@@ -1,17 +1,25 @@
|
||||
/*
|
||||
/datum/ghost_query/morph
|
||||
role_name = "Morph"
|
||||
be_special_flag = BE_MORPH
|
||||
question = "A weird morphic creature appears to have snuck onstation. Do you want to play as it? ((Expect to be treated as vore predator.))"
|
||||
question = "A weird morphic creature has appeared in maintenance. Do you want to play as it? ((You get to play as a weird shapeshifting \'morph\' that can mimic objects and people.))"
|
||||
cutoff_number = 1
|
||||
|
||||
/datum/ghost_query/maints_pred
|
||||
role_name = "Maintenance Predator"
|
||||
role_name = "Maintenance Critter"
|
||||
be_special_flag = BE_MAINTPRED
|
||||
question = "It appears a predatory critter is lurking in maintenance. Do you want to play as it? ((You get to choose type of critter. Expect to be treated as vore predator.))"
|
||||
question = "It appears a critter of some kind, possibly predatory, is lurking in maintenance. Do you want to play as it? ((You get to choose from a wide range of critters.))"
|
||||
cutoff_number = 1
|
||||
|
||||
/datum/ghost_query/maints_lurker
|
||||
role_name = "Maintenance Lurker"
|
||||
be_special_flag = BE_MAINTLURKER
|
||||
question = "It appears a strange individual is lurking in maintenance. Do you want to play as them? ((You can spawn as your currently loaded character slot. Expect to be treated as vore predator.))"
|
||||
question = "It appears a strange individual is lurking in maintenance. Do you want to play as them? ((You can spawn as your currently loaded character slot, but your arrival will not be announced and you will not appear on the manifest.))"
|
||||
cutoff_number = 1
|
||||
*/
|
||||
|
||||
/datum/ghost_query/maints_spawner
|
||||
role_name = "Maintenance Spawner"
|
||||
be_special_flag = BE_MAINTCRITTER
|
||||
question = "An opportunity to spawn as a Maintenance Critter has appeared. You can spawn as your choice of a mob (from a fairly large list), a morph (a shapeshifting creature capable of mimicking objects or other creatures), or your currently loaded character slot in a special \'lurker\' role."
|
||||
cutoff_number = 1
|
||||
|
||||
@@ -85,15 +85,9 @@ GLOBAL_VAR_INIT(allowed_ghost_spawns, 2)
|
||||
if("lost_drone_spawn")
|
||||
join_lost(ui.user)
|
||||
. = TRUE
|
||||
if("maintpred_spawn")
|
||||
join_maintpred(ui.user)
|
||||
. = TRUE
|
||||
if("gravekeeper_spawn")
|
||||
join_grave(ui.user)
|
||||
. = TRUE
|
||||
if("morph_spawn")
|
||||
join_morpth(ui.user)
|
||||
. = TRUE
|
||||
|
||||
/datum/tgui_module/ghost_spawn_menu/proc/compile_pod_data()
|
||||
var/list/compiled_pods = list()
|
||||
|
||||
@@ -262,25 +262,6 @@
|
||||
var/obj/structure/ghost_pod/manual/lost_drone/dogborg/lost = new(get_turf(spawnspot))
|
||||
lost.create_occupant(user)
|
||||
|
||||
/datum/tgui_module/ghost_spawn_menu/proc/join_maintpred(mob/observer/dead/user)
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, span_danger("You are banned from playing ghost roles and cannot spawn as a maint pred."))
|
||||
return
|
||||
|
||||
if(GLOB.allowed_ghost_spawns <= 0)
|
||||
to_chat(user, span_warning("There're no free ghost join slots."))
|
||||
return
|
||||
|
||||
var/obj/effect/landmark/spawnspot = get_ghost_role_spawn()
|
||||
if(!spawnspot)
|
||||
to_chat(user, span_warning("No spawnpoint available."))
|
||||
return
|
||||
|
||||
GLOB.allowed_ghost_spawns--
|
||||
announce_ghost_joinleave(user, 0, "They are now a maint pred.")
|
||||
var/obj/structure/ghost_pod/ghost_activated/maintpred/no_announce/mpred = new(get_turf(spawnspot))
|
||||
mpred.create_occupant(user)
|
||||
|
||||
/datum/tgui_module/ghost_spawn_menu/proc/join_grave(mob/observer/dead/user)
|
||||
if(jobban_isbanned(user, JOB_CYBORG))
|
||||
to_chat(user, span_danger("You are banned from playing synthetics and cannot spawn as a gravekeeper."))
|
||||
@@ -300,25 +281,6 @@
|
||||
var/obj/structure/ghost_pod/automatic/gravekeeper_drone/grave = new(get_turf(spawnspot))
|
||||
grave.create_occupant(user)
|
||||
|
||||
/datum/tgui_module/ghost_spawn_menu/proc/join_morpth(mob/observer/dead/user)
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, span_danger("You are banned from playing ghost roles and cannot spawn as a morph."))
|
||||
return
|
||||
|
||||
if(GLOB.allowed_ghost_spawns <= 0)
|
||||
to_chat(user, span_warning("There're no free ghost join slots."))
|
||||
return
|
||||
|
||||
var/obj/effect/landmark/spawnspot = get_ghost_role_spawn()
|
||||
if(!spawnspot)
|
||||
to_chat(user, span_warning("No spawnpoint available."))
|
||||
return
|
||||
|
||||
GLOB.allowed_ghost_spawns--
|
||||
announce_ghost_joinleave(user, 0, "They are now a morph.")
|
||||
var/obj/structure/ghost_pod/ghost_activated/morphspawn/no_announce/morph = new(get_turf(spawnspot))
|
||||
morph.create_occupant(user)
|
||||
|
||||
/datum/tgui_module/ghost_spawn_menu/proc/get_ghost_role_spawn()
|
||||
var/list/possibleSpawnspots = list()
|
||||
for(var/obj/effect/landmark/L in GLOB.landmarks_list)
|
||||
|
||||
Reference in New Issue
Block a user