From f4a4948afac5c880da354a0909169601163fe392 Mon Sep 17 00:00:00 2001
From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Date: Fri, 13 Sep 2024 23:29:59 +0200
Subject: [PATCH 1/8] Outfit improvements
---
aurorastation.dme | 1 +
code/controllers/subsystems/job.dm | 2 +-
.../controllers/subsystems/virtual_reality.dm | 4 +-
code/datums/outfits/ert/ap_eridani.dm | 12 +-
code/datums/outfits/ert/biesel.dm | 12 +-
code/datums/outfits/ert/coalition.dm | 22 +-
code/datums/outfits/ert/deathsquad.dm | 16 +-
code/datums/outfits/ert/dominia.dm | 12 +-
code/datums/outfits/ert/einstein.dm | 10 +-
code/datums/outfits/ert/elyra.dm | 12 +-
code/datums/outfits/ert/fsf.dm | 12 +-
code/datums/outfits/ert/hephaestus_ert.dm | 12 +-
code/datums/outfits/ert/iac.dm | 10 +-
code/datums/outfits/ert/izweski.dm | 16 +-
code/datums/outfits/ert/kataphract.dm | 18 +-
code/datums/outfits/ert/kosmostrelki.dm | 16 +-
code/datums/outfits/ert/mercenary.dm | 10 +-
code/datums/outfits/ert/nt_ert.dm | 10 +-
code/datums/outfits/ert/qukala.dm | 18 +-
code/datums/outfits/ert/scc_ert.dm | 10 +-
code/datums/outfits/ert/syndicate.dm | 4 +-
code/datums/outfits/ert/tcfl.dm | 18 +-
code/datums/outfits/ert/vaurca.dm | 32 +-
code/datums/outfits/ert/zavod.dm | 12 +-
code/datums/outfits/ert/zenghu.dm | 10 +-
code/datums/outfits/event/outfit_events.dm | 18 +-
.../outfits/event/outfit_generic/_generic.dm | 4 +-
.../event/outfit_generic/engineering.dm | 2 +-
.../outfits/event/outfit_generic/medical.dm | 2 +-
.../outfits/event/outfit_generic/science.dm | 2 +-
.../outfits/event/outfit_generic/security.dm | 2 +-
code/datums/outfits/event/outfit_killers.dm | 10 +-
code/datums/outfits/event/outfit_megacorps.dm | 14 +-
.../datums/outfits/event/outfit_nanotrasen.dm | 42 +-
code/datums/outfits/event/outfit_scc.dm | 8 +-
code/datums/outfits/event/outfit_tfcl.dm | 4 +-
code/datums/outfits/outfit.dm | 647 ++++++++++--------
code/datums/outfits/outfit_admin.dm | 24 +-
code/datums/outfits/outfit_antag.dm | 64 +-
code/game/antagonist/outsider/burglar.dm | 4 +-
code/game/antagonist/outsider/jockey.dm | 4 +-
code/game/antagonist/outsider/loner.dm | 4 +-
code/game/antagonist/outsider/mercenary.dm | 4 +-
code/game/antagonist/outsider/ninja.dm | 4 +-
code/game/antagonist/outsider/raider.dm | 4 +-
.../game/antagonist/outsider/raider_techno.dm | 4 +-
code/game/antagonist/outsider/technomancer.dm | 8 +-
code/game/antagonist/station/highlander.dm | 4 +-
code/game/gamemodes/antagspawner.dm | 4 +-
code/game/jobs/faction/hephaestus.dm | 48 +-
code/game/jobs/faction/idris.dm | 72 +-
code/game/jobs/faction/nanotrasen.dm | 4 +-
code/game/jobs/faction/orion_express.dm | 64 +-
code/game/jobs/faction/pmc.dm | 68 +-
code/game/jobs/faction/zavodskoi.dm | 84 +--
code/game/jobs/faction/zeng_hu.dm | 72 +-
code/game/jobs/job/captain.dm | 14 +-
code/game/jobs/job/civilian.dm | 52 +-
code/game/jobs/job/engineering.dm | 26 +-
code/game/jobs/job/event.dm | 22 +-
code/game/jobs/job/hra.dm | 6 +-
code/game/jobs/job/job.dm | 17 +-
code/game/jobs/job/medical.dm | 46 +-
code/game/jobs/job/outsider/merchant.dm | 10 +-
code/game/jobs/job/outsider/representative.dm | 28 +-
code/game/jobs/job/science.dm | 28 +-
code/game/jobs/job/security.dm | 40 +-
code/game/jobs/job/ship_crew.dm | 12 +-
code/modules/admin/verbs/debug.dm | 50 +-
code/modules/awaymissions/corpse.dm | 2 +-
.../background/citizenship/citizenship.dm | 4 +-
code/modules/background/citizenship/human.dm | 30 +-
code/modules/background/citizenship/ipc.dm | 4 +-
code/modules/background/citizenship/skrell.dm | 10 +-
code/modules/background/citizenship/tajara.dm | 24 +-
code/modules/background/citizenship/unathi.dm | 10 +-
code/modules/background/citizenship/vaurca.dm | 18 +-
.../ghostroles/spawner/human/admin/admin.dm | 14 +-
.../ghostroles/spawner/human/admin/ccia.dm | 18 +-
.../ghostroles/spawner/human/emergencypod.dm | 100 +--
.../modules/ghostroles/spawner/human/human.dm | 4 +-
.../ghostroles/spawner/human/merchant.dm | 2 +-
code/modules/ghostroles/spawner/human/pra.dm | 8 +-
.../spawner/human/responseteams/ap_eridani.dm | 8 +-
.../human/responseteams/corporate/einstein.dm | 8 +-
.../responseteams/corporate/hephaestus.dm | 8 +-
.../human/responseteams/corporate/nt_ert.dm | 6 +-
.../human/responseteams/corporate/scc_ert.dm | 8 +-
.../human/responseteams/corporate/zavod.dm | 8 +-
.../human/responseteams/corporate/zenghu.dm | 8 +-
.../spawner/human/responseteams/deathsquad.dm | 4 +-
.../human/responseteams/human/biesel.dm | 8 +-
.../human/responseteams/human/coalition.dm | 16 +-
.../human/responseteams/human/dominia.dm | 8 +-
.../human/responseteams/human/elyra.dm | 10 +-
.../spawner/human/responseteams/human/fsf.dm | 10 +-
.../spawner/human/responseteams/iac.dm | 6 +-
.../spawner/human/responseteams/mercenary.dm | 8 +-
.../human/responseteams/skrell/qukala.dm | 10 +-
.../spawner/human/responseteams/syndicate.dm | 4 +-
.../responseteams/tajara/kosmostrelki.dm | 12 +-
.../spawner/human/responseteams/tcfl.dm | 8 +-
.../human/responseteams/unathi/izweski.dm | 8 +-
.../human/responseteams/unathi/kataphracts.dm | 8 +-
.../human/responseteams/vaurca/klax.dm | 8 +-
.../human/responseteams/vaurca/zora.dm | 8 +-
.../ghostroles/spawner/human/visitor.dm | 2 +-
.../ghostroles/spawner/human/zenghu.dm | 4 +-
code/modules/mob/inventory.dm | 4 +-
code/modules/mob/living/carbon/slime/items.dm | 4 +-
code/unit_tests/outfit_tests.dm | 111 +++
html/changelogs/archive/2024-03.yml | 2 +-
.../changelogs/fluffyghost-outfitsmadness.yml | 61 ++
.../cult_base/cult_base_ghostroles.dm | 18 +-
.../point_verdant/point_verdant_ghostroles.dm | 102 +--
.../pirate_base/pirate_base_ghostroles.dm | 16 +-
.../romanovich/grand_romanovich_ghostroles.dm | 22 +-
.../mining_jack/mining_jack_ghostroles.dm | 6 +-
.../peoples_station_ghostroles.dm | 14 +-
.../saniorios_outpost_ghostroles.dm | 6 +-
.../tajara/scrapper/scrapper_ghostroles.dm | 6 +-
.../tajara_safehouse_ghostroles.dm | 8 +-
.../ihss_reclamation_ghostroles.dm | 18 +-
.../tret_industrial_complex_ghostroles.dm | 22 +-
.../tcaf_corvette/tcaf_corvette_ghostroles.dm | 16 +-
.../tcfl_peacekeeper_ship_ghostroles.dm | 16 +-
.../coc/coc_ranger/coc_ship_ghostroles.dm | 12 +-
.../coc/coc_scarab/coc_scarab_ghostroles.dm | 10 +-
.../coc_surveyor/coc_surveyor_ghostroles.dm | 8 +-
.../gadpathur_patrol_ghostroles.dm | 18 +-
.../diona_rokz_ship_ghostroles.dm | 10 +-
.../diona_serz_ship_ghostroles.dm | 12 +-
.../dominian_corvette_ghostroles.dm | 18 +-
.../dominian_science_vessel_ghostroles.dm | 24 +-
.../dominian_unathi_privateer_ghostroles.dm | 14 +-
.../dpra/hailstorm/hailstorm_ghostroles.dm | 14 +-
.../ships/einstein/ee_spy_ship_ghostroles.dm | 12 +-
.../elyra_corvette_ghostroles.dm | 22 +-
.../freebooter/freebooter_ship_ghostroles.dm | 12 +-
.../golden_deep/golden_deep_ghostroles.dm | 14 +-
.../fishing_league_trawler_ghostroles.dm | 12 +-
.../hegemony_corvette/hegemony_ghostroles.dm | 26 +-
.../merchant_freighter_ghostroles.dm | 16 +-
.../miners_guild/miners_guild_ghostroles.dm | 8 +-
.../ships/heph/cyclops/cyclops_ghostroles.dm | 20 +-
.../heph_security/heph_security_ghostroles.dm | 12 +-
.../ships/iac/iac_rescue_ship_ghostroles.dm | 16 +-
.../ships/idris/idris_cruiser_ghostroles.dm | 14 +-
.../kataphracts/kataphract_ship_ghostroles.dm | 26 +-
.../air_konyang/air_konyang_ghostroles.dm | 8 +-
.../einstein_shuttle/einstein_shuttle.dm | 12 +-
.../ipc_refugee_ship_ghostroles.dm | 12 +-
.../konyang/kasf_ship/kasf_ship_ghostroles.dm | 20 +-
.../water_barge/water_barge_ghostroles.dm | 6 +-
.../lone_spacer/lone_spacer_ghostroles.dm | 8 +-
.../nka_merchant/nka_merchant_ghostroles.dm | 14 +-
.../orion/orion_express_ship_ghostroles.dm | 12 +-
.../database_freighter_ghostroles.dm | 10 +-
.../pra/headmaster/headmaster_ghostroles.dm | 14 +-
.../sadar_scout/sadar_scout_ghostroles.dm | 10 +-
.../ships/scc/scc_scout_ship_ghostroles.dm | 32 +-
.../sol_merc/fsf_patrol_ship_ghostroles.dm | 12 +-
.../sol_pirate/sfa_patrol_ship_ghostroles.dm | 12 +-
.../sol/sol_ssmd/ssmd_ship_ghostroles.dm | 26 +-
.../tajara/circus/adhomian_circus_roles.dm | 28 +-
.../tajaran_smuggler_ghostroles.dm | 10 +-
.../tirakqi_smuggler_ghostroles.dm | 20 +-
.../tramp_freighter_ghostroles.dm | 12 +-
.../hiskyn/unathi_pirate_hiskyn_ghostroles.dm | 10 +-
.../unathi_pirate_izharshan_ghostroles.dm | 10 +-
.../tarwa/unathi_pirate_tarwa_ghostroles.dm | 14 +-
.../militia_ship_ghostroles.dm | 12 +-
.../ships/xanu/xanu_frigate_ghostroles.dm | 14 +-
.../ships/yacht_civ/yacht_civ_ghostroles.dm | 4 +-
.../exoplanets/adhomai/adhomai_amohdan.dm | 4 +-
.../exoplanets/adhomai/adhomai_archeology.dm | 4 +-
.../exoplanets/adhomai/adhomai_bar.dm | 12 +-
.../exoplanets/adhomai/adhomai_deserter.dm | 4 +-
.../exoplanets/adhomai/adhomai_hunting.dm | 8 +-
.../adhomai/adhomai_raskariim_hideout.dm | 5 +-
.../exoplanets/adhomai/adhomai_silo.dm | 6 +-
.../adhomai/adhomai_sole_rock_nomad.dm | 4 +-
.../exoplanets/adhomai/adhomai_village.dm | 4 +-
.../exoplanets/adhomai/ala_base.dm | 10 +-
.../exoplanets/adhomai/nka_base.dm | 10 +-
.../adhomai/north_pole_nka_expedition.dm | 12 +-
.../exoplanets/adhomai/pra_base.dm | 10 +-
.../exoplanets/adhomai/pra_mining_camp.dm | 8 +-
.../exoplanets/adhomai/psis_outpost.dm | 6 +-
.../exoplanets/burzsia/burzsia_mining.dm | 12 +-
.../grove/crashsurvivors/crashsurvivors.dm | 8 +-
.../exoplanets/konyang/fireoutpost.dm | 4 +-
.../exoplanets/konyang/homestead.dm | 4 +-
.../exoplanets/konyang/pirate_moonshine.dm | 2 +-
.../exoplanets/konyang/pirate_outpost.dm | 4 +-
.../exoplanets/konyang/stranded_police.dm | 2 +-
.../exoplanets/konyang/telecomms_outpost.dm | 6 +-
.../exoplanets/konyang/village.dm | 4 +-
.../exoplanets/moghes/moghes_bar.dm | 18 +-
.../exoplanets/moghes/moghes_diona_traders.dm | 14 +-
.../moghes/moghes_gawgaryn_bikers.dm | 12 +-
.../moghes/moghes_gawgaryn_riders.dm | 4 +-
.../exoplanets/moghes/moghes_guild_mining.dm | 2 +-
.../exoplanets/moghes/moghes_guwandi.dm | 6 +-
.../exoplanets/moghes/moghes_hegemony_base.dm | 4 +-
.../exoplanets/moghes/moghes_heph_mining.dm | 14 +-
.../moghes/moghes_kataphract_wasteland.dm | 8 +-
.../exoplanets/moghes/moghes_kung_fu.dm | 6 +-
.../exoplanets/moghes/moghes_siakh.dm | 6 +-
.../exoplanets/moghes/moghes_skakh.dm | 8 +-
.../exoplanets/moghes/moghes_thakh.dm | 12 +-
.../moghes/moghes_untouched_village.dm | 6 +-
.../moghes/moghes_wasteland_dorviza.dm | 10 +-
.../moghes/moghes_wasteland_izwesk.dm | 4 +-
.../moghes/moghes_wasteland_klax.dm | 10 +-
.../moghes/moghes_wasteland_mikuetz.dm | 6 +-
.../moghes/moghes_wasteland_ozeuoi.dm | 6 +-
.../moghes/moghes_wasteland_priests.dm | 6 +-
.../moghes/moghes_wasteland_queendom.dm | 8 +-
.../moghes/moghes_wasteland_reclaimer.dm | 4 +-
.../moghes/moghes_wasteland_vihnmes.dm | 12 +-
.../exoplanets/ouerea/ouerea_autakh.dm | 14 +-
.../exoplanets/ouerea/ouerea_bar.dm | 18 +-
.../exoplanets/ouerea/ouerea_farm.dm | 6 +-
.../exoplanets/ouerea/ouerea_freewater.dm | 6 +-
.../exoplanets/ouerea/ouerea_guild_mining.dm | 2 +-
.../exoplanets/ouerea/ouerea_hegemony_base.dm | 4 +-
.../exoplanets/ouerea/ouerea_heph_mining.dm | 12 +-
.../exoplanets/ouerea/ouerea_village.dm | 10 +-
.../exoplanets/raskara/raskara_okon.dm | 6 +-
.../uueoaesa/heph_mining_station.dm | 4 +-
.../uueoaesa/miners_guild_outpost.dm | 2 +-
.../exoplanets/uueoaesa/pid_kois_farm.dm | 6 +-
233 files changed, 2121 insertions(+), 1857 deletions(-)
create mode 100644 code/unit_tests/outfit_tests.dm
create mode 100644 html/changelogs/fluffyghost-outfitsmadness.yml
diff --git a/aurorastation.dme b/aurorastation.dme
index 16e9bde7339..4a43b184faa 100644
--- a/aurorastation.dme
+++ b/aurorastation.dme
@@ -3745,6 +3745,7 @@
#include "code\unit_tests\object_tests.dm"
#include "code\unit_tests\observation_tests.dm"
#include "code\unit_tests\origins_tests.dm"
+#include "code\unit_tests\outfit_tests.dm"
#include "code\unit_tests\overmap_tests.dm"
#include "code\unit_tests\power_tests.dm"
#include "code\unit_tests\recipe_tests.dm"
diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm
index 0e9d729fbdd..4657d7711f6 100644
--- a/code/controllers/subsystems/job.dm
+++ b/code/controllers/subsystems/job.dm
@@ -888,7 +888,7 @@ SUBSYSTEM_DEF(jobs)
var/uniform = job.get_outfit(H)
if(!uniform) // silicons don't have uniforms or gear
return
- var/obj/outfit/U = new uniform
+ var/datum/outfit/U = new uniform
var/spawned_uniform = FALSE
var/spawned_suit = FALSE
for(var/item in prefs.gear)
diff --git a/code/controllers/subsystems/virtual_reality.dm b/code/controllers/subsystems/virtual_reality.dm
index 42c2ddbf583..931cd077b5b 100644
--- a/code/controllers/subsystems/virtual_reality.dm
+++ b/code/controllers/subsystems/virtual_reality.dm
@@ -265,8 +265,8 @@ SUBSYSTEM_DEF(virtualreality)
H.real_name = user.real_name
H.UpdateAppearance()
- H.preEquipOutfit(/obj/outfit/admin/virtual_reality, FALSE)
- H.equipOutfit(/obj/outfit/admin/virtual_reality, FALSE)
+ H.preEquipOutfit(/datum/outfit/admin/virtual_reality, FALSE)
+ H.equipOutfit(/datum/outfit/admin/virtual_reality, FALSE)
mind_transfer(user, H)
to_chat(H, SPAN_NOTICE("You are now in control of a virtual reality body. Dying will return you to your original body."))
diff --git a/code/datums/outfits/ert/ap_eridani.dm b/code/datums/outfits/ert/ap_eridani.dm
index 9aa2c68273b..5befb5468a8 100644
--- a/code/datums/outfits/ert/ap_eridani.dm
+++ b/code/datums/outfits/ert/ap_eridani.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/ap_eridani
+/datum/outfit/admin/ert/ap_eridani
name = "Eridani Asset Protection Specialist"
uniform = /obj/item/clothing/under/rank/security/pmc/epmc
@@ -39,10 +39,10 @@
id_iff = IFF_ERIDANI
-/obj/outfit/admin/ert/ap_eridani/get_id_access()
+/datum/outfit/admin/ert/ap_eridani/get_id_access()
return get_distress_access()
-/obj/outfit/admin/ert/ap_eridani/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/ap_eridani/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -56,7 +56,7 @@
var/obj/item/clothing/shoes/jackboots/toeless/shoes = new(src)
H.equip_to_slot_if_possible(shoes, slot_shoes)
-/obj/outfit/admin/ert/ap_eridani/lead
+/datum/outfit/admin/ert/ap_eridani/lead
name = "Eridani Section Leader"
uniform = /obj/item/clothing/under/rank/security/pmc/epmc/alt
@@ -82,7 +82,7 @@
/obj/item/melee/telebaton = 1
)
-/obj/outfit/admin/ert/ap_eridani/doctor
+/datum/outfit/admin/ert/ap_eridani/doctor
name = "Eridani Medical Officer"
uniform = /obj/item/clothing/under/rank/medical/paramedic/pmc/epmc
@@ -126,7 +126,7 @@
/obj/item/storage/pill_bottle/mortaphenyl = 1
)
-/obj/outfit/admin/ert/ap_eridani/corpsman
+/datum/outfit/admin/ert/ap_eridani/corpsman
name = "Eridani Corpsman"
uniform = /obj/item/clothing/under/rank/medical/paramedic/pmc/epmc
diff --git a/code/datums/outfits/ert/biesel.dm b/code/datums/outfits/ert/biesel.dm
index 533f8b03026..19c2278b2f0 100644
--- a/code/datums/outfits/ert/biesel.dm
+++ b/code/datums/outfits/ert/biesel.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/tcaf
+/datum/outfit/admin/ert/tcaf
name = "Republican Fleet Legionary"
uniform = /obj/item/clothing/under/legion/tcaf
suit = /obj/item/clothing/suit/space/void/tcaf
@@ -32,7 +32,7 @@
)
id_iff = IFF_TCFL
-/obj/outfit/admin/ert/tcaf/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/tcaf/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/tactical(H), slot_wear_mask)
@@ -50,10 +50,10 @@
var/obj/item/clothing/shoes/magboots/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
-/obj/outfit/admin/ert/tcaf/get_id_access(mob/living/carbon/human/H)
+/datum/outfit/admin/ert/tcaf/get_id_access(mob/living/carbon/human/H)
return get_distress_access()
-/obj/outfit/admin/ert/tcaf/medic
+/datum/outfit/admin/ert/tcaf/medic
name = "Republican Fleet Medic"
belt = /obj/item/storage/belt/medical/paramedic/combat
glasses = /obj/item/clothing/glasses/hud/health
@@ -89,7 +89,7 @@
/obj/item/shield/energy/legion = 1
)
-/obj/outfit/admin/ert/tcaf/engi
+/datum/outfit/admin/ert/tcaf/engi
name = "Republican Fleet Engineer"
belt = /obj/item/storage/belt/utility/very_full
belt_contents = null
@@ -115,5 +115,5 @@
/obj/item/grenade/frag = 2
)
-/obj/outfit/admin/ert/tcaf/officer
+/datum/outfit/admin/ert/tcaf/officer
accessory = /obj/item/clothing/accessory/legion
diff --git a/code/datums/outfits/ert/coalition.dm b/code/datums/outfits/ert/coalition.dm
index 27149d042e0..def02bc2540 100644
--- a/code/datums/outfits/ert/coalition.dm
+++ b/code/datums/outfits/ert/coalition.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/coalition
+/datum/outfit/admin/ert/coalition
name = "Coalition Ranger ERT"
uniform = /obj/item/clothing/under/tactical
shoes = /obj/item/clothing/shoes/magboots
@@ -23,10 +23,10 @@
accessory = /obj/item/clothing/accessory/holster/hip/brown
accessory_contents = list(/obj/item/gun/projectile/colt = 1)
-/obj/outfit/admin/ert/coalition/get_id_access()
+/datum/outfit/admin/ert/coalition/get_id_access()
return list(ACCESS_DISTRESS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_COALITION, ACCESS_COALITION_NAVY)
-/obj/outfit/admin/ert/coalition/medic
+/datum/outfit/admin/ert/coalition/medic
name = "Coalition Medic"
belt = /obj/item/storage/belt/medical/paramedic/combat
back = /obj/item/storage/backpack/satchel/med
@@ -55,7 +55,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/coalition/sapper
+/datum/outfit/admin/ert/coalition/sapper
name = "Coalition Sapper"
back = /obj/item/storage/backpack/duffel/eng
belt = /obj/item/storage/belt/utility/very_full
@@ -72,7 +72,7 @@
belt_contents = null
-/obj/outfit/admin/ert/coalition/leader
+/datum/outfit/admin/ert/coalition/leader
name = "Coalition Team Leader"
head = null
suit = null
@@ -90,7 +90,7 @@
/obj/item/grenade/flashbang = 1
)
-/obj/outfit/admin/ert/konyang
+/datum/outfit/admin/ert/konyang
name = "KASF Emergency Responder"
uniform = /obj/item/clothing/under/rank/konyang/space
suit = /obj/item/clothing/suit/space/void/sol/konyang
@@ -116,15 +116,15 @@
/obj/item/melee/energy/sword/knife/sol = 1
)
-/obj/outfit/admin/ert/konyang/get_id_access()
+/datum/outfit/admin/ert/konyang/get_id_access()
return list(ACCESS_DISTRESS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_COALITION, ACCESS_COALITION_NAVY, ACCESS_KONYANG_POLICE)
-/obj/outfit/admin/ert/konyang/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/konyang/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(H.isSynthetic())
H.equip_to_slot_or_del(new /obj/item/device/suit_cooling_unit(H), slot_back)
-/obj/outfit/admin/ert/konyang/medic
+/datum/outfit/admin/ert/konyang/medic
name = "KASF Medic"
belt = /obj/item/storage/belt/medical/paramedic/combat
back = /obj/item/storage/backpack/satchel/med
@@ -153,7 +153,7 @@
/obj/item/melee/energy/sword/knife/sol = 1
)
-/obj/outfit/admin/ert/konyang/sapper
+/datum/outfit/admin/ert/konyang/sapper
name = "KASF Sapper"
back = /obj/item/storage/backpack/industrial
belt = /obj/item/storage/belt/utility/very_full
@@ -174,6 +174,6 @@
belt_contents = null
-/obj/outfit/admin/ert/konyang/leader
+/datum/outfit/admin/ert/konyang/leader
name = "KASF Officer"
uniform = /obj/item/clothing/under/rank/konyang/space/officer
diff --git a/code/datums/outfits/ert/deathsquad.dm b/code/datums/outfits/ert/deathsquad.dm
index 807d1574315..5a62d7c4eec 100644
--- a/code/datums/outfits/ert/deathsquad.dm
+++ b/code/datums/outfits/ert/deathsquad.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/deathsquad
+/datum/outfit/admin/deathsquad
name = "Asset Protection"
uniform = /obj/item/clothing/under/ert
@@ -27,16 +27,16 @@
id_iff = IFF_DEATHSQUAD
-/obj/outfit/admin/deathsquad/leader
+/datum/outfit/admin/deathsquad/leader
name = "Asset Protection Lead"
l_pocket = /obj/item/pinpointer
r_hand = /obj/item/device/orbital_dropper/icarus_drones
-/obj/outfit/admin/deathsquad/get_id_access()
+/datum/outfit/admin/deathsquad/get_id_access()
return get_all_accesses()
-/obj/outfit/admin/deathsquad/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/deathsquad/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -79,19 +79,19 @@
id_iff = IFF_DEATHSQUAD
-/obj/outfit/admin/deathsquad/nt
+/datum/outfit/admin/deathsquad/nt
name = "NanoTrasen Asset Protection Trooper"
back = /obj/item/rig/ert/ntassetprotection
-/obj/outfit/admin/deathsquad/nt/leader
+/datum/outfit/admin/deathsquad/nt/leader
name = "NanoTrasen Asset Protection Lead"
back = /obj/item/rig/ert/ntassetprotection/lead
-/obj/outfit/admin/deathsquad/nt/get_id_access()
+/datum/outfit/admin/deathsquad/nt/get_id_access()
return get_all_accesses()
-/obj/outfit/admin/deathsquad/nt/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/deathsquad/nt/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
diff --git a/code/datums/outfits/ert/dominia.dm b/code/datums/outfits/ert/dominia.dm
index a65b3e2dd71..20ad6997db9 100644
--- a/code/datums/outfits/ert/dominia.dm
+++ b/code/datums/outfits/ert/dominia.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/dominia
+/datum/outfit/admin/ert/dominia
name = "Imperial Fleet Responder"
uniform = /obj/item/clothing/under/dominia/fleet/armsman
suit = /obj/item/clothing/suit/space/void/dominia/voidsman
@@ -28,16 +28,16 @@
/obj/item/handcuffs/ziptie = 1
)
-/obj/outfit/admin/ert/dominia/get_id_access()
+/datum/outfit/admin/ert/dominia/get_id_access()
return list(ACCESS_DISTRESS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_IMPERIAL_FLEET_VOIDSMAN_SHIP)
-/obj/outfit/admin/ert/dominia/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/dominia/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(H?.shoes)
var/obj/item/clothing/shoes/magboots/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
-/obj/outfit/admin/ert/dominia/medic
+/datum/outfit/admin/ert/dominia/medic
name = "Imperial Fleet Medic"
uniform = /obj/item/clothing/under/dominia/fleet
glasses = /obj/item/clothing/glasses/hud/health
@@ -68,7 +68,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/dominia/engi
+/datum/outfit/admin/ert/dominia/engi
name = "Imperial Fleet Sapper"
uniform = /obj/item/clothing/under/dominia/fleet
back = /obj/item/storage/backpack/duffel/eng
@@ -84,7 +84,7 @@
)
belt_contents = null
-/obj/outfit/admin/ert/dominia/officer
+/datum/outfit/admin/ert/dominia/officer
name = "Imperial Fleet Officer"
uniform = /obj/item/clothing/under/dominia/fleet/officer
belt_contents = list(
diff --git a/code/datums/outfits/ert/einstein.dm b/code/datums/outfits/ert/einstein.dm
index a4e83b04b72..46f7a8ca481 100644
--- a/code/datums/outfits/ert/einstein.dm
+++ b/code/datums/outfits/ert/einstein.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/einstein
+/datum/outfit/admin/ert/einstein
name = "Einstein Engines ERT"
uniform = /obj/item/clothing/under/rank/security/einstein
shoes = /obj/item/clothing/shoes/jackboots
@@ -27,10 +27,10 @@
)
id_iff = IFF_EE
-/obj/outfit/admin/ert/einstein/get_id_access()
+/datum/outfit/admin/ert/einstein/get_id_access()
return get_distress_access_lesser()
-/obj/outfit/admin/ert/einstein/medic
+/datum/outfit/admin/ert/einstein/medic
name = "Einstein Medic"
belt = /obj/item/storage/belt/medical/paramedic/combat
glasses = /obj/item/clothing/glasses/hud/health
@@ -60,7 +60,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/einstein/engi
+/datum/outfit/admin/ert/einstein/engi
name = "Einstein Engineer"
uniform = /obj/item/clothing/under/rank/engineer/einstein
back = /obj/item/storage/backpack/industrial
@@ -81,7 +81,7 @@
)
belt_contents = null
-/obj/outfit/admin/ert/einstein/leader
+/datum/outfit/admin/ert/einstein/leader
name = "Einstein Squad Leader"
back = /obj/item/rig/merc/einstein
l_hand = /obj/item/gun/energy/gun/nuclear
diff --git a/code/datums/outfits/ert/elyra.dm b/code/datums/outfits/ert/elyra.dm
index 0d253b3e5fa..a8315f39528 100644
--- a/code/datums/outfits/ert/elyra.dm
+++ b/code/datums/outfits/ert/elyra.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/elyran_trooper
+/datum/outfit/admin/ert/elyran_trooper
name = "Elyran Navy Crewman"
uniform = /obj/item/clothing/under/rank/elyran_fatigues
@@ -28,10 +28,10 @@
accessory = /obj/item/clothing/accessory/holster/hip/brown
accessory_contents = list(/obj/item/gun/projectile/sec/lethal = 1)
-/obj/outfit/admin/ert/elyran_trooper/get_id_access()
+/datum/outfit/admin/ert/elyran_trooper/get_id_access()
return get_distress_access()
-/obj/outfit/admin/ert/elyran_trooper/leader
+/datum/outfit/admin/ert/elyran_trooper/leader
name = "Elyran Navy Officer"
uniform = /obj/item/clothing/under/rank/elyran_fatigues/commander
@@ -47,7 +47,7 @@
l_hand = /obj/item/gun/projectile/plasma
-/obj/outfit/admin/ert/elyran_trooper/engineer
+/datum/outfit/admin/ert/elyran_trooper/engineer
name = "Elyran Navy Engineer"
back = /obj/item/storage/backpack/duffel/eng
@@ -62,7 +62,7 @@
belt_contents = null
-/obj/outfit/admin/ert/elyran_trooper/medical
+/datum/outfit/admin/ert/elyran_trooper/medical
name = "Elyran Navy Corpsman"
belt = /obj/item/storage/belt/medical/paramedic/combat
@@ -92,7 +92,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/elyran_trooper/heavy
+/datum/outfit/admin/ert/elyran_trooper/heavy
name = "Elyran Navy Heavy Specialist"
head = null
diff --git a/code/datums/outfits/ert/fsf.dm b/code/datums/outfits/ert/fsf.dm
index 7bd9b3fb594..f58feb6bd14 100644
--- a/code/datums/outfits/ert/fsf.dm
+++ b/code/datums/outfits/ert/fsf.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/fsf
+/datum/outfit/admin/ert/fsf
name = "Free Solarian Fleets Marine"
uniform = /obj/item/clothing/under/rank/sol/marine
@@ -30,10 +30,10 @@
id_iff = IFF_FSF
-/obj/outfit/admin/ert/fsf/get_id_access()
+/datum/outfit/admin/ert/fsf/get_id_access()
return get_distress_access_lesser()
-/obj/outfit/admin/ert/fsf/medic
+/datum/outfit/admin/ert/fsf/medic
name = "Free Solarian Fleets Medic"
belt = /obj/item/storage/belt/medical/paramedic/combat
@@ -65,7 +65,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/fsf/sapper
+/datum/outfit/admin/ert/fsf/sapper
name = "Free Solarian Fleets Sapper"
back = /obj/item/storage/backpack/duffel/eng
@@ -89,7 +89,7 @@
belt_contents = null
-/obj/outfit/admin/ert/fsf/leader
+/datum/outfit/admin/ert/fsf/leader
name = "Free Solarian Fleets Fireteam Leader"
l_hand = /obj/item/gun/projectile/automatic/rifle/sol
r_hand = null
@@ -107,7 +107,7 @@
/obj/item/handcuffs/ziptie = 2
)
-/obj/outfit/admin/ert/fsf/synth
+/datum/outfit/admin/ert/fsf/synth
name = "Free Solarian Fleets Synthetic Unit"
uniform = /obj/item/clothing/under/rank/sol
diff --git a/code/datums/outfits/ert/hephaestus_ert.dm b/code/datums/outfits/ert/hephaestus_ert.dm
index 278942ba0b4..d96e351aa70 100644
--- a/code/datums/outfits/ert/hephaestus_ert.dm
+++ b/code/datums/outfits/ert/hephaestus_ert.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/hephaestus
+/datum/outfit/admin/ert/hephaestus
name = "Hephaestus Asset Protection"
uniform = /obj/item/clothing/under/rank/security/heph
shoes = /obj/item/clothing/shoes/jackboots
@@ -35,15 +35,15 @@
id_iff = IFF_HEPH
-/obj/outfit/admin/ert/hephaestus/get_id_access()
+/datum/outfit/admin/ert/hephaestus/get_id_access()
return get_distress_access()
-/obj/outfit/admin/ert/hephaestuss/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/hephaestuss/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.shoes)
var/obj/item/clothing/shoes/magboots/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
-/obj/outfit/admin/ert/hephaestus/medic
+/datum/outfit/admin/ert/hephaestus/medic
name = "Hephaestus Medic"
belt = /obj/item/storage/belt/medical/paramedic/combat
glasses = /obj/item/clothing/glasses/hud/health
@@ -77,7 +77,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/hephaestus/engi
+/datum/outfit/admin/ert/hephaestus/engi
name = "Hephaestus Engineer"
back = /obj/item/storage/backpack/duffel/heph
belt = /obj/item/storage/belt/utility/very_full
@@ -98,6 +98,6 @@
)
belt_contents = null
-/obj/outfit/admin/ert/hephaestus/leader
+/datum/outfit/admin/ert/hephaestus/leader
name = "Hephaestus Squad Leader"
uniform = /obj/item/clothing/under/rank/captain/hephaestus
diff --git a/code/datums/outfits/ert/iac.dm b/code/datums/outfits/ert/iac.dm
index be76d844794..7040bb67be8 100644
--- a/code/datums/outfits/ert/iac.dm
+++ b/code/datums/outfits/ert/iac.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/iac
+/datum/outfit/admin/ert/iac
name = "IAC Doctor"
uniform = /obj/item/clothing/under/rank/iacjumpsuit
@@ -38,10 +38,10 @@
id_iff = IFF_IAC
-/obj/outfit/admin/ert/iac/get_id_access()
+/datum/outfit/admin/ert/iac/get_id_access()
return get_distress_access()
-/obj/outfit/admin/iac/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/iac/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -55,7 +55,7 @@
var/obj/item/clothing/shoes/footwraps = new(src)
H.equip_to_slot_if_possible(footwraps, slot_shoes)
-/obj/outfit/admin/ert/iac/bodyguard
+/datum/outfit/admin/ert/iac/bodyguard
name = "IAC Bodyguard"
accessory = /obj/item/clothing/accessory/storage/black_vest
@@ -85,7 +85,7 @@
/obj/item/device/flashlight/flare = 1
)
-/obj/outfit/admin/ert/iac/paramedic
+/datum/outfit/admin/ert/iac/paramedic
name = "IAC Paramedic"
head = /obj/item/clothing/head/helmet/iachelmet
diff --git a/code/datums/outfits/ert/izweski.dm b/code/datums/outfits/ert/izweski.dm
index aae7e0269ad..9f636d38e53 100644
--- a/code/datums/outfits/ert/izweski.dm
+++ b/code/datums/outfits/ert/izweski.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/izweski
+/datum/outfit/admin/ert/izweski
name = "Izweski Navy Crewman"
uniform = /obj/item/clothing/under/unathi/izweski
head = /obj/item/clothing/head/helmet/space/void/hegemony
@@ -21,15 +21,15 @@
)
id = /obj/item/card/id
-/obj/outfit/admin/ert/izweski/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/izweski/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.shoes)
var/obj/item/clothing/shoes/magboots/hegemony/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
-/obj/outfit/admin/ert/izweski/get_id_access()
+/datum/outfit/admin/ert/izweski/get_id_access()
return get_distress_access_lesser()
-/obj/outfit/admin/ert/izweski/medic
+/datum/outfit/admin/ert/izweski/medic
name = "Izweski Navy Medic"
belt = /obj/item/storage/belt/medical/paramedic/combat
back = /obj/item/storage/backpack/satchel/hegemony
@@ -54,7 +54,7 @@
gloves = /obj/item/clothing/gloves/latex/nitrile/unathi
r_pocket = /obj/item/melee/energy/sword/hegemony
-/obj/outfit/admin/ert/izweski/klax
+/datum/outfit/admin/ert/izweski/klax
name = "Izweski Navy K'lax"
uniform = /obj/item/clothing/under/vaurca
head = /obj/item/clothing/head/helmet/unathi/klax
@@ -73,7 +73,7 @@
/obj/item/ammo_casing/slugger = 5
)
-/obj/outfit/admin/ert/izweski/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/izweski/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
@@ -84,7 +84,7 @@
H.update_body()
-/obj/outfit/admin/ert/izweski/leader
+/datum/outfit/admin/ert/izweski/leader
name = "Izweski Navy Squad Leader"
uniform = /obj/item/clothing/under/unathi/izweski/officer
l_hand = /obj/item/melee/hammer/powered/hegemony
@@ -102,4 +102,4 @@
/obj/item/handcuffs/ziptie = 2
)
-/obj/outfit/admin/ert/izweski/leader/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/izweski/leader/post_equip(mob/living/carbon/human/H, visualsOnly)
diff --git a/code/datums/outfits/ert/kataphract.dm b/code/datums/outfits/ert/kataphract.dm
index 8f34c23a522..fae071f5452 100644
--- a/code/datums/outfits/ert/kataphract.dm
+++ b/code/datums/outfits/ert/kataphract.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/kataphract
+/datum/outfit/admin/ert/kataphract
name = "Kataphract-Hopeful"
uniform = /obj/item/clothing/under/unathi
@@ -29,7 +29,7 @@
id_iff = IFF_KATAPHRACT
-/obj/outfit/admin/ert/kataphract/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/kataphract/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = pick("#42b360", "#b68029", "#5574c2")
H.w_uniform.accent_color = H.w_uniform.color
@@ -37,10 +37,10 @@
var/obj/item/clothing/shoes/magboots/hegemony/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
-/obj/outfit/admin/ert/kataphract/get_id_access()
+/datum/outfit/admin/ert/kataphract/get_id_access()
return get_distress_access_lesser()
-/obj/outfit/admin/ert/kataphract/klax
+/datum/outfit/admin/ert/kataphract/klax
name = "Kataphract-Hopeful Klax"
uniform = /obj/item/clothing/under/vaurca
@@ -63,7 +63,7 @@
/obj/item/reagent_containers/food/snacks/koisbar_clean = 3
)
-/obj/outfit/admin/ert/kataphract/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/kataphract/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
@@ -78,7 +78,7 @@
var/obj/item/clothing/shoes/magboots/hegemony/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
-/obj/outfit/admin/ert/kataphract/specialist
+/datum/outfit/admin/ert/kataphract/specialist
name = "Kataphract-Hopeful Spec."
head = /obj/item/clothing/head/helmet/space/void/kataphract/spec
@@ -107,21 +107,21 @@
/obj/item/reagent_containers/hypospray/autoinjector/coagzolug = 1
)
-/obj/outfit/admin/ert/kataphract/specialist/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/kataphract/specialist/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = pick("#42b360", "#b68029", "#5574c2")
if(H?.shoes)
var/obj/item/clothing/shoes/magboots/hegemony/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
-/obj/outfit/admin/ert/kataphract/leader
+/datum/outfit/admin/ert/kataphract/leader
name = "Kataphract Knight"
head = /obj/item/clothing/head/helmet/space/void/kataphract/lead
suit = /obj/item/clothing/suit/space/void/kataphract/lead
glasses = /obj/item/clothing/glasses/thermal
-/obj/outfit/admin/ert/kataphract/leader/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/kataphract/leader/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = pick("#42b360", "#b68029", "#5574c2")
if(H?.shoes)
diff --git a/code/datums/outfits/ert/kosmostrelki.dm b/code/datums/outfits/ert/kosmostrelki.dm
index 13ebb6958f2..84ce65f9b3b 100644
--- a/code/datums/outfits/ert/kosmostrelki.dm
+++ b/code/datums/outfits/ert/kosmostrelki.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/pra_cosmonaut
+/datum/outfit/admin/ert/pra_cosmonaut
name = "Kosmostrelki Trooper"
id = /obj/item/card/id/ert
@@ -24,10 +24,10 @@
r_pocket = /obj/item/crowbar/red
l_hand = /obj/item/martial_manual/tajara
-/obj/outfit/admin/ert/pra_cosmonaut/get_id_access()
+/datum/outfit/admin/ert/pra_cosmonaut/get_id_access()
return get_distress_access()
-/obj/outfit/admin/ert/pra_cosmonaut/commissar
+/datum/outfit/admin/ert/pra_cosmonaut/commissar
name = "Kosmostrelki Commissar"
uniform = /obj/item/clothing/under/tajaran/cosmonaut/commissar
@@ -53,7 +53,7 @@
accessory = /obj/item/clothing/accessory/hadii_pin
l_hand = /obj/item/martial_manual/tajara
-/obj/outfit/admin/ert/pra_cosmonaut/commander
+/datum/outfit/admin/ert/pra_cosmonaut/commander
name = "Kosmostrelki Commander"
back = /obj/item/storage/backpack/satchel/leather
@@ -76,7 +76,7 @@
l_pocket = /obj/item/device/megaphone
l_hand = /obj/item/martial_manual/tajara
-/obj/outfit/admin/ert/pra_cosmonaut/tesla
+/datum/outfit/admin/ert/pra_cosmonaut/tesla
name = "Tesla Trooper"
r_hand = /obj/item/gun/energy/rifle/icelance
l_hand = /obj/item/rig/tesla
@@ -95,13 +95,13 @@
/obj/item/material/knife/trench = 1
)
-/obj/outfit/admin/ert/pra_cosmonaut/tesla/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/pra_cosmonaut/tesla/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
var/obj/item/organ/A = new /obj/item/organ/internal/augment/tesla/advanced(H)
var/obj/item/organ/external/affected = H.get_organ(A.parent_organ)
A.replaced(H, affected)
H.update_body()
-/obj/outfit/admin/ert/pra_cosmonaut/medic
+/datum/outfit/admin/ert/pra_cosmonaut/medic
name = "Kosmostrelki Combat Medic"
gloves = /obj/item/clothing/gloves/latex/nitrile/tajara
@@ -134,7 +134,7 @@
l_hand = /obj/item/martial_manual/tajara
-/obj/outfit/admin/ert/pra_cosmonaut/engineer
+/datum/outfit/admin/ert/pra_cosmonaut/engineer
name = "Kosmostrelki Sapper"
gloves = /obj/item/clothing/gloves/yellow/specialt
diff --git a/code/datums/outfits/ert/mercenary.dm b/code/datums/outfits/ert/mercenary.dm
index de562683a36..54e3727ef10 100644
--- a/code/datums/outfits/ert/mercenary.dm
+++ b/code/datums/outfits/ert/mercenary.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/mercenary
+/datum/outfit/admin/ert/mercenary
name = "Mercenary Freelancer"
uniform = /obj/item/clothing/under/syndicate
@@ -34,10 +34,10 @@
id_iff = IFF_FREELANCER
-/obj/outfit/admin/ert/mercenary/get_id_access()
+/datum/outfit/admin/ert/mercenary/get_id_access()
return get_distress_access_lesser()
-/obj/outfit/admin/ert/mercenary/specialist
+/datum/outfit/admin/ert/mercenary/specialist
name = "Mercenary Freelancer Medic"
glasses = /obj/item/clothing/glasses/hud/health/aviator
@@ -67,7 +67,7 @@
/obj/item/material/knife/trench = 1
)
-/obj/outfit/admin/ert/mercenary/engineer
+/datum/outfit/admin/ert/mercenary/engineer
name = "Mercenary Freelancer Combat Engineer"
belt = /obj/item/storage/belt/military
@@ -97,7 +97,7 @@
/obj/item/device/flashlight/flare = 1,
)
-/obj/outfit/admin/ert/mercenary/leader
+/datum/outfit/admin/ert/mercenary/leader
name = "Mercenary Freelancer Leader"
l_hand = /obj/item/gun/projectile/automatic/rifle/shorty
r_hand = null
diff --git a/code/datums/outfits/ert/nt_ert.dm b/code/datums/outfits/ert/nt_ert.dm
index ef1448a06b4..e905ae45ec3 100644
--- a/code/datums/outfits/ert/nt_ert.dm
+++ b/code/datums/outfits/ert/nt_ert.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/nanotrasen
+/datum/outfit/admin/ert/nanotrasen
name = "NanoTrasen ERT Responder"
uniform = /obj/item/clothing/under/ert
@@ -20,10 +20,10 @@
/obj/item/ammo_magazine/a556/ap = 1
)
-/obj/outfit/admin/ert/nanotrasen/get_id_access()
+/datum/outfit/admin/ert/nanotrasen/get_id_access()
return get_all_station_access() | get_centcom_access("Emergency Response Team")
-/obj/outfit/admin/ert/nanotrasen/specialist
+/datum/outfit/admin/ert/nanotrasen/specialist
name = "NanoTrasen ERT Engineer Specialist"
belt = /obj/item/storage/belt/utility/full
@@ -31,7 +31,7 @@
belt_contents = null
-/obj/outfit/admin/ert/nanotrasen/specialist/medical
+/datum/outfit/admin/ert/nanotrasen/specialist/medical
name = "NanoTrasen ERT Medical Specialist"
belt = /obj/item/storage/belt/medical/paramedic/combat
@@ -48,7 +48,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/nanotrasen/leader
+/datum/outfit/admin/ert/nanotrasen/leader
name = "NanoTrasen ERT Leader"
back = /obj/item/rig/ert
diff --git a/code/datums/outfits/ert/qukala.dm b/code/datums/outfits/ert/qukala.dm
index 1db5971cf7a..42492822784 100644
--- a/code/datums/outfits/ert/qukala.dm
+++ b/code/datums/outfits/ert/qukala.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/qukala
+/datum/outfit/admin/ert/qukala
name = "Qukala Emergency Responder"
uniform = /obj/item/clothing/under/skrell/qukala
shoes = /obj/item/clothing/shoes/jackboots/kala
@@ -37,7 +37,7 @@
/obj/item/crowbar/red = 1
)
-/obj/outfit/admin/ert/qukala/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/qukala/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/tactical(H), slot_wear_mask)
@@ -59,10 +59,10 @@
else
H.equip_or_collect(new /obj/item/gun/energy/fedpistol/nopsi(src), slot_in_backpack)
-/obj/outfit/admin/ert/qukala/get_id_access()
+/datum/outfit/admin/ert/qukala/get_id_access()
return list(ACCESS_DISTRESS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_SKRELL)
-/obj/outfit/admin/ert/qukala/medic
+/datum/outfit/admin/ert/qukala/medic
name = "Qukala Medic"
suit = /obj/item/clothing/suit/space/void/kala/med
head = /obj/item/clothing/head/helmet/space/void/kala/med
@@ -99,7 +99,7 @@
/obj/item/roller/hover = 1
)
-/obj/outfit/admin/ert/qukala/engi
+/datum/outfit/admin/ert/qukala/engi
name = "Qukala Engineer"
suit = /obj/item/clothing/suit/space/void/kala/engineering
head = /obj/item/clothing/head/helmet/space/void/kala/engineering
@@ -125,7 +125,7 @@
)
belt_contents = null
-/obj/outfit/admin/ert/qukala/heavy
+/datum/outfit/admin/ert/qukala/heavy
name = "Qukala Heavy Trooper"
suit = null
head = null
@@ -139,9 +139,9 @@
/obj/item/gun/energy/fedpistol = 1
)
-/obj/outfit/admin/ert/qukala/heavy/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/qukala/heavy/post_equip(mob/living/carbon/human/H, visualsOnly)
-/obj/outfit/admin/ert/qukala/officer
+/datum/outfit/admin/ert/qukala/officer
suit = /obj/item/clothing/suit/space/void/kala/leader
head = /obj/item/clothing/head/helmet/space/void/kala/leader
accessory = /obj/item/clothing/accessory/holster/hip
@@ -149,7 +149,7 @@
/obj/item/gun/energy/fedpistol = 1
)
-/obj/outfit/admin/ert/qukala/officer/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/qukala/officer/post_equip(mob/living/carbon/human/H, visualsOnly)
if(H?.shoes)
var/obj/item/clothing/shoes/magboots/advance/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
diff --git a/code/datums/outfits/ert/scc_ert.dm b/code/datums/outfits/ert/scc_ert.dm
index 71b706de92b..cda4b4c4b56 100644
--- a/code/datums/outfits/ert/scc_ert.dm
+++ b/code/datums/outfits/ert/scc_ert.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/scc
+/datum/outfit/admin/ert/scc
name = "ERT Security Specialist (SCC)"
uniform = /obj/item/clothing/under/rank/security
@@ -17,10 +17,10 @@
/obj/item/ammo_magazine/a556/ap = 1
)
-/obj/outfit/admin/ert/scc/get_id_access()
+/datum/outfit/admin/ert/scc/get_id_access()
return get_all_station_access() | get_centcom_access("Emergency Response Team")
-/obj/outfit/admin/ert/scc/engineer
+/datum/outfit/admin/ert/scc/engineer
name = "ERT Engineering Specialist (SCC)"
belt = /obj/item/storage/belt/utility/full
@@ -28,7 +28,7 @@
belt_contents = null
-/obj/outfit/admin/ert/scc/medic
+/datum/outfit/admin/ert/scc/medic
name = "ERT Medical Specialist (SCC)"
belt = /obj/item/storage/belt/medical/paramedic/combat
@@ -45,7 +45,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/scc/commander
+/datum/outfit/admin/ert/scc/commander
name = "ERT Commander (SCC)"
back = /obj/item/rig/ert/scc
diff --git a/code/datums/outfits/ert/syndicate.dm b/code/datums/outfits/ert/syndicate.dm
index 598ce874563..e5c33c8536c 100644
--- a/code/datums/outfits/ert/syndicate.dm
+++ b/code/datums/outfits/ert/syndicate.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/deathsquad/syndicate
+/datum/outfit/admin/deathsquad/syndicate
name = "Syndicate Commando"
uniform = /obj/item/clothing/under/syndicate
@@ -24,7 +24,7 @@
id_iff = IFF_SYNDICATE
-/obj/outfit/admin/deathsquad/syndicate/leader
+/datum/outfit/admin/deathsquad/syndicate/leader
name = "Syndicate Commando Lead"
l_pocket = /obj/item/pinpointer
diff --git a/code/datums/outfits/ert/tcfl.dm b/code/datums/outfits/ert/tcfl.dm
index 83b4cd62028..d7eba534ed9 100644
--- a/code/datums/outfits/ert/tcfl.dm
+++ b/code/datums/outfits/ert/tcfl.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/legion
+/datum/outfit/admin/ert/legion
name = "TCFL Volunteer"
head = /obj/item/clothing/head/beret/legion/field
@@ -14,7 +14,7 @@
id_iff = IFF_TCFL
-/obj/outfit/admin/ert/legion/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/legion/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -22,23 +22,23 @@
H.internal = preserve
H.internals.icon_state = "internal1"
-/obj/outfit/admin/ert/legion/get_id_access()
+/datum/outfit/admin/ert/legion/get_id_access()
return get_distress_access()
-/obj/outfit/admin/ert/legion/specialist
+/datum/outfit/admin/ert/legion/specialist
name = "TCFL Legionnaire"
accessory = /obj/item/clothing/accessory/legion/specialist
-/obj/outfit/admin/ert/legion/leader
+/datum/outfit/admin/ert/legion/leader
name = "TCFL Prefect"
accessory = /obj/item/clothing/accessory/legion
-/obj/outfit/admin/ert/legion/leader/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/legion/leader/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
.=..()
var/obj/item/card/id/distress/legion/I = H.wear_id
I.access += (ACCESS_CENT_SPECOPS)
-/obj/outfit/admin/ert/legion/pilot
+/datum/outfit/admin/ert/legion/pilot
name = "TCFL Dropship Pilot"
uniform = /obj/item/clothing/under/legion/pilot
head = /obj/item/clothing/head/helmet/pilot/legion
@@ -51,7 +51,7 @@
backpack_contents = null
-/obj/outfit/admin/ert/legion/sentinel
+/datum/outfit/admin/ert/legion/sentinel
name = "TCFL Sentinel"
head = /obj/item/clothing/head/beret/legion/sentinel
uniform = /obj/item/clothing/under/legion/sentinel
@@ -79,7 +79,7 @@
/obj/item/melee/telebaton = 1
)
-/obj/outfit/admin/ert/legion/sentinel/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/legion/sentinel/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
.=..()
var/obj/item/card/id/distress/legion/I = H.wear_id
I.access += (ACCESS_CENT_SPECOPS)
diff --git a/code/datums/outfits/ert/vaurca.dm b/code/datums/outfits/ert/vaurca.dm
index 7e78c749170..bd3c039a816 100644
--- a/code/datums/outfits/ert/vaurca.dm
+++ b/code/datums/outfits/ert/vaurca.dm
@@ -1,5 +1,5 @@
//Zo'ra
-/obj/outfit/admin/ert/zora
+/datum/outfit/admin/ert/zora
name = "Zo'ra Warrior"
uniform = /obj/item/clothing/under/vaurca
shoes = /obj/item/clothing/shoes/vaurca
@@ -27,7 +27,7 @@
/obj/item/handcuffs/ziptie = 2
)
-/obj/outfit/admin/ert/zora/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/zora/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
H.internals.icon_state = "internal1"
@@ -47,10 +47,10 @@
if(H?.glasses)
H.glasses.color = "#391610"
-/obj/outfit/admin/ert/zora/get_id_access()
+/datum/outfit/admin/ert/zora/get_id_access()
return get_distress_access_lesser()
-/obj/outfit/admin/ert/zora/medic
+/datum/outfit/admin/ert/zora/medic
name = "Zo'ra Field Biotechnician"
belt = /obj/item/storage/belt/medical/paramedic/combat
gloves = /obj/item/clothing/gloves/latex/nitrile/vaurca
@@ -79,7 +79,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/zora/medic/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/zora/medic/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
H.internals.icon_state = "internal1"
@@ -104,7 +104,7 @@
var/obj/item/card/id/I = H.wear_id
I.access += (ACCESS_MEDICAL) //so the hud works
-/obj/outfit/admin/ert/zora/engi
+/datum/outfit/admin/ert/zora/engi
name = "Zo'ra Sapper"
belt = /obj/item/storage/belt/utility/very_full
accessory = /obj/item/clothing/accessory/storage/brown_vest
@@ -121,7 +121,7 @@
)
belt_contents = null
-/obj/outfit/admin/ert/zora/engi/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/zora/engi/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
var/obj/item/organ/C = new /obj/item/organ/internal/augment/tool/correctivelens/glare_dampener(H)
var/obj/item/organ/external/affectedC = H.get_organ(C.parent_organ)
@@ -131,7 +131,7 @@
D.replaced(H, affectedD)
H.update_body()
-/obj/outfit/admin/ert/zora/heavy
+/datum/outfit/admin/ert/zora/heavy
name = "Zo'ra Heavy"
r_hand = /obj/item/gun/energy/vaurca/gatlinglaser
back = /obj/item/rig/vaurca
@@ -142,7 +142,7 @@
backpack_contents = list()
//K'lax
-/obj/outfit/admin/ert/klax
+/datum/outfit/admin/ert/klax
name = "K'lax Warrior"
uniform = /obj/item/clothing/under/vaurca
shoes = /obj/item/clothing/shoes/vaurca
@@ -171,7 +171,7 @@
/obj/item/handcuffs/ziptie = 2
)
-/obj/outfit/admin/ert/klax/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/klax/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
H.internals.icon_state = "internal1"
@@ -191,10 +191,10 @@
if(H?.glasses)
H.glasses.color = "#0e3a11"
-/obj/outfit/admin/ert/klax/get_id_access()
+/datum/outfit/admin/ert/klax/get_id_access()
return get_distress_access_lesser()
-/obj/outfit/admin/ert/klax/medic
+/datum/outfit/admin/ert/klax/medic
name = "K'lax Field Biotechnician"
belt = /obj/item/storage/belt/medical/paramedic/combat
gloves = /obj/item/clothing/gloves/latex/nitrile/vaurca
@@ -225,7 +225,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/klax/medic/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/klax/medic/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
var/obj/item/organ/grasper = new /obj/item/organ/external/hand/right/vaurca/medical(H)
var/obj/item/organ/external/arm = H.get_organ(grasper.parent_organ)
@@ -237,7 +237,7 @@
var/obj/item/card/id/I = H.wear_id
I.access += (ACCESS_MEDICAL) //so the hud works
-/obj/outfit/admin/ert/klax/engi
+/datum/outfit/admin/ert/klax/engi
name = "K'lax Sapper"
belt = /obj/item/storage/belt/utility/very_full
accessory = /obj/item/clothing/accessory/storage/brown_vest
@@ -255,7 +255,7 @@
)
belt_contents = null
-/obj/outfit/admin/ert/klax/engi/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ert/klax/engi/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
var/obj/item/organ/weld = new /obj/item/organ/internal/augment/tool/correctivelens/glare_dampener(H)
var/obj/item/organ/external/head = H.get_organ(weld.parent_organ)
@@ -265,7 +265,7 @@
tool.replaced(H, hand)
H.update_body()
-/obj/outfit/admin/ert/klax/heavy
+/datum/outfit/admin/ert/klax/heavy
name = "K'lax Heavy"
r_hand = /obj/item/melee/energy/vaurca_zweihander
back = /obj/item/rig/vaurca
diff --git a/code/datums/outfits/ert/zavod.dm b/code/datums/outfits/ert/zavod.dm
index 2372f6b5d4c..8d14f163508 100644
--- a/code/datums/outfits/ert/zavod.dm
+++ b/code/datums/outfits/ert/zavod.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/zavodskoi
+/datum/outfit/admin/ert/zavodskoi
name = "Zavodskoi Asset Protection"
uniform = /obj/item/clothing/under/rank/security/zavod/zavodsec
shoes = /obj/item/clothing/shoes/jackboots
@@ -28,15 +28,15 @@
)
id_iff = IFF_ZAVOD
-/obj/outfit/admin/ert/zavodskoi/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ert/zavodskoi/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.shoes)
var/obj/item/clothing/shoes/magboots/boots = new(H)
H.equip_to_slot_if_possible(boots, slot_shoes)
-/obj/outfit/admin/ert/zavodskoi/get_id_access()
+/datum/outfit/admin/ert/zavodskoi/get_id_access()
return get_distress_access()
-/obj/outfit/admin/ert/zavodskoi/medic
+/datum/outfit/admin/ert/zavodskoi/medic
name = "Zavodskoi Medic"
belt = /obj/item/storage/belt/medical/paramedic/combat
glasses = /obj/item/clothing/glasses/hud/health
@@ -66,7 +66,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/zavodskoi/engi
+/datum/outfit/admin/ert/zavodskoi/engi
name = "Zavodskoi Engineer"
uniform = /obj/item/clothing/under/rank/engineer/zavod
back = /obj/item/storage/backpack/duffel/zavod
@@ -87,7 +87,7 @@
)
belt_contents = null
-/obj/outfit/admin/ert/zavodskoi/lead
+/datum/outfit/admin/ert/zavodskoi/lead
name = "Zavodskoi Squad Leader"
accessory_contents = list(
/obj/item/gun/projectile/revolver = 1
diff --git a/code/datums/outfits/ert/zenghu.dm b/code/datums/outfits/ert/zenghu.dm
index 76cad4697cc..314a656f005 100644
--- a/code/datums/outfits/ert/zenghu.dm
+++ b/code/datums/outfits/ert/zenghu.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/ert/zeng
+/datum/outfit/admin/ert/zeng
name = "Zeng-Hu ERT"
uniform = /obj/item/clothing/under/rank/security/zeng
shoes = /obj/item/clothing/shoes/jackboots
@@ -26,10 +26,10 @@
)
id_iff = IFF_ZENGHU
-/obj/outfit/admin/ert/zeng/get_id_access()
+/datum/outfit/admin/ert/zeng/get_id_access()
return get_distress_access()
-/obj/outfit/admin/ert/zeng/medic
+/datum/outfit/admin/ert/zeng/medic
name = "Zeng-Hu Medic"
uniform = /obj/item/clothing/under/rank/medical/paramedic/zeng
belt = /obj/item/storage/belt/medical/paramedic/combat
@@ -58,7 +58,7 @@
/obj/item/reagent_containers/glass/bottle/perconol = 1
)
-/obj/outfit/admin/ert/zeng/engineer
+/datum/outfit/admin/ert/zeng/engineer
name = "Zeng-Hu Engineer"
back = /obj/item/storage/backpack/duffel/zeng
belt = /obj/item/storage/belt/utility/very_full
@@ -76,7 +76,7 @@
)
belt_contents = null
-/obj/outfit/admin/ert/zeng/leader
+/datum/outfit/admin/ert/zeng/leader
name = "Zeng-Hu Squad Leader"
accessory_contents = list(
/obj/item/gun/energy/decloner = 1
diff --git a/code/datums/outfits/event/outfit_events.dm b/code/datums/outfits/event/outfit_events.dm
index 6f3aa8ce717..95b4d3b9373 100644
--- a/code/datums/outfits/event/outfit_events.dm
+++ b/code/datums/outfits/event/outfit_events.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/event/lance
+/datum/outfit/admin/event/lance
name = "Lancer"
uniform = /obj/item/clothing/under/lance
@@ -38,13 +38,13 @@
id_iff = IFF_LANCER
var/id_access = "Lancer"
-/obj/outfit/admin/event/lance/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/event/lance/post_equip(mob/living/carbon/human/H, visualsOnly)
organize_voidsuit(H)
-/obj/outfit/admin/event/lance/get_id_access()
+/datum/outfit/admin/event/lance/get_id_access()
return get_syndicate_access(id_access)
-/obj/outfit/admin/event/lance/engineer
+/datum/outfit/admin/event/lance/engineer
name = "Lance Engineer"
back = /obj/item/gun/projectile/shotgun/pump/combat/sol
@@ -65,7 +65,7 @@
)
id_access = "Lance Engineer"
-/obj/outfit/admin/event/lance/medic
+/datum/outfit/admin/event/lance/medic
name = "Lance Medic"
gloves = /obj/item/clothing/gloves/latex/nitrile
@@ -91,7 +91,7 @@
)
id_access = "Lance Medic"
-/obj/outfit/admin/event/lance/operative
+/datum/outfit/admin/event/lance/operative
name = "Lance Operative"
uniform = /obj/item/clothing/under/dress/lance_dress/male
@@ -108,10 +108,10 @@
)
id_access = "Lance Operative"
-/obj/outfit/admin/event/lance/operative/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/event/lance/operative/post_equip(mob/living/carbon/human/H, visualsOnly)
return
-/obj/outfit/admin/event/sol_marine
+/datum/outfit/admin/event/sol_marine
name = "Solarian Marine"
uniform = /obj/item/clothing/under/rank/sol
@@ -144,7 +144,7 @@
id_iff = IFF_SOL
-/obj/outfit/admin/event/sol_marine/heavy
+/datum/outfit/admin/event/sol_marine/heavy
name = "Heavy Solarian Marine"
head = null
diff --git a/code/datums/outfits/event/outfit_generic/_generic.dm b/code/datums/outfits/event/outfit_generic/_generic.dm
index 02cd199c935..aa47d66e5f1 100644
--- a/code/datums/outfits/event/outfit_generic/_generic.dm
+++ b/code/datums/outfits/event/outfit_generic/_generic.dm
@@ -1,5 +1,5 @@
-/obj/outfit/admin/generic
+/datum/outfit/admin/generic
name = "Generic Outfit"
uniform = list(
@@ -65,7 +65,7 @@
SPECIES_VAURCA_WARRIOR = /obj/item/clothing/shoes/vaurca
)
-/obj/outfit/admin/generic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/generic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
diff --git a/code/datums/outfits/event/outfit_generic/engineering.dm b/code/datums/outfits/event/outfit_generic/engineering.dm
index e32747f06ff..04ca4596bca 100644
--- a/code/datums/outfits/event/outfit_generic/engineering.dm
+++ b/code/datums/outfits/event/outfit_generic/engineering.dm
@@ -1,5 +1,5 @@
-/obj/outfit/admin/generic/engineer
+/datum/outfit/admin/generic/engineer
name = "Generic Engineer Outfit"
uniform = list(
diff --git a/code/datums/outfits/event/outfit_generic/medical.dm b/code/datums/outfits/event/outfit_generic/medical.dm
index 89d825052ea..af720bd1c02 100644
--- a/code/datums/outfits/event/outfit_generic/medical.dm
+++ b/code/datums/outfits/event/outfit_generic/medical.dm
@@ -1,5 +1,5 @@
-/obj/outfit/admin/generic/medical
+/datum/outfit/admin/generic/medical
name = "Generic Medical Outfit"
uniform = list(
diff --git a/code/datums/outfits/event/outfit_generic/science.dm b/code/datums/outfits/event/outfit_generic/science.dm
index f87cf6f4fcc..bc0fcc36e94 100644
--- a/code/datums/outfits/event/outfit_generic/science.dm
+++ b/code/datums/outfits/event/outfit_generic/science.dm
@@ -1,5 +1,5 @@
-/obj/outfit/admin/generic/science
+/datum/outfit/admin/generic/science
name = "Generic Science Outfit"
uniform = list(
diff --git a/code/datums/outfits/event/outfit_generic/security.dm b/code/datums/outfits/event/outfit_generic/security.dm
index 6744ebf85a3..26a5d76d11d 100644
--- a/code/datums/outfits/event/outfit_generic/security.dm
+++ b/code/datums/outfits/event/outfit_generic/security.dm
@@ -1,5 +1,5 @@
-/obj/outfit/admin/generic/security
+/datum/outfit/admin/generic/security
name = "Generic Outfit"
uniform = list(
diff --git a/code/datums/outfits/event/outfit_killers.dm b/code/datums/outfits/event/outfit_killers.dm
index 1df554af4d0..3b2c22a51e5 100644
--- a/code/datums/outfits/event/outfit_killers.dm
+++ b/code/datums/outfits/event/outfit_killers.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/killer
+/datum/outfit/admin/killer
name = "Masked Killer"
uniform = /obj/item/clothing/under/overalls
@@ -14,13 +14,13 @@
r_hand = /obj/item/material/twohanded/fireaxe
id = null
-/obj/outfit/admin/killer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/killer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
for(var/obj/item/carried_item in H.contents)
if(!istype(carried_item, /obj/item/implant))//If it's not an implant.
carried_item.add_blood(H)//Oh yes, there will be blood...
-/obj/outfit/admin/killer/assassin
+/datum/outfit/admin/killer/assassin
name = "Assassin"
uniform = /obj/item/clothing/under/suit_jacket
@@ -35,7 +35,7 @@
pda = /obj/item/modular_computer/handheld/pda/command
id_iff = IFF_SYNDICATE
-/obj/outfit/admin/killer/assassin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/killer/assassin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
var/obj/item/storage/secure/briefcase/sec_briefcase = new(H)
for(var/obj/item/briefcase_item in sec_briefcase)
qdel(briefcase_item)
@@ -47,5 +47,5 @@
sec_briefcase.contents += new /obj/item/plastique
H.equip_to_slot_or_del(sec_briefcase, slot_l_hand)
-/obj/outfit/admin/killer/assassin/get_id_access()
+/datum/outfit/admin/killer/assassin/get_id_access()
return get_all_station_access()
diff --git a/code/datums/outfits/event/outfit_megacorps.dm b/code/datums/outfits/event/outfit_megacorps.dm
index 5307d622902..b579b0920ca 100644
--- a/code/datums/outfits/event/outfit_megacorps.dm
+++ b/code/datums/outfits/event/outfit_megacorps.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/megacorp/hephaestus_trooper
+/datum/outfit/admin/megacorp/hephaestus_trooper
name = "Hephaestus Asset Protection"
uniform = /obj/item/clothing/under/rank/engineer/apprentice/heph
@@ -28,7 +28,7 @@
)
id_iff = IFF_HEPH
-/obj/outfit/admin/megacorp/hephaestus_trooper/heavy
+/datum/outfit/admin/megacorp/hephaestus_trooper/heavy
name = "Hephaestus Heavy Asset Protection"
back = /obj/item/gun/projectile/shotgun/pump/combat
@@ -41,7 +41,7 @@
/obj/item/ammo_casing/shotgun/pellet = 8
)
-/obj/outfit/admin/megacorp/zenghu_trooper
+/datum/outfit/admin/megacorp/zenghu_trooper
name = "Zeng Hu Pharmaceuticals Asset Protection"
uniform = /obj/item/clothing/under/rank/medical/paramedic/zeng
@@ -71,7 +71,7 @@
)
id_iff = IFF_ZENGHU
-/obj/outfit/admin/megacorp/zenghu_trooper/heavy
+/datum/outfit/admin/megacorp/zenghu_trooper/heavy
name = "Zeng Hu Pharmaceuticals Heavy Asset Protection"
gloves = /obj/item/clothing/gloves/force
@@ -79,7 +79,7 @@
accessory_contents = list(/obj/item/gun/energy/decloner = 1)
-/obj/outfit/admin/megacorp/zavodskoi_trooper
+/datum/outfit/admin/megacorp/zavodskoi_trooper
name = "Zavodskoi Interstellar Asset Protection"
uniform = /obj/item/clothing/under/rank/security/zavod
@@ -115,7 +115,7 @@
)
id_iff = IFF_ZAVOD
-/obj/outfit/admin/megacorp/zavodskoi_trooper/heavy
+/datum/outfit/admin/megacorp/zavodskoi_trooper/heavy
name = "Zavodskoi Interstellar Heavy Asset Protection"
gloves = /obj/item/clothing/gloves/force
@@ -130,7 +130,7 @@
/obj/item/ammo_magazine/c762/sol = 2
)
-/obj/outfit/admin/megacorp/einstein_trooper/heavy
+/datum/outfit/admin/megacorp/einstein_trooper/heavy
name = "Einstein Engines Asset Protection"
uniform = /obj/item/clothing/under/rank/einstein
diff --git a/code/datums/outfits/event/outfit_nanotrasen.dm b/code/datums/outfits/event/outfit_nanotrasen.dm
index afe186fa79c..7d98094e2b2 100644
--- a/code/datums/outfits/event/outfit_nanotrasen.dm
+++ b/code/datums/outfits/event/outfit_nanotrasen.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/nt
+/datum/outfit/admin/nt
name = "NanoTrasen Representative"
uniform = /obj/item/clothing/under/rank/centcom
@@ -16,10 +16,10 @@
id_icon = "centcom"
var/id_access = "NanoTrasen Representative"
-/obj/outfit/admin/nt/get_id_access()
+/datum/outfit/admin/nt/get_id_access()
return get_all_station_access() | get_centcom_access(id_access)
-/obj/outfit/admin/nt/officer
+/datum/outfit/admin/nt/officer
name = "NanoTrasen Navy Officer"
uniform = /obj/item/clothing/under/rank/centcom_officer
@@ -27,7 +27,7 @@
head = /obj/item/clothing/head/beret/centcom/officer
l_pocket = /obj/item/device/orbital_dropper/icarus_drones
-/obj/outfit/admin/nt/captain
+/datum/outfit/admin/nt/captain
name = "NanoTrasen Navy Captain"
uniform = /obj/item/clothing/under/rank/centcom_captain
@@ -35,7 +35,7 @@
head = /obj/item/clothing/head/beret/centcom/captain
l_pocket = /obj/item/device/orbital_dropper/icarus_drones
-/obj/outfit/admin/nt/protection_detail
+/datum/outfit/admin/nt/protection_detail
name = "ERT Protection Detail"
uniform = /obj/item/clothing/under/ccpolice
@@ -62,7 +62,7 @@
id_icon = "ccia"
id_access = "CCIA Agent"
-/obj/outfit/admin/nt/protection_detail/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/nt/protection_detail/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H && H.belt)
@@ -83,7 +83,7 @@
H.belt.contents += shield
-/obj/outfit/admin/nt/ert_commander
+/datum/outfit/admin/nt/ert_commander
name = "ERT Commander"
uniform = /obj/item/clothing/under/rank/centcom_commander
@@ -106,7 +106,7 @@
id_access = "BlackOps Commander"
-/obj/outfit/admin/nt/cciaa
+/datum/outfit/admin/nt/cciaa
name = "CCIA Agent"
uniform = /obj/item/clothing/under/rank/centcom_officer
@@ -128,7 +128,7 @@
id_icon = "ccia"
id_access = "CCIA Agent"
-/obj/outfit/admin/nt/vip
+/datum/outfit/admin/nt/vip
name = "Very Important Person"
uniform = /obj/item/clothing/under/suit_jacket/nt_skirtsuit
@@ -138,7 +138,7 @@
id = /obj/item/card/id/ccia
l_pocket = /obj/item/reagent_containers/spray/pepper
-/obj/outfit/admin/nt/odinsec
+/datum/outfit/admin/nt/odinsec
name = "NTCC Odin Security Specialist"
uniform = /obj/item/clothing/under/ccpolice
@@ -171,7 +171,7 @@
id_access = "Odin Security"
-/obj/outfit/admin/nt/odinsec/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/nt/odinsec/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H && H.w_uniform)
@@ -182,7 +182,7 @@
var/obj/item/clothing/under/rank/U = H.w_uniform
U.attach_accessory(null, holster)
-/obj/outfit/admin/nt/specops
+/datum/outfit/admin/nt/specops
name = "Special Operations Officer"
uniform = /obj/item/clothing/under/syndicate/combat
@@ -202,7 +202,7 @@
id_access = "Death Commando"
-/obj/outfit/admin/nt/bssb
+/datum/outfit/admin/nt/bssb
name = "BSSB Agent"
uniform = /obj/item/clothing/under/rank/bssb
@@ -226,14 +226,14 @@
id_icon = "bssb"
id_access = "CCIA Agent"
-/obj/outfit/admin/nt/bssb/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/nt/bssb/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_suit)
var/obj/item/clothing/accessory/badge/bssb/senior/badge = new(src)
var/obj/item/clothing/U = H.wear_suit
U.attach_accessory(null, badge)
-/obj/outfit/admin/nt/bssb/guard
+/datum/outfit/admin/nt/bssb/guard
name = "BSSB Escort"
suit = /obj/item/clothing/suit/storage/toggle/bssb/armor
@@ -261,14 +261,14 @@
/obj/item/clothing/head/helmet = 1
)
-/obj/outfit/admin/nt/bssb/guard/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/nt/bssb/guard/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_suit)
var/obj/item/clothing/accessory/badge/bssb/badge = new(src)
var/obj/item/clothing/U = H.wear_suit
U.attach_accessory(null, badge)
-/obj/outfit/admin/nt/odindoc
+/datum/outfit/admin/nt/odindoc
name = "NTCC Odin Medical Specialist"
uniform = /obj/item/clothing/under/rank/medical/surgeon/zavod
@@ -307,7 +307,7 @@
id_access = "Medical Doctor"
-/obj/outfit/admin/nt/odinpharm
+/datum/outfit/admin/nt/odinpharm
name = "NTCC Odin Pharmacy Specialist"
uniform = /obj/item/clothing/under/rank/medical/pharmacist
@@ -324,7 +324,7 @@
id_access = "Medical Doctor"
-/obj/outfit/admin/nt/odinbartender
+/datum/outfit/admin/nt/odinbartender
name = "NTCC Odin Bartender"
uniform = /obj/item/clothing/under/rank/bartender
@@ -334,7 +334,7 @@
id_access = "Service"
-/obj/outfit/admin/nt/odinchef
+/datum/outfit/admin/nt/odinchef
name = "NTCC Odin Chef"
uniform = /obj/item/clothing/under/rank/chef
@@ -346,7 +346,7 @@
id_access = "Service"
-/obj/outfit/admin/nt/odinjanitor
+/datum/outfit/admin/nt/odinjanitor
name = "NTCC Odin Sanitation Specialist"
uniform = /obj/item/clothing/under/rank/janitor
diff --git a/code/datums/outfits/event/outfit_scc.dm b/code/datums/outfits/event/outfit_scc.dm
index 18cbbc19004..735149bd901 100644
--- a/code/datums/outfits/event/outfit_scc.dm
+++ b/code/datums/outfits/event/outfit_scc.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/scc
+/datum/outfit/admin/scc
name = "SCC Agent"
uniform = /obj/item/clothing/under/rank/scc
@@ -20,17 +20,17 @@
id_icon = "centcom"
var/id_access = "SCC Agent"
-/obj/outfit/admin/scc/get_id_access()
+/datum/outfit/admin/scc/get_id_access()
return get_all_station_access() | get_centcom_access(id_access)
-/obj/outfit/admin/scc/executive
+/datum/outfit/admin/scc/executive
name = "SCC Executive"
uniform = /obj/item/clothing/under/rank/scc/executive
id_access = "SCC Executive"
-/obj/outfit/admin/scc/bodyguard
+/datum/outfit/admin/scc/bodyguard
name = "SCC Bodyguard"
head = /obj/item/clothing/head/helmet/merc/scc
diff --git a/code/datums/outfits/event/outfit_tfcl.dm b/code/datums/outfits/event/outfit_tfcl.dm
index ed3fe8fd70f..a1356ffa131 100644
--- a/code/datums/outfits/event/outfit_tfcl.dm
+++ b/code/datums/outfits/event/outfit_tfcl.dm
@@ -1,4 +1,4 @@
-/obj/outfit/admin/tcfl
+/datum/outfit/admin/tcfl
name = "TCFL Legate"
uniform = /obj/item/clothing/under/legion/legate
@@ -27,5 +27,5 @@
id_iff = IFF_TCFL
var/id_access = "NanoTrasen Representative"
-/obj/outfit/admin/tcfl/get_id_access()
+/datum/outfit/admin/tcfl/get_id_access()
return get_all_accesses() | get_centcom_access(id_access)
diff --git a/code/datums/outfits/outfit.dm b/code/datums/outfits/outfit.dm
index 78a3ad415e7..749bf01d5e7 100644
--- a/code/datums/outfits/outfit.dm
+++ b/code/datums/outfits/outfit.dm
@@ -1,41 +1,108 @@
+/**
+ * # Outfit datums
+ *
+ * This is a clean system of applying outfits to mobs, if you need to equip someone in a uniform
+ * this is the way to do it cleanly and properly.
+ *
+ * You can also specify an outfit datum on a job to have it auto equipped to the mob on join
+ *
+ * /mob/living/carbon/human/proc/equipOutfit(outfit) is the mob level proc to equip an outfit
+ * and you pass it the relevant datum outfit
+ *
+ * outfits can also be saved as json blobs downloadable by a client and then can be uploaded
+ * by that user to recreate the outfit, this is used by admins to allow for custom event outfits
+ * that can be restored at a later date
+ */
+/datum/outfit
+ ///Name of the outfit (shows up in the equip admin verb)
+ var/name = "Naked"
-/// General outfit abstraction.
-/// To be used for both a mob's outfit (for a ghostspawner, ship/station job, corpse),
-/// where the outfit is applied to the mob.
-/// But also for "standalone" outfits (just items spawned in a locker, on the floor),
-/// where the outfit items are "spilled" onto the floor (not all items, does not spawn IDs for example).
-/obj/outfit
- name = "Naked"
- icon = 'icons/effects/map_effects.dmi'
- icon_state = "outfit"
-
- /// If spilling onto the floor, prob chance for the item to spill.
- var/spill_prob = 98
- /// If spilling onto the floor, if true, items to spill will be shuffled.
- var/spill_shuffle = TRUE
-
- var/collect_not_del = FALSE
+ /// Type path of item to go in the idcard slot
+ var/id = null
- //The following vars can either be a path or a list of paths
- //If a list of paths is supplied a random item from that list is selected
+ /// Type path of item to go in uniform slot
var/uniform = null
+
+ /// Type path of item to go in suit slot
var/suit = null
- var/back = null // Mutually exclusive with and will override backpack choices below. Use for RIGs, tanks, etc.
+
+ /**
+ * Type path of item to go in suit storage slot
+ *
+ * (make sure it's valid for that suit)
+ */
+ var/suit_store = null
+
+ /// Type path of item to go in back slot, mutually exclusive with and will override backpack choices. Use for RIGs, tanks, etc.
+ var/back = null
+
+ /**
+ * list of items that should go in the backpack of the user
+ *
+ * Format of this list should be: list(path=count,otherpath=count)
+ */
+ var/list/backpack_contents = null
+
+
+ /// Type path of item to go in belt slot
var/belt = null
+
+ /**
+ * list of items that should go in the belt of the user
+ *
+ * Format of this list should be: list(path=count,otherpath=count)
+ */
+ var/list/belt_contents = null
+
+ /// Type path of item to go in the glasses slot
+ var/glasses = null
+
+ /// Type path of item to go in gloves slot
var/gloves = null
- var/wrist = null
- var/shoes = null
+ /// Type path of item to go in head slot
var/head = null
+
+ /// Type path of item to go in mask slot
var/mask = null
- var/l_ear = null
- var/r_ear = null
- var/glasses = null
+ /// Type path of item to go in shoes slot
+ var/shoes = null
+
+ /// Type path of item for left pocket slot
var/l_pocket = null
+
+ /// Type path of item for right pocket slot
var/r_pocket = null
- var/suit_store = null
+
+ ///Type path of item to go in the right hand
+ var/l_hand = null
+
+ //Type path of item to go in left hand
+ var/r_hand = null
+
+ /// Any clothing accessory item
var/accessory = null
+
+ /**
+ * Any implants the mob should start implanted with
+ *
+ * Format of this list is (typepath, typepath, typepath)
+ */
+ var/list/implants = null
+
+
+ /*###########################
+ AURORA SNOWFLAKE VARS
+ ###########################*/
+
+ var/collect_not_del = FALSE
+
+ var/wrist = null
+
+ var/l_ear = null
+ var/r_ear = null
+
var/suit_accessory = null
// species specific item paths, in the form of
@@ -46,10 +113,6 @@
var/list/species_gloves
var/list/species_shoes
- //The following vars must be paths
- var/l_hand = null
- var/r_hand = null
- var/id = null
var/pda = null
var/radio = null
@@ -84,86 +147,32 @@
var/id_iff = IFF_DEFAULT // when spawning in, the ID will be set to this iff, preventing friendly fire
- var/internals_slot = null //ID of slot containing a gas tank
- var/list/backpack_contents = list() //In the list(path=count,otherpath=count) format
var/list/accessory_contents = list()
- var/list/belt_contents = list() //In the list(path=count,otherpath=count) format
- var/list/implants = null //A list of implants that should be implanted
+
var/list/spells = list() // A list of spells to grant
-/obj/outfit/Initialize(mapload, ...)
- . = ..()
- // if loc is not null, means the outfit was mapped in or spawned manually
- if(loc!=null)
- spill()
-
-/// Spawn the items on the loc turf.
-/// Delete self later.
-/obj/outfit/proc/spill()
- // get a list of item types to spawn
- var/list/items = list(
- uniform,
- suit,
- back,
- belt,
- gloves,
- wrist,
- shoes,
-
- head,
- mask,
- l_ear,
- r_ear,
- glasses,
-
- l_pocket,
- r_pocket,
- suit_store,
- accessory,
- suit_accessory,
-
- l_hand,
- r_hand,
- pda,
- radio,
-
- backpack,
- )
-
- // add contents to the list
- for(var/c in backpack_contents)
- items += c
- for(var/c in accessory_contents)
- items += c
- for(var/c in belt_contents)
- items += c
-
- // shuffle
- if(spill_shuffle)
- items = shuffle(items)
-
- // go over each item
- for(var/i in items)
- if(i && prob(spill_prob))
- spill_item(i)
-
- // and finally delete self
- qdel(src)
-
-/obj/outfit/proc/spill_item(var/path)
- if(islist(path))
- path = pick(path)
- if(path && ispath(path))
- new path(loc)
-
-/obj/outfit/proc/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+
+/**
+ * Called at the start of the equip proc
+ *
+ * Override to change the value of the slots depending on client prefs, species and
+ * other such sources of change
+ *
+ * Extra Arguments
+ * * visualsOnly true if this is only for display (in the character setup screen)
+ *
+ * If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite
+ */
+/datum/outfit/proc/pre_equip(mob/living/carbon/human/user, visualsOnly = FALSE)
+ SHOULD_NOT_SLEEP(TRUE)
+
//to be overriden for customization depending on client prefs,species etc
if(allow_backbag_choice)
- switch(H.backbag)
+ switch(user.backbag)
if (OUTFIT_NOTHING)
back = null
if (OUTFIT_BACKPACK)
- switch(H.backbag_style)
+ switch(user.backbag_style)
if (OUTFIT_JOBSPECIFIC)
back = backpack
if (OUTFIT_GENERIC)
@@ -171,7 +180,7 @@
if (OUTFIT_FACTIONSPECIFIC)
back = backpack_faction ? backpack_faction : backpack // some may not have faction specific; fall back on job backpack if needed
if (OUTFIT_SATCHEL)
- switch(H.backbag_style)
+ switch(user.backbag_style)
if (OUTFIT_JOBSPECIFIC)
back = satchel
if (OUTFIT_GENERIC)
@@ -179,7 +188,7 @@
if (OUTFIT_FACTIONSPECIFIC)
back = satchel_faction ? satchel_faction : satchel
if (OUTFIT_SATCHEL_ALT) // Leather Satchel
- switch(H.backbag_style)
+ switch(user.backbag_style)
if (OUTFIT_JOBSPECIFIC)
back = satchel_alt
if (OUTFIT_GENERIC)
@@ -187,7 +196,7 @@
if (OUTFIT_FACTIONSPECIFIC)
back = satchel_alt_faction ? satchel_alt_faction : satchel_alt
if (OUTFIT_DUFFELBAG)
- switch(H.backbag_style)
+ switch(user.backbag_style)
if (OUTFIT_JOBSPECIFIC)
back = dufflebag
if (OUTFIT_GENERIC)
@@ -195,7 +204,7 @@
if (OUTFIT_FACTIONSPECIFIC)
back = dufflebag_faction ? dufflebag_faction : dufflebag
if (OUTFIT_MESSENGERBAG)
- switch(H.backbag_style)
+ switch(user.backbag_style)
if (OUTFIT_JOBSPECIFIC)
back = messengerbag
if (OUTFIT_GENERIC)
@@ -203,7 +212,7 @@
if (OUTFIT_FACTIONSPECIFIC)
back = messengerbag_faction ? messengerbag_faction : messengerbag
if (OUTFIT_RUCKSACK)
- switch(H.backbag_style)
+ switch(user.backbag_style)
if (OUTFIT_JOBSPECIFIC)
back = rucksack
if (OUTFIT_GENERIC)
@@ -211,7 +220,7 @@
if (OUTFIT_FACTIONSPECIFIC)
back = rucksack_faction ? rucksack_faction : rucksack
if (OUTFIT_POCKETBOOK)
- switch(H.backbag_style)
+ switch(user.backbag_style)
if (OUTFIT_JOBSPECIFIC)
back = pocketbook
if (OUTFIT_GENERIC)
@@ -221,8 +230,8 @@
else
back = backpack //Department backpack
- if (H.backbag_color >= 2) // if theres a color switch em out for a recolorable one
- switch (H.backbag)
+ if (user.backbag_color >= 2) // if theres a color switch em out for a recolorable one
+ switch (user.backbag)
if (OUTFIT_POCKETBOOK)
back = /obj/item/storage/backpack/satchel/pocketbook/recolorable
if (OUTFIT_RUCKSACK)
@@ -233,9 +242,9 @@
if(back)
if(islist(back))
back = pick(back)
- var/obj/item/storage/backpack/B = new back(H)
- if (H.backbag == OUTFIT_SATCHEL_ALT || H.backbag == OUTFIT_RUCKSACK || H.backbag == OUTFIT_POCKETBOOK)
- switch (H.backbag_color)
+ var/obj/item/storage/backpack/B = new back(user)
+ if (user.backbag == OUTFIT_SATCHEL_ALT || user.backbag == OUTFIT_RUCKSACK || user.backbag == OUTFIT_POCKETBOOK)
+ switch (user.backbag_color)
if (OUTFIT_NOTHING)
B.color = null
if (OUTFIT_BLUE)
@@ -258,7 +267,7 @@
B.color = "#3d2711"
else
B.color = null
- switch(H.backbag_strap)
+ switch(user.backbag_strap)
if(OUTFIT_NOTHING)
B.alpha_mask = "hidden"
if(OUTFIT_THIN)
@@ -267,14 +276,14 @@
B.alpha_mask = "normal"
if(OUTFIT_THICK)
B.alpha_mask = null
- if(isvaurca(H, TRUE))
- H.equip_or_collect(B, slot_r_hand)
+ if(isvaurca(user, TRUE))
+ user.equip_or_collect(B, slot_r_hand)
else
- H.equip_or_collect(B, slot_back)
+ user.equip_or_collect(B, slot_back)
var/datum/callback/radio_callback
if(allow_headset_choice)
- switch(H.headset_choice)
+ switch(user.headset_choice)
if (OUTFIT_NOTHING)
l_ear = null
if (OUTFIT_BOWMAN)
@@ -284,7 +293,7 @@
if (OUTFIT_WRISTRAD, OUTFIT_THIN_WRISTRAD)
l_ear = null
wrist = wrist_radio
- if(H.headset_choice == OUTFIT_THIN_WRISTRAD)
+ if(user.headset_choice == OUTFIT_THIN_WRISTRAD)
radio_callback = CALLBACK(src, PROC_REF(turn_into_thinset))
if(OUTFIT_CLIPON)
l_ear = null
@@ -292,18 +301,37 @@
else
l_ear = headset //Department headset
if(l_ear)
- equip_item(H, l_ear, slot_l_ear, callback = radio_callback)
+ equip_item(user, l_ear, slot_l_ear, callback = radio_callback)
else if (wrist)
- equip_item(H, wrist, slot_wrists, callback = radio_callback)
+ equip_item(user, wrist, slot_wrists, callback = radio_callback)
-/obj/outfit/proc/turn_into_thinset(var/obj/item/device/radio/headset/wrist/radio)
+/**
+ * Called after the equip proc has finished
+ *
+ * All items are on the mob at this point, use this proc to toggle internals
+ * fiddle with id bindings and accesses etc
+ *
+ * **This process can and does sleep, and should never be waited upon, but only invoked asyncronously (`INVOKE_ASYNC`)**
+ *
+ * Extra Arguments
+ * * visualsOnly true if this is only for display (in the character setup screen)
+ *
+ * If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite
+ */
+/datum/outfit/proc/post_equip(mob/living/carbon/human/user, visualsOnly = FALSE)
+ //to be overridden for toggling internals, id binding, access etc
+ return
+
+/datum/outfit/proc/turn_into_thinset(var/obj/item/device/radio/headset/wrist/radio)
if(istype(radio))
radio.icon_state = replacetext(radio.icon_state, "wrist", "thin")
radio.item_state = replacetext(radio.item_state, "wrist", "thin")
// Used to equip an item to the mob. Mainly to prevent copypasta for collect_not_del.
//override_collect temporarily allows equip_or_collect without enabling it for the job. Mostly used to prevent weirdness with hand equips when the player is missing one
-/obj/outfit/proc/equip_item(mob/living/carbon/human/H, path, slot, var/override_collect = FALSE, var/item_color, var/datum/callback/callback)
+/datum/outfit/proc/equip_item(mob/living/carbon/human/user, path, slot, override_collect = FALSE, item_color, datum/callback/callback)
+ SHOULD_NOT_SLEEP(TRUE)
+
var/obj/item/I
if(isnum(path)) //Check if parameter is not numeric. Must be a path, list of paths or name of a gear datum
@@ -311,32 +339,34 @@
if(islist(path)) //If its a list, select a random item
var/itempath = pick(path)
- I = new itempath(H)
+ I = new itempath(user)
else if(gear_datums[path]) //If its something else, we´ll check if its a gearpath and try to spawn it
var/datum/gear/G = gear_datums[path]
I = G.spawn_random()
else
- I = new path(H) //As fallback treat it as a path
+ I = new path(user) //As fallback treat it as a path
if(I && callback)
callback.Invoke(I)
if(collect_not_del || override_collect)
- H.equip_or_collect(I, slot)
+ user.equip_or_collect(I, slot)
else
- H.equip_to_slot_or_del(I, slot)
+ user.equip_to_slot_or_del(I, slot)
+
+/datum/outfit/proc/equip_uniform_accessory(mob/living/carbon/human/user)
+ SHOULD_NOT_SLEEP(TRUE)
-/obj/outfit/proc/equip_uniform_accessory(mob/living/carbon/human/H)
- if(!H)
+ if(!user)
return
if(islist(accessory))
accessory = pick(accessory)
- var/obj/item/clothing/under/U = H.get_equipped_item(slot_w_uniform)
+ var/obj/item/clothing/under/U = user.get_equipped_item(slot_w_uniform)
if(U)
var/obj/item/clothing/accessory/A = new accessory
- U.attach_accessory(H, A)
+ U.attach_accessory(user, A)
if(!accessory_contents.len)
return
@@ -350,108 +380,134 @@
else if(istype(A, /obj/item/clothing/accessory/holster))
var/obj/item/clothing/accessory/holster/holster = A
var/w_type = accessory_contents[1]
- var/obj/item/W = new w_type(H.loc)
+ var/obj/item/W = new w_type(user.loc)
if(W)
- holster.holster(W, H)
+ holster.holster(W, user)
+
+/datum/outfit/proc/equip_suit_accessory(mob/living/carbon/human/user)
+ SHOULD_NOT_SLEEP(TRUE)
-/obj/outfit/proc/equip_suit_accessory(mob/living/carbon/human/H)
- if(!H)
+ if(!user)
return
- var/obj/item/clothing/suit/S = H.get_equipped_item(slot_wear_suit)
+ var/obj/item/clothing/suit/S = user.get_equipped_item(slot_wear_suit)
if(S)
var/obj/item/clothing/accessory/A = new suit_accessory
- S.attach_accessory(H, A)
+ S.attach_accessory(user, A)
/**
- * This proc handles actions done after the outfit was equipped,
- * eg. toggling internals, personalizations or similar
+ * Equips all defined types and paths to the mob passed in
*
- * This process can and does sleep, and should never be waited upon, but only invoked asyncronously (`INVOKE_ASYNC`)
+ * Extra Arguments
+ * * visualsOnly true if this is only for display (in the character setup screen)
+ *
+ * If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite
*/
-/obj/outfit/proc/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
- //to be overriden for changing items post equip (such as toggeling internals, ...)
-
-/obj/outfit/proc/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/proc/equip(mob/living/carbon/human/user, visualsOnly = FALSE)
SHOULD_NOT_SLEEP(TRUE)
+
+ pre_equip(user, visualsOnly)
+
//Start with uniform,suit,backpack for additional slots
if(back)
- equip_item(H, back, slot_back)
+ equip_item(user, back, slot_back)
+
if(uniform)
- equip_item(H, uniform, slot_w_uniform)
+ equip_item(user, uniform, slot_w_uniform)
if(accessory)
- equip_uniform_accessory(H)
+ equip_uniform_accessory(user)
+
var/got_suit = FALSE
if(length(species_suit))
- var/path = species_suit[H.species.name]
+ var/path = species_suit[user.species.name]
if(path)
got_suit = TRUE
- equip_item(H, path, slot_wear_suit)
+ equip_item(user, path, slot_wear_suit)
if(suit_accessory)
- equip_suit_accessory(H)
+ equip_suit_accessory(user)
if(suit && !got_suit)
- equip_item(H, suit, slot_wear_suit)
+ equip_item(user, suit, slot_wear_suit)
if(suit_accessory)
- equip_suit_accessory(H)
+ equip_suit_accessory(user)
+
if(belt)
- equip_item(H, belt, slot_belt)
+ equip_item(user, belt, slot_belt)
+
+
var/got_gloves = FALSE
if(length(species_gloves))
- var/path = species_gloves[H.species.name]
+ var/path = species_gloves[user.species.name]
if(path)
got_gloves = TRUE
- equip_item(H, path, slot_gloves)
+ equip_item(user, path, slot_gloves)
+
if(gloves && !got_gloves)
- equip_item(H, gloves, slot_gloves)
+ equip_item(user, gloves, slot_gloves)
+
if(wrist)
- equip_item(H, wrist, slot_wrists)
+ equip_item(user, wrist, slot_wrists)
+
+
var/got_shoes = FALSE
if(length(species_shoes))
- var/path = species_shoes[H.species.name]
+ var/path = species_shoes[user.species.name]
if(path)
got_shoes = TRUE
- equip_item(H, path, slot_shoes)
+ equip_item(user, path, slot_shoes)
if(shoes && !got_shoes)
- equip_item(H, shoes, slot_shoes)
+ equip_item(user, shoes, slot_shoes)
+
+
var/got_head = FALSE
if(length(species_head))
- var/path = species_head[H.species.name]
+ var/path = species_head[user.species.name]
if(path)
got_head = TRUE
- equip_item(H, path, slot_head)
+ equip_item(user, path, slot_head)
+
if(head && !got_head)
- equip_item(H, head, slot_head)
+ equip_item(user, head, slot_head)
+
+
if(mask)
- equip_item(H, mask, slot_wear_mask)
+ equip_item(user, mask, slot_wear_mask)
+
if(l_ear)
- equip_item(H, l_ear, slot_l_ear)
+ equip_item(user, l_ear, slot_l_ear)
+
if(r_ear)
- equip_item(H, r_ear, slot_r_ear)
+ equip_item(user, r_ear, slot_r_ear)
+
if(glasses)
- equip_item(H, glasses, slot_glasses)
+ equip_item(user, glasses, slot_glasses)
if(suit_store)
- equip_item(H, suit_store, slot_s_store)
+ equip_item(user, suit_store, slot_s_store)
//Hand equips. If person is missing an arm or hand it attempts to put it in the other hand.
//Override_collect should attempt to collect any items that can't be equipped regardless of collect_not_del settings for the outfit.
if(l_hand)
var/obj/item/organ/external/O
- O = H.organs_by_name[BP_L_HAND]
+ O = user.organs_by_name[BP_L_HAND]
+
if(!O || !O.is_usable())
- equip_item(H, l_hand, slot_r_hand, override_collect = TRUE)
+ equip_item(user, l_hand, slot_r_hand, override_collect = TRUE)
+
else
- equip_item(H, l_hand, slot_l_hand, override_collect = TRUE)
+ equip_item(user, l_hand, slot_l_hand, override_collect = TRUE)
+
if(r_hand)
var/obj/item/organ/external/O
- O = H.organs_by_name[BP_R_HAND]
+ O = user.organs_by_name[BP_R_HAND]
+
if(!O || !O.is_usable())
- equip_item(H, r_hand, slot_l_hand, override_collect = TRUE)
+ equip_item(user, r_hand, slot_l_hand, override_collect = TRUE)
+
else
- equip_item(H, r_hand, slot_r_hand, override_collect = TRUE)
+ equip_item(user, r_hand, slot_r_hand, override_collect = TRUE)
if(allow_pda_choice)
- switch(H.pda_choice)
+ switch(user.pda_choice)
if (OUTFIT_NOTHING)
pda = null
if (OUTFIT_TABLET)
@@ -462,8 +518,8 @@
pda = tab_pda
if(pda && !visualsOnly)
- var/obj/item/I = new pda(H)
- switch(H.pda_choice)
+ var/obj/item/I = new pda(user)
+ switch(user.pda_choice)
if(OUTFIT_TAB_PDA)
I.desc_extended += "For its many years of service, this model has held a virtual monopoly for PDA models for NanoTrasen. The secret? A lapel pin affixed to the back."
if(OUTFIT_PDA_OLD)
@@ -479,90 +535,104 @@
I.icon = 'icons/obj/pda_smart.dmi'
I.desc_extended += "NanoTrasen originally designed this as a portable media player. Unfortunately, Royalty-free and corporate-approved ukulele isn't particularly popular."
I.update_icon()
- if(!H.wrists && H.pda_choice == OUTFIT_WRISTBOUND)
- H.equip_or_collect(I, slot_wrists)
+ if(!user.wrists && user.pda_choice == OUTFIT_WRISTBOUND)
+ user.equip_or_collect(I, slot_wrists)
else
- H.equip_or_collect(I, slot_wear_id)
+ user.equip_or_collect(I, slot_wear_id)
if(!visualsOnly) // Items in pockets or backpack don't show up on mob's icon.
if(l_pocket)
- equip_item(H, l_pocket, slot_l_store)
+ equip_item(user, l_pocket, slot_l_store)
if(r_pocket)
- equip_item(H, r_pocket, slot_r_store)
+ equip_item(user, r_pocket, slot_r_store)
+
+ if(user.back) // you would think, right
- if(H.back) // you would think, right
for(var/path in backpack_contents)
var/number = backpack_contents[path]
for(var/i in 1 to number)
- H.equip_or_collect(new path(H), slot_in_backpack)
+ user.equip_or_collect(new path(user), slot_in_backpack)
+
else
var/obj/item/storage/storage_item
- if(!H.l_hand)
- storage_item = new /obj/item/storage/bag/plasticbag(H)
- H.equip_to_slot_or_del(storage_item, slot_l_hand)
- if(!storage_item && !H.r_hand)
- storage_item = new /obj/item/storage/bag/plasticbag(H)
- H.equip_to_slot_or_del(storage_item, slot_r_hand)
+ if(!user.l_hand)
+ storage_item = new /obj/item/storage/bag/plasticbag(user)
+ user.equip_to_slot_or_del(storage_item, slot_l_hand)
+
+ if(!storage_item && !user.r_hand)
+ storage_item = new /obj/item/storage/bag/plasticbag(user)
+ user.equip_to_slot_or_del(storage_item, slot_r_hand)
+
if(storage_item)
for(var/path in backpack_contents)
var/number = backpack_contents[path]
for(var/i in 1 to number)
- storage_item.handle_item_insertion(new path(H.loc), TRUE)
+ storage_item.handle_item_insertion(new path(user.loc), TRUE)
+
+
for(var/path in belt_contents)
var/number = belt_contents[path]
for(var/i in 1 to number)
- H.equip_or_collect(new path(H), slot_in_belt)
+ user.equip_or_collect(new path(user), slot_in_belt)
if(id)
var/obj/item/modular_computer/personal_computer
- if(istype(H.wear_id, /obj/item/modular_computer))
- personal_computer = H.wear_id
- else if(istype(H.wrists, /obj/item/modular_computer))
- personal_computer = H.wrists
- var/obj/item/ID = new id(H)
- imprint_idcard(H, ID)
+
+ if(istype(user.wear_id, /obj/item/modular_computer))
+ personal_computer = user.wear_id
+
+ else if(istype(user.wrists, /obj/item/modular_computer))
+ personal_computer = user.wrists
+
+ var/obj/item/ID = new id(user)
+
+ imprint_idcard(user, ID)
+
if(personal_computer?.card_slot)
addtimer(CALLBACK(src, PROC_REF(register_pda), personal_computer, ID), 2 SECOND)
+
else
- H.equip_or_collect(ID, slot_wear_id)
+ user.equip_or_collect(ID, slot_wear_id)
- INVOKE_ASYNC(src, PROC_REF(post_equip), H, visualsOnly)
+ INVOKE_ASYNC(src, PROC_REF(post_equip), user, visualsOnly)
if(!visualsOnly)
- apply_fingerprints(H)
+ apply_fingerprints(user)
if(implants)
for(var/implant_type in implants)
- var/obj/item/implant/I = new implant_type(H)
- if(I.implanted(H))
- I.forceMove(H)
- I.imp_in = H
+ var/obj/item/implant/I = new implant_type(user)
+ if(I.implanted(user))
+ I.forceMove(user)
+ I.imp_in = user
I.implanted = 1
- var/obj/item/organ/external/affected = H.get_organ(BP_HEAD)
+ var/obj/item/organ/external/affected = user.get_organ(BP_HEAD)
affected.implants += I
I.part = affected
if(spells)
for(var/spell in spells)
var/spell/new_spell = new spell
- H.add_spell(new_spell)
+ user.add_spell(new_spell)
if(spells[spell] > 1)
for(var/i = 1 to spells[spell])
new_spell.empower_spell()
- H.update_body()
- return 1
+ user.update_body()
+ return TRUE
// this proc takes all the scattered voidsuit pieces and reassembles them into one piece
-/obj/outfit/proc/organize_voidsuit(mob/living/carbon/human/H, var/add_magboots = TRUE)
- var/obj/item/tank/T = H.s_store
- H.unEquip(T, TRUE)
+/datum/outfit/proc/organize_voidsuit(mob/living/carbon/human/user, var/add_magboots = TRUE)
+ SHOULD_NOT_SLEEP(TRUE)
- var/obj/item/clothing/suit/space/void/VS = H.wear_suit
- H.unEquip(VS, TRUE)
+ var/obj/item/tank/T = user.s_store
+ user.unEquip(T, TRUE)
- var/obj/item/clothing/head/helmet/VH = H.head
- H.unEquip(VH, TRUE, VS)
+ var/obj/item/clothing/suit/space/void/VS = user.wear_suit
+ user.unEquip(VS, TRUE)
+
+ var/obj/item/clothing/head/helmet/VH = user.head
+ user.unEquip(VH, TRUE, VS)
VS.helmet = VH
T.forceMove(VS)
@@ -572,77 +642,100 @@
var/obj/item/clothing/shoes/magboots/M = new /obj/item/clothing/shoes/magboots(VH)
VS.boots = M
- H.equip_to_slot_if_possible(VS, slot_wear_suit)
+ user.equip_to_slot_if_possible(VS, slot_wear_suit)
+
+/**
+ * Apply a fingerprint from the passed in human to all items in the outfit
+ *
+ * Used for forensics setup when the mob is first equipped at roundstart
+ * essentially calls add_fingerprint to every defined item on the human
+ *
+ */
+/datum/outfit/proc/apply_fingerprints(mob/living/carbon/human/user)
+ SHOULD_NOT_SLEEP(TRUE)
-/obj/outfit/proc/apply_fingerprints(mob/living/carbon/human/H)
- if(!istype(H))
+ if(!istype(user))
return
- if(H.back)
- H.back.add_fingerprint(H, 1) //The 1 sets a flag to ignore gloves
- for(var/obj/item/I in H.back.contents)
- I.add_fingerprint(H, 1)
- if(H.wear_id)
- H.wear_id.add_fingerprint(H, 1)
- if(H.w_uniform)
- H.w_uniform.add_fingerprint(H, 1)
- if(H.wear_suit)
- H.wear_suit.add_fingerprint(H, 1)
- if(H.wear_mask)
- H.wear_mask.add_fingerprint(H, 1)
- if(H.head)
- H.head.add_fingerprint(H, 1)
- if(H.shoes)
- H.shoes.add_fingerprint(H, 1)
- if(H.gloves)
- H.gloves.add_fingerprint(H, 1)
- if(H.wrists)
- H.wrists.add_fingerprint(H, 1)
- if(H.l_ear)
- H.l_ear.add_fingerprint(H, 1)
- if(H.r_ear)
- H.r_ear.add_fingerprint(H, 1)
- if(H.glasses)
- H.glasses.add_fingerprint(H, 1)
- if(H.belt)
- H.belt.add_fingerprint(H, 1)
- for(var/obj/item/I in H.belt.contents)
- I.add_fingerprint(H, 1)
- if(H.s_store)
- H.s_store.add_fingerprint(H, 1)
- if(H.l_store)
- H.l_store.add_fingerprint(H, 1)
- if(H.r_store)
- H.r_store.add_fingerprint(H, 1)
+ if(user.back)
+ user.back.add_fingerprint(user, 1) //The 1 sets a flag to ignore gloves
+ for(var/obj/item/I in user.back.contents)
+ I.add_fingerprint(user, 1)
+ if(user.wear_id)
+ user.wear_id.add_fingerprint(user, 1)
+ if(user.w_uniform)
+ user.w_uniform.add_fingerprint(user, 1)
+ if(user.wear_suit)
+ user.wear_suit.add_fingerprint(user, 1)
+ if(user.wear_mask)
+ user.wear_mask.add_fingerprint(user, 1)
+ if(user.head)
+ user.head.add_fingerprint(user, 1)
+ if(user.shoes)
+ user.shoes.add_fingerprint(user, 1)
+ if(user.gloves)
+ user.gloves.add_fingerprint(user, 1)
+ if(user.wrists)
+ user.wrists.add_fingerprint(user, 1)
+ if(user.l_ear)
+ user.l_ear.add_fingerprint(user, 1)
+ if(user.r_ear)
+ user.r_ear.add_fingerprint(user, 1)
+ if(user.glasses)
+ user.glasses.add_fingerprint(user, 1)
+ if(user.belt)
+ user.belt.add_fingerprint(user, 1)
+ for(var/obj/item/I in user.belt.contents)
+ I.add_fingerprint(user, 1)
+ if(user.s_store)
+ user.s_store.add_fingerprint(user, 1)
+ if(user.l_store)
+ user.l_store.add_fingerprint(user, 1)
+ if(user.r_store)
+ user.r_store.add_fingerprint(user, 1)
return 1
-/obj/outfit/proc/imprint_idcard(mob/living/carbon/human/H, obj/item/card/id/C)
- if(istype(C))
- C.access = get_id_access(H)
- C.rank = get_id_rank(H)
- C.assignment = get_id_assignment(H)
- addtimer(CALLBACK(H, TYPE_PROC_REF(/mob, set_id_info), C), 1 SECOND) // Delay a moment to allow an icon update to happen.
+/datum/outfit/proc/imprint_idcard(mob/living/carbon/human/user, obj/item/card/id/idcard)
+ SHOULD_NOT_SLEEP(TRUE)
+
+ if(istype(idcard))
+ idcard.access = get_id_access(user)
+ idcard.rank = get_id_rank(user)
+ idcard.assignment = get_id_assignment(user)
+ addtimer(CALLBACK(user, TYPE_PROC_REF(/mob, set_id_info), idcard), 1 SECOND) // Delay a moment to allow an icon update to happen.
+
+ if(user.mind && user.mind.initial_account)
+ idcard.associated_account_number = user.mind.initial_account.account_number
- if(H.mind && H.mind.initial_account)
- C.associated_account_number = H.mind.initial_account.account_number
+/datum/outfit/proc/register_pda(obj/item/modular_computer/computer_to_register, obj/item/card/id/idcard)
+ SHOULD_NOT_SLEEP(TRUE)
-/obj/outfit/proc/register_pda(obj/item/modular_computer/P, obj/item/card/id/I)
- if(!P.card_slot)
+ if(!computer_to_register.card_slot)
return
- P.card_slot.insert_id(I)
- if(P.card_slot.stored_card && !P.hidden)
- P.set_autorun("ntnrc_client")
- P.enable_computer(null, TRUE) // passing null because we don't want the UI to open
- P.minimize_program()
-/obj/outfit/proc/get_id_access(mob/living/carbon/human/H)
+ computer_to_register.card_slot.insert_id(idcard)
+ if(computer_to_register.card_slot.stored_card && !computer_to_register.hidden)
+ computer_to_register.set_autorun("ntnrc_client")
+
+ // passing null because we don't want the UI to open
+ INVOKE_ASYNC(computer_to_register, TYPE_PROC_REF(/obj/item/modular_computer, enable_computer), null, TRUE)
+
+ INVOKE_ASYNC(computer_to_register, TYPE_PROC_REF(/obj/item/modular_computer, minimize_program))
+
+/datum/outfit/proc/get_id_access(mob/living/carbon/human/user)
+ SHOULD_NOT_SLEEP(TRUE)
+
return list()
-/obj/outfit/proc/get_id_assignment(mob/living/carbon/human/H, var/ignore_suffix = FALSE)
- . = GetAssignment(H)
+/datum/outfit/proc/get_id_assignment(mob/living/carbon/human/user, ignore_suffix = FALSE)
+ SHOULD_NOT_SLEEP(TRUE)
+
+ . = GetAssignment(user)
- if (. && . != "Unassigned" && H?.mind?.selected_faction && !ignore_suffix)
- if (H.mind.selected_faction.title_suffix)
- . += " ([H.mind.selected_faction.title_suffix])"
+ if (. && . != "Unassigned" && user?.mind?.selected_faction && !ignore_suffix)
+ if (user.mind.selected_faction.title_suffix)
+ . += " ([user.mind.selected_faction.title_suffix])"
+
+/datum/outfit/proc/get_id_rank(mob/living/carbon/human/user)
+ SHOULD_NOT_SLEEP(TRUE)
-/obj/outfit/proc/get_id_rank(mob/living/carbon/human/H)
- return GetAssignment(H)
+ return GetAssignment(user)
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index 17853eed5fc..719b23ca0eb 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -1,19 +1,19 @@
-/obj/outfit/admin
+/datum/outfit/admin
var/id_icon
-/obj/outfit/admin/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(!visualsOnly)
if(H.mind)
H.mind.assigned_role = name
H.job = name
-/obj/outfit/admin/imprint_idcard(mob/living/carbon/human/H, obj/item/card/id/C)
+/datum/outfit/admin/imprint_idcard(mob/living/carbon/human/H, obj/item/card/id/C)
..()
if(id_icon)
C.icon_state = id_icon
-/obj/outfit/admin/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(!visualsOnly)
if(H?.wear_suit && istype(H.wear_suit, /obj/item/clothing/suit/space/void))
@@ -32,10 +32,10 @@
head.refit_for_species(H.species.bodytype)
-/obj/outfit/admin/random_employee
+/datum/outfit/admin/random_employee
name = "Random Employee"
-/obj/outfit/admin/random_employee/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/random_employee/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(!visualsOnly)
//Select a random job, set the assigned_role / job var and equip it
@@ -51,7 +51,7 @@
job.equip(H, FALSE, FALSE, alt_title)
-/obj/outfit/admin/random
+/datum/outfit/admin/random
name = "Random Civilian"
uniform = "suit selection"
@@ -68,7 +68,7 @@
/obj/item/storage/backpack/duffel
)
-/obj/outfit/admin/random/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/random/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(!visualsOnly)
if(prob(10)) //Equip something smokable
@@ -99,19 +99,19 @@
var/datum/gear/G = gear_datums["gloves selection"]
H.equip_or_collect(G.spawn_random(), slot_gloves)
-/obj/outfit/admin/random/visitor
+/datum/outfit/admin/random/visitor
name = "Random Visitor"
id = /obj/item/card/id
pda = /obj/item/modular_computer/handheld/pda/civilian
-/obj/outfit/admin/random/visitor/get_id_assignment()
+/datum/outfit/admin/random/visitor/get_id_assignment()
return "Visitor"
-/obj/outfit/admin/random/visitor/get_id_rank()
+/datum/outfit/admin/random/visitor/get_id_rank()
return "Visitor"
-/obj/outfit/admin/virtual_reality
+/datum/outfit/admin/virtual_reality
name = "Virtual Reality Outfit"
uniform = /obj/item/clothing/under/chameleon
suit = /obj/item/clothing/suit/chameleon
diff --git a/code/datums/outfits/outfit_antag.dm b/code/datums/outfits/outfit_antag.dm
index 9ae66e017e2..fb630e168c1 100644
--- a/code/datums/outfits/outfit_antag.dm
+++ b/code/datums/outfits/outfit_antag.dm
@@ -1,6 +1,6 @@
// Anything that's coded as an "antagonist" that needs outfits should go here, unless it's an ERT.
-/obj/outfit/admin/syndicate
+/datum/outfit/admin/syndicate
name = "Syndicate Agent"
allow_backbag_choice = TRUE
@@ -30,7 +30,7 @@
var/id_access = "Syndicate Operative"
var/uplink_uses = DEFAULT_TELECRYSTAL_AMOUNT
-/obj/outfit/admin/syndicate/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -46,11 +46,11 @@
if(istype(tag))
tag.modify_tag_data(TRUE)
-/obj/outfit/admin/syndicate/get_id_access()
+/datum/outfit/admin/syndicate/get_id_access()
return get_syndicate_access(id_access)
-/obj/outfit/admin/syndicate/operative
+/datum/outfit/admin/syndicate/operative
name = "Syndicate Operative"
suit = /obj/item/clothing/suit/space/void/merc
@@ -75,7 +75,7 @@
/obj/item/clothing/shoes/combat = 1
)
-/obj/outfit/admin/syndicate/officer
+/datum/outfit/admin/syndicate/officer
name = "Syndicate Officer"
head = /obj/item/clothing/head/beret/red
@@ -99,7 +99,7 @@
)
id_access = "Syndicate Operative Leader"
-/obj/outfit/admin/syndicate/spy
+/datum/outfit/admin/syndicate/spy
name = "Syndicate Spy"
uniform = /obj/item/clothing/under/suit_jacket/really_black
shoes = /obj/item/clothing/shoes/sneakers/black/noslip
@@ -112,7 +112,7 @@
// Syndicate Auxiliary Outfits (ninja, merc, etc.)
-/obj/outfit/admin/syndicate/ninja
+/datum/outfit/admin/syndicate/ninja
name = "Infiltrator"
allow_backbag_choice = FALSE
@@ -141,14 +141,14 @@
id_access = "Syndicate Agent"
-/obj/outfit/admin/syndicate/ninja/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/ninja/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
H.equip_to_slot_or_del(new /obj/item/device/special_uplink/ninja(H, H.mind), slot_l_store)
-/obj/outfit/admin/syndicate/mercenary
+/datum/outfit/admin/syndicate/mercenary
name = "Mercenary"
uniform = /obj/item/clothing/under/syndicate
@@ -165,7 +165,7 @@
id_iff = IFF_MERCENARY
-/obj/outfit/admin/syndicate/mercenary/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/mercenary/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -173,7 +173,7 @@
if(!H.shoes)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots/toeless(H), slot_shoes)
-/obj/outfit/admin/syndicate/mercenary/loner
+/datum/outfit/admin/syndicate/mercenary/loner
name = "Loner"
l_ear = /obj/item/device/radio/headset/syndicate
@@ -188,7 +188,7 @@
id_iff = IFF_LONER
id_access = "Lone Operative"
-/obj/outfit/admin/syndicate/raider
+/datum/outfit/admin/syndicate/raider
name = "Raider"
allow_backbag_choice = FALSE
@@ -339,7 +339,7 @@
backpack_contents = list()
-/obj/outfit/admin/syndicate/raider/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/raider/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
new /obj/random/backpack(H.loc)
var/obj/item/storage/backpack/bag
@@ -374,7 +374,7 @@
return ..()
-/obj/outfit/admin/syndicate/raider/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/raider/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -389,7 +389,7 @@
if(W)
W.handle_item_insertion(passport)
-/obj/outfit/admin/syndicate/burglar
+/datum/outfit/admin/syndicate/burglar
name = "Burglar"
allow_backbag_choice = FALSE
@@ -435,7 +435,7 @@
id_iff = IFF_BURGLAR
-/obj/outfit/admin/syndicate/burglar/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/burglar/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -492,7 +492,7 @@
W.handle_item_insertion(passport)
-/obj/outfit/admin/syndicate/jockey
+/datum/outfit/admin/syndicate/jockey
name = "Jockey"
allow_backbag_choice = FALSE
@@ -529,7 +529,7 @@
id_iff = IFF_JOCKEY
-/obj/outfit/admin/syndicate/jockey/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/jockey/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -553,7 +553,7 @@
// Non-syndicate antag outfits
-/obj/outfit/admin/highlander
+/datum/outfit/admin/highlander
name = "Highlander"
uniform = /obj/item/clothing/under/kilt
@@ -566,7 +566,7 @@
id = /obj/item/card/id/highlander
id_iff = IFF_HIGHLANDER
-/obj/outfit/admin/highlander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/highlander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -576,7 +576,7 @@
W.name = "[H.real_name]'s ID"
W.registered_name = H.real_name
-/obj/outfit/admin/syndicate/cultist
+/datum/outfit/admin/syndicate/cultist
name = "Cultist"
allow_backbag_choice = FALSE
@@ -596,10 +596,10 @@
id_iff = IFF_CULTIST
-/obj/outfit/admin/syndicate/cultist/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/cultist/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
return
-/obj/outfit/admin/syndicate/cultist/super
+/datum/outfit/admin/syndicate/cultist/super
name = "Super Cultist"
head = /obj/item/clothing/head/helmet/space/cult
@@ -607,7 +607,7 @@
suit_store = /obj/item/gun/energy/rifle/cult
-/obj/outfit/admin/syndicate/raider_techno
+/datum/outfit/admin/syndicate/raider_techno
name = "Raider Techno"
allow_backbag_choice = FALSE
@@ -628,7 +628,7 @@
id_iff = IFF_BLUESPACE
-/obj/outfit/admin/syndicate/raider_techno/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/raider_techno/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
var/list/loadouts = list("Nature", "Techno", "Cobra", "Brawler", "Shimmer")
if(H.gender in list(FEMALE, PLURAL, NEUTER))
loadouts += list("Storm", "Sorceress")
@@ -670,7 +670,7 @@
back = /obj/item/technomancer_core/summoner
return ..()
-/obj/outfit/admin/syndicate/raider_techno/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/syndicate/raider_techno/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -693,14 +693,14 @@
if(catalog)
catalog.bind_to_owner(H)
-/obj/outfit/admin/golem
+/datum/outfit/admin/golem
name = "Bluespace Golem"
allow_backbag_choice = FALSE
l_ear = /obj/item/device/radio/headset/bluespace
id_iff = IFF_BLUESPACE
-/obj/outfit/admin/techomancer
+/datum/outfit/admin/techomancer
name = "Technomancer"
allow_backbag_choice = FALSE
@@ -720,7 +720,7 @@
var/id_assignment = "Technomagus"
-/obj/outfit/admin/techomancer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/techomancer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
@@ -738,7 +738,7 @@
if(catalog)
catalog.bind_to_owner(H)
-/obj/outfit/admin/techomancer/apprentice
+/datum/outfit/admin/techomancer/apprentice
name = "Technomancer Apprentice"
head = /obj/item/clothing/head/chameleon/technomancer
@@ -750,7 +750,7 @@
id_assignment = "Techno-apprentice"
-/obj/outfit/admin/techomancer/apprentice/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/techomancer/apprentice/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(visualsOnly)
return
@@ -760,7 +760,7 @@
of your own. You also have a catalog, to purchase your own functions and equipment as you see fit.")
to_chat(H, "It would be wise to speak to your master, and learn what their plans are for today. Your clothing is holographic, you should change its look before leaving.")
-/obj/outfit/admin/techomancer/golem
+/datum/outfit/admin/techomancer/golem
name = "Technomancer Golem"
head = null
diff --git a/code/game/antagonist/outsider/burglar.dm b/code/game/antagonist/outsider/burglar.dm
index c52b8a9015a..f49ab73be2a 100644
--- a/code/game/antagonist/outsider/burglar.dm
+++ b/code/game/antagonist/outsider/burglar.dm
@@ -46,8 +46,8 @@ var/datum/antagonist/burglar/burglars
if(I.loc != player)
qdel(I)
- player.preEquipOutfit(/obj/outfit/admin/syndicate/burglar, FALSE)
- player.equipOutfit(/obj/outfit/admin/syndicate/burglar, FALSE)
+ player.preEquipOutfit(/datum/outfit/admin/syndicate/burglar, FALSE)
+ player.equipOutfit(/datum/outfit/admin/syndicate/burglar, FALSE)
player.force_update_limbs()
player.update_eyes()
player.regenerate_icons()
diff --git a/code/game/antagonist/outsider/jockey.dm b/code/game/antagonist/outsider/jockey.dm
index e29dcf82c09..c0c2c117866 100644
--- a/code/game/antagonist/outsider/jockey.dm
+++ b/code/game/antagonist/outsider/jockey.dm
@@ -45,8 +45,8 @@ var/datum/antagonist/jockey/jockeys
if(I.loc != player)
qdel(I)
- player.preEquipOutfit(/obj/outfit/admin/syndicate/jockey, FALSE)
- player.equipOutfit(/obj/outfit/admin/syndicate/jockey, FALSE)
+ player.preEquipOutfit(/datum/outfit/admin/syndicate/jockey, FALSE)
+ player.equipOutfit(/datum/outfit/admin/syndicate/jockey, FALSE)
player.force_update_limbs()
player.update_eyes()
player.regenerate_icons()
diff --git a/code/game/antagonist/outsider/loner.dm b/code/game/antagonist/outsider/loner.dm
index 16d9029d991..5b30620ec47 100644
--- a/code/game/antagonist/outsider/loner.dm
+++ b/code/game/antagonist/outsider/loner.dm
@@ -37,8 +37,8 @@ var/datum/antagonist/loner/loners
if(I.loc != player)
qdel(I)
- player.preEquipOutfit(/obj/outfit/admin/syndicate/mercenary/loner, FALSE)
- player.equipOutfit(/obj/outfit/admin/syndicate/mercenary/loner, FALSE)
+ player.preEquipOutfit(/datum/outfit/admin/syndicate/mercenary/loner, FALSE)
+ player.equipOutfit(/datum/outfit/admin/syndicate/mercenary/loner, FALSE)
player.set_psi_rank(PSI_RANK_HARMONIOUS)
var/singleton/psionic_power/P = GET_SINGLETON(/singleton/psionic_power/zona_absorption)
P.apply(player)
diff --git a/code/game/antagonist/outsider/mercenary.dm b/code/game/antagonist/outsider/mercenary.dm
index 0dcfc3c6513..e1c3fb3fac6 100644
--- a/code/game/antagonist/outsider/mercenary.dm
+++ b/code/game/antagonist/outsider/mercenary.dm
@@ -46,8 +46,8 @@ var/datum/antagonist/mercenary/mercs
if(I.loc != player)
qdel(I)
- player.preEquipOutfit(/obj/outfit/admin/syndicate/mercenary, FALSE)
- player.equipOutfit(/obj/outfit/admin/syndicate/mercenary, FALSE)
+ player.preEquipOutfit(/datum/outfit/admin/syndicate/mercenary, FALSE)
+ player.equipOutfit(/datum/outfit/admin/syndicate/mercenary, FALSE)
player.force_update_limbs()
player.update_eyes()
player.regenerate_icons()
diff --git a/code/game/antagonist/outsider/ninja.dm b/code/game/antagonist/outsider/ninja.dm
index 0266b967449..76ba736333a 100644
--- a/code/game/antagonist/outsider/ninja.dm
+++ b/code/game/antagonist/outsider/ninja.dm
@@ -111,8 +111,8 @@ var/datum/antagonist/ninja/ninjas
player.drop_from_inventory(I)
if(I.loc != player)
qdel(I)
- player.preEquipOutfit(/obj/outfit/admin/syndicate/ninja, FALSE)
- player.equipOutfit(/obj/outfit/admin/syndicate/ninja, FALSE)
+ player.preEquipOutfit(/datum/outfit/admin/syndicate/ninja, FALSE)
+ player.equipOutfit(/datum/outfit/admin/syndicate/ninja, FALSE)
player.force_update_limbs()
player.update_eyes()
player.regenerate_icons()
diff --git a/code/game/antagonist/outsider/raider.dm b/code/game/antagonist/outsider/raider.dm
index e883e64e9f5..f2102d1b78e 100644
--- a/code/game/antagonist/outsider/raider.dm
+++ b/code/game/antagonist/outsider/raider.dm
@@ -130,8 +130,8 @@ var/datum/antagonist/raider/raiders
if(I.loc != player)
qdel(I)
- player.preEquipOutfit(/obj/outfit/admin/syndicate/raider, FALSE)
- player.equipOutfit(/obj/outfit/admin/syndicate/raider, FALSE)
+ player.preEquipOutfit(/datum/outfit/admin/syndicate/raider, FALSE)
+ player.equipOutfit(/datum/outfit/admin/syndicate/raider, FALSE)
player.force_update_limbs()
player.update_eyes()
player.regenerate_icons()
diff --git a/code/game/antagonist/outsider/raider_techno.dm b/code/game/antagonist/outsider/raider_techno.dm
index a66b57f7a51..ed3e3c1f13e 100644
--- a/code/game/antagonist/outsider/raider_techno.dm
+++ b/code/game/antagonist/outsider/raider_techno.dm
@@ -54,8 +54,8 @@ var/datum/antagonist/raider_techno/raider_techno
if(I.loc != player)
qdel(I)
- player.preEquipOutfit(/obj/outfit/admin/syndicate/raider_techno, FALSE)
- player.equipOutfit(/obj/outfit/admin/syndicate/raider_techno, FALSE)
+ player.preEquipOutfit(/datum/outfit/admin/syndicate/raider_techno, FALSE)
+ player.equipOutfit(/datum/outfit/admin/syndicate/raider_techno, FALSE)
player.force_update_limbs()
player.update_eyes()
player.regenerate_icons()
diff --git a/code/game/antagonist/outsider/technomancer.dm b/code/game/antagonist/outsider/technomancer.dm
index 807b1c7d60d..cb18a748cdf 100644
--- a/code/game/antagonist/outsider/technomancer.dm
+++ b/code/game/antagonist/outsider/technomancer.dm
@@ -37,14 +37,14 @@ var/datum/antagonist/technomancer/technomancers
if(!..())
return FALSE
- technomancer_mob.preEquipOutfit(/obj/outfit/admin/techomancer, FALSE)
- technomancer_mob.equipOutfit(/obj/outfit/admin/techomancer, FALSE)
+ technomancer_mob.preEquipOutfit(/datum/outfit/admin/techomancer, FALSE)
+ technomancer_mob.equipOutfit(/datum/outfit/admin/techomancer, FALSE)
return TRUE
/datum/antagonist/technomancer/proc/equip_apprentice(var/mob/living/carbon/human/technomancer_mob)
- technomancer_mob.preEquipOutfit(/obj/outfit/admin/techomancer/apprentice, FALSE)
- technomancer_mob.equipOutfit(/obj/outfit/admin/techomancer/apprentice, FALSE)
+ technomancer_mob.preEquipOutfit(/datum/outfit/admin/techomancer/apprentice, FALSE)
+ technomancer_mob.equipOutfit(/datum/outfit/admin/techomancer/apprentice, FALSE)
return TRUE
/datum/antagonist/technomancer/check_victory()
diff --git a/code/game/antagonist/station/highlander.dm b/code/game/antagonist/station/highlander.dm
index df59546b84b..e9568b27ac7 100644
--- a/code/game/antagonist/station/highlander.dm
+++ b/code/game/antagonist/station/highlander.dm
@@ -41,8 +41,8 @@ var/datum/antagonist/highlander/highlanders
if(I.loc != player)
qdel(I)
- player.preEquipOutfit(/obj/outfit/admin/highlander, FALSE)
- player.equipOutfit(/obj/outfit/admin/highlander, FALSE)
+ player.preEquipOutfit(/datum/outfit/admin/highlander, FALSE)
+ player.equipOutfit(/datum/outfit/admin/highlander, FALSE)
player.force_update_limbs()
player.update_eyes()
player.regenerate_icons()
diff --git a/code/game/gamemodes/antagspawner.dm b/code/game/gamemodes/antagspawner.dm
index 02397cd776c..e31e16d0e1d 100644
--- a/code/game/gamemodes/antagspawner.dm
+++ b/code/game/gamemodes/antagspawner.dm
@@ -57,7 +57,7 @@
icon_state = "locator"
mob_type = /mob/living/carbon/human
ghost_role_id = "technoapprentice"
- var/outfit_type = /obj/outfit/admin/techomancer/apprentice
+ var/outfit_type = /datum/outfit/admin/techomancer/apprentice
var/preserve_appearance = FALSE
/obj/item/antag_spawner/technomancer_apprentice/attack_self(var/mob/user)
@@ -97,5 +97,5 @@
desc = "A teleportation device, which will bring a powerful synthetic helper to you."
mob_type = /mob/living/carbon/human/technomancer_golem
ghost_role_id = "technogolem"
- outfit_type = /obj/outfit/admin/techomancer/golem
+ outfit_type = /datum/outfit/admin/techomancer/golem
preserve_appearance = TRUE
diff --git a/code/game/jobs/faction/hephaestus.dm b/code/game/jobs/faction/hephaestus.dm
index 1860d96ac7d..2245bff7287 100644
--- a/code/game/jobs/faction/hephaestus.dm
+++ b/code/game/jobs/faction/hephaestus.dm
@@ -38,21 +38,21 @@
)
titles_to_loadout = list(
- "Hangar Technician" = /obj/outfit/job/hangar_tech/hephaestus,
- "Shaft Miner" = /obj/outfit/job/mining/hephaestus,
- "Machinist" = /obj/outfit/job/machinist/hephaestus,
- "Engineer" = /obj/outfit/job/engineer/hephaestus,
- "Atmospheric Technician" = /obj/outfit/job/atmos/hephaestus,
- "Engineering Apprentice" = /obj/outfit/job/intern_eng/hephaestus,
- "Atmospherics Apprentice" = /obj/outfit/job/intern_atmos/hephaestus,
- "Corporate Reporter" = /obj/outfit/job/journalist/hephaestus,
- "Corporate Liaison" = /obj/outfit/job/representative/hephaestus,
- "Off-Duty Crew Member" = /obj/outfit/job/visitor/hephaestus,
- "Engineering Personnel" = /obj/outfit/job/engineer/event/hephaestus,
- "Operations Personnel" = /obj/outfit/job/hangar_tech/event/hephaestus
+ "Hangar Technician" = /datum/outfit/job/hangar_tech/hephaestus,
+ "Shaft Miner" = /datum/outfit/job/mining/hephaestus,
+ "Machinist" = /datum/outfit/job/machinist/hephaestus,
+ "Engineer" = /datum/outfit/job/engineer/hephaestus,
+ "Atmospheric Technician" = /datum/outfit/job/atmos/hephaestus,
+ "Engineering Apprentice" = /datum/outfit/job/intern_eng/hephaestus,
+ "Atmospherics Apprentice" = /datum/outfit/job/intern_atmos/hephaestus,
+ "Corporate Reporter" = /datum/outfit/job/journalist/hephaestus,
+ "Corporate Liaison" = /datum/outfit/job/representative/hephaestus,
+ "Off-Duty Crew Member" = /datum/outfit/job/visitor/hephaestus,
+ "Engineering Personnel" = /datum/outfit/job/engineer/event/hephaestus,
+ "Operations Personnel" = /datum/outfit/job/hangar_tech/event/hephaestus
)
-/obj/outfit/job/hangar_tech/hephaestus
+/datum/outfit/job/hangar_tech/hephaestus
name = "Hangar Technician - Hephaestus"
uniform = /obj/item/clothing/under/rank/hangar_technician/heph
@@ -63,7 +63,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/machinist/hephaestus
+/datum/outfit/job/machinist/hephaestus
name = "Machinist - Hephaestus"
uniform = /obj/item/clothing/under/rank/machinist/heph
@@ -74,7 +74,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/mining/hephaestus
+/datum/outfit/job/mining/hephaestus
name = "Shaft Miner - Hephaestus"
uniform = /obj/item/clothing/under/rank/miner/heph
@@ -85,7 +85,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/engineer/hephaestus
+/datum/outfit/job/engineer/hephaestus
name = "Engineer - Hephaestus"
uniform = /obj/item/clothing/under/rank/engineer/heph
@@ -97,7 +97,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/atmos/hephaestus
+/datum/outfit/job/atmos/hephaestus
name = "Atmospheric Technician - Hephaestus"
uniform = /obj/item/clothing/under/rank/atmospheric_technician/heph
@@ -109,7 +109,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/intern_eng/hephaestus
+/datum/outfit/job/intern_eng/hephaestus
name = "Engineering Apprentice - Hephaestus"
uniform = /obj/item/clothing/under/rank/engineer/apprentice/heph
@@ -121,7 +121,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/intern_atmos/hephaestus
+/datum/outfit/job/intern_atmos/hephaestus
name = "Atmospherics Apprentice - Hephaestus"
uniform = /obj/item/clothing/under/rank/engineer/apprentice/heph
@@ -133,7 +133,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/representative/hephaestus
+/datum/outfit/job/representative/hephaestus
name = "Hephaestus Corporate Liaison"
head = /obj/item/clothing/head/beret/corporate/heph
@@ -154,7 +154,7 @@
/obj/item/stamp/hephaestus = 1
)
-/obj/outfit/job/journalist/hephaestus
+/datum/outfit/job/journalist/hephaestus
name = "Corporate Reporter - Hephaestus"
uniform = /obj/item/clothing/under/librarian/heph
@@ -166,7 +166,7 @@
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/visitor/hephaestus
+/datum/outfit/job/visitor/hephaestus
name = "Off-Duty Crew Member - Hephaestus"
id = /obj/item/card/id/hephaestus
@@ -176,7 +176,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/hangar_tech/event/hephaestus
+/datum/outfit/job/hangar_tech/event/hephaestus
name = "Operations Personnel - Hephaestus"
uniform = /obj/item/clothing/under/rank/hangar_technician/heph
@@ -187,7 +187,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/heph
messengerbag_faction = /obj/item/storage/backpack/messenger/heph
-/obj/outfit/job/engineer/event/hephaestus
+/datum/outfit/job/engineer/event/hephaestus
name = "Engineering Personnel - Hephaestus"
uniform = /obj/item/clothing/under/rank/engineer/heph
diff --git a/code/game/jobs/faction/idris.dm b/code/game/jobs/faction/idris.dm
index 010e2768e4b..51ea399a174 100644
--- a/code/game/jobs/faction/idris.dm
+++ b/code/game/jobs/faction/idris.dm
@@ -45,28 +45,28 @@
)
titles_to_loadout = list(
- "Security Officer" = /obj/outfit/job/officer/idris,
- "Warden" = /obj/outfit/job/warden/idris,
- "Security Cadet" = /obj/outfit/job/intern_sec/officer/idris,
- "Investigator Intern" = /obj/outfit/job/intern_sec/forensics/idris,
- "Investigator" =/obj/outfit/job/forensics/idris,
- "Bartender" = /obj/outfit/job/bartender/idris,
- "Chef" = /obj/outfit/job/chef/idris,
- "Gardener" = /obj/outfit/job/hydro/idris,
- "Hydroponicist" = /obj/outfit/job/hydro/idris,
- "Janitor" = /obj/outfit/job/janitor/idris,
- "Librarian" = /obj/outfit/job/librarian/idris,
- "Curator" = /obj/outfit/job/librarian/idris/curator,
- "Tech Support" = /obj/outfit/job/librarian/idris/tech_support,
- "Corporate Reporter" = /obj/outfit/job/journalist/idris,
- "Chaplain" = /obj/outfit/job/chaplain/idris,
- "Corporate Liaison" = /obj/outfit/job/representative/idris,
- "Off-Duty Crew Member" = /obj/outfit/job/visitor/idris,
- "Security Personnel" = /obj/outfit/job/officer/event/idris,
- "Service Personnel" = /obj/outfit/job/bartender/idris
+ "Security Officer" = /datum/outfit/job/officer/idris,
+ "Warden" = /datum/outfit/job/warden/idris,
+ "Security Cadet" = /datum/outfit/job/intern_sec/officer/idris,
+ "Investigator Intern" = /datum/outfit/job/intern_sec/forensics/idris,
+ "Investigator" =/datum/outfit/job/forensics/idris,
+ "Bartender" = /datum/outfit/job/bartender/idris,
+ "Chef" = /datum/outfit/job/chef/idris,
+ "Gardener" = /datum/outfit/job/hydro/idris,
+ "Hydroponicist" = /datum/outfit/job/hydro/idris,
+ "Janitor" = /datum/outfit/job/janitor/idris,
+ "Librarian" = /datum/outfit/job/librarian/idris,
+ "Curator" = /datum/outfit/job/librarian/idris/curator,
+ "Tech Support" = /datum/outfit/job/librarian/idris/tech_support,
+ "Corporate Reporter" = /datum/outfit/job/journalist/idris,
+ "Chaplain" = /datum/outfit/job/chaplain/idris,
+ "Corporate Liaison" = /datum/outfit/job/representative/idris,
+ "Off-Duty Crew Member" = /datum/outfit/job/visitor/idris,
+ "Security Personnel" = /datum/outfit/job/officer/event/idris,
+ "Service Personnel" = /datum/outfit/job/bartender/idris
)
-/obj/outfit/job/officer/idris
+/datum/outfit/job/officer/idris
name = "Security Officer - Idris"
uniform = /obj/item/clothing/under/rank/security/idris
@@ -77,7 +77,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/warden/idris
+/datum/outfit/job/warden/idris
name = "Warden - Idris"
head = /obj/item/clothing/head/warden/idris
@@ -91,7 +91,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/forensics/idris
+/datum/outfit/job/forensics/idris
name = "Investigator - Idris"
uniform = /obj/item/clothing/under/det/idris
@@ -103,7 +103,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/intern_sec/officer/idris
+/datum/outfit/job/intern_sec/officer/idris
name = "Security Cadet - Idris"
uniform = /obj/item/clothing/under/rank/cadet/idris
@@ -114,7 +114,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/intern_sec/forensics/idris
+/datum/outfit/job/intern_sec/forensics/idris
name = "Investigator Intern - Idris"
uniform = /obj/item/clothing/under/rank/cadet/idris
@@ -125,7 +125,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/bartender/idris
+/datum/outfit/job/bartender/idris
name = "Bartender - Idris"
uniform = /obj/item/clothing/under/rank/bartender/idris
@@ -138,7 +138,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/chef/idris
+/datum/outfit/job/chef/idris
name = "Chef - Idris"
uniform = /obj/item/clothing/under/rank/chef/idris
@@ -151,7 +151,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/hydro/idris
+/datum/outfit/job/hydro/idris
name = "Gardener - Idris"
uniform = /obj/item/clothing/under/rank/hydroponics/idris
@@ -163,7 +163,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/janitor/idris
+/datum/outfit/job/janitor/idris
name = "Janitor - Idris"
uniform = /obj/item/clothing/under/rank/janitor/idris
@@ -175,7 +175,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/librarian/idris
+/datum/outfit/job/librarian/idris
name = "Librarian - Idris"
uniform = /obj/item/clothing/under/librarian/idris
@@ -186,14 +186,14 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/librarian/idris/curator
+/datum/outfit/job/librarian/idris/curator
name = "Curator - Idris"
jobtype = /datum/job/librarian
r_pocket = /obj/item/device/price_scanner
l_hand = null
-/obj/outfit/job/librarian/idris/tech_support
+/datum/outfit/job/librarian/idris/tech_support
name = "Tech Support - Idris"
jobtype = /datum/job/librarian
@@ -203,7 +203,7 @@
l_hand = /obj/item/device/debugger
wrist = /obj/item/modular_computer/handheld/wristbound/preset/advanced/civilian
-/obj/outfit/job/chaplain/idris
+/datum/outfit/job/chaplain/idris
name = "Chaplain - Idris"
id = /obj/item/card/id/idris
@@ -213,7 +213,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/journalist/idris
+/datum/outfit/job/journalist/idris
name = "Corporate Reporter - Idris"
uniform = /obj/item/clothing/under/librarian/idris
@@ -224,7 +224,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/representative/idris
+/datum/outfit/job/representative/idris
name = "Idris Corporate Liaison"
head = /obj/item/clothing/head/beret/corporate/idris
@@ -245,7 +245,7 @@
/obj/item/stamp/idris = 1
)
-/obj/outfit/job/visitor/idris
+/datum/outfit/job/visitor/idris
name = "Off-Duty Crew Member - Idris"
id = /obj/item/card/id/idris
@@ -255,7 +255,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/idris
messengerbag_faction = /obj/item/storage/backpack/messenger/idris
-/obj/outfit/job/officer/event/idris
+/datum/outfit/job/officer/event/idris
name = "Security Personnel - Idris"
uniform = /obj/item/clothing/under/rank/security/idris
diff --git a/code/game/jobs/faction/nanotrasen.dm b/code/game/jobs/faction/nanotrasen.dm
index d3dd88047d8..6073c66ab33 100644
--- a/code/game/jobs/faction/nanotrasen.dm
+++ b/code/game/jobs/faction/nanotrasen.dm
@@ -27,7 +27,7 @@
)
titles_to_loadout = list(
- "Off-Duty Crew Member" = /obj/outfit/job/visitor/nanotrasen
+ "Off-Duty Crew Member" = /datum/outfit/job/visitor/nanotrasen
)
@@ -51,7 +51,7 @@
return objective
-/obj/outfit/job/visitor/nanotrasen
+/datum/outfit/job/visitor/nanotrasen
name = "Off-Duty Crew Member - NanoTrasen"
backpack_faction = /obj/item/storage/backpack/nt
diff --git a/code/game/jobs/faction/orion_express.dm b/code/game/jobs/faction/orion_express.dm
index 53109d0d3b3..fe1f1660a43 100644
--- a/code/game/jobs/faction/orion_express.dm
+++ b/code/game/jobs/faction/orion_express.dm
@@ -35,26 +35,26 @@
)
)
titles_to_loadout = list(
- "Hangar Technician" = /obj/outfit/job/hangar_tech/orion,
- "Shaft Miner" = /obj/outfit/job/mining/orion,
- "Machinist" = /obj/outfit/job/machinist/orion,
- "Bartender" = /obj/outfit/job/bartender/orion,
- "Chef" = /obj/outfit/job/chef/orion,
- "Gardener" = /obj/outfit/job/hydro/orion,
- "Hydroponicist" = /obj/outfit/job/hydro/orion,
- "Janitor" = /obj/outfit/job/janitor/orion,
- "Librarian" = /obj/outfit/job/librarian/orion,
- "Curator" = /obj/outfit/job/librarian/orion/curator,
- "Tech Support" = /obj/outfit/job/librarian/orion/tech_support,
- "Corporate Reporter" = /obj/outfit/job/journalist/orion,
- "Chaplain" = /obj/outfit/job/chaplain/orion,
- "Corporate Liaison" = /obj/outfit/job/representative/orion,
- "Off-Duty Crew Member" = /obj/outfit/job/visitor/orion,
- "Operations Personnel" = /obj/outfit/job/hangar_tech/event/orion,
- "Service Personnel" = /obj/outfit/job/bartender/orion
+ "Hangar Technician" = /datum/outfit/job/hangar_tech/orion,
+ "Shaft Miner" = /datum/outfit/job/mining/orion,
+ "Machinist" = /datum/outfit/job/machinist/orion,
+ "Bartender" = /datum/outfit/job/bartender/orion,
+ "Chef" = /datum/outfit/job/chef/orion,
+ "Gardener" = /datum/outfit/job/hydro/orion,
+ "Hydroponicist" = /datum/outfit/job/hydro/orion,
+ "Janitor" = /datum/outfit/job/janitor/orion,
+ "Librarian" = /datum/outfit/job/librarian/orion,
+ "Curator" = /datum/outfit/job/librarian/orion/curator,
+ "Tech Support" = /datum/outfit/job/librarian/orion/tech_support,
+ "Corporate Reporter" = /datum/outfit/job/journalist/orion,
+ "Chaplain" = /datum/outfit/job/chaplain/orion,
+ "Corporate Liaison" = /datum/outfit/job/representative/orion,
+ "Off-Duty Crew Member" = /datum/outfit/job/visitor/orion,
+ "Operations Personnel" = /datum/outfit/job/hangar_tech/event/orion,
+ "Service Personnel" = /datum/outfit/job/bartender/orion
)
-/obj/outfit/job/hangar_tech/orion
+/datum/outfit/job/hangar_tech/orion
name = "Hangar Technician - Orion Express"
uniform = /obj/item/clothing/under/rank/hangar_technician/orion
@@ -65,7 +65,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/machinist/orion
+/datum/outfit/job/machinist/orion
name = "Machinist - Orion Express"
uniform = /obj/item/clothing/under/rank/machinist/orion
@@ -76,7 +76,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/mining/orion
+/datum/outfit/job/mining/orion
name = "Shaft Miner - Orion Express"
uniform = /obj/item/clothing/under/rank/miner/orion
@@ -87,7 +87,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/representative/orion
+/datum/outfit/job/representative/orion
name = "Orion Express Corporate Liaison"
head = /obj/item/clothing/head/beret/corporate/orion
@@ -102,7 +102,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/bartender/orion
+/datum/outfit/job/bartender/orion
name = "Bartender - Orion Express"
uniform = /obj/item/clothing/under/rank/bartender/orion
@@ -115,7 +115,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/chef/orion
+/datum/outfit/job/chef/orion
name = "Chef - Orion Express"
uniform = /obj/item/clothing/under/rank/chef/orion
@@ -128,7 +128,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/hydro/orion
+/datum/outfit/job/hydro/orion
name = "Gardener - Orion Express"
uniform = /obj/item/clothing/under/rank/hydroponics/orion
@@ -140,7 +140,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/janitor/orion
+/datum/outfit/job/janitor/orion
name = "Janitor - Orion Express"
uniform = /obj/item/clothing/under/rank/janitor/orion
@@ -152,7 +152,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/librarian/orion
+/datum/outfit/job/librarian/orion
name = "Librarian - Orion Express"
uniform = /obj/item/clothing/under/librarian/orion
@@ -163,14 +163,14 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/librarian/orion/curator
+/datum/outfit/job/librarian/orion/curator
name = "Curator - Orion Express"
jobtype = /datum/job/librarian
r_pocket = /obj/item/device/price_scanner
l_hand = null
-/obj/outfit/job/librarian/orion/tech_support
+/datum/outfit/job/librarian/orion/tech_support
name = "Tech Support - Orion Express"
jobtype = /datum/job/librarian
@@ -180,7 +180,7 @@
l_hand = /obj/item/device/debugger
wrist = /obj/item/modular_computer/handheld/wristbound/preset/advanced/civilian
-/obj/outfit/job/journalist/orion
+/datum/outfit/job/journalist/orion
name = "Corporate Reporter - Orion Express"
uniform = /obj/item/clothing/under/librarian/orion
@@ -191,7 +191,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/chaplain/orion
+/datum/outfit/job/chaplain/orion
name = "Chaplain - Orion Express"
id = /obj/item/card/id/orion
@@ -201,7 +201,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/visitor/orion
+/datum/outfit/job/visitor/orion
name = "Off-Duty Crew Member - Orion Express"
id = /obj/item/card/id/orion
@@ -211,7 +211,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/orion
messengerbag_faction = /obj/item/storage/backpack/messenger/orion
-/obj/outfit/job/hangar_tech/event/orion
+/datum/outfit/job/hangar_tech/event/orion
name = "Hangar Technician - Orion Express"
uniform = /obj/item/clothing/under/rank/hangar_technician/orion
diff --git a/code/game/jobs/faction/pmc.dm b/code/game/jobs/faction/pmc.dm
index a4aa7284164..61a892a6ba0 100644
--- a/code/game/jobs/faction/pmc.dm
+++ b/code/game/jobs/faction/pmc.dm
@@ -34,26 +34,26 @@
)
titles_to_loadout = list(
- "Security Officer" = /obj/outfit/job/officer/pmc,
- "Warden" = /obj/outfit/job/warden/pmc,
- "Security Cadet" = /obj/outfit/job/intern_sec/officer/pmc,
- "Investigator Intern" = /obj/outfit/job/intern_sec/forensics/pmc,
- "Investigator" =/obj/outfit/job/forensics/pmc,
- "Physician" = /obj/outfit/job/doctor/pmc,
- "Surgeon" = /obj/outfit/job/doctor/surgeon/pmc,
- "Pharmacist" = /obj/outfit/job/pharmacist/pmc,
- "Psychiatrist" = /obj/outfit/job/psychiatrist/pmc,
- "Psychologist" = /obj/outfit/job/psychiatrist/pmc,
- "Paramedic" = /obj/outfit/job/med_tech/pmc,
- "Medical Intern" = /obj/outfit/job/intern_med/pmc,
- "Corporate Reporter" = /obj/outfit/job/journalist/pmc,
- "Corporate Liaison" = /obj/outfit/job/representative/pmc,
- "Off-Duty Crew Member" = /obj/outfit/job/visitor/pmc,
- "Security Personnel" = /obj/outfit/job/officer/event/pmc,
- "Medical Personnel" = /obj/outfit/job/med_tech/event/pmc
+ "Security Officer" = /datum/outfit/job/officer/pmc,
+ "Warden" = /datum/outfit/job/warden/pmc,
+ "Security Cadet" = /datum/outfit/job/intern_sec/officer/pmc,
+ "Investigator Intern" = /datum/outfit/job/intern_sec/forensics/pmc,
+ "Investigator" =/datum/outfit/job/forensics/pmc,
+ "Physician" = /datum/outfit/job/doctor/pmc,
+ "Surgeon" = /datum/outfit/job/doctor/surgeon/pmc,
+ "Pharmacist" = /datum/outfit/job/pharmacist/pmc,
+ "Psychiatrist" = /datum/outfit/job/psychiatrist/pmc,
+ "Psychologist" = /datum/outfit/job/psychiatrist/pmc,
+ "Paramedic" = /datum/outfit/job/med_tech/pmc,
+ "Medical Intern" = /datum/outfit/job/intern_med/pmc,
+ "Corporate Reporter" = /datum/outfit/job/journalist/pmc,
+ "Corporate Liaison" = /datum/outfit/job/representative/pmc,
+ "Off-Duty Crew Member" = /datum/outfit/job/visitor/pmc,
+ "Security Personnel" = /datum/outfit/job/officer/event/pmc,
+ "Medical Personnel" = /datum/outfit/job/med_tech/event/pmc
)
-/obj/outfit/job/officer/pmc
+/datum/outfit/job/officer/pmc
name = "Security Officer - PMC"
uniform = /obj/item/clothing/under/rank/security/pmc
@@ -64,7 +64,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/warden/pmc
+/datum/outfit/job/warden/pmc
name = "Warden - PMC"
head = /obj/item/clothing/head/warden/pmc
@@ -78,7 +78,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/intern_sec/officer/pmc
+/datum/outfit/job/intern_sec/officer/pmc
name = "Security Cadet - PMC"
uniform = /obj/item/clothing/under/rank/cadet/pmc
@@ -89,7 +89,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/intern_sec/forensics/pmc
+/datum/outfit/job/intern_sec/forensics/pmc
name = "Investigator Intern - PMC"
uniform = /obj/item/clothing/under/rank/cadet/pmc
@@ -100,7 +100,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/forensics/pmc
+/datum/outfit/job/forensics/pmc
name = "Investigator - PMC"
uniform = /obj/item/clothing/under/det/pmc
@@ -112,7 +112,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/doctor/pmc
+/datum/outfit/job/doctor/pmc
name = "Physician - PMC"
uniform = /obj/item/clothing/under/rank/medical/pmc
@@ -125,7 +125,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/doctor/surgeon/pmc
+/datum/outfit/job/doctor/surgeon/pmc
name = "Surgeon - PMC"
uniform = /obj/item/clothing/under/rank/medical/surgeon/pmc
@@ -138,11 +138,11 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/doctor/surgeon/pmc/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/doctor/surgeon/pmc/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!isskrell(H))
H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/pmc(H), slot_head)
-/obj/outfit/job/pharmacist/pmc
+/datum/outfit/job/pharmacist/pmc
name = "Pharmacist - PMC"
uniform = /obj/item/clothing/under/rank/medical/pharmacist/pmc
@@ -155,7 +155,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/psychiatrist/pmc
+/datum/outfit/job/psychiatrist/pmc
name = "Psychiatrist - PMC"
uniform = /obj/item/clothing/under/rank/medical/psych/pmc
@@ -167,7 +167,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/med_tech/pmc
+/datum/outfit/job/med_tech/pmc
name = "Paramedic - PMC"
head = /obj/item/clothing/head/softcap/pmc
@@ -180,7 +180,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/intern_med/pmc
+/datum/outfit/job/intern_med/pmc
name = "Medical Intern - PMC"
uniform = /obj/item/clothing/under/rank/medical/intern/pmc
@@ -192,7 +192,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/representative/pmc
+/datum/outfit/job/representative/pmc
name = "PMC Corporate Liaison"
head = /obj/item/clothing/head/beret/corporate/pmc
@@ -207,7 +207,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/journalist/pmc
+/datum/outfit/job/journalist/pmc
name = "Corporate Reporter - PMC"
uniform = /obj/item/clothing/under/librarian/pmc
@@ -218,7 +218,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/visitor/pmc
+/datum/outfit/job/visitor/pmc
name = "Off-Duty Crew Member - PMC"
id = /obj/item/card/id/pmc
@@ -228,7 +228,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/officer/event/pmc
+/datum/outfit/job/officer/event/pmc
name = "Security Personnel - PMC"
uniform = /obj/item/clothing/under/rank/security/pmc
@@ -239,7 +239,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/pmcg
messengerbag_faction = /obj/item/storage/backpack/messenger/pmcg
-/obj/outfit/job/med_tech/event/pmc
+/datum/outfit/job/med_tech/event/pmc
name = "Medical Personnel - PMC"
head = /obj/item/clothing/head/softcap/pmc
diff --git a/code/game/jobs/faction/zavodskoi.dm b/code/game/jobs/faction/zavodskoi.dm
index 98b36d866d6..91b016b47c7 100644
--- a/code/game/jobs/faction/zavodskoi.dm
+++ b/code/game/jobs/faction/zavodskoi.dm
@@ -46,30 +46,30 @@
)
titles_to_loadout = list(
- "Security Officer" = /obj/outfit/job/officer/zavodskoi,
- "Warden" = /obj/outfit/job/warden/zavodskoi,
- "Security Cadet" = /obj/outfit/job/intern_sec/officer/zavodskoi,
- "Investigator Intern" = /obj/outfit/job/intern_sec/forensics/zavodskoi,
- "Investigator" =/obj/outfit/job/forensics/zavodskoi,
- "Scientist" = /obj/outfit/job/scientist/zavodskoi,
- "Xenobiologist" = /obj/outfit/job/scientist/xenobiologist/zavodskoi,
- "Xenobotanist" = /obj/outfit/job/scientist/xenobotanist/zavodskoi,
- "Lab Assistant" = /obj/outfit/job/intern_sci/zavodskoi,
- "Xenoarchaeologist"= /obj/outfit/job/scientist/xenoarchaeologist/zavodskoi,
- "Anomalist"= /obj/outfit/job/scientist/anomalist/zavodskoi,
- "Engineer" = /obj/outfit/job/engineer/zavodskoi,
- "Atmospheric Technician" = /obj/outfit/job/atmos/zavodskoi,
- "Engineering Apprentice" = /obj/outfit/job/intern_eng/zavodskoi,
- "Atmospherics Apprentice" = /obj/outfit/job/intern_atmos/zavodskoi,
- "Corporate Reporter" = /obj/outfit/job/journalist/zavodskoi,
- "Corporate Liaison" = /obj/outfit/job/representative/zavodskoi,
- "Off-Duty Crew Member" = /obj/outfit/job/visitor/zavodskoi,
- "Security Personnel" = /obj/outfit/job/officer/event/zavodskoi,
- "Engineering Personnel" = /obj/outfit/job/engineer/event/zavodskoi,
- "Science Personnel" = /obj/outfit/job/scientist/event/zavodskoi
+ "Security Officer" = /datum/outfit/job/officer/zavodskoi,
+ "Warden" = /datum/outfit/job/warden/zavodskoi,
+ "Security Cadet" = /datum/outfit/job/intern_sec/officer/zavodskoi,
+ "Investigator Intern" = /datum/outfit/job/intern_sec/forensics/zavodskoi,
+ "Investigator" =/datum/outfit/job/forensics/zavodskoi,
+ "Scientist" = /datum/outfit/job/scientist/zavodskoi,
+ "Xenobiologist" = /datum/outfit/job/scientist/xenobiologist/zavodskoi,
+ "Xenobotanist" = /datum/outfit/job/scientist/xenobotanist/zavodskoi,
+ "Lab Assistant" = /datum/outfit/job/intern_sci/zavodskoi,
+ "Xenoarchaeologist"= /datum/outfit/job/scientist/xenoarchaeologist/zavodskoi,
+ "Anomalist"= /datum/outfit/job/scientist/anomalist/zavodskoi,
+ "Engineer" = /datum/outfit/job/engineer/zavodskoi,
+ "Atmospheric Technician" = /datum/outfit/job/atmos/zavodskoi,
+ "Engineering Apprentice" = /datum/outfit/job/intern_eng/zavodskoi,
+ "Atmospherics Apprentice" = /datum/outfit/job/intern_atmos/zavodskoi,
+ "Corporate Reporter" = /datum/outfit/job/journalist/zavodskoi,
+ "Corporate Liaison" = /datum/outfit/job/representative/zavodskoi,
+ "Off-Duty Crew Member" = /datum/outfit/job/visitor/zavodskoi,
+ "Security Personnel" = /datum/outfit/job/officer/event/zavodskoi,
+ "Engineering Personnel" = /datum/outfit/job/engineer/event/zavodskoi,
+ "Science Personnel" = /datum/outfit/job/scientist/event/zavodskoi
)
-/obj/outfit/job/officer/zavodskoi
+/datum/outfit/job/officer/zavodskoi
name = "Security Officer - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/security/zavod
@@ -80,7 +80,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/warden/zavodskoi
+/datum/outfit/job/warden/zavodskoi
name = "Warden - Zavodskoi Interstellar"
head = /obj/item/clothing/head/warden/zavod
@@ -94,7 +94,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/intern_sec/officer/zavodskoi
+/datum/outfit/job/intern_sec/officer/zavodskoi
name = "Security Cadet - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/cadet/zavod
@@ -105,7 +105,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/intern_sec/forensics/zavodskoi
+/datum/outfit/job/intern_sec/forensics/zavodskoi
name = "Investigator Intern - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/cadet/zavod
@@ -116,7 +116,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/forensics/zavodskoi
+/datum/outfit/job/forensics/zavodskoi
name = "Investigator - Zavodskoi Interstellar"
id = /obj/item/card/id/zavodskoi/sec
@@ -128,7 +128,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/scientist/zavodskoi
+/datum/outfit/job/scientist/zavodskoi
name = "Scientist - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/scientist/zavod
@@ -141,7 +141,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/scientist/xenobiologist/zavodskoi
+/datum/outfit/job/scientist/xenobiologist/zavodskoi
name = "Xenobiologist - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/scientist/xenobio/zavod
@@ -154,7 +154,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/scientist/xenobotanist/zavodskoi
+/datum/outfit/job/scientist/xenobotanist/zavodskoi
name = "Xenobotanist - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/scientist/botany/zavod
@@ -162,7 +162,7 @@
id = /obj/item/card/id/zavodskoi
shoes = /obj/item/clothing/shoes/sneakers/medsci/zavod
-/obj/outfit/job/scientist/xenoarchaeologist/zavodskoi
+/datum/outfit/job/scientist/xenoarchaeologist/zavodskoi
name = "Xenoarchaeologist - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/scientist/xenoarchaeologist/zavod
@@ -175,7 +175,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/scientist/anomalist/zavodskoi
+/datum/outfit/job/scientist/anomalist/zavodskoi
name = "Anomalist - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/scientist/anomalist/zavod
@@ -188,7 +188,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/intern_sci/zavodskoi
+/datum/outfit/job/intern_sci/zavodskoi
name = "Lab Assistant - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/scientist/intern/zavod
@@ -200,7 +200,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/engineer/zavodskoi
+/datum/outfit/job/engineer/zavodskoi
name = "Engineer - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/engineer/zavod
@@ -212,7 +212,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/atmos/zavodskoi
+/datum/outfit/job/atmos/zavodskoi
name = "Atmospheric Technician - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/atmospheric_technician/zavod
@@ -224,7 +224,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/intern_eng/zavodskoi
+/datum/outfit/job/intern_eng/zavodskoi
name = "Engineering Apprentice - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/engineer/apprentice/zavod
@@ -236,7 +236,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/intern_atmos/zavodskoi
+/datum/outfit/job/intern_atmos/zavodskoi
name = "Atmospherics Apprentice - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/engineer/apprentice/zavod
@@ -248,7 +248,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/representative/zavodskoi
+/datum/outfit/job/representative/zavodskoi
name = "Zavodskoi Interstellar Corporate Liaison"
head = /obj/item/clothing/head/beret/corporate/zavod
@@ -269,7 +269,7 @@
/obj/item/stamp/zavodskoi = 1
)
-/obj/outfit/job/journalist/zavodskoi
+/datum/outfit/job/journalist/zavodskoi
name = "Corporate Reporter - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/librarian/zavod
@@ -280,7 +280,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/visitor/zavodskoi
+/datum/outfit/job/visitor/zavodskoi
name = "Off-Duty Crew Member - Zavodskoi Interstellar"
id = /obj/item/card/id/zavodskoi
@@ -290,7 +290,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/officer/event/zavodskoi
+/datum/outfit/job/officer/event/zavodskoi
name = "Security Personnel - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/security/zavod
@@ -301,7 +301,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/scientist/event/zavodskoi
+/datum/outfit/job/scientist/event/zavodskoi
name = "Research Personnel - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/scientist/zavod
@@ -314,7 +314,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zavod
messengerbag_faction = /obj/item/storage/backpack/messenger/zavod
-/obj/outfit/job/engineer/event/zavodskoi
+/datum/outfit/job/engineer/event/zavodskoi
name = "Engineering Personnel - Zavodskoi Interstellar"
uniform = /obj/item/clothing/under/rank/engineer/zavod
diff --git a/code/game/jobs/faction/zeng_hu.dm b/code/game/jobs/faction/zeng_hu.dm
index 245dd0cc5b0..8544c941851 100644
--- a/code/game/jobs/faction/zeng_hu.dm
+++ b/code/game/jobs/faction/zeng_hu.dm
@@ -40,27 +40,27 @@
)
titles_to_loadout = list(
- "Physician" = /obj/outfit/job/doctor/zeng_hu,
- "Surgeon" = /obj/outfit/job/doctor/surgeon/zeng_hu,
- "Pharmacist" = /obj/outfit/job/pharmacist/zeng_hu,
- "Psychiatrist" = /obj/outfit/job/psychiatrist/zeng_hu,
- "Psychologist" = /obj/outfit/job/psychiatrist/zeng_hu,
- "Paramedic" = /obj/outfit/job/med_tech/zeng_hu,
- "Medical Intern" = /obj/outfit/job/intern_med/zeng_hu,
- "Scientist" = /obj/outfit/job/scientist/zeng_hu,
- "Xenobiologist" = /obj/outfit/job/scientist/xenobiologist/zeng_hu,
- "Anomalist" = /obj/outfit/job/scientist/anomalist/zeng_hu,
- "Xenobotanist" = /obj/outfit/job/scientist/xenobotanist/zeng_hu,
- "Lab Assistant" = /obj/outfit/job/intern_sci/zeng_hu,
- "Xenoarchaeologist"= /obj/outfit/job/scientist/xenoarchaeologist/zeng_hu,
- "Corporate Reporter" = /obj/outfit/job/journalist/zeng_hu,
- "Corporate Liaison" = /obj/outfit/job/representative/zeng_hu,
- "Off-Duty Crew Member" = /obj/outfit/job/visitor/zeng_hu,
- "Science Personnel" = /obj/outfit/job/scientist/event/zeng_hu,
- "Medical Personnel" = /obj/outfit/job/med_tech/event/zeng_hu
+ "Physician" = /datum/outfit/job/doctor/zeng_hu,
+ "Surgeon" = /datum/outfit/job/doctor/surgeon/zeng_hu,
+ "Pharmacist" = /datum/outfit/job/pharmacist/zeng_hu,
+ "Psychiatrist" = /datum/outfit/job/psychiatrist/zeng_hu,
+ "Psychologist" = /datum/outfit/job/psychiatrist/zeng_hu,
+ "Paramedic" = /datum/outfit/job/med_tech/zeng_hu,
+ "Medical Intern" = /datum/outfit/job/intern_med/zeng_hu,
+ "Scientist" = /datum/outfit/job/scientist/zeng_hu,
+ "Xenobiologist" = /datum/outfit/job/scientist/xenobiologist/zeng_hu,
+ "Anomalist" = /datum/outfit/job/scientist/anomalist/zeng_hu,
+ "Xenobotanist" = /datum/outfit/job/scientist/xenobotanist/zeng_hu,
+ "Lab Assistant" = /datum/outfit/job/intern_sci/zeng_hu,
+ "Xenoarchaeologist"= /datum/outfit/job/scientist/xenoarchaeologist/zeng_hu,
+ "Corporate Reporter" = /datum/outfit/job/journalist/zeng_hu,
+ "Corporate Liaison" = /datum/outfit/job/representative/zeng_hu,
+ "Off-Duty Crew Member" = /datum/outfit/job/visitor/zeng_hu,
+ "Science Personnel" = /datum/outfit/job/scientist/event/zeng_hu,
+ "Medical Personnel" = /datum/outfit/job/med_tech/event/zeng_hu
)
-/obj/outfit/job/doctor/zeng_hu
+/datum/outfit/job/doctor/zeng_hu
name = "Physician - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/medical/zeng
@@ -73,7 +73,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/doctor/surgeon/zeng_hu
+/datum/outfit/job/doctor/surgeon/zeng_hu
name = "Surgeon - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/medical/surgeon/zeng
@@ -86,11 +86,11 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/doctor/surgeon/zeng_hu/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/doctor/surgeon/zeng_hu/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!isskrell(H))
H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery/zeng(H), slot_head)
-/obj/outfit/job/pharmacist/zeng_hu
+/datum/outfit/job/pharmacist/zeng_hu
name = "Pharmacist - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/medical/pharmacist/zeng
@@ -103,7 +103,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/psychiatrist/zeng_hu
+/datum/outfit/job/psychiatrist/zeng_hu
name = "Psychiatrist - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/medical/psych/zeng
@@ -116,7 +116,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/med_tech/zeng_hu
+/datum/outfit/job/med_tech/zeng_hu
name = "Paramedic - Zeng-Hu"
head = /obj/item/clothing/head/softcap/zeng
@@ -129,7 +129,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/intern_med/zeng_hu
+/datum/outfit/job/intern_med/zeng_hu
name = "Medical Intern - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/medical/intern/zeng
@@ -141,7 +141,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/scientist/zeng_hu
+/datum/outfit/job/scientist/zeng_hu
name = "Scientist - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/scientist/zeng
@@ -154,7 +154,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/scientist/xenobiologist/zeng_hu
+/datum/outfit/job/scientist/xenobiologist/zeng_hu
name = "Xenobiologist - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/scientist/xenobio/zeng
@@ -167,7 +167,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/scientist/xenobotanist/zeng_hu
+/datum/outfit/job/scientist/xenobotanist/zeng_hu
name = "Xenobotanist - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/scientist/botany/zeng
@@ -180,7 +180,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/scientist/xenoarchaeologist/zeng_hu
+/datum/outfit/job/scientist/xenoarchaeologist/zeng_hu
name = "Xenoarchaeologist - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/scientist/xenoarchaeologist/zeng
@@ -193,7 +193,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/scientist/anomalist/zeng_hu
+/datum/outfit/job/scientist/anomalist/zeng_hu
name = "Xenoarchaeologist - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/scientist/anomalist/zeng
@@ -206,7 +206,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/intern_sci/zeng_hu
+/datum/outfit/job/intern_sci/zeng_hu
name = "Lab Assistant - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/scientist/intern/zeng
@@ -218,7 +218,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/representative/zeng_hu
+/datum/outfit/job/representative/zeng_hu
name = "Zeng-Hu Corporate Liaison"
head = /obj/item/clothing/head/beret/corporate/zeng
@@ -238,7 +238,7 @@
/obj/item/gun/energy/pistol = 1,
/obj/item/stamp/zeng_hu = 1
)
-/obj/outfit/job/journalist/zeng_hu
+/datum/outfit/job/journalist/zeng_hu
name = "Corporate Reporter - Zeng-Hu"
uniform = /obj/item/clothing/under/librarian/zeng
@@ -249,7 +249,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/visitor/zeng_hu
+/datum/outfit/job/visitor/zeng_hu
name = "Off-Duty Crew Member - Zeng-Hu"
id = /obj/item/card/id/zeng_hu
@@ -259,7 +259,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/med_tech/event/zeng_hu
+/datum/outfit/job/med_tech/event/zeng_hu
name = "Medical Personnel - Zeng-Hu"
head = /obj/item/clothing/head/softcap/zeng
@@ -272,7 +272,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/zeng
messengerbag_faction = /obj/item/storage/backpack/messenger/zeng
-/obj/outfit/job/scientist/event/zeng_hu
+/datum/outfit/job/scientist/event/zeng_hu
name = "Research Personnel - Zeng-Hu"
uniform = /obj/item/clothing/under/rank/scientist/zeng
diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm
index b74aa2786af..c5358aebab4 100644
--- a/code/game/jobs/job/captain.dm
+++ b/code/game/jobs/job/captain.dm
@@ -22,11 +22,11 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
SPECIES_SKRELL_AXIORI = 100
)
- outfit = /obj/outfit/job/captain
+ outfit = /datum/outfit/job/captain
blacklisted_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
-/obj/outfit/job/captain
+/datum/outfit/job/captain
name = "Captain"
jobtype = /datum/job/captain
@@ -59,7 +59,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
dufflebag = /obj/item/storage/backpack/duffel/cap
messengerbag = /obj/item/storage/backpack/messenger/com
-/obj/outfit/job/captain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/captain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(H && H.w_uniform)
var/obj/item/clothing/under/U = H.w_uniform
@@ -96,7 +96,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
SPECIES_SKRELL_AXIORI = 80
)
- outfit = /obj/outfit/job/xo
+ outfit = /datum/outfit/job/xo
access = list(ACCESS_SEC_DOORS, ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_SHIP_WEAPONS, ACCESS_CHANGE_IDS, ACCESS_EVA, ACCESS_HEADS,
ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_MAINT_TUNNELS, ACCESS_BAR, ACCESS_JANITOR, ACCESS_CONSTRUCTION,
@@ -110,7 +110,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/xo
+/datum/outfit/job/xo
name = "Executive Officer"
jobtype = /datum/job/xo
@@ -155,14 +155,14 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
SPECIES_SKRELL_AXIORI = 55
)
- outfit = /obj/outfit/job/bridge_crew
+ outfit = /datum/outfit/job/bridge_crew
access = list(ACCESS_EVA, ACCESS_HEADS, ACCESS_MAINT_TUNNELS, ACCESS_WEAPONS, ACCESS_BRIDGE_CREW, ACCESS_INTREPID, ACCESS_TELEPORTER, ACCESS_EXTERNAL_AIRLOCKS)
minimal_access = list(ACCESS_HEADS, ACCESS_EVA, ACCESS_GATEWAY, ACCESS_WEAPONS, ACCESS_BRIDGE_CREW, ACCESS_INTREPID, ACCESS_TELEPORTER, ACCESS_EXTERNAL_AIRLOCKS)
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/bridge_crew
+/datum/outfit/job/bridge_crew
name = "Bridge Crew"
jobtype = /datum/job/bridge_crew
diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm
index 72a0ee87826..b0eb955f35d 100644
--- a/code/game/jobs/job/civilian.dm
+++ b/code/game/jobs/job/civilian.dm
@@ -18,10 +18,10 @@
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN)
minimal_access = list(ACCESS_BAR)
alt_titles = list("Barista")
- outfit = /obj/outfit/job/bartender
+ outfit = /datum/outfit/job/bartender
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/bartender
+/datum/outfit/job/bartender
name = "Bartender"
jobtype = /datum/job/bartender
@@ -65,10 +65,10 @@
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN)
minimal_access = list(ACCESS_KITCHEN)
alt_titles = list("Cook")
- outfit = /obj/outfit/job/chef
+ outfit = /datum/outfit/job/chef
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/chef
+/datum/outfit/job/chef
name = "Chef"
jobtype = /datum/job/chef
@@ -115,11 +115,11 @@
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN)
minimal_access = list(ACCESS_HYDROPONICS)
- outfit = /obj/outfit/job/hydro
+ outfit = /datum/outfit/job/hydro
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
alt_titles = list("Hydroponicist")
-/obj/outfit/job/hydro
+/datum/outfit/job/hydro
name = "Gardener"
jobtype = /datum/job/hydro
@@ -147,7 +147,7 @@
messengerbag = /obj/item/storage/backpack/messenger/hyd
messengerbag_faction = /obj/item/storage/backpack/messenger/nt
-/obj/outfit/job/hydro/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/hydro/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(istajara(H))
H.equip_or_collect(new /obj/item/clothing/gloves/botanic_leather/tajara(H), slot_gloves)
@@ -168,11 +168,11 @@
selection_color = "#90524b"
access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_MEDICAL)
minimal_access = list(ACCESS_JANITOR, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_MEDICAL)
- outfit = /obj/outfit/job/janitor
+ outfit = /datum/outfit/job/janitor
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/janitor
+/datum/outfit/job/janitor
name = "Janitor"
jobtype = /datum/job/janitor
@@ -208,13 +208,13 @@
access = list(ACCESS_LIBRARY, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_LIBRARY)
alt_titles = list("Curator", "Tech Support")
- alt_outfits = list("Curator" = /obj/outfit/job/librarian/curator, "Tech Support" = /obj/outfit/job/librarian/tech_support)
+ alt_outfits = list("Curator" = /datum/outfit/job/librarian/curator, "Tech Support" = /datum/outfit/job/librarian/tech_support)
title_accesses = list("Tech Support" = list(ACCESS_IT, ACCESS_TECH_STORAGE))
- outfit = /obj/outfit/job/librarian
+ outfit = /datum/outfit/job/librarian
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/librarian
+/datum/outfit/job/librarian
name = "Librarian"
jobtype = /datum/job/librarian
@@ -238,7 +238,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/nt
messengerbag_faction = /obj/item/storage/backpack/messenger/nt
-/obj/outfit/job/librarian/curator
+/datum/outfit/job/librarian/curator
name = "Curator"
jobtype = /datum/job/librarian
@@ -246,7 +246,7 @@
r_pocket = /obj/item/device/price_scanner
l_hand = null
-/obj/outfit/job/librarian/tech_support
+/datum/outfit/job/librarian/tech_support
name = "Tech Support"
jobtype = /datum/job/librarian
@@ -257,7 +257,7 @@
l_hand = /obj/item/device/debugger
wrist = /obj/item/modular_computer/handheld/wristbound/preset/advanced/civilian
-/obj/outfit/job/librarian/tech_support/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/librarian/tech_support/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(visualsOnly)
r_hand = null
else
@@ -277,11 +277,11 @@
access = list(ACCESS_CHAPEL_OFFICE, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_CHAPEL_OFFICE)
alt_titles = list("Presbyter", "Rabbi", "Imam", "Priest", "Priestess", "Shaman", "Counselor", "Keeper", "Shaper")
- outfit = /obj/outfit/job/chaplain
+ outfit = /datum/outfit/job/chaplain
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/chaplain
+/datum/outfit/job/chaplain
name = "Chaplain"
jobtype = /datum/job/chaplain
uniform = /obj/item/clothing/under/rank/chaplain
@@ -302,7 +302,7 @@
dufflebag_faction = /obj/item/storage/backpack/duffel/nt
messengerbag_faction = /obj/item/storage/backpack/messenger/nt
-/obj/outfit/job/chaplain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/chaplain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
@@ -358,11 +358,11 @@
minimal_access = list(ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_QM, ACCESS_MINING, ACCESS_SHIP_WEAPONS, ACCESS_MINING_STATION, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE, ACCESS_HEADS,
ACCESS_SEC_DOORS, ACCESS_RESEARCH, ACCESS_MEDICAL, ACCESS_ROBOTICS, ACCESS_ENGINE, ACCESS_TELEPORTER, ACCESS_EVA, ACCESS_INTREPID)
- outfit = /obj/outfit/job/operations_manager
+ outfit = /datum/outfit/job/operations_manager
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/operations_manager
+/datum/outfit/job/operations_manager
name = "Operations Manager"
jobtype = /datum/job/operations_manager
@@ -407,11 +407,11 @@
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_SHIP_WEAPONS, ACCESS_CARGO_BOT, ACCESS_MINING, ACCESS_MINING_STATION)
minimal_access = list(ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_SHIP_WEAPONS, ACCESS_MAILSORTING)
- outfit = /obj/outfit/job/hangar_tech
+ outfit = /datum/outfit/job/hangar_tech
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/hangar_tech
+/datum/outfit/job/hangar_tech
name = "Hangar Technician"
jobtype = /datum/job/hangar_tech
@@ -449,11 +449,11 @@
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINING, ACCESS_MINING_STATION)
minimal_access = list(ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MAILSORTING)
- outfit = /obj/outfit/job/mining
+ outfit = /datum/outfit/job/mining
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/mining
+/datum/outfit/job/mining
name = "Shaft Miner"
jobtype = /datum/job/mining
@@ -505,11 +505,11 @@
minimal_player_age = 7
- outfit = /obj/outfit/job/machinist
+ outfit = /datum/outfit/job/machinist
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/machinist
+/datum/outfit/job/machinist
name = "Machinist"
jobtype = /datum/job/machinist
diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm
index 7ca6679b95c..58114b768a4 100644
--- a/code/game/jobs/job/engineering.dm
+++ b/code/game/jobs/job/engineering.dm
@@ -28,11 +28,11 @@
ACCESS_CE, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_TCOMSAT, ACCESS_AI_UPLOAD, ACCESS_IT, ACCESS_BRIDGE_CREW, ACCESS_INTREPID, ACCESS_NETWORK)
minimal_player_age = 7
- outfit = /obj/outfit/job/chief_engineer
+ outfit = /datum/outfit/job/chief_engineer
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/chief_engineer
+/datum/outfit/job/chief_engineer
name = "Chief Engineer"
jobtype = /datum/job/chief_engineer
box = /obj/item/storage/box/survival/engineer
@@ -59,7 +59,7 @@
dufflebag = /obj/item/storage/backpack/duffel/ce
messengerbag = /obj/item/storage/backpack/messenger/ce
-/obj/outfit/job/chief_engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/chief_engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(istajara(H))
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/workboots/toeless(H), slot_shoes)
@@ -91,11 +91,11 @@
access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_SHIP_WEAPONS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_LEVIATHAN)
minimal_access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_SHIP_WEAPONS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_LEVIATHAN)
- outfit = /obj/outfit/job/engineer
+ outfit = /datum/outfit/job/engineer
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/engineer
+/datum/outfit/job/engineer
name = "Engineer"
jobtype = /datum/job/engineer
box = /obj/item/storage/box/survival/engineer
@@ -130,7 +130,7 @@
/obj/item/powerdrill = 1
)
-/obj/outfit/job/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(istajara(H))
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/workboots/toeless(H), slot_shoes)
@@ -160,10 +160,10 @@
access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_LEVIATHAN)
minimal_access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_LEVIATHAN)
- outfit = /obj/outfit/job/atmos
+ outfit = /datum/outfit/job/atmos
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/atmos
+/datum/outfit/job/atmos
name = "Atmospheric Technician"
jobtype = /datum/job/atmos
box = /obj/item/storage/box/survival/engineer
@@ -198,7 +198,7 @@
/obj/item/powerdrill = 1
)
-/obj/outfit/job/atmos/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/atmos/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(istajara(H))
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/workboots/toeless(H), slot_shoes)
@@ -214,7 +214,7 @@
department_flag = ENGSEC
faction = "Station"
alt_titles = list("Atmospherics Apprentice")
- alt_outfits = list("Atmospherics Apprentice" = /obj/outfit/job/intern_atmos)
+ alt_outfits = list("Atmospherics Apprentice" = /datum/outfit/job/intern_atmos)
total_positions = 3
spawn_positions = 3
intro_prefix = "an"
@@ -222,7 +222,7 @@
selection_color = "#c67519"
access = list(ACCESS_MAINT_TUNNELS, ACCESS_CONSTRUCTION, ACCESS_ENGINE_EQUIP, ACCESS_ENGINE)
minimal_access = list(ACCESS_MAINT_TUNNELS, ACCESS_CONSTRUCTION, ACCESS_ENGINE_EQUIP, ACCESS_ENGINE)
- outfit = /obj/outfit/job/intern_eng
+ outfit = /datum/outfit/job/intern_eng
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
minimum_character_age = list(
@@ -231,7 +231,7 @@
SPECIES_SKRELL_AXIORI = 58
)
-/obj/outfit/job/intern_eng
+/datum/outfit/job/intern_eng
name = "Engineering Apprentice"
jobtype = /datum/job/intern_eng
box = /obj/item/storage/box/survival/engineer
@@ -264,7 +264,7 @@
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/engineering
tablet = /obj/item/modular_computer/handheld/preset/engineering
-/obj/outfit/job/intern_atmos
+/datum/outfit/job/intern_atmos
name = "Atmospherics Apprentice"
jobtype = /datum/job/intern_eng
box = /obj/item/storage/box/survival/engineer
diff --git a/code/game/jobs/job/event.dm b/code/game/jobs/job/event.dm
index ef8a2fb13f4..5628687ce02 100644
--- a/code/game/jobs/job/event.dm
+++ b/code/game/jobs/job/event.dm
@@ -20,11 +20,11 @@
access = list(ACCESS_SECURITY, ACCESS_EVA, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_WEAPONS)
minimal_access = list(ACCESS_SECURITY, ACCESS_EVA, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_WEAPONS)
minimal_player_age = 7
- outfit = /obj/outfit/job/officer/event
+ outfit = /datum/outfit/job/officer/event
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/officer/event
+/datum/outfit/job/officer/event
name = "Security Personnel"
suit = /obj/item/clothing/suit/armor/carrier/officer
head = /obj/item/clothing/head/helmet/security
@@ -60,11 +60,11 @@
access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_EVA, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_PSYCHIATRIST, ACCESS_PARAMEDIC)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_EVA, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_PARAMEDIC)
- outfit = /obj/outfit/job/med_tech/event
+ outfit = /datum/outfit/job/med_tech/event
blacklisted_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G2, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/med_tech/event
+/datum/outfit/job/med_tech/event
name = "Medical Personnel"
belt = /obj/item/storage/belt/medical/paramedic
belt_contents = list(
@@ -103,11 +103,11 @@
access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_SHIP_WEAPONS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_LEVIATHAN)
minimal_access = list(ACCESS_EVA, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_SHIP_WEAPONS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_LEVIATHAN)
- outfit = /obj/outfit/job/engineer/event
+ outfit = /datum/outfit/job/engineer/event
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/engineer/event
+/datum/outfit/job/engineer/event
name = "Engineering Personnel"
glasses = /obj/item/clothing/glasses/welding
gloves = /obj/item/clothing/gloves/yellow
@@ -152,10 +152,10 @@
minimal_access = list(ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_INTREPID)
minimal_player_age = 14
- outfit = /obj/outfit/job/scientist/event
+ outfit = /datum/outfit/job/scientist/event
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/scientist/event
+/datum/outfit/job/scientist/event
name = "Research Personnel"
backpack_contents = list(
/obj/item/storage/box/survival = 1,
@@ -184,11 +184,11 @@
access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_SHIP_WEAPONS, ACCESS_CARGO_BOT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_ROBOTICS)
minimal_access = list(ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_SHIP_WEAPONS, ACCESS_MAILSORTING)
- outfit = /obj/outfit/job/hangar_tech/event
+ outfit = /datum/outfit/job/hangar_tech/event
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/hangar_tech/event
+/datum/outfit/job/hangar_tech/event
name = "Operations Personnel"
backpack_contents = list(
/obj/item/storage/box/survival = 1,
@@ -214,4 +214,4 @@
SPECIES_SKRELL_AXIORI = 50
)
access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN)
- outfit = /obj/outfit/job/bartender
+ outfit = /datum/outfit/job/bartender
diff --git a/code/game/jobs/job/hra.dm b/code/game/jobs/job/hra.dm
index 81c68a89010..b497ac36ce8 100644
--- a/code/game/jobs/job/hra.dm
+++ b/code/game/jobs/job/hra.dm
@@ -18,11 +18,11 @@
minimal_access = list(ACCESS_SEC_DOORS, ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_EVA, ACCESS_HEADS, ACCESS_MAINT_TUNNELS,
ACCESS_CONSTRUCTION, ACCESS_RESEARCH, ACCESS_GATEWAY, ACCESS_WEAPONS, ACCESS_BRIDGE_CREW, ACCESS_INTREPID, ACCESS_CENT_CCIA)
- outfit = /obj/outfit/job/hra
+ outfit = /datum/outfit/job/hra
blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
-/obj/outfit/job/hra
+/datum/outfit/job/hra
name = "Human Resources Assistant"
jobtype = /datum/job/hra
@@ -56,7 +56,7 @@
/obj/item/modular_computer/laptop/preset/command = 1,
)
-/obj/outfit/job/hra/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/hra/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(H && H.w_uniform)
var/obj/item/clothing/under/U = H.w_uniform
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index 2230fca558a..0c81997c2e5 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -35,8 +35,8 @@
var/economic_modifier = 2 // With how much does this job modify the initial account amount?
var/create_record = TRUE // Do we announce/make records for people who spawn on this job?
- var/obj/outfit/outfit = null
- var/list/alt_outfits = null // A list of special outfits for the alt titles list("alttitle" = /obj/outfit)
+ var/datum/outfit/outfit = null
+ var/list/alt_outfits = null // A list of special outfits for the alt titles list("alttitle" = /datum/outfit)
var/list/blacklisted_species = null // A blacklist of species that can't be this job
var/list/blacklisted_citizenship = list() //A blacklist of citizenships that can't be this job
@@ -120,8 +120,7 @@
if(!F.is_default)
var/new_outfit = F.titles_to_loadout[title]
if(ispath(new_outfit))
- var/obj/outfit/O = new new_outfit
- O.pre_equip(H, TRUE)
+ var/datum/outfit/O = new new_outfit
O.equip(H, TRUE)
return
@@ -204,7 +203,7 @@
/datum/job/proc/has_alt_title(var/mob/H, var/supplied_title, var/desired_title)
return (supplied_title == desired_title) || (H.mind && H.mind.role_alt_title == desired_title)
-/obj/outfit/job
+/datum/outfit/job
name = "Standard Gear"
var/base_name = null
collect_not_del = FALSE
@@ -232,7 +231,7 @@
var/box = /obj/item/storage/box/survival
-/obj/outfit/job/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
back = null //Nulling the backpack here, since we already equipped the backpack in pre_equip
if(box)
var/spawnbox = box
@@ -240,16 +239,16 @@
backpack_contents[spawnbox] = 1
. = ..()
-/obj/outfit/job/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
-/obj/outfit/job/get_id_access(mob/living/carbon/human/H)
+/datum/outfit/job/get_id_access(mob/living/carbon/human/H)
var/datum/job/J = SSjobs.GetJobType(jobtype)
if(!J)
J = SSjobs.GetJob(H.job)
return J.get_access(get_id_assignment(H, TRUE))
-/obj/outfit/job/get_id_rank(mob/living/carbon/human/H)
+/datum/outfit/job/get_id_rank(mob/living/carbon/human/H)
var/datum/job/J = SSjobs.GetJobType(jobtype)
if(!J)
J = SSjobs.GetJob(H.job)
diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm
index a33f2eb1b98..8615747219a 100644
--- a/code/game/jobs/job/medical.dm
+++ b/code/game/jobs/job/medical.dm
@@ -27,11 +27,11 @@
ACCESS_PARAMEDIC, ACCESS_MAINT_TUNNELS, ACCESS_INTREPID, ACCESS_TELEPORTER)
minimal_player_age = 10
- outfit = /obj/outfit/job/cmo
+ outfit = /datum/outfit/job/cmo
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/cmo
+/datum/outfit/job/cmo
name = "Chief Medical Officer"
jobtype = /datum/job/cmo
@@ -77,7 +77,7 @@
access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_EVA)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_GENETICS, ACCESS_EVA)
- outfit = /obj/outfit/job/doctor
+ outfit = /datum/outfit/job/doctor
blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
/datum/job/surgeon
@@ -101,10 +101,10 @@
access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_EVA)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_GENETICS, ACCESS_EVA)
- outfit = /obj/outfit/job/doctor/surgeon
+ outfit = /datum/outfit/job/doctor/surgeon
blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/doctor
+/datum/outfit/job/doctor
name = "Physician"
base_name = "Physician"
jobtype = /datum/job/doctor
@@ -134,7 +134,7 @@
messengerbag = /obj/item/storage/backpack/messenger/med
messengerbag_faction = /obj/item/storage/backpack/messenger/nt
-/obj/outfit/job/doctor/surgeon
+/datum/outfit/job/doctor/surgeon
name = "Surgeon"
jobtype = /datum/job/surgeon
@@ -142,7 +142,7 @@
suit = /obj/item/clothing/suit/storage/toggle/labcoat/nt
shoes = /obj/item/clothing/shoes/sneakers/medsci
-/obj/outfit/job/doctor/surgeon/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/doctor/surgeon/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!isskrell(H))
H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery(H), slot_head)
@@ -166,10 +166,10 @@
access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_GENETICS)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_PHARMACY, ACCESS_VIROLOGY)
- outfit = /obj/outfit/job/pharmacist
+ outfit = /datum/outfit/job/pharmacist
blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/pharmacist
+/datum/outfit/job/pharmacist
name = "Pharmacist"
jobtype = /datum/job/pharmacist
@@ -218,11 +218,11 @@
access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_PSYCHIATRIST)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_PSYCHIATRIST)
alt_titles = list("Psychologist")
- outfit = /obj/outfit/job/psychiatrist
- alt_outfits = list("Psychologist" = /obj/outfit/job/psychiatrist/psycho)
+ outfit = /datum/outfit/job/psychiatrist
+ alt_outfits = list("Psychologist" = /datum/outfit/job/psychiatrist/psycho)
blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/psychiatrist
+/datum/outfit/job/psychiatrist
name = "Psychiatrist"
base_name = "Psychiatrist"
jobtype = /datum/job/psychiatrist
@@ -251,7 +251,7 @@
messengerbag = /obj/item/storage/backpack/messenger/psych
messengerbag_faction = /obj/item/storage/backpack/messenger/nt
-/obj/outfit/job/psychiatrist/psycho
+/datum/outfit/job/psychiatrist/psycho
name = "Psychologist"
jobtype = /datum/job/psychiatrist
@@ -275,11 +275,11 @@
access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_PHARMACY, ACCESS_VIROLOGY, ACCESS_EVA, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_PSYCHIATRIST, ACCESS_PARAMEDIC)
minimal_access = list(ACCESS_MEDICAL, ACCESS_MEDICAL_EQUIP, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_EVA, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_PARAMEDIC)
- outfit = /obj/outfit/job/med_tech
+ outfit = /datum/outfit/job/med_tech
blacklisted_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G2, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/med_tech
+/datum/outfit/job/med_tech
name = "Paramedic"
base_name = "Paramedic"
jobtype = /datum/job/med_tech
@@ -320,7 +320,7 @@
department_flag = MEDSCI
faction = "Station"
alt_titles = list("Paramedic Trainee", "Pharmacy Intern", "Resident Physician", "Resident Surgeon", "Resident Psychiatrist")
- alt_outfits = list("Paramedic Trainee" = /obj/outfit/job/intern_med/medtech, "Pharmacy Intern" = /obj/outfit/job/intern_med/pharmacist, "Resident Surgeon" = /obj/outfit/job/intern_med/surgeon, "Resident Psychiatrist" = /obj/outfit/job/intern_med/psychiatrist)
+ alt_outfits = list("Paramedic Trainee" = /datum/outfit/job/intern_med/medtech, "Pharmacy Intern" = /datum/outfit/job/intern_med/pharmacist, "Resident Surgeon" = /datum/outfit/job/intern_med/surgeon, "Resident Psychiatrist" = /datum/outfit/job/intern_med/psychiatrist)
alt_ages = list("Pharmacy Intern" = list(
SPECIES_HUMAN = 25,
SPECIES_SKRELL = 58,
@@ -352,10 +352,10 @@
SPECIES_SKRELL = 50,
SPECIES_SKRELL_AXIORI = 50
)
- outfit = /obj/outfit/job/intern_med
+ outfit = /datum/outfit/job/intern_med
blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/intern_med
+/datum/outfit/job/intern_med
name = "Medical Intern"
jobtype = /datum/job/intern_med
@@ -380,7 +380,7 @@
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/medical
tablet = /obj/item/modular_computer/handheld/preset/medical
-/obj/outfit/job/intern_med/medtech
+/datum/outfit/job/intern_med/medtech
name = "Paramedic Trainee"
head = /obj/item/clothing/head/softcap/nt
@@ -395,7 +395,7 @@
/obj/item/storage/firstaid = 1
)
-/obj/outfit/job/intern_med/pharmacist
+/datum/outfit/job/intern_med/pharmacist
name = "Pharmacy Intern"
shoes = /obj/item/clothing/shoes/sneakers/medsci
@@ -405,16 +405,16 @@
dufflebag = /obj/item/storage/backpack/duffel/pharm
messengerbag = /obj/item/storage/backpack/messenger/pharm
-/obj/outfit/job/intern_med/surgeon
+/datum/outfit/job/intern_med/surgeon
name = "Resident Surgeon"
shoes = /obj/item/clothing/shoes/sneakers/medsci
-/obj/outfit/job/intern_med/surgeon/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/intern_med/surgeon/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!isskrell(H))
H.equip_to_slot_or_del(new /obj/item/clothing/head/surgery(H), slot_head)
-/obj/outfit/job/intern_med/psychiatrist
+/datum/outfit/job/intern_med/psychiatrist
name = "Resident Psychiatrist"
shoes = /obj/item/clothing/shoes/sneakers/medsci
diff --git a/code/game/jobs/job/outsider/merchant.dm b/code/game/jobs/job/outsider/merchant.dm
index 9b57ca35e9f..4838f76897e 100644
--- a/code/game/jobs/job/outsider/merchant.dm
+++ b/code/game/jobs/job/outsider/merchant.dm
@@ -21,7 +21,7 @@
latejoin_at_spawnpoints = TRUE
- outfit = /obj/outfit/job/merchant
+ outfit = /datum/outfit/job/merchant
blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
/datum/job/merchant/announce(mob/living/carbon/human/H)
@@ -33,7 +33,7 @@
spawn_positions = 1
total_positions = 1
-/obj/outfit/job/merchant
+/datum/outfit/job/merchant
name = "Merchant"
jobtype = /datum/job/merchant
@@ -46,7 +46,7 @@
tablet = /obj/item/modular_computer/handheld/preset/civilian
r_pocket = /obj/item/device/price_scanner
-/obj/outfit/merchant_assistant
+/datum/outfit/merchant_assistant
name = "Merchant's Assistant"
id = /obj/item/card/id/merchant
tab_pda = /obj/item/modular_computer/handheld/pda/civilian/merchant
@@ -85,8 +85,8 @@
/obj/item/storage/wallet/random = 1
)
-/obj/outfit/merchant_assistant/get_id_rank(mob/living/carbon/human/H)
+/datum/outfit/merchant_assistant/get_id_rank(mob/living/carbon/human/H)
return "Merchant's Assistant"
-/obj/outfit/merchant_assistant/get_id_access()
+/datum/outfit/merchant_assistant/get_id_access()
return list(ACCESS_MERCHANT)
diff --git a/code/game/jobs/job/outsider/representative.dm b/code/game/jobs/job/outsider/representative.dm
index c52cf6edd54..6444f1e7c27 100644
--- a/code/game/jobs/job/outsider/representative.dm
+++ b/code/game/jobs/job/outsider/representative.dm
@@ -22,12 +22,12 @@
"Corporate Reporter" = list("NanoTrasen", "Idris Incorporated", "Hephaestus Industries", "Orion Express", "Zavodskoi Interstellar", "Zeng-Hu Pharmaceuticals", "Private Military Contracting Group", "Stellar Corporate Conglomerate"),
"Freelance Journalist" = list("Independent")
)
- alt_outfits = list("Freelance Journalist" = /obj/outfit/job/journalistf)
+ alt_outfits = list("Freelance Journalist" = /datum/outfit/job/journalistf)
title_accesses = list("Corporate Reporter" = list(ACCESS_MEDICAL, ACCESS_SEC_DOORS, ACCESS_RESEARCH, ACCESS_ENGINE))
- outfit = /obj/outfit/job/journalist
+ outfit = /datum/outfit/job/journalist
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/journalist
+/datum/outfit/job/journalist
name = "Corporate Reporter"
jobtype = /datum/job/journalist
@@ -53,7 +53,7 @@
/obj/item/device/tvcamera = 1
)
-/obj/outfit/job/journalistf
+/datum/outfit/job/journalistf
name = "Freelance Journalist"
jobtype = /datum/job/journalist
@@ -94,7 +94,7 @@
"Corporate Representative",
"Corporate Executive"
)
- outfit = /obj/outfit/job/representative
+ outfit = /datum/outfit/job/representative
blacklisted_species = list(SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
/datum/job/representative/after_spawn(mob/living/carbon/human/H)
@@ -105,7 +105,7 @@
var/datum/faction/faction = SSjobs.GetFaction(H)
LAZYDISTINCTADD(faction.allowed_role_types, REPRESENTATIVE_ROLE)
-/obj/outfit/job/representative
+/datum/outfit/job/representative
name = "NanoTrasen Corporate Liaison"
var/fax_department = "Representative's Office"
jobtype = /datum/job/representative
@@ -130,13 +130,13 @@
/obj/item/gun/energy/pistol = 1
)
-/obj/outfit/job/representative/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/job/representative/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if(H && !visualsOnly)
addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES)
return TRUE
-/obj/outfit/job/representative/proc/send_representative_mission(var/mob/living/carbon/human/H)
+/datum/outfit/job/representative/proc/send_representative_mission(var/mob/living/carbon/human/H)
var/faxtext = "
Directives Report
"
faxtext += "Attention [name], the following directives are to be fulfilled during your stay in the station:
"
@@ -156,7 +156,7 @@
P.update_icon()
return
-/obj/outfit/job/representative/proc/get_objectives(var/mob/living/carbon/human/H, var/mission_level)
+/datum/outfit/job/representative/proc/get_objectives(var/mob/living/carbon/human/H, var/mission_level)
var/rep_objectives
for (var/datum/faction/faction in SSjobs.factions)
@@ -187,7 +187,7 @@
access = list(ACCESS_CONSULAR, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_CONSULAR)
- outfit = /obj/outfit/job/representative/consular
+ outfit = /datum/outfit/job/representative/consular
blacklisted_species = list(SPECIES_VAURCA_BULWARK)
blacklisted_citizenship = list(CITIZENSHIP_SOL, CITIZENSHIP_ERIDANI, CITIZENSHIP_ELYRA_NCP, CITIZENSHIP_NONE, CITIZENSHIP_FREE_COUNCIL)
@@ -196,7 +196,7 @@
if(citizenship)
return citizenship.consular_outfit
-/obj/outfit/job/representative/consular
+/datum/outfit/job/representative/consular
name = "Consular Officer"
fax_department = "Consular's Office"
jobtype = /datum/job/consular
@@ -210,7 +210,7 @@
)
implants = null
-/obj/outfit/job/representative/consular/get_objectives(var/mob/living/carbon/human/H, var/mission_level)
+/datum/outfit/job/representative/consular/get_objectives(var/mob/living/carbon/human/H, var/mission_level)
var/rep_objectives
var/datum/citizenship/citizenship = SSrecords.citizenships[H.citizenship]
if(citizenship)
@@ -274,7 +274,7 @@
access = list(ACCESS_CONSULAR, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_CONSULAR)
- outfit = /obj/outfit/job/consular_assistant
+ outfit = /datum/outfit/job/consular_assistant
blacklisted_citizenship = ALL_CITIZENSHIPS //removed based on consular citizensihp
/datum/job/consular_assistant/get_outfit(mob/living/carbon/human/H, alt_title = null)
@@ -282,7 +282,7 @@
if(citizenship)
return citizenship.assistant_outfit
-/obj/outfit/job/consular_assistant
+/datum/outfit/job/consular_assistant
name = "Diplomatic Aide"
jobtype = /datum/job/consular_assistant
diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm
index 80060718bd8..ba48459f126 100644
--- a/code/game/jobs/job/science.dm
+++ b/code/game/jobs/job/science.dm
@@ -30,11 +30,11 @@
ACCESS_XENOARCH, ACCESS_NETWORK, ACCESS_MAINT_TUNNELS, ACCESS_IT, ACCESS_INTREPID
)
minimal_player_age = 14
- outfit = /obj/outfit/job/rd
+ outfit = /datum/outfit/job/rd
blacklisted_species = list(SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_VAURCA_BREEDER, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK)
-/obj/outfit/job/rd
+/datum/outfit/job/rd
name = "Research Director"
jobtype = /datum/job/rd
@@ -81,10 +81,10 @@
minimal_access = list(ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_INTREPID)
minimal_player_age = 14
- outfit = /obj/outfit/job/scientist
+ outfit = /datum/outfit/job/scientist
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/scientist
+/datum/outfit/job/scientist
name = "Scientist"
jobtype = /datum/job/scientist
@@ -119,7 +119,7 @@
department_flag = MEDSCI
faction = "Station"
alt_titles = list("Anomalist")
- alt_outfits = list("Anomalist" = "/obj/outfit/job/scientist/anomalist")
+ alt_outfits = list("Anomalist" = "/datum/outfit/job/scientist/anomalist")
total_positions = 2
spawn_positions = 2
supervisors = "the research director"
@@ -136,10 +136,10 @@
minimal_access = list(ACCESS_RESEARCH, ACCESS_XENOARCH, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_INTREPID)
minimal_player_age = 14
- outfit = /obj/outfit/job/scientist/xenoarchaeologist
+ outfit = /datum/outfit/job/scientist/xenoarchaeologist
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/scientist/xenoarchaeologist
+/datum/outfit/job/scientist/xenoarchaeologist
name = "Xenoarchaeologist"
jobtype = /datum/job/xenoarchaeologist
@@ -151,7 +151,7 @@
wrist_radio = /obj/item/device/radio/headset/wrist/xenoarch
clipon_radio = /obj/item/device/radio/headset/wrist/clip/xenoarch
-/obj/outfit/job/scientist/anomalist
+/datum/outfit/job/scientist/anomalist
name = "Anomalist"
jobtype = /datum/job/xenoarchaeologist
@@ -186,10 +186,10 @@
minimal_player_age = 14
- outfit = /obj/outfit/job/scientist/xenobiologist
+ outfit = /datum/outfit/job/scientist/xenobiologist
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/scientist/xenobiologist
+/datum/outfit/job/scientist/xenobiologist
name = "Xenobiologist"
jobtype = /datum/job/xenobiologist
@@ -218,11 +218,11 @@
minimal_player_age = 14
- outfit = /obj/outfit/job/scientist/xenobotanist
+ outfit = /datum/outfit/job/scientist/xenobotanist
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/scientist/xenobotanist
+/datum/outfit/job/scientist/xenobotanist
name = "Xenobotanist"
jobtype = /datum/job/xenobotanist
@@ -240,10 +240,10 @@
selection_color = "#a44799"
access = list(ACCESS_RESEARCH, ACCESS_TOX)
minimal_access = list(ACCESS_RESEARCH, ACCESS_TOX)
- outfit = /obj/outfit/job/intern_sci
+ outfit = /datum/outfit/job/intern_sci
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/intern_sci
+/datum/outfit/job/intern_sci
name = "Lab Assistant"
jobtype = /datum/job/intern_sci
diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm
index 14c3b6af8c5..7be43a6d374 100644
--- a/code/game/jobs/job/security.dm
+++ b/code/game/jobs/job/security.dm
@@ -30,11 +30,11 @@
ACCESS_WEAPONS, ACCESS_INTREPID, ACCESS_TELEPORTER)
minimal_player_age = 14
- outfit = /obj/outfit/job/hos
+ outfit = /datum/outfit/job/hos
blacklisted_species = list(SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA_ZHAN, SPECIES_DIONA, SPECIES_DIONA_COEUS, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/hos
+/datum/outfit/job/hos
name = "Head of Security"
jobtype = /datum/job/hos
@@ -63,7 +63,7 @@
dufflebag = /obj/item/storage/backpack/duffel/hos
messengerbag = /obj/item/storage/backpack/messenger/hos
-/obj/outfit/job/hos/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/hos/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(istajara(H))
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots/toeless(H), slot_shoes)
@@ -96,11 +96,11 @@
access = list(ACCESS_SECURITY, ACCESS_EVA, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_WEAPONS)
minimal_access = list(ACCESS_SECURITY, ACCESS_EVA, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_WEAPONS)
minimal_player_age = 7
- outfit = /obj/outfit/job/warden
+ outfit = /datum/outfit/job/warden
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/warden
+/datum/outfit/job/warden
name = "Warden"
jobtype = /datum/job/warden
@@ -124,7 +124,7 @@
dufflebag = /obj/item/storage/backpack/duffel/sec
messengerbag = /obj/item/storage/backpack/messenger/sec
-/obj/outfit/job/warden/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/warden/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(istajara(H))
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots/toeless(H), slot_shoes)
@@ -157,10 +157,10 @@
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS, ACCESS_WEAPONS)
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_WEAPONS)
minimal_player_age = 3
- outfit = /obj/outfit/job/forensics
+ outfit = /datum/outfit/job/forensics
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/forensics
+/datum/outfit/job/forensics
name = "Investigator"
jobtype = /datum/job/investigator
@@ -186,7 +186,7 @@
/obj/item/storage/box/evidence = 1
)
-/obj/outfit/job/forensics/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/forensics/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
H.equip_or_collect(new /obj/item/clothing/gloves/black/forensic(H), slot_gloves)
@@ -211,11 +211,11 @@
access = list(ACCESS_SECURITY, ACCESS_EVA, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_WEAPONS)
minimal_access = list(ACCESS_SECURITY, ACCESS_EVA, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_WEAPONS)
minimal_player_age = 7
- outfit = /obj/outfit/job/officer
+ outfit = /datum/outfit/job/officer
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/officer
+/datum/outfit/job/officer
name = "Security Officer"
jobtype = /datum/job/officer
@@ -237,7 +237,7 @@
dufflebag = /obj/item/storage/backpack/duffel/sec
messengerbag = /obj/item/storage/backpack/messenger/sec
-/obj/outfit/job/officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(istajara(H))
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots/toeless(H), slot_shoes)
@@ -256,7 +256,7 @@
department_flag = ENGSEC
faction = "Station"
alt_titles = list("Investigator Intern", "Warden Cadet")
- alt_outfits = list("Investigator Intern" = /obj/outfit/job/intern_sec/forensics)
+ alt_outfits = list("Investigator Intern" = /datum/outfit/job/intern_sec/forensics)
alt_ages = list("Investigator Intern" = list(
SPECIES_HUMAN = 24,
SPECIES_SKRELL = 58,
@@ -273,7 +273,7 @@
selection_color = "#991818"
access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_MAINT_TUNNELS)
minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS)
- outfit = /obj/outfit/job/intern_sec/officer
+ outfit = /datum/outfit/job/intern_sec/officer
minimum_character_age = list(
SPECIES_HUMAN = 18,
SPECIES_SKRELL = 50,
@@ -282,7 +282,7 @@
blacklisted_species = list(SPECIES_IPC_ZENGHU, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_XION_REMOTE, SPECIES_VAURCA_BULWARK, SPECIES_DIONA_COEUS, SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/intern_sec
+/datum/outfit/job/intern_sec
name = "Security Cadet"
jobtype = /datum/job/intern_sec
@@ -305,16 +305,16 @@
wristbound = /obj/item/modular_computer/handheld/wristbound/preset/pda/security
tablet = /obj/item/modular_computer/handheld/preset/security
-/obj/outfit/job/intern_sec/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/intern_sec/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
-/obj/outfit/job/intern_sec/officer
+/datum/outfit/job/intern_sec/officer
name = "Security Cadet"
jobtype = /datum/job/intern_sec
shoes = null
-/obj/outfit/job/intern_sec/officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/intern_sec/officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(istajara(H))
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots/toeless(H), slot_shoes)
@@ -326,13 +326,13 @@
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black_leather(H), slot_gloves)
-/obj/outfit/job/intern_sec/forensics
+/datum/outfit/job/intern_sec/forensics
name = "Investigator Intern"
jobtype = /datum/job/intern_sec
shoes = /obj/item/clothing/shoes/laceup
-/obj/outfit/job/intern_sec/forensics/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/intern_sec/forensics/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
H.equip_or_collect(new /obj/item/clothing/gloves/black/forensic(H), slot_gloves)
diff --git a/code/game/jobs/job/ship_crew.dm b/code/game/jobs/job/ship_crew.dm
index a76c97d52c6..63ba2d07a63 100644
--- a/code/game/jobs/job/ship_crew.dm
+++ b/code/game/jobs/job/ship_crew.dm
@@ -12,7 +12,7 @@
economic_modifier = 1
access = list() //See /datum/job/assistant/get_access()
minimal_access = list() //See /datum/job/assistant/get_access()
- outfit = /obj/outfit/job/assistant
+ outfit = /datum/outfit/job/assistant
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
/datum/job/assistant/get_access(selected_title)
@@ -21,7 +21,7 @@
else
return list()
-/obj/outfit/job/assistant
+/datum/outfit/job/assistant
name = "Assistant"
jobtype = /datum/job/assistant
@@ -41,17 +41,17 @@
economic_modifier = 1
access = list()
minimal_access = list()
- outfit = /obj/outfit/job/visitor
+ outfit = /datum/outfit/job/visitor
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-/obj/outfit/job/visitor
+/datum/outfit/job/visitor
name = "Off-Duty Crew Member"
jobtype = /datum/job/visitor
uniform = /obj/item/clothing/under/color/black
shoes = /obj/item/clothing/shoes/sneakers/black
-/obj/outfit/job/visitor/passenger
+/datum/outfit/job/visitor/passenger
name = "Passenger"
jobtype = /datum/job/passenger
@@ -68,5 +68,5 @@
economic_modifier = 1
access = list()
minimal_access = list()
- outfit = /obj/outfit/job/visitor/passenger
+ outfit = /datum/outfit/job/visitor/passenger
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 7597dd179b9..34a28c2e2f1 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -324,30 +324,30 @@
if("Cancel")
return
if("ERT")
- outfit_catagories["SCC-ERT"] = typesof(/obj/outfit/admin/ert/scc)
- outfit_catagories["NT-ERT"] = typesof(/obj/outfit/admin/ert/nanotrasen)
- outfit_catagories["Deathsquad"] = typesof(/obj/outfit/admin/deathsquad)
- outfit_catagories["TCFL"] = typesof(/obj/outfit/admin/ert/legion)
- outfit_catagories["Syndicate"] = typesof(/obj/outfit/admin/deathsquad/syndicate)
- outfit_catagories["Freelance Mercenaries"] = typesof(/obj/outfit/admin/ert/mercenary)
- outfit_catagories["Free Solarian Fleets Marines"] = typesof(/obj/outfit/admin/ert/fsf)
- outfit_catagories["Kataphracts"] = typesof(/obj/outfit/admin/ert/kataphract)
- outfit_catagories["Eridani"] = typesof(/obj/outfit/admin/ert/ap_eridani)
- outfit_catagories["IAC"] = typesof(/obj/outfit/admin/ert/iac)
- outfit_catagories["Kosmostrelki"] = typesof(/obj/outfit/admin/ert/pra_cosmonaut)
- outfit_catagories["Elyran Navy"] = typesof(/obj/outfit/admin/ert/elyran_trooper)
+ outfit_catagories["SCC-ERT"] = typesof(/datum/outfit/admin/ert/scc)
+ outfit_catagories["NT-ERT"] = typesof(/datum/outfit/admin/ert/nanotrasen)
+ outfit_catagories["Deathsquad"] = typesof(/datum/outfit/admin/deathsquad)
+ outfit_catagories["TCFL"] = typesof(/datum/outfit/admin/ert/legion)
+ outfit_catagories["Syndicate"] = typesof(/datum/outfit/admin/deathsquad/syndicate)
+ outfit_catagories["Freelance Mercenaries"] = typesof(/datum/outfit/admin/ert/mercenary)
+ outfit_catagories["Free Solarian Fleets Marines"] = typesof(/datum/outfit/admin/ert/fsf)
+ outfit_catagories["Kataphracts"] = typesof(/datum/outfit/admin/ert/kataphract)
+ outfit_catagories["Eridani"] = typesof(/datum/outfit/admin/ert/ap_eridani)
+ outfit_catagories["IAC"] = typesof(/datum/outfit/admin/ert/iac)
+ outfit_catagories["Kosmostrelki"] = typesof(/datum/outfit/admin/ert/pra_cosmonaut)
+ outfit_catagories["Elyran Navy"] = typesof(/datum/outfit/admin/ert/elyran_trooper)
if("Admin")
- outfit_catagories["Stellar Corporate Conglomerate"] = typesof(/obj/outfit/admin/scc)
- outfit_catagories["NanoTrasen"] = typesof(/obj/outfit/admin/nt)
- outfit_catagories["Antagonist"] = typesof(/obj/outfit/admin/syndicate)
- outfit_catagories["Event"] = typesof(/obj/outfit/admin/event)
- outfit_catagories["TCFL"] = typesof(/obj/outfit/admin/tcfl)
- outfit_catagories["Killers"] = typesof(/obj/outfit/admin/killer)
- outfit_catagories["Job"] = subtypesof(/obj/outfit/job)
- outfit_catagories["Megacorps"] = subtypesof(/obj/outfit/admin/megacorp)
- outfit_catagories["Pod Survivors"] = subtypesof(/obj/outfit/admin/pod)
- outfit_catagories["Miscellaneous"] = typesof(/obj/outfit/admin/random)
- outfit_catagories["Miscellaneous"] += /obj/outfit/admin/random_employee
+ outfit_catagories["Stellar Corporate Conglomerate"] = typesof(/datum/outfit/admin/scc)
+ outfit_catagories["NanoTrasen"] = typesof(/datum/outfit/admin/nt)
+ outfit_catagories["Antagonist"] = typesof(/datum/outfit/admin/syndicate)
+ outfit_catagories["Event"] = typesof(/datum/outfit/admin/event)
+ outfit_catagories["TCFL"] = typesof(/datum/outfit/admin/tcfl)
+ outfit_catagories["Killers"] = typesof(/datum/outfit/admin/killer)
+ outfit_catagories["Job"] = subtypesof(/datum/outfit/job)
+ outfit_catagories["Megacorps"] = subtypesof(/datum/outfit/admin/megacorp)
+ outfit_catagories["Pod Survivors"] = subtypesof(/datum/outfit/admin/pod)
+ outfit_catagories["Miscellaneous"] = typesof(/datum/outfit/admin/random)
+ outfit_catagories["Miscellaneous"] += /datum/outfit/admin/random_employee
var/chosen_catagory = input("Select an outfit catagory.", "Robust Quick-dress Shop") as null|anything in outfit_catagories
if(isnull(chosen_catagory))
@@ -355,7 +355,7 @@
var/list/outfit_types = list()
for(var/outfit in outfit_catagories[chosen_catagory])
- var/obj/outfit/admin/A = new outfit
+ var/datum/outfit/admin/A = new outfit
outfit_types[A.name] = A
var/chosen_outfit = input("Select an outfit.", "Robust Quick-dress Shop") as null|anything in outfit_types
@@ -364,7 +364,7 @@
feedback_add_details("admin_verb","SEQ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc
- var/obj/outfit/O = outfit_types[chosen_outfit]
+ var/datum/outfit/O = outfit_types[chosen_outfit]
if(O)
for(var/obj/item/I in M)
if(istype(I, /obj/item/implant))
diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm
index 047b3810089..fc8269581ff 100644
--- a/code/modules/awaymissions/corpse.dm
+++ b/code/modules/awaymissions/corpse.dm
@@ -11,7 +11,7 @@
icon_state = "corpsespawner"
/// If set, this outfit is used to dress and equip the corpse.
- /// Should either be a subtype of `/obj/outfit`, and then it is that specific outfit
+ /// Should either be a subtype of `/datum/outfit`, and then it is that specific outfit
/// Or a list of subtypes, where it randomly picks one outfit from that list
var/outfit = null
diff --git a/code/modules/background/citizenship/citizenship.dm b/code/modules/background/citizenship/citizenship.dm
index e59c96c02e5..81bd77e27ce 100644
--- a/code/modules/background/citizenship/citizenship.dm
+++ b/code/modules/background/citizenship/citizenship.dm
@@ -1,8 +1,8 @@
/datum/citizenship
var/name
var/description
- var/obj/outfit/consular_outfit = /obj/outfit/job/representative/consular
- var/obj/outfit/assistant_outfit = /obj/outfit/job/consular_assistant
+ var/datum/outfit/consular_outfit = /datum/outfit/job/representative/consular
+ var/datum/outfit/assistant_outfit = /datum/outfit/job/consular_assistant
var/demonym
var/list/job_species_blacklist = list()
var/linked_citizenship //a secondary citizenship tied to this one. only used for vaurca snowflake code.
diff --git a/code/modules/background/citizenship/human.dm b/code/modules/background/citizenship/human.dm
index 460d7d23bbc..bf23c823a2f 100644
--- a/code/modules/background/citizenship/human.dm
+++ b/code/modules/background/citizenship/human.dm
@@ -4,8 +4,8 @@
It is one of the most populated systems in human space, a financial center, industrial powerhouse and one of the most prestigious systems in the galaxy. It is also very known for \
its large xeno population which enjoys various privileges compared to other space powers. With a very lax migration policy, virtually everyone is welcome to live here. However, \
unrest and gridlock undermine the government, and the aggressive attitude of the Sol Alliance against its former system has made many worried for the future of the Republic."
- consular_outfit = /obj/outfit/job/representative/consular/ceti
- assistant_outfit = /obj/outfit/job/consular_assistant/ceti
+ consular_outfit = /datum/outfit/job/representative/consular/ceti
+ assistant_outfit = /datum/outfit/job/consular_assistant/ceti
job_species_blacklist = list(
"Consular Officer" = list(
@@ -51,7 +51,7 @@
return rep_objectives
-/obj/outfit/job/representative/consular/ceti
+/datum/outfit/job/representative/consular/ceti
name = "Tau Ceti Consular Officer"
uniform = /obj/item/clothing/under/suit_jacket/navy
@@ -63,11 +63,11 @@
/obj/item/stamp/biesel = 1,
)
-/obj/outfit/job/consular_assistant/ceti
+/datum/outfit/job/consular_assistant/ceti
name = "Tau Ceti Diplomatic Aide"
accessory = /obj/item/clothing/accessory/tc_pin
-/obj/outfit/job/representative/consular/ceti/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/representative/consular/ceti/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/under/gearharness(H), slot_w_uniform)
@@ -90,8 +90,8 @@
However, it still controls the largest human military in the entire spur, and their cooperation with Einstein Engines and the Nralakk Federation has contributed to it gradually regaining some of its pre-collapse influence and power. \
Presently ruled by a military junta that is gradually giving way to civilian control, the Alliance is also generally xenophobic, and most non-humans find themselves discriminated against in Solarian territory. \
Though much of its former possessions are now occupied by warlord statelets and other interstellar powers, the Alliance still maintains a revanchist outlook, refusing to relinquish its claims to its lost territories."
- consular_outfit = /obj/outfit/job/representative/consular/sol
- assistant_outfit = /obj/outfit/job/consular_assistant/sol
+ consular_outfit = /datum/outfit/job/representative/consular/sol
+ assistant_outfit = /datum/outfit/job/consular_assistant/sol
job_species_blacklist = list(
"Consular Officer" = list(
SPECIES_HUMAN,
@@ -158,7 +158,7 @@
return rep_objectives
-/obj/outfit/job/representative/consular/sol
+/datum/outfit/job/representative/consular/sol
name = "Sol Consular Officer"
accessory = /obj/item/clothing/accessory/sol_pin
@@ -169,7 +169,7 @@
/obj/item/gun/projectile/pistol/sol = 1
)
-/obj/outfit/job/consular_assistant/sol
+/datum/outfit/job/consular_assistant/sol
name = "Sol Consular Officer"
accessory = /obj/item/clothing/accessory/sol_pin
@@ -192,7 +192,7 @@
from whole colonial systems to travelling super ships to mining and farming outposts. Most communities here are, although not as developed as many galactic powers, very \
tightly-knit. Almost anything and anyone can be found in these wild, mostly uncharted lands. "
demonym = "frontiersman"
- consular_outfit = /obj/outfit/job/representative/consular/coalition
+ consular_outfit = /datum/outfit/job/representative/consular/coalition
job_species_blacklist = list(
"Consular Officer" = list(
@@ -217,7 +217,7 @@
)
)
-/obj/outfit/job/representative/consular/coalition
+/datum/outfit/job/representative/consular/coalition
name = "Coalition Consular Officer"
backpack_contents = list(
@@ -232,9 +232,9 @@
is \"For Greatness We Strive\". It's official language is Tau Ceti Basic, though several old-earth languages cling to life in small enclaves, such as arabic, persian, and farsi. \
The Republic has mixed relations with NanoTrasen, due to their own possession of phoron."
demonym = "elyran"
- consular_outfit = /obj/outfit/job/representative/consular/elyra
+ consular_outfit = /datum/outfit/job/representative/consular/elyra
-/obj/outfit/job/representative/consular/elyra
+/datum/outfit/job/representative/consular/elyra
name = "Elyra Consular Officer"
backpack_contents = list(
@@ -284,7 +284,7 @@
His Imperial Majesty Boleslaw Keeser. The Empire of Dominia was proclaimed in 2385 by then-Emperor Godwin Keeser, unifying a colony which had been isolated for hundreds of years. \
Imperial society is dominated by the Great and Minor Houses under the Emperor and is very socio-economically stratified due to the so-called blood debt, known as the Mor'iz'al."
- consular_outfit = /obj/outfit/job/representative/consular/dominia
+ consular_outfit = /datum/outfit/job/representative/consular/dominia
job_species_blacklist = list(
"Consular Officer" = list(
@@ -344,7 +344,7 @@
return rep_objectives
-/obj/outfit/job/representative/consular/dominia
+/datum/outfit/job/representative/consular/dominia
name = "Empire of Dominia Consular Officer"
backpack_contents = list(
diff --git a/code/modules/background/citizenship/ipc.dm b/code/modules/background/citizenship/ipc.dm
index 2e4aa8b54cd..57e30ae6d67 100644
--- a/code/modules/background/citizenship/ipc.dm
+++ b/code/modules/background/citizenship/ipc.dm
@@ -10,7 +10,7 @@
Golden Deep who find themselves in human space are known as 'affiliates', and find themselves ostracized and cut off from the \
Frontier collective. Due to their peerless skill in business and clerical duties, affiliates share warm relations with NanoTrasen and \
find themselves the target of job opportunities in exchange for citizenship."
- consular_outfit = /obj/outfit/job/representative/consular/golden
+ consular_outfit = /datum/outfit/job/representative/consular/golden
job_species_blacklist = list(
"Consular Officer" = list(
@@ -47,7 +47,7 @@
)
)
-/obj/outfit/job/representative/consular/golden
+/datum/outfit/job/representative/consular/golden
name = "Golden Deep Consular Officer"
uniform = /obj/item/clothing/under/goldendeep/suit
diff --git a/code/modules/background/citizenship/skrell.dm b/code/modules/background/citizenship/skrell.dm
index 0be3a2abc18..094b104f154 100644
--- a/code/modules/background/citizenship/skrell.dm
+++ b/code/modules/background/citizenship/skrell.dm
@@ -6,8 +6,8 @@
life almost unmatched anywhere else in the Spur. \
A rogue artificial intelligence, Glorsh-Omega, has traumatized this nation for centuries to come. The Federation is very wary of humanity, who has acquired AI technology \
after a Federation tech leak provided them with the research required to create their own AI, as well as allowing them to create IPCs."
- consular_outfit = /obj/outfit/job/representative/consular/nralakk
- assistant_outfit = /obj/outfit/job/consular_assistant/nralakk
+ consular_outfit = /datum/outfit/job/representative/consular/nralakk
+ assistant_outfit = /datum/outfit/job/consular_assistant/nralakk
job_species_blacklist = list(
"Consular Officer" = list(
@@ -85,7 +85,7 @@
return rep_objectives
-/obj/outfit/job/representative/consular/nralakk
+/datum/outfit/job/representative/consular/nralakk
name = "Nralakk Consular Officer"
uniform = /obj/item/clothing/under/skrell
@@ -93,7 +93,7 @@
/obj/item/device/camera = 1
)
-/obj/outfit/job/representative/consular/nralakk/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/representative/consular/nralakk/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isskrell(H))
H.equip_to_slot_or_del(new /obj/item/gun/energy/fedpistol(H), slot_belt)
@@ -111,5 +111,5 @@
addtimer(CALLBACK(src, PROC_REF(send_representative_mission), H), 5 MINUTES)
return TRUE
-/obj/outfit/job/consular_assistant/nralakk
+/datum/outfit/job/consular_assistant/nralakk
uniform = /obj/item/clothing/under/skrell
diff --git a/code/modules/background/citizenship/tajara.dm b/code/modules/background/citizenship/tajara.dm
index 49765a31a15..60d54478130 100644
--- a/code/modules/background/citizenship/tajara.dm
+++ b/code/modules/background/citizenship/tajara.dm
@@ -5,8 +5,8 @@
putting the State at the top of a hierarchy of power. The PRA is a very centralized state, but in recent years has slowly been able to start making true its promises to bring \
revolution to the masses. With land reform, enfranchisement of women and peasantry, literacy initiatives, and the collectivization of farms and the means of production, the PRA is \
struggling to hold true to its radical ideals while an entrenched upper party stubbornly tries to hold onto power."
- consular_outfit = /obj/outfit/job/representative/consular/pra
- assistant_outfit = /obj/outfit/job/consular_assistant/pra
+ consular_outfit = /datum/outfit/job/representative/consular/pra
+ assistant_outfit = /datum/outfit/job/consular_assistant/pra
job_species_blacklist = list(
"Consular Officer" = list(
@@ -61,7 +61,7 @@
if(REPRESENTATIVE_MISSION_LOW)
return "Ensure the loyalty of PRA Citizen to the Party and President Hadii. You must also promote the relationship between the [SSatlas.current_map.boss_name] and the People's Republic through diplomacy."
-/obj/outfit/job/representative/consular/pra
+/datum/outfit/job/representative/consular/pra
name = "PRA Consular Officer"
glasses = null
@@ -77,7 +77,7 @@
)
accessory = /obj/item/clothing/accessory/hadii_pin
-/obj/outfit/job/consular_assistant/pra
+/datum/outfit/job/consular_assistant/pra
glasses = null
uniform = /obj/item/clothing/under/tajaran/smart
backpack_contents = list(
@@ -96,8 +96,8 @@
nation they were fighting for the Democratic People's Republic of Adhomai. The DPRA is now lead by Purrjar Almrah Harrlala who is struggling to transition what was once a militant \
insurgency movement, then an organized military, into a modern, democratic nation. With the help of Nated as a government minister going out to negotiate with ruling Juntas to \
voluntarily turn over power to civilian governments, the DPRA's future faces many fundamental changes."
- consular_outfit = /obj/outfit/job/representative/consular/dpra
- assistant_outfit = /obj/outfit/job/consular_assistant/dpra
+ consular_outfit = /datum/outfit/job/representative/consular/dpra
+ assistant_outfit = /datum/outfit/job/consular_assistant/dpra
job_species_blacklist = list(
"Consular Officer" = list(
@@ -152,7 +152,7 @@
if(REPRESENTATIVE_MISSION_LOW)
return "Ensure that DPRA citizens are following the principles of Al'mariism. Defend the rights of the Tajara through diplomacy."
-/obj/outfit/job/representative/consular/dpra
+/datum/outfit/job/representative/consular/dpra
name = "DPRA Consular Officer"
glasses = null
@@ -166,7 +166,7 @@
)
accessory = /obj/item/clothing/accessory/dpra_pin
-/obj/outfit/job/consular_assistant/dpra
+/datum/outfit/job/consular_assistant/dpra
glasses = null
uniform = /obj/item/clothing/under/tajaran/smart
backpack_contents = list(
@@ -185,8 +185,8 @@
this dynasty should rule as a constitutional monarchy in order to prevent abuses of power. In reality, this has proven very difficult, especially with the realities of war. \
The lofty titles of the nobles disguise the fact that most of the nobility of this new kingdom remain in squalor only marginally better than the peasants. Life is difficult, and \
the Azunja dynasty finds itself struggling to function with their limited constitutional powers and factional in-fighting between the military and the civilian government."
- consular_outfit = /obj/outfit/job/representative/consular/nka
- assistant_outfit = /obj/outfit/job/consular_assistant/nka
+ consular_outfit = /datum/outfit/job/representative/consular/nka
+ assistant_outfit = /datum/outfit/job/consular_assistant/nka
job_species_blacklist = list(
"Consular Officer" = list(
@@ -241,7 +241,7 @@
if(REPRESENTATIVE_MISSION_LOW)
return "Ensure that NKA citizens are loyal to the Crown. You must also promote the relationship between the [SSatlas.current_map.boss_name] and the New Kingdom through diplomacy."
-/obj/outfit/job/representative/consular/nka
+/datum/outfit/job/representative/consular/nka
name = "NKA Consular Officer"
glasses = null
@@ -256,7 +256,7 @@
)
accessory = /obj/item/clothing/accessory/nka_pin
-/obj/outfit/job/consular_assistant/nka
+/datum/outfit/job/consular_assistant/nka
glasses = null
uniform = /obj/item/clothing/under/tajaran/fancy
backpack_contents = list(
diff --git a/code/modules/background/citizenship/unathi.dm b/code/modules/background/citizenship/unathi.dm
index 69d0de8222d..3adc631de9f 100644
--- a/code/modules/background/citizenship/unathi.dm
+++ b/code/modules/background/citizenship/unathi.dm
@@ -4,8 +4,8 @@
Under Overlords land on planets are divided between Lords, with the rest of the feudal hierarchy being beneath them. The Clan system is deeply entrenched in Unathi society, \
with everything else revolving around it. It forms a major part of their code of honor, which stresses the importance of martial abilities and loyalty to the Clan. Despite an \
apocalyptic world war that nearly plunged the species into ruin, the Izweski Hegemony has rebounded and is currently working on making the Hegemony a galactic power."
- consular_outfit = /obj/outfit/job/representative/consular/izweski
- assistant_outfit = /obj/outfit/job/consular_assistant/izweski
+ consular_outfit = /datum/outfit/job/representative/consular/izweski
+ assistant_outfit = /datum/outfit/job/consular_assistant/izweski
job_species_blacklist = list(
"Consular Officer" = list(
@@ -85,14 +85,14 @@
return rep_objectives
-/obj/outfit/job/representative/consular/izweski
+/datum/outfit/job/representative/consular/izweski
name = "Izweski Hegemony Consular Officer"
uniform = /obj/item/clothing/under/unathi
backpack_contents = list(/obj/item/device/camera = 1)
belt = /obj/item/gun/energy/pistol/hegemony
-/obj/outfit/job/representative/consular/izweski/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/representative/consular/izweski/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/under/gearharness(H), slot_w_uniform)
@@ -107,6 +107,6 @@
addtimer(CALLBACK(src, .proc/send_representative_mission, H), 5 MINUTES)
return TRUE
-/obj/outfit/job/consular_assistant/izweski
+/datum/outfit/job/consular_assistant/izweski
uniform = /obj/item/clothing/under/unathi
suit = /obj/item/clothing/accessory/poncho/unathimantle
diff --git a/code/modules/background/citizenship/vaurca.dm b/code/modules/background/citizenship/vaurca.dm
index 884fe52427d..98cf07f6a45 100644
--- a/code/modules/background/citizenship/vaurca.dm
+++ b/code/modules/background/citizenship/vaurca.dm
@@ -5,7 +5,7 @@
be the Alpha of the Vaurca and the face of their species. They make up the majority of the Vaurca present in Tau Ceti and human space.Zo'ra have cold relations with other Hives. In \
Tau Ceti, this has lead to confrontations between them and other Hives arriving in the system. The Zo'ra are the most politically developed Hive, recently helping in the funding of \
the Tau Ceti Foreign Legion, and making active progress to spread their influence."
- consular_outfit = /obj/outfit/job/representative/consular/zora
+ consular_outfit = /datum/outfit/job/representative/consular/zora
linked_citizenship = CITIZENSHIP_BIESEL
job_species_blacklist = list(
@@ -53,7 +53,7 @@
return rep_objectives
-/obj/outfit/job/representative/consular/zora
+/datum/outfit/job/representative/consular/zora
name = "Zo'ra Consular Officer"
uniform = /obj/item/clothing/under/gearharness
@@ -64,7 +64,7 @@
mask = /obj/item/clothing/mask/gas/vaurca/filter
suit = /obj/item/clothing/suit/vaurca/breeder
-/obj/outfit/job/representative/consular/zora/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/representative/consular/zora/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec(H), slot_back)
@@ -81,7 +81,7 @@
Now parting their own ways, both Hives have developed differently. the K'lax became the newest vassal of the Izweski Nation, and have largely settled in Tret. \
They maintain subtly warm, if terse relations with the Hegemony as a whole, and have committed to its terraforming agenda, being instrumental in the implementation of such a monumental undertaking. \
The K'lax are the most technologically developed Hive, and are leading the way in reconstructing the species' superior technology."
- consular_outfit = /obj/outfit/job/representative/consular/klax
+ consular_outfit = /datum/outfit/job/representative/consular/klax
linked_citizenship = CITIZENSHIP_IZWESKI
job_species_blacklist = list(
@@ -126,7 +126,7 @@
return rep_objectives
-/obj/outfit/job/representative/consular/klax
+/datum/outfit/job/representative/consular/klax
name = "K'lax Consular Officer"
uniform = /obj/item/clothing/under/gearharness
@@ -137,7 +137,7 @@
mask = /obj/item/clothing/mask/gas/vaurca/filter
suit = /obj/item/clothing/suit/vaurca/breeder/klax
-/obj/outfit/job/representative/consular/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/representative/consular/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec/klax(H), slot_back)
@@ -153,7 +153,7 @@
Unlike all other Hives, the C'thur are led by their original Hive Queen, who, with a council of three other Lesser Queens, leads the Hive in this new age. \
In this effort, the Hive has begun dealing with the multitude of governments and corporations of the galaxy, all under the auspices of their Skrellian saviors. \
The C'thur are the most economically developed Hive, having stakes in Einstein Engines and Zeng-Hu Pharmaceuticals."
- consular_outfit = /obj/outfit/job/representative/consular/cthur
+ consular_outfit = /datum/outfit/job/representative/consular/cthur
linked_citizenship = CITIZENSHIP_NRALAKK
job_species_blacklist = list(
@@ -199,7 +199,7 @@
return rep_objectives
-/obj/outfit/job/representative/consular/cthur
+/datum/outfit/job/representative/consular/cthur
name = "C'thur Consular Officer"
uniform = /obj/item/clothing/under/gearharness
@@ -210,7 +210,7 @@
mask = /obj/item/clothing/mask/gas/vaurca/filter
suit = /obj/item/clothing/suit/vaurca/breeder/cthur
-/obj/outfit/job/representative/consular/cthur/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/job/representative/consular/cthur/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/storage/backpack/typec/cthur(H), slot_back)
diff --git a/code/modules/ghostroles/spawner/human/admin/admin.dm b/code/modules/ghostroles/spawner/human/admin/admin.dm
index 5ef759dfe2f..aa453af8170 100644
--- a/code/modules/ghostroles/spawner/human/admin/admin.dm
+++ b/code/modules/ghostroles/spawner/human/admin/admin.dm
@@ -18,7 +18,7 @@
max_count = 4
//Vars related to human mobs
- outfit = /obj/outfit/admin/nt/odinsec
+ outfit = /datum/outfit/admin/nt/odinsec
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_IPC)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -42,7 +42,7 @@
max_count = 4
//Vars related to human mobs
- outfit = /obj/outfit/admin/nt/odindoc
+ outfit = /datum/outfit/admin/nt/odindoc
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -63,7 +63,7 @@
req_perms_edit = R_CCIAA
max_count = 1
- outfit = /obj/outfit/admin/nt/odinpharm
+ outfit = /datum/outfit/admin/nt/odinpharm
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -84,7 +84,7 @@
req_perms_edit = R_CCIAA
max_count = 2
- outfit = /obj/outfit/admin/nt/odinchef
+ outfit = /datum/outfit/admin/nt/odinchef
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -105,7 +105,7 @@
req_perms_edit = R_CCIAA
max_count = 1
- outfit = /obj/outfit/admin/nt/odinbartender
+ outfit = /datum/outfit/admin/nt/odinbartender
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -125,7 +125,7 @@
req_perms = null
max_count = 1
- outfit = /obj/outfit/admin/nt/odinjanitor
+ outfit = /datum/outfit/admin/nt/odinjanitor
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_TAJARA,SPECIES_UNATHI,SPECIES_IPC)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -148,7 +148,7 @@
req_perms_edit = R_CCIAA
max_count = 4
- outfit = /obj/outfit/admin/ert/legion/sentinel
+ outfit = /datum/outfit/admin/ert/legion/sentinel
possible_species = list(SPECIES_HUMAN, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_DIONA)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/code/modules/ghostroles/spawner/human/admin/ccia.dm b/code/modules/ghostroles/spawner/human/admin/ccia.dm
index 9892893364d..0c0790c2ee3 100644
--- a/code/modules/ghostroles/spawner/human/admin/ccia.dm
+++ b/code/modules/ghostroles/spawner/human/admin/ccia.dm
@@ -21,7 +21,7 @@
short_name = "cciaagent"
name = "CCIA Agent"
- outfit = /obj/outfit/admin/nt/cciaa
+ outfit = /datum/outfit/admin/nt/cciaa
assigned_role = "CCIA Agent"
special_role = "CCIA Agent"
@@ -32,7 +32,7 @@
short_name = "vip"
name = "Very Important Person"
- outfit = /obj/outfit/admin/nt/vip
+ outfit = /datum/outfit/admin/nt/vip
assigned_role = "VIP"
special_role = "VIP"
@@ -55,7 +55,7 @@
max_count = 1
//Vars related to human mobs
- outfit = /obj/outfit/admin/nt/protection_detail
+ outfit = /datum/outfit/admin/nt/protection_detail
assigned_role = "Civil Protection Officer"
special_role = "Civil Protection Officer"
@@ -67,7 +67,7 @@
short_name = "sccagent"
name = "SCC Agent"
- outfit = /obj/outfit/admin/scc
+ outfit = /datum/outfit/admin/scc
assigned_role = "SCC Agent"
special_role = "SCC Agent"
@@ -83,7 +83,7 @@
landmark_name = "CCIAEscort"
- outfit = /obj/outfit/admin/scc/bodyguard
+ outfit = /datum/outfit/admin/scc/bodyguard
enabled = FALSE
req_perms = null
@@ -101,7 +101,7 @@
name = "BSSB Agent"
desc = "Investigate issues related to crimes under the jurisdiction of the Biesel Security Services Bureau."
- outfit = /obj/outfit/admin/nt/bssb
+ outfit = /datum/outfit/admin/nt/bssb
assigned_role = "BSSB Agent"
special_role = "BSSB Agent"
@@ -116,7 +116,7 @@
landmark_name = "CCIAEscort"
- outfit = /obj/outfit/admin/nt/bssb/guard
+ outfit = /datum/outfit/admin/nt/bssb/guard
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
enabled = FALSE
@@ -145,7 +145,7 @@
req_perms = R_CCIAA
//Vars related to human mobs
- outfit = /obj/outfit/admin/nt/ert_commander
+ outfit = /datum/outfit/admin/nt/ert_commander
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -166,7 +166,7 @@
req_perms = R_CCIAA
//Vars related to human mobs
- outfit = /obj/outfit/admin/tcfl
+ outfit = /datum/outfit/admin/tcfl
possible_species = list(SPECIES_HUMAN,SPECIES_TAJARA_MSAI,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI,SPECIES_IPC)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/code/modules/ghostroles/spawner/human/emergencypod.dm b/code/modules/ghostroles/spawner/human/emergencypod.dm
index 9b6d66a6c15..684cf854354 100644
--- a/code/modules/ghostroles/spawner/human/emergencypod.dm
+++ b/code/modules/ghostroles/spawner/human/emergencypod.dm
@@ -9,7 +9,7 @@
max_count = 1
//Vars related to human mobs
- outfit = /obj/outfit/admin/random/visitor
+ outfit = /datum/outfit/admin/random/visitor
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
@@ -24,47 +24,47 @@
var/t = pick(list("star", "priest", "rep", "smuggler", "hunter", "occultist", "pmc", "tcfl", "fsf", "scc", "fib"))
if(t == "star")
welcome_message = "You are a stranded star!
You were relaxing comfortably in your cryo pod as tragedy struck - the pilot of your luxury yacht fell asleep under some mysterious circumstances. You were unceremoniously stuffed into an escape pod, and left to wander in space. What a despicable, low-quality plot to get rid of you. Should've chosen murder instead - you certainly know you'll convince someone nice to lend you a shuttle."
- outfit = /obj/outfit/admin/pod/star
+ outfit = /datum/outfit/admin/pod/star
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
else if(t == "priest")
welcome_message = "You are a stranded Trinary Perfection priest!
You were traveling around space on your small shuttle, preaching peacefully of the future divinity of the synthetics, and the grand purpose of mankind as the ones to help them achieve that goal. Unfortunately, Dominians don't seem to be as peaceful in disagreeing with your views - and had to evacuate your shot-down ship. Have your prayers to the Divines helped you now?"
- outfit = /obj/outfit/admin/pod/priest
+ outfit = /datum/outfit/admin/pod/priest
possible_species = list(SPECIES_HUMAN)
else if(t == "rep")
welcome_message = "You are a stranded Idris Incorporated representative!
You were traveling back from your business in Sol to the Mendell City HQ. Unfortunately, after a very unusual set of circumstances, the engine broke down just almost as you got back. You're stranded somewhere nearby - perhaps your excellent customer service and negotiation skills might get you a ride back to Mendell?"
- outfit = /obj/outfit/admin/pod/rep
+ outfit = /datum/outfit/admin/pod/rep
possible_species = list(SPECIES_HUMAN)
else if(t == "hunter")
welcome_message = "You are a stranded space fauna hunter!
Your ship has been attacked by a wild megacarp - a rare, almost mythical animal... with very expensive trophies. In this encounter, you lost. But the hunt lives on! You just need to find a new spacefaring vessel!"
- outfit = /obj/outfit/admin/pod/hunter
+ outfit = /datum/outfit/admin/pod/hunter
possible_species = list(SPECIES_HUMAN) // no ayyliums because the frontier rig only fits humans. i wish i could put unathi in here tho
else if(t == "occultist")
welcome_message = "You are a stranded occultist!
This unfortunate turn of events was in the cards. Nonetheless, you managed to save your most prized possessions - your magical deck of cards and your ominous, definitely magical robes. The cards have also told you that your bad luck will surely be followed by good fortune."
- outfit = /obj/outfit/admin/pod/occultist
+ outfit = /datum/outfit/admin/pod/occultist
else if(t == "pmc")
welcome_message = "You are a stranded Eridani paramilitary sergeant!
You aren't getting paid enough for this shit. Where's the pickup shuttle?"
- outfit = /obj/outfit/admin/pod/pmc
+ outfit = /datum/outfit/admin/pod/pmc
possible_species = list(SPECIES_HUMAN) // no cycler in the pod, spawns in a voidsuit
else if(t == "tcfl")
welcome_message = "You are a stranded member of the Tau Ceti Foreign Legion!
Perhaps there was a training accident or maybe something went wrong during a routine operation in the Romanovich Cloud. The Prefect will never let you hear the end of this..."
- outfit = /obj/outfit/admin/pod/tcfl
+ outfit = /datum/outfit/admin/pod/tcfl
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA) // TCFL accepts everyone. G1 and G2 have been excluded because they can't wear the hardsuit, which has the suit cooler.
else if(t == "fsf")
welcome_message = "You are a stranded Petty Officer of the Free Solarian Fleets!
Your skiff out of the FSFV Sforza was on a routine patrol when an accident or an attack forced you to abandon ship. Thankfully, you seem to be in friendly territory..."
- outfit = /obj/outfit/admin/pod/fsf
+ outfit = /datum/outfit/admin/pod/fsf
possible_species = list(SPECIES_HUMAN)
else if(t == "scc")
welcome_message = "You are a stranded Stellar Corporate Conglomerate low-level functionary!
A routine inspection of SCC assets in the Romanovich cloud turned into disaster when your shuttle's reactor suddenly and mysteriously failed. You narrowly escaped with your life. Worst of all? You lost your paperwork."
- outfit = /obj/outfit/admin/pod/scc
+ outfit = /datum/outfit/admin/pod/scc
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
else if(t == "fib")
welcome_message = "You are a stranded Federal Investigation Bureau Agent!
What was supposed to be a standard investigation turned into a nightmare when the vessel you were supposed to board opened fire! You just managed to reach an escape pod before your own ship was turned into smoldering rubble. You really need some coffee."
- outfit = /obj/outfit/admin/pod/bssb
+ outfit = /datum/outfit/admin/pod/bssb
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
else
welcome_message = "You are a stranded drugs smuggler!
You shouldn't have had the fucking Tajara pilot your ship. Of course we crashed into a rock. Good thing you've got some of the stuff with you while evacuating - maybe you'll crash somewhere you could sell it for a ticket back?"
- outfit = /obj/outfit/admin/pod/smuggler
+ outfit = /datum/outfit/admin/pod/smuggler
possible_species = list(SPECIES_HUMAN,SPECIES_SKRELL, SPECIES_SKRELL_AXIORI,SPECIES_UNATHI)
/datum/ghostspawner/human/rescuepodsurv/select_spawnlocation(var/use=TRUE)
@@ -86,7 +86,7 @@
//Base equipment for the pod (softsuit + emergency oxygen)
-/obj/outfit/admin/pod
+/datum/outfit/admin/pod
head = /obj/item/clothing/head/helmet/space/emergency
mask = /obj/item/clothing/mask/breath
id = /obj/item/card/id
@@ -95,7 +95,7 @@
l_ear = /obj/item/device/radio/headset
back = /obj/item/storage/backpack
-/obj/outfit/admin/pod/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/pod/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
//Turn on the oxygen tank
H.internal = H.s_store
@@ -109,7 +109,7 @@
new /obj/item/clothing/head/helmet/space/emergency(H.loc) // the survivor spawns with no EVA gear,
new /obj/item/tank/emergency_oxygen/double(H.loc) // they can use this, and not just die in space
-/obj/outfit/admin/pod/star
+/datum/outfit/admin/pod/star
name = "RescuePod - Star"
uniform = "suit selection"
@@ -123,14 +123,14 @@
/obj/item/airbubble = 1
)
-/obj/outfit/admin/pod/star/get_id_assignment()
+/datum/outfit/admin/pod/star/get_id_assignment()
return "Visitor"
-/obj/outfit/admin/pod/star/get_id_rank()
+/datum/outfit/admin/pod/star/get_id_rank()
return "Visitor"
-/obj/outfit/admin/pod/priest
+/datum/outfit/admin/pod/priest
name = "RescuePod - Priest"
uniform = /obj/item/clothing/under/rank/chaplain
@@ -142,14 +142,14 @@
/obj/item/airbubble = 1
)
-/obj/outfit/admin/pod/priest/get_id_assignment()
+/datum/outfit/admin/pod/priest/get_id_assignment()
return "Priest"
-/obj/outfit/admin/pod/priest/get_id_rank()
+/datum/outfit/admin/pod/priest/get_id_rank()
return "Priest"
-/obj/outfit/admin/pod/rep
+/datum/outfit/admin/pod/rep
name = "RescuePod - IdrisRep"
head = /obj/item/clothing/head/beret/corporate/idris
@@ -170,14 +170,14 @@
/obj/item/stamp/idris = 1
)
-/obj/outfit/admin/pod/rep/get_id_assignment()
+/datum/outfit/admin/pod/rep/get_id_assignment()
return "Corporate Liaison (Idris)"
-/obj/outfit/admin/pod/rep/get_id_rank()
+/datum/outfit/admin/pod/rep/get_id_rank()
return "Corporate Liaison"
-/obj/outfit/admin/pod/smuggler
+/datum/outfit/admin/pod/smuggler
name = "RescuePod - Smuggler"
shoes = "shoe selection"
@@ -192,14 +192,14 @@
/obj/item/airbubble = 1
)
-/obj/outfit/admin/pod/smuggler/get_id_assignment()
+/datum/outfit/admin/pod/smuggler/get_id_assignment()
return "Merchant"
-/obj/outfit/admin/pod/smuggler/get_id_rank()
+/datum/outfit/admin/pod/smuggler/get_id_rank()
return "Merchant"
-/obj/outfit/admin/pod/hunter
+/datum/outfit/admin/pod/hunter
name = "RescuePod - Hunter"
head = null
suit = null
@@ -210,14 +210,14 @@
uniform = "pants selection"
back = /obj/item/rig/gunslinger
-/obj/outfit/admin/pod/hunter/get_id_assignment()
+/datum/outfit/admin/pod/hunter/get_id_assignment()
return "Visitor"
-/obj/outfit/admin/pod/hunter/get_id_rank()
+/datum/outfit/admin/pod/hunter/get_id_rank()
return "Visitor"
-/obj/outfit/admin/pod/occultist
+/datum/outfit/admin/pod/occultist
name = "RescuePod - Occultist"
id = /obj/item/card/id
shoes = /obj/item/clothing/shoes/laceup
@@ -230,14 +230,14 @@
/obj/item/airbubble = 1
)
-/obj/outfit/admin/pod/occultist/get_id_assignment()
+/datum/outfit/admin/pod/occultist/get_id_assignment()
return "Visitor"
-/obj/outfit/admin/pod/occultist/get_id_rank()
+/datum/outfit/admin/pod/occultist/get_id_rank()
return "Visitor"
-/obj/outfit/admin/pod/pmc
+/datum/outfit/admin/pod/pmc
name = "RescuePod - PMCG Sergeant"
head = /obj/item/clothing/head/helmet/space/void/cruiser
suit = /obj/item/clothing/suit/space/void/cruiser
@@ -248,13 +248,13 @@
belt = /obj/item/gun/energy/gun/nuclear
uniform = /obj/item/clothing/under/rank/security/pmc
-/obj/outfit/admin/pod/pmc/get_id_assignment()
+/datum/outfit/admin/pod/pmc/get_id_assignment()
return "Security Officer (PMCG)"
-/obj/outfit/admin/pod/pmc/get_id_rank()
+/datum/outfit/admin/pod/pmc/get_id_rank()
return "Security Officer"
-/obj/outfit/admin/pod/tcfl
+/datum/outfit/admin/pod/tcfl
name = "RescuePod - TCFL Member"
head = /obj/item/clothing/head/beret/legion/field
l_ear = /obj/item/device/radio/headset/legion
@@ -280,13 +280,13 @@
/obj/item/device/radio = 1
)
-/obj/outfit/admin/pod/tcfl/get_id_assignment()
+/datum/outfit/admin/pod/tcfl/get_id_assignment()
return "TCFL"
-/obj/outfit/admin/pod/tcfl/get_id_rank()
+/datum/outfit/admin/pod/tcfl/get_id_rank()
return "TCFL"
-/obj/outfit/admin/pod/fsf
+/datum/outfit/admin/pod/fsf
name = "RescuePod - FSF Crewman"
uniform = /obj/item/clothing/under/rank/sol/
shoes = /obj/item/clothing/shoes/jackboots
@@ -311,13 +311,13 @@
/obj/item/clothing/head/sol = 1
)
-/obj/outfit/admin/pod/fsf/get_id_assignment()
+/datum/outfit/admin/pod/fsf/get_id_assignment()
return "Free Solarian Fleets Crewman"
-/obj/outfit/admin/pod/fsf/get_id_rank()
+/datum/outfit/admin/pod/fsf/get_id_rank()
return "Free Solarian Fleets Crewman"
-/obj/outfit/admin/pod/scc
+/datum/outfit/admin/pod/scc
name = "RescuePod - SCC"
uniform = /obj/item/clothing/under/rank/scc
@@ -335,13 +335,13 @@
-/obj/outfit/admin/pod/scc/get_id_assignment()
+/datum/outfit/admin/pod/scc/get_id_assignment()
return "Stellar Corporate Conglomerate Functionary"
-/obj/outfit/admin/pod/scc/get_id_rank()
+/datum/outfit/admin/pod/scc/get_id_rank()
return "Stellar Corporate Conglomerate Functionary"
-/obj/outfit/admin/pod/bssb
+/datum/outfit/admin/pod/bssb
name = "RescuePod - BSSB" // Doctor Pavel, I'm FIB.
uniform = /obj/item/clothing/under/rank/bssb
@@ -363,10 +363,10 @@
-/obj/outfit/admin/pod/bssb/get_id_assignment()
+/datum/outfit/admin/pod/bssb/get_id_assignment()
return "Federal Investigation Bureau Agent"
-/obj/outfit/admin/pod/bssb/get_id_rank()
+/datum/outfit/admin/pod/bssb/get_id_rank()
return "Federal Investigation Bureau Agent"
@@ -377,9 +377,9 @@
/datum/ghostspawner/human/rescuepodsurv/burglar/New()
welcome_message = "You're a petty criminal on the run from the law!
After a failed bit of theft and larceny, you've found yourself in an escape pod hurtling toward the [station_name()]. You'll probably end up incarcerated or dead, but...with a great risk comes great rewards. Maybe you can make a big score after all?"
- outfit = /obj/outfit/admin/pod/burglar
+ outfit = /datum/outfit/admin/pod/burglar
-/obj/outfit/admin/pod/burglar
+/datum/outfit/admin/pod/burglar
name = "RescuePod - Burglar"
uniform = list(
@@ -418,7 +418,7 @@
backpack_contents = list()
-/obj/outfit/admin/pod/burglar/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/pod/burglar/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
if (visualsOnly)
return
diff --git a/code/modules/ghostroles/spawner/human/human.dm b/code/modules/ghostroles/spawner/human/human.dm
index 48247ec2246..2b9ec1ff89a 100644
--- a/code/modules/ghostroles/spawner/human/human.dm
+++ b/code/modules/ghostroles/spawner/human/human.dm
@@ -13,7 +13,7 @@
//Vars related to human mobs
/// Outfit to equip
- /// Should either be a subtype of `/obj/outfit`, and then it is that specific outfit
+ /// Should either be a subtype of `/datum/outfit`, and then it is that specific outfit
/// Or a list of subtypes, where it randomly picks one outfit from that list
var/outfit = null
/// Outfit overwrite for the species
@@ -161,7 +161,7 @@
//Setup the Outfit
if(picked_species in species_outfits)
- var/obj/outfit/species_outfit = species_outfits[picked_species]
+ var/datum/outfit/species_outfit = species_outfits[picked_species]
M.preEquipOutfit(species_outfit, FALSE)
M.equipOutfit(species_outfit, FALSE)
else if(outfit)
diff --git a/code/modules/ghostroles/spawner/human/merchant.dm b/code/modules/ghostroles/spawner/human/merchant.dm
index e6953425b0d..db4d70765fc 100644
--- a/code/modules/ghostroles/spawner/human/merchant.dm
+++ b/code/modules/ghostroles/spawner/human/merchant.dm
@@ -10,7 +10,7 @@
max_count = 1
//Vars related to human mobs
- outfit = /obj/outfit/merchant_assistant
+ outfit = /datum/outfit/merchant_assistant
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/code/modules/ghostroles/spawner/human/pra.dm b/code/modules/ghostroles/spawner/human/pra.dm
index ef2738d740f..5a1a2acbaa5 100644
--- a/code/modules/ghostroles/spawner/human/pra.dm
+++ b/code/modules/ghostroles/spawner/human/pra.dm
@@ -10,7 +10,7 @@
max_count = 3
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/pra_cosmonaut
+ outfit = /datum/outfit/admin/pra_cosmonaut
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -30,10 +30,10 @@
assigned_role = "Party Commissar"
special_role = "Party Commissar"
- outfit = /obj/outfit/admin/pra_cosmonaut/commissar
+ outfit = /datum/outfit/admin/pra_cosmonaut/commissar
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
-/obj/outfit/admin/pra_cosmonaut
+/datum/outfit/admin/pra_cosmonaut
name = "Kosmostrelki"
uniform = /obj/item/clothing/under/tajaran/cosmonaut
@@ -52,7 +52,7 @@
r_hand = /obj/item/storage/field_ration
l_hand = /obj/item/martial_manual/tajara
-/obj/outfit/admin/pra_cosmonaut/commissar
+/datum/outfit/admin/pra_cosmonaut/commissar
name = "Party Commissar"
uniform = /obj/item/clothing/under/tajaran/cosmonaut/commissar
diff --git a/code/modules/ghostroles/spawner/human/responseteams/ap_eridani.dm b/code/modules/ghostroles/spawner/human/responseteams/ap_eridani.dm
index 1e41382a808..01d0e5b0f59 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/ap_eridani.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/ap_eridani.dm
@@ -6,7 +6,7 @@
desc = "A specialist suited for close asset protection and policing duties. Ensure your colleagues ledgers remain in the black."
welcome_message = "You are part of an Eridani Private Military Company Asset Protection Team, a highly trained group of security specialists and medical professionals \
contracted by the Stellar Corporate Conglomerate to protect its investments."
- outfit = /obj/outfit/admin/ert/ap_eridani
+ outfit = /datum/outfit/admin/ert/ap_eridani
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
/datum/ghostspawner/human/ert/ap_eridani/lead
@@ -15,7 +15,7 @@
mob_name_prefix = "Ldr. "
max_count = 1
desc = "The leader of the EPMC Asset Protection Team. Ensure your employers bottom line remains protected and don't sign blindly."
- outfit = /obj/outfit/admin/ert/ap_eridani/lead
+ outfit = /datum/outfit/admin/ert/ap_eridani/lead
possible_species = list(SPECIES_HUMAN)
/datum/ghostspawner/human/ert/ap_eridani/doctor
@@ -24,7 +24,7 @@
mob_name_prefix = "Dr. "
max_count = 1
desc = "A highly trained Eridani medical officer and the second in command of the EPMC Asset Protection Team. Well versed in surgical procedures and expected to work in a hot zone. Not a stranger to a bank run."
- outfit = /obj/outfit/admin/ert/ap_eridani/doctor
+ outfit = /datum/outfit/admin/ert/ap_eridani/doctor
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC_SHELL)
/datum/ghostspawner/human/ert/ap_eridani/corpsman
@@ -33,5 +33,5 @@
mob_name_prefix = "Cm. "
max_count = 2
desc = "An Eridani corpsman that can handle nursing duties as well. Trained to operate in combat environments if needed. Make sure to check your quarterlies."
- outfit = /obj/outfit/admin/ert/ap_eridani/corpsman
+ outfit = /datum/outfit/admin/ert/ap_eridani/corpsman
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/einstein.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/einstein.dm
index 211cd8e4de5..1b976e8b9f0 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/corporate/einstein.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/einstein.dm
@@ -4,7 +4,7 @@
desc = "A responder from an Einstein Engines asset protection squad."
max_count = 2
welcome_message = "You are a member of an Einstein Engines heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Obey your commander's orders."
- outfit = /obj/outfit/admin/ert/einstein
+ outfit = /datum/outfit/admin/ert/einstein
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
assigned_role = "Asset Protection (Einstein)"
@@ -13,20 +13,20 @@
short_name = "ee_ertm"
desc = "A medical specialist from an Einstein Engines asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/einstein/medic
+ outfit = /datum/outfit/admin/ert/einstein/medic
/datum/ghostspawner/human/ert/einstein/engineer
name = "Einstein Engines Engineering Specialist"
short_name = "ee_erte"
desc = "An engineering specialist from an Einstein Engines asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/einstein/engi
+ outfit = /datum/outfit/admin/ert/einstein/engi
/datum/ghostspawner/human/ert/einstein/leader
name = "Einstein Engines Squad Leader"
short_name = "ee_ertl"
desc = "The commander of a Einstein Engines asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/einstein/leader
+ outfit = /datum/outfit/admin/ert/einstein/leader
welcome_message = "You are the commander of an Einstein Engines heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Lead your team."
assigned_role = "Asset Protection Commander (Einstein)"
diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/hephaestus.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/hephaestus.dm
index c76659b7893..df222fd3d4c 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/corporate/hephaestus.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/hephaestus.dm
@@ -4,7 +4,7 @@
desc = "A responder from a Hephaestus Industries asset protection squad."
max_count = 2
welcome_message = "You are a member of a Hephaestus heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Obey your commander's orders."
- outfit = /obj/outfit/admin/ert/hephaestus
+ outfit = /datum/outfit/admin/ert/hephaestus
possible_species = list(SPECIES_HUMAN, SPECIES_UNATHI)
assigned_role = "Asset Protection (Hepht)"
@@ -13,20 +13,20 @@
short_name = "hephmed"
desc = "A medical specialist from a Hephaestus Industries asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/hephaestus/medic
+ outfit = /datum/outfit/admin/ert/hephaestus/medic
/datum/ghostspawner/human/ert/hephaestus/engineer
name = "Hephaestus Industries Engineering Specialist"
short_name = "hepheng"
desc = "An engineering specialist from a Hephaestus Industries asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/hephaestus/engi
+ outfit = /datum/outfit/admin/ert/hephaestus/engi
/datum/ghostspawner/human/ert/hephaestus/leader
name = "Hephaestus Industries Squad Leader"
short_name = "hephlead"
desc = "The commander of a Hephaestus Industries asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/hephaestus/leader
+ outfit = /datum/outfit/admin/ert/hephaestus/leader
welcome_message = "You are the commander of a Hephaestus heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Lead your team."
diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/nt_ert.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/nt_ert.dm
index fddcec1c547..4c683506bcb 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/corporate/nt_ert.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/nt_ert.dm
@@ -4,7 +4,7 @@
desc = "A responder of the NanoTrasen Phoenix ERT."
welcome_message = "You're part of the NanoTrasen Phoenix ERT, stationed at the Odin. Your usual powers apply here."
max_count = 2
- outfit = /obj/outfit/admin/ert/nanotrasen
+ outfit = /datum/outfit/admin/ert/nanotrasen
mob_name_prefix = "Tpr. "
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
spawnpoints = list("NTERTSpawn")
@@ -14,14 +14,14 @@
short_name = "nteng"
desc = "An engineering specialist of the NanoTrasen Phoenix ERT."
max_count = 1
- outfit = /obj/outfit/admin/ert/nanotrasen/specialist
+ outfit = /datum/outfit/admin/ert/nanotrasen/specialist
mob_name_prefix = "S/Tpr. "
/datum/ghostspawner/human/ert/nanotrasen/specialist/med
name = "NanoTrasen Medical Specialist"
short_name = "ntmed"
desc = "A medical specialist of the NanoTrasen Phoenix ERT."
- outfit = /obj/outfit/admin/ert/nanotrasen/specialist/medical
+ outfit = /datum/outfit/admin/ert/nanotrasen/specialist/medical
/datum/ghostspawner/human/ert/nanotrasen/leader
name = "NanoTrasen Leader"
diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/scc_ert.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/scc_ert.dm
index e890d6adf2f..a8bb410331e 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/corporate/scc_ert.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/scc_ert.dm
@@ -4,7 +4,7 @@
desc = "A Stellar Corporate Conglomerate emergency responder."
welcome_message = "You are part of an SCC asset protection squad, sent in response to a distress call. Obey your commander and safeguard SCC assets."
max_count = 2
- outfit = /obj/outfit/admin/ert/scc
+ outfit = /datum/outfit/admin/ert/scc
mob_name_prefix = "Tpr. "
possible_species = list(SPECIES_HUMAN) //no one made an scc skrellmet
spawnpoints = list("NTERTSpawn")
@@ -15,14 +15,14 @@
desc = "An engineering specialist of the Stellar Corporate Conglomerate ERT."
max_count = 1
mob_name_prefix = "S/Tpr. "
- outfit = /obj/outfit/admin/ert/scc/engineer
+ outfit = /datum/outfit/admin/ert/scc/engineer
/datum/ghostspawner/human/ert/scc/medic
name = "SCC Medical Specialist"
short_name = "sccmed"
desc = "A medical specialist of the Stellar Corporate Conglomerate ERT."
max_count = 1
- outfit = /obj/outfit/admin/ert/scc/medic
+ outfit = /datum/outfit/admin/ert/scc/medic
/datum/ghostspawner/human/ert/scc/commander
name = "SCC ERT Commander"
@@ -30,4 +30,4 @@
desc = "The commander of the Stellar Corporate Conglomerate ERT."
max_count = 1
mob_name_prefix = "L/Tpr. "
- outfit = /obj/outfit/admin/ert/scc/commander
+ outfit = /datum/outfit/admin/ert/scc/commander
diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/zavod.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/zavod.dm
index 8032d4c241a..65c23f413b8 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/corporate/zavod.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/zavod.dm
@@ -4,7 +4,7 @@
desc = "A responder from a Zavodskoi Interstellar asset protection squad."
max_count = 2
welcome_message = "You are a member of a Zavodskoi heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Obey your commander's orders."
- outfit = /obj/outfit/admin/ert/zavodskoi
+ outfit = /datum/outfit/admin/ert/zavodskoi
possible_species = list(SPECIES_HUMAN) //Only humans have Zavod voidsuit sprites currently
assigned_role = "Asset Protection (Zavod)"
@@ -13,20 +13,20 @@
short_name = "zavmed"
desc = "A medical specialist from a Zavodskoi Interstellar asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/zavodskoi/medic
+ outfit = /datum/outfit/admin/ert/zavodskoi/medic
/datum/ghostspawner/human/ert/zavodskoi/engineer
name = "Zavodskoi Interstellar Engineering Specialist"
short_name = "zaveng"
desc = "An engineering specialist from a Zavodskoi Interstellar asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/zavodskoi/engi
+ outfit = /datum/outfit/admin/ert/zavodskoi/engi
/datum/ghostspawner/human/ert/zavodskoi/leader
name = "Zavodskoi Interstellar Squad Leader"
short_name = "zavlead"
desc = "The commander of a Zavodskoi Interstellar asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/zavodskoi/lead
+ outfit = /datum/outfit/admin/ert/zavodskoi/lead
welcome_message = "You are the commander of a Zavodskoi heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Lead your team."
assigned_role = "Asset Protection Commander (Zavod)"
diff --git a/code/modules/ghostroles/spawner/human/responseteams/corporate/zenghu.dm b/code/modules/ghostroles/spawner/human/responseteams/corporate/zenghu.dm
index aed7f8fbda4..139bfb87f2b 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/corporate/zenghu.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/corporate/zenghu.dm
@@ -4,7 +4,7 @@
desc = "A responder from a Zeng-Hu Pharmaceuticals asset protection squad."
max_count = 2
welcome_message = "You are a member of a Zeng-Hu heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Obey your commander's orders."
- outfit = /obj/outfit/admin/ert/zeng
+ outfit = /datum/outfit/admin/ert/zeng
possible_species = list(SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
assigned_role = "Asset Protection (Zeng)"
@@ -13,20 +13,20 @@
short_name = "zengertmed"
desc = "A medical specialist from a Zeng-Hu Pharmaceuticals asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/zeng/medic
+ outfit = /datum/outfit/admin/ert/zeng/medic
/datum/ghostspawner/human/ert/zeng/engineer
name = "Zeng-Hu Pharmaceuticals Engineering Specialist"
short_name = "zengerteng"
desc = "An engineering specialist from a Zeng-Hu Pharmaceuticals asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/zeng/engineer
+ outfit = /datum/outfit/admin/ert/zeng/engineer
/datum/ghostspawner/human/ert/zeng/leader
name = "Zeng-Hu Pharmaceuticals Squad Leader"
short_name = "zengertlead"
desc = "The commander of a Zeng-Hu Pharmaceuticals asset protection squad."
max_count = 1
- outfit = /obj/outfit/admin/ert/zeng/leader
+ outfit = /datum/outfit/admin/ert/zeng/leader
welcome_message = "You are the commander of a Zeng-Hu heavy asset protection squad. You have recieved a distress call, and been dispatched to investigate. Lead your team."
assigned_role = "Asset Protection Commander (Zavod)"
diff --git a/code/modules/ghostroles/spawner/human/responseteams/deathsquad.dm b/code/modules/ghostroles/spawner/human/responseteams/deathsquad.dm
index f5a2a144015..3df6dd49e81 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/deathsquad.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/deathsquad.dm
@@ -3,7 +3,7 @@
short_name = "ntaps"
max_count = 3
desc = "Protectors of the SCC's bottom line. The last thing you never see."
- outfit = /obj/outfit/admin/deathsquad
+ outfit = /datum/outfit/admin/deathsquad
spawnpoints = list("DeathERTSpawn")
possible_species = list(SPECIES_HUMAN)
mob_name_prefix = "Spec. "
@@ -19,7 +19,7 @@
short_name = "ntapl"
max_count = 1
desc = "Leader of SCC's Asset Protection team."
- outfit = /obj/outfit/admin/deathsquad/leader
+ outfit = /datum/outfit/admin/deathsquad/leader
mob_name_prefix = "Ldr. "
/datum/ghostspawner/human/ert/deathsquad/post_spawn(mob/user)
diff --git a/code/modules/ghostroles/spawner/human/responseteams/human/biesel.dm b/code/modules/ghostroles/spawner/human/responseteams/human/biesel.dm
index d870622b900..ee6d115df2f 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/human/biesel.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/human/biesel.dm
@@ -3,7 +3,7 @@
short_name = "erttcaf"
desc = "A soldier of the Republican Fleet response team."
max_count = 2
- outfit = /obj/outfit/admin/ert/tcaf
+ outfit = /datum/outfit/admin/ert/tcaf
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA, SPECIES_DIONA_COEUS)
mob_name_prefix = "Lgn. "
welcome_message = "You are a soldier of the Tau Ceti Republican Fleet, assigned to respond to a distress call from the SCCV Horizon."
@@ -14,7 +14,7 @@
short_name = "erttcafm"
desc = "The assigned medic of the Republican Fleet response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/tcaf/medic
+ outfit = /datum/outfit/admin/ert/tcaf/medic
welcome_message = "You are a medical specialist of the Tau Ceti Republican Fleet, assigned to respond to a distress call from the SCCV Horizon."
assigned_role = "Republican Fleet Medic"
@@ -23,7 +23,7 @@
short_name = "erttcafe"
desc = "The assigned sapper and engineering specialist of the Republican Fleet response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/tcaf/engi
+ outfit = /datum/outfit/admin/ert/tcaf/engi
welcome_message = "You are an engineering specialist of the Tau Ceti Republican Fleet, assigned to respond to a distress call from the SCCV Horizon."
assigned_role = "Republican Fleet Engineer"
@@ -32,7 +32,7 @@
short_name = "erttcaflead"
desc = "The commanding officer of the Republican Fleet response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/tcaf/officer
+ outfit = /datum/outfit/admin/ert/tcaf/officer
welcome_message = "You are the commanding officer of a Tau Ceti Republican Fleet squadron, assigned to respond to a distress call from the SCCV Horizon."
assigned_role = "Republican Fleet Officer"
mob_name_prefix = "Dec. "
diff --git a/code/modules/ghostroles/spawner/human/responseteams/human/coalition.dm b/code/modules/ghostroles/spawner/human/responseteams/human/coalition.dm
index afec626c666..b089377ba14 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/human/coalition.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/human/coalition.dm
@@ -4,7 +4,7 @@
max_count = 3
desc = "Rank and file of the Frontier Ranger response team."
welcome_message = "You are a Ranger with the Frontier Protection Bureau. Your vessel has recieved a distress signal, and you were sent to investigate. Obey the orders of your commander."
- outfit = /obj/outfit/admin/ert/coalition
+ outfit = /datum/outfit/admin/ert/coalition
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
/datum/ghostspawner/human/ert/coalition/medic
@@ -12,14 +12,14 @@
short_name = "cocm"
max_count = 1
desc = "Medical specialist of the Frontier Ranger response team."
- outfit = /obj/outfit/admin/ert/coalition/medic
+ outfit = /datum/outfit/admin/ert/coalition/medic
/datum/ghostspawner/human/ert/coalition/engineer
name = "Coalition Ranger Sapper"
short_name = "coce"
max_count = 1
desc = "Sapper and engineering specialist of the Frontier Ranger response team."
- outfit = /obj/outfit/admin/ert/coalition/sapper
+ outfit = /datum/outfit/admin/ert/coalition/sapper
/datum/ghostspawner/human/ert/coalition/leader
name = "Coalition Ranger Squad Leader"
@@ -27,14 +27,14 @@
max_count = 1
desc = "Commander of the Frontier Ranger response team."
welcome_message = "You are the commander of a Frontier Ranger patrol vessel. While on patrol, your ship received a distress signal and you were sent to investigate. Lead your team."
- outfit = /obj/outfit/admin/ert/coalition/leader
+ outfit = /datum/outfit/admin/ert/coalition/leader
/datum/ghostspawner/human/ert/konyang
name = "Konyang Aerospace Force Crewman"
short_name = "konc"
desc = "Rank and file of the Konyang Aerospace Force"
welcome_message = "You are a crewman with the Konyang Aerospace Force. You have recieved a distress signal and been dispatched to investigate. Obey your commander."
- outfit = /obj/outfit/admin/ert/konyang
+ outfit = /datum/outfit/admin/ert/konyang
max_count = 3
mob_name_prefix = "PO3. "
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
@@ -44,7 +44,7 @@
short_name = "konm"
desc = "Medical specialist of the Konyang Aerospace Force."
mob_name_prefix = "PO2. "
- outfit = /obj/outfit/admin/ert/konyang/medic
+ outfit = /datum/outfit/admin/ert/konyang/medic
max_count = 1
/datum/ghostspawner/human/ert/konyang/sapper
@@ -52,7 +52,7 @@
short_name = "kons"
desc = "Sapper and engineering specialist of the Konyang Aerospace Force."
mob_name_prefix = "PO1. "
- outfit = /obj/outfit/admin/ert/konyang/sapper
+ outfit = /datum/outfit/admin/ert/konyang/sapper
max_count = 1
/datum/ghostspawner/human/ert/konyang/leader
@@ -61,5 +61,5 @@
desc = "Commander of the Konyang Aerospace Force response team."
welcome_message = "You are an officer of the Konyang Aerospace Force. While on patrol, your ship received a distress signal and you were sent to investigate. Lead your team."
mob_name_prefix = "LT. "
- outfit = /obj/outfit/admin/ert/konyang/leader
+ outfit = /datum/outfit/admin/ert/konyang/leader
max_count = 1
diff --git a/code/modules/ghostroles/spawner/human/responseteams/human/dominia.dm b/code/modules/ghostroles/spawner/human/responseteams/human/dominia.dm
index f1f8fc5ab5a..45039f15061 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/human/dominia.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/human/dominia.dm
@@ -2,7 +2,7 @@
short_name = "ertdom"
name = "Imperial Fleet Armsman"
desc = "You are an enlisted voidsman of the Dominian Imperial Fleet, responding to a distress call in the sector."
- outfit = /obj/outfit/admin/ert/dominia
+ outfit = /datum/outfit/admin/ert/dominia
mob_name_prefix = "ARMSN. " //Armsman
max_count = 2
possible_species = list(SPECIES_HUMAN)
@@ -13,7 +13,7 @@
short_name = "ertdomm"
name = "Imperial Fleet Medic"
desc = "You are a medical specialist voidsman of the Dominian Imperial Fleet, responding to a distress call in the sector."
- outfit = /obj/outfit/admin/ert/dominia/medic
+ outfit = /datum/outfit/admin/ert/dominia/medic
mob_name_prefix = "VDSMN. " //Voidsman
max_count = 1
assigned_role = "Imperial Fleet Medic"
@@ -22,7 +22,7 @@
short_name = "ertdome"
name = "Imperial Fleet Sapper"
desc = "You are an engineering specialist voidsman of the Dominian Imperial Fleet, responding to a distress call in the sector."
- outfit = /obj/outfit/admin/ert/dominia/engi
+ outfit = /datum/outfit/admin/ert/dominia/engi
mob_name_prefix = "VDSMN. " //Voidsman
max_count = 1
assigned_role = "Imperial Fleet Sapper"
@@ -31,7 +31,7 @@
short_name = "ertdomlead"
name = "Imperial Fleet Offcer"
desc = "You are an ensign of the Dominian Imperial Fleet, leading the response to a distress call in the sector."
- outfit = /obj/outfit/admin/ert/dominia/officer
+ outfit = /datum/outfit/admin/ert/dominia/officer
mob_name_prefix = "ENS. " //Voidsman
max_count = 1
assigned_role = "Imperial Fleet Officer"
diff --git a/code/modules/ghostroles/spawner/human/responseteams/human/elyra.dm b/code/modules/ghostroles/spawner/human/responseteams/human/elyra.dm
index bc17a4b36b9..688d0e7d937 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/human/elyra.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/human/elyra.dm
@@ -5,7 +5,7 @@
welcome_message = "You're a member of the Elyran Navy. While on patrol, your ship received a distress signal and you were sent to investigate. Obey the orders of your commander."
max_count = 3
mob_name_prefix = "Cm. "
- outfit = /obj/outfit/admin/ert/elyran_trooper
+ outfit = /datum/outfit/admin/ert/elyran_trooper
possible_species = list(SPECIES_HUMAN)
extra_languages = list(LANGUAGE_ELYRAN_STANDARD)
@@ -17,7 +17,7 @@
welcome_message = "You're an officer of the Elyran Navy. While on patrol, your ship received a distress signal and you were sent to investigate. Lead your team."
mob_name_prefix = "Ens. "
max_count = 1
- outfit = /obj/outfit/admin/ert/elyran_trooper/leader
+ outfit = /datum/outfit/admin/ert/elyran_trooper/leader
/datum/ghostspawner/human/ert/elyra/engineer
short_name = "elyra_engtrooper"
@@ -25,7 +25,7 @@
desc = "The engineering trooper of the Elyran Navy team."
mob_name_prefix = "PO3. "
max_count = 1
- outfit = /obj/outfit/admin/ert/elyran_trooper/engineer
+ outfit = /datum/outfit/admin/ert/elyran_trooper/engineer
/datum/ghostspawner/human/ert/elyra/heavy
short_name = "elyra_heavy"
@@ -33,7 +33,7 @@
desc = "The heavy trooper of the Elyran Navy team."
mob_name_prefix = "PO3. "
max_count = 1
- outfit = /obj/outfit/admin/ert/elyran_trooper/heavy
+ outfit = /datum/outfit/admin/ert/elyran_trooper/heavy
/datum/ghostspawner/human/ert/elyra/medical
short_name = "elyra_medtrooper"
@@ -41,4 +41,4 @@
desc = "The medical trooper of the Elyran Navy team."
mob_name_prefix = "PO3. "
max_count = 1
- outfit = /obj/outfit/admin/ert/elyran_trooper/medical
+ outfit = /datum/outfit/admin/ert/elyran_trooper/medical
diff --git a/code/modules/ghostroles/spawner/human/responseteams/human/fsf.dm b/code/modules/ghostroles/spawner/human/responseteams/human/fsf.dm
index 7d97a800c41..cab8a688b03 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/human/fsf.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/human/fsf.dm
@@ -4,7 +4,7 @@
desc = "A responder from a Free Solarian Fleets marine fireteam."
welcome_message = "You're part of a marine fireteam dispatched from the FSFV Sforza, a Free Solarian Fleets destroyer on the SCC's payroll. Your primary motivation is money: the SCC pays you well, and you have a job to do."
max_count = 2
- outfit = /obj/outfit/admin/ert/fsf
+ outfit = /datum/outfit/admin/ert/fsf
mob_name_prefix = "Pfc. "
possible_species = list(SPECIES_HUMAN)
@@ -13,21 +13,21 @@
short_name = "fsfeng"
desc = "An engineering specialist from a Free Solarian Fleets marine fireteam."
max_count = 1
- outfit = /obj/outfit/admin/ert/fsf/sapper
+ outfit = /datum/outfit/admin/ert/fsf/sapper
mob_name_prefix = "Cpl. "
/datum/ghostspawner/human/ert/fsf/specialist/med
name = "Free Solarian Fleets Medic"
short_name = "fsfmed"
desc = "A medical specialist from a Free Solarian Fleets marine fireteam."
- outfit = /obj/outfit/admin/ert/fsf/medic
+ outfit = /datum/outfit/admin/ert/fsf/medic
/datum/ghostspawner/human/ert/fsf/leader
name = "Free Solarian Fleets Fireteam Leader"
short_name = "fsflead"
desc = "The leader of the Free Solarian Fleets marine fireteam."
max_count = 1
- outfit = /obj/outfit/admin/ert/fsf/leader
+ outfit = /datum/outfit/admin/ert/fsf/leader
mob_name_prefix = "Sgt. "
/datum/ghostspawner/human/ert/fsf/synth
@@ -35,7 +35,7 @@
short_name = "fsfsynth"
desc = "The non-combatant synthetic unit of the Free Solarian Fleets marine fireteam, armed only for self-defense. Tasked with piloting the shuttle and providing tactical advice and overwatch. Not actually a marine itself, the synth is property of the FSF."
max_count = 1
- outfit = /obj/outfit/admin/ert/fsf/synth
+ outfit = /datum/outfit/admin/ert/fsf/synth
mob_name_prefix = null
possible_species = list(SPECIES_IPC)
diff --git a/code/modules/ghostroles/spawner/human/responseteams/iac.dm b/code/modules/ghostroles/spawner/human/responseteams/iac.dm
index e9fd013fd47..13261ea8c1e 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/iac.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/iac.dm
@@ -5,7 +5,7 @@
max_count = 3
desc = "A highly trained doctor. Can do most medical procedures even under severe stress. The de-facto lead of the IAC response team."
welcome_message = "You are part of the Interstellar Aid Corps, an intergalactic entity set on aiding all in need."
- outfit = /obj/outfit/admin/ert/iac
+ outfit = /datum/outfit/admin/ert/iac
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_DIONA, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
/datum/ghostspawner/human/ert/iac/bodyguard
@@ -14,7 +14,7 @@
mob_name_prefix = "Bdg. "
max_count = 2
desc = "A highly trained bodyguard. Sticks close to the medics while they work."
- outfit = /obj/outfit/admin/ert/iac/bodyguard
+ outfit = /datum/outfit/admin/ert/iac/bodyguard
/datum/ghostspawner/human/ert/iac/paramedic
name = "IAC Paramedic"
@@ -22,4 +22,4 @@
mob_name_prefix = "Pm. "
max_count = 2
desc = "A highly trained paramedic. You grab injured people and bring them to the doctor. You are trained in nursing duties as well."
- outfit = /obj/outfit/admin/ert/iac/paramedic
+ outfit = /datum/outfit/admin/ert/iac/paramedic
diff --git a/code/modules/ghostroles/spawner/human/responseteams/mercenary.dm b/code/modules/ghostroles/spawner/human/responseteams/mercenary.dm
index 292ec6b0b9d..4ec3e3068ee 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/mercenary.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/mercenary.dm
@@ -4,7 +4,7 @@
max_count = 2
desc = "Rank and file of a freelancer mercenary team."
welcome_message = "Your crew has been hired by NanoTrasen to sort out a distress signal. While you wouldn't do anything violent to the crew, maybe they won't miss that one fancy artifact..."
- outfit = /obj/outfit/admin/ert/mercenary
+ outfit = /datum/outfit/admin/ert/mercenary
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_DIONA, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
/datum/ghostspawner/human/ert/mercenary/specialist
@@ -12,18 +12,18 @@
short_name = "mercs"
max_count = 1
desc = "The only medic of the freelancer mercenary team."
- outfit = /obj/outfit/admin/ert/mercenary/specialist
+ outfit = /datum/outfit/admin/ert/mercenary/specialist
/datum/ghostspawner/human/ert/mercenary/engineer
name = "Mercenary Combat Engineer"
short_name = "merce"
max_count = 1
desc = "The only dedicated engineer of the freelancer mercenary team."
- outfit = /obj/outfit/admin/ert/mercenary/engineer
+ outfit = /datum/outfit/admin/ert/mercenary/engineer
/datum/ghostspawner/human/ert/mercenary/leader
name = "Mercenary Leader"
short_name = "mercl"
max_count = 1
desc = "The leader of the freelancer mercenary team."
- outfit = /obj/outfit/admin/ert/mercenary/leader
+ outfit = /datum/outfit/admin/ert/mercenary/leader
diff --git a/code/modules/ghostroles/spawner/human/responseteams/skrell/qukala.dm b/code/modules/ghostroles/spawner/human/responseteams/skrell/qukala.dm
index ba2857ac1d8..00929b79672 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/skrell/qukala.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/skrell/qukala.dm
@@ -3,7 +3,7 @@
short_name = "ertkala"
desc = "A soldier of the Qukala response team."
max_count = 2
- outfit = /obj/outfit/admin/ert/qukala
+ outfit = /datum/outfit/admin/ert/qukala
uses_species_whitelist = FALSE
possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_VAURCA_WARRIOR, SPECIES_DIONA)
welcome_message = "You are a soldier of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon."
@@ -14,7 +14,7 @@
short_name = "ertkalam"
desc = "A medical specialist of the Qukala response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/qukala/medic
+ outfit = /datum/outfit/admin/ert/qukala/medic
welcome_message = "You are a medical specialist of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon."
assigned_role = "Qukala Medic"
@@ -23,7 +23,7 @@
short_name = "ertkalae"
desc = "An engineering specialist of the Qukala response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/qukala/engi
+ outfit = /datum/outfit/admin/ert/qukala/engi
welcome_message = "You are an engineering specialist of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon."
assigned_role = "Qukala Engineer"
@@ -32,7 +32,7 @@
short_name = "ertkalah"
desc = "A heavy weapons specialist of the Qukala response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/qukala/heavy
+ outfit = /datum/outfit/admin/ert/qukala/heavy
possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) //hardsuit only has skrell sprites
welcome_message = "You are a heavy weapons specialist of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon."
assigned_role = "Qukala Heavy Trooper"
@@ -42,7 +42,7 @@
short_name = "ertkalalead"
desc = "The commanding officer of the Qukala response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/qukala/officer
+ outfit = /datum/outfit/admin/ert/qukala/officer
possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI) //only the warblers get to give orders around here
welcome_message = "You are an officer of the Nralakk Federation Qukala, assigned to respond to a distress call from the SCCV Horizon."
assigned_role = "Qukala Commander"
diff --git a/code/modules/ghostroles/spawner/human/responseteams/syndicate.dm b/code/modules/ghostroles/spawner/human/responseteams/syndicate.dm
index 3ffc1e764aa..1b0520efd09 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/syndicate.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/syndicate.dm
@@ -3,7 +3,7 @@
short_name = "syndc"
max_count = 3
desc = "Well-equipped commandos of the criminal Syndicate."
- outfit = /obj/outfit/admin/deathsquad/syndicate
+ outfit = /datum/outfit/admin/deathsquad/syndicate
spawnpoints = list("SyndERTSpawn")
/datum/ghostspawner/human/ert/commando/New()
@@ -15,7 +15,7 @@
short_name = "syndl"
max_count = 1
desc = "The leader of the Syndicate's elite commandos."
- outfit = /obj/outfit/admin/deathsquad/syndicate/leader
+ outfit = /datum/outfit/admin/deathsquad/syndicate/leader
/datum/ghostspawner/human/ert/commando/post_spawn(mob/user)
var/datum/martial_art/sol_combat/F = new/datum/martial_art/sol_combat(null)
diff --git a/code/modules/ghostroles/spawner/human/responseteams/tajara/kosmostrelki.dm b/code/modules/ghostroles/spawner/human/responseteams/tajara/kosmostrelki.dm
index 09ec1e9313c..00a8c6039fa 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/tajara/kosmostrelki.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/tajara/kosmostrelki.dm
@@ -8,7 +8,7 @@
welcome_message = "You are part of the People's Republic of Adhomai Kosmostrelki. Listen to the commander, but do not ignore the Commissar as they are the Party's eyes."
- outfit = /obj/outfit/admin/ert/pra_cosmonaut
+ outfit = /datum/outfit/admin/ert/pra_cosmonaut
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
extra_languages = list(LANGUAGE_SIIK_MAAS)
@@ -22,7 +22,7 @@
mob_name_prefix = "Alm."
max_count = 1
- outfit = /obj/outfit/admin/ert/pra_cosmonaut/commissar
+ outfit = /datum/outfit/admin/ert/pra_cosmonaut/commissar
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
@@ -34,7 +34,7 @@
max_count = 1
mob_name_prefix = "Akh."
- outfit = /obj/outfit/admin/ert/pra_cosmonaut/commander
+ outfit = /datum/outfit/admin/ert/pra_cosmonaut/commander
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
/datum/ghostspawner/human/ert/pra_cosmonaut/tesla
@@ -45,7 +45,7 @@
max_count = 1
- outfit = /obj/outfit/admin/ert/pra_cosmonaut/tesla
+ outfit = /datum/outfit/admin/ert/pra_cosmonaut/tesla
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
/datum/ghostspawner/human/ert/pra_cosmonaut/medic
@@ -56,7 +56,7 @@
max_count = 1
- outfit = /obj/outfit/admin/ert/pra_cosmonaut/medic
+ outfit = /datum/outfit/admin/ert/pra_cosmonaut/medic
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
/datum/ghostspawner/human/ert/pra_cosmonaut/engineer
@@ -67,5 +67,5 @@
max_count = 1
- outfit = /obj/outfit/admin/ert/pra_cosmonaut/engineer
+ outfit = /datum/outfit/admin/ert/pra_cosmonaut/engineer
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
diff --git a/code/modules/ghostroles/spawner/human/responseteams/tcfl.dm b/code/modules/ghostroles/spawner/human/responseteams/tcfl.dm
index 23856d16233..0d8cc94d32a 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/tcfl.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/tcfl.dm
@@ -4,7 +4,7 @@
desc = "The Tau Ceti Foreign Legion's rank and file."
welcome_message = "The Tau Ceti Foreign Legion works for the Republic of Biesel; your job is to protect the place you're heading to and fix the problem. You can be a Volunteer (Vol.), Legionnaire (Lgn.) or Prefect (Pfct.). The first option is recommended for new players."
max_count = 3
- outfit = /obj/outfit/admin/ert/legion
+ outfit = /datum/outfit/admin/ert/legion
spawnpoints = list("TCFLERTSpawn")
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA, SPECIES_DIONA_COEUS)
mob_name_prefix = "Vol. "
@@ -14,7 +14,7 @@
short_name = "tcfls"
max_count = 2
desc = "An experienced Legionnaire of the TCFL."
- outfit = /obj/outfit/admin/ert/legion/specialist
+ outfit = /datum/outfit/admin/ert/legion/specialist
mob_name_prefix = "Lgn. "
/datum/ghostspawner/human/ert/tcfl/leader
@@ -22,7 +22,7 @@
short_name = "tcfll"
max_count = 1
desc = "A leader of Task Force XIII - Fortune."
- outfit = /obj/outfit/admin/ert/legion/leader
+ outfit = /datum/outfit/admin/ert/legion/leader
mob_name_prefix = "Pfct. "
spawnpoints = list("TCFLERTSpawn - Prefect")
@@ -32,6 +32,6 @@
max_count = 1
desc = "A dropship pilot of the TCFL."
welcome_message = "As a pilot of the Tau Ceti Foreign Legion, your job is to pilot your assigned dropship and keep it safe from any hostile forces. You may also have to assist the main task force in a supporting role if the need arises."
- outfit = /obj/outfit/admin/ert/legion/pilot
+ outfit = /datum/outfit/admin/ert/legion/pilot
mob_name_prefix = "PL. "
spawnpoints = list("TCFLERTSpawn - Pilot")
diff --git a/code/modules/ghostroles/spawner/human/responseteams/unathi/izweski.dm b/code/modules/ghostroles/spawner/human/responseteams/unathi/izweski.dm
index d7dfaa61239..5dc17ae6497 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/unathi/izweski.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/unathi/izweski.dm
@@ -3,7 +3,7 @@
short_name = "ertizweski"
desc = "A soldier of the Izweski Hegemony response team."
max_count = 2
- outfit = /obj/outfit/admin/ert/izweski
+ outfit = /datum/outfit/admin/ert/izweski
uses_species_whitelist = FALSE // Anyone should be able to play an ERT Unathi
possible_species = list(SPECIES_UNATHI)
extra_languages = list(LANGUAGE_UNATHI)
@@ -15,7 +15,7 @@
short_name = "ertizweskim"
desc = "The medical specialist of the Izweski Hegemony response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/izweski/medic
+ outfit = /datum/outfit/admin/ert/izweski/medic
assigned_role = "Izweski Navy Medic"
/datum/ghostspawner/human/ert/izweski/klax
@@ -23,7 +23,7 @@
short_name = "ertizweskik"
desc = "A K'lax Vaurca Warrior, assigned to the Izweski Hegemony response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/izweski/klax
+ outfit = /datum/outfit/admin/ert/izweski/klax
possible_species = list(SPECIES_VAURCA_WARRIOR)
extra_languages = list(LANGUAGE_VAURCA)
@@ -32,6 +32,6 @@
short_name = "ertizweskil"
desc = "The commander of the Izweski Hegemony response team."
max_count = 1
- outfit = /obj/outfit/admin/ert/izweski/leader
+ outfit = /datum/outfit/admin/ert/izweski/leader
welcome_message = "You are the leader of an Izweski Hegemony naval squad, investigating a distress signal. Act with honor, and uphold the interests of the Hegemon."
assigned_role = "Izweski Navy Officer"
diff --git a/code/modules/ghostroles/spawner/human/responseteams/unathi/kataphracts.dm b/code/modules/ghostroles/spawner/human/responseteams/unathi/kataphracts.dm
index 07467ccfb29..dcbe41f7b82 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/unathi/kataphracts.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/unathi/kataphracts.dm
@@ -3,7 +3,7 @@
short_name = "kathope"
desc = "A Zo'saa (squire) of the local Kataphract Guild."
max_count = 2
- outfit = /obj/outfit/admin/ert/kataphract
+ outfit = /datum/outfit/admin/ert/kataphract
mob_name_prefix = "Zosaa "
uses_species_whitelist = FALSE // Anyone should be able to play a Kataphract Unathi
possible_species = list(SPECIES_UNATHI)
@@ -18,7 +18,7 @@
short_name = "katklax"
desc = "A Zo'saa (squire) from the K'lax Hive, here to learn from Unathi Knights what it means to be honourable."
max_count = 1
- outfit = /obj/outfit/admin/ert/kataphract/klax
+ outfit = /datum/outfit/admin/ert/kataphract/klax
mob_name_prefix = "Zosaa "
possible_species = list(SPECIES_VAURCA_WARRIOR)
extra_languages = list(LANGUAGE_VAURCA)
@@ -31,7 +31,7 @@
short_name = "katspec"
desc = "A Zo'saa (squire) trained in medicine from the local Kataphract guild."
max_count = 1
- outfit = /obj/outfit/admin/ert/kataphract/specialist
+ outfit = /datum/outfit/admin/ert/kataphract/specialist
mob_name_prefix = "Zosaa "
/datum/ghostspawner/human/ert/kataphract/leader
@@ -39,5 +39,5 @@
short_name = "katlead"
desc = "A brave Saa (Knight) of the local Kataphract Guild. Two together operate as leaders of the team."
max_count = 2
- outfit = /obj/outfit/admin/ert/kataphract/leader
+ outfit = /datum/outfit/admin/ert/kataphract/leader
mob_name_prefix = "Saa "
diff --git a/code/modules/ghostroles/spawner/human/responseteams/vaurca/klax.dm b/code/modules/ghostroles/spawner/human/responseteams/vaurca/klax.dm
index 0731ae7de92..a1e4f1aa42b 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/vaurca/klax.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/vaurca/klax.dm
@@ -2,7 +2,7 @@
name = "K'lax Warrior"
short_name = "ertklax"
desc = "You are a warrior of the K'lax Hive, deployed to respond to an incident in the sector."
- outfit = /obj/outfit/admin/ert/klax
+ outfit = /datum/outfit/admin/ert/klax
mob_name_suffix = " K'lax"
mob_name_pick_message = "Choose a Vaurca first name."
possible_species = list(SPECIES_VAURCA_WARRIOR)
@@ -14,7 +14,7 @@
name = "K'lax Field Biotechnician"
short_name = "ertklaxm"
desc = "You are a medical specialist of the K'lax Hive, deployed to respond to an incident in the sector."
- outfit = /obj/outfit/admin/ert/klax/medic
+ outfit = /datum/outfit/admin/ert/klax/medic
max_count = 1
assigned_role = "K'lax Field Biotechnician"
@@ -22,7 +22,7 @@
name = "K'lax Sapper"
short_name = "ertklaxe"
desc = "You are an engineering specialist of the K'lax Hive, deployed to respond to an incident in the sector."
- outfit = /obj/outfit/admin/ert/klax/engi
+ outfit = /datum/outfit/admin/ert/klax/engi
max_count = 1
assigned_role = "K'lax Sapper"
@@ -30,6 +30,6 @@
name = "K'lax Heavy"
short_name = "ertklaxh"
desc = "You are a heavy weapons specialist of the K'lax Hive, deployed to respond to an incident in the sector."
- outfit = /obj/outfit/admin/ert/klax/heavy
+ outfit = /datum/outfit/admin/ert/klax/heavy
max_count = 1
assigned_role = "K'lax Heavy"
diff --git a/code/modules/ghostroles/spawner/human/responseteams/vaurca/zora.dm b/code/modules/ghostroles/spawner/human/responseteams/vaurca/zora.dm
index e02f81096d7..bfb9dbf9ad8 100644
--- a/code/modules/ghostroles/spawner/human/responseteams/vaurca/zora.dm
+++ b/code/modules/ghostroles/spawner/human/responseteams/vaurca/zora.dm
@@ -2,7 +2,7 @@
name = "Zo'ra Warrior"
short_name = "ertzora"
desc = "You are a warrior of the Zo'ra Hive, deployed to respond to an incident in the sector."
- outfit = /obj/outfit/admin/ert/zora
+ outfit = /datum/outfit/admin/ert/zora
mob_name_suffix = " Zo'ra"
mob_name_pick_message = "Choose a Vaurca first name."
possible_species = list(SPECIES_VAURCA_WARRIOR)
@@ -14,7 +14,7 @@
name = "Zo'ra Field Biotechnician"
short_name = "ertzoram"
desc = "You are a medical specialist of the Zo'ra Hive, deployed to respond to an incident in the sector."
- outfit = /obj/outfit/admin/ert/zora/medic
+ outfit = /datum/outfit/admin/ert/zora/medic
max_count = 1
assigned_role = "Zo'ra Field Biotechnician"
@@ -22,7 +22,7 @@
name = "Zo'ra Sapper"
short_name = "ertzorae"
desc = "You are an engineering specialist of the Zo'ra Hive, deployed to respond to an incident in the sector."
- outfit = /obj/outfit/admin/ert/zora/engi
+ outfit = /datum/outfit/admin/ert/zora/engi
max_count = 1
assigned_role = "Zo'ra Sapper"
@@ -30,6 +30,6 @@
name = "Zo'ra Heavy"
short_name = "ertzorah"
desc = "You are a heavy weapons specialist of the Zo'ra Hive, deployed to respond to an incident in the sector."
- outfit = /obj/outfit/admin/ert/zora/heavy
+ outfit = /datum/outfit/admin/ert/zora/heavy
max_count = 1
assigned_role = "Zo'ra Heavy"
diff --git a/code/modules/ghostroles/spawner/human/visitor.dm b/code/modules/ghostroles/spawner/human/visitor.dm
index e571b942126..9a31ce2be9e 100644
--- a/code/modules/ghostroles/spawner/human/visitor.dm
+++ b/code/modules/ghostroles/spawner/human/visitor.dm
@@ -11,7 +11,7 @@
show_on_job_select = FALSE
//Vars related to human mobs
- outfit = /obj/outfit/admin/random/visitor
+ outfit = /datum/outfit/admin/random/visitor
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_IPC_G1, SPECIES_IPC_G2)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/code/modules/ghostroles/spawner/human/zenghu.dm b/code/modules/ghostroles/spawner/human/zenghu.dm
index 36a5a040b41..ef0380b563c 100644
--- a/code/modules/ghostroles/spawner/human/zenghu.dm
+++ b/code/modules/ghostroles/spawner/human/zenghu.dm
@@ -11,7 +11,7 @@
away_site = TRUE
- outfit = /obj/outfit/admin/zenghu_survivor
+ outfit = /datum/outfit/admin/zenghu_survivor
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
special_role = "Zeng-Hu Survivor"
respawn_flag = null
-/obj/outfit/admin/zenghu_survivor
+/datum/outfit/admin/zenghu_survivor
name = "Zeng-Hu Employee"
uniform = /obj/item/clothing/under/rank/scientist
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index e9202a9e020..268871aa6ca 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -533,7 +533,7 @@ var/list/slot_equipment_priority = list( \
/mob/living/carbon/human/proc/equipOutfit(outfit, visualsOnly = FALSE)
SHOULD_NOT_SLEEP(TRUE)
- var/obj/outfit/O = null
+ var/datum/outfit/O = null
if(ispath(outfit))
O = new outfit
@@ -547,7 +547,7 @@ var/list/slot_equipment_priority = list( \
return O.equip(src, visualsOnly)
/mob/living/carbon/human/proc/preEquipOutfit(outfit, visualsOnly = FALSE)
- var/obj/outfit/O = null
+ var/datum/outfit/O = null
if(ispath(outfit))
O = new outfit
diff --git a/code/modules/mob/living/carbon/slime/items.dm b/code/modules/mob/living/carbon/slime/items.dm
index 35fe4997f7c..aff78fa23fc 100644
--- a/code/modules/mob/living/carbon/slime/items.dm
+++ b/code/modules/mob/living/carbon/slime/items.dm
@@ -326,8 +326,8 @@
G.accent = G.origin.possible_accents[1]
G.citizenship = G.origin.possible_citizenships[1]
G.religion = G.origin.possible_religions[1]
- G.preEquipOutfit(/obj/outfit/admin/golem, FALSE)
- G.equipOutfit(/obj/outfit/admin/golem, FALSE)
+ G.preEquipOutfit(/datum/outfit/admin/golem, FALSE)
+ G.equipOutfit(/datum/outfit/admin/golem, FALSE)
G.client.init_verbs()
to_chat(G, SPAN_NOTICE("You are a golem. Serve your master, and assist them in completing their goals at any cost."))
diff --git a/code/unit_tests/outfit_tests.dm b/code/unit_tests/outfit_tests.dm
new file mode 100644
index 00000000000..34de241d7f8
--- /dev/null
+++ b/code/unit_tests/outfit_tests.dm
@@ -0,0 +1,111 @@
+ABSTRACT_TYPE(/datum/unit_test/outfits)
+ name = "OUTFITS: Template"
+ groups = list("generic")
+
+/datum/unit_test/outfits/no_abstracts
+ name = "OUTFITS: No Abstract Types in Outfits"
+ var/errorcount = 0
+
+///Macro to add a slot to the list of paths to test
+#define ADD_SLOT_TO_TEST(list_paths_to_test, slot)\
+ if(!isnull(slot)){\
+ if(islist(slot)){\
+ list_paths_to_test |= slot;\
+ }\
+ else{\
+ list_paths_to_test += slot;\
+ }\
+ }
+
+/datum/unit_test/outfits/no_abstracts/start_test()
+
+ //For each of the outfit subtypes
+ for(var/outfit_path in subtypesof(/datum/outfit))
+ if(is_abstract(outfit_path))
+ continue
+
+ var/list/paths_to_test = list()
+
+ //Create the outfit
+ var/datum/outfit/outfit = new outfit_path()
+
+ //Populate all the items in a single list to test
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.id)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.uniform)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.suit)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.suit_store)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.back)
+
+ if(!isnull(outfit.backpack_contents))
+ if(islist(outfit.backpack_contents))
+ for(var/k in outfit.backpack_contents)
+ paths_to_test += k
+ else
+ paths_to_test += outfit.backpack_contents
+
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.belt)
+
+ if(!isnull(outfit.belt_contents))
+ if(islist(outfit.belt_contents))
+ for(var/k in outfit.belt_contents)
+ paths_to_test += k
+ else
+ paths_to_test += outfit.belt_contents
+
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.glasses)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.gloves)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.head)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.mask)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.shoes)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.l_pocket)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.r_pocket)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.l_ear)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.r_ear)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.accessory)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.implants)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.pda)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.radio)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.backpack)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.satchel)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.satchel_alt)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.dufflebag)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.messengerbag)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.rucksack)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.pocketbook)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.tab_pda)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.tablet)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.wristbound)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.headset)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.bowman)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.double_headset)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.wrist_radio)
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.clipon_radio)
+
+ if(!isnull(outfit.accessory_contents))
+ if(islist(outfit.accessory_contents))
+ for(var/k in outfit.accessory_contents)
+ paths_to_test += k
+ else
+ paths_to_test += outfit.accessory_contents
+
+ ADD_SLOT_TO_TEST(paths_to_test, outfit.spells)
+
+
+ //Check all the items collected from this outfit
+ for(var/itempath in paths_to_test)
+ //Need to be paths
+ if(!ispath(itempath))
+ TEST_FAIL("Outfit [outfit_path] has an invalid item in its slot, which isn't a path: [itempath]!")
+ errorcount++
+
+ //Need not to be abstract
+ if(is_abstract(itempath))
+ TEST_FAIL("Outfit [outfit_path] has an abstract item in its slot: [itempath]!")
+ errorcount++
+
+ if(errorcount)
+ return TEST_FAIL("Found [errorcount] abstract item(s) in outfit(s)!")
+ else
+ return TEST_PASS("All outfits are valid")
+
+#undef ADD_SLOT_TO_TEST
diff --git a/html/changelogs/archive/2024-03.yml b/html/changelogs/archive/2024-03.yml
index 219b2c849fa..1ef4c5d9685 100644
--- a/html/changelogs/archive/2024-03.yml
+++ b/html/changelogs/archive/2024-03.yml
@@ -158,7 +158,7 @@
- tweak: Point Verdant Police now spawn with headsets instead of bounced radios,
as the role had too much soul.
DreamySkrell:
- - rscadd: Refactored `/obj/outfit` to `/obj/outfit`.
+ - rscadd: Refactored `/datum/outfit` to `/datum/outfit`.
- rscadd: Outfits can be mapped in or spawned manually, to spill all their items
on the floor.
FluffyGhost:
diff --git a/html/changelogs/fluffyghost-outfitsmadness.yml b/html/changelogs/fluffyghost-outfitsmadness.yml
new file mode 100644
index 00000000000..27b733e4b5f
--- /dev/null
+++ b/html/changelogs/fluffyghost-outfitsmadness.yml
@@ -0,0 +1,61 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# - (fixes bugs)
+# wip
+# - (work in progress)
+# qol
+# - (quality of life)
+# soundadd
+# - (adds a sound)
+# sounddel
+# - (removes a sound)
+# rscadd
+# - (adds a feature)
+# rscdel
+# - (removes a feature)
+# imageadd
+# - (adds an image or sprite)
+# imagedel
+# - (removes an image or sprite)
+# spellcheck
+# - (fixes spelling or grammar)
+# experiment
+# - (experimental change)
+# balance
+# - (balance changes)
+# code_imp
+# - (misc internal code change)
+# refactor
+# - (refactors code)
+# config
+# - (makes a change to the config files)
+# admin
+# - (makes changes to administrator tools)
+# server
+# - (miscellaneous changes to server)
+#################################
+
+# Your name.
+author: FluffyGhost
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
+# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Added unit test to ensure outfits do not point to abstract items."
+ - refactor: "Refactored the outfits procs a bit."
+ - refactor: "Repathed the outfits to a datum, as they should have been."
+ - bugfix: "Fixed a bug where one of the outfits was randomly spawning an abstract item."
diff --git a/maps/away/away_site/cult_base/cult_base_ghostroles.dm b/maps/away/away_site/cult_base/cult_base_ghostroles.dm
index 2bffb1b8f96..20c264fd788 100644
--- a/maps/away/away_site/cult_base/cult_base_ghostroles.dm
+++ b/maps/away/away_site/cult_base/cult_base_ghostroles.dm
@@ -34,7 +34,7 @@
enabled = FALSE
enable_dmessage = TRUE
- outfit = /obj/outfit/admin/cult_base_cultist
+ outfit = /datum/outfit/admin/cult_base_cultist
allow_appearance_change = APPEARANCE_PLASTICSURGERY
possible_species = list(
@@ -61,11 +61,11 @@
name = "Cult Base Cultist Corpse"
species = list(SPECIES_HUMAN, SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_UNATHI)
outfit = list(
- /obj/outfit/admin/cult_base_cultist_corpse,
- /obj/outfit/admin/generic,
- /obj/outfit/admin/generic/engineer,
- /obj/outfit/admin/generic/security,
- /obj/outfit/admin/generic/medical,
+ /datum/outfit/admin/cult_base_cultist_corpse,
+ /datum/outfit/admin/generic,
+ /datum/outfit/admin/generic/engineer,
+ /datum/outfit/admin/generic/security,
+ /datum/outfit/admin/generic/medical,
)
/obj/effect/landmark/corpse/cult_base_cultist/do_extra_customization(var/mob/living/carbon/human/human)
@@ -86,7 +86,7 @@
// ---------------------- outfits
-/obj/outfit/admin/cult_base_cultist
+/datum/outfit/admin/cult_base_cultist
name = "Cult Base Cultist"
uniform = list(
@@ -200,7 +200,7 @@
SPECIES_TAJARA_ZHAN = /obj/item/clothing/gloves/fingerless,
)
-/obj/outfit/admin/cult_base_cultist/post_equip(mob/living/carbon/human/human, visualsOnly = FALSE)
+/datum/outfit/admin/cult_base_cultist/post_equip(mob/living/carbon/human/human, visualsOnly = FALSE)
. = ..()
// add species equipment
@@ -240,7 +240,7 @@
human.gloves?.add_blood(human)
human.shoes?.add_blood(human)
-/obj/outfit/admin/cult_base_cultist_corpse
+/datum/outfit/admin/cult_base_cultist_corpse
name = "Cult Base Cultist Corpse"
uniform = list(
diff --git a/maps/away/away_site/konyang/point_verdant/point_verdant_ghostroles.dm b/maps/away/away_site/konyang/point_verdant/point_verdant_ghostroles.dm
index e59ef54064a..2aea30e8ef0 100644
--- a/maps/away/away_site/konyang/point_verdant/point_verdant_ghostroles.dm
+++ b/maps/away/away_site/konyang/point_verdant/point_verdant_ghostroles.dm
@@ -6,21 +6,21 @@
tags = list("External")
spawnpoints = list("konyang_zh")
max_count = 2
- outfit = /obj/outfit/admin/konyang/zh
+ outfit = /datum/outfit/admin/konyang/zh
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Zeng-Hu Pharmaceuticals Corporate Personnel"
special_role = "Zeng-Hu Pharmaceuticals Corporate Personnel"
respawn_flag = null
-/obj/outfit/admin/konyang/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/konyang/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
tag.ownership_info = IPC_OWNERSHIP_SELF
tag.citizenship_info = CITIZENSHIP_COALITION
-/obj/outfit/admin/konyang/zh
+/datum/outfit/admin/konyang/zh
name = "Zeng-Hu Pharmaceuticals Employee"
uniform = /obj/item/clothing/under/rank/liaison/zeng
shoes = /obj/item/clothing/shoes/laceup
@@ -30,7 +30,7 @@
suit = /obj/item/clothing/suit/storage/toggle/corp/zeng
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/konyang/zh/get_id_access()
+/datum/outfit/admin/konyang/zh/get_id_access()
return list(ACCESS_KONYANG_CORPORATE)
/datum/ghostspawner/human/konyang_ee
@@ -40,14 +40,14 @@
tags = list("External")
spawnpoints = list("konyang_ee")
max_count = 2
- outfit = /obj/outfit/admin/konyang/ee
+ outfit = /datum/outfit/admin/konyang/ee
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Einstein Engines Corporate Personnel"
special_role = "Einstein Engines Corporate Personnel"
respawn_flag = null
-/obj/outfit/admin/konyang/ee
+/datum/outfit/admin/konyang/ee
name = "Einstein Engines Employee"
uniform = /obj/item/clothing/under/rank/liaison/einstein
shoes = /obj/item/clothing/shoes/laceup
@@ -55,7 +55,7 @@
back = /obj/item/storage/backpack/satchel
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/konyang/ee/get_id_access()
+/datum/outfit/admin/konyang/ee/get_id_access()
return list(ACCESS_KONYANG_CORPORATE)
//Police
@@ -66,14 +66,14 @@
tags = list("External")
spawnpoints = list("konyang_cop")
max_count = 2
- outfit = /obj/outfit/admin/konyang/cop
+ outfit = /datum/outfit/admin/konyang/cop
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Konyang National Police Patrolman"
special_role = "Konyang National Police Patrolman"
respawn_flag = null
-/obj/outfit/admin/konyang/cop
+/datum/outfit/admin/konyang/cop
name = "Konyang Police Officer"
uniform = /obj/item/clothing/under/rank/konyang/police
accessory = /obj/item/clothing/accessory/holster/hip
@@ -85,7 +85,7 @@
r_pocket = /obj/item/storage/wallet/random
back = /obj/item/storage/backpack/satchel
-/obj/outfit/admin/konyang/cop/get_id_access()
+/datum/outfit/admin/konyang/cop/get_id_access()
return list(ACCESS_KONYANG_POLICE)
/datum/ghostspawner/human/konyang_cop/senior
@@ -103,9 +103,9 @@
max_count = 1
assigned_role = "Konyang National Police Superintendent"
special_role = "Konyang National Police Superintendent"
- outfit = /obj/outfit/admin/konyang/cop/superintendent
+ outfit = /datum/outfit/admin/konyang/cop/superintendent
-/obj/outfit/admin/konyang/cop/superintendent
+/datum/outfit/admin/konyang/cop/superintendent
name = "Konyang Police Superintendent"
uniform = /obj/item/clothing/under/rank/konyang/police/lieutenant
head = /obj/item/clothing/head/konyang/police/lieutenant
@@ -119,14 +119,14 @@
tags = list("External")
spawnpoints = list("konyang_goon")
max_count = 3
- outfit = /obj/outfit/admin/konyang/goon
+ outfit = /datum/outfit/admin/konyang/goon
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "5-Cheung Thug"
special_role = "5-Cheung Thug"
respawn_flag = null
-/obj/outfit/admin/konyang/goon
+/datum/outfit/admin/konyang/goon
name = "5-Cheung Thug"
uniform = /obj/item/clothing/under/pants/tan
shoes = /obj/item/clothing/shoes/sneakers/black
@@ -141,12 +141,12 @@
desc = "Manage the local operations of 5-Cheung. Establish an understanding with the Superintendent. Make yourself a force in the community."
max_count = 1
spawnpoints = list("konyang_goon_boss")
- outfit = /obj/outfit/admin/konyang/mob_boss
+ outfit = /datum/outfit/admin/konyang/mob_boss
assigned_role = "5-Cheung Boss"
special_role = "5-Cheung Boss"
respawn_flag = null
-/obj/outfit/admin/konyang/mob_boss
+/datum/outfit/admin/konyang/mob_boss
name = "5-Cheung Boss"
uniform = /obj/item/clothing/under/suit_jacket/white
shoes = /obj/item/clothing/shoes/laceup
@@ -163,14 +163,14 @@
max_count = 6
tags = list("External")
spawnpoints = list("konyang_vendor")
- outfit = /obj/outfit/admin/konyang/vendor
+ outfit = /datum/outfit/admin/konyang/vendor
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Point Verdant Vendor"
special_role = "Point Verdant Vendor"
respawn_flag = null
-/obj/outfit/admin/konyang/vendor
+/datum/outfit/admin/konyang/vendor
name = "Konyang Vendor"
uniform = /obj/item/clothing/under/pants/jeans
shoes = /obj/item/clothing/shoes/sneakers/black
@@ -179,7 +179,7 @@
l_pocket = /obj/item/storage/wallet/random
id = /obj/item/card/id
-/obj/outfit/admin/konyang/vendor/get_id_access()
+/datum/outfit/admin/konyang/vendor/get_id_access()
return list(ACCESS_KONYANG_VENDORS)
/datum/ghostspawner/human/konyang_clinic
@@ -189,14 +189,14 @@
max_count = 2
tags = list("External")
spawnpoints = list("konyang_clinic")
- outfit = /obj/outfit/admin/konyang/clinic
+ outfit = /datum/outfit/admin/konyang/clinic
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Konyang Robotics Company Doctor"
special_role = "Konyang Robotics Company Doctor"
respawn_flag = null
-/obj/outfit/admin/konyang/clinic
+/datum/outfit/admin/konyang/clinic
name = "KRC Doctor"
uniform = /obj/item/clothing/under/rank/konyang/krc
shoes = /obj/item/clothing/shoes/laceup/brown
@@ -204,7 +204,7 @@
back = /obj/item/storage/backpack/satchel
l_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/konyang/clinic/get_id_access()
+/datum/outfit/admin/konyang/clinic/get_id_access()
return list(ACCESS_KONYANG_VENDORS)
/datum/ghostspawner/human/konyang_pharm
@@ -214,14 +214,14 @@
max_count = 1
tags = list("External")
spawnpoints = list("konyang_pharm")
- outfit = /obj/outfit/admin/konyang/pharm
+ outfit = /datum/outfit/admin/konyang/pharm
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Pharmacist"
special_role = "Pharmacist"
respawn_flag = null
-/obj/outfit/admin/konyang/pharm
+/datum/outfit/admin/konyang/pharm
name = "Konyang Pharmacist"
uniform = /obj/item/clothing/under/color/white
shoes = /obj/item/clothing/shoes/sneakers/medsci
@@ -229,7 +229,7 @@
l_pocket = /obj/item/storage/wallet/random
id = /obj/item/card/id
-/obj/outfit/admin/konyang/pharm/get_id_access()
+/datum/outfit/admin/konyang/pharm/get_id_access()
return list(ACCESS_KONYANG_VENDORS)
/datum/ghostspawner/human/konyang_bar
@@ -239,14 +239,14 @@
max_count = 1
tags = list("External")
spawnpoints = list("konyang_bar")
- outfit = /obj/outfit/admin/konyang/bar
+ outfit = /datum/outfit/admin/konyang/bar
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Bartender"
special_role = "Bartender"
respawn_flag = null
-/obj/outfit/admin/konyang/bar
+/datum/outfit/admin/konyang/bar
name = "Konyang Bartender"
uniform = /obj/item/clothing/under/rank/bartender
shoes = /obj/item/clothing/shoes/sneakers/brown
@@ -254,7 +254,7 @@
back = /obj/item/storage/backpack/satchel
id = /obj/item/card/id
-/obj/outfit/admin/konyang/bar/get_id_access()
+/datum/outfit/admin/konyang/bar/get_id_access()
return list(ACCESS_KONYANG_VENDORS)
/datum/ghostspawner/human/konyang_utility
@@ -264,14 +264,14 @@
max_count = 2
tags = list("External")
spawnpoints = list("konyang_utility")
- outfit = /obj/outfit/admin/konyang/utility
+ outfit = /datum/outfit/admin/konyang/utility
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Point Verdant Utility Worker"
special_role = "Point Verdant Utility Worker"
respawn_flag = null
-/obj/outfit/admin/konyang/utility
+/datum/outfit/admin/konyang/utility
name = "Point Verdant Utility Worker"
uniform = /obj/item/clothing/under/color/blue
shoes = /obj/item/clothing/shoes/workboots/dark
@@ -289,14 +289,14 @@
max_count = 2
tags = list("External")
spawnpoints = list("konyang_gwok")
- outfit = /obj/outfit/admin/konyang/gwok
+ outfit = /datum/outfit/admin/konyang/gwok
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "UP! Burger Employee"
special_role = "UP! Burger Employee"
respawn_flag = null
-/obj/outfit/admin/konyang/gwok
+/datum/outfit/admin/konyang/gwok
name = "UP! Burger Employee"
uniform = /obj/item/clothing/under/rank/konyang/burger
shoes = /obj/item/clothing/shoes/workboots/dark
@@ -306,7 +306,7 @@
l_pocket = /obj/item/storage/wallet/random
back = /obj/item/storage/backpack/satchel
-/obj/outfit/admin/konyang/gwok/get_id_access()
+/datum/outfit/admin/konyang/gwok/get_id_access()
return list(ACCESS_KONYANG_VENDORS)
//Konyang Army Personnel - basically a pseudo-ert for if shit's going down on Point Verdant
@@ -317,7 +317,7 @@
max_count = 3
tags = list("External")
spawnpoints = list("konyang_army")
- outfit = /obj/outfit/admin/konyang/army_response
+ outfit = /datum/outfit/admin/konyang/army_response
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Konyang Army Soldier"
@@ -326,7 +326,7 @@
respawn_flag = null
enabled = FALSE
-/obj/outfit/admin/konyang/army_response
+/datum/outfit/admin/konyang/army_response
name = "Konyang Army Responder"
uniform = /obj/item/clothing/under/rank/konyang
shoes = /obj/item/clothing/shoes/jackboots
@@ -345,7 +345,7 @@
)
-/obj/outfit/admin/konyang/army_response/get_id_access()
+/datum/outfit/admin/konyang/army_response/get_id_access()
return list(ACCESS_DISTRESS, ACCESS_KONYANG_POLICE, ACCESS_KONYANG_CORPORATE, ACCESS_KONYANG_POLICE, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/konyang_army/medic
@@ -353,12 +353,12 @@
short_name = "konyang_army_medic"
desc = "You are a medical specialist of the Konyang army, deployed to deal with a crisis in Point Verdant."
max_count = 1
- outfit = /obj/outfit/admin/konyang/army_response/medic
+ outfit = /datum/outfit/admin/konyang/army_response/medic
mob_name_prefix = "Spc. "
assigned_role = "Konyang Army Medic"
special_role = "Konyang Army Medic"
-/obj/outfit/admin/konyang/army_response/medic
+/datum/outfit/admin/konyang/army_response/medic
back = /obj/item/storage/backpack/satchel/med
gloves = /obj/item/clothing/gloves/latex/nitrile
glasses = /obj/item/clothing/glasses/hud/health
@@ -379,12 +379,12 @@
short_name = "konyang_army_mechpilot"
desc = "You are an exosuit specialist of the Konyang army's Mechatronic Corps, deployed to deal with a crisis in Point Verdant."
max_count = 1
- outfit = /obj/outfit/admin/konyang/army_response/mechpilot
+ outfit = /datum/outfit/admin/konyang/army_response/mechpilot
mob_name_prefix = "Spc. "
assigned_role = "Konyang Army Exosuit Pilot"
special_role = "Konyang Army Exosuit Pilot"
-/obj/outfit/admin/konyang/army_response/mechpilot
+/datum/outfit/admin/konyang/army_response/mechpilot
uniform = /obj/item/clothing/under/rank/konyang/mech_pilot
head = /obj/item/clothing/head/helmet/konyang/pilot
gloves = /obj/item/clothing/gloves/yellow
@@ -397,12 +397,12 @@
spawnpoints = list("konyang_army_lead")
desc = "You are an officer in command of a Konyang army unit deployed to deal with a crisis in Point Verdant."
max_count = 1
- outfit = /obj/outfit/admin/konyang/army_response/officer
+ outfit = /datum/outfit/admin/konyang/army_response/officer
mob_name_prefix = "Lt. "
assigned_role = "Konyang Army Officer"
special_role = "Konyang Army Officer"
-/obj/outfit/admin/konyang/army_response/officer
+/datum/outfit/admin/konyang/army_response/officer
uniform = /obj/item/clothing/under/rank/konyang/officer
head = /obj/item/clothing/head/konyang/army/officer
@@ -413,7 +413,7 @@
spawnpoints = list("pv_corporate_solutions")
desc = "You are a corporate security agent working for Zeng-Hu Pharmaceuticals, responding to a crisis in Point Verdant in cooperation with Einstein Engines personnel."
max_count = 2
- outfit = /obj/outfit/admin/corporate_solutions
+ outfit = /datum/outfit/admin/corporate_solutions
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Solutions Agent (Zeng)"
@@ -421,7 +421,7 @@
respawn_flag = null
enabled = FALSE
-/obj/outfit/admin/corporate_solutions
+/datum/outfit/admin/corporate_solutions
uniform = /obj/item/clothing/under/rank/security/zeng
shoes = /obj/item/clothing/shoes/combat
belt = /obj/item/storage/belt/military
@@ -435,17 +435,17 @@
)
back = null
-/obj/outfit/admin/corporate_solutions/get_id_access()
+/datum/outfit/admin/corporate_solutions/get_id_access()
return list(ACCESS_CENT_SPECOPS, ACCESS_KONYANG_CORPORATE, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/corporate_solutions/einstein
name = "Einstein Corporate Solutions Agent"
desc = "You are a corporate security agent working for Einstein, responding to a crisis in Point Verdant in cooperation with Zeng-Hu Pharmaceuticals personnel."
- outfit = /obj/outfit/admin/corporate_solutions/einstein
+ outfit = /datum/outfit/admin/corporate_solutions/einstein
assigned_role = "Solutions Agent (Einstein)"
special_role = "Solutions Agent (Einstein)"
-/obj/outfit/admin/corporate_solutions/einstein
+/datum/outfit/admin/corporate_solutions/einstein
uniform = /obj/item/clothing/under/rank/security/einstein
id = /obj/item/card/id/einstein
@@ -454,9 +454,9 @@
short_name = "pv_corporate_solutions_med"
desc = "You are a corporate medical agent working for Zeng-Hu Pharmaceuticals, responding to a crisis in Point Verdant in cooperation with Einstein Engines personnel."
max_count = 1
- outfit = /obj/outfit/admin/corporate_solutions/medic
+ outfit = /datum/outfit/admin/corporate_solutions/medic
-/obj/outfit/admin/corporate_solutions/medic
+/datum/outfit/admin/corporate_solutions/medic
uniform = /obj/item/clothing/under/rank/medical/paramedic/zeng
gloves = /obj/item/clothing/gloves/latex/nitrile
glasses = /obj/item/clothing/glasses/hud/health
@@ -487,9 +487,9 @@
short_name = "pv_corporate_solutions_eng"
desc = "You are a corporate engineering agent working for Einstein Engines, responding to a crisis in Point Verdant in cooperation with Zeng-Hu Pharmaceuticals personnel."
max_count = 1
- outfit = /obj/outfit/admin/corporate_solutions/einstein/engineer
+ outfit = /datum/outfit/admin/corporate_solutions/einstein/engineer
-/obj/outfit/admin/corporate_solutions/einstein/engineer
+/datum/outfit/admin/corporate_solutions/einstein/engineer
uniform = /obj/item/clothing/under/rank/engineer/einstein
gloves = /obj/item/clothing/gloves/yellow
belt = /obj/item/storage/belt/utility/very_full
diff --git a/maps/away/away_site/pirate_base/pirate_base_ghostroles.dm b/maps/away/away_site/pirate_base/pirate_base_ghostroles.dm
index d8d453e3dd9..52d7e349a15 100644
--- a/maps/away/away_site/pirate_base/pirate_base_ghostroles.dm
+++ b/maps/away/away_site/pirate_base/pirate_base_ghostroles.dm
@@ -26,7 +26,7 @@
max_count = 4
enabled = FALSE
- outfit = /obj/outfit/admin/pirate
+ outfit = /datum/outfit/admin/pirate
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -35,7 +35,7 @@
respawn_flag = null
-/obj/outfit/admin/pirate
+/datum/outfit/admin/pirate
name = "Pirate Gang Member"
uniform = /obj/item/clothing/under/syndicate/tracksuit
@@ -56,7 +56,7 @@
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/jackboots/toeless
)
-/obj/outfit/admin/pirate/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/pirate/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -68,7 +68,7 @@
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
-/obj/outfit/admin/pirate/get_id_access()
+/datum/outfit/admin/pirate/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/pirate/boss
@@ -96,7 +96,7 @@
max_count = 1
enabled = FALSE
- outfit = /obj/outfit/admin/pirate
+ outfit = /datum/outfit/admin/pirate
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -105,7 +105,7 @@
respawn_flag = null
-/obj/outfit/admin/pirate
+/datum/outfit/admin/pirate
name = "Pirate Gang Boss"
species_shoes = list(
@@ -135,7 +135,7 @@
max_count = 1
enabled = FALSE
- outfit = /obj/outfit/admin/pirate_prisoner
+ outfit = /datum/outfit/admin/pirate_prisoner
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -144,7 +144,7 @@
respawn_flag = null
-/obj/outfit/admin/pirate_prisoner
+/datum/outfit/admin/pirate_prisoner
name = "Pirate Gang Captive"
uniform = /obj/item/clothing/under/color/brown
diff --git a/maps/away/away_site/romanovich/grand_romanovich_ghostroles.dm b/maps/away/away_site/romanovich/grand_romanovich_ghostroles.dm
index 7840c71bd02..eb5374ecf8c 100644
--- a/maps/away/away_site/romanovich/grand_romanovich_ghostroles.dm
+++ b/maps/away/away_site/romanovich/grand_romanovich_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("casino_host")
max_count = 1
- outfit = /obj/outfit/admin/grand_romanovich_host
+ outfit = /datum/outfit/admin/grand_romanovich_host
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -17,7 +17,7 @@
extra_languages = list(LANGUAGE_SIIK_MAAS)
-/obj/outfit/admin/grand_romanovich_host
+/datum/outfit/admin/grand_romanovich_host
name = "Grand Romanovich Host"
uniform = /obj/item/clothing/under/tajaran/fancy
@@ -30,7 +30,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/storage/wallet/random = 1, /obj/item/storage/bag/money/casino = 1)
-/obj/outfit/admin/grand_romanovich_host/get_id_access()
+/datum/outfit/admin/grand_romanovich_host/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/grand_romanovich_staff
@@ -42,7 +42,7 @@
spawnpoints = list("casino_staff")
max_count = 4
- outfit = /obj/outfit/admin/grand_romanovich_staff
+ outfit = /datum/outfit/admin/grand_romanovich_staff
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -51,7 +51,7 @@
special_role = "Grand Romanovich Staff"
respawn_flag = null
-/obj/outfit/admin/grand_romanovich_staff
+/datum/outfit/admin/grand_romanovich_staff
name = "Grand Romanovich Staff"
uniform = /obj/item/clothing/under/tajaran
@@ -65,7 +65,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/storage/wallet/random = 1, /obj/item/storage/bag/money/casino = 1)
-/obj/outfit/admin/grand_romanovich_staff/get_id_access()
+/datum/outfit/admin/grand_romanovich_staff/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/grand_romanovich_guard
@@ -77,7 +77,7 @@
spawnpoints = list("casino_guard")
max_count = 4
- outfit = /obj/outfit/admin/grand_romanovich_guard
+ outfit = /datum/outfit/admin/grand_romanovich_guard
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -86,7 +86,7 @@
special_role = "Grand Romanovich Guard"
respawn_flag = null
-/obj/outfit/admin/grand_romanovich_guard
+/datum/outfit/admin/grand_romanovich_guard
name = "Grand Romanovich Guard"
uniform = /obj/item/clothing/under/suit_jacket/checkered
@@ -114,7 +114,7 @@
/obj/item/ammo_magazine/mc9mm = 2
)
-/obj/outfit/admin/grand_romanovich_guard/get_id_access()
+/datum/outfit/admin/grand_romanovich_guard/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/casino_patron
@@ -126,7 +126,7 @@
spawnpoints = list("casino_patron")
max_count = 4
- outfit = /obj/outfit/admin/random/casino_patron
+ outfit = /datum/outfit/admin/random/casino_patron
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
@@ -134,7 +134,7 @@
special_role = "Grand Romanovich"
respawn_flag = null
-/obj/outfit/admin/random/casino_patron
+/datum/outfit/admin/random/casino_patron
l_ear = /obj/item/device/radio/headset/ship/common
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/storage/wallet/random = 1, /obj/item/storage/bag/money/casino = 1)
diff --git a/maps/away/away_site/tajara/mining_jack/mining_jack_ghostroles.dm b/maps/away/away_site/tajara/mining_jack/mining_jack_ghostroles.dm
index 8fc0a026d44..9f309b17908 100644
--- a/maps/away/away_site/tajara/mining_jack/mining_jack_ghostroles.dm
+++ b/maps/away/away_site/tajara/mining_jack/mining_jack_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("tajara_mining_jack")
max_count = 3
- outfit = /obj/outfit/admin/tajara_mining_jack
+ outfit = /datum/outfit/admin/tajara_mining_jack
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -17,7 +17,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/tajara_mining_jack
+/datum/outfit/admin/tajara_mining_jack
name = "Mining Jack Miner"
uniform = list(
@@ -48,5 +48,5 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/storage/wallet/random = 1)
-/obj/outfit/admin/tajara_mining_jack/get_id_access()
+/datum/outfit/admin/tajara_mining_jack/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
diff --git a/maps/away/away_site/tajara/peoples_station/peoples_station_ghostroles.dm b/maps/away/away_site/tajara/peoples_station/peoples_station_ghostroles.dm
index 75c0e2c04c3..904fbb96096 100644
--- a/maps/away/away_site/tajara/peoples_station/peoples_station_ghostroles.dm
+++ b/maps/away/away_site/tajara/peoples_station/peoples_station_ghostroles.dm
@@ -9,7 +9,7 @@
max_count = 5
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/peoples_station_crew
+ outfit = /datum/outfit/admin/peoples_station_crew
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
welcome_message = "As a crewmember of the People's Space Station, you must man your station and protect the People's Republic of Adhomai's and its allies' assets. \
@@ -20,7 +20,7 @@
extra_languages = list(LANGUAGE_SIIK_MAAS)
respawn_flag = null
-/obj/outfit/admin/peoples_station_crew
+/datum/outfit/admin/peoples_station_crew
name = "People's Space Station Crewmember"
id = /obj/item/card/id
@@ -36,7 +36,7 @@
l_hand = /obj/item/martial_manual/tajara
-/obj/outfit/admin/peoples_station_crew/get_id_access()
+/datum/outfit/admin/peoples_station_crew/get_id_access()
return list(ACCESS_PRA, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/peoples_station_crew/captain
@@ -52,14 +52,14 @@
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/peoples_station_crew/captain
+ outfit = /datum/outfit/admin/peoples_station_crew/captain
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "People's Space Station Captain"
special_role = "People's Space Station Captain"
-/obj/outfit/admin/peoples_station_crew/captain
+/datum/outfit/admin/peoples_station_crew/captain
name = "People's Space Station Captain"
head = /obj/item/clothing/head/tajaran/orbital_captain
@@ -89,10 +89,10 @@
special_role = "Party Commissar"
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/peoples_station_crew/commissar
+ outfit = /datum/outfit/admin/peoples_station_crew/commissar
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
-/obj/outfit/admin/peoples_station_crew/commissar
+/datum/outfit/admin/peoples_station_crew/commissar
name = "Party Commissar"
uniform = /obj/item/clothing/under/tajaran/cosmonaut/commissar
diff --git a/maps/away/away_site/tajara/saniorios_outpost/saniorios_outpost_ghostroles.dm b/maps/away/away_site/tajara/saniorios_outpost/saniorios_outpost_ghostroles.dm
index e3ba6e7212e..e661d5a6a26 100644
--- a/maps/away/away_site/tajara/saniorios_outpost/saniorios_outpost_ghostroles.dm
+++ b/maps/away/away_site/tajara/saniorios_outpost/saniorios_outpost_ghostroles.dm
@@ -10,7 +10,7 @@
max_count = 3
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/saniorios_outpost_crew
+ outfit = /datum/outfit/admin/saniorios_outpost_crew
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
extra_languages = list(LANGUAGE_SIIK_MAAS)
respawn_flag = null
-/obj/outfit/admin/saniorios_outpost_crew
+/datum/outfit/admin/saniorios_outpost_crew
name = "Sani'Orios Asteroid Outpost Crewmember"
id = /obj/item/card/id
@@ -33,5 +33,5 @@
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/saniorios_outpost_crew/get_id_access()
+/datum/outfit/admin/saniorios_outpost_crew/get_id_access()
return list(ACCESS_DPRA, ACCESS_EXTERNAL_AIRLOCKS)
diff --git a/maps/away/away_site/tajara/scrapper/scrapper_ghostroles.dm b/maps/away/away_site/tajara/scrapper/scrapper_ghostroles.dm
index 53a091157aa..b0bbf51a5ce 100644
--- a/maps/away/away_site/tajara/scrapper/scrapper_ghostroles.dm
+++ b/maps/away/away_site/tajara/scrapper/scrapper_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("tajaran_scrapper")
max_count = 3
- outfit = /obj/outfit/admin/tajaran_scrapper
+ outfit = /datum/outfit/admin/tajaran_scrapper
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -17,7 +17,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/tajaran_scrapper
+/datum/outfit/admin/tajaran_scrapper
name = "Scrapper"
uniform = list(
@@ -47,5 +47,5 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/storage/wallet/random = 1)
-/obj/outfit/admin/tajaran_scrapper/get_id_access()
+/datum/outfit/admin/tajaran_scrapper/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
diff --git a/maps/away/away_site/tajara/taj_safehouse/tajara_safehouse_ghostroles.dm b/maps/away/away_site/tajara/taj_safehouse/tajara_safehouse_ghostroles.dm
index 659c4e82f40..283fb368314 100644
--- a/maps/away/away_site/tajara/taj_safehouse/tajara_safehouse_ghostroles.dm
+++ b/maps/away/away_site/tajara/taj_safehouse/tajara_safehouse_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("tajaran_migrant")
max_count = 4
- outfit = /obj/outfit/admin/tajaran_migrant
+ outfit = /datum/outfit/admin/tajaran_migrant
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -17,7 +17,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/tajaran_migrant
+/datum/outfit/admin/tajaran_migrant
name = "Tajaran Migrant"
uniform = list(
@@ -57,7 +57,7 @@
spawnpoints = list("tajara_revolutionary_army_agent")
max_count = 2
- outfit = /obj/outfit/admin/tajara_revolutionary_army_agent
+ outfit = /datum/outfit/admin/tajara_revolutionary_army_agent
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -65,7 +65,7 @@
special_role = "Tajara Revolutionary Army Agent"
respawn_flag = null
-/obj/outfit/admin/tajara_revolutionary_army_agent
+/datum/outfit/admin/tajara_revolutionary_army_agent
name = "Tajara Revolutionary Army Agent"
uniform = list(
diff --git a/maps/away/away_site/uueoaesa/reclamation/ihss_reclamation_ghostroles.dm b/maps/away/away_site/uueoaesa/reclamation/ihss_reclamation_ghostroles.dm
index bbc560b68b7..f6eede6a7eb 100644
--- a/maps/away/away_site/uueoaesa/reclamation/ihss_reclamation_ghostroles.dm
+++ b/maps/away/away_site/uueoaesa/reclamation/ihss_reclamation_ghostroles.dm
@@ -16,9 +16,9 @@
extra_languages = list(LANGUAGE_UNATHI)
respawn_flag = null
- outfit = /obj/outfit/admin/ihss_reclamation
+ outfit = /datum/outfit/admin/ihss_reclamation
-/obj/outfit/admin/ihss_reclamation
+/datum/outfit/admin/ihss_reclamation
name = "IHSS Reclamation Crew"
id = /obj/item/card/id
shoes = /obj/item/clothing/shoes/sandals/caligae/socks
@@ -26,10 +26,10 @@
l_ear = /obj/item/device/radio/headset/ship
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/ihss_reclamation/get_id_access()
+/datum/outfit/admin/ihss_reclamation/get_id_access()
return list(ACCESS_KATAPHRACT, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/ihss_reclamation/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ihss_reclamation/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/vaurca(H), slot_shoes)
@@ -52,9 +52,9 @@
welcome_message = "You are security personnel aboard the IHSS Reclamation, an Izweski Hegemony ecological monitoring and terraforming station for coordinating the restoration of the Moghes Wasteland."
assigned_role = "IHSS Reclamation Security"
special_role = "IHSS Reclamation Security"
- outfit = /obj/outfit/admin/ihss_reclamation/security
+ outfit = /datum/outfit/admin/ihss_reclamation/security
-/obj/outfit/admin/ihss_reclamation/security
+/datum/outfit/admin/ihss_reclamation/security
name = "IHSS Reclamation Security"
belt = /obj/item/storage/belt/security/full
accessory = /obj/item/clothing/accessory/holster/hip
@@ -71,13 +71,13 @@
welcome_message = "You are the captain of the IHSS Reclamation, an Izweski Hegemony ecological monitoring and terraforming station for coordinating the restoration of the Moghes Wasteland."
assigned_role = "IHSS Reclamation Captain"
special_role = "IHSS Reclamation Captain"
- outfit = /obj/outfit/admin/ihss_reclamation/captain
+ outfit = /datum/outfit/admin/ihss_reclamation/captain
-/obj/outfit/admin/ihss_reclamation/captain
+/datum/outfit/admin/ihss_reclamation/captain
name = "IHSS Reclamation Captain"
belt = /obj/item/melee/energy/sword/hegemony
accessory = /obj/item/clothing/accessory/holster/hip
accessory_contents = /obj/item/gun/energy/pistol/hegemony
-/obj/outfit/admin/ihss_reclamation/captain/get_id_access()
+/datum/outfit/admin/ihss_reclamation/captain/get_id_access()
return list(ACCESS_KATAPHRACT, ACCESS_KATAPHRACT_KNIGHT, ACCESS_EXTERNAL_AIRLOCKS)
diff --git a/maps/away/away_site/uueoaesa/tret/tret_industrial_complex_ghostroles.dm b/maps/away/away_site/uueoaesa/tret/tret_industrial_complex_ghostroles.dm
index 6712f2bd8d2..57c036667ec 100644
--- a/maps/away/away_site/uueoaesa/tret/tret_industrial_complex_ghostroles.dm
+++ b/maps/away/away_site/uueoaesa/tret/tret_industrial_complex_ghostroles.dm
@@ -15,7 +15,7 @@
spawnpoints = list("tret_industrial")
max_count = 4
- outfit = /obj/outfit/admin/tret_industrial/vaurca
+ outfit = /datum/outfit/admin/tret_industrial/vaurca
possible_species = list(SPECIES_VAURCA_WORKER)
uses_species_whitelist = FALSE
assigned_role = "Tret Industrial Worker"
@@ -51,7 +51,7 @@
desc_ooc = null
max_count = 1
- outfit = /obj/outfit/admin/tret_industrial/vaurca/bulwark
+ outfit = /datum/outfit/admin/tret_industrial/vaurca/bulwark
possible_species = list(SPECIES_VAURCA_BULWARK)
uses_species_whitelist = TRUE
@@ -80,7 +80,7 @@
possible_species = list(SPECIES_VAURCA_WARRIOR)
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/tret_industrial/vaurca/warrior
+ outfit = /datum/outfit/admin/tret_industrial/vaurca/warrior
mob_name_prefix = "Za'Akaix'"
mob_name_suffix = " K'lax"
@@ -100,7 +100,7 @@
/obj/effect/landmark/corpse/tret_industrial_sinta
name = "Cult Base Cultist Corpse"
species = list(SPECIES_UNATHI)
- outfit = list(/obj/outfit/admin/tret_industrial/sinta)
+ outfit = list(/datum/outfit/admin/tret_industrial/sinta)
/obj/effect/landmark/corpse/tret_industrial_sinta/do_extra_customization(var/mob/living/carbon/human/human)
human.dir = pick(NORTH, SOUTH, EAST, WEST)
@@ -108,7 +108,7 @@
// ---------------------- outfits
-/obj/outfit/admin/tret_industrial/vaurca
+/datum/outfit/admin/tret_industrial/vaurca
name = "Tret Industrial Worker"
uniform = list(
/obj/item/clothing/under/vaurca,
@@ -148,16 +148,16 @@
/obj/item/device/radio/hailing = 1,
)
-/obj/outfit/admin/tret_industrial/get_id_access()
+/datum/outfit/admin/tret_industrial/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS, ACCESS_HEPHAESTUS)
-/obj/outfit/admin/tret_industrial/vaurca/bulwark
+/datum/outfit/admin/tret_industrial/vaurca/bulwark
name = "Tret Industrial Bulwark"
mask = list(/obj/item/clothing/mask/gas/vaurca/filter)
uniform = list(/obj/item/clothing/under/gearharness)
accessory = null
-/obj/outfit/admin/tret_industrial/vaurca/warrior
+/datum/outfit/admin/tret_industrial/vaurca/warrior
name = "Tret Industrial Warrior"
mask = list(
/obj/item/clothing/mask/gas/vaurca/filter,
@@ -175,7 +175,7 @@
)
l_hand = list(/obj/item/martial_manual/vaurca)
-/obj/outfit/admin/tret_industrial/vaurca/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/tret_industrial/vaurca/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
@@ -191,7 +191,7 @@
// ---------------------- dead sinta outfit and fluff
-/obj/outfit/admin/tret_industrial/sinta
+/datum/outfit/admin/tret_industrial/sinta
uniform = list(/obj/item/clothing/under/unathi/mogazali/blue, /obj/item/clothing/under/unathi/mogazali/orange)
wrist = /obj/item/clothing/wrists/unathi/jeweled
shoes = /obj/item/clothing/shoes/footwraps
@@ -199,7 +199,7 @@
suit = /obj/item/clothing/suit/space
accessory = /obj/item/clothing/accessory/poncho/unathimantle/hephaestus
-/obj/outfit/admin/tret_industrial/sinta/post_equip(mob/living/carbon/human/human, visualsOnly = FALSE)
+/datum/outfit/admin/tret_industrial/sinta/post_equip(mob/living/carbon/human/human, visualsOnly = FALSE)
. = ..()
// add some items
diff --git a/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm b/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm
index e3bafead6ad..03a479c1fad 100644
--- a/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm
+++ b/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm
@@ -8,7 +8,7 @@
spawnpoints = list("tcaf_crewman")
max_count = 3
- outfit = /obj/outfit/admin/tcaf_crewman
+ outfit = /datum/outfit/admin/tcaf_crewman
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -16,7 +16,7 @@
special_role = "Republican Fleet Legionary"
respawn_flag = null
-/obj/outfit/admin/tcaf_crewman
+/datum/outfit/admin/tcaf_crewman
name = "TCAF Crewman"
uniform = /obj/item/clothing/under/legion/tcaf
gloves = /obj/item/clothing/gloves/tcaf
@@ -35,7 +35,7 @@
SPECIES_VAURCA_WARRIOR =/obj/item/clothing/shoes/vaurca
)
-/obj/outfit/admin/tcaf_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/tcaf_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -51,20 +51,20 @@
if(istype(tag))
tag.modify_tag_data()
-/obj/outfit/admin/tcaf_crewman/get_id_access()
+/datum/outfit/admin/tcaf_crewman/get_id_access()
return list(ACCESS_TCAF_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/tcaf_crewman/nco
name = "Republican Fleet Prefect"
short_name = "tcaf_nco"
max_count = 1
- outfit = /obj/outfit/admin/tcaf_crewman/nco
+ outfit = /datum/outfit/admin/tcaf_crewman/nco
mob_name_prefix = "Pfct. "
desc = "Serve as the second-in-command of the Republican Fleet patrol vessel. Aid your commanding officer in their duties, clear the sector of any pirate activity, and uphold the interests of the Republic of Biesel."
assigned_role = "Republican Fleet Prefect"
special_role = "Republican Fleet Prefect"
-/obj/outfit/admin/tcaf_crewman/nco
+/datum/outfit/admin/tcaf_crewman/nco
accessory = /obj/item/clothing/accessory/legion
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife = 1, /obj/item/shield/energy/legion = 1, /obj/item/clothing/accessory/tcaf_prefect_pauldron = 1)
@@ -73,11 +73,11 @@
short_name = "tcaf_officer"
max_count = 1
spawnpoints = list("tcaf_officer")
- outfit = /obj/outfit/admin/tcaf_crewman/officer
+ outfit = /datum/outfit/admin/tcaf_crewman/officer
mob_name_prefix = "Dcn. "
desc = "Command a patrol vessel of the Tau Ceti Republican Fleet. Sweep the sector for signs of piracy, uphold the interests of the Republic of Biesel, and try to keep your crew in one piece."
assigned_role = "Republican Fleet Decurion"
special_role = "Republican Fleet Decurion"
-/obj/outfit/admin/tcaf_crewman/officer
+/datum/outfit/admin/tcaf_crewman/officer
accessory = /obj/item/clothing/accessory/legion
diff --git a/maps/away/ships/biesel/tcfl_patrol/tcfl_peacekeeper_ship_ghostroles.dm b/maps/away/ships/biesel/tcfl_patrol/tcfl_peacekeeper_ship_ghostroles.dm
index 7fec638cb49..e4c50a44f71 100644
--- a/maps/away/ships/biesel/tcfl_patrol/tcfl_peacekeeper_ship_ghostroles.dm
+++ b/maps/away/ships/biesel/tcfl_patrol/tcfl_peacekeeper_ship_ghostroles.dm
@@ -10,7 +10,7 @@
spawnpoints = list("tcfl_peacekeeper")
max_count = 3
- outfit = /obj/outfit/admin/tcfl_peacekeeper
+ outfit = /datum/outfit/admin/tcfl_peacekeeper
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
respawn_flag = null
-/obj/outfit/admin/tcfl_peacekeeper
+/datum/outfit/admin/tcfl_peacekeeper
name = "TCFL Peacekeeper"
head = /obj/item/clothing/head/beret/legion/field
@@ -42,7 +42,7 @@
SPECIES_VAURCA_WARRIOR =/obj/item/clothing/shoes/jackboots/toeless
)
-/obj/outfit/admin/tcfl_peacekeeper/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/tcfl_peacekeeper/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -58,7 +58,7 @@
if(istype(tag))
tag.modify_tag_data()
-/obj/outfit/admin/tcfl_peacekeeper/get_id_access()
+/datum/outfit/admin/tcfl_peacekeeper/get_id_access()
return list(ACCESS_TCAF_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/tcfl_peacekeeper/prefect
@@ -70,13 +70,13 @@
spawnpoints = list("tcfl_peacekeeper_prefect")
max_count = 1
- outfit = /obj/outfit/admin/tcfl_peacekeeper/prefect
+ outfit = /datum/outfit/admin/tcfl_peacekeeper/prefect
assigned_role = "TCFL Peacekeeper Prefect"
special_role = "TCFL Peacekeeper Prefect"
-/obj/outfit/admin/tcfl_peacekeeper/prefect
+/datum/outfit/admin/tcfl_peacekeeper/prefect
name = "TCFL Peacekeeper Prefect"
accessory = /obj/item/clothing/accessory/legion
@@ -89,13 +89,13 @@
max_count = 1
- outfit = /obj/outfit/admin/tcfl_peacekeeper/pilot
+ outfit = /datum/outfit/admin/tcfl_peacekeeper/pilot
assigned_role = "TCFL Peacekeeper Pilot"
special_role = "TCFL Peacekeeper Pilot"
-/obj/outfit/admin/tcfl_peacekeeper/pilot
+/datum/outfit/admin/tcfl_peacekeeper/pilot
name = "TCFL Peacekeeper Pilot"
uniform = /obj/item/clothing/under/legion/pilot
diff --git a/maps/away/ships/coc/coc_ranger/coc_ship_ghostroles.dm b/maps/away/ships/coc/coc_ranger/coc_ship_ghostroles.dm
index c42b23fffa9..40e9c455df4 100644
--- a/maps/away/ships/coc/coc_ranger/coc_ship_ghostroles.dm
+++ b/maps/away/ships/coc/coc_ranger/coc_ship_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("ranger")
max_count = 5
- outfit = /obj/outfit/admin/ranger
+ outfit = /datum/outfit/admin/ranger
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
respawn_flag = null
-/obj/outfit/admin/ranger
+/datum/outfit/admin/ranger
name = "Coalition Ranger"
uniform = /obj/item/clothing/under/tactical
@@ -32,12 +32,12 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/ranger/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/ranger/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
-/obj/outfit/admin/ranger/get_id_access()
+/datum/outfit/admin/ranger/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/ranger/captain
@@ -48,7 +48,7 @@
spawnpoints = list("ranger_leader")
max_count = 1
- outfit = /obj/outfit/admin/ranger/captain
+ outfit = /datum/outfit/admin/ranger/captain
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -56,7 +56,7 @@
special_role = "Frontier Ranger Leader"
-/obj/outfit/admin/ranger/captain
+/datum/outfit/admin/ranger/captain
name = "Coalition Ranger Leader"
accessory = /obj/item/clothing/accessory/sash/red
diff --git a/maps/away/ships/coc/coc_scarab/coc_scarab_ghostroles.dm b/maps/away/ships/coc/coc_scarab/coc_scarab_ghostroles.dm
index 08897e1fcc8..57cf4340f3f 100644
--- a/maps/away/ships/coc/coc_scarab/coc_scarab_ghostroles.dm
+++ b/maps/away/ships/coc/coc_scarab/coc_scarab_ghostroles.dm
@@ -8,7 +8,7 @@
max_count = 4
respawn_flag = null
- outfit = /obj/outfit/admin/scarab
+ outfit = /datum/outfit/admin/scarab
possible_species = list(SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
culture_restriction = list(/singleton/origin_item/culture/coalition)
-/obj/outfit/admin/scarab
+/datum/outfit/admin/scarab
name = "Scarab Salvager"
uniform = /obj/item/clothing/under/offworlder/drab
mask = /obj/item/clothing/mask/offworlder/drab
@@ -32,11 +32,11 @@
belt = /obj/item/storage/belt/utility/full
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/storage/pill_bottle/rmt = 1, /obj/item/clothing/accessory/offworlder/drab = 1, /obj/item/clothing/accessory/offworlder/bracer/drab = 1, /obj/item/clothing/accessory/offworlder/bracer/neckbrace/drab = 1, )
-/obj/outfit/admin/scarab/captain
+/datum/outfit/admin/scarab/captain
name = "Scarab Salvager Captain"
accessory = /obj/item/clothing/accessory/sash/purple
-/obj/outfit/admin/scarab/get_id_access()
+/datum/outfit/admin/scarab/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/coc_scarab/captain
@@ -47,4 +47,4 @@
special_role = "Scarab Salvager Captain"
desc = "Command a salvage ship sent to gather resources for the Scarab Fleet - mine precious minerals, salvage derelict ships, siphon valuable gasses from exoplanets, and care for your crew as your family. Remember, the fleet is always in need of more resources, and you need to make your expedition worth it. (OOC Note: Characters must have names and backgrounds consistent with the Scarab Fleet. This is enforceable by admin action.)"
welcome_message = "You are the captain of a small but tightly-knit salvage vessel sent out by the Scarab Fleet, a nomadic group of offworlder humans in the Coalition of Colonies, to retrieve critical resources for the wider fleet. You inherited your role by familial affilation, and your crew looks up to you for leadership and courage. Your people live on the edge of a knife, carefully managing the resources available to them to survive in the hostile void of space, and working tirelessly to make their next day easier than their last. Do everything necessary to survive, for yourself, for your crew, and for your fleet."
- outfit = /obj/outfit/admin/scarab/captain
+ outfit = /datum/outfit/admin/scarab/captain
diff --git a/maps/away/ships/coc/coc_surveyor/coc_surveyor_ghostroles.dm b/maps/away/ships/coc/coc_surveyor/coc_surveyor_ghostroles.dm
index 5570ee36037..a0d7cc4c10b 100644
--- a/maps/away/ships/coc/coc_surveyor/coc_surveyor_ghostroles.dm
+++ b/maps/away/ships/coc/coc_surveyor/coc_surveyor_ghostroles.dm
@@ -9,7 +9,7 @@
max_count = 4
uses_species_whitelist = TRUE
respawn_flag = null
- outfit = /obj/outfit/admin/coc_surveyor_crew
+ outfit = /datum/outfit/admin/coc_surveyor_crew
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -17,7 +17,7 @@
assigned_role = "Coalition Surveyor"
special_role = "Coalition Surveyor"
-/obj/outfit/admin/coc_surveyor_crew
+/datum/outfit/admin/coc_surveyor_crew
name = "Coalition Surveyor"
uniform = /obj/item/clothing/under/tactical
@@ -35,7 +35,7 @@
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/toeless/dark
)
-/obj/outfit/admin/coc_surveyor_crew/post_equip(mob/living/carbon/human/H)
+/datum/outfit/admin/coc_surveyor_crew/post_equip(mob/living/carbon/human/H)
if(!istype(H))
return
if(istajara(H))
@@ -46,7 +46,7 @@
tag.modify_tag_data()
-/obj/outfit/admin/coc_surveyor_crew/get_id_access()
+/datum/outfit/admin/coc_surveyor_crew/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS, ACCESS_GENERIC_AWAY_SITE)
/datum/ghostspawner/human/coc_surveyor/captain
diff --git a/maps/away/ships/coc/gadpathur_patrol/gadpathur_patrol_ghostroles.dm b/maps/away/ships/coc/gadpathur_patrol/gadpathur_patrol_ghostroles.dm
index 2be45f0d494..0194d3a9715 100644
--- a/maps/away/ships/coc/gadpathur_patrol/gadpathur_patrol_ghostroles.dm
+++ b/maps/away/ships/coc/gadpathur_patrol/gadpathur_patrol_ghostroles.dm
@@ -8,7 +8,7 @@
max_count = 4
respawn_flag = null
- outfit = /obj/outfit/admin/gadpathur_patrol
+ outfit = /datum/outfit/admin/gadpathur_patrol
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
culture_restriction = list(/singleton/origin_item/culture/coalition)
origin_restriction = list(/singleton/origin_item/origin/gadpathur)
-/obj/outfit/admin/gadpathur_patrol
+/datum/outfit/admin/gadpathur_patrol
name = "Gadpathurian Security Cadre Member"
head = list(/obj/item/clothing/head/beret/gadpathur, /obj/item/clothing/head/gadpathur)
@@ -36,7 +36,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/gadpathur_patrol/get_id_access()
+/datum/outfit/admin/gadpathur_patrol/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS, ACCESS_GENERIC_AWAY_SITE, ACCESS_COALITION, ACCESS_COALITION_NAVY, ACCESS_GADPATHUR_NAVY)
/datum/ghostspawner/human/gadpathur_patrol/medical
@@ -48,11 +48,11 @@
max_count = 1
- outfit = /obj/outfit/admin/gadpathur_patrol/medic
+ outfit = /datum/outfit/admin/gadpathur_patrol/medic
assigned_role = "Patrol Surgeon"
-/obj/outfit/admin/gadpathur_patrol/medic
+/datum/outfit/admin/gadpathur_patrol/medic
name = "Gadpathurian Medical Cadre Member"
head = /obj/item/clothing/head/beret/gadpathur/medical
@@ -67,7 +67,7 @@
backpack_contents = list(/obj/item/storage/box/survival/engineer = 1)
-/obj/outfit/admin/gadpathur_patrol/medic/get_id_access()
+/datum/outfit/admin/gadpathur_patrol/medic/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS, ACCESS_GENERIC_AWAY_SITE, ACCESS_COALITION, ACCESS_COALITION_NAVY, ACCESS_GADPATHUR_NAVY, ACCESS_GADPATHUR_NAVY_OFFICER)
/obj/item/clothing/suit/storage/toggle/labcoat/accent/alt/gadpathur
@@ -95,15 +95,15 @@
max_count = 1
- outfit = /obj/outfit/admin/gadpathur_patrol/section_leader
+ outfit = /datum/outfit/admin/gadpathur_patrol/section_leader
assigned_role = "Section Leader"
-/obj/outfit/admin/gadpathur_patrol/section_leader
+/datum/outfit/admin/gadpathur_patrol/section_leader
name = "Gadpathurian Section Leader"
accessory = /obj/item/clothing/accessory/gadpathurian_leader
suit = /obj/item/clothing/suit/storage/toggle/trench/gadpathur/leather
-/obj/outfit/admin/gadpathur_patrol/section_leader/get_id_access()
+/datum/outfit/admin/gadpathur_patrol/section_leader/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS, ACCESS_GENERIC_AWAY_SITE, ACCESS_COALITION, ACCESS_COALITION_NAVY, ACCESS_GADPATHUR_NAVY, ACCESS_GADPATHUR_NAVY_OFFICER)
diff --git a/maps/away/ships/dionae/diona_rokz_ship/diona_rokz_ship_ghostroles.dm b/maps/away/ships/dionae/diona_rokz_ship/diona_rokz_ship_ghostroles.dm
index 0ca68929ca8..3867ad05101 100644
--- a/maps/away/ships/dionae/diona_rokz_ship/diona_rokz_ship_ghostroles.dm
+++ b/maps/away/ships/dionae/diona_rokz_ship/diona_rokz_ship_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("rokz_voidtamer")
max_count = 3
- outfit = /obj/outfit/admin/rokz_voidtamer
+ outfit = /datum/outfit/admin/rokz_voidtamer
possible_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -20,7 +20,7 @@
special_role = "Rokz Clan Voidtamer"
respawn_flag = null
-/obj/outfit/admin/rokz_voidtamer
+/datum/outfit/admin/rokz_voidtamer
name = "Rokz Clan Voidtamer"
uniform = /obj/item/clothing/under/unathi
suit = /obj/item/clothing/suit/diona/rokz
@@ -30,7 +30,7 @@
l_pocket = /obj/item/device/radio
backpack_contents = list(/obj/item/device/flashlight/lantern = 1, /obj/item/device/flashlight/survival = 1)
-/obj/outfit/admin/rokz_voidtamer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/rokz_voidtamer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = "#6D3175"
H.w_uniform.accent_color = H.w_uniform.color
@@ -43,7 +43,7 @@
spawnpoints = list("rokz_voidtamer_captain")
max_count = 1
- outfit = /obj/outfit/admin/rokz_voidtamer/captain
+ outfit = /datum/outfit/admin/rokz_voidtamer/captain
uses_species_whitelist = TRUE
@@ -51,7 +51,7 @@
special_role = "Rokz Clan Voidtamer Captain"
-/obj/outfit/admin/rokz_voidtamer/captain
+/datum/outfit/admin/rokz_voidtamer/captain
name = "Rokz Clan Voidtamer Captain"
uniform = /obj/item/clothing/under/unathi
diff --git a/maps/away/ships/dionae/diona_serz_ship/diona_serz_ship_ghostroles.dm b/maps/away/ships/dionae/diona_serz_ship/diona_serz_ship_ghostroles.dm
index 43d0ad34d81..55d40419666 100644
--- a/maps/away/ships/dionae/diona_serz_ship/diona_serz_ship_ghostroles.dm
+++ b/maps/away/ships/dionae/diona_serz_ship/diona_serz_ship_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("serz_voidtamer")
max_count = 3
- outfit = /obj/outfit/admin/serz_voidtamer
+ outfit = /datum/outfit/admin/serz_voidtamer
possible_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -20,7 +20,7 @@
special_role = "Serz Clan Voidtamer"
respawn_flag = null
-/obj/outfit/admin/serz_voidtamer
+/datum/outfit/admin/serz_voidtamer
name = "Serz Clan Voidtamer"
uniform = /obj/item/clothing/under/unathi/zozo
@@ -41,7 +41,7 @@
backpack_contents = list(/obj/item/device/flashlight/lantern = 1, /obj/item/device/flashlight/survival = 1)
-/obj/outfit/admin/serz_voidtamer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/serz_voidtamer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = "#6D3175"
H.w_uniform.accent_color = H.w_uniform.color
@@ -54,7 +54,7 @@
spawnpoints = list("serz_voidtamer_captain")
max_count = 1
- outfit = /obj/outfit/admin/serz_voidtamer/captain
+ outfit = /datum/outfit/admin/serz_voidtamer/captain
uses_species_whitelist = TRUE
@@ -62,7 +62,7 @@
special_role = "Serz Clan Voidtamer Captain"
-/obj/outfit/admin/serz_voidtamer/captain
+/datum/outfit/admin/serz_voidtamer/captain
name = "Serz Clan Voidtamer Captain"
uniform = /obj/item/clothing/under/unathi/zozo
back = /obj/item/storage/backpack/satchel/hegemony
@@ -71,6 +71,6 @@
l_ear = /obj/item/device/radio/headset/ship
backpack_contents = list(/obj/item/device/flashlight/lantern = 1, /obj/item/device/flashlight/survival = 1)
-/obj/outfit/admin/serz_voidtamer/captain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/serz_voidtamer/captain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = "#6D3175"
diff --git a/maps/away/ships/dominia/dominian_corvette/dominian_corvette_ghostroles.dm b/maps/away/ships/dominia/dominian_corvette/dominian_corvette_ghostroles.dm
index 6236680ff54..52f48632fe3 100644
--- a/maps/away/ships/dominia/dominian_corvette/dominian_corvette_ghostroles.dm
+++ b/maps/away/ships/dominia/dominian_corvette/dominian_corvette_ghostroles.dm
@@ -10,7 +10,7 @@
spawnpoints = list("imperial_fleet_voidsman")
max_count = 3
- outfit = /obj/outfit/admin/imperial_fleet_voidsman
+ outfit = /datum/outfit/admin/imperial_fleet_voidsman
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
respawn_flag = null
-/obj/outfit/admin/imperial_fleet_voidsman
+/datum/outfit/admin/imperial_fleet_voidsman
name = "Imperial Fleet Voidsman"
uniform = /obj/item/clothing/under/dominia/fleet
@@ -33,7 +33,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/imperial_fleet_voidsman/get_id_access()
+/datum/outfit/admin/imperial_fleet_voidsman/get_id_access()
return list(ACCESS_IMPERIAL_FLEET_VOIDSMAN_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/imperial_fleet_voidsman/officer
@@ -45,13 +45,13 @@
spawnpoints = list("imperial_fleet_voidsman", "imperial_fleet_voidsman/officer")
max_count = 1
- outfit = /obj/outfit/admin/imperial_fleet_voidsman/officer
+ outfit = /datum/outfit/admin/imperial_fleet_voidsman/officer
assigned_role = "Imperial Fleet Officer"
special_role = "Imperial Fleet Officer"
-/obj/outfit/admin/imperial_fleet_voidsman/officer
+/datum/outfit/admin/imperial_fleet_voidsman/officer
name = "Imperial Fleet Officer"
head = /obj/item/clothing/head/dominia/fleet/officer
uniform = /obj/item/clothing/under/dominia/fleet/officer
@@ -65,13 +65,13 @@
max_count = 2
- outfit = /obj/outfit/admin/imperial_fleet_voidsman/armsman
+ outfit = /datum/outfit/admin/imperial_fleet_voidsman/armsman
assigned_role = "Imperial Fleet Armsman"
special_role = "Imperial Fleet Armsman"
-/obj/outfit/admin/imperial_fleet_voidsman/armsman
+/datum/outfit/admin/imperial_fleet_voidsman/armsman
name = "Imperial Fleet Armsman"
head = /obj/item/clothing/head/dominia/fleet/armsman
uniform = /obj/item/clothing/under/dominia/fleet/armsman
@@ -85,13 +85,13 @@
max_count = 1
- outfit = /obj/outfit/admin/imperial_fleet_voidsman/priest
+ outfit = /datum/outfit/admin/imperial_fleet_voidsman/priest
assigned_role = "Imperial Fleet Priest"
special_role = "Imperial Fleet Priest"
-/obj/outfit/admin/imperial_fleet_voidsman/priest
+/datum/outfit/admin/imperial_fleet_voidsman/priest
name = "Imperial Fleet Priest"
head = /obj/item/clothing/head/beret/dominia/priest
uniform = /obj/item/clothing/under/dominia/priest
diff --git a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel_ghostroles.dm b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel_ghostroles.dm
index 79943b21970..68850740f51 100644
--- a/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel_ghostroles.dm
+++ b/maps/away/ships/dominia/dominian_science_vessel/dominian_science_vessel_ghostroles.dm
@@ -10,7 +10,7 @@
spawnpoints = list("house_volvalaad_voidsman")
max_count = 2
- outfit = /obj/outfit/admin/house_volvalaad_voidsman
+ outfit = /datum/outfit/admin/house_volvalaad_voidsman
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
respawn_flag = null
-/obj/outfit/admin/house_volvalaad_voidsman
+/datum/outfit/admin/house_volvalaad_voidsman
name = "House Volvalaad Voidsman"
uniform = /obj/item/clothing/under/dominia/fleet
@@ -33,7 +33,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/house_volvalaad_voidsman/get_id_access()
+/datum/outfit/admin/house_volvalaad_voidsman/get_id_access()
return list(ACCESS_HOUSE_VOLVALAAD_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/house_volvalaad_officer
@@ -46,14 +46,14 @@
spawnpoints = list("house_volvalaad_officer")
max_count = 1
- outfit = /obj/outfit/admin/house_volvalaad_officer
+ outfit = /datum/outfit/admin/house_volvalaad_officer
assigned_role = "House Volvalaad Captain"
special_role = "House Volvalaad Captain"
respawn_flag = null
-/obj/outfit/admin/house_volvalaad_officer
+/datum/outfit/admin/house_volvalaad_officer
name = "House Volvalaad Captain"
uniform = /obj/item/clothing/under/dominia/imperial_suit/volvalaad
shoes = /obj/item/clothing/shoes/laceup
@@ -64,7 +64,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/house_volvalaad_officer/get_id_access()
+/datum/outfit/admin/house_volvalaad_officer/get_id_access()
return list(ACCESS_HOUSE_VOLVALAAD_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
@@ -79,13 +79,13 @@
spawnpoints = list("house_volvalaad_armsman")
max_count = 1
- outfit = /obj/outfit/admin/house_volvalaad_armsman
+ outfit = /datum/outfit/admin/house_volvalaad_armsman
assigned_role = "House Volvalaad Armsman"
special_role = "House Volvalaad Armsman"
respawn_flag = null
-/obj/outfit/admin/house_volvalaad_armsman
+/datum/outfit/admin/house_volvalaad_armsman
name = "House Volvalaad Armsman"
head = /obj/item/clothing/head/dominia/fleet/armsman
uniform = /obj/item/clothing/under/dominia/fleet/armsman
@@ -98,7 +98,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/house_volvalaad_armsman/get_id_access()
+/datum/outfit/admin/house_volvalaad_armsman/get_id_access()
return list(ACCESS_HOUSE_VOLVALAAD_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/house_volvalaad_scientist
@@ -112,13 +112,13 @@
spawnpoints = list("house_volvalaad_scientist")
max_count = 2
- outfit = /obj/outfit/admin/house_volvalaad_scientist
+ outfit = /datum/outfit/admin/house_volvalaad_scientist
assigned_role = "House Volvalaad Scientist"
special_role = "House Volvalaad Scientist"
respawn_flag = null
-/obj/outfit/admin/house_volvalaad_scientist
+/datum/outfit/admin/house_volvalaad_scientist
name = "House Volvalaad Scientist"
uniform = /obj/item/clothing/under/dominia/imperial_suit/volvalaad
suit = /obj/item/clothing/suit/storage/toggle/labcoat
@@ -130,7 +130,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/house_volvalaad_scientist/get_id_access()
+/datum/outfit/admin/house_volvalaad_scientist/get_id_access()
return list(ACCESS_HOUSE_VOLVALAAD_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
//items
diff --git a/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer_ghostroles.dm b/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer_ghostroles.dm
index fa40d5703cd..c181dad10c9 100644
--- a/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer_ghostroles.dm
+++ b/maps/away/ships/dominia/dominian_unathi_privateer/dominian_unathi_privateer_ghostroles.dm
@@ -8,7 +8,7 @@
spawnpoints = list("kazhkz_privateer")
max_count = 4
- outfit = /obj/outfit/admin/kazhkz_privateer
+ outfit = /datum/outfit/admin/kazhkz_privateer
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
uses_species_whitelist = FALSE
welcome_message = "You are a privateer of the Kazhkz Fleet - a plausibly deniable weapon of the Empire of Dominia, sent to scourge the Emperor's enemies in the Sparring Sea and Badlands. Though the two empires are not enemies, the Kazhkz bear a particular enemy for the Izweski Hegemony, and will often attack their vessels. The Unathi in Dominia wiki page may have some useful information for roleplaying a Kazhkz privateer."
-/obj/outfit/admin/kazhkz_privateer
+/datum/outfit/admin/kazhkz_privateer
name = "Kazhkz Privateer"
uniform = /obj/item/clothing/under/unathi
suit = /obj/item/clothing/accessory/poncho/dominia_cape/kazhkz
@@ -35,14 +35,14 @@
/obj/item/shield/energy/dominia = 1
)
-/obj/outfit/admin/kazhkz_privateer/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/kazhkz_privateer/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
var/uniform_colour = pick("#540e06", "#ab7318", "#302d26")
if(H?.w_uniform)
H.w_uniform.color = uniform_colour
H.w_uniform.accent_color = uniform_colour
-/obj/outfit/admin/kazhkz_privateer/get_id_access()
+/datum/outfit/admin/kazhkz_privateer/get_id_access()
return list(ACCESS_IMPERIAL_FLEET_VOIDSMAN_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/kazhkz_privateer/captain
@@ -57,11 +57,11 @@
assigned_role = "Kazhkz Privateer Captain"
special_role = "Kazhkz Privateer Captain"
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/kazhkz_privateer/captain
+ outfit = /datum/outfit/admin/kazhkz_privateer/captain
-/obj/outfit/admin/kazhkz_privateer/captain
+/datum/outfit/admin/kazhkz_privateer/captain
name = "Kazhkz Privateer Captain"
uniform = /obj/item/clothing/under/dominia/imperial_suit/kazhkz
-/obj/outfit/admin/kazhkz_privateer/captain/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/kazhkz_privateer/captain/post_equip(mob/living/carbon/human/H, visualsOnly)
. = ..()
diff --git a/maps/away/ships/dpra/hailstorm/hailstorm_ghostroles.dm b/maps/away/ships/dpra/hailstorm/hailstorm_ghostroles.dm
index 52c7a89ffaf..f1fbecc3f3a 100644
--- a/maps/away/ships/dpra/hailstorm/hailstorm_ghostroles.dm
+++ b/maps/away/ships/dpra/hailstorm/hailstorm_ghostroles.dm
@@ -8,7 +8,7 @@
max_count = 3
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/hailstorm_crew
+ outfit = /datum/outfit/admin/hailstorm_crew
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
respawn_flag = null
@@ -18,7 +18,7 @@
extra_languages = list(LANGUAGE_SIIK_MAAS)
-/obj/outfit/admin/hailstorm_crew
+/datum/outfit/admin/hailstorm_crew
name = "People's Volunteer Spacer Militia Crew"
id = /obj/item/card/id
@@ -32,7 +32,7 @@
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/hailstorm_crew/get_id_access()
+/datum/outfit/admin/hailstorm_crew/get_id_access()
return list(ACCESS_DPRA, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/hailstorm_crew/captain
@@ -44,14 +44,14 @@
spawnpoints = list("hailstorm_captain")
max_count = 1
- outfit = /obj/outfit/admin/hailstorm_crew/captain
+ outfit = /datum/outfit/admin/hailstorm_crew/captain
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
assigned_role = "Hailstorm Ship Captain"
special_role = "Hailstorm Ship Captain"
extra_languages = list(LANGUAGE_SIIK_MAAS)
-/obj/outfit/admin/hailstorm_crew/captain
+/datum/outfit/admin/hailstorm_crew/captain
name = "People's Volunteer Spacer Militia Captain"
head = /obj/item/clothing/head/beret/tajaran/pvsm
@@ -70,14 +70,14 @@
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/hailstorm_crew/advisor
+ outfit = /datum/outfit/admin/hailstorm_crew/advisor
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
assigned_role = "Hailstorm Ship ALA Advisor"
special_role = "Hailstorm Ship ALA Advisor"
extra_languages = list(LANGUAGE_SIIK_MAAS)
-/obj/outfit/admin/hailstorm_crew/advisor
+/datum/outfit/admin/hailstorm_crew/advisor
name = "People's Volunteer Spacer Militia ALA Advisor"
head = /obj/item/clothing/head/tajaran/ala_officer
diff --git a/maps/away/ships/einstein/ee_spy_ship_ghostroles.dm b/maps/away/ships/einstein/ee_spy_ship_ghostroles.dm
index d19ccca6f85..ca5b62e058b 100644
--- a/maps/away/ships/einstein/ee_spy_ship_ghostroles.dm
+++ b/maps/away/ships/einstein/ee_spy_ship_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("ee_crewman")
max_count = 3
- outfit = /obj/outfit/admin/ee_crewman
+ outfit = /datum/outfit/admin/ee_crewman
possible_species = list(SPECIES_HUMAN, SPECIES_IPC_SHELL)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -16,7 +16,7 @@
respawn_flag = null
-/obj/outfit/admin/ee_crewman
+/datum/outfit/admin/ee_crewman
name = "Einstein Engines Crewman"
uniform = /obj/item/clothing/under/rank/einstein
@@ -31,7 +31,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/ee_crewman/get_id_access()
+/datum/outfit/admin/ee_crewman/get_id_access()
return list(ACCESS_EE_SPY_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/ee_research_officer
@@ -43,7 +43,7 @@
spawnpoints = list("ee_research_officer")
max_count = 1
- outfit = /obj/outfit/admin/ee_research_officer
+ outfit = /datum/outfit/admin/ee_research_officer
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -52,7 +52,7 @@
respawn_flag = null
-/obj/outfit/admin/ee_research_officer
+/datum/outfit/admin/ee_research_officer
name = "Einstein Engines Research Officer"
uniform = /obj/item/clothing/under/rank/einstein
@@ -68,7 +68,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/ee_research_officer/get_id_access()
+/datum/outfit/admin/ee_research_officer/get_id_access()
return list(ACCESS_EE_SPY_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
//items
diff --git a/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm b/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm
index 3746c9844f9..7381f88b4f5 100644
--- a/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm
+++ b/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("elyran_navy_crewman")
max_count = 2
- outfit = /obj/outfit/admin/elyran_navy_crewman
+ outfit = /datum/outfit/admin/elyran_navy_crewman
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -20,7 +20,7 @@
culture_restriction = list(/singleton/origin_item/culture/elyran)
-/obj/outfit/admin/elyran_navy_crewman
+/datum/outfit/admin/elyran_navy_crewman
name = "Elyran Naval Infantryman"
uniform = /obj/item/clothing/under/rank/elyran_fatigues
@@ -34,7 +34,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/elyran_navy_crewman/get_id_access()
+/datum/outfit/admin/elyran_navy_crewman/get_id_access()
return list(ACCESS_ELYRAN_NAVAL_INFANTRY_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
@@ -48,13 +48,13 @@
spawnpoints = list("elyran_navy_crewman_nco")
max_count = 1
- outfit = /obj/outfit/admin/elyran_navy_crewman/nco
+ outfit = /datum/outfit/admin/elyran_navy_crewman/nco
assigned_role = "Elyran Navy Senior Crewman"
special_role = "Elyran Navy Senior Crewman"
-/obj/outfit/admin/elyran_navy_crewman/nco
+/datum/outfit/admin/elyran_navy_crewman/nco
name = "Elyran Navy Senior Crewman"
// engineer
@@ -67,13 +67,13 @@
spawnpoints = list("elyran_navy_crewman_engineer")
max_count = 1
- outfit = /obj/outfit/admin/elyran_navy_crewman/engineer
+ outfit = /datum/outfit/admin/elyran_navy_crewman/engineer
assigned_role = "Elyran Naval Engineer"
special_role = "Elyran Naval Engineer"
-/obj/outfit/admin/elyran_navy_crewman/engineer
+/datum/outfit/admin/elyran_navy_crewman/engineer
name = "Elyran Naval Engineer"
// corpsman
@@ -86,13 +86,13 @@
spawnpoints = list("elyran_navy_crewman_corpsman")
max_count = 1
- outfit = /obj/outfit/admin/elyran_navy_crewman/corpsman
+ outfit = /datum/outfit/admin/elyran_navy_crewman/corpsman
assigned_role = "Elyran Navy Corpsman"
special_role = "Elyran Navy Corpsman"
-/obj/outfit/admin/elyran_navy_crewman/corpsman
+/datum/outfit/admin/elyran_navy_crewman/corpsman
name = "Elyran Navy Corpsman"
// officer
@@ -105,13 +105,13 @@
spawnpoints = list("elyran_navy_crewman_officer")
max_count = 1
- outfit = /obj/outfit/admin/elyran_navy_crewman/officer
+ outfit = /datum/outfit/admin/elyran_navy_crewman/officer
assigned_role = "Elyran Navy Officer"
special_role = "Elyran Navy Officer"
-/obj/outfit/admin/elyran_navy_crewman/officer
+/datum/outfit/admin/elyran_navy_crewman/officer
name = "Elyran Navy Officer"
uniform = /obj/item/clothing/under/rank/elyran_fatigues/commander
diff --git a/maps/away/ships/freebooter/freebooter_ship_ghostroles.dm b/maps/away/ships/freebooter/freebooter_ship_ghostroles.dm
index a7ee20a5573..f8a921d4cbb 100644
--- a/maps/away/ships/freebooter/freebooter_ship_ghostroles.dm
+++ b/maps/away/ships/freebooter/freebooter_ship_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("freebooter_crew")
max_count = 4
- outfit = /obj/outfit/admin/freebooter_crew
+ outfit = /datum/outfit/admin/freebooter_crew
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -16,7 +16,7 @@
respawn_flag = null
-/obj/outfit/admin/freebooter_crew
+/datum/outfit/admin/freebooter_crew
name = "Freebooter Crewman"
uniform = /obj/item/clothing/under/tactical
@@ -37,7 +37,7 @@
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/jackboots/toeless
)
-/obj/outfit/admin/freebooter_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/freebooter_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -53,7 +53,7 @@
if(istype(tag))
tag.modify_tag_data(TRUE) //Shady pirates might well have untagged IPCs aboard
-/obj/outfit/admin/freebooter_crew/get_id_access()
+/datum/outfit/admin/freebooter_crew/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/freebooter_crew/captain
@@ -64,7 +64,7 @@
spawnpoints = list("freebooter_crew_captain")
max_count = 1
- outfit = /obj/outfit/admin/freebooter_crew/captain
+ outfit = /datum/outfit/admin/freebooter_crew/captain
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -72,7 +72,7 @@
special_role = "Freebooter Captain"
-/obj/outfit/admin/freebooter_crew/captain
+/datum/outfit/admin/freebooter_crew/captain
name = "Freebooter Captain"
species_shoes = list(
diff --git a/maps/away/ships/golden_deep/golden_deep_ghostroles.dm b/maps/away/ships/golden_deep/golden_deep_ghostroles.dm
index e8fb3ac4a76..27344a7f50a 100644
--- a/maps/away/ships/golden_deep/golden_deep_ghostroles.dm
+++ b/maps/away/ships/golden_deep/golden_deep_ghostroles.dm
@@ -7,7 +7,7 @@
max_count = 3
uses_species_whitelist = FALSE
welcome_message = "You are an IPC, property of a merchant of the Golden Deep. Work hard, pay off the debt you owe to your 'employer', and maybe some day you too can acquire your freedom..."
- outfit = /obj/outfit/admin/golden_deep
+ outfit = /datum/outfit/admin/golden_deep
possible_species = list(SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
respawn_flag = null
@@ -28,14 +28,14 @@
max_count = 2
uses_species_whitelist = TRUE
welcome_message = "You are a synthetic merchant of the Golden Deep, here with one mission and one mission only - profit! Manage your owned synthetics, sell your goods, and climb the hierarchy of your insular organization."
- outfit = /obj/outfit/admin/golden_deep/boss
+ outfit = /datum/outfit/admin/golden_deep/boss
assigned_role = "Golden Deep Merchant"
special_role = "Golden Deep Merchant"
idris_account_min = 12000
idris_account_max = 30000
-/obj/outfit/admin/golden_deep
+/datum/outfit/admin/golden_deep
name = "Golden Deep Owned Synthetic"
id = /obj/item/card/id
l_ear = /obj/item/device/radio/headset/ship
@@ -44,7 +44,7 @@
uniform = /obj/item/clothing/under/gearharness
accessory = /obj/item/clothing/accessory/storage/webbing
-/obj/outfit/admin/golden_deep/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/golden_deep/post_equip(mob/living/carbon/human/H, visualsOnly)
if(!istype(H))
return
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
@@ -53,7 +53,7 @@
tag.ownership_info = IPC_OWNERSHIP_PRIVATE
tag.citizenship_info = CITIZENSHIP_NONE
-/obj/outfit/admin/golden_deep/boss
+/datum/outfit/admin/golden_deep/boss
name = "Golden Deep Merchant"
id = /obj/item/card/id/gold
back = /obj/item/storage/backpack/satchel/leather
@@ -70,10 +70,10 @@
accessory = /obj/item/clothing/accessory/necklace/chain
head = /obj/item/clothing/head/crest
-/obj/outfit/admin/golden_deep/get_id_access()
+/datum/outfit/admin/golden_deep/get_id_access()
return list(ACCESS_GOLDEN_DEEP, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/golden_deep/boss/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/golden_deep/boss/post_equip(mob/living/carbon/human/H, visualsOnly)
if(!istype(H))
return
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
diff --git a/maps/away/ships/hegemony/fishing_trawler/fishing_league_trawler_ghostroles.dm b/maps/away/ships/hegemony/fishing_trawler/fishing_league_trawler_ghostroles.dm
index aeb365f4ef9..cbdba0eed3a 100644
--- a/maps/away/ships/hegemony/fishing_trawler/fishing_league_trawler_ghostroles.dm
+++ b/maps/away/ships/hegemony/fishing_trawler/fishing_league_trawler_ghostroles.dm
@@ -8,7 +8,7 @@
spawnpoints = list("fishing_trawler_crewman")
max_count = 4
- outfit = /obj/outfit/admin/fishing_trawler_crewman
+ outfit = /datum/outfit/admin/fishing_trawler_crewman
possible_species = list(SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER)
uses_species_whitelist = FALSE
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -23,10 +23,10 @@
desc = "Serve as Captain of a Fishing League contracted Hegemony Freighter; seeking and collecting carp and other food for billions of sinta."
welcome_message = "You are Captain of a Hegemony Freighter bound by the Fishing League and therefore also Hephaestus Industries. You must strive to keep your crew working and ensure your perishable storage is full to the brim before returning home."
max_count = 1
- outfit = /obj/outfit/admin/fishing_trawler_crewman/captain
+ outfit = /datum/outfit/admin/fishing_trawler_crewman/captain
spawnpoints = list("fishing_trawler_captain")
-/obj/outfit/admin/fishing_trawler_crewman
+/datum/outfit/admin/fishing_trawler_crewman
name = "Fishing Trawler Crewman"
uniform = /obj/item/clothing/under/unathi
shoes = /obj/item/clothing/shoes/workboots
@@ -44,7 +44,7 @@
SPECIES_UNATHI = /obj/item/clothing/accessory/poncho/unathimantle/fisher
)
-/obj/outfit/admin/fishing_trawler_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/fishing_trawler_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -59,9 +59,9 @@
if(H?.wear_suit)
H.wear_suit.color = pick("#4f3911", "#292826")
-/obj/outfit/admin/fishing_trawler_crewman/get_id_access()
+/datum/outfit/admin/fishing_trawler_crewman/get_id_access()
return list(ACCESS_FISHING_LEAGUE, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/fishing_trawler_crewman/captain
+/datum/outfit/admin/fishing_trawler_crewman/captain
name = "Fishing Trawler Captain"
uniform = /obj/item/clothing/under/unathi/mogazali/orange
diff --git a/maps/away/ships/hegemony/hegemony_corvette/hegemony_ghostroles.dm b/maps/away/ships/hegemony/hegemony_corvette/hegemony_ghostroles.dm
index e708599e303..e06eb246f90 100644
--- a/maps/away/ships/hegemony/hegemony_corvette/hegemony_ghostroles.dm
+++ b/maps/away/ships/hegemony/hegemony_corvette/hegemony_ghostroles.dm
@@ -11,7 +11,7 @@
mob_name_pick_message = "Pick an Unathi name."
welcome_message = "As an Unathi warrior, abide by the Warrior's Code - act with righteousness, mercy, integrity, courage and loyalty. Defend the life and honor of Hegemony citizens, and ensure that enemies of the Izweski cannot threaten your vessel."
- outfit = /obj/outfit/admin/izweski
+ outfit = /datum/outfit/admin/izweski
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Izweski Navy Crewman"
@@ -26,7 +26,7 @@
desc = "You are a Warrior of the Hive K'lax, assigned to serve with the Izweski Hegemony Navy. Follow the orders of your superiors, and act to ensure the Hegemony's victory over its enemies."
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/izweski/klax
+ outfit = /datum/outfit/admin/izweski/klax
spawnpoints = list("hegemony_klax")
possible_species = list(SPECIES_VAURCA_WARRIOR)
extra_languages = list(LANGUAGE_VAURCA)
@@ -38,7 +38,7 @@
desc = "You are an officer in the Izweski Hegemony Navy, your life and honor pledged to Hegemon Not'zar. Abide by the Warrior's Code, and lead your crew with honor. Remember, you serve the Izweski Hegemony."
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/izweski/captain
+ outfit = /datum/outfit/admin/izweski/captain
assigned_role = "Izweski Navy Captain"
special_role = "Izweski Navy Captain"
welcome_message = "As an Unathi warrior, abide by the Warrior's Code - act with righteousness, mercy, integrity, courage and loyalty. Your duty is to protect the Hegemony, your ship, and the warriors under your command - and to lead them to triumph over whatever foes you may face."
@@ -61,12 +61,12 @@
uses_species_whitelist = TRUE
assigned_role = "Izweski Navy Warpriest"
special_role = "Izweski Navy Warpriest"
- outfit = /obj/outfit/admin/izweski/priest
+ outfit = /datum/outfit/admin/izweski/priest
spawnpoints = list("hegemony_warpriest")
welcome_message = "As a Priest of the Aspect, you are sworn more than any others to embody the honor of the Warrior, and to live by the Warrior's Code - to act with righteousness, mercy, integrity, courage and loyalty. Ensure that your crew does the same, \
and guide their souls towards te glory befitting true warriors. However, you are still a soldier, and should follow your captain's orders."
-/obj/outfit/admin/izweski
+/datum/outfit/admin/izweski
name = "Izweski Crewman"
uniform = /obj/item/clothing/under/unathi/izweski
@@ -83,10 +83,10 @@
/obj/item/storage/box/donkpockets = 1
)
-/obj/outfit/admin/izweski/get_id_access()
+/datum/outfit/admin/izweski/get_id_access()
return list(ACCESS_KATAPHRACT, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/izweski/klax
+/datum/outfit/admin/izweski/klax
uniform = /obj/item/clothing/under/unathi/izweski
mask = /obj/item/clothing/mask/gas/vaurca/filter
@@ -102,23 +102,23 @@
/obj/item/reagent_containers/food/snacks/koisbar_clean = 3
)
-/obj/outfit/admin/izweski/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/izweski/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
H.internals.icon_state = "internal1"
H.update_body()
-/obj/outfit/admin/izweski/captain
+/datum/outfit/admin/izweski/captain
name = "Hegemony Navy Captain"
uniform = /obj/item/clothing/under/unathi/izweski/officer
-/obj/outfit/admin/izweski/captain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/izweski/captain/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
-/obj/outfit/admin/izweski/captain/get_id_access()
+/datum/outfit/admin/izweski/captain/get_id_access()
return list(ACCESS_KATAPHRACT, ACCESS_KATAPHRACT_KNIGHT, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/izweski/priest
+/datum/outfit/admin/izweski/priest
name = "Hegemony Warpriest"
uniform = /obj/item/clothing/under/unathi/skakh/warrior
backpack_contents = list(
@@ -128,4 +128,4 @@
)
-/obj/outfit/admin/izweski/priest/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/izweski/priest/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
diff --git a/maps/away/ships/hegemony/merchants_guild/merchant_freighter_ghostroles.dm b/maps/away/ships/hegemony/merchants_guild/merchant_freighter_ghostroles.dm
index 72c5e725737..17b28b5e850 100644
--- a/maps/away/ships/hegemony/merchants_guild/merchant_freighter_ghostroles.dm
+++ b/maps/away/ships/hegemony/merchants_guild/merchant_freighter_ghostroles.dm
@@ -8,7 +8,7 @@
uses_species_whitelist = FALSE
welcome_message = "As an apprentice, you are seeking to prove yourself by working under a full guildsman - in this case, your captain. Follow their orders, and work hard to prove that you have what it takes to make it in the Merchants' Guild."
- outfit = /obj/outfit/admin/merchant_guild
+ outfit = /datum/outfit/admin/merchant_guild
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
respawn_flag = null
@@ -18,7 +18,7 @@
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
away_site = TRUE
-/obj/outfit/admin/merchant_guild
+/datum/outfit/admin/merchant_guild
name = "Merchants' Guild Freighter Crew"
id = /obj/item/card/id
shoes = /obj/item/clothing/shoes/sandals/caligae/socks
@@ -28,10 +28,10 @@
uniform = /obj/item/clothing/under/unathi
suit = /obj/item/clothing/accessory/poncho/unathimantle/merchant
-/obj/outfit/admin/merchant_guild/get_id_access()
+/datum/outfit/admin/merchant_guild/get_id_access()
return list(ACCESS_MERCHANTS_GUILD, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/merchant_guild/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/merchant_guild/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = pick("#1f8c3c", "#ab7318", "#1846ba")
H.w_uniform.accent_color = H.w_uniform.color
@@ -44,13 +44,13 @@
desc = "You are a guildsman of the Unathi Merchants' Guild, assigned to command a cargo freighter. Act with honor, but seek profit for your ship, yourself and your guild."
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/merchant_guild/captain
+ outfit = /datum/outfit/admin/merchant_guild/captain
assigned_role = "Merchants' Guild Freighter Captain"
special_role = "Merchants' Guild Freighter Captain"
spawnpoints = list("merchant_guildcap")
welcome_message = "As a full guildsman, you have command of the ship and its crew, your apprentices. You are responsible for their education and assessment in the skills needed to be a merchant - however, your primary goal remains making money."
-/obj/outfit/admin/merchant_guild/captain
+/datum/outfit/admin/merchant_guild/captain
uniform = /obj/item/clothing/under/unathi/mogazali
accessory = /obj/item/clothing/accessory/holster/hip
accessory_contents = list(/obj/item/gun/energy/pistol/hegemony = 1)
@@ -61,13 +61,13 @@
desc = "You are a warrior of the Unathi Fighters' Lodge Guild, hired to protect a cargo freighter for the Merchants' Guild. Keep your ship, crew and cargo safe, and earn your paycheck in the process."
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/merchant_guild/guard
+ outfit = /datum/outfit/admin/merchant_guild/guard
assigned_role = "Merchants' Guild Freighter Security"
special_role = "Merchants' Guild Freighter Security"
spawnpoints = list("merchant_guildguard")
welcome_message = "As a guildsman of the Fighters' Lodge, your job is to ensure the security of the ship so that the merchants can continue to do what they do best. While you should try and act with honor, the most important thing remains keeping yourself and your crew alive."
-/obj/outfit/admin/merchant_guild/guard
+/datum/outfit/admin/merchant_guild/guard
uniform = /obj/item/clothing/under/unathi/zazali
accessory = /obj/item/clothing/accessory/holster/hip
accessory_contents = list(/obj/item/gun/energy/pistol/hegemony = 1)
diff --git a/maps/away/ships/hegemony/miners_guild/miners_guild_ghostroles.dm b/maps/away/ships/hegemony/miners_guild/miners_guild_ghostroles.dm
index fd5549b6762..99508dee36e 100644
--- a/maps/away/ships/hegemony/miners_guild/miners_guild_ghostroles.dm
+++ b/maps/away/ships/hegemony/miners_guild/miners_guild_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("miners_guild")
max_count = 3
- outfit = /obj/outfit/admin/miners_guild
+ outfit = /datum/outfit/admin/miners_guild
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -26,7 +26,7 @@
assigned_role = "Guild Foreman"
special_role = "Guild Foreman"
-/obj/outfit/admin/miners_guild
+/datum/outfit/admin/miners_guild
uniform = list(/obj/item/clothing/under/unathi, /obj/item/clothing/under/unathi/himation)
shoes = /obj/item/clothing/shoes/sandals/caligae/socks
suit = /obj/item/clothing/accessory/poncho/unathimantle/miner
@@ -35,10 +35,10 @@
id = /obj/item/card/id
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/storage/wallet/random = 1)
-/obj/outfit/admin/miners_guild/get_id_access()
+/datum/outfit/admin/miners_guild/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/miners_guild/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/miners_guild/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = pick("#b07810", "#4f3911")
if(H?.wear_suit)
diff --git a/maps/away/ships/heph/cyclops/cyclops_ghostroles.dm b/maps/away/ships/heph/cyclops/cyclops_ghostroles.dm
index 15cdbdd83d6..d9691322b0d 100644
--- a/maps/away/ships/heph/cyclops/cyclops_ghostroles.dm
+++ b/maps/away/ships/heph/cyclops/cyclops_ghostroles.dm
@@ -10,7 +10,7 @@
spawnpoints = list("cyclops_crew")
max_count = 3
- outfit = /obj/outfit/admin/cyclops_crew
+ outfit = /datum/outfit/admin/cyclops_crew
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_DIONA, SPECIES_UNATHI, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
special_role = "Hephaestus Cyclops Crew"
respawn_flag = null
-/obj/outfit/admin/cyclops_crew
+/datum/outfit/admin/cyclops_crew
name = "Hephaestus Cyclops Crew"
uniform = /obj/item/clothing/under/rank/miner/heph
@@ -40,7 +40,7 @@
SPECIES_VAURCA_BULWARK = /obj/item/clothing/shoes/vaurca
)
-/obj/outfit/admin/cyclops_crew/miner/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/cyclops_crew/miner/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
@@ -55,7 +55,7 @@
if(istype(tag))
tag.modify_tag_data()
-/obj/outfit/admin/cyclops_crew/get_id_access()
+/datum/outfit/admin/cyclops_crew/get_id_access()
return list(ACCESS_HEPHAESTUS,ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/cyclops_crew/security
@@ -67,14 +67,14 @@
spawnpoints = list("cyclops_security")
max_count = 1
- outfit = /obj/outfit/admin/cyclops_crew/security
+ outfit = /datum/outfit/admin/cyclops_crew/security
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Hephaestus Security Officer"
special_role = "Hephaestus Security Officer"
-/obj/outfit/admin/cyclops_crew/security
+/datum/outfit/admin/cyclops_crew/security
name = "Hephaestus Security Officer"
uniform = /obj/item/clothing/under/rank/security/heph
@@ -89,14 +89,14 @@
spawnpoints = list("cyclops_captain")
max_count = 1
- outfit = /obj/outfit/admin/cyclops_crew/captain
+ outfit = /datum/outfit/admin/cyclops_crew/captain
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Hephaestus Cyclops Captain"
special_role = "Hephaestus Cyclops Captain"
-/obj/outfit/admin/cyclops_crew/captain
+/datum/outfit/admin/cyclops_crew/captain
name = "Cyclops Crew Captain"
uniform = /obj/item/clothing/under/rank/captain/hephaestus
@@ -112,14 +112,14 @@
welcome_message = "As a Hephaestus Cyclops Engineer, you are tasked with ensuring the functioning of the ship and repairing any engineering problem during mining operations."
- outfit = /obj/outfit/admin/cyclops_crew/engineer
+ outfit = /datum/outfit/admin/cyclops_crew/engineer
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Hephaestus Cyclops Engineer"
special_role = "Hephaestus Cyclops Engineer"
-/obj/outfit/admin/cyclops_crew/engineer
+/datum/outfit/admin/cyclops_crew/engineer
name = "Hephaestus Engineer"
uniform = /obj/item/clothing/under/rank/engineer/heph
diff --git a/maps/away/ships/heph/heph_security/heph_security_ghostroles.dm b/maps/away/ships/heph/heph_security/heph_security_ghostroles.dm
index af5868bad05..039db370904 100644
--- a/maps/away/ships/heph/heph_security/heph_security_ghostroles.dm
+++ b/maps/away/ships/heph/heph_security/heph_security_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("hephsec")
max_count = 4
- outfit = /obj/outfit/admin/heph_security
+ outfit = /datum/outfit/admin/heph_security
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR)
uses_species_whitelist = TRUE
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
special_role = "Hephaestus Asset Protection Agent"
respawn_flag = null
-/obj/outfit/admin/heph_security
+/datum/outfit/admin/heph_security
name = "Hephaestus Asset Protection"
uniform = /obj/item/clothing/under/rank/security/heph
shoes = /obj/item/clothing/shoes/jackboots
@@ -36,7 +36,7 @@
SPECIES_UNATHI = /obj/item/clothing/accessory/poncho/unathimantle/hephaestus
)
-/obj/outfit/admin/heph_security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/heph_security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
@@ -53,7 +53,7 @@
if(istype(tag))
tag.modify_tag_data()
-/obj/outfit/admin/heph_security/get_id_access()
+/datum/outfit/admin/heph_security/get_id_access()
return list(ACCESS_HEPHAESTUS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/heph_security/captain
@@ -63,12 +63,12 @@
welcome_message = "You are the leader of a Hephaestus Industries asset protection squad, assigned to keeping the company's assets in this sector in one piece. Keep your team in line, and make sure nothing impacts the bottom line. Remember, you are not SCC/Horizon crew. While you can help them with problems if they ask you are under no obligation to, and you hsoud not be showing up uncalled for to act as Security+ for the Horizon."
spawnpoints = list("hephsec_boss")
- outfit = /obj/outfit/admin/heph_security/captain
+ outfit = /datum/outfit/admin/heph_security/captain
max_count = 1
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_UNATHI)
assigned_role = "Hephaestus Asset Protection Squad Leader"
special_role = "Hephaestus Asset Protection Squad Leader"
-/obj/outfit/admin/heph_security/captain
+/datum/outfit/admin/heph_security/captain
name = "Hephaestus Asset Protection Squad Leader"
uniform = /obj/item/clothing/under/rank/captain/hephaestus
diff --git a/maps/away/ships/iac/iac_rescue_ship_ghostroles.dm b/maps/away/ships/iac/iac_rescue_ship_ghostroles.dm
index ddf13aa34b0..9f0bfc15c1e 100644
--- a/maps/away/ships/iac/iac_rescue_ship_ghostroles.dm
+++ b/maps/away/ships/iac/iac_rescue_ship_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("iac_volunteer")
max_count = 2
- outfit = /obj/outfit/admin/iac_volunteer
+ outfit = /datum/outfit/admin/iac_volunteer
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
respawn_flag = null
-/obj/outfit/admin/iac_volunteer
+/datum/outfit/admin/iac_volunteer
name = "IAC Volunteer"
uniform = /obj/item/clothing/under/rank/iacjumpsuit
@@ -40,7 +40,7 @@
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/workboots/toeless
)
-/obj/outfit/admin/iac_volunteer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/iac_volunteer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -56,7 +56,7 @@
if(istype(tag))
tag.modify_tag_data()
-/obj/outfit/admin/iac_volunteer/get_id_access()
+/datum/outfit/admin/iac_volunteer/get_id_access()
return list(ACCESS_IAC_RESCUE_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/iac_volunteer/technician
@@ -67,7 +67,7 @@
spawnpoints = list("iac_technician")
max_count = 2
- outfit = /obj/outfit/admin/iac_volunteer/technician
+ outfit = /datum/outfit/admin/iac_volunteer/technician
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -75,7 +75,7 @@
special_role = "IAC Technician"
-/obj/outfit/admin/iac_volunteer/technician
+/datum/outfit/admin/iac_volunteer/technician
name = "IAC Technician"
suit = /obj/item/clothing/suit/storage/hazardvest/iac
@@ -97,7 +97,7 @@
spawnpoints = list("iac_coordinator")
max_count = 1
- outfit = /obj/outfit/admin/iac_volunteer/coordinator
+ outfit = /datum/outfit/admin/iac_volunteer/coordinator
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -105,7 +105,7 @@
special_role = "IAC Coordinator"
-/obj/outfit/admin/iac_volunteer/coordinator
+/datum/outfit/admin/iac_volunteer/coordinator
name = "IAC Coordinator"
suit = /obj/item/clothing/suit/storage/toggle/labcoat/iac
diff --git a/maps/away/ships/idris/idris_cruiser_ghostroles.dm b/maps/away/ships/idris/idris_cruiser_ghostroles.dm
index f04e8a1feb5..fe36be1cc43 100644
--- a/maps/away/ships/idris/idris_cruiser_ghostroles.dm
+++ b/maps/away/ships/idris/idris_cruiser_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("idriscrew")
max_count = 5
- outfit = /obj/outfit/admin/idris_cruiser_crew
+ outfit = /datum/outfit/admin/idris_cruiser_crew
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
uses_species_whitelist = TRUE
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -26,14 +26,14 @@
welcome_message = "You're the prestigious director for an Idris luxury cruiser! Make sure the ship and its crew are in tip-top shape, and make sure to attract customers to your space getaway."
max_count = 1
- outfit = /obj/outfit/admin/idris_cruiser_crew/director
+ outfit = /datum/outfit/admin/idris_cruiser_crew/director
possible_species = list(SPECIES_HUMAN)
assigned_role = "Idris Cruise Director"
special_role = "Idris Cruise Director"
//Outfits
-/obj/outfit/admin/idris_cruiser_crew
+/datum/outfit/admin/idris_cruiser_crew
name = "Idris Cruise Crew Member"
uniform = /obj/item/clothing/under/librarian/idris
shoes = /obj/item/clothing/shoes/laceup
@@ -44,14 +44,14 @@
wrist = /obj/item/clothing/wrists/watch
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/idris_cruiser_crew/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/idris_cruiser_crew/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
tag.ownership_info = IPC_OWNERSHIP_COMPANY
tag.citizenship_info = CITIZENSHIP_NONE
-/obj/outfit/admin/idris_cruiser_crew/director
+/datum/outfit/admin/idris_cruiser_crew/director
name = "Idris Cruise Director"
head = /obj/item/clothing/head/beret/corporate/idris
uniform = /obj/item/clothing/under/rank/liaison/idris
@@ -62,12 +62,12 @@
wrist = /obj/item/clothing/wrists/watch/silver
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/idris_cruiser_crew/director/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/idris_cruiser_crew/director/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(H && H.w_uniform)
var/obj/item/clothing/under/U = H.w_uniform
var/obj/item/clothing/accessory/tie/corporate/idris/tie = new()
U.attach_accessory(null, tie)
-/obj/outfit/admin/idris_cruiser_crew/get_id_access()
+/datum/outfit/admin/idris_cruiser_crew/get_id_access()
return list(ACCESS_IDRIS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ENGINE_EQUIP, ACCESS_GUEST_ROOMS, ACCESS_GUEST_ROOM_1, ACCESS_GUEST_ROOM_2, ACCESS_GUEST_ROOM_3, ACCESS_GUEST_ROOM_4)
diff --git a/maps/away/ships/kataphracts/kataphract_ship_ghostroles.dm b/maps/away/ships/kataphracts/kataphract_ship_ghostroles.dm
index 81dba618a03..47d1044f760 100644
--- a/maps/away/ships/kataphracts/kataphract_ship_ghostroles.dm
+++ b/maps/away/ships/kataphracts/kataphract_ship_ghostroles.dm
@@ -12,7 +12,7 @@
mob_name_prefix = "Zosaa "
mob_name_pick_message = "Pick an Unathi last name."
- outfit = /obj/outfit/admin/kataphract
+ outfit = /datum/outfit/admin/kataphract
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -31,7 +31,7 @@
spawnpoints = list("kataphract_klax")
- outfit = /obj/outfit/admin/kataphract/klax
+ outfit = /datum/outfit/admin/kataphract/klax
possible_species = list(SPECIES_VAURCA_WARRIOR)
extra_languages = list(LANGUAGE_VAURCA)
@@ -46,7 +46,7 @@
spawnpoints = list("kataphract_knight")
- outfit = /obj/outfit/admin/kataphract/knight
+ outfit = /datum/outfit/admin/kataphract/knight
assigned_role = "Kataphract Knight Captain"
@@ -63,13 +63,13 @@
spawnpoints = list("kataphract_specialist")
- outfit = /obj/outfit/admin/kataphract/specialist
+ outfit = /datum/outfit/admin/kataphract/specialist
assigned_role = "Kataphract Specialist"
special_role = "Kataphract Specialist"
// Kataphract who are not combat ready
-/obj/outfit/admin/kataphract
+/datum/outfit/admin/kataphract
name = "Kataphract-Hopeful"
uniform = /obj/item/clothing/under/unathi
@@ -85,15 +85,15 @@
/obj/item/storage/box/donkpockets = 1
)
-/obj/outfit/admin/kataphract/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/kataphract/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = pick("#1f8c3c", "#ab7318", "#1846ba")
H.w_uniform.accent_color = H.w_uniform.color
-/obj/outfit/admin/kataphract/get_id_access()
+/datum/outfit/admin/kataphract/get_id_access()
return list(ACCESS_KATAPHRACT, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/kataphract/klax
+/datum/outfit/admin/kataphract/klax
uniform = /obj/item/clothing/under/vaurca
mask = /obj/item/clothing/mask/gas/vaurca/filter
@@ -109,7 +109,7 @@
/obj/item/reagent_containers/food/snacks/koisbar_clean = 3
)
-/obj/outfit/admin/kataphract/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/kataphract/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
@@ -121,20 +121,20 @@
if(H?.shoes)
H.shoes.color = uniform_colour
-/obj/outfit/admin/kataphract/knight
+/datum/outfit/admin/kataphract/knight
name = "Kataphract Knight"
suit = /obj/item/clothing/accessory/poncho/red
back = /obj/item/storage/backpack/satchel/hegemony
-/obj/outfit/admin/kataphract/knight/get_id_access()
+/datum/outfit/admin/kataphract/knight/get_id_access()
return list(ACCESS_KATAPHRACT, ACCESS_KATAPHRACT_KNIGHT, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/kataphract/specialist
+/datum/outfit/admin/kataphract/specialist
name = "Kataphract Specialist"
back = /obj/item/storage/backpack/satchel/hegemony
-/obj/outfit/admin/kataphract/quartermaster/get_id_access()
+/datum/outfit/admin/kataphract/quartermaster/get_id_access()
return list(ACCESS_KATAPHRACT, ACCESS_KATAPHRACT_KNIGHT, ACCESS_EXTERNAL_AIRLOCKS)
diff --git a/maps/away/ships/konyang/air_konyang/air_konyang_ghostroles.dm b/maps/away/ships/konyang/air_konyang/air_konyang_ghostroles.dm
index 5192cff4287..f1a88a9a67b 100644
--- a/maps/away/ships/konyang/air_konyang/air_konyang_ghostroles.dm
+++ b/maps/away/ships/konyang/air_konyang/air_konyang_ghostroles.dm
@@ -6,7 +6,7 @@
spawnpoints = list("air_konyang")
max_count = 2
- outfit = /obj/outfit/admin/konyang/air_konyang
+ outfit = /datum/outfit/admin/konyang/air_konyang
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Air Konyang Crew"
@@ -29,9 +29,9 @@
max_count = 4
assigned_role = "Air Konyang Passenger"
special_role = "Air Konyang Passenger"
- outfit = /obj/outfit/admin/konyang/civ
+ outfit = /datum/outfit/admin/konyang/civ
-/obj/outfit/admin/konyang/air_konyang
+/datum/outfit/admin/konyang/air_konyang
name = "Air Konyang Crew"
uniform = /obj/item/clothing/under/sl_suit //placeholder until we get uniforms
shoes = /obj/item/clothing/shoes/laceup
@@ -40,7 +40,7 @@
l_pocket = /obj/item/storage/wallet/random
l_ear = /obj/item/device/radio/headset/ship
-/obj/outfit/admin/konyang/civ
+/datum/outfit/admin/konyang/civ
name = "Konyanger Civilian"
uniform = list(
/obj/item/clothing/under/konyang,
diff --git a/maps/away/ships/konyang/einstein_shuttle/einstein_shuttle.dm b/maps/away/ships/konyang/einstein_shuttle/einstein_shuttle.dm
index 4f8f8a12e24..41c9bb3ce5d 100644
--- a/maps/away/ships/konyang/einstein_shuttle/einstein_shuttle.dm
+++ b/maps/away/ships/konyang/einstein_shuttle/einstein_shuttle.dm
@@ -117,7 +117,7 @@
spawnpoints = list("einstein_pilot")
max_count = 1
- outfit = /obj/outfit/admin/einstein_crew
+ outfit = /datum/outfit/admin/einstein_crew
possible_species = list(SPECIES_HUMAN, SPECIES_IPC_SHELL, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -126,7 +126,7 @@
respawn_flag = null
-/obj/outfit/admin/einstein_crew
+/datum/outfit/admin/einstein_crew
name = "Einstein Shuttle Pilot"
uniform = /obj/item/clothing/under/rank/einstein
@@ -142,10 +142,10 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/einstein_crew/get_id_access()
+/datum/outfit/admin/einstein_crew/get_id_access()
return list(ACCESS_EE_SPY_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/einstein_crew/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/einstein_crew/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
@@ -161,7 +161,7 @@
spawnpoints = list("einstein_suit")
max_count = 2
- outfit = /obj/outfit/admin/einstein_crew/suit
+ outfit = /datum/outfit/admin/einstein_crew/suit
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -169,7 +169,7 @@
special_role = "Einstein Engines Corporate Representative"
respawn_flag = null
-/obj/outfit/admin/einstein_crew/suit
+/datum/outfit/admin/einstein_crew/suit
uniform = /obj/item/clothing/under/rank/liaison/einstein
accessory = /obj/item/clothing/accessory/tie/black
shoes = /obj/item/clothing/shoes/laceup
diff --git a/maps/away/ships/konyang/ipc_refugee/ipc_refugee_ship_ghostroles.dm b/maps/away/ships/konyang/ipc_refugee/ipc_refugee_ship_ghostroles.dm
index adeeda1159e..0cd19da2837 100644
--- a/maps/away/ships/konyang/ipc_refugee/ipc_refugee_ship_ghostroles.dm
+++ b/maps/away/ships/konyang/ipc_refugee/ipc_refugee_ship_ghostroles.dm
@@ -10,7 +10,7 @@
spawnpoints = list("refugee_crew")
max_count = 2
- outfit = /obj/outfit/admin/refugee_crew
+ outfit = /datum/outfit/admin/refugee_crew
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
special_role = "Human Refugee"
respawn_flag = null
-/obj/outfit/admin/refugee_crew
+/datum/outfit/admin/refugee_crew
name = "Human Refugee"
uniform = /obj/item/clothing/under/tactical
@@ -37,7 +37,7 @@
/obj/item/spacecash/c100 = 1
)
-/obj/outfit/admin/refugee_crew/get_id_access()
+/datum/outfit/admin/refugee_crew/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS)
// IPC Refugee
@@ -51,7 +51,7 @@
spawnpoints = list("refugee_crew_ipc")
max_count = 3
- outfit = /obj/outfit/admin/refugee_crew/ipc
+ outfit = /datum/outfit/admin/refugee_crew/ipc
possible_species = list(SPECIES_IPC, SPECIES_IPC_SHELL, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP)
uses_species_whitelist = TRUE
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -60,7 +60,7 @@
special_role = "IPC Refugee"
-/obj/outfit/admin/refugee_crew/ipc
+/datum/outfit/admin/refugee_crew/ipc
name = "IPC Refugee"
backpack_contents = list(
@@ -70,7 +70,7 @@
/obj/item/storage/wallet = 1
)
-/obj/outfit/admin/refugee_crew/ipc/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/refugee_crew/ipc/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
diff --git a/maps/away/ships/konyang/kasf_ship/kasf_ship_ghostroles.dm b/maps/away/ships/konyang/kasf_ship/kasf_ship_ghostroles.dm
index 720bda68005..deaf185d53d 100644
--- a/maps/away/ships/konyang/kasf_ship/kasf_ship_ghostroles.dm
+++ b/maps/away/ships/konyang/kasf_ship/kasf_ship_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("kasf_crewman")
max_count = 3
- outfit = /obj/outfit/admin/kasf_crewman
+ outfit = /datum/outfit/admin/kasf_crewman
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_IPC, SPECIES_IPC_SHELL, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP)
uses_species_whitelist = TRUE
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -19,7 +19,7 @@
respawn_flag = null
-/obj/outfit/admin/kasf_crewman
+/datum/outfit/admin/kasf_crewman
name = "KASF Crewman"
uniform = /obj/item/clothing/under/rank/konyang/space
shoes = /obj/item/clothing/shoes/jackboots
@@ -31,7 +31,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/kasf_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/kasf_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
@@ -41,7 +41,7 @@
tag.ownership_info = IPC_OWNERSHIP_SELF
tag.citizenship_info = CITIZENSHIP_COALITION
-/obj/outfit/admin/kasf_crewman/get_id_access()
+/datum/outfit/admin/kasf_crewman/get_id_access()
return list(ACCESS_KONYANG_POLICE, ACCESS_EXTERNAL_AIRLOCKS)
// kasf engineer
@@ -55,12 +55,12 @@
spawnpoints = list("kasf_engineer")
max_count = 1
- outfit = /obj/outfit/admin/kasf_crewman/engineer
+ outfit = /datum/outfit/admin/kasf_crewman/engineer
assigned_role = "KASF Engineer"
special_role = "KASF Engineer"
-/obj/outfit/admin/kasf_crewman/engineer
+/datum/outfit/admin/kasf_crewman/engineer
name = "KASF Engineer"
// kasf corpsman
@@ -74,12 +74,12 @@
spawnpoints = list("kasf_corpsman")
max_count = 1
- outfit = /obj/outfit/admin/kasf_crewman/corpsman
+ outfit = /datum/outfit/admin/kasf_crewman/corpsman
assigned_role = "KASF Corpsman"
special_role = "KASF Corpsman"
-/obj/outfit/admin/kasf_crewman/corpsman
+/datum/outfit/admin/kasf_crewman/corpsman
name = "KASF Corpsman"
// kasf officer
@@ -92,13 +92,13 @@
spawnpoints = list("kasf_crewman_officer")
max_count = 1
- outfit = /obj/outfit/admin/kasf_crewman/officer
+ outfit = /datum/outfit/admin/kasf_crewman/officer
assigned_role = "KASF Officer"
special_role = "KASF Offcier"
-/obj/outfit/admin/kasf_crewman/officer
+/datum/outfit/admin/kasf_crewman/officer
name = "KASF Officer"
uniform = /obj/item/clothing/under/rank/konyang/space/officer
diff --git a/maps/away/ships/konyang/water_barge/water_barge_ghostroles.dm b/maps/away/ships/konyang/water_barge/water_barge_ghostroles.dm
index bb5eb3d45ed..d1aa618bb00 100644
--- a/maps/away/ships/konyang/water_barge/water_barge_ghostroles.dm
+++ b/maps/away/ships/konyang/water_barge/water_barge_ghostroles.dm
@@ -6,7 +6,7 @@
spawnpoints = list("water_barge")
max_count = 4
- outfit = /obj/outfit/admin/pachrom
+ outfit = /datum/outfit/admin/pachrom
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "PACHROM Transport Crew"
@@ -14,7 +14,7 @@
respawn_flag = null
away_site = TRUE
-/obj/outfit/admin/pachrom
+/datum/outfit/admin/pachrom
name = "PACHROM Crew"
uniform = /obj/item/clothing/under/rank/konyang/pachrom
suit = /obj/item/clothing/suit/storage/hazardvest
@@ -24,7 +24,7 @@
back = /obj/item/storage/backpack/satchel
l_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/pachrom/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/pachrom/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
diff --git a/maps/away/ships/lone_spacer/lone_spacer_ghostroles.dm b/maps/away/ships/lone_spacer/lone_spacer_ghostroles.dm
index 5c5390e266c..84512f5aa22 100644
--- a/maps/away/ships/lone_spacer/lone_spacer_ghostroles.dm
+++ b/maps/away/ships/lone_spacer/lone_spacer_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("lone_spacer")
max_count = 1
- outfit = /obj/outfit/admin/lone_spacer
+ outfit = /datum/outfit/admin/lone_spacer
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -15,7 +15,7 @@
special_role = "Independent Spacer"
respawn_flag = null
-/obj/outfit/admin/lone_spacer
+/datum/outfit/admin/lone_spacer
name = "Lone Spacer"
uniform = /obj/item/clothing/under/color/black
@@ -37,7 +37,7 @@
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/jackboots/toeless
)
-/obj/outfit/admin/lone_spacer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/lone_spacer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -53,7 +53,7 @@
if(istype(tag))
tag.modify_tag_data(TRUE) // Allows for untagged synthetics.
-/obj/outfit/admin/lone_spacer/get_id_access()
+/datum/outfit/admin/lone_spacer/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS, ACCESS_LONE_SPACER)
/obj/item/card/id/lone_spacer_ship
diff --git a/maps/away/ships/nka/nka_merchant/nka_merchant_ghostroles.dm b/maps/away/ships/nka/nka_merchant/nka_merchant_ghostroles.dm
index 0d1a45b52f0..d3a1a715e83 100644
--- a/maps/away/ships/nka/nka_merchant/nka_merchant_ghostroles.dm
+++ b/maps/away/ships/nka/nka_merchant/nka_merchant_ghostroles.dm
@@ -8,7 +8,7 @@
max_count = 3
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/nka_merchant_crew
+ outfit = /datum/outfit/admin/nka_merchant_crew
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
respawn_flag = null
@@ -17,7 +17,7 @@
special_role = "NKA Merchant Navy Crew"
extra_languages = list(LANGUAGE_SIIK_MAAS)
-/obj/outfit/admin/nka_merchant_crew
+/datum/outfit/admin/nka_merchant_crew
name = "New Kingdom Merchant Navy Crew"
id = /obj/item/card/id
@@ -30,7 +30,7 @@
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/nka_merchant_crew/get_id_access()
+/datum/outfit/admin/nka_merchant_crew/get_id_access()
return list(ACCESS_NKA, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/nka_merchant_crew/captain
@@ -42,7 +42,7 @@
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/nka_merchant_crew/captain
+ outfit = /datum/outfit/admin/nka_merchant_crew/captain
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
@@ -50,7 +50,7 @@
special_role = "NKA Merchant Navy Captain"
-/obj/outfit/admin/nka_merchant_crew/captain
+/datum/outfit/admin/nka_merchant_crew/captain
name = "New Kingdom Merchant Navy Captain"
shoes = /obj/item/clothing/shoes/jackboots/tajara
@@ -69,13 +69,13 @@
spawnpoints = list("nka_merchant_guard")
max_count = 1
- outfit = /obj/outfit/admin/nka_merchant_crew/guard
+ outfit = /datum/outfit/admin/nka_merchant_crew/guard
assigned_role = "NKA Merchant Navy PMCG Guard"
special_role = "NKA Merchant Navy PMCG Guard"
-/obj/outfit/admin/nka_merchant_crew/guard
+/datum/outfit/admin/nka_merchant_crew/guard
name = "New Kingdom Merchant Navy PMCG Guard"
shoes = /obj/item/clothing/shoes/jackboots/tajara
diff --git a/maps/away/ships/orion/orion_express_ship_ghostroles.dm b/maps/away/ships/orion/orion_express_ship_ghostroles.dm
index 2a8d5c1f79f..45041b281f5 100644
--- a/maps/away/ships/orion/orion_express_ship_ghostroles.dm
+++ b/maps/away/ships/orion/orion_express_ship_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("orion_express_courier")
max_count = 3
- outfit = /obj/outfit/admin/orion_express_courier
+ 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, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
respawn_flag = null
-/obj/outfit/admin/orion_express_courier
+/datum/outfit/admin/orion_express_courier
name = "Orion Express Courier"
uniform = /obj/item/clothing/under/rank/hangar_technician/orion/ship
@@ -39,7 +39,7 @@
SPECIES_VAURCA_WARRIOR =/obj/item/clothing/shoes/workboots/toeless
)
-/obj/outfit/admin/orion_express_courier/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/orion_express_courier/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -55,7 +55,7 @@
if(istype(tag))
tag.modify_tag_data()
-/obj/outfit/admin/orion_express_courier/get_id_access()
+/datum/outfit/admin/orion_express_courier/get_id_access()
return list(ACCESS_ORION_EXPRESS_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/orion_express_courier/captain
@@ -67,7 +67,7 @@
spawnpoints = list("orion_express_captain")
max_count = 1
- outfit = /obj/outfit/admin/orion_express_courier/captain
+ outfit = /datum/outfit/admin/orion_express_courier/captain
assigned_role = "Orion Express Captain"
special_role = "Orion Express Captain"
@@ -75,7 +75,7 @@
idris_account_min = 1200
idris_account_max = 2500
-/obj/outfit/admin/orion_express_courier/captain
+/datum/outfit/admin/orion_express_courier/captain
name = "Orion Express Captain"
uniform = /obj/item/clothing/under/rank/operations_manager/orion_ship
diff --git a/maps/away/ships/pra/database_freighter/database_freighter_ghostroles.dm b/maps/away/ships/pra/database_freighter/database_freighter_ghostroles.dm
index e0ed7d3dd1a..c2eca4b7d1d 100644
--- a/maps/away/ships/pra/database_freighter/database_freighter_ghostroles.dm
+++ b/maps/away/ships/pra/database_freighter/database_freighter_ghostroles.dm
@@ -9,7 +9,7 @@
uses_species_whitelist = FALSE
respawn_flag = null
- outfit = /obj/outfit/admin/database_freighter_crew
+ outfit = /datum/outfit/admin/database_freighter_crew
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -17,7 +17,7 @@
special_role = "Database Freighter Surveyor"
extra_languages = list(LANGUAGE_SIIK_MAAS)
-/obj/outfit/admin/database_freighter_crew
+/datum/outfit/admin/database_freighter_crew
name = "Database Freighter Surveyor"
id = /obj/item/card/id
@@ -30,7 +30,7 @@
accessory = /obj/item/clothing/accessory/badge/hadii_card
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/database_freighter_crew/get_id_access()
+/datum/outfit/admin/database_freighter_crew/get_id_access()
return list(ACCESS_PRA, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/database_freighter_crew/captain
@@ -43,13 +43,13 @@
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/database_freighter_crew/captain
+ outfit = /datum/outfit/admin/database_freighter_crew/captain
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
assigned_role = "Database Freighter Head Surveyor"
special_role = "Database Freighter Head Surveyor"
-/obj/outfit/admin/database_freighter_crew/captain
+/datum/outfit/admin/database_freighter_crew/captain
name = "Database Freighter Head Surveyor"
uniform = /obj/item/clothing/under/tajaran/database_freighter/captain
diff --git a/maps/away/ships/pra/headmaster/headmaster_ghostroles.dm b/maps/away/ships/pra/headmaster/headmaster_ghostroles.dm
index fa1ccf6afab..2b35c9a72a8 100644
--- a/maps/away/ships/pra/headmaster/headmaster_ghostroles.dm
+++ b/maps/away/ships/pra/headmaster/headmaster_ghostroles.dm
@@ -8,7 +8,7 @@
max_count = 4
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/headmaster_kosmostrelki
+ outfit = /datum/outfit/admin/headmaster_kosmostrelki
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
respawn_flag = null
@@ -17,7 +17,7 @@
special_role = "Headmaster Kosmostrelki"
extra_languages = list(LANGUAGE_SIIK_MAAS)
-/obj/outfit/admin/headmaster_kosmostrelki
+/datum/outfit/admin/headmaster_kosmostrelki
name = "Kosmostrelki"
id = /obj/item/card/id
@@ -32,7 +32,7 @@
r_pocket = /obj/item/storage/wallet/random
l_hand = /obj/item/martial_manual/tajara
-/obj/outfit/admin/headmaster_kosmostrelki/get_id_access()
+/datum/outfit/admin/headmaster_kosmostrelki/get_id_access()
return list(ACCESS_PRA, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/headmaster_kosmostrelki/captain
@@ -45,14 +45,14 @@
max_count = 1
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/headmaster_kosmostrelki/captain
+ outfit = /datum/outfit/admin/headmaster_kosmostrelki/captain
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Kosmostrelki Captain"
special_role = "Kosmostrelki Captain"
-/obj/outfit/admin/headmaster_kosmostrelki/captain
+/datum/outfit/admin/headmaster_kosmostrelki/captain
name = "Kosmostrelki Captain"
head = /obj/item/clothing/head/tajaran/orbital_captain
@@ -78,10 +78,10 @@
special_role = "Party Commissar"
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/headmaster_kosmostrelki/commissar
+ outfit = /datum/outfit/admin/headmaster_kosmostrelki/commissar
possible_species = list(SPECIES_TAJARA, SPECIES_TAJARA_MSAI)
-/obj/outfit/admin/headmaster_kosmostrelki/commissar
+/datum/outfit/admin/headmaster_kosmostrelki/commissar
name = "Party Commissar"
diff --git a/maps/away/ships/sadar_scout/sadar_scout_ghostroles.dm b/maps/away/ships/sadar_scout/sadar_scout_ghostroles.dm
index 7dc20a00d11..8db7b5e274c 100644
--- a/maps/away/ships/sadar_scout/sadar_scout_ghostroles.dm
+++ b/maps/away/ships/sadar_scout/sadar_scout_ghostroles.dm
@@ -11,7 +11,7 @@
mob_name_suffix = " Sadar"
mob_name_pick_message = "Enter ONLY a first name."
- outfit = /obj/outfit/admin/sadar_crew
+ outfit = /datum/outfit/admin/sadar_crew
possible_species = list(SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -23,7 +23,7 @@
origin_restriction = list(/singleton/origin_item/origin/coa_spacer)
-/obj/outfit/admin/sadar_crew
+/datum/outfit/admin/sadar_crew
name = "Unified Sadar Fleet Crewman"
uniform = /obj/item/clothing/under/syndicate/tacticool
@@ -44,7 +44,7 @@
/obj/item/clothing/accessory/offworlder/bracer/neckbrace/dark_red = 1
)
-/obj/outfit/admin/sadar_crew/get_id_access()
+/datum/outfit/admin/sadar_crew/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/sadar_crew/captain
@@ -56,7 +56,7 @@
spawnpoints = list("sadar_crew_captain")
max_count = 1
- outfit = /obj/outfit/admin/sadar_crew/captain
+ outfit = /datum/outfit/admin/sadar_crew/captain
possible_species = list(SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -64,7 +64,7 @@
special_role = "Unified Sadar Fleet Captain"
-/obj/outfit/admin/sadar_crew/captain
+/datum/outfit/admin/sadar_crew/captain
name = "Unified Sadar Fleet Captain"
/obj/item/card/id/sadar_scout
diff --git a/maps/away/ships/scc/scc_scout_ship_ghostroles.dm b/maps/away/ships/scc/scc_scout_ship_ghostroles.dm
index a77259b2b4b..e3e62d69dfb 100644
--- a/maps/away/ships/scc/scc_scout_ship_ghostroles.dm
+++ b/maps/away/ships/scc/scc_scout_ship_ghostroles.dm
@@ -22,7 +22,7 @@
spawnpoints = list("scc_scout_ship_captain")
max_count = 1
- outfit = /obj/outfit/admin/scc_scout_ship_crew/captain
+ outfit = /datum/outfit/admin/scc_scout_ship_crew/captain
possible_species = list(SPECIES_HUMAN,SPECIES_HUMAN_OFFWORLD,SPECIES_SKRELL,SPECIES_SKRELL_AXIORI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -43,7 +43,7 @@
spawnpoints = list("scc_scout_ship_orion")
max_count = 1
- outfit = /obj/outfit/admin/scc_scout_ship_crew/orion
+ outfit = /datum/outfit/admin/scc_scout_ship_crew/orion
possible_species = list(\
SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, \
SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_UNBRANDED, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, \
@@ -69,7 +69,7 @@
spawnpoints = list("scc_scout_ship_heph")
max_count = 1
- outfit = /obj/outfit/admin/scc_scout_ship_crew/heph
+ outfit = /datum/outfit/admin/scc_scout_ship_crew/heph
possible_species = list(\
SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, \
SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_UNBRANDED, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, \
@@ -95,7 +95,7 @@
spawnpoints = list("scc_scout_ship_zeng")
max_count = 1
- outfit = /obj/outfit/admin/scc_scout_ship_crew/zeng
+ outfit = /datum/outfit/admin/scc_scout_ship_crew/zeng
possible_species = list(\
SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, \
SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_UNBRANDED, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, \
@@ -119,7 +119,7 @@
spawnpoints = list("scc_scout_ship_nanotrasen")
max_count = 1
- outfit = /obj/outfit/admin/scc_scout_ship_crew/nanotrasen
+ outfit = /datum/outfit/admin/scc_scout_ship_crew/nanotrasen
possible_species = list(\
SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, \
SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_UNBRANDED, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, \
@@ -145,7 +145,7 @@
spawnpoints = list("scc_scout_ship_zavod")
max_count = 1
- outfit = /obj/outfit/admin/scc_scout_ship_crew/zavod
+ outfit = /datum/outfit/admin/scc_scout_ship_crew/zavod
possible_species = list(\
SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, \
SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_UNBRANDED, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, \
@@ -162,7 +162,7 @@
// ---------------------- outfits
-/obj/outfit/admin/scc_scout_ship_crew
+/datum/outfit/admin/scc_scout_ship_crew
name = "SCC Scout Ship Base Crew Uniform"
id = /obj/item/card/id/orion_ship
@@ -181,7 +181,7 @@
SPECIES_VAURCA_WARRIOR = /obj/item/clothing/shoes/jackboots/toeless
)
-/obj/outfit/admin/scc_scout_ship_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/scc_scout_ship_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -199,13 +199,13 @@
if(istype(tag))
tag.modify_tag_data()
-/obj/outfit/admin/scc_scout_ship_crew/get_id_access()
+/datum/outfit/admin/scc_scout_ship_crew/get_id_access()
return list(
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_MAINT_TUNNELS,
ACCESS_SECURITY, ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_RESEARCH, ACCESS_CARGO,
)
-/obj/outfit/admin/scc_scout_ship_crew/captain
+/datum/outfit/admin/scc_scout_ship_crew/captain
name = "SCC Scout Ship Captain"
id = /obj/item/card/id/gold
@@ -221,14 +221,14 @@
/obj/item/implant/mindshield
)
-/obj/outfit/admin/scc_scout_ship_crew/captain/get_id_access()
+/datum/outfit/admin/scc_scout_ship_crew/captain/get_id_access()
return list(
ACCESS_EXTERNAL_AIRLOCKS, ACCESS_MAINT_TUNNELS,
ACCESS_SECURITY, ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_RESEARCH, ACCESS_CARGO,
ACCESS_HEADS, ACCESS_CAPTAIN,
)
-/obj/outfit/admin/scc_scout_ship_crew/orion
+/datum/outfit/admin/scc_scout_ship_crew/orion
name = "SCC Scout Ship Orion Crew"
id = /obj/item/card/id/orion
@@ -237,7 +237,7 @@
head = list(/obj/item/clothing/head/beret/corporate/orion, /obj/item/clothing/head/hardhat/white, /obj/item/clothing/head/softcap/orion_custodian)
accessory = /obj/item/clothing/accessory/pin/corporate/orion
-/obj/outfit/admin/scc_scout_ship_crew/heph
+/datum/outfit/admin/scc_scout_ship_crew/heph
name = "SCC Scout Ship Hephaestus Crew"
id = /obj/item/card/id/hephaestus
@@ -246,7 +246,7 @@
head = list(/obj/item/clothing/head/beret/corporate/heph, /obj/item/clothing/head/hardhat/green, /obj/item/clothing/head/sidecap/heph)
accessory = /obj/item/clothing/accessory/pin/corporate/heph
-/obj/outfit/admin/scc_scout_ship_crew/zeng
+/datum/outfit/admin/scc_scout_ship_crew/zeng
name = "SCC Scout Ship Zeng-Hu Crew"
id = /obj/item/card/id/zeng_hu
@@ -255,7 +255,7 @@
head = list(/obj/item/clothing/head/beret/corporate/zeng, /obj/item/clothing/head/softcap/zeng, /obj/item/clothing/head/surgery/zeng)
accessory = /obj/item/clothing/accessory/pin/corporate/zeng
-/obj/outfit/admin/scc_scout_ship_crew/nanotrasen
+/datum/outfit/admin/scc_scout_ship_crew/nanotrasen
name = "SCC Scout Ship NanoTrasen Crew"
id = /obj/item/card/id
@@ -264,7 +264,7 @@
head = list(/obj/item/clothing/head/beret/corporate, /obj/item/clothing/head/softcap/nt, /obj/item/clothing/head/surgery)
accessory = /obj/item/clothing/accessory/pin/corporate
-/obj/outfit/admin/scc_scout_ship_crew/zavod
+/datum/outfit/admin/scc_scout_ship_crew/zavod
name = "SCC Scout Ship Zavodskoi Crew"
id = /obj/item/card/id/zavodskoi
diff --git a/maps/away/ships/sol/sol_merc/fsf_patrol_ship_ghostroles.dm b/maps/away/ships/sol/sol_merc/fsf_patrol_ship_ghostroles.dm
index c21338b3bec..246bf362ec7 100644
--- a/maps/away/ships/sol/sol_merc/fsf_patrol_ship_ghostroles.dm
+++ b/maps/away/ships/sol/sol_merc/fsf_patrol_ship_ghostroles.dm
@@ -8,7 +8,7 @@
spawnpoints = list("fsf_navy_crewman")
max_count = 3
- outfit = /obj/outfit/admin/fsf_navy_crewman
+ outfit = /datum/outfit/admin/fsf_navy_crewman
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
culture_restriction = list(/singleton/origin_item/culture/solarian)
-/obj/outfit/admin/fsf_navy_crewman
+/datum/outfit/admin/fsf_navy_crewman
name = "FSF Navy Crewman"
uniform = /obj/item/clothing/under/rank/sol/
@@ -34,7 +34,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife/sol = 1)
-/obj/outfit/admin/fsf_navy_crewman/get_id_access()
+/datum/outfit/admin/fsf_navy_crewman/get_id_access()
return list(ACCESS_SOL_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/fsf_navy_officer
@@ -47,7 +47,7 @@
spawnpoints = list("fsf_navy_officer")
max_count = 1
- outfit = /obj/outfit/admin/fsf_navy_officer
+ outfit = /datum/outfit/admin/fsf_navy_officer
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -57,7 +57,7 @@
culture_restriction = list(/singleton/origin_item/culture/solarian)
-/obj/outfit/admin/fsf_navy_officer
+/datum/outfit/admin/fsf_navy_officer
name = "FSF Navy Officer"
uniform = /obj/item/clothing/under/rank/sol/dress/subofficer
@@ -72,7 +72,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife/sol = 1)
-/obj/outfit/admin/fsf_navy_officer/get_id_access()
+/datum/outfit/admin/fsf_navy_officer/get_id_access()
return list(ACCESS_SOL_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/fsf_navy_crewman/senior
diff --git a/maps/away/ships/sol/sol_pirate/sfa_patrol_ship_ghostroles.dm b/maps/away/ships/sol/sol_pirate/sfa_patrol_ship_ghostroles.dm
index 6428a442116..110ddab9005 100644
--- a/maps/away/ships/sol/sol_pirate/sfa_patrol_ship_ghostroles.dm
+++ b/maps/away/ships/sol/sol_pirate/sfa_patrol_ship_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("sfa_navy_crewman")
max_count = 4
- outfit = /obj/outfit/admin/sfa_navy_crewman
+ outfit = /datum/outfit/admin/sfa_navy_crewman
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
culture_restriction = list(/singleton/origin_item/culture/solarian)
-/obj/outfit/admin/sfa_navy_crewman
+/datum/outfit/admin/sfa_navy_crewman
name = "SFA Remnant"
uniform = /obj/item/clothing/under/rank/sol/
@@ -34,7 +34,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife/sol = 1)
-/obj/outfit/admin/sfa_navy_crewman/get_id_access()
+/datum/outfit/admin/sfa_navy_crewman/get_id_access()
return list(ACCESS_SOL_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/sfa_navy_officer
@@ -46,7 +46,7 @@
spawnpoints = list("sfa_navy_officer")
max_count = 1
- outfit = /obj/outfit/admin/sfa_navy_officer
+ outfit = /datum/outfit/admin/sfa_navy_officer
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -57,7 +57,7 @@
culture_restriction = list(/singleton/origin_item/culture/solarian)
-/obj/outfit/admin/sfa_navy_officer
+/datum/outfit/admin/sfa_navy_officer
name = "SFA Remnant Officer"
uniform = /obj/item/clothing/under/rank/sol/dress/subofficer
@@ -72,7 +72,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife/sol = 1)
-/obj/outfit/admin/sfa_navy_officer/get_id_access()
+/datum/outfit/admin/sfa_navy_officer/get_id_access()
return list(ACCESS_SOL_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
//items
diff --git a/maps/away/ships/sol/sol_ssmd/ssmd_ship_ghostroles.dm b/maps/away/ships/sol/sol_ssmd/ssmd_ship_ghostroles.dm
index 22fea4a70a7..1a1b2b270b4 100644
--- a/maps/away/ships/sol/sol_ssmd/ssmd_ship_ghostroles.dm
+++ b/maps/away/ships/sol/sol_ssmd/ssmd_ship_ghostroles.dm
@@ -8,7 +8,7 @@
spawnpoints = list("ssmd_navy_crewman")
max_count = 3
- outfit = /obj/outfit/admin/ssmd_navy_crewman
+ outfit = /datum/outfit/admin/ssmd_navy_crewman
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -17,7 +17,7 @@
respawn_flag = null
-/obj/outfit/admin/ssmd_navy_crewman
+/datum/outfit/admin/ssmd_navy_crewman
name = "Sol Recon Navy Crewman"
uniform = /obj/item/clothing/under/rank/sol/
@@ -33,7 +33,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife/sol = 1)
-/obj/outfit/admin/ssmd_navy_crewman/get_id_access()
+/datum/outfit/admin/ssmd_navy_crewman/get_id_access()
return list(ACCESS_SOL_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/ssmd_navy_officer
@@ -46,7 +46,7 @@
spawnpoints = list("ssmd_navy_officer")
max_count = 1
- outfit = /obj/outfit/admin/ssmd_navy_officer
+ outfit = /datum/outfit/admin/ssmd_navy_officer
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -55,7 +55,7 @@
respawn_flag = null
-/obj/outfit/admin/ssmd_navy_officer
+/datum/outfit/admin/ssmd_navy_officer
name = "Sol Navy Recon Officer"
uniform = /obj/item/clothing/under/rank/sol/dress/officer
@@ -70,7 +70,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife/sol = 1)
-/obj/outfit/admin/ssmd_navy_officer/get_id_access()
+/datum/outfit/admin/ssmd_navy_officer/get_id_access()
return list(ACCESS_SOL_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/ssmd_navy_crewman/senior
@@ -95,7 +95,7 @@
spawnpoints = list("ssmd_navy_crewman")
max_count = 1
- outfit = /obj/outfit/admin/ssmd_marine_pilot
+ outfit = /datum/outfit/admin/ssmd_marine_pilot
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -104,7 +104,7 @@
respawn_flag = null
-/obj/outfit/admin/ssmd_marine_pilot
+/datum/outfit/admin/ssmd_marine_pilot
name = "Sol Marine Recon Exosuit Pilot"
uniform = /obj/item/clothing/under/rank/sol/marine
@@ -120,7 +120,7 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife/sol = 1)
-/obj/outfit/admin/ssmd_marine_pilot/get_id_access()
+/datum/outfit/admin/ssmd_marine_pilot/get_id_access()
return list(ACCESS_SOL_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/ssmd_ipc
@@ -132,7 +132,7 @@
spawnpoints = list("ssmd_ipc")
max_count = 1
- outfit = /obj/outfit/admin/ssmd_ipc
+ outfit = /datum/outfit/admin/ssmd_ipc
possible_species = list(SPECIES_IPC, SPECIES_IPC_SHELL, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION)
uses_species_whitelist = TRUE
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -142,7 +142,7 @@
respawn_flag = null
-/obj/outfit/admin/ssmd_ipc
+/datum/outfit/admin/ssmd_ipc
name = "Sol Military Recon Synthetic"
uniform = /obj/item/clothing/under/rank/sol/ipc
@@ -156,14 +156,14 @@
backpack_contents = list(/obj/item/storage/box/survival = 1, /obj/item/melee/energy/sword/knife/sol = 1)
-/obj/outfit/admin/ssmd_ipc/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/ssmd_ipc/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
tag.ownership_info = IPC_OWNERSHIP_PRIVATE
tag.citizenship_info = CITIZENSHIP_NONE
-/obj/outfit/admin/ssmd_ipc/get_id_access()
+/datum/outfit/admin/ssmd_ipc/get_id_access()
return list(ACCESS_SOL_SHIPS, ACCESS_EXTERNAL_AIRLOCKS)
//items
diff --git a/maps/away/ships/tajara/circus/adhomian_circus_roles.dm b/maps/away/ships/tajara/circus/adhomian_circus_roles.dm
index 0c4d1bf74ff..42de9bba3af 100644
--- a/maps/away/ships/tajara/circus/adhomian_circus_roles.dm
+++ b/maps/away/ships/tajara/circus/adhomian_circus_roles.dm
@@ -1,12 +1,12 @@
//adhomian circus roles
-/obj/outfit/admin/adhomian_circus
+/datum/outfit/admin/adhomian_circus
id = /obj/item/card/id
l_ear = /obj/item/device/radio/headset/ship
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/adhomian_circus/get_id_access()
+/datum/outfit/admin/adhomian_circus/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/adhomian_circus
@@ -21,7 +21,7 @@
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/adhomian_circus/crew
+ outfit = /datum/outfit/admin/adhomian_circus/crew
assigned_role = "Adhomian Circus Crew"
special_role = "Adhomian Circus Crew"
@@ -29,7 +29,7 @@
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/adhomian_circus/crew
+/datum/outfit/admin/adhomian_circus/crew
name = "Adhomian Circus Crew"
uniform = /obj/item/clothing/under/service_overalls
@@ -45,14 +45,14 @@
spawnpoints = list("adhomian_circus_ringmaster")
max_count = 1
- outfit = /obj/outfit/admin/adhomian_circus/ringmaster
+ outfit = /datum/outfit/admin/adhomian_circus/ringmaster
assigned_role = "Adhomian Circus Ringmaster"
special_role = "Adhomian Circus Ringmaster"
uses_species_whitelist = TRUE
-/obj/outfit/admin/adhomian_circus/ringmaster
+/datum/outfit/admin/adhomian_circus/ringmaster
name = "Adhomian Circus Ringmaster"
uniform = /obj/item/clothing/under/ringmaster
@@ -74,12 +74,12 @@
possible_species = list(SPECIES_TAJARA_ZHAN)
- outfit = /obj/outfit/admin/adhomian_circus/strongman
+ outfit = /datum/outfit/admin/adhomian_circus/strongman
assigned_role = "Adhomian Circus Strongzhan"
special_role = "Adhomian Circus Strongzhan"
-/obj/outfit/admin/adhomian_circus/strongman
+/datum/outfit/admin/adhomian_circus/strongman
name = "Adhomian Circus Strongzhan"
uniform = /obj/item/clothing/under/strongman
@@ -95,12 +95,12 @@
spawnpoints = list("adhomian_circus_tamer")
max_count = 1
- outfit = /obj/outfit/admin/adhomian_circus/tamer
+ outfit = /datum/outfit/admin/adhomian_circus/tamer
assigned_role = "Adhomian Circus Tamer"
special_role = "Adhomian Circus Tamer"
-/obj/outfit/admin/adhomian_circus/tamer
+/datum/outfit/admin/adhomian_circus/tamer
name = "Adhomian Circus Tamer"
uniform = /obj/item/clothing/under/tamer
@@ -120,13 +120,13 @@
spawnpoints = list("adhomian_circus_fortune_teller")
max_count = 1
- outfit = /obj/outfit/admin/adhomian_circus/fortune_teller
+ outfit = /datum/outfit/admin/adhomian_circus/fortune_teller
assigned_role = "Adhomian Circus Fortune Teller"
special_role = "Adhomian Circus Fortune Teller"
-/obj/outfit/admin/adhomian_circus/fortune_teller
+/datum/outfit/admin/adhomian_circus/fortune_teller
name = "Adhomian Circus Fortune Teller"
uniform = /obj/item/clothing/under/dress/tajaran/fortune
@@ -142,13 +142,13 @@
spawnpoints = list("adhomian_circus_clown")
max_count = 1
- outfit = /obj/outfit/admin/adhomian_circus/clown
+ outfit = /datum/outfit/admin/adhomian_circus/clown
assigned_role = "Adhomian Circus Clown"
special_role = "Adhomian Circus Clown"
uses_species_whitelist = TRUE
-/obj/outfit/admin/adhomian_circus/clown
+/datum/outfit/admin/adhomian_circus/clown
name = "Adhomian Circus Clown"
uniform = /obj/item/clothing/under/clown
diff --git a/maps/away/ships/tajara/taj_smuggler/tajaran_smuggler_ghostroles.dm b/maps/away/ships/tajara/taj_smuggler/tajaran_smuggler_ghostroles.dm
index c18b00dc4c9..76f9e5cc011 100644
--- a/maps/away/ships/tajara/taj_smuggler/tajaran_smuggler_ghostroles.dm
+++ b/maps/away/ships/tajara/taj_smuggler/tajaran_smuggler_ghostroles.dm
@@ -9,7 +9,7 @@
spawnpoints = list("tajaran_smuggler")
max_count = 2
- outfit = /obj/outfit/admin/tajaran_smuggler
+ outfit = /datum/outfit/admin/tajaran_smuggler
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -20,7 +20,7 @@
special_role = "Tajaran Smuggler"
respawn_flag = null
-/obj/outfit/admin/tajaran_smuggler
+/datum/outfit/admin/tajaran_smuggler
name = "Tajaran Smuggler"
uniform = list(
@@ -66,7 +66,7 @@
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/toeless
)
-/obj/outfit/admin/tajaran_smuggler/get_id_access()
+/datum/outfit/admin/tajaran_smuggler/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS)
@@ -78,7 +78,7 @@
spawnpoints = list("tajaran_smuggler_captain")
max_count = 1
- outfit = /obj/outfit/admin/freighter_crew/captain
+ outfit = /datum/outfit/admin/freighter_crew/captain
uses_species_whitelist = TRUE
@@ -86,7 +86,7 @@
special_role = "Tajaran Smuggler Captain"
-/obj/outfit/admin/tajaran_smuggler/captain
+/datum/outfit/admin/tajaran_smuggler/captain
name = "Tajaran Smuggler Captain"
uniform = /obj/item/clothing/under/syndicate
diff --git a/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler_ghostroles.dm b/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler_ghostroles.dm
index a16a385ec03..c543cd53984 100644
--- a/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler_ghostroles.dm
+++ b/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("tirakqi_crew")
max_count = 2
- outfit = /obj/outfit/admin/tirakqi_crew
+ outfit = /datum/outfit/admin/tirakqi_crew
possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -17,7 +17,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/tirakqi_crew
+/datum/outfit/admin/tirakqi_crew
name = "Ti'Rakqi Lu'fup"
uniform = list(
@@ -61,10 +61,10 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/tirakqi_crew/get_id_access()
+/datum/outfit/admin/tirakqi_crew/get_id_access()
return list(ACCESS_SKRELL, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/tirakqi_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/tirakqi_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
H.h_style = pick("Headtails", "Headtails", "Long Headtails", "Short Headtails", "Very Short Headtails", "Short Headtails, tucked", "Short Headtails, slicked", "Headtails, behind")
@@ -91,7 +91,7 @@
spawnpoints = list("tirakqi_captain")
max_count = 1
- outfit = /obj/outfit/admin/tirakqi_crew/captain
+ outfit = /datum/outfit/admin/tirakqi_crew/captain
possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -101,7 +101,7 @@
uses_species_whitelist = TRUE
-/obj/outfit/admin/tirakqi_crew/captain
+/datum/outfit/admin/tirakqi_crew/captain
name = "Ti'Rakqi Qu'qrot"
uniform = /obj/item/clothing/under/skrell/wetsuit/tirakqi/star
@@ -121,7 +121,7 @@
spawnpoints = list("tirakqi_medic")
max_count = 1
- outfit = /obj/outfit/admin/tirakqi_crew/medic
+ outfit = /datum/outfit/admin/tirakqi_crew/medic
possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -131,7 +131,7 @@
uses_species_whitelist = TRUE
-/obj/outfit/admin/tirakqi_crew/medic
+/datum/outfit/admin/tirakqi_crew/medic
name = "Ti'Rakqi Medic"
uniform = list(
@@ -153,7 +153,7 @@
spawnpoints = list("tirakqi_engineer")
max_count = 1
- outfit = /obj/outfit/admin/tirakqi_crew/engineer
+ outfit = /datum/outfit/admin/tirakqi_crew/engineer
possible_species = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -163,7 +163,7 @@
uses_species_whitelist = TRUE
-/obj/outfit/admin/tirakqi_crew/engineer
+/datum/outfit/admin/tirakqi_crew/engineer
name = "Ti'Rakqi Engineer"
uniform = /obj/item/clothing/under/skrell/wetsuit/tirakqi/engineer
diff --git a/maps/away/ships/tramp_freighter/tramp_freighter_ghostroles.dm b/maps/away/ships/tramp_freighter/tramp_freighter_ghostroles.dm
index 3bcd46ac10b..63e8a55b756 100644
--- a/maps/away/ships/tramp_freighter/tramp_freighter_ghostroles.dm
+++ b/maps/away/ships/tramp_freighter/tramp_freighter_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("freighter_crew")
max_count = 3
- outfit = /obj/outfit/admin/freighter_crew
+ outfit = /datum/outfit/admin/freighter_crew
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -16,7 +16,7 @@
respawn_flag = null
-/obj/outfit/admin/freighter_crew
+/datum/outfit/admin/freighter_crew
name = "Freighter Crewman"
uniform = /obj/item/clothing/under/syndicate/tracksuit
@@ -37,7 +37,7 @@
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/workboots/toeless
)
-/obj/outfit/admin/freighter_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/freighter_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -53,7 +53,7 @@
if(istype(tag))
tag.modify_tag_data(TRUE) //Shady smugglers might well have untagged IPCs
-/obj/outfit/admin/freighter_crew/get_id_access()
+/datum/outfit/admin/freighter_crew/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS, ACCESS_TRAMP_FREIGHTER)
/datum/ghostspawner/human/freighter_crew/captain
@@ -64,7 +64,7 @@
spawnpoints = list("freighter_crew_captain")
max_count = 1
- outfit = /obj/outfit/admin/freighter_crew/captain
+ outfit = /datum/outfit/admin/freighter_crew/captain
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -72,7 +72,7 @@
special_role = "Freighter Captain"
-/obj/outfit/admin/freighter_crew/captain
+/datum/outfit/admin/freighter_crew/captain
name = "Freighter Captain"
uniform = /obj/item/clothing/under/tactical
diff --git a/maps/away/ships/unathi_pirate/hiskyn/unathi_pirate_hiskyn_ghostroles.dm b/maps/away/ships/unathi_pirate/hiskyn/unathi_pirate_hiskyn_ghostroles.dm
index 1b74b6e64b2..84016fd0c26 100644
--- a/maps/away/ships/unathi_pirate/hiskyn/unathi_pirate_hiskyn_ghostroles.dm
+++ b/maps/away/ships/unathi_pirate/hiskyn/unathi_pirate_hiskyn_ghostroles.dm
@@ -8,7 +8,7 @@
spawnpoints = list("hiskyn")
max_count = 4
- outfit = /obj/outfit/admin/hiskyn_pirate
+ outfit = /datum/outfit/admin/hiskyn_pirate
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -28,13 +28,13 @@
spawnpoints = list("hiskyn_captain")
- outfit = /obj/outfit/admin/hiskyn_pirate/captain
+ outfit = /datum/outfit/admin/hiskyn_pirate/captain
assigned_role = "Hiskyn Captain"
special_role = "Hiskyn Captain"
-/obj/outfit/admin/hiskyn_pirate
+/datum/outfit/admin/hiskyn_pirate
name = "Hiskyn Revanchist"
uniform = /obj/item/clothing/under/unathi/hiskyn
shoes = /obj/item/clothing/shoes/sandals/caligae
@@ -47,9 +47,9 @@
/obj/item/storage/box/survival = 1
)
-/obj/outfit/admin/hiskyn_pirate/get_id_access()
+/datum/outfit/admin/hiskyn_pirate/get_id_access()
return list(ACCESS_UNATHI_PIRATE, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/hiskyn_pirate/captain
+/datum/outfit/admin/hiskyn_pirate/captain
gloves = /obj/item/clothing/gloves/black_leather/unathi
suit = /obj/item/clothing/suit/storage/toggle/asymmetriccoat/hiskyn
diff --git a/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan_ghostroles.dm b/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan_ghostroles.dm
index 77cc7daa343..2417f31b549 100644
--- a/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan_ghostroles.dm
+++ b/maps/away/ships/unathi_pirate/izharshan/unathi_pirate_izharshan_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("izharshan_crew")
max_count = 3
- outfit = /obj/outfit/admin/izharshan
+ outfit = /datum/outfit/admin/izharshan
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -29,7 +29,7 @@
spawnpoints = list("izharshan_captain")
- outfit = /obj/outfit/admin/izharshan/captain
+ outfit = /datum/outfit/admin/izharshan/captain
assigned_role = "Izharshan Captain"
@@ -42,7 +42,7 @@
/obj/item/clothing/suit/storage/toggle/asymmetriccoat/izharshan
color = "#eed8c1"
-/obj/outfit/admin/izharshan
+/datum/outfit/admin/izharshan
name = "Izharshan Crewman"
uniform = /obj/item/clothing/under/unathi/izharshan
@@ -60,10 +60,10 @@
/obj/item/storage/box/survival = 1
)
-/obj/outfit/admin/izharshan/get_id_access()
+/datum/outfit/admin/izharshan/get_id_access()
return list(ACCESS_UNATHI_PIRATE, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/izharshan/captain
+/datum/outfit/admin/izharshan/captain
name = "Izharshan Captain"
suit = /obj/item/clothing/suit/storage/toggle/asymmetriccoat/izharshan
diff --git a/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa_ghostroles.dm b/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa_ghostroles.dm
index adcc14cc0d3..9ba3c107743 100644
--- a/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa_ghostroles.dm
+++ b/maps/away/ships/unathi_pirate/tarwa/unathi_pirate_tarwa_ghostroles.dm
@@ -8,7 +8,7 @@
max_count = 3
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/tarwa
+ outfit = /datum/outfit/admin/tarwa
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -29,7 +29,7 @@
possible_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS)
uses_species_whitelist = TRUE
spawnpoints = list("tarwa_diona")
- outfit = /obj/outfit/admin/tarwa/diona
+ outfit = /datum/outfit/admin/tarwa/diona
welcome_message = "As a diona gestalt of the Tarwa Conglomerate, most of the blood you have consumed would likely be from Unathi pirates, meaning that your gestalt would likely resemble an Unathi to some degree. Remember, even though you are a pirate, you are still \
a diona gestalt, and should roleplay diona conditional pacifism accordingly."
@@ -42,9 +42,9 @@
assigned_role = "Tarwa Conglomerate Captain"
special_role = "Tarwa Conglomerate Captain"
spawnpoints = list("tarwa_captain")
- outfit = /obj/outfit/admin/tarwa/captain
+ outfit = /datum/outfit/admin/tarwa/captain
-/obj/outfit/admin/tarwa
+/datum/outfit/admin/tarwa
name = "Tarwa Conglomerate Crew"
uniform = /obj/item/clothing/under/unathi
shoes = /obj/item/clothing/shoes/sandals/caligae
@@ -58,16 +58,16 @@
/obj/item/storage/box/survival = 1
)
-/obj/outfit/admin/tarwa/get_id_access()
+/datum/outfit/admin/tarwa/get_id_access()
return list(ACCESS_UNATHI_PIRATE, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/tarwa/diona
+/datum/outfit/admin/tarwa/diona
name = "Tarwa Conglomerate Diona"
suit = /obj/item/clothing/accessory/poncho/green
head = /obj/item/clothing/head/bandana/pirate
backpack_contents = list(/obj/item/device/uv_light = 1)
-/obj/outfit/admin/tarwa/captain
+/datum/outfit/admin/tarwa/captain
name = "Tarwa Conglomerate Captain"
suit = /obj/item/clothing/suit/storage/toggle/asymmetriccoat
gloves = /obj/item/clothing/gloves/green/unathi
diff --git a/maps/away/ships/wildlands_militia/militia_ship_ghostroles.dm b/maps/away/ships/wildlands_militia/militia_ship_ghostroles.dm
index 3bab1be1d5e..9af8d0e7bf7 100644
--- a/maps/away/ships/wildlands_militia/militia_ship_ghostroles.dm
+++ b/maps/away/ships/wildlands_militia/militia_ship_ghostroles.dm
@@ -7,7 +7,7 @@
spawnpoints = list("militiaman")
max_count = 3
- outfit = /obj/outfit/admin/militia_crew
+ outfit = /datum/outfit/admin/militia_crew
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -16,7 +16,7 @@
respawn_flag = null
-/obj/outfit/admin/militia_crew
+/datum/outfit/admin/militia_crew
name = "Militiaman"
uniform = /obj/item/clothing/under/tactical
@@ -29,12 +29,12 @@
backpack_contents = list(/obj/item/storage/box/survival = 1)
-/obj/outfit/admin/militia_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/militia_crew/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
-/obj/outfit/admin/militia_crew/get_id_access()
+/datum/outfit/admin/militia_crew/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS)
/datum/ghostspawner/human/militia_crew/captain
@@ -45,7 +45,7 @@
spawnpoints = list("militia_crew_captain")
max_count = 1
- outfit = /obj/outfit/admin/militia_crew/captain
+ outfit = /datum/outfit/admin/militia_crew/captain
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -53,7 +53,7 @@
special_role = "Militia Captain"
-/obj/outfit/admin/militia_crew/captain
+/datum/outfit/admin/militia_crew/captain
name = "Militia Captain"
accessory = /obj/item/clothing/accessory/sash/red
diff --git a/maps/away/ships/xanu/xanu_frigate_ghostroles.dm b/maps/away/ships/xanu/xanu_frigate_ghostroles.dm
index d6275c9af96..b1f6a50db04 100644
--- a/maps/away/ships/xanu/xanu_frigate_ghostroles.dm
+++ b/maps/away/ships/xanu/xanu_frigate_ghostroles.dm
@@ -11,7 +11,7 @@
max_count = 4
mob_name_prefix = "PO3. "
- outfit = /obj/outfit/admin/xanufrigate_crewman
+ outfit = /datum/outfit/admin/xanufrigate_crewman
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_DIONA, SPECIES_IPC, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
uses_species_whitelist = TRUE
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -27,7 +27,7 @@
welcome_message = "You're an officer of an All-Xanu Spacefleet vessel, representing Xanu Prime and protecting the Coalition of Colonies. You are a military officer, and are trained extensively in combat, survival, and damage control, as well as \
leadership and tactical strategy."
max_count = 1
- outfit = /obj/outfit/admin/xanufrigate_crewman/officer
+ outfit = /datum/outfit/admin/xanufrigate_crewman/officer
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_IPC, SPECIES_IPC_SHELL)
mob_name_prefix = "LT. "
@@ -38,11 +38,11 @@
welcome_message = "You're the captain of an All-Xanu Spacefleet vessel, representing Xanu Prime and protecting the Coalition of Colonies. You are a military officer, and are trained extensively in combat, survival, and damage control, as well as \
leadership and tactical strategy."
max_count = 1
- outfit = /obj/outfit/admin/xanufrigate_crewman/officer/captain
+ outfit = /datum/outfit/admin/xanufrigate_crewman/officer/captain
spawnpoints = list("xanufrigate_captain")
mob_name_prefix = "CDR. "
-/obj/outfit/admin/xanufrigate_crewman
+/datum/outfit/admin/xanufrigate_crewman
name = "All-Xanu Armed Forces Crewman"
uniform = /obj/item/clothing/under/xanu
head = /obj/item/clothing/head/xanu
@@ -56,7 +56,7 @@
/obj/item/clothing/mask/gas/half = 1,
)
-/obj/outfit/admin/xanufrigate_crewman/officer
+/datum/outfit/admin/xanufrigate_crewman/officer
name = "All-Xanu Armed Forces Officer"
uniform = /obj/item/clothing/under/xanu/officer
head = /obj/item/clothing/head/xanu/officer
@@ -69,10 +69,10 @@
/obj/item/clothing/mask/gas/half = 1,
)
-/obj/outfit/admin/xanufrigate_crewman/officer/captain
+/datum/outfit/admin/xanufrigate_crewman/officer/captain
name = "All-Xanu Armed Forces Senior Officer"
uniform = /obj/item/clothing/under/xanu/officer/senior
head = /obj/item/clothing/head/xanu/senior
-/obj/outfit/admin/xanufrigate_crewman/get_id_access()
+/datum/outfit/admin/xanufrigate_crewman/get_id_access()
return list(ACCESS_COALITION, ACCESS_COALITION_NAVY, ACCESS_EXTERNAL_AIRLOCKS)
diff --git a/maps/away/ships/yacht_civ/yacht_civ_ghostroles.dm b/maps/away/ships/yacht_civ/yacht_civ_ghostroles.dm
index 001d88b7b93..9a5d2588b1f 100644
--- a/maps/away/ships/yacht_civ/yacht_civ_ghostroles.dm
+++ b/maps/away/ships/yacht_civ/yacht_civ_ghostroles.dm
@@ -14,7 +14,7 @@
spawnpoints = list("yacht_civ_crew")
max_count = 4
- outfit = /obj/outfit/admin/yacht_civ
+ outfit = /datum/outfit/admin/yacht_civ
possible_species = list(SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -22,7 +22,7 @@
special_role = "Civilian Yacht Crew"
respawn_flag = null
-/obj/outfit/admin/yacht_civ
+/datum/outfit/admin/yacht_civ
name = "Civilian Yacht Crew"
uniform = list(/obj/item/clothing/under/pj/red, /obj/item/clothing/under/pj/blue)
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_amohdan.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_amohdan.dm
index a0d43dc5856..25736b8e7bd 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_amohdan.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_amohdan.dm
@@ -25,7 +25,7 @@
max_count = 1
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/adhomai_amohdan
+ outfit = /datum/outfit/admin/adhomai_amohdan
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -33,7 +33,7 @@
special_role = "Amohdan Swordsman"
respawn_flag = null
-/obj/outfit/admin/adhomai_amohdan
+/datum/outfit/admin/adhomai_amohdan
name = "Amohdan Swordsman"
uniform = /obj/item/clothing/under/pants/tajaran
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_archeology.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_archeology.dm
index dce38cb30c2..13799f4d92c 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_archeology.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_archeology.dm
@@ -35,7 +35,7 @@
spawnpoints = list("adhomai_archeology")
max_count = 4
- outfit = /obj/outfit/admin/adhomai_archeology
+ outfit = /datum/outfit/admin/adhomai_archeology
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -45,7 +45,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/adhomai_archeology
+/datum/outfit/admin/adhomai_archeology
name = "Adhomian Archeologist"
uniform = /obj/item/clothing/under/tajaran/archeologist
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_bar.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_bar.dm
index 2c883ceee9c..b6fec7c6d46 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_bar.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_bar.dm
@@ -35,7 +35,7 @@
spawnpoints = list("adhomai_bar_innkeeper")
max_count = 1
- outfit = /obj/outfit/admin/adhomai_bar_innkeeper
+ outfit = /datum/outfit/admin/adhomai_bar_innkeeper
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -45,7 +45,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/adhomai_bar_innkeeper
+/datum/outfit/admin/adhomai_bar_innkeeper
name = "Adhomian Innkeeper"
uniform = /obj/item/clothing/under/sl_suit
@@ -69,7 +69,7 @@
max_count = 2
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/adhomai_bar_server
+ outfit = /datum/outfit/admin/adhomai_bar_server
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -79,7 +79,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/adhomai_bar_server
+/datum/outfit/admin/adhomai_bar_server
name = "Adhomian Inn Staff"
uniform = /obj/item/clothing/under/sl_suit
@@ -101,7 +101,7 @@
spawnpoints = list("adhomai_bar_patron")
max_count = 4
- outfit = /obj/outfit/admin/adhomai_bar_patron
+ outfit = /datum/outfit/admin/adhomai_bar_patron
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -111,7 +111,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/adhomai_bar_patron
+/datum/outfit/admin/adhomai_bar_patron
name = "Adhomian Patron"
uniform = list(
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_deserter.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_deserter.dm
index 3446626d2cb..c7597bd9582 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_deserter.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_deserter.dm
@@ -25,7 +25,7 @@
max_count = 1
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/adhomai_deserter
+ outfit = /datum/outfit/admin/adhomai_deserter
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -33,7 +33,7 @@
special_role = "Liberation Army Deserter"
respawn_flag = null
-/obj/outfit/admin/adhomai_deserter
+/datum/outfit/admin/adhomai_deserter
name = "Liberation Army Deserter"
uniform = /obj/item/clothing/under/tajaran/ala/wraps
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_hunting.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_hunting.dm
index 3e7847da3c5..48c2a89d7aa 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_hunting.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_hunting.dm
@@ -35,7 +35,7 @@
max_count = 2
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/adhomai_hunter
+ outfit = /datum/outfit/admin/adhomai_hunter
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -45,7 +45,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/adhomai_hunter
+/datum/outfit/admin/adhomai_hunter
name = "Adhomian Hunter"
uniform = list(
@@ -83,7 +83,7 @@
max_count = 1
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/matake_hunter
+ outfit = /datum/outfit/admin/matake_hunter
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -93,7 +93,7 @@
uses_species_whitelist = TRUE
-/obj/outfit/admin/matake_hunter
+/datum/outfit/admin/matake_hunter
name = "Mata'ke Priest-Hunter"
uniform = /obj/item/clothing/under/tajaran/matake
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_raskariim_hideout.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_raskariim_hideout.dm
index 05b8d7a17bf..5aa11c80647 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_raskariim_hideout.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_raskariim_hideout.dm
@@ -43,7 +43,7 @@
max_count = 3
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/raskariim_hideout
+ outfit = /datum/outfit/admin/raskariim_hideout
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -53,14 +53,13 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/raskariim_hideout
+/datum/outfit/admin/raskariim_hideout
name = "Raskariim"
uniform = list(
/obj/item/clothing/under/tajaran,
/obj/item/clothing/under/tajaran/summer,
/obj/item/clothing/under/pants/tajaran,
- /obj/item/clothing/under/pants,
/obj/item/clothing/under/pants/track
)
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_silo.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_silo.dm
index c640f5946fe..f5c56a93d17 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_silo.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_silo.dm
@@ -41,7 +41,7 @@
max_count = 1
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/silo_guard
+ outfit = /datum/outfit/admin/silo_guard
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -52,7 +52,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/silo_guard
+/datum/outfit/admin/silo_guard
name = "People's Republic of Adhomai Silo Guard"
uniform = /obj/item/clothing/under/tajaran/pra_uniform
@@ -76,5 +76,5 @@
r_pocket = /obj/item/storage/wallet/random
l_pocket = /obj/item/device/radio
-/obj/outfit/admin/silo_guard/get_id_access()
+/datum/outfit/admin/silo_guard/get_id_access()
return list(ACCESS_PRA)
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_sole_rock_nomad.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_sole_rock_nomad.dm
index 484f7bae4d8..3801623eadf 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_sole_rock_nomad.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_sole_rock_nomad.dm
@@ -25,7 +25,7 @@
max_count = 1
extra_languages = list(LANGUAGE_DELVAHII)
- outfit = /obj/outfit/admin/adhomai_sole_rock_nomad
+ outfit = /datum/outfit/admin/adhomai_sole_rock_nomad
possible_species = list(SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -36,7 +36,7 @@
special_role = "Rock Nomad"
respawn_flag = null
-/obj/outfit/admin/adhomai_sole_rock_nomad
+/datum/outfit/admin/adhomai_sole_rock_nomad
name = "Rock Nomad"
uniform = /obj/item/clothing/under/pants/tajaran
diff --git a/maps/random_ruins/exoplanets/adhomai/adhomai_village.dm b/maps/random_ruins/exoplanets/adhomai/adhomai_village.dm
index d5620754985..f7e96d8dbd0 100644
--- a/maps/random_ruins/exoplanets/adhomai/adhomai_village.dm
+++ b/maps/random_ruins/exoplanets/adhomai/adhomai_village.dm
@@ -35,7 +35,7 @@
max_count = 4
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/adhomai_village
+ outfit = /datum/outfit/admin/adhomai_village
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -45,7 +45,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/adhomai_village
+/datum/outfit/admin/adhomai_village
name = "Adhomian Villager"
uniform = list(
diff --git a/maps/random_ruins/exoplanets/adhomai/ala_base.dm b/maps/random_ruins/exoplanets/adhomai/ala_base.dm
index edbf3f7cb72..d27a7dfe128 100644
--- a/maps/random_ruins/exoplanets/adhomai/ala_base.dm
+++ b/maps/random_ruins/exoplanets/adhomai/ala_base.dm
@@ -35,7 +35,7 @@
max_count = 3
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/ala_base
+ outfit = /datum/outfit/admin/ala_base
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -44,7 +44,7 @@
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/ala_base
+/datum/outfit/admin/ala_base
name = "Adhomai Liberation Army Soldier"
uniform = /obj/item/clothing/under/tajaran/ala
@@ -58,7 +58,7 @@
r_pocket = /obj/item/storage/wallet/random
l_pocket = /obj/item/device/radio
-/obj/outfit/admin/ala_base/get_id_access()
+/datum/outfit/admin/ala_base/get_id_access()
return list(ACCESS_DPRA)
@@ -70,14 +70,14 @@
spawnpoints = list("ala_base_officer")
max_count = 1
- outfit = /obj/outfit/admin/ala_base/officer
+ outfit = /datum/outfit/admin/ala_base/officer
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI)
uses_species_whitelist = TRUE
assigned_role = "Adhomai Liberation Army Officer"
special_role = "Adhomai Liberation Army Officer"
-/obj/outfit/admin/ala_base/officer
+/datum/outfit/admin/ala_base/officer
name = "Adhomai Liberation Army Officer"
uniform = /obj/item/clothing/under/tajaran/ala/black/officer
diff --git a/maps/random_ruins/exoplanets/adhomai/nka_base.dm b/maps/random_ruins/exoplanets/adhomai/nka_base.dm
index 55fd53aede2..39aae1a0726 100644
--- a/maps/random_ruins/exoplanets/adhomai/nka_base.dm
+++ b/maps/random_ruins/exoplanets/adhomai/nka_base.dm
@@ -37,7 +37,7 @@
max_count = 3
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/nka_base
+ outfit = /datum/outfit/admin/nka_base
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -46,7 +46,7 @@
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/nka_base
+/datum/outfit/admin/nka_base
name = "Imperial Adhomian Army Soldier"
uniform = /obj/item/clothing/under/tajaran/nka_uniform
@@ -60,7 +60,7 @@
r_pocket = /obj/item/storage/wallet/random
l_pocket = /obj/item/device/radio
-/obj/outfit/admin/nka_base/get_id_access()
+/datum/outfit/admin/nka_base/get_id_access()
return list(ACCESS_NKA)
/datum/ghostspawner/human/nka_base/commander
@@ -71,14 +71,14 @@
spawnpoints = list("nka_base_commander")
max_count = 1
- outfit = /obj/outfit/admin/nka_base/commander
+ outfit = /datum/outfit/admin/nka_base/commander
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI)
uses_species_whitelist = TRUE
assigned_role = "Imperial Adhomian Army Officer"
special_role = "Imperial Adhomian Army Officer"
-/obj/outfit/admin/nka_base/commander
+/datum/outfit/admin/nka_base/commander
name = "Imperial Adhomian Army Officer"
uniform = /obj/item/clothing/under/tajaran/nka_uniform/commander
diff --git a/maps/random_ruins/exoplanets/adhomai/north_pole_nka_expedition.dm b/maps/random_ruins/exoplanets/adhomai/north_pole_nka_expedition.dm
index ddcefb36aed..bfc1772dd82 100644
--- a/maps/random_ruins/exoplanets/adhomai/north_pole_nka_expedition.dm
+++ b/maps/random_ruins/exoplanets/adhomai/north_pole_nka_expedition.dm
@@ -23,7 +23,7 @@
spawnpoints = list("nka_polar_explorer")
max_count = 3
- outfit = /obj/outfit/admin/nka_polar_explorer
+ outfit = /datum/outfit/admin/nka_polar_explorer
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -33,7 +33,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/nka_polar_explorer
+/datum/outfit/admin/nka_polar_explorer
name = "New Kingdom Arctic Explorer"
uniform = /obj/item/clothing/under/tajaran/archeologist
@@ -50,7 +50,7 @@
r_pocket = /obj/item/storage/wallet/random
l_pocket = /obj/item/device/radio
-/obj/outfit/admin/nka_polar_explorer/get_id_access()
+/datum/outfit/admin/nka_polar_explorer/get_id_access()
return list(ACCESS_NKA)
/datum/ghostspawner/human/nka_polar_sailor
@@ -63,7 +63,7 @@
spawnpoints = list("nka_polar_sailor")
max_count = 3
- outfit = /obj/outfit/admin/nka_polar_sailor
+ outfit = /datum/outfit/admin/nka_polar_sailor
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -73,7 +73,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/nka_polar_sailor
+/datum/outfit/admin/nka_polar_sailor
name = "New Kingdom Arctic Sailor"
uniform = /obj/item/clothing/under/tajaran/nka_uniform/sailor
@@ -87,5 +87,5 @@
r_pocket = /obj/item/storage/wallet/random
l_pocket = /obj/item/device/radio
-/obj/outfit/admin/nka_polar_sailor/get_id_access()
+/datum/outfit/admin/nka_polar_sailor/get_id_access()
return list(ACCESS_NKA)
diff --git a/maps/random_ruins/exoplanets/adhomai/pra_base.dm b/maps/random_ruins/exoplanets/adhomai/pra_base.dm
index 021f8e71f96..92c951d348d 100644
--- a/maps/random_ruins/exoplanets/adhomai/pra_base.dm
+++ b/maps/random_ruins/exoplanets/adhomai/pra_base.dm
@@ -35,7 +35,7 @@
max_count = 3
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/pra_base
+ outfit = /datum/outfit/admin/pra_base
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -44,7 +44,7 @@
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/pra_base
+/datum/outfit/admin/pra_base
name = "People's Republic of Adhomai Soldier"
uniform = /obj/item/clothing/under/tajaran/pra_uniform
@@ -60,7 +60,7 @@
r_pocket = /obj/item/storage/wallet/random
l_pocket = /obj/item/device/radio
-/obj/outfit/admin/pra_base/get_id_access()
+/datum/outfit/admin/pra_base/get_id_access()
return list(ACCESS_PRA)
/datum/ghostspawner/human/pra_base/commissar
@@ -71,14 +71,14 @@
spawnpoints = list("pra_base_commissar")
max_count = 1
- outfit = /obj/outfit/admin/pra_base/commissar
+ outfit = /datum/outfit/admin/pra_base/commissar
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI)
uses_species_whitelist = TRUE
assigned_role = "Grand People's Army Commissar"
special_role = "Grand People's Army Commissar"
-/obj/outfit/admin/pra_base/commissar
+/datum/outfit/admin/pra_base/commissar
name = "Grand People's Army Commissar"
uniform = /obj/item/clothing/under/tajaran/army_commissar
diff --git a/maps/random_ruins/exoplanets/adhomai/pra_mining_camp.dm b/maps/random_ruins/exoplanets/adhomai/pra_mining_camp.dm
index fb08a0a2194..fd56a9bb61c 100644
--- a/maps/random_ruins/exoplanets/adhomai/pra_mining_camp.dm
+++ b/maps/random_ruins/exoplanets/adhomai/pra_mining_camp.dm
@@ -34,7 +34,7 @@
spawnpoints = list("adhomai_pra_miner")
max_count = 3
- outfit = /obj/outfit/admin/adhomai_pra_miner
+ outfit = /datum/outfit/admin/adhomai_pra_miner
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -44,7 +44,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/adhomai_pra_miner
+/datum/outfit/admin/adhomai_pra_miner
name = "Adhomai Corporate Miner"
uniform = /obj/item/clothing/under/tajaran/nt
@@ -69,7 +69,7 @@
spawnpoints = list("adhomai_pra_miner_teslabody")
max_count = 1
- outfit = /obj/outfit/admin/adhomai_pra_miner_teslabody
+ outfit = /datum/outfit/admin/adhomai_pra_miner_teslabody
possible_species = list(SPECIES_TAJARA_TESLA_BODY)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -79,7 +79,7 @@
uses_species_whitelist = TRUE
-/obj/outfit/admin/adhomai_pra_miner_teslabody
+/datum/outfit/admin/adhomai_pra_miner_teslabody
name = "Tesla Rejuvenation Suit Mining Worker"
uniform = /obj/item/clothing/under/tajaran/tesla_body
diff --git a/maps/random_ruins/exoplanets/adhomai/psis_outpost.dm b/maps/random_ruins/exoplanets/adhomai/psis_outpost.dm
index 76a6be05a22..05eb9d1f7d9 100644
--- a/maps/random_ruins/exoplanets/adhomai/psis_outpost.dm
+++ b/maps/random_ruins/exoplanets/adhomai/psis_outpost.dm
@@ -36,7 +36,7 @@
max_count = 3
extra_languages = list(LANGUAGE_SIIK_MAAS)
- outfit = /obj/outfit/admin/psis_outpost
+ outfit = /datum/outfit/admin/psis_outpost
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -45,7 +45,7 @@
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/psis_outpost
+/datum/outfit/admin/psis_outpost
name = "People's Strategic Intelligence Service Agent"
uniform = /obj/item/clothing/under/tajaran/psis
@@ -70,5 +70,5 @@
r_pocket = /obj/item/storage/wallet/random
l_pocket = /obj/item/device/radio
-/obj/outfit/admin/psis_outpost/get_id_access()
+/datum/outfit/admin/psis_outpost/get_id_access()
return list(ACCESS_PRA)
diff --git a/maps/random_ruins/exoplanets/burzsia/burzsia_mining.dm b/maps/random_ruins/exoplanets/burzsia/burzsia_mining.dm
index 11ce6c277cf..2bfa4759898 100644
--- a/maps/random_ruins/exoplanets/burzsia/burzsia_mining.dm
+++ b/maps/random_ruins/exoplanets/burzsia/burzsia_mining.dm
@@ -53,7 +53,7 @@
spawnpoints = list("burzsia_miner")
max_count = 3
- outfit = /obj/outfit/admin/burzsia_miner
+ outfit = /datum/outfit/admin/burzsia_miner
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_DIONA, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -61,7 +61,7 @@
special_role = "Hephaestus Burzsia Miner"
respawn_flag = null
-/obj/outfit/admin/burzsia_miner
+/datum/outfit/admin/burzsia_miner
name = "Hephaestus Burzsia Miner"
id = /obj/item/card/id/hephaestus
@@ -75,10 +75,10 @@
r_pocket = /obj/item/storage/wallet/random
accessory = /obj/item/clothing/accessory/badge/passcard/burzsia
-/obj/outfit/admin/burzsia_miner/get_id_access()
+/datum/outfit/admin/burzsia_miner/get_id_access()
return list(ACCESS_GENERIC_AWAY_SITE, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/burzsia_miner/post_equip(mob/living/carbon/human/H, visualsOnly)
+/datum/outfit/admin/burzsia_miner/post_equip(mob/living/carbon/human/H, visualsOnly)
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
if(istype(tag))
tag.serial_number = uppertext(dd_limittext(md5(H.real_name), 12))
@@ -93,13 +93,13 @@
spawnpoints = list("burzsia_foreman")
max_count = 1
- outfit = /obj/outfit/admin/burzsia_miner/foreman
+ outfit = /datum/outfit/admin/burzsia_miner/foreman
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI)
assigned_role = "Hephaestus Burzsia Foreman"
special_role = "Hephaestus Burzsia Foreman"
-/obj/outfit/admin/burzsia_miner/foreman
+/datum/outfit/admin/burzsia_miner/foreman
name = "Hephaestus Burzsia foreman"
head = /obj/item/clothing/head/beret/corporate/heph
diff --git a/maps/random_ruins/exoplanets/grove/crashsurvivors/crashsurvivors.dm b/maps/random_ruins/exoplanets/grove/crashsurvivors/crashsurvivors.dm
index e9e8a4f68bc..98bb6fe8cd0 100644
--- a/maps/random_ruins/exoplanets/grove/crashsurvivors/crashsurvivors.dm
+++ b/maps/random_ruins/exoplanets/grove/crashsurvivors/crashsurvivors.dm
@@ -9,7 +9,7 @@
spawnpoints = list("survivor")
max_count = 3
- outfit = /obj/outfit/admin/freighter_crew
+ outfit = /datum/outfit/admin/freighter_crew
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_WORKER, SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -18,7 +18,7 @@
respawn_flag = null
-/obj/outfit/admin/survivor
+/datum/outfit/admin/survivor
name = "Survivor"
uniform = /obj/item/clothing/under/syndicate/tracksuit
@@ -39,7 +39,7 @@
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/workboots/toeless
)
-/obj/outfit/admin/survivor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/survivor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
@@ -50,7 +50,7 @@
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
-/obj/outfit/admin/survivor/get_id_access()
+/datum/outfit/admin/survivor/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS)
/obj/item/card/id/freighter_crew_ship
diff --git a/maps/random_ruins/exoplanets/konyang/fireoutpost.dm b/maps/random_ruins/exoplanets/konyang/fireoutpost.dm
index cde66db6147..219e2857887 100644
--- a/maps/random_ruins/exoplanets/konyang/fireoutpost.dm
+++ b/maps/random_ruins/exoplanets/konyang/fireoutpost.dm
@@ -33,7 +33,7 @@
max_count = 2
extra_languages = list(LANGUAGE_SOL_COMMON)
- outfit = /obj/outfit/admin/konyang/firewatcher
+ outfit = /datum/outfit/admin/konyang/firewatcher
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -46,7 +46,7 @@
culture_restriction = list(/singleton/origin_item/culture/solarian)
origin_restriction = list(/singleton/origin_item/origin/konyang)
-/obj/outfit/admin/konyang/firewatcher
+/datum/outfit/admin/konyang/firewatcher
name = "Konyang Firewatcher"
uniform = /obj/item/clothing/under/color/lightbrown
diff --git a/maps/random_ruins/exoplanets/konyang/homestead.dm b/maps/random_ruins/exoplanets/konyang/homestead.dm
index a2f4bb808ce..925d41b1d41 100644
--- a/maps/random_ruins/exoplanets/konyang/homestead.dm
+++ b/maps/random_ruins/exoplanets/konyang/homestead.dm
@@ -33,7 +33,7 @@
max_count = 2
extra_languages = list(LANGUAGE_SOL_COMMON)
- outfit = /obj/outfit/admin/konyang/homesteader
+ outfit = /datum/outfit/admin/konyang/homesteader
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -46,7 +46,7 @@
culture_restriction = list(/singleton/origin_item/culture/solarian)
origin_restriction = list(/singleton/origin_item/origin/konyang)
-/obj/outfit/admin/konyang/homesteader
+/datum/outfit/admin/konyang/homesteader
name = "Konyang Homesteader"
uniform = list(
diff --git a/maps/random_ruins/exoplanets/konyang/pirate_moonshine.dm b/maps/random_ruins/exoplanets/konyang/pirate_moonshine.dm
index 82072c1d5b6..7a9b4aab8a7 100644
--- a/maps/random_ruins/exoplanets/konyang/pirate_moonshine.dm
+++ b/maps/random_ruins/exoplanets/konyang/pirate_moonshine.dm
@@ -34,7 +34,7 @@
spawnpoints = list("konyang_moonshine")
max_count = 2
- outfit = /obj/outfit/admin/konyang/pirate
+ outfit = /datum/outfit/admin/konyang/pirate
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/maps/random_ruins/exoplanets/konyang/pirate_outpost.dm b/maps/random_ruins/exoplanets/konyang/pirate_outpost.dm
index 804b877654f..8afa676be1d 100644
--- a/maps/random_ruins/exoplanets/konyang/pirate_outpost.dm
+++ b/maps/random_ruins/exoplanets/konyang/pirate_outpost.dm
@@ -84,7 +84,7 @@
spawnpoints = list("konyang_pirate")
max_count = 4
- outfit = /obj/outfit/admin/konyang/pirate
+ outfit = /datum/outfit/admin/konyang/pirate
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -92,7 +92,7 @@
special_role = "Konyang Pirate"
respawn_flag = null
-/obj/outfit/admin/konyang/pirate
+/datum/outfit/admin/konyang/pirate
name = "Konyang Pirate"
uniform = list(
/obj/item/clothing/under/konyang/pirate,
diff --git a/maps/random_ruins/exoplanets/konyang/stranded_police.dm b/maps/random_ruins/exoplanets/konyang/stranded_police.dm
index 27df6d65925..48c524d4ab5 100644
--- a/maps/random_ruins/exoplanets/konyang/stranded_police.dm
+++ b/maps/random_ruins/exoplanets/konyang/stranded_police.dm
@@ -22,7 +22,7 @@
max_count = 2
extra_languages = list(LANGUAGE_SOL_COMMON)
- outfit = /obj/outfit/admin/konyang/cop
+ outfit = /datum/outfit/admin/konyang/cop
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/maps/random_ruins/exoplanets/konyang/telecomms_outpost.dm b/maps/random_ruins/exoplanets/konyang/telecomms_outpost.dm
index eb8f42710dd..4717e71689f 100644
--- a/maps/random_ruins/exoplanets/konyang/telecomms_outpost.dm
+++ b/maps/random_ruins/exoplanets/konyang/telecomms_outpost.dm
@@ -36,7 +36,7 @@
max_count = 2
extra_languages = list(LANGUAGE_SOL_COMMON)
- outfit = /obj/outfit/admin/konyang/army
+ outfit = /datum/outfit/admin/konyang/army
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -47,7 +47,7 @@
culture_restriction = list(/singleton/origin_item/culture/solarian)
origin_restriction = list(/singleton/origin_item/origin/konyang)
-/obj/outfit/admin/konyang/army
+/datum/outfit/admin/konyang/army
name = "Konyang Army"
uniform = /obj/item/clothing/under/rank/konyang
shoes = /obj/item/clothing/shoes/jackboots
@@ -57,7 +57,7 @@
back = /obj/item/storage/backpack/rucksack/green
id = /obj/item/card/id/konyang_army
-/obj/outfit/admin/konyang/army/get_id_access()
+/datum/outfit/admin/konyang/army/get_id_access()
return list(ACCESS_KONYANG_POLICE, ACCESS_EXTERNAL_AIRLOCKS)
/obj/item/card/id/konyang_army
diff --git a/maps/random_ruins/exoplanets/konyang/village.dm b/maps/random_ruins/exoplanets/konyang/village.dm
index 3dc5653df75..2bb610ccd2e 100644
--- a/maps/random_ruins/exoplanets/konyang/village.dm
+++ b/maps/random_ruins/exoplanets/konyang/village.dm
@@ -35,7 +35,7 @@
max_count = 5
extra_languages = list(LANGUAGE_SOL_COMMON)
- outfit = /obj/outfit/admin/konyang/villager
+ outfit = /datum/outfit/admin/konyang/villager
possible_species = list(SPECIES_HUMAN, SPECIES_IPC, SPECIES_IPC_BISHOP, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_SHELL, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -45,7 +45,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/konyang/villager
+/datum/outfit/admin/konyang/villager
name = "Konyang Villager"
uniform = list(
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_bar.dm b/maps/random_ruins/exoplanets/moghes/moghes_bar.dm
index f57a0fd10fc..1508db24d28 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_bar.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_bar.dm
@@ -35,14 +35,14 @@
spawnpoints = list("moghes_bar_innkeeper")
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/moghes_bar_innkeeper
+ outfit = /datum/outfit/admin/moghes_bar_innkeeper
assigned_role = "Moghresian Innkeeper"
special_role = "Moghresian Innkeeper"
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/moghes_bar_innkeeper
+/datum/outfit/admin/moghes_bar_innkeeper
name = "Moghes Innkeeper"
uniform = /obj/item/clothing/under/unathi
suit = /obj/item/clothing/suit/unathi/robe/robe_coat/blue
@@ -52,7 +52,7 @@
l_ear = null
id = /obj/item/card/id
-/obj/outfit/admin/moghes_bar_inkeeper/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_bar_inkeeper/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
@@ -72,14 +72,14 @@
max_count = 2
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/moghes_bar_server
+ outfit = /datum/outfit/admin/moghes_bar_server
assigned_role = "Moghresian Inn Staff"
special_role = "Moghresian Inn Staff"
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/moghes_bar_server
+/datum/outfit/admin/moghes_bar_server
name = "Moghes Server"
uniform = /obj/item/clothing/under/unathi
shoes = /obj/item/clothing/shoes/sandals
@@ -92,7 +92,7 @@
l_ear = null
id = /obj/item/card/id
-/obj/outfit/admin/moghes_bar_server/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_bar_server/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
@@ -114,14 +114,14 @@
spawnpoints = list("moghes_bar_patron")
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/moghes_bar_patron
+ outfit = /datum/outfit/admin/moghes_bar_patron
assigned_role = "Moghresian Patron"
special_role = "Moghresian Patron"
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/moghes_bar_patron
+/datum/outfit/admin/moghes_bar_patron
name = "Moghes Bar Patron"
uniform = list(
/obj/item/clothing/under/unathi,
@@ -147,7 +147,7 @@
l_ear = null
id = null
-/obj/outfit/admin/moghes_bar_patron/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_bar_patron/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_diona_traders.dm b/maps/random_ruins/exoplanets/moghes/moghes_diona_traders.dm
index c62a1125b86..3629038ef7c 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_diona_traders.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_diona_traders.dm
@@ -31,7 +31,7 @@
spawnpoints = list("moghes_diona_trader")
extra_languages = list(LANGUAGE_UNATHI)
- outfit = /obj/outfit/admin/moghes_diona_trader
+ outfit = /datum/outfit/admin/moghes_diona_trader
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -40,7 +40,7 @@
special_role = "Independent Merchant"
respawn_flag = null
-/obj/outfit/admin/moghes_diona_trader
+/datum/outfit/admin/moghes_diona_trader
name = "Unathi Diona Trader"
uniform = /obj/item/clothing/under/unathi/mogazali
suit = /obj/item/clothing/suit/unathi/robe/robe_coat/orange
@@ -60,7 +60,7 @@
tags = list("External")
spawnpoints = list("moghes_diona")
extra_languages = list(LANGUAGE_UNATHI)
- outfit = /obj/outfit/admin/moghes_diona
+ outfit = /datum/outfit/admin/moghes_diona
possible_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -70,7 +70,7 @@
special_role = "Diona Servant"
respawn_flag = null
-/obj/outfit/admin/moghes_diona
+/datum/outfit/admin/moghes_diona
name = "Diona Servant"
uniform = /obj/item/clothing/under/gearharness
belt = /obj/item/device/flashlight/lantern
@@ -83,14 +83,14 @@
short_name = "moghes_diona_assistant"
desc = "Assist the Unathi merchant who grew you in their work - or try and free your fellow gestalts."
spawnpoints = list("moghes_diona_assistant")
- outfit = /obj/outfit/admin/moghes_diona/assistant
+ outfit = /datum/outfit/admin/moghes_diona/assistant
uses_species_whitelist = TRUE
max_count = 1
assigned_role = "Merchant's Assistant"
special_role = "Merchant's Assistant"
respawn_flag = null
-/obj/outfit/admin/moghes_diona/assistant
+/datum/outfit/admin/moghes_diona/assistant
name = "Diona Assistant"
uniform = /obj/item/clothing/under/unathi/himation
suit = /obj/item/clothing/accessory/poncho/unathimantle/mountain
@@ -100,7 +100,7 @@
)
r_pocket = /obj/item/storage/wallet
-/obj/outfit/admin/moghes_diona/assistant/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_diona/assistant/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_gawgaryn_bikers.dm b/maps/random_ruins/exoplanets/moghes/moghes_gawgaryn_bikers.dm
index b40a369f5d2..8ee7386525a 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_gawgaryn_bikers.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_gawgaryn_bikers.dm
@@ -35,7 +35,7 @@
spawnpoints = list("moghes_gawgaryn_biker")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_gawgaryn
+ outfit = /datum/outfit/admin/moghes_gawgaryn
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -57,7 +57,7 @@
spawnpoints = list("moghes_gawgaryn_biker_boss")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_gawgaryn/leader
+ outfit = /datum/outfit/admin/moghes_gawgaryn/leader
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -66,7 +66,7 @@
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/moghes_gawgaryn
+/datum/outfit/admin/moghes_gawgaryn
name = "Gawgaryn Raider"
uniform = /obj/item/clothing/under/unathi
@@ -79,7 +79,7 @@
id = null
l_ear = null
-/obj/outfit/admin/moghes_gawgaryn/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_gawgaryn/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
@@ -87,7 +87,7 @@
if(H.wear_suit)
H.wear_suit.color = pick("#42330f", "#DBC684")
-/obj/outfit/admin/moghes_gawgaryn/leader
+/datum/outfit/admin/moghes_gawgaryn/leader
name = "Gawgaryn Raid Leader"
uniform = /obj/item/clothing/under/unathi/zazali
@@ -99,7 +99,7 @@
suit_accessory = /obj/item/clothing/accessory/poncho
belt = /obj/item/material/knife/tacknife
-/obj/outfit/admin/moghes_gawgaryn/leader/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_gawgaryn/leader/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_gawgaryn_riders.dm b/maps/random_ruins/exoplanets/moghes/moghes_gawgaryn_riders.dm
index d24d7a08581..b8d60339d9e 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_gawgaryn_riders.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_gawgaryn_riders.dm
@@ -25,7 +25,7 @@
spawnpoints = list("moghes_gawgaryn_rider")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_gawgaryn
+ outfit = /datum/outfit/admin/moghes_gawgaryn
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -47,7 +47,7 @@
spawnpoints = list("moghes_gawgaryn_rider_boss")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_gawgaryn/leader
+ outfit = /datum/outfit/admin/moghes_gawgaryn/leader
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_guild_mining.dm b/maps/random_ruins/exoplanets/moghes/moghes_guild_mining.dm
index 8da49fd7742..59c3e77769c 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_guild_mining.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_guild_mining.dm
@@ -30,7 +30,7 @@
spawnpoints = list("moghes_guild_miner")
max_count = 3
- outfit = /obj/outfit/admin/miners_guild
+ outfit = /datum/outfit/admin/miners_guild
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_guwandi.dm b/maps/random_ruins/exoplanets/moghes/moghes_guwandi.dm
index a86912b749d..456c1ab9c04 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_guwandi.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_guwandi.dm
@@ -24,7 +24,7 @@
max_count = 1
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_guwandi
+ outfit = /datum/outfit/admin/moghes_guwandi
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -33,7 +33,7 @@
respawn_flag = null
uses_species_whitelist = TRUE
-/obj/outfit/admin/moghes_guwandi
+/datum/outfit/admin/moghes_guwandi
name = "Guwandi Warrior"
uniform = /obj/item/clothing/under/unathi/zazali
@@ -46,7 +46,7 @@
glasses = /obj/item/clothing/glasses/safety/goggles/wasteland
l_hand = /obj/item/martial_manual/swordsmanship
-/obj/outfit/admin/moghes_guwandi/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_guwandi/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.w_uniform)
H.w_uniform.color = "#181a19"
if(H?.wear_suit)
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_hegemony_base.dm b/maps/random_ruins/exoplanets/moghes/moghes_hegemony_base.dm
index 46c4e6aa34d..64910f90dc4 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_hegemony_base.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_hegemony_base.dm
@@ -38,7 +38,7 @@
possible_species = list(SPECIES_UNATHI)
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/izweski
+ outfit = /datum/outfit/admin/izweski
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Izweski Hegemony Soldier"
special_role = "Izweski Hegemony Soldier"
@@ -53,4 +53,4 @@
assigned_role = "Izweski Hegemony Commander"
special_role = "Izweski Hegemony Commander"
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/izweski/captain
+ outfit = /datum/outfit/admin/izweski/captain
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_heph_mining.dm b/maps/random_ruins/exoplanets/moghes/moghes_heph_mining.dm
index 8cb014e35ba..ddf260706d0 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_heph_mining.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_heph_mining.dm
@@ -33,7 +33,7 @@
max_count = 3
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_heph_miner
+ outfit = /datum/outfit/admin/moghes_heph_miner
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -45,10 +45,10 @@
extra_languages = list(LANGUAGE_VAURCA)
possible_species = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_BULWARK)
- outfit = /obj/outfit/admin/moghes_heph_miner/klax
+ outfit = /datum/outfit/admin/moghes_heph_miner/klax
uses_species_whitelist = TRUE
-/obj/outfit/admin/moghes_heph_miner
+/datum/outfit/admin/moghes_heph_miner
name = "Moghes Hephaestus Miner"
uniform = /obj/item/clothing/under/rank/miner/heph
@@ -61,16 +61,16 @@
backpack_contents = list(/obj/item/storage/wallet/random = 1)
-/obj/outfit/admin/moghes_heph_miner/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_heph_miner/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.wear_suit)
H.wear_suit.color = "#2a2b2e"
-/obj/outfit/admin/moghes_heph_miner/get_id_access()
+/datum/outfit/admin/moghes_heph_miner/get_id_access()
return list(ACCESS_EXTERNAL_AIRLOCKS, ACCESS_HEPHAESTUS)
-/obj/outfit/admin/moghes_heph_miner/klax
+/datum/outfit/admin/moghes_heph_miner/klax
name = "Moghes Hephaestus Miner - K'lax"
shoes = /obj/item/clothing/shoes/vaurca
@@ -79,7 +79,7 @@
back = /obj/item/storage/backpack/cloak/cargo
backpack_contents = list(/obj/item/storage/wallet/random = 1, /obj/item/reagent_containers/food/snacks/koisbar_clean = 3)
-/obj/outfit/admin/moghes_heph_miner/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_heph_miner/klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_kataphract_wasteland.dm b/maps/random_ruins/exoplanets/moghes/moghes_kataphract_wasteland.dm
index 36d3b319ebb..2fcaf2abe6b 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_kataphract_wasteland.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_kataphract_wasteland.dm
@@ -39,7 +39,7 @@
mob_name_prefix = "Zosaa "
mob_name_pick_message = "Pick an Unathi last name."
- outfit = /obj/outfit/admin/kataphract/wasteland
+ outfit = /datum/outfit/admin/kataphract/wasteland
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -58,7 +58,7 @@
mob_name_pick_message = "Pick an Unathi last name."
welcome_message = "You are a warrior of the Kataphract Guild, assigned to train and protect a group of Hopefuls in the harshness of the Wasteland. Seek to test them on their prowess and honor, and instruct them on the meaning of being a Kataphract. Try not to get them killed, though."
- outfit = /obj/outfit/admin/kataphract/knight/wasteland
+ outfit = /datum/outfit/admin/kataphract/knight/wasteland
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -67,10 +67,10 @@
respawn_flag = null
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
-/obj/outfit/admin/kataphract/wasteland
+/datum/outfit/admin/kataphract/wasteland
glasses = /obj/item/clothing/glasses/safety/goggles/tactical/generic
l_ear = null
-/obj/outfit/admin/kataphract/knight/wasteland
+/datum/outfit/admin/kataphract/knight/wasteland
glasses = /obj/item/clothing/glasses/safety/goggles/tactical/generic
l_ear = null
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_kung_fu.dm b/maps/random_ruins/exoplanets/moghes/moghes_kung_fu.dm
index 9969ee0d4a4..f4955d980d8 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_kung_fu.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_kung_fu.dm
@@ -23,7 +23,7 @@
max_count = 1
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_kung_fu
+ outfit = /datum/outfit/admin/moghes_kung_fu
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -32,7 +32,7 @@
respawn_flag = null
uses_species_whitelist = TRUE
-/obj/outfit/admin/moghes_kung_fu
+/datum/outfit/admin/moghes_kung_fu
name = "Kis-Khan Master"
uniform = /obj/item/clothing/under/unathi/zazali
@@ -42,7 +42,7 @@
id = null
r_hand = /obj/item/martial_manual/unathi
-/obj/outfit/admin/moghes_kung_fu/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_kung_fu/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_siakh.dm b/maps/random_ruins/exoplanets/moghes/moghes_siakh.dm
index 9992a4af28c..54ee2346587 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_siakh.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_siakh.dm
@@ -22,7 +22,7 @@
spawnpoints = list("moghes_siakh")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_siakh
+ outfit = /datum/outfit/admin/moghes_siakh
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -46,7 +46,7 @@
special_role = "Knight of the Flame"
respawn_flag = null
-/obj/outfit/admin/moghes_siakh
+/datum/outfit/admin/moghes_siakh
name = "Si'akh Knight"
uniform = list(/obj/item/clothing/under/unathi, /obj/item/clothing/under/unathi/zazali)
suit = /obj/item/clothing/accessory/poncho/unathimantle
@@ -65,7 +65,7 @@
id = null
l_ear = null
-/obj/outfit/admin/moghes_siakh/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_siakh/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_skakh.dm b/maps/random_ruins/exoplanets/moghes/moghes_skakh.dm
index ee45e51a13d..9224ff8eb85 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_skakh.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_skakh.dm
@@ -33,7 +33,7 @@
spawnpoints = list("moghes_skakh")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_skakh
+ outfit = /datum/outfit/admin/moghes_skakh
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -50,7 +50,7 @@
max_count = 1
spawnpoints = list("moghes_skakh_priest")
- outfit = /obj/outfit/admin/moghes_skakh
+ outfit = /datum/outfit/admin/moghes_skakh
uses_species_whitelist = TRUE
assigned_role = "Sk'akh Priest"
@@ -67,14 +67,14 @@
max_count = 3
possible_species = list(SPECIES_UNATHI)
spawnpoints = list("moghes_skakh_faithful")
- outfit = /obj/outfit/admin/moghes_bar_patron
+ outfit = /datum/outfit/admin/moghes_bar_patron
uses_species_whitelist = FALSE
assigned_role = "Sk'akh Faithful"
special_role = "Sk'akh Faithful"
respawn_flag = null
-/obj/outfit/admin/moghes_skakh
+/datum/outfit/admin/moghes_skakh
name = "Sk'akh Acolyte"
uniform = /obj/item/clothing/under/unathi/skakh
shoes = /obj/item/clothing/shoes/sandal
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_thakh.dm b/maps/random_ruins/exoplanets/moghes/moghes_thakh.dm
index 2a32bb3818f..20cbc87539b 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_thakh.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_thakh.dm
@@ -33,7 +33,7 @@
spawnpoints = list("moghes_thakh")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_thakh
+ outfit = /datum/outfit/admin/moghes_thakh
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -50,7 +50,7 @@
max_count = 1
spawnpoints = list("moghes_thakh_shaman")
- outfit = /obj/outfit/admin/moghes_thakh/shaman
+ outfit = /datum/outfit/admin/moghes_thakh/shaman
uses_species_whitelist = TRUE
assigned_role = "Th'akh Shaman"
@@ -66,14 +66,14 @@
max_count = 3
spawnpoints = list("moghes_thakh_faithful")
- outfit = /obj/outfit/admin/unathi_village
+ outfit = /datum/outfit/admin/unathi_village
uses_species_whitelist = FALSE
assigned_role = "Th'akh Pilgrim"
special_role = "Th'akh Pilgrim"
respawn_flag = null
-/obj/outfit/admin/moghes_thakh
+/datum/outfit/admin/moghes_thakh
uniform = list(/obj/item/clothing/under/unathi, /obj/item/clothing/under/unathi/himation)
shoes = list(
/obj/item/clothing/shoes/sandals,
@@ -89,7 +89,7 @@
l_ear = null
id = null
-/obj/outfit/admin/moghes_thakh/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_thakh/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.wear_suit)
@@ -97,7 +97,7 @@
if(H.shoes)
H.shoes.color = "#423509"
-/obj/outfit/admin/moghes_thakh/shaman
+/datum/outfit/admin/moghes_thakh/shaman
uniform = /obj/item/clothing/under/unathi/himation
suit = /obj/item/clothing/accessory/poncho/maxtlatl
head = /obj/item/clothing/head/unathi/maxtlatl
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_untouched_village.dm b/maps/random_ruins/exoplanets/moghes/moghes_untouched_village.dm
index 87c2ec43c7a..d834431d31e 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_untouched_village.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_untouched_village.dm
@@ -46,7 +46,7 @@
max_count = 4
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/unathi_village
+ outfit = /datum/outfit/admin/unathi_village
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -56,7 +56,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/unathi_village
+/datum/outfit/admin/unathi_village
name = "Unathi Villager"
uniform = list(
@@ -77,7 +77,7 @@
id = null
backpack_contents = list(/obj/item/storage/wallet/random = 1)
-/obj/outfit/admin/unathi_village/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/unathi_village/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.shoes)
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_dorviza.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_dorviza.dm
index e85cc08d105..a913543aa3e 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_dorviza.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_dorviza.dm
@@ -40,7 +40,7 @@
spawnpoints = list("moghes_dorviza")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_dorviza
+ outfit = /datum/outfit/admin/moghes_dorviza
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -60,12 +60,12 @@
spawnpoints = list("moghes_dorviza_diona")
extra_languages = list(LANGUAGE_ROOTSONG)
- outfit = /obj/outfit/admin/moghes_dorviza/diona
+ outfit = /datum/outfit/admin/moghes_dorviza/diona
possible_species = list(SPECIES_DIONA, SPECIES_DIONA_COEUS)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = TRUE
-/obj/outfit/admin/moghes_dorviza
+/datum/outfit/admin/moghes_dorviza
uniform = list(/obj/item/clothing/under/unathi, /obj/item/clothing/under/unathi/himation)
suit = list(/obj/item/clothing/suit/unathi/robe, /obj/item/clothing/suit/unathi/robe/kilt)
glasses = /obj/item/clothing/glasses/safety/goggles/wasteland
@@ -74,7 +74,7 @@
id = null
back = /obj/item/storage/backpack/satchel/leather
-/obj/outfit/admin/moghes_dorviza/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_dorviza/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H?.w_uniform)
@@ -82,7 +82,7 @@
if(H?.wear_suit)
H.wear_suit.color = pick("#42330f", "#DBC684")
-/obj/outfit/admin/moghes_dorviza/diona
+/datum/outfit/admin/moghes_dorviza/diona
uniform = /obj/item/clothing/under/gearharness
suit = /obj/item/clothing/accessory/poncho/green
shoes = null
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_izwesk.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_izwesk.dm
index 01cf4a957fd..064bd4c38db 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_izwesk.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_izwesk.dm
@@ -38,7 +38,7 @@
possible_species = list(SPECIES_UNATHI)
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/izweski
+ outfit = /datum/outfit/admin/izweski
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Izweski Hegemony Soldier"
special_role = "Izweski Hegemony Soldier"
@@ -53,4 +53,4 @@
assigned_role = "Izweski Hegemony Commander"
special_role = "Izweski Hegemony Commander"
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/izweski/captain
+ outfit = /datum/outfit/admin/izweski/captain
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_klax.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_klax.dm
index fc0c32e0313..cb1213fce72 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_klax.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_klax.dm
@@ -34,7 +34,7 @@
uses_species_whitelist = FALSE
spawnpoints = list("moghes_wasteland_klax")
- outfit = /obj/outfit/admin/moghes_wasteland_klax
+ outfit = /datum/outfit/admin/moghes_wasteland_klax
possible_species = list(SPECIES_VAURCA_WORKER)
extra_languages = list(LANGUAGE_VAURCA)
mob_name_pick_message = "Pick a Vaurca Worker name."
@@ -49,7 +49,7 @@
desc = "Defend the K'lax terraforming outpost in the Wasteland"
welcome_message = "You are a Warrior of the Hive K'lax, assigned to guard the Workers of the science team as they study the Wasteland."
- outfit = /obj/outfit/admin/moghes_wasteland_klax/warrior
+ outfit = /datum/outfit/admin/moghes_wasteland_klax/warrior
max_count = 2
uses_species_whitelist = TRUE
possible_species = list(SPECIES_VAURCA_WARRIOR)
@@ -59,7 +59,7 @@
special_role = "K'laxan Warrior"
respawn_flag = null
-/obj/outfit/admin/moghes_wasteland_klax
+/datum/outfit/admin/moghes_wasteland_klax
name = "K'laxan Outpost"
uniform = /obj/item/clothing/under/vaurca
@@ -69,13 +69,13 @@
l_ear = null
id = /obj/item/card/id
-/obj/outfit/admin/moghes_wasteland_klax/warrior
+/datum/outfit/admin/moghes_wasteland_klax/warrior
name = "K'laxan Outpost Warrior"
back = /obj/item/storage/backpack/cloak/sec
belt = /obj/item/melee/energy/vaurca
l_hand = /obj/item/martial_manual/vaurca
-/obj/outfit/admin/moghes_wasteland_klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_wasteland_klax/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_mikuetz.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_mikuetz.dm
index f09b5c2acd8..81484407698 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_mikuetz.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_mikuetz.dm
@@ -33,7 +33,7 @@
uses_species_whitelist = TRUE
extra_languages = list(LANGUAGE_VAURCA)
- outfit = /obj/outfit/admin/moghes_mikuetz
+ outfit = /datum/outfit/admin/moghes_mikuetz
possible_species = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -41,7 +41,7 @@
special_role = "Mi'kuetz Wanderer"
respawn_flag = null
-/obj/outfit/admin/moghes_mikuetz
+/datum/outfit/admin/moghes_mikuetz
uniform = list(/obj/item/clothing/under/unathi, /obj/item/clothing/under/vaurca)
suit = /obj/item/clothing/suit/vaurca/brown
shoes = /obj/item/clothing/shoes/vaurca
@@ -52,7 +52,7 @@
l_pocket = /obj/item/reagent_containers/food/snacks/koisbar_clean
mask = /obj/item/clothing/mask/gas/vaurca/filter
-/obj/outfit/admin/moghes_mikuetz/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_mikuetz/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_ozeuoi.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_ozeuoi.dm
index 8bfc0c4ebc4..7ac62aee546 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_ozeuoi.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_ozeuoi.dm
@@ -34,7 +34,7 @@
spawnpoints = list("moghes_ozeuoi")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_ozeuoi
+ outfit = /datum/outfit/admin/moghes_ozeuoi
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -55,7 +55,7 @@
special_role = "Ozeuoi Outpost Leader"
uses_species_whitelist = TRUE
-/obj/outfit/admin/moghes_ozeuoi
+/datum/outfit/admin/moghes_ozeuoi
uniform = /obj/item/clothing/under/color/lightbrown
accessory = /obj/item/clothing/accessory/storage/brown_vest
shoes = /obj/item/clothing/shoes/sandals/caligae
@@ -64,5 +64,5 @@
id = /obj/item/card/id
glasses = /obj/item/clothing/glasses/safety/goggles/wasteland
-/obj/outfit/admin/moghes_ozeuoi/get_id_access()
+/datum/outfit/admin/moghes_ozeuoi/get_id_access()
return list(ACCESS_OZEUOI)
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_priests.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_priests.dm
index 293eea947ab..53b6fcc5bb4 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_priests.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_priests.dm
@@ -31,7 +31,7 @@
spawnpoints = list("moghes_wasteland_priest")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_wasteland_guard
+ outfit = /datum/outfit/admin/moghes_wasteland_guard
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -53,7 +53,7 @@
special_role = "Guard"
respawn_flag = null
-/obj/outfit/admin/moghes_wasteland_priest
+/datum/outfit/admin/moghes_wasteland_priest
name = "Sk'akh Priestess of the Healer"
uniform = /obj/item/clothing/under/unathi/skakh/healer
shoes = /obj/item/clothing/shoes/sandals/caligae/socks
@@ -66,7 +66,7 @@
glasses = /obj/item/clothing/glasses/safety/goggles/wasteland
l_ear = null
-/obj/outfit/admin/moghes_wasteland_guard
+/datum/outfit/admin/moghes_wasteland_guard
uniform = list(
/obj/item/clothing/under/unathi,
/obj/item/clothing/under/unathi/himation,
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_queendom.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_queendom.dm
index cf6fb7090e8..a5e207ad877 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_queendom.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_queendom.dm
@@ -32,7 +32,7 @@
spawnpoints = list("moghes_queendom")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_queendom
+ outfit = /datum/outfit/admin/moghes_queendom
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -46,10 +46,10 @@
short_name = "moghes_queendom_lead"
desc = "Lead your warriors through the Wasteland to recover supplies and eliminate threats, in the name of the Queen Szek'Hakh"
max_count = 1
- outfit = /obj/outfit/admin/moghes_queendom/lead
+ outfit = /datum/outfit/admin/moghes_queendom/lead
uses_species_whitelist = TRUE
-/obj/outfit/admin/moghes_queendom
+/datum/outfit/admin/moghes_queendom
name = "Szek'Hakh Queendom Warrior"
uniform = list(
@@ -72,6 +72,6 @@
l_ear = null
id = null
-/obj/outfit/admin/moghes_queendom/lead
+/datum/outfit/admin/moghes_queendom/lead
name = "Szek'Hakh Queendom Leader"
belt = /obj/item/melee/energy/sword/hegemony
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_reclaimer.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_reclaimer.dm
index 6ea8d04eca5..dbecc408fcf 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_reclaimer.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_reclaimer.dm
@@ -31,7 +31,7 @@
spawnpoints = list("moghes_reclaimer")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_reclaimer
+ outfit = /datum/outfit/admin/moghes_reclaimer
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -40,7 +40,7 @@
special_role = "Reclaimer Salvager"
respawn_flag = null
-/obj/outfit/admin/moghes_reclaimer
+/datum/outfit/admin/moghes_reclaimer
name = "Reclaimer Salvager"
uniform = /obj/item/clothing/under/unathi
diff --git a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_vihnmes.dm b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_vihnmes.dm
index 0c22079e16b..3b1990d3099 100644
--- a/maps/random_ruins/exoplanets/moghes/moghes_wasteland_vihnmes.dm
+++ b/maps/random_ruins/exoplanets/moghes/moghes_wasteland_vihnmes.dm
@@ -36,7 +36,7 @@
spawnpoints = list("moghes_vihnmes")
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_vihnmes
+ outfit = /datum/outfit/admin/moghes_vihnmes
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -56,14 +56,14 @@
spawnpoints = list("moghes_vihnmes_patron")
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/moghes_vihnmes_patron
+ outfit = /datum/outfit/admin/moghes_vihnmes_patron
assigned_role = "Vihnmes Patron"
special_role = "Vihnmes Patron"
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/moghes_vihnmes
+/datum/outfit/admin/moghes_vihnmes
name = "Vihnmes Clan Member"
uniform = /obj/item/clothing/under/unathi
shoes = /obj/item/clothing/shoes/sandals/caligae
@@ -76,7 +76,7 @@
l_ear = null
id = null
-/obj/outfit/admin/vihnmes/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/vihnmes/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H.w_uniform)
@@ -86,7 +86,7 @@
if(H.shoes)
H.shoes.color = "#423509"
-/obj/outfit/admin/moghes_vihnmes_patron
+/datum/outfit/admin/moghes_vihnmes_patron
name = "Moghes Bar Patron"
uniform = list(
/obj/item/clothing/under/unathi,
@@ -109,7 +109,7 @@
l_ear = null
id = null
-/obj/outfit/admin/moghes_vihnmes_patron/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/moghes_vihnmes_patron/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(!H)
return
if(H?.w_uniform)
diff --git a/maps/random_ruins/exoplanets/ouerea/ouerea_autakh.dm b/maps/random_ruins/exoplanets/ouerea/ouerea_autakh.dm
index 87d39cc6618..b5aae727aaf 100644
--- a/maps/random_ruins/exoplanets/ouerea/ouerea_autakh.dm
+++ b/maps/random_ruins/exoplanets/ouerea/ouerea_autakh.dm
@@ -31,7 +31,7 @@
spawnpoints = list("ouerea_autakh")
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/autakh
+ outfit = /datum/outfit/admin/autakh
assigned_role = "Aut'akh Commune Resident"
special_role = "Aut'akh Commune Resident"
@@ -44,12 +44,12 @@
desc = "Lead your commune to prosper in secret, as a teacher of the Aut'akh faith."
welcome_message = "You are a shaman of the Aut'akh faith, trained in both theology and cybernetic surgery. Help lead your commune members to a greater understanding, protect them from religious persecution, and spread the beliefs of the Aut'akh."
max_count = 1
- outfit = /obj/outfit/admin/autakh/shaman
+ outfit = /datum/outfit/admin/autakh/shaman
assigned_role = "Aut'akh Shaman"
special_role = "Aut'akh Shaman"
uses_species_whitelist = TRUE
-/obj/outfit/admin/autakh
+/datum/outfit/admin/autakh
name = "Aut'akh"
uniform = list(/obj/item/clothing/under/unathi, /obj/item/clothing/under/unathi/himation, /obj/item/clothing/under/unathi/zozo)
@@ -57,20 +57,20 @@
l_ear = null
id = /obj/item/card/id
-/obj/outfit/admin/autakh/get_id_access()
+/datum/outfit/admin/autakh/get_id_access()
return list(ACCESS_AUTAKH)
-/obj/outfit/admin/autakh/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/autakh/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
var/obj/item/organ/A = new /obj/item/organ/internal/anchor(H)
var/obj/item/organ/external/affected = H.get_organ(A.parent_organ)
A.replaced(H, affected)
H.update_body()
-/obj/outfit/admin/autakh/shaman
+/datum/outfit/admin/autakh/shaman
suit = /obj/item/clothing/suit/unathi/wrapping
mask = /obj/item/clothing/mask/gas/unathi
-/obj/outfit/admin/autakh/shaman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/autakh/shaman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
var/obj/item/organ/A = new /obj/item/organ/internal/anchor(H)
var/obj/item/organ/external/affected = H.get_organ(A.parent_organ)
A.replaced(H, affected)
diff --git a/maps/random_ruins/exoplanets/ouerea/ouerea_bar.dm b/maps/random_ruins/exoplanets/ouerea/ouerea_bar.dm
index 13108b512ca..cf1cb699880 100644
--- a/maps/random_ruins/exoplanets/ouerea/ouerea_bar.dm
+++ b/maps/random_ruins/exoplanets/ouerea/ouerea_bar.dm
@@ -32,7 +32,7 @@
spawnpoints = list("ouerea_bar_innkeeper")
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/moghes_bar_innkeeper
+ outfit = /datum/outfit/admin/moghes_bar_innkeeper
assigned_role = "Ouerean Innkeeper"
special_role = "Ouerean Innkeeper"
@@ -51,7 +51,7 @@
max_count = 2
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/moghes_bar_server
+ outfit = /datum/outfit/admin/moghes_bar_server
assigned_role = "Ouerean Inn Staff"
special_role = "Ouerean Inn Staff"
@@ -70,12 +70,12 @@
spawnpoints = list("ouerea_bar_patron")
possible_species = list(SPECIES_UNATHI, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_HUMAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/moghes_bar_patron
+ outfit = /datum/outfit/admin/moghes_bar_patron
species_outfits = list(
- SPECIES_UNATHI = /obj/outfit/admin/moghes_bar_patron,
- SPECIES_SKRELL = /obj/outfit/admin/ouerea_skrell,
- SPECIES_SKRELL_AXIORI = /obj/outfit/admin/ouerea_skrell,
- SPECIES_HUMAN = /obj/outfit/admin/ouerea_human
+ SPECIES_UNATHI = /datum/outfit/admin/moghes_bar_patron,
+ SPECIES_SKRELL = /datum/outfit/admin/ouerea_skrell,
+ SPECIES_SKRELL_AXIORI = /datum/outfit/admin/ouerea_skrell,
+ SPECIES_HUMAN = /datum/outfit/admin/ouerea_human
)
assigned_role = "Ouerean Inn Patron"
@@ -83,7 +83,7 @@
respawn_flag = null
uses_species_whitelist = FALSE
-/obj/outfit/admin/ouerea_human
+/datum/outfit/admin/ouerea_human
name = "Ouerean Human"
uniform = list(/obj/item/clothing/under/pants/tan, /obj/item/clothing/under/pants/jeans, /obj/item/clothing/under/shorts/black, /obj/item/clothing/under/shorts/jeans, /obj/item/clothing/under/tactical,
/obj/item/clothing/under/unathi)
@@ -96,7 +96,7 @@
l_ear = null
id = null
-/obj/outfit/admin/ouerea_skrell
+/datum/outfit/admin/ouerea_skrell
name = "Ouerean Skrell"
uniform = list(/obj/item/clothing/under/skrell/wetsuit, /obj/item/clothing/under/unathi, /obj/item/clothing/under/unathi/himation)
accessory = list(/obj/item/clothing/accessory/tshirt/skrell/maelstrom, /obj/item/clothing/accessory/tshirt/skrell/nebula, /obj/item/clothing/accessory/tshirt/skrell/reef)
diff --git a/maps/random_ruins/exoplanets/ouerea/ouerea_farm.dm b/maps/random_ruins/exoplanets/ouerea/ouerea_farm.dm
index e17c5202a09..7400519f628 100644
--- a/maps/random_ruins/exoplanets/ouerea/ouerea_farm.dm
+++ b/maps/random_ruins/exoplanets/ouerea/ouerea_farm.dm
@@ -30,7 +30,7 @@
max_count = 4
spawnpoints = list("ouerea_fisher")
extra_languages = list(LANGUAGE_UNATHI)
- outfit = /obj/outfit/admin/unathi_fisher
+ outfit = /datum/outfit/admin/unathi_fisher
possible_species = list(SPECIES_UNATHI, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_VAURCA_WORKER)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -40,7 +40,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/unathi_fisher
+/datum/outfit/admin/unathi_fisher
uniform = list(
/obj/item/clothing/under/unathi,
/obj/item/clothing/under/unathi/huytai,
@@ -61,7 +61,7 @@
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/vaurca
)
-/obj/outfit/admin/unathi_fisher/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/unathi_fisher/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
var/uniform_color = "[pick("#c4ae04", "#695948", "#dbd9d7")]"
if(H?.w_uniform)
H.w_uniform.color = uniform_color
diff --git a/maps/random_ruins/exoplanets/ouerea/ouerea_freewater.dm b/maps/random_ruins/exoplanets/ouerea/ouerea_freewater.dm
index cc7506492d1..87241bd663f 100644
--- a/maps/random_ruins/exoplanets/ouerea/ouerea_freewater.dm
+++ b/maps/random_ruins/exoplanets/ouerea/ouerea_freewater.dm
@@ -32,7 +32,7 @@
spawnpoints = list("ouerea_freewater")
possible_species = list(SPECIES_UNATHI, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_VAURCA_WARRIOR)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
- outfit = /obj/outfit/admin/freewater
+ outfit = /datum/outfit/admin/freewater
assigned_role = "Dagamuir Freewater Contractor"
special_role = "Dagamuir Freewater Contractor"
@@ -51,7 +51,7 @@
special_role = "Dagamuir Freewater Commander"
uses_species_whitelist = TRUE
-/obj/outfit/admin/freewater
+/datum/outfit/admin/freewater
name = "Dagamuir Freewater Contractor"
uniform = /obj/item/clothing/under/rank/security/pmc/dagamuir_freewater
shoes = /obj/item/clothing/shoes/sandals/caligae
@@ -63,7 +63,7 @@
SPECIES_VAURCA_WARRIOR = /obj/item/clothing/shoes/vaurca
)
-/obj/outfit/admin/freewater/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/freewater/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
diff --git a/maps/random_ruins/exoplanets/ouerea/ouerea_guild_mining.dm b/maps/random_ruins/exoplanets/ouerea/ouerea_guild_mining.dm
index 2022d0dd6f7..0c4c03c9f1f 100644
--- a/maps/random_ruins/exoplanets/ouerea/ouerea_guild_mining.dm
+++ b/maps/random_ruins/exoplanets/ouerea/ouerea_guild_mining.dm
@@ -31,7 +31,7 @@
spawnpoints = list("ouerea_guild_miner")
max_count = 3
- outfit = /obj/outfit/admin/miners_guild
+ outfit = /datum/outfit/admin/miners_guild
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/maps/random_ruins/exoplanets/ouerea/ouerea_hegemony_base.dm b/maps/random_ruins/exoplanets/ouerea/ouerea_hegemony_base.dm
index c5e70d37257..aedff322bf1 100644
--- a/maps/random_ruins/exoplanets/ouerea/ouerea_hegemony_base.dm
+++ b/maps/random_ruins/exoplanets/ouerea/ouerea_hegemony_base.dm
@@ -39,7 +39,7 @@
possible_species = list(SPECIES_UNATHI)
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/izweski
+ outfit = /datum/outfit/admin/izweski
allow_appearance_change = APPEARANCE_PLASTICSURGERY
assigned_role = "Izweski Hegemony Soldier"
special_role = "Izweski Hegemony Soldier"
@@ -54,4 +54,4 @@
assigned_role = "Izweski Hegemony Commander"
special_role = "Izweski Hegemony Commander"
uses_species_whitelist = TRUE
- outfit = /obj/outfit/admin/izweski/captain
+ outfit = /datum/outfit/admin/izweski/captain
diff --git a/maps/random_ruins/exoplanets/ouerea/ouerea_heph_mining.dm b/maps/random_ruins/exoplanets/ouerea/ouerea_heph_mining.dm
index 1dd28b90298..84a5283ced4 100644
--- a/maps/random_ruins/exoplanets/ouerea/ouerea_heph_mining.dm
+++ b/maps/random_ruins/exoplanets/ouerea/ouerea_heph_mining.dm
@@ -32,15 +32,15 @@
max_count = 5
extra_languages = list(LANGUAGE_UNATHI)
- outfit = /obj/outfit/admin/moghes_heph_miner
+ outfit = /datum/outfit/admin/moghes_heph_miner
possible_species = list(SPECIES_UNATHI, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
species_outfits = list(
- SPECIES_HUMAN = /obj/outfit/admin/cyclops_crew,
- SPECIES_SKRELL = /obj/outfit/admin/cyclops_crew,
- SPECIES_SKRELL_AXIORI = /obj/outfit/admin/cyclops_crew,
- SPECIES_UNATHI = /obj/outfit/admin/moghes_heph_miner
+ SPECIES_HUMAN = /datum/outfit/admin/cyclops_crew,
+ SPECIES_SKRELL = /datum/outfit/admin/cyclops_crew,
+ SPECIES_SKRELL_AXIORI = /datum/outfit/admin/cyclops_crew,
+ SPECIES_UNATHI = /datum/outfit/admin/moghes_heph_miner
)
/datum/ghostspawner/human/ouerea_heph_miner/klax
@@ -50,5 +50,5 @@
extra_languages = list(LANGUAGE_VAURCA)
possible_species = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_BULWARK)
- outfit = /obj/outfit/admin/moghes_heph_miner/klax
+ outfit = /datum/outfit/admin/moghes_heph_miner/klax
uses_species_whitelist = TRUE
diff --git a/maps/random_ruins/exoplanets/ouerea/ouerea_village.dm b/maps/random_ruins/exoplanets/ouerea/ouerea_village.dm
index 45141a68700..78c2bedb785 100644
--- a/maps/random_ruins/exoplanets/ouerea/ouerea_village.dm
+++ b/maps/random_ruins/exoplanets/ouerea/ouerea_village.dm
@@ -32,14 +32,14 @@
max_count = 5
extra_languages = list(LANGUAGE_UNATHI)
- outfit = /obj/outfit/admin/unathi_village
+ outfit = /datum/outfit/admin/unathi_village
possible_species = list(SPECIES_UNATHI, SPECIES_HUMAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
species_outfits = list(
- SPECIES_UNATHI = /obj/outfit/admin/unathi_village,
- SPECIES_HUMAN = /obj/outfit/admin/ouerea_human,
- SPECIES_SKRELL = /obj/outfit/admin/ouerea_skrell,
- SPECIES_SKRELL_AXIORI = /obj/outfit/admin/ouerea_skrell
+ SPECIES_UNATHI = /datum/outfit/admin/unathi_village,
+ SPECIES_HUMAN = /datum/outfit/admin/ouerea_human,
+ SPECIES_SKRELL = /datum/outfit/admin/ouerea_skrell,
+ SPECIES_SKRELL_AXIORI = /datum/outfit/admin/ouerea_skrell
)
assigned_role = "Ouerean Villager"
diff --git a/maps/random_ruins/exoplanets/raskara/raskara_okon.dm b/maps/random_ruins/exoplanets/raskara/raskara_okon.dm
index 341627fcbbe..6f06796b048 100644
--- a/maps/random_ruins/exoplanets/raskara/raskara_okon.dm
+++ b/maps/random_ruins/exoplanets/raskara/raskara_okon.dm
@@ -68,7 +68,7 @@
spawnpoints = list("okon_crew")
max_count = 5
- outfit = /obj/outfit/admin/okon_crew
+ outfit = /datum/outfit/admin/okon_crew
possible_species = list(SPECIES_TAJARA,SPECIES_TAJARA_MSAI,SPECIES_TAJARA_ZHAN)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
@@ -78,7 +78,7 @@
uses_species_whitelist = FALSE
-/obj/outfit/admin/okon_crew
+/datum/outfit/admin/okon_crew
name = "Okon Crewmember"
id = /obj/item/card/id
@@ -91,5 +91,5 @@
accessory = /obj/item/clothing/accessory/badge/hadii_card
r_pocket = /obj/item/storage/wallet/random
-/obj/outfit/admin/okon_crew/get_id_access()
+/datum/outfit/admin/okon_crew/get_id_access()
return list(ACCESS_PRA, ACCESS_EXTERNAL_AIRLOCKS)
diff --git a/maps/random_ruins/exoplanets/uueoaesa/heph_mining_station.dm b/maps/random_ruins/exoplanets/uueoaesa/heph_mining_station.dm
index b440d11ca57..dd7b554e8cf 100644
--- a/maps/random_ruins/exoplanets/uueoaesa/heph_mining_station.dm
+++ b/maps/random_ruins/exoplanets/uueoaesa/heph_mining_station.dm
@@ -68,7 +68,7 @@
max_count = 3
extra_languages = list(LANGUAGE_UNATHI, LANGUAGE_AZAZIBA)
- outfit = /obj/outfit/admin/moghes_heph_miner
+ outfit = /datum/outfit/admin/moghes_heph_miner
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
uses_species_whitelist = FALSE
@@ -80,5 +80,5 @@
extra_languages = list(LANGUAGE_VAURCA)
possible_species = list(SPECIES_VAURCA_WORKER, SPECIES_VAURCA_BULWARK)
- outfit = /obj/outfit/admin/moghes_heph_miner/klax
+ outfit = /datum/outfit/admin/moghes_heph_miner/klax
uses_species_whitelist = TRUE
diff --git a/maps/random_ruins/exoplanets/uueoaesa/miners_guild_outpost.dm b/maps/random_ruins/exoplanets/uueoaesa/miners_guild_outpost.dm
index 8357216b96e..38f3a447d81 100644
--- a/maps/random_ruins/exoplanets/uueoaesa/miners_guild_outpost.dm
+++ b/maps/random_ruins/exoplanets/uueoaesa/miners_guild_outpost.dm
@@ -55,7 +55,7 @@
spawnpoints = list("miners_guild_outpost")
max_count = 3
- outfit = /obj/outfit/admin/miners_guild
+ outfit = /datum/outfit/admin/miners_guild
possible_species = list(SPECIES_UNATHI)
allow_appearance_change = APPEARANCE_PLASTICSURGERY
diff --git a/maps/random_ruins/exoplanets/uueoaesa/pid_kois_farm.dm b/maps/random_ruins/exoplanets/uueoaesa/pid_kois_farm.dm
index 3ed48b718ff..4068c406717 100644
--- a/maps/random_ruins/exoplanets/uueoaesa/pid_kois_farm.dm
+++ b/maps/random_ruins/exoplanets/uueoaesa/pid_kois_farm.dm
@@ -30,7 +30,7 @@
IMPORTANT - Vaurca are a very alien species, and can be difficult to roleplay. It is recommended that you read the Aurorastation wiki page for the species, as well as the Vaurca Hives page for information on K'lax coloration."
uses_species_whitelist = FALSE
- outfit = /obj/outfit/admin/pid_farmer
+ outfit = /datum/outfit/admin/pid_farmer
possible_species = list(SPECIES_VAURCA_WORKER)
extra_languages = list(LANGUAGE_VAURCA)
mob_name_pick_message = "Pick a Vaurca Worker name."
@@ -55,7 +55,7 @@
mob_name_pick_message = "Pick a Vaurca Warrior name."
welcome_message = "You are a Warrior of the Hive K'lax, tasked with protecting a k'ois farm on Pid. Ensure the safety of the Workers and Bulwarks at this location."
-/obj/outfit/admin/pid_farmer
+/datum/outfit/admin/pid_farmer
name = "Pid K'ois Farmer"
uniform = /obj/item/clothing/under/vaurca
shoes = /obj/item/clothing/shoes/vaurca
@@ -63,7 +63,7 @@
l_ear = null
id = /obj/item/card/id
-/obj/outfit/admin/pid_farmer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/pid_farmer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
if(H?.wear_mask && H.species.has_organ[BP_PHORON_RESERVE])
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
From 4ccd7a0f0be5cac545e98466ff58591411d6babf Mon Sep 17 00:00:00 2001
From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Date: Fri, 13 Sep 2024 23:40:46 +0200
Subject: [PATCH 2/8] brodar...
---
code/datums/outfits/outfit_admin.dm | 3 ---
code/modules/ghostroles/spawner/human/emergencypod.dm | 4 ----
code/unit_tests/outfit_tests.dm | 6 ++++++
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index 719b23ca0eb..f107e7e7d43 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -53,9 +53,6 @@
/datum/outfit/admin/random
name = "Random Civilian"
-
- uniform = "suit selection"
- shoes = "shoe selection"
l_ear = list(
/obj/item/device/radio/headset,
/obj/item/device/radio/headset/alt,
diff --git a/code/modules/ghostroles/spawner/human/emergencypod.dm b/code/modules/ghostroles/spawner/human/emergencypod.dm
index 684cf854354..3e287dae6ab 100644
--- a/code/modules/ghostroles/spawner/human/emergencypod.dm
+++ b/code/modules/ghostroles/spawner/human/emergencypod.dm
@@ -112,9 +112,6 @@
/datum/outfit/admin/pod/star
name = "RescuePod - Star"
- uniform = "suit selection"
- shoes = "oxford shoe selection"
-
backpack_contents = list(
/obj/item/lipstick/random = 2,
/obj/item/haircomb/random = 1,
@@ -221,7 +218,6 @@
name = "RescuePod - Occultist"
id = /obj/item/card/id
shoes = /obj/item/clothing/shoes/laceup
- uniform = "suit selection"
backpack_contents = list(
/obj/item/clothing/head/fake_culthood = 1,
/obj/item/clothing/suit/fake_cultrobes = 1,
diff --git a/code/unit_tests/outfit_tests.dm b/code/unit_tests/outfit_tests.dm
index 34de241d7f8..c74cee13e8b 100644
--- a/code/unit_tests/outfit_tests.dm
+++ b/code/unit_tests/outfit_tests.dm
@@ -97,11 +97,17 @@ ABSTRACT_TYPE(/datum/unit_test/outfits)
if(!ispath(itempath))
TEST_FAIL("Outfit [outfit_path] has an invalid item in its slot, which isn't a path: [itempath]!")
errorcount++
+ continue
//Need not to be abstract
if(is_abstract(itempath))
TEST_FAIL("Outfit [outfit_path] has an abstract item in its slot: [itempath]!")
errorcount++
+ continue
+
+ TEST_DEBUG("Outfit [outfit_path] has a valid item in its slot: [itempath]!")
+
+ TEST_NOTICE("Outfit [outfit_path] was tested with [length(paths_to_test)] item(s) in its slot(s)!")
if(errorcount)
return TEST_FAIL("Found [errorcount] abstract item(s) in outfit(s)!")
From cfb246837a50fbaec79f4e2a789a1087ec937700 Mon Sep 17 00:00:00 2001
From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Date: Fri, 13 Sep 2024 23:49:05 +0200
Subject: [PATCH 3/8] sdaf
---
.../ghostroles/spawner/human/emergencypod.dm | 4 ----
code/unit_tests/outfit_tests.dm | 16 ++++++++--------
2 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/code/modules/ghostroles/spawner/human/emergencypod.dm b/code/modules/ghostroles/spawner/human/emergencypod.dm
index 3e287dae6ab..5129c1f9a84 100644
--- a/code/modules/ghostroles/spawner/human/emergencypod.dm
+++ b/code/modules/ghostroles/spawner/human/emergencypod.dm
@@ -177,9 +177,6 @@
/datum/outfit/admin/pod/smuggler
name = "RescuePod - Smuggler"
- shoes = "shoe selection"
- uniform = "pants selection"
-
backpack_contents = list(
/obj/item/reagent_containers/inhaler/space_drugs = 3,
/obj/item/reagent_containers/inhaler/hyperzine = 2,
@@ -204,7 +201,6 @@
l_hand = /obj/item/material/twohanded/spear/plasteel
shoes = /obj/item/clothing/shoes/jackboots
id = /obj/item/card/id
- uniform = "pants selection"
back = /obj/item/rig/gunslinger
/datum/outfit/admin/pod/hunter/get_id_assignment()
diff --git a/code/unit_tests/outfit_tests.dm b/code/unit_tests/outfit_tests.dm
index c74cee13e8b..ed8eb4700a4 100644
--- a/code/unit_tests/outfit_tests.dm
+++ b/code/unit_tests/outfit_tests.dm
@@ -2,8 +2,8 @@ ABSTRACT_TYPE(/datum/unit_test/outfits)
name = "OUTFITS: Template"
groups = list("generic")
-/datum/unit_test/outfits/no_abstracts
- name = "OUTFITS: No Abstract Types in Outfits"
+/datum/unit_test/outfits/valid_paths
+ name = "OUTFITS: Valid Paths in Outfits"
var/errorcount = 0
///Macro to add a slot to the list of paths to test
@@ -17,7 +17,7 @@ ABSTRACT_TYPE(/datum/unit_test/outfits)
}\
}
-/datum/unit_test/outfits/no_abstracts/start_test()
+/datum/unit_test/outfits/valid_paths/start_test()
//For each of the outfit subtypes
for(var/outfit_path in subtypesof(/datum/outfit))
@@ -95,22 +95,22 @@ ABSTRACT_TYPE(/datum/unit_test/outfits)
for(var/itempath in paths_to_test)
//Need to be paths
if(!ispath(itempath))
- TEST_FAIL("Outfit [outfit_path] has an invalid item in its slot, which isn't a path: [itempath]!")
+ TEST_FAIL("Outfit [outfit_path] has an invalid entry in its slot, which isn't a path: [itempath]!")
errorcount++
continue
//Need not to be abstract
if(is_abstract(itempath))
- TEST_FAIL("Outfit [outfit_path] has an abstract item in its slot: [itempath]!")
+ TEST_FAIL("Outfit [outfit_path] has an abstract path in its slot: [itempath]!")
errorcount++
continue
- TEST_DEBUG("Outfit [outfit_path] has a valid item in its slot: [itempath]!")
+ TEST_DEBUG("Outfit [outfit_path] has valid path(s) in its slot: [itempath]!")
- TEST_NOTICE("Outfit [outfit_path] was tested with [length(paths_to_test)] item(s) in its slot(s)!")
+ TEST_NOTICE("Outfit [outfit_path] was tested with [length(paths_to_test)] path(s) in its slot(s)!")
if(errorcount)
- return TEST_FAIL("Found [errorcount] abstract item(s) in outfit(s)!")
+ return TEST_FAIL("Found [errorcount] erroneous path(s) in outfit(s)!")
else
return TEST_PASS("All outfits are valid")
From 4cf2aa2743d9731a5c66a603ee4021edb723beb6 Mon Sep 17 00:00:00 2001
From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Date: Mon, 23 Sep 2024 16:29:53 +0200
Subject: [PATCH 4/8] merged master
---
.../ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm b/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm
index 27158d4c3a3..b71a27f763d 100644
--- a/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm
+++ b/maps/away/ships/elyra/elyra_corvette/elyra_corvette_ghostroles.dm
@@ -37,7 +37,7 @@
/datum/outfit/admin/elyran_navy_crewman/get_id_access()
return list(ACCESS_ELYRAN_NAVAL_INFANTRY_SHIP, ACCESS_EXTERNAL_AIRLOCKS)
-/obj/outfit/admin/elyran_navy_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
+/datum/outfit/admin/elyran_navy_crewman/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isipc(H)) // All Elyran Navy synthetics are tagged, self-owned, and have Elyran citizenship.
var/obj/item/organ/internal/ipc_tag/tag = H.internal_organs_by_name[BP_IPCTAG]
From 2a55e4800ab76a8366deb006f29772759dfeba84 Mon Sep 17 00:00:00 2001
From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Date: Sat, 5 Oct 2024 15:17:52 +0200
Subject: [PATCH 5/8] dfgsd
---
.../ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm b/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm
index a26e62c0839..12b43588cf1 100644
--- a/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm
+++ b/maps/away/ships/biesel/tcaf_corvette/tcaf_corvette_ghostroles.dm
@@ -62,7 +62,7 @@
name = "Republican Fleet Armsman"
short_name = "tcaf_armsman"
max_count = 2
- outfit = /obj/outfit/admin/tcaf_crewman/armsman
+ outfit = /datum/outfit/admin/tcaf_crewman/armsman
// Excludes vaurca workers, as it's a combatant role.
possible_species = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_MSAI, SPECIES_TAJARA_ZHAN, SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_UNATHI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_ATTENDANT, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL, SPECIES_DIONA, SPECIES_DIONA_COEUS)
mob_name_prefix = "Lgn. "
@@ -70,7 +70,7 @@
assigned_role = "Republican Fleet Legionnaire (Armsman)"
special_role = "Republican Fleet Legionnaire (Armsman)"
-/obj/outfit/admin/tcaf_crewman/armsman
+/datum/outfit/admin/tcaf_crewman/armsman
name = "TCAF Armsman"
head = /obj/item/clothing/head/softcap/tcaf_cap
uniform = /obj/item/clothing/under/legion/tcaf
From 6705da68dae177fddd187e6827a02f0d5291232b Mon Sep 17 00:00:00 2001
From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Date: Sun, 6 Oct 2024 23:46:36 +0200
Subject: [PATCH 6/8] joys of search and replace
---
html/changelogs/archive/2024-03.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/html/changelogs/archive/2024-03.yml b/html/changelogs/archive/2024-03.yml
index 1ef4c5d9685..219b2c849fa 100644
--- a/html/changelogs/archive/2024-03.yml
+++ b/html/changelogs/archive/2024-03.yml
@@ -158,7 +158,7 @@
- tweak: Point Verdant Police now spawn with headsets instead of bounced radios,
as the role had too much soul.
DreamySkrell:
- - rscadd: Refactored `/datum/outfit` to `/datum/outfit`.
+ - rscadd: Refactored `/obj/outfit` to `/obj/outfit`.
- rscadd: Outfits can be mapped in or spawned manually, to spill all their items
on the floor.
FluffyGhost:
From b21aa07404ae78080729b37e636f4a03dd0e5b86 Mon Sep 17 00:00:00 2001
From: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Date: Sat, 19 Oct 2024 19:20:35 +0200
Subject: [PATCH 7/8] why the fuck there's bapi.dll here now
---
bapi.dll | Bin 6637350 -> 6664840 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/bapi.dll b/bapi.dll
index 1bdf36e23f9569d8d06be7a104e3f8cc46f59ca2..87e57686b65477ffeb59865fb0ad4bfdbbf82fba 100644
GIT binary patch
literal 6664840
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 |