mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-27 06:54:18 +01:00
SCC Things (#11330)
This commit is contained in:
@@ -0,0 +1,204 @@
|
||||
/datum/ghostspawner/human/admin
|
||||
tags = list("Admin")
|
||||
|
||||
//Add the ability to despawn
|
||||
/datum/ghostspawner/human/admin/post_spawn(mob/user)
|
||||
user.client.verbs += /client/proc/despawn
|
||||
return ..()
|
||||
|
||||
/datum/ghostspawner/human/admin/checkpointsec
|
||||
short_name = "checkpointsec"
|
||||
name = "Odin Checkpoint Security"
|
||||
desc = "Secure the Odin checkpoint. Verify the identity of everyone passing through, perform random searches on \"suspicious\" crew."
|
||||
|
||||
enabled = FALSE
|
||||
spawnpoints = list("OdinCheckpoint")
|
||||
req_perms = null
|
||||
req_perms_edit = R_CCIAA
|
||||
max_count = 4
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/admin/nt/odinsec
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Security Officer"
|
||||
special_role = "Odin Security Officer"
|
||||
respawn_flag = null
|
||||
|
||||
mob_name = null
|
||||
mob_name_prefix = "Spec. "
|
||||
mob_name_pick_message = "Pick a callsign or last-name."
|
||||
|
||||
/datum/ghostspawner/human/admin/odindoc
|
||||
short_name = "odindoc"
|
||||
name = "Odin Medical Doctor"
|
||||
desc = "Provide medical assistance for those arriving on the Odin."
|
||||
|
||||
enabled = FALSE
|
||||
spawnpoints = list("OdinDoctor")
|
||||
req_perms = null
|
||||
req_perms_edit = R_CCIAA
|
||||
max_count = 4
|
||||
|
||||
//Vars related to human mobs
|
||||
outfit = /datum/outfit/admin/nt/odindoc
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Medical Doctor"
|
||||
special_role = "Odin Medical Doctor"
|
||||
respawn_flag = null
|
||||
|
||||
mob_name = null
|
||||
|
||||
/datum/ghostspawner/human/admin/odinpharm
|
||||
short_name = "odinpharm"
|
||||
name = "Odin Pharmacist"
|
||||
desc = "Provide medication for the Doctors on the Odin and those in need."
|
||||
|
||||
enabled = FALSE
|
||||
spawnpoints = list("OdinPharm")
|
||||
req_perms = null
|
||||
req_perms_edit = R_CCIAA
|
||||
max_count = 1
|
||||
|
||||
outfit = /datum/outfit/admin/nt/odinpharm
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Pharmacist"
|
||||
special_role = "Odin Pharmacist"
|
||||
respawn_flag = null
|
||||
|
||||
mob_name = null
|
||||
|
||||
/datum/ghostspawner/human/admin/odinchef
|
||||
short_name = "odinchef"
|
||||
name = "Odin Chef"
|
||||
desc = "Feed starving crew members on the Odin."
|
||||
|
||||
enabled = FALSE
|
||||
spawnpoints = list("OdinChef")
|
||||
req_perms = null
|
||||
req_perms_edit = R_CCIAA
|
||||
max_count = 2
|
||||
|
||||
outfit = /datum/outfit/admin/nt/odinchef
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Chef"
|
||||
special_role = "Odin Chef"
|
||||
respawn_flag = null
|
||||
|
||||
mob_name = null
|
||||
|
||||
/datum/ghostspawner/human/admin/odinbartender
|
||||
short_name = "odinbartender"
|
||||
name = "Odin Bartender"
|
||||
desc = "Ensure enough drinks are available to the crew on the Odin."
|
||||
|
||||
enabled = FALSE
|
||||
spawnpoints = list("OdinBartender")
|
||||
req_perms = null
|
||||
req_perms_edit = R_CCIAA
|
||||
max_count = 1
|
||||
|
||||
outfit = /datum/outfit/admin/nt/odinbartender
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Odin Bartender"
|
||||
special_role = "Odin Bartender"
|
||||
respawn_flag = null
|
||||
|
||||
mob_name = null
|
||||
|
||||
/datum/ghostspawner/human/admin/odinjanitor
|
||||
short_name = "odinjanitor"
|
||||
name = "Odin Sanitation Specialist"
|
||||
desc = "You are a expert in your field. A true authority. The crew looks to you when they get into a sticky situation. You are a janitor on the Odin."
|
||||
|
||||
enabled = FALSE
|
||||
spawnpoints = list("OdinJanitor")
|
||||
req_perms = null
|
||||
max_count = 1
|
||||
|
||||
outfit = /datum/outfit/admin/nt/odinjanitor
|
||||
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "Sanitation Specialist"
|
||||
special_role = "Sanitation Specialist"
|
||||
respawn_flag = null
|
||||
|
||||
mob_name = null
|
||||
mob_name_prefix = "Spec. "
|
||||
mob_name_pick_message = "Pick a callsign or last-name."
|
||||
|
||||
/datum/ghostspawner/human/admin/tcflsentinel
|
||||
short_name = "tcflsentinel"
|
||||
name = "TCFL Sentinel"
|
||||
desc = "Secure BLV The Tower from any would-be interlopers, provide assistance to returning personnel and/or evacuees."
|
||||
|
||||
enabled = FALSE
|
||||
spawnpoints = list("TCFLSentinel")
|
||||
req_perms = null
|
||||
req_perms_edit = R_CCIAA
|
||||
max_count = 4
|
||||
|
||||
outfit = /datum/outfit/admin/ert/legion/sentinel
|
||||
possible_species = list(SPECIES_HUMAN, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_DIONA)
|
||||
allow_appearance_change = APPEARANCE_PLASTICSURGERY
|
||||
|
||||
assigned_role = "TCFL Sentinel"
|
||||
special_role = "TCFL Sentinel"
|
||||
respawn_flag = null
|
||||
|
||||
mob_name = null
|
||||
mob_name_prefix = "Sent. "
|
||||
mob_name_pick_message = "Pick a callsign or last-name."
|
||||
|
||||
/client/proc/despawn()
|
||||
set name = "Despawn"
|
||||
set desc = "Your work is done. Leave this realm."
|
||||
set category = "Special Verbs"
|
||||
|
||||
var/mob/M = mob
|
||||
M.mind.special_role = null
|
||||
M.ghostize(1)
|
||||
verbs -= /client/proc/despawn
|
||||
qdel(M)
|
||||
|
||||
|
||||
|
||||
/hook/shuttle_moved/proc/setup_odin_for_shuttle(var/obj/effect/shuttle_landmark/start_location, var/obj/effect/shuttle_landmark/destination)
|
||||
if(start_location.landmark_tag != "nav_emergency_start")
|
||||
return TRUE
|
||||
|
||||
if(emergency_shuttle.evac)
|
||||
if(get_security_level() != "green" )
|
||||
var/datum/wifi/sender/door/wifi_sender = new("odin_arrivals_lockdown", SSghostroles)
|
||||
wifi_sender.activate("close")
|
||||
qdel(wifi_sender)
|
||||
|
||||
if(prob(80))
|
||||
var/datum/ghostspawner/G = SSghostroles.get_spawner("checkpointsec")
|
||||
G.enable()
|
||||
return TRUE
|
||||
else
|
||||
if(get_security_level() == "green" && prob(70))
|
||||
var/datum/ghostspawner/G = SSghostroles.get_spawner("odinchef")
|
||||
G.enable()
|
||||
G = SSghostroles.get_spawner("odinbartender")
|
||||
G.enable()
|
||||
if(get_security_level() == "blue")
|
||||
var/datum/wifi/sender/door/wifi_sender = new("odin_arrivals_lockdown", SSghostroles)
|
||||
wifi_sender.activate("close")
|
||||
qdel(wifi_sender)
|
||||
|
||||
if(prob(50))
|
||||
var/datum/ghostspawner/G = SSghostroles.get_spawner("checkpointsec")
|
||||
G.enable()
|
||||
return TRUE
|
||||
Reference in New Issue
Block a user