Ghost roles

This commit is contained in:
alberyk
2022-02-27 18:41:16 -03:00
parent 517ab3164a
commit 4f523425d2
5 changed files with 2231 additions and 2155 deletions
+1
View File
@@ -3069,6 +3069,7 @@
#include "maps\away\away_sites.dm"
#include "maps\away\generic\derelict.dm"
#include "maps\away\ships\corporate.dm"
#include "maps\away\ships\corporate_ship_ghostroles.dm"
#include "maps\event\code\event.dm"
#include "maps\event\odin_departure\code\odin_departure_areas.dm"
#include "maps\event\odin_departure\code\odin_depature.dm"
+23 -22
View File
@@ -1,25 +1,26 @@
#define SS_INIT_PERSISTENT_CONFIG 25
#define SS_INIT_MISC_FIRST 24
#define SS_INIT_SEEDS 23 // Plant controller setup.
#define SS_INIT_MAPLOAD 21 // DMM parsing and load. Unless you know what you're doing, make sure this remains first.
#define SS_INIT_JOBS 20
#define SS_INIT_MAPFINALIZE 19 // Asteroid generation.
#define SS_INIT_PARALLAX 18 // Parallax image cache generation. Must run before ghosts are able to join.
#define SS_INIT_HOLOMAP 17
#define SS_INIT_ATOMS 16 // World initialization. Will trigger lighting updates. Observers can join after this loads.
#define SS_INIT_ASSETS 15 // Assets subsystem setup.
#define SS_INIT_POWER 14 // Initial powernet build.
#define SS_INIT_ECONOMY 13 // Cargo needs economy set up
#define SS_INIT_CARGO 12 // Random warehouse generation. Runs after SSatoms because it assumes objects are initialized when it runs.
#define SS_INIT_PIPENET 11 // Initial pipenet build.
#define SS_INIT_MACHINERY 10 // Machinery prune and powernet build.
#define SS_INIT_AIR 9 // Air setup and pre-bake.
#define SS_INIT_NIGHT 8 // Nightmode controller. Will trigger lighting updates.
#define SS_INIT_SMOOTHING 7 // Object icon smoothing. Creates overlays.
#define SS_INIT_ICON_UPDATE 6 // Icon update queue flush. Should run before overlays.
#define SS_INIT_AO 5 // Wall AO neighbour build.
#define SS_INIT_OVERLAY 4 // Overlay flush.
#define SS_INIT_MISC 3 // Subsystems without an explicitly set initialization order start here.
#define SS_INIT_PERSISTENT_CONFIG 26
#define SS_INIT_MISC_FIRST 25
#define SS_INIT_SEEDS 24 // Plant controller setup.
#define SS_INIT_MAPLOAD 22 // DMM parsing and load. Unless you know what you're doing, make sure this remains first.
#define SS_INIT_JOBS 21
#define SS_INIT_MAPFINALIZE 20 // Asteroid generation.
#define SS_INIT_PARALLAX 19 // Parallax image cache generation. Must run before ghosts are able to join.
#define SS_INIT_HOLOMAP 18
#define SS_INIT_ATOMS 17 // World initialization. Will trigger lighting updates. Observers can join after this loads.
#define SS_INIT_ASSETS 16 // Assets subsystem setup.
#define SS_INIT_POWER 15 // Initial powernet build.
#define SS_INIT_ECONOMY 14 // Cargo needs economy set up
#define SS_INIT_CARGO 13 // Random warehouse generation. Runs after SSatoms because it assumes objects are initialized when it runs.
#define SS_INIT_PIPENET 12 // Initial pipenet build.
#define SS_INIT_MACHINERY 11 // Machinery prune and powernet build.
#define SS_INIT_AIR 10 // Air setup and pre-bake.
#define SS_INIT_NIGHT 9 // Nightmode controller. Will trigger lighting updates.
#define SS_INIT_SMOOTHING 8 // Object icon smoothing. Creates overlays.
#define SS_INIT_ICON_UPDATE 7 // Icon update queue flush. Should run before overlays.
#define SS_INIT_AO 6 // Wall AO neighbour build.
#define SS_INIT_OVERLAY 5 // Overlay flush.
#define SS_INIT_MISC 4 // Subsystems without an explicitly set initialization order start here.
#define SS_INIT_GHOSTROLES 3
#define SS_INIT_SUNLIGHT 2 // Sunlight setup. Creates lots of lighting & SSzcopy updates.
#define SS_INIT_LIGHTING 1 // Generation of lighting overlays and pre-bake. May cause openturf updates, should initialize before SSzcopy.
#define SS_INIT_ZCOPY 0 // Z-mimic flush. Should run after SSoverlay & SSicon_smooth so it copies the smoothed sprites.
@@ -3,6 +3,7 @@
/datum/controller/subsystem/ghostroles
name = "Ghost Roles"
flags = SS_NO_FIRE
init_order = SS_INIT_GHOSTROLES
var/list/list/spawnpoints = list() //List of the available spawnpoints by spawnpoint type
// -> type 1 -> spawnpoint 1
@@ -0,0 +1,66 @@
//orion express ship
/datum/ghostspawner/human/orion_express_courier
short_name = "orion_express_courier"
name = "Orion Express Courier"
desc = "Crew a Orion Express Ship and deliver parcels."
tags = list("External")
spawnpoints = list("orion_express_courier")
max_count = 2
outfit = /datum/outfit/admin/orion_express_courier
possible_species = list(SPECIES_HUMAN,SPECIES_HUMAN_OFFWORLD,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN,SPECIES_UNATHI,SPECIES_VAURCA_WARRIOR,SPECIES_VAURCA_WORKER)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Orion Express Courier"
special_role = "Orion Express Courier"
respawn_flag = null
/datum/outfit/admin/orion_express_courier
name = "Orion Express Courier"
uniform = /obj/item/clothing/under/rank/hangar_technician/orion/ship
shoes = /obj/item/clothing/shoes/brown
back = /obj/item/storage/backpack/satchel
id = /obj/item/card/id/orion_ship
backpack_contents = list(/obj/item/storage/box/survival = 1)
/datum/ghostspawner/human/orion_express_courier/captain
short_name = "orion_express_captain"
name = "Orion Express Captain"
desc = "Pilot and command an Orion Express Ship."
tags = list("External")
spawnpoints = list("orion_express_captain")
max_count = 1
outfit = /datum/outfit/admin/orion_express_courier/captain
assigned_role = "Orion Express Captain"
special_role = "Orion Express Captain"
/datum/outfit/admin/orion_express_courier/captain
name = "Orion Express Captain"
uniform = /obj/item/clothing/under/rank/operations_manager/orion_ship
glasses = /obj/item/clothing/glasses/sunglasses
//items
/obj/item/clothing/under/rank/hangar_technician/orion/ship
name = "orion express courier uniform"
/obj/item/clothing/under/rank/operations_manager/orion_ship
name = "orion express captain uniform"
/obj/item/card/id/orion_ship
name = "orion express ship id"
/obj/item/card/id/orion_ship/New()
access = list(access_orion_express_ship, access_external_airlocks)
..()
File diff suppressed because it is too large Load Diff