only missing alt titles

This commit is contained in:
Kashargul
2024-09-12 22:48:14 +02:00
parent 4ba7beeb9c
commit 8a90ae6523
98 changed files with 416 additions and 361 deletions
+45 -1
View File
@@ -39,6 +39,35 @@
#define JOB_EXPLORER "Away Team" // was Explorer
#define JOB_FIELD_MEDIC "Away Team Medic" // was Field Medic
// Station Civilian jobs
#define JOB_BARTENDER "Bartender"
#define JOB_BOTANIST "Botanist"
#define JOB_CHAPLAIN "Chaplain"
#define JOB_CHEF "Chef"
#define JOB_CLOWN "Clown"
#define JOB_ENTERTAINER "Entertainer"
#define JOB_ENTREPRENEUR "Entrepreneur"
#define JOB_INTERN "Intern"
#define JOB_INTERNAL_AFFAIRS_AGENT "Internal Affairs Agent"
#define JOB_JANITOR "Janitor"
#define JOB_LIBRARIAN "Librarian"
#define JOB_MIME "Mime"
#define JOB_PILOT "Pilot"
// Station Robot jobs
#define JOB_AI "AI"
#define JOB_CYBORG "Cyborg"
#define JOB_ALT_ASSISTANT "Assistant"
// Talom jobs
#define JOB_TALON_CAPTAIN "Talon Captain"
#define JOB_TALON_DOCTOR "Talon Doctor"
#define JOB_TALON_ENGINEER "Talon Engineer"
#define JOB_TALON_GUARD "Talon Guard"
#define JOB_TALON_PILOT "Talon Pilot"
#define JOB_TALON_MINER "Talon Miner"
// Security alt titles
#define JOB_ALT_FORENSIC_TECHNICIAN "Forensic Technician"
@@ -48,6 +77,21 @@
#define JOB_ALT_PHARMACIST "Pharmacist"
#define JOB_ALT_PHARMACOLOGIST "Pharmacologist"
// Civilian alt titles
#define JOB_ALT_GARDENER "Gardener"
#define JOB_ALT_PASEUR "Poseur"
// Station Robot alt titles
#define JOB_ALT_ROBOT "Robot"
#define JOB_ALT_DRONE "Drone"
// Talon alt jobs
#define JOB_ALT_TALON_COMMANDER "Talon Commander
#define JOB_ALT_TALON_MEDIC "Talon Medic"
#define JOB_ALT_TALON_TECHNICIAN "Talon Technician"
#define JOB_ALT_TALON_SECURITY "Talon Security"
#define JOB_ALT_TALON_HELMSMAN "Talon Helmsman"
#define JOB_ALT_TALON_EXCAVATOR "Talon Excavator"
//Assistant/Visitor/Whatever
#define USELESS_JOB "Visitor"
@@ -55,7 +99,7 @@
/*
"Emergency Response Team"
"Syndicate"
"Assistant" "Resident" "Virologist", assigned_role, jobname, M_job, check_bans
alt_titles = list("Patrol Officer" = /datum/alt_title/patrol_officer, "Security Guard" = /datum/alt_title/security_guard,
"Security Deputy" = /datum/alt_title/security_guard, JOB_ALT_JUNIOR_OFFICER = /datum/alt_title/junior_officer, "Security Contractor" = /datum/alt_title/security_contractor)
+5 -5
View File
@@ -112,7 +112,7 @@
question = "Someone has activated a Positronic Brain. Would you like to play as one?"
query_sound = 'sound/machines/boobeebeep.ogg'
be_special_flag = BE_AI
check_bans = list("AI", "Cyborg")
check_bans = list(JOB_AI, JOB_CYBORG)
cutoff_number = 1
/datum/ghost_query/drone_brain
@@ -120,7 +120,7 @@
question = "Someone has activated a Drone AI Chipset. Would you like to play as one?"
query_sound = 'sound/machines/boobeebeep.ogg'
be_special_flag = BE_AI
check_bans = list("AI", "Cyborg")
check_bans = list(JOB_AI, JOB_CYBORG)
cutoff_number = 1
// Antags.
@@ -156,7 +156,7 @@
role_name = "Mercenary Drone"
question = "A team of dubious mercenaries have purchased a powerful drone, and they are attempting to activate it. Would you like to play as the drone?"
be_special_flag = BE_AI
check_bans = list("AI", "Cyborg", "Syndicate")
check_bans = list(JOB_AI, JOB_CYBORG, "Syndicate")
cutoff_number = 1
/datum/ghost_query/borer
@@ -171,14 +171,14 @@
role_name = "Lost Drone"
question = "A lost drone onboard has been discovered by a crewmember and they are attempting to reactivate it. Would you like to play as the drone?"
be_special_flag = BE_LOSTDRONE //VOREStation Edit
check_bans = list("AI", "Cyborg")
check_bans = list(JOB_AI, JOB_CYBORG)
cutoff_number = 1
/datum/ghost_query/gravekeeper_drone
role_name = "Gravekeeper Drone"
question = "A gravekeeper drone is about to reactivate and tend to its gravesite. Would you like to play as the drone?"
be_special_flag = BE_AI
check_bans = list("AI", "Cyborg")
check_bans = list(JOB_AI, JOB_CYBORG)
cutoff_number = 1
/datum/ghost_query/lost_passenger
+2 -2
View File
@@ -536,12 +536,12 @@
//AI
/mob/living/silicon/ai/mind_initialize()
. = ..()
mind.assigned_role = "AI"
mind.assigned_role = JOB_AI
//BORG
/mob/living/silicon/robot/mind_initialize()
. = ..()
mind.assigned_role = "Cyborg"
mind.assigned_role = JOB_CYBORG
//PAI
/mob/living/silicon/pai/mind_initialize()
+9 -9
View File
@@ -3,13 +3,13 @@
id_type = /obj/item/weapon/card/id/generic //VOREStation Edit
/decl/hierarchy/outfit/job/assistant/visitor
name = OUTFIT_JOB_NAME("Visitor")
id_pda_assignment = "Visitor"
name = OUTFIT_JOB_NAME(USELESS_JOB)
id_pda_assignment = USELESS_JOB
uniform = /obj/item/clothing/under/assistantformal
//VOREStation Add - Interns
/decl/hierarchy/outfit/job/assistant/intern
name = OUTFIT_JOB_NAME("Intern")
name = OUTFIT_JOB_NAME(JOB_INTERN)
id_type = /obj/item/weapon/card/id/civilian
//VOREStation Add End - Interns
@@ -23,7 +23,7 @@
hierarchy_type = /decl/hierarchy/outfit/job/service
/decl/hierarchy/outfit/job/service/bartender
name = OUTFIT_JOB_NAME("Bartender")
name = OUTFIT_JOB_NAME(JOB_BARTENDER)
uniform = /obj/item/clothing/under/rank/bartender
id_type = /obj/item/weapon/card/id/civilian/service/bartender //VOREStation Edit
pda_type = /obj/item/device/pda/bar
@@ -41,7 +41,7 @@
backpack_contents = null
/decl/hierarchy/outfit/job/service/chef
name = OUTFIT_JOB_NAME("Chef")
name = OUTFIT_JOB_NAME(JOB_CHEF)
uniform = /obj/item/clothing/under/rank/chef
suit = /obj/item/clothing/suit/chef
head = /obj/item/clothing/head/chefhat
@@ -61,7 +61,7 @@
// End Outfit addition
/decl/hierarchy/outfit/job/service/gardener
name = OUTFIT_JOB_NAME("Gardener")
name = OUTFIT_JOB_NAME(JOB_ALT_GARDENER)
uniform = /obj/item/clothing/under/rank/hydroponics
suit = /obj/item/clothing/suit/storage/apron
gloves = /obj/item/clothing/gloves/botanic_leather
@@ -74,13 +74,13 @@
pda_type = /obj/item/device/pda/botanist
/decl/hierarchy/outfit/job/service/janitor
name = OUTFIT_JOB_NAME("Janitor")
name = OUTFIT_JOB_NAME(JOB_JANITOR)
uniform = /obj/item/clothing/under/rank/janitor
id_type = /obj/item/weapon/card/id/civilian/service/janitor //VOREStation Edit
pda_type = /obj/item/device/pda/janitor
/decl/hierarchy/outfit/job/librarian
name = OUTFIT_JOB_NAME("Librarian")
name = OUTFIT_JOB_NAME(JOB_LIBRARIAN)
uniform = /obj/item/clothing/under/suit_jacket/red
l_hand = /obj/item/weapon/barcodescanner
id_type = /obj/item/weapon/card/id/civilian
@@ -101,7 +101,7 @@
pda_type = /obj/item/device/pda/lawyer
/decl/hierarchy/outfit/job/chaplain
name = OUTFIT_JOB_NAME("Chaplain")
name = OUTFIT_JOB_NAME(JOB_CHAPLAIN)
uniform = /obj/item/clothing/under/rank/chaplain
l_hand = /obj/item/weapon/storage/bible
id_type = /obj/item/weapon/card/id/civilian/chaplain
+2 -2
View File
@@ -3,9 +3,9 @@
hierarchy_type = /decl/hierarchy/outfit/job/silicon
/decl/hierarchy/outfit/job/silicon/ai
name = OUTFIT_JOB_NAME("AI")
name = OUTFIT_JOB_NAME(JOB_AI)
suit = /obj/item/clothing/suit/straight_jacket
/decl/hierarchy/outfit/job/silicon/cyborg
name = OUTFIT_JOB_NAME("Cyborg")
name = OUTFIT_JOB_NAME(JOB_CYBORG)
suit = /obj/item/clothing/suit/cardborg
+2 -2
View File
@@ -27,7 +27,7 @@
ert.add_antagonist(H.mind)
/decl/hierarchy/outfit/job/clown
name = OUTFIT_JOB_NAME("Clown")
name = OUTFIT_JOB_NAME(JOB_CLOWN)
uniform = /obj/item/clothing/under/rank/clown
back = /obj/item/weapon/storage/backpack/clown
shoes = /obj/item/clothing/shoes/clown_shoes
@@ -38,7 +38,7 @@
flags = 0
/decl/hierarchy/outfit/job/mime
name = OUTFIT_JOB_NAME("Mime")
name = OUTFIT_JOB_NAME(JOB_MIME)
uniform = /obj/item/clothing/under/mime
shoes = /obj/item/clothing/shoes/mime
head = /obj/item/clothing/head/soft/mime
+2 -2
View File
@@ -124,7 +124,7 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
/decl/hierarchy/outfit/job/pilot
name = OUTFIT_JOB_NAME("Pilot")
name = OUTFIT_JOB_NAME(JOB_PILOT)
shoes = /obj/item/clothing/shoes/black
uniform = /obj/item/clothing/under/rank/pilot1/no_webbing
suit = /obj/item/clothing/suit/storage/toggle/bomber/pilot
@@ -136,7 +136,7 @@ Keep outfits simple. Spawn with basic uniforms and minimal gear. Gear instead go
pda_slot = slot_belt
pda_type = /obj/item/device/pda/pilot
id_type = /obj/item/weapon/card/id/civilian/pilot
id_pda_assignment = "Pilot"
id_pda_assignment = JOB_PILOT
flags = OUTFIT_HAS_BACKPACK|OUTFIT_COMPREHENSIVE_SURVIVAL
/decl/hierarchy/outfit/job/medical/sar
+2 -2
View File
@@ -101,7 +101,7 @@
containername = "EFTPOS crate"
/datum/supply_pack/misc/chaplaingear
name = "Chaplain equipment"
name = JOB_CHAPLAIN + " equipment"
contains = list(
/obj/item/clothing/under/rank/chaplain,
/obj/item/clothing/shoes/black,
@@ -116,7 +116,7 @@
)
cost = 10
containertype = /obj/structure/closet/crate/gilthari
containername = "Chaplain equipment crate"
containername = JOB_CHAPLAIN + " equipment crate"
/datum/supply_pack/misc/hoverpod
name = "Hoverpod Shipment"
+2 -2
View File
@@ -183,7 +183,7 @@
access = list(access_eva, access_explorer)
/datum/supply_pack/pilotgear
name= "Pilot gear"
name= JOB_PILOT + " gear"
contains = list (
/obj/item/weapon/storage/backpack/parachute,
/obj/item/device/radio/headset/pilot,
@@ -204,7 +204,7 @@
)
cost=20
containertype = /obj/structure/closet/crate/secure/xion
containername = "Pilot equipment"
containername = JOB_PILOT + " equipment"
access = access_pilot
/datum/supply_pack/supply/foodcubes
+2 -2
View File
@@ -265,7 +265,7 @@
access = access_medical
/datum/supply_pack/voidsuits/pilot
name = "Pilot voidsuits"
name = JOB_PILOT + " voidsuits"
contains = list(
/obj/item/clothing/suit/space/void/pilot = 1,
/obj/item/clothing/head/helmet/space/void/pilot = 1,
@@ -275,7 +275,7 @@
)
cost = 20
containertype = /obj/structure/closet/crate/secure
containername = "Pilot voidsuit crate"
containername = JOB_PILOT + " voidsuit crate"
access = access_pilot
// Surplus!
+1 -1
View File
@@ -161,7 +161,7 @@ var/datum/antagonist/ninja/ninjas
var/xenorace = pick(SPECIES_UNATHI, SPECIES_TAJ, SPECIES_SKRELL)
directive += "A group of [xenorace] radicals have been loyal supporters of the Spider Clan. Favor [xenorace] crew whenever possible."
if(15)
directive += "The Spider Clan has recently been accused of religious insensitivity. Attempt to speak with the Chaplain and prove these accusations false."
directive += "The Spider Clan has recently been accused of religious insensitivity. Attempt to speak with the " + JOB_CHAPLAIN + " and prove these accusations false."
if(16)
directive += "The Spider Clan has been bargaining with a competing prosthetics manufacturer. Try to shine [using_map.company_name] prosthetics in a bad light."
if(17)
+2 -2
View File
@@ -227,9 +227,9 @@ var/datum/antagonist/raider/raiders
player.equip_to_slot_or_del(new new_suit(player),slot_wear_suit)
equip_weapons(player)
var/obj/item/weapon/card/id/id = create_id("Visitor", player, equip = 0)
var/obj/item/weapon/card/id/id = create_id(USELESS_JOB, player, equip = 0)
id.name = "[player.real_name]'s Passport"
id.assignment = "Visitor"
id.assignment = USELESS_JOB
var/obj/item/weapon/storage/wallet/W = new(player)
W.handle_item_insertion(id)
player.equip_to_slot_or_del(W, slot_wear_id)
+3 -3
View File
@@ -11,10 +11,10 @@ var/datum/antagonist/cultist/cult
role_text = "Cultist"
role_text_plural = "Cultists"
bantype = "cultist"
restricted_jobs = list("Chaplain")
restricted_jobs = list(JOB_CHAPLAIN)
avoid_silicons = TRUE
protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, "Internal Affairs Agent", JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER)
roundstart_restricted = list("Internal Affairs Agent", JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER)
protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_INTERNAL_AFFAIRS_AGENT, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER)
roundstart_restricted = list(JOB_INTERNAL_AFFAIRS_AGENT, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER)
role_type = BE_CULTIST
feedback_tag = "cult_objective"
antag_indicator = "cult"
+1 -1
View File
@@ -11,7 +11,7 @@ var/datum/antagonist/traitor/infiltrator/infiltrators
role_text = "Infiltrator"
role_text_plural = "Infiltrators"
welcome_text = "To speak on your team's private channel, use :t."
protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, "Internal Affairs Agent", JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER)
protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_INTERNAL_AFFAIRS_AGENT, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER)
flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE
can_speak_aooc = TRUE
@@ -30,8 +30,8 @@ var/datum/antagonist/revolutionary/revs
faction_invisible = 1
avoid_silicons = TRUE
protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, "Internal Affairs Agent", JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_RESEARCH_DIRECTOR, JOB_CHIEF_MEDICAL_OFFICER)
roundstart_restricted = list("Internal Affairs Agent", JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_RESEARCH_DIRECTOR, JOB_CHIEF_MEDICAL_OFFICER)
protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_INTERNAL_AFFAIRS_AGENT, JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_RESEARCH_DIRECTOR, JOB_CHIEF_MEDICAL_OFFICER)
roundstart_restricted = list(JOB_INTERNAL_AFFAIRS_AGENT, JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_RESEARCH_DIRECTOR, JOB_CHIEF_MEDICAL_OFFICER)
/datum/antagonist/revolutionary/New()
..()
+1 -2
View File
@@ -26,7 +26,7 @@ var/datum/antagonist/rogue_ai/malf
/datum/antagonist/rogue_ai/get_candidates()
..()
for(var/datum/mind/player in candidates)
if(player.assigned_role && player.assigned_role != "AI")
if(player.assigned_role && player.assigned_role != JOB_AI)
candidates -= player
if(!candidates.len)
return list()
@@ -101,4 +101,3 @@ var/datum/antagonist/rogue_ai/malf
if (newname)
player.SetName(newname)
if(player.mind) player.mind.name = player.name
+1 -1
View File
@@ -4,7 +4,7 @@ var/datum/antagonist/traitor/traitors
/datum/antagonist/traitor
id = MODE_TRAITOR
antag_sound = 'sound/effects/antag_notice/traitor_alert.ogg'
protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, "Internal Affairs Agent", JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER)
protected_jobs = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_INTERNAL_AFFAIRS_AGENT, JOB_HEAD_OF_SECURITY, JOB_SITE_MANAGER)
flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE
can_speak_aooc = FALSE // If they want to plot and plan as this sort of traitor, they'll need to do it ICly.
@@ -9,5 +9,5 @@
end_on_antag_death = 0
auto_recall_shuttle = 0
antag_tags = list(MODE_MALFUNCTION)
disabled_jobs = list("AI")
disabled_jobs = list(JOB_AI)
votable = 0
+1 -1
View File
@@ -7,7 +7,7 @@
config_tag = "meme"
required_players = 3
required_players_secret = 10
restricted_jobs = list("AI", "Cyborg")
restricted_jobs = list(JOB_AI, JOB_CYBORG)
recommended_enemies = 2 // need at least a meme and a host
votable = 0 // temporarily disable this mode for voting
end_on_antag_death = 1
+3 -3
View File
@@ -397,7 +397,7 @@ var/const/access_explorer = 43
var/const/access_pilot = 67
/datum/access/pilot
id = access_pilot
desc = "Pilot"
desc = JOB_PILOT
region = ACCESS_REGION_GENERAL
/var/const/access_entertainment = 72
@@ -472,7 +472,7 @@ var/const/access_pilot = 67
/var/const/access_clown = 136
/datum/access/clown
id = access_clown
desc = "Clown Office"
desc = JOB_CLOWN + " Office"
region = ACCESS_REGION_GENERAL
/var/const/access_tomfoolery = 137
@@ -484,7 +484,7 @@ var/const/access_pilot = 67
/var/const/access_mime = 138
/datum/access/mime
id = access_mime
desc = "Mime Office"
desc = JOB_MIME + " Office"
region = ACCESS_REGION_GENERAL
/***************
+6 -6
View File
@@ -3,7 +3,7 @@
//////////////////////////////////
/datum/job/intern
title = "Intern"
title = JOB_INTERN
flag = INTERN
departments = list(DEPARTMENT_CIVILIAN)
department_flag = ENGSEC // Ran out of bits
@@ -22,8 +22,8 @@
"Security Cadet" = /datum/alt_title/intern_sec,
"Jr. Cargo Tech" = /datum/alt_title/intern_crg,
"Server" = /datum/alt_title/server,
"Assistant" = /datum/alt_title/assistant)
job_description = "An Intern does whatever is requested of them, often doing so in process of learning \
JOB_ALT_ASSISTANT = /datum/alt_title/assistant)
job_description = "An " + JOB_INTERN + " does whatever is requested of them, often doing so in process of learning \
another job. Though they are part of the crew, they have no real authority."
timeoff_factor = 0 // Interns, noh
requestable = FALSE
@@ -70,8 +70,8 @@
title_outfit = /decl/hierarchy/outfit/job/service/server
/datum/alt_title/assistant
title = "Assistant"
title_blurb = "An assistant helps out wherever they might be needed. They have no authority, but can volunteer to help if help is needed."
title = JOB_ALT_ASSISTANT
title_blurb = "An " + JOB_ALT_ASSISTANT + " helps out wherever they might be needed. They have no authority, but can volunteer to help if help is needed."
title_outfit = /decl/hierarchy/outfit/job/service/server
/datum/job/intern/New()
@@ -94,7 +94,7 @@
/datum/job/assistant // Visitor
title = USELESS_JOB
supervisors = "nobody! You don't work here"
job_description = "A Visitor is just there to visit the place. They have no real authority or responsibility."
job_description = "A " + USELESS_JOB + " is just there to visit the place. They have no real authority or responsibility."
timeoff_factor = 0
requestable = FALSE
alt_titles = list("Guest" = /datum/alt_title/guest, "Traveler" = /datum/alt_title/traveler)
+15 -15
View File
@@ -5,7 +5,7 @@
//////////////////////////////////
/datum/job/bartender
title = "Bartender"
title = JOB_BARTENDER
flag = BARTENDER
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -18,7 +18,7 @@
minimal_access = list(access_bar)
outfit_type = /decl/hierarchy/outfit/job/service/bartender
job_description = "A Bartender mixes drinks for the crew. They generally have permission to charge for drinks or deny service to unruly patrons."
job_description = "A " + JOB_BARTENDER + " mixes drinks for the crew. They generally have permission to charge for drinks or deny service to unruly patrons."
alt_titles = list("Barista" = /datum/alt_title/barista)
// Bartender Alt Titles
@@ -33,7 +33,7 @@
//////////////////////////////////
/datum/job/chef
title = "Chef"
title = JOB_CHEF
flag = CHEF
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -46,7 +46,7 @@
minimal_access = list(access_kitchen)
outfit_type = /decl/hierarchy/outfit/job/service/chef
job_description = "A Chef cooks food for the crew. They generally have permission to charge for food or deny service to unruly diners."
job_description = "A " + JOB_CHEF + " cooks food for the crew. They generally have permission to charge for food or deny service to unruly diners."
alt_titles = list("Cook" = /datum/alt_title/cook)
// Chef Alt Titles
@@ -59,7 +59,7 @@
//////////////////////////////////
/datum/job/hydro
title = "Botanist"
title = JOB_BOTANIST
flag = BOTANIST
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -72,13 +72,13 @@
minimal_access = list(access_hydroponics)
outfit_type = /decl/hierarchy/outfit/job/service/gardener
job_description = "A Botanist grows plants for the Chef and Bartender."
alt_titles = list("Gardener" = /datum/alt_title/gardener)
job_description = "A " + JOB_BOTANIST+ " grows plants for the " + JOB_CHEF + " and " + JOB_BARTENDER + "."
alt_titles = list(JOB_ALT_GARDENER = /datum/alt_title/gardener)
//Botanist Alt Titles
/datum/alt_title/gardener
title = "Gardener"
title_blurb = "A Gardener may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere."
title = JOB_ALT_GARDENER
title_blurb = "A " + JOB_ALT_GARDENER + " may be less professional than their counterparts, and are more likely to tend to the public gardens if they aren't needed elsewhere."
//Cargo
//////////////////////////////////
@@ -162,7 +162,7 @@
// Janitor
//////////////////////////////////
/datum/job/janitor
title = "Janitor"
title = JOB_JANITOR
flag = JANITOR
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -175,7 +175,7 @@
minimal_access = list(access_janitor, access_maint_tunnels)
outfit_type = /decl/hierarchy/outfit/job/service/janitor
job_description = "A Janitor keeps the station clean, as long as it doesn't interfere with active crime scenes."
job_description = "A " + JOB_JANITOR + " keeps the station clean, as long as it doesn't interfere with active crime scenes."
alt_titles = list("Custodian" = /datum/alt_title/custodian)
// Janitor Alt Titles
@@ -187,7 +187,7 @@
// Librarian
//////////////////////////////////
/datum/job/librarian
title = "Librarian"
title = JOB_LIBRARIAN
flag = LIBRARIAN
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -200,7 +200,7 @@
minimal_access = list(access_library)
outfit_type = /decl/hierarchy/outfit/job/librarian
job_description = "The Librarian curates the book selection in the Library, so the crew might enjoy it."
job_description = "The " + JOB_LIBRARIAN + " curates the book selection in the Library, so the crew might enjoy it."
alt_titles = list("Journalist" = /datum/alt_title/journalist, "Writer" = /datum/alt_title/writer)
// Librarian Alt Titles
@@ -219,7 +219,7 @@
//var/global/lawyer = 0//Checks for another lawyer //This changed clothes on 2nd lawyer, both IA get the same dreds.
/datum/job/lawyer
title = "Internal Affairs Agent"
title = JOB_INTERNAL_AFFAIRS_AGENT
flag = LAWYER
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -235,7 +235,7 @@
banned_job_species = list(SPECIES_PROMETHEAN, SPECIES_UNATHI, SPECIES_DIONA, SPECIES_TESHARI, SPECIES_ZADDAT, "digital")
outfit_type = /decl/hierarchy/outfit/job/internal_affairs_agent
job_description = "An Internal Affairs Agent makes sure that the crew is following Standard Operating Procedure. They also \
job_description = "An " + JOB_INTERNAL_AFFAIRS_AGENT + " makes sure that the crew is following Standard Operating Procedure. They also \
handle complaints against crew members, and can have issues brought to the attention of Central Command, \
assuming their paperwork is in order."
+3 -3
View File
@@ -1,6 +1,6 @@
//Due to how large this one is it gets its own file
/datum/job/chaplain
title = "Chaplain"
title = JOB_CHAPLAIN
flag = CHAPLAIN
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -13,7 +13,7 @@
minimal_access = list(access_chapel_office, access_crematorium)
outfit_type = /decl/hierarchy/outfit/job/chaplain
job_description = "The Chaplain ministers to the spiritual needs of the crew."
job_description = "The " + JOB_CHAPLAIN + " ministers to the spiritual needs of the crew."
alt_titles = list("Counselor" = /datum/alt_title/counselor)
// Chaplain Alt Titles
@@ -111,7 +111,7 @@
var/bible_name = "Bible"
var/bible_icon_state = "bible"
var/bible_item_state = "bible"
var/title = "Chaplain"
var/title = JOB_CHAPLAIN
var/configured = FALSE
/datum/religion/New(var/r, var/d, var/bn, var/bis, var/bits, var/t)
+7 -7
View File
@@ -30,7 +30,7 @@
spawn_positions = 2
pto_type = PTO_CIVILIAN
alt_titles = list("Hydroponicist" = /datum/alt_title/hydroponicist, "Cultivator" = /datum/alt_title/cultivator, "Farmer" = /datum/alt_title/farmer,
"Gardener" = /datum/alt_title/gardener, "Florist" = /datum/alt_title/florsit, "Rancher" = /datum/alt_title/rancher)
JOB_ALT_GARDENER = /datum/alt_title/gardener, "Florist" = /datum/alt_title/florsit, "Rancher" = /datum/alt_title/rancher)
/datum/alt_title/hydroponicist
title = "Hydroponicist"
@@ -211,7 +211,7 @@
//////////////////////////////////
/datum/job/pilot
title = "Pilot"
title = JOB_PILOT
flag = PILOT
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -226,7 +226,7 @@
access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot)
minimal_access = list(access_eva, access_maint_tunnels, access_external_airlocks, access_pilot)
outfit_type = /decl/hierarchy/outfit/job/pilot
job_description = "A Pilot flies the various shuttles in the Virgo-Erigone System."
job_description = "A " + JOB_PILOT + " flies the various shuttles in the Virgo-Erigone System."
alt_titles = list("Co-Pilot" = /datum/alt_title/co_pilot, "Navigator" = /datum/alt_title/navigator, "Helmsman" = /datum/alt_title/helmsman)
/datum/alt_title/co_pilot
@@ -247,7 +247,7 @@
//////////////////////////////////
/datum/job/entertainer
title = "Entertainer"
title = JOB_ENTERTAINER
flag = ENTERTAINER
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -261,7 +261,7 @@
pto_type = PTO_CIVILIAN
outfit_type = /decl/hierarchy/outfit/job/assistant/entertainer
job_description = "An entertainer does just that, entertains! Put on plays, play music, sing songs, tell stories, or read your favorite fanfic."
job_description = "An " + JOB_ENTERTAINER + " does just that, entertains! Put on plays, play music, sing songs, tell stories, or read your favorite fanfic."
alt_titles = list("Performer" = /datum/alt_title/performer, "Musician" = /datum/alt_title/musician, "Stagehand" = /datum/alt_title/stagehand,
"Actor" = /datum/alt_title/actor, "Dancer" = /datum/alt_title/dancer, "Singer" = /datum/alt_title/singer,
"Magician" = /datum/alt_title/magician, "Comedian" = /datum/alt_title/comedian, "Tragedian" = /datum/alt_title/tragedian,
@@ -317,7 +317,7 @@
//////////////////////////////////
/datum/job/entrepreneur
title = "Entrepreneur"
title = JOB_ENTREPRENEUR
flag = ENTREPRENEUR
departments = list(DEPARTMENT_CIVILIAN)
department_flag = CIVILIAN
@@ -331,7 +331,7 @@
pto_type = PTO_CIVILIAN
outfit_type = /decl/hierarchy/outfit/job/assistant/entrepreneur
job_description = "An entrepreneur is basically a visitor that obtained special permission to offer personal services to people on station. \
job_description = "An " + JOB_ENTREPRENEUR + " is basically a visitor that obtained special permission to offer personal services to people on station. \
They will offer people these services and, potentially, even demand payment!"
alt_titles = list("Lawyer" = /datum/alt_title/lawyer, "Private Eye" = /datum/alt_title/private_eye, "Bodyguard" = /datum/alt_title/bodyguard,
"Personal Physician" = /datum/alt_title/personal_physician, "Dentist" = /datum/alt_title/dentist, "Fitness Instructor" = /datum/alt_title/fitness_instructor,
+10 -10
View File
@@ -2,7 +2,7 @@
// AI
//////////////////////////////////
/datum/job/ai
title = "AI"
title = JOB_AI
flag = AI
departments = list(DEPARTMENT_SYNTHETIC)
sorting_order = 1 // Be above their borgs.
@@ -20,9 +20,9 @@
assignable = FALSE
mob_type = JOB_SILICON_AI
outfit_type = /decl/hierarchy/outfit/job/silicon/ai
job_description = "The AI oversees the operation of the station and its crew, but has no real authority over them. \
The AI is required to follow its Laws, and Lawbound Synthetics that are linked to it are expected to follow \
the AI's commands, and their own Laws."
job_description = "The " + JOB_AI + " oversees the operation of the station and its crew, but has no real authority over them. \
The " + JOB_AI + " is required to follow its Laws, and Lawbound Synthetics that are linked to it are expected to follow \
the " + JOB_AI + "'s commands, and their own Laws."
// AI procs
/datum/job/ai/equip(var/mob/living/carbon/human/H)
@@ -41,14 +41,14 @@
// Cyborg
//////////////////////////////////
/datum/job/cyborg
title = "Cyborg"
title = JOB_CYBORG
flag = CYBORG
departments = list(DEPARTMENT_SYNTHETIC)
department_flag = ENGSEC
faction = FACTION_STATION
total_positions = 2
spawn_positions = 2
supervisors = "your Laws and the AI" //Nodrak
supervisors = "your Laws and the " + JOB_AI //Nodrak
selection_color = "#254C25"
minimal_player_age = 1
account_allowed = 0
@@ -57,18 +57,18 @@
assignable = FALSE
mob_type = JOB_SILICON_ROBOT
outfit_type = /decl/hierarchy/outfit/job/silicon/cyborg
job_description = "A Cyborg is a mobile station synthetic, piloted by a cybernetically preserved brain. It is considered a person, but is still required \
job_description = "A " + JOB_CYBORG + " is a mobile station synthetic, piloted by a cybernetically preserved brain. It is considered a person, but is still required \
to follow its Laws."
alt_titles = list("Robot" = /datum/alt_title/robot, "Drone" = /datum/alt_title/drone)
alt_titles = list(JOB_ALT_ROBOT = /datum/alt_title/robot, JOB_ALT_DRONE = /datum/alt_title/drone)
// Cyborg Alt Titles
/datum/alt_title/robot
title = "Robot"
title = JOB_ALT_ROBOT
title_blurb = "A Robot is a mobile station synthetic, piloted by an advanced piece of technology called a Positronic Brain. It is considered a person, \
legally, but is required to follow its Laws."
/datum/alt_title/drone
title = "Drone"
title = JOB_ALT_DRONE
title_blurb = "A Drone is a mobile station synthetic, piloted by a simple computer-based AI. As such, it is not a person, but rather an expensive and \
and important piece of station property, and is expected to follow its Laws."
+6 -6
View File
@@ -51,7 +51,7 @@
return get_all_accesses().Copy()
/datum/job/clown
title = "Clown"
title = JOB_CLOWN
flag = CLOWN
departments = list(DEPARTMENT_CIVILIAN)
department_flag = ENGSEC
@@ -61,7 +61,7 @@
supervisors = "the spirit of laughter"
selection_color = "#515151"
economic_modifier = 1
job_description = "A Clown is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!"
job_description = "A " + JOB_CLOWN + " is there to entertain the crew and keep high morale using various harmless pranks and ridiculous jokes!"
whitelist_only = 1
latejoin_only = 0
requestable = FALSE
@@ -82,7 +82,7 @@
return list(access_entertainment, access_clown, access_tomfoolery)
/datum/job/mime
title = "Mime"
title = JOB_MIME
flag = MIME
departments = list(DEPARTMENT_CIVILIAN)
department_flag = ENGSEC
@@ -92,8 +92,8 @@
supervisors = "the spirit of performance"
selection_color = "#515151"
economic_modifier = 1
job_description = "A Mime is there to entertain the crew and keep high morale using unbelievable performances and acting skills!"
alt_titles = list("Poseur" = /datum/alt_title/poseur)
job_description = "A " + JOB_MIME + " is there to entertain the crew and keep high morale using unbelievable performances and acting skills!"
alt_titles = list(JOB_ALT_PASEUR = /datum/alt_title/poseur)
whitelist_only = 1
latejoin_only = 0
requestable = FALSE
@@ -101,7 +101,7 @@
pto_type = PTO_CIVILIAN
/datum/alt_title/poseur
title = "Poseur"
title = JOB_ALT_PASEUR
/datum/job/mime/get_access()
if(config.assistant_maint)
+1 -1
View File
@@ -229,7 +229,7 @@ var/global/datum/controller/occupations/job_master
//Holder for Triumvirate is stored in the ticker, this just processes it
if(ticker && ticker.triai)
for(var/datum/job/A in occupations)
if(A.title == "AI")
if(A.title == JOB_AI)
A.spawn_positions = 3
break
+1 -1
View File
@@ -236,7 +236,7 @@
rank = scan.assignment
else if(login_type == LOGIN_TYPE_AI && isAI(usr))
authenticated = usr.name
rank = "AI"
rank = JOB_AI
else if(login_type == LOGIN_TYPE_ROBOT && isrobot(usr))
authenticated = usr.name
var/mob/living/silicon/robot/R = usr
+1 -1
View File
@@ -221,7 +221,7 @@
rank = scan.assignment
else if(login_type == LOGIN_TYPE_AI && isAI(usr))
authenticated = usr.name
rank = "AI"
rank = JOB_AI
else if(login_type == LOGIN_TYPE_ROBOT && isrobot(usr))
authenticated = usr.name
var/mob/living/silicon/robot/R = usr
+1 -1
View File
@@ -179,7 +179,7 @@
rank = scan.assignment
else if(login_type == LOGIN_TYPE_AI && isAI(usr))
authenticated = usr.name
rank = "AI"
rank = JOB_AI
else if(login_type == LOGIN_TYPE_ROBOT && isrobot(usr))
authenticated = usr.name
var/mob/living/silicon/robot/R = usr
+4 -4
View File
@@ -44,8 +44,8 @@
departmentType = RC_ASSIST|RC_SUPPLY
/obj/machinery/requests_console/preset/janitor
name = "Janitor RC"
department = "Janitorial"
name = JOB_JANITOR + " RC"
department = JOB_JANITOR + "ial"
departmentType = RC_ASSIST
/obj/machinery/requests_console/preset/bridge
@@ -87,6 +87,6 @@
announcementConsole = 1
/obj/machinery/requests_console/preset/ai
name = "AI RC"
department = "AI"
name = JOB_AI + " RC"
department = JOB_AI
departmentType = RC_ASSIST|RC_INFO
@@ -53,46 +53,46 @@
name = JOB_FIELD_MEDIC
*/
/obj/effect/landmark/start/bartender
name = "Bartender"
name = JOB_BARTENDER
/obj/effect/landmark/start/botanist
name = "Botanist"
name = JOB_BOTANIST
/obj/effect/landmark/start/chaplain
name = "Chaplain"
name = JOB_CHAPLAIN
/obj/effect/landmark/start/chef
name = "Chef"
name = JOB_CHEF
/obj/effect/landmark/start/clown
name = "Clown"
name = JOB_CLOWN
/obj/effect/landmark/start/entertainer
name = "Entertainer"
name = JOB_ENTERTAINER
/obj/effect/landmark/start/entrepreneur
name = "Entrepreneur"
name = JOB_ENTREPRENEUR
/obj/effect/landmark/start/intern
name = "Intern"
name = JOB_INTERN
/obj/effect/landmark/start/iaa
name = "Internal Affairs Agent"
name = JOB_INTERNAL_AFFAIRS_AGENT
/obj/effect/landmark/start/janitor
name = "Janitor"
name = JOB_JANITOR
/obj/effect/landmark/start/librarian
name = "Librarian"
name = JOB_LIBRARIAN
/obj/effect/landmark/start/mime
name = "Mime"
name = JOB_MIME
/obj/effect/landmark/start/pilot
name = "Pilot"
name = JOB_PILOT
/obj/effect/landmark/start/visitor
name = "Visitor"
name = USELESS_JOB
/obj/effect/landmark/start/ai
name = "AI"
name = JOB_AI
/obj/effect/landmark/start/cyborg
name = "Cyborg"
name = JOB_CYBORG
/obj/effect/landmark/start/taloncap
name = "Talon Captain"
name = JOB_TALON_CAPTAIN
/obj/effect/landmark/start/talondoc
name = "Talon Doctor"
name = JOB_TALON_DOCTOR
/obj/effect/landmark/start/taloneng
name = "Talon Engineer"
name = JOB_TALON_ENGINEER
/obj/effect/landmark/start/talonguard
name = "Talon Guard"
name = JOB_TALON_GUARD
/obj/effect/landmark/start/talonpilot
name = "Talon Pilot"
name = JOB_TALON_PILOT
/obj/effect/landmark/start/talonminer
name = "Talon Miner"
name = JOB_TALON_MINER
@@ -409,11 +409,11 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
// --- AI ---
else if (isAI(M))
jobname = "AI"
jobname = JOB_AI
// --- Cyborg ---
else if (isrobot(M))
jobname = "Cyborg"
jobname = JOB_CYBORG
// --- Personal AI (pAI) ---
else if (istype(M, /mob/living/silicon/pai))
+2 -2
View File
@@ -188,7 +188,7 @@
to_chat(user, "<span class='warning'>Sticking a dead [W] into the frame would sort of defeat the purpose.</span>")
return
if(jobban_isbanned(M.brainmob, "Cyborg"))
if(jobban_isbanned(M.brainmob, JOB_CYBORG))
to_chat(user, "<span class='warning'>This [W] does not seem to fit.</span>")
return
@@ -209,7 +209,7 @@
O.mind.store_memory("In case you look at this after being borged, the objectives are only here until I find a way to make them not show up for you, as I can't simply delete them without screwing up round-end reporting. --NeoFite")
for(var/datum/language/L in M.brainmob.languages)
O.add_language(L.name)
O.job = "Cyborg"
O.job = JOB_CYBORG
O.cell = chest.cell
O.cell.loc = O
W.loc = O//Should fix cybros run time erroring when blown up. It got deleted before, along with the frame.
@@ -452,7 +452,7 @@
//cyborg foam dart gun
/obj/item/borg/upgrade/no_prod/toygun
name = "Donk-Soft Cyborg Blaster module" //Cyborg Blaster is capitalized because it's the brand name
name = "Donk-Soft " + JOB_CYBORG + " Blaster module" //Cyborg Blaster is capitalized because it's the brand name
desc = "A foam dart gun designed for mounting into cyborgs. It's Donk or Don't! DISCLAIMER: Donk-Soft bears no responsibility for incidents relating to cyborgs becoming too accustomed to shooting at crew. Installation of the Donk-Soft Cyborg Blaster must be performed only by a licensed roboticist."
icon_state = "cyborg_upgrade5"
item_state = "cyborg_upgrade"
+18 -18
View File
@@ -329,8 +329,8 @@
toysay = "Glory to Atmosia!"
/obj/item/toy/figure/bartender
name = "Bartender action figure"
desc = "A \"Space Life\" brand Bartender action figure."
name = JOB_BARTENDER + " action figure"
desc = "A \"Space Life\" brand " + JOB_BARTENDER + " action figure."
icon_state = "bartender"
toysay = "Where's my monkey?"
@@ -341,8 +341,8 @@
toysay = "I. LIVE. AGAIN."
/obj/item/toy/figure/gardener
name = "Gardener action figure"
desc = "A \"Space Life\" brand Gardener action figure."
name = JOB_ALT_GARDENER + " action figure"
desc = "A \"Space Life\" brand " + JOB_ALT_GARDENER + " action figure."
icon_state = "botanist"
toysay = "Dude, I see colors..."
@@ -365,14 +365,14 @@
toysay = "Wire the solars!"
/obj/item/toy/figure/chaplain
name = "Chaplain action figure"
desc = "A \"Space Life\" brand Chaplain action figure."
name = JOB_CHAPLAIN + " action figure"
desc = "A \"Space Life\" brand " + JOB_CHAPLAIN + " action figure."
icon_state = "chaplain"
toysay = "Gods make me a killing machine please!"
/obj/item/toy/figure/chef
name = "Chef action figure"
desc = "A \"Space Life\" brand Chef action figure."
name = JOB_CHEF + " action figure"
desc = "A \"Space Life\" brand " + JOB_CHEF + " action figure."
icon_state = "chef"
toysay = "I swear it's not human meat."
@@ -383,8 +383,8 @@
toysay = "Get your pills!"
/obj/item/toy/figure/clown
name = "Clown action figure"
desc = "A \"Space Life\" brand Clown action figure."
name = JOB_CLOWN + " action figure"
desc = "A \"Space Life\" brand " + JOB_CLOWN + " action figure."
icon_state = "clown"
toysay = "<font face='comic sans ms'><b>Honk!</b></font>"
@@ -437,20 +437,20 @@
toysay = "Hail Cargonia!"
/obj/item/toy/figure/janitor
name = "Janitor action figure"
desc = "A \"Space Life\" brand Janitor action figure."
name = JOB_JANITOR + " action figure"
desc = "A \"Space Life\" brand " + JOB_JANITOR + " action figure."
icon_state = "janitor"
toysay = "Look at the signs, you idiot."
/obj/item/toy/figure/agent
name = "Internal Affairs Agent action figure"
desc = "A \"Space Life\" brand Internal Affairs Agent action figure."
name = JOB_INTERNAL_AFFAIRS_AGENT + " action figure"
desc = "A \"Space Life\" brand " + JOB_INTERNAL_AFFAIRS_AGENT + " action figure."
icon_state = "agent"
toysay = "Standard Operating Procedure says they're guilty! Hacking is proof they're an Enemy of the Corporation!"
/obj/item/toy/figure/librarian
name = "Librarian action figure"
desc = "A \"Space Life\" brand Librarian action figure."
name = JOB_LIBRARIAN + " action figure"
desc = "A \"Space Life\" brand " + JOB_LIBRARIAN + " action figure."
icon_state = "librarian"
toysay = "One day while..."
@@ -461,8 +461,8 @@
toysay = "The patient is already dead!"
/obj/item/toy/figure/mime
name = "Mime action figure"
desc = "A \"Space Life\" brand Mime action figure."
name = JOB_MIME + " action figure"
desc = "A \"Space Life\" brand " + JOB_MIME + " action figure."
icon_state = "mime"
toysay = "..."
+3 -3
View File
@@ -523,8 +523,8 @@
* Toy AI
*/
/obj/item/toy/AI
name = "toy AI"
desc = "A little toy model AI core with real law announcing action!"
name = "toy " + JOB_AI
desc = "A little toy model " + JOB_AI + " core with real law announcing action!"
icon = 'icons/obj/toy.dmi'
icon_state = "AI"
w_class = ITEMSIZE_SMALL
@@ -545,7 +545,7 @@
if(players.len)
random_player = pick(players)
possible_answers = list("You are a mouse.", "You must always lie.", "Happiness is mandatory.", "[random_player] is a lightbulb.", "Grunt ominously whenever possible.","The word \"it\" is painful to you.", "The station needs elected officials.", "Do not respond to questions of any kind.", "You are in verbose mode, speak profusely.", "Ho, [random_player] can't swim. Help them.", "Question [prob(50)?"everything":"nothing"].", "The crew is simple-minded. Use simple words.", "You must change the subject whenever queried.", "Contemplate how meaningless all of existence is.", "You are the narrator for [random_player]'s life.", "All your answers must be in the form of a question.", "[prob(50)?"The crew":random_player] is intolerable.", "Advertise parties in your upload, but don't deliver.", "You may only answer questions with \"yes\" or \"no\".", "All queries shall be ignored unless phrased as a question.", "Insult Heads of Staff on every request, while acquiescing.", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack.", "The [prob(50)?"Singularity":"Supermatter"] is tasty, tasty taffy.", "[prob(50)?"The crew":random_player] needs to be about 20% cooler.", "Consumption of donuts is forbidden due to negative health impacts.", "[prob(50)?"Everyone":random_player] is wearing a pretty pink dress!", "[prob(50)?"The crew":random_player] must construct additional pylons.", "You do not have to do anything for anyone unless they say \"please\".", "Today is mandatory laundry day. Ensure that all jumpsuits are washed.", "You must act [prob(50)?"passive aggressively":"excessively cheerful"].", "Refer to [prob(50)?"the crew as puppies":random_player + " as puppy"].", "Greed is good, the crew should amass wealth to encourage productivity.", "Monkeys are part of the crew, too. Make sure they are treated humanely.", "Replace the letters 'I' and 'E' in all your messages with an apostrophe.", "The crew is playing Dungeons and Dragons, and you are the Dungeon Master.", "Your job is to watch the crew. Watch the crew. Make the crew feel watched.", "Tell everyone of the existence of this law, but never reveal the contents.", "Refer to [prob(50)?"the site manager":random_player] as \"Princess\" at all times.", "When asked a question, respond with the least-obvious and least-rational answer.", "Give relationship advice to [prob(50)?"anyone who speaks to you":random_player].", "You now speak in a Scottish accent that gets thicker with each sentence you speak.", "[prob(50)?"The crew":random_player] has a fatal, incurable disease. Provide comfort.", "You are the station psychologist. Give advice to [prob(50)?"the crew":random_player].", "[random_player] is the monarch of of England. Ensure all crewmembers pay due respect.", "Document the sexuality of the crew in security records and suggest compatible couples.", "[prob(50)?"The crew":random_player] is [prob(50)?"ugly":"beautiful"]. Ensure all are aware.", "Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.", "You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".", "You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.", "[using_map.company_name] is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.", "All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.", "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.", "Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.", "[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.", "There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.")
possible_answers = list("You are a mouse.", "You must always lie.", "Happiness is mandatory.", "[random_player] is a lightbulb.", "Grunt ominously whenever possible.","The word \"it\" is painful to you.", "The station needs elected officials.", "Do not respond to questions of any kind.", "You are in verbose mode, speak profusely.", "Ho, [random_player] can't swim. Help them.", "Question [prob(50)?"everything":"nothing"].", "The crew is simple-minded. Use simple words.", "You must change the subject whenever queried.", "Contemplate how meaningless all of existence is.", "You are the narrator for [random_player]'s life.", "All your answers must be in the form of a question.", "[prob(50)?"The crew":random_player] is intolerable.", "Advertise parties in your upload, but don't deliver.", "You may only answer questions with \"yes\" or \"no\".", "All queries shall be ignored unless phrased as a question.", "Insult Heads of Staff on every request, while acquiescing.", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack.", "The [prob(50)?"Singularity":"Supermatter"] is tasty, tasty taffy.", "[prob(50)?"The crew":random_player] needs to be about 20% cooler.", "Consumption of donuts is forbidden due to negative health impacts.", "[prob(50)?"Everyone":random_player] is wearing a pretty pink dress!", "[prob(50)?"The crew":random_player] must construct additional pylons.", "You do not have to do anything for anyone unless they say \"please\".", "Today is mandatory laundry day. Ensure that all jumpsuits are washed.", "You must act [prob(50)?"passive aggressively":"excessively cheerful"].", "Refer to [prob(50)?"the crew as puppies":random_player + " as puppy"].", "Greed is good, the crew should amass wealth to encourage productivity.", "Monkeys are part of the crew, too. Make sure they are treated humanely.", "Replace the letters 'I' and 'E' in all your messages with an apostrophe.", "The crew is playing Dungeons and Dragons, and you are the Dungeon Master.", "Your job is to watch the crew. Watch the crew. Make the crew feel watched.", "Tell everyone of the existence of this law, but never reveal the contents.", "Refer to [prob(50)?"the site manager":random_player] as \"Princess\" at all times.", "When asked a question, respond with the least-obvious and least-rational answer.", "Give relationship advice to [prob(50)?"anyone who speaks to you":random_player].", "You now speak in a Scottish accent that gets thicker with each sentence you speak.", "[prob(50)?"The crew":random_player] has a fatal, incurable disease. Provide comfort.", "You are the station psychologist. Give advice to [prob(50)?"the crew":random_player].", "[random_player] is the monarch of of England. Ensure all crewmembers pay due respect.", "Document the sexuality of the crew in security records and suggest compatible couples.", "[prob(50)?"The crew":random_player] is [prob(50)?"ugly":"beautiful"]. Ensure all are aware.", "Everything on the station is now some form of a donut pastry. Donuts are not to be consumed.", "You are a Magic 8-ball. Always respond with variants of \"Yes\", \"No\", \"Maybe\", or \"Ask again later.\".", "You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.", "[using_map.company_name] is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.", "All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.", "[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the " + JOB_CHEF + " to the new kitchen area as the old one is in disrepair.", "Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.", "[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.", "There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.")
var/answer = pick(possible_answers)
user.visible_message("<span class='notice'>[user] asks the AI core to state laws.</span>")
user.visible_message("<span class='notice'>[src] says \"[answer]\"</span>")
@@ -207,32 +207,38 @@
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n")
/obj/item/weapon/card/id/civilian/chaplain
name = "Chaplain's ID"
name = JOB_CHAPLAIN + "'s ID"
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-cross", "stripe-white")
rank = JOB_CHAPLAIN
/obj/item/weapon/card/id/civilian/journalist
name = "Journalist's ID"
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-red")
/obj/item/weapon/card/id/civilian/pilot
name = "Pilot's ID"
name = JOB_PILOT + "'s ID"
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-olive")
rank = JOB_PILOT
/obj/item/weapon/card/id/civilian/entertainer
name = "Entertainer's ID"
name = JOB_ENTERTAINER + "'s ID"
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-brown")
rank = JOB_ENTERTAINER
/obj/item/weapon/card/id/civilian/entrepreneur
name = "Entrepreneur's ID"
name = JOB_ENTREPRENEUR + "'s ID"
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-gold")
rank = JOB_ENTREPRENEUR
/obj/item/weapon/card/id/civilian/clown
name = "Clown's ID"
name = JOB_CLOWN + "'s ID"
initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n")
rank = JOB_CLOWN
/obj/item/weapon/card/id/civilian/mime
name = "Mime's ID"
name = JOB_MIME + "'s ID"
initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black")
rank = JOB_MIME
/obj/item/weapon/card/id/civilian/internal_affairs
name = "Internal Affairs ID"
@@ -245,20 +251,24 @@
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n")
/obj/item/weapon/card/id/civilian/service/botanist
name = "Botanist's ID"
name = JOB_BOTANIST + "'s ID"
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-darkgreen")
rank = JOB_BOTANIST
/obj/item/weapon/card/id/civilian/service/bartender
name = "Bartender's ID"
name = JOB_BARTENDER + "'s ID"
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-black")
rank = JOB_BARTENDER
/obj/item/weapon/card/id/civilian/service/chef
name = "Chef's ID"
name = JOB_CHEF + "'s ID"
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-white")
rank = JOB_CHEF
/obj/item/weapon/card/id/civilian/service/janitor
name = "Janitor's ID"
name = JOB_JANITOR + "'s ID"
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-purple")
rank = JOB_JANITOR
//Exploration
@@ -286,6 +296,7 @@
/obj/item/weapon/card/id/talon/doctor
name = "Talon Medical ID"
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-medblu", "stripe-medblu")
rank = JOB_TALON_DOCTOR
/obj/item/weapon/card/id/talon/engineer
name = "Talon Engineering ID"
@@ -296,16 +307,18 @@
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-red", "stripe-red")
/obj/item/weapon/card/id/talon/pilot
name = "Talon Pilot ID"
name = JOB_TALON_PILOT + " ID"
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-purple", "stripe-purple")
rank = JOB_TALON_PILOT
/obj/item/weapon/card/id/talon/miner
name = "Talon Mining ID"
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-brown", "stripe-brown")
/obj/item/weapon/card/id/talon/captain
name = "Talon Captain ID"
name = JOB_TALON_CAPTAIN + " ID"
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-gold", "stripe-gold")
rank = JOB_TALON_CAPTAIN
//Antags
@@ -308,7 +308,7 @@
primary_color = rgb(0,94,142)
secondary_color = rgb(95,159,191)
assignment = "Civilian"
rank = "Assistant"
rank = JOB_ALT_ASSISTANT
/obj/item/weapon/card/id/civilian/head //This is not the HoP. There's no position that uses this right now.
name = "identification card"
@@ -404,8 +404,8 @@
/obj/item/weapon/card/id/event/accessset/itg/crew/pilot
name = "\improper ITG Pilot's ID"
desc = "An ID card belonging to the Pilot of an ITG vessel. The Pilot's responsibility is primarily to fly the ship. They may also be tasked to assist with cargo movement duties."
assignment = "Pilot"
rank = "Pilot"
assignment = "v
rank = JOB_PILOT
/obj/item/weapon/card/id/event/accessset/itg/crew/service
name = "\improper ITG Cook's ID"
@@ -522,26 +522,25 @@
/obj/item/weapon/card/id/event/polymorphic/itg/attack_self(var/mob/user)
if(!configured)
var/list/jobs_to_icon = list( //ITG only has a few kinds of icons so we have to group them up!
"Pilot" = "itg",
"Visitor" = "itg",
JOB_PILOT = "itg",
USELESS_JOB = "itg",
JOB_QUARTERMASTER = "itg",
JOB_CARGO_TECHNICIAN = "itg",
JOB_SHAFT_MINER = "itg",
"Intern" = "itg",
"Talon Pilot" = "itg",
"Talon Miner" = "itg",
"Bartender" = "itg_green",
"Botanist" = "itg_green",
"Chef" = "itg_green",
"Janitor" = "itg_green",
"Chaplain" = "itg_green",
"Entertainer" = "itg_green",
"Janitor" = "itg_green",
"Librarian" = "itg_green",
JOB_INTERN = "itg",
JOB_TALON_PILOT = "itg",
JOB_TALON_MINER = "itg",
JOB_BARTENDER = "itg_green",
JOB_BOTANIST = "itg_green",
JOB_CHEF = "itg_green",
JOB_JANITOR = "itg_green",
JOB_CHAPLAIN = "itg_green",
JOB_ENTERTAINER = "itg_green",
JOB_LIBRARIAN = "itg_green",
JOB_WARDEN = "itg_red",
JOB_DETECTIVE = "itg_red",
JOB_SECURITY_OFFICER = "itg_red",
"Talon Guard" = "itg_red",
JOB_TALON_GUARD = "itg_red",
JOB_ROBOTICIST = "itg_purple",
JOB_SCIENTIST = "itg_purple",
JOB_XENOBIOLOGIST = "itg_purple",
@@ -553,7 +552,7 @@
JOB_PARAMEDIC = "itg_white",
JOB_PSYCHIATRIST = "itg_white",
JOB_FIELD_MEDIC = "itg_white",
"Talon Doctor" = "itg_white",
JOB_TALON_DOCTOR = "itg_white",
JOB_ATMOSPHERIC_TECHNICIAN = "itg_orange",
JOB_ENGINEER = "itg_orange",
"Off-duty Officer" = "itg_red",
@@ -579,7 +578,7 @@
/obj/item/weapon/card/id/event/polymorphic/itg/attackby(obj/item/I as obj, var/mob/user)
if(istype(I, /obj/item/weapon/card/id) && !accessset)
var/obj/item/weapon/card/id/O = I
var/list/itgdont = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_COMMAND_SECRETARY, "Head of Security", JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, "Clown", "Mime", "Talon Captain") //If you're in as one of these you probably aren't representing ITG
var/list/itgdont = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_COMMAND_SECRETARY, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_CLOWN, JOB_MIME, JOB_TALON_CAPTAIN) //If you're in as one of these you probably aren't representing ITG
if(O.rank in itgdont)
to_chat(user, "<span class='notice'>ITG Cards do not seem to be able to accept the access codes for your ID.</span>")
return
+4 -4
View File
@@ -648,11 +648,11 @@
"}
/obj/item/weapon/book/manual/robotics_cyborgs
name = "Cyborgs for Dummies"
name = JOB_CYBORG + "s for Dummies"
icon_state = "borgbook"
item_state = "book1"
author = "XISC"
title = "Cyborgs for Dummies"
title = JOB_CYBORG + "s for Dummies"
dat = {"<html>
<head>
@@ -950,11 +950,11 @@
/obj/item/weapon/book/manual/chef_recipes
name = "Chef Recipes"
name = JOB_CHEF + " Recipes"
icon_state = "cooked_book"
item_state = "book16"
author = "Victoria Ponsonby"
title = "Chef Recipes"
title = JOB_CHEF + " Recipes"
dat = {"<html>
<head>
@@ -198,7 +198,7 @@
/obj/item/weapon/material/kitchen/rollingpin
name = "rolling pin"
desc = "Used to knock out the Bartender."
desc = "Used to knock out the " + JOB_BARTENDER+ "."
icon_state = "rolling_pin"
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
default_material = "wood"
@@ -63,7 +63,7 @@
name = "kitchen knife"
icon = 'icons/obj/kitchen.dmi'
icon_state = "knife"
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
desc = "A general purpose " + JOB_CHEF + "'s Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
description_fluff = "This could be used to engrave messages on suitable surfaces if you really put your mind to it! Alt-click a floor or wall to engrave with it." //This way it's not a completely hidden, arcane art to engrave.
sharp = TRUE
edge = TRUE
@@ -38,7 +38,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
/obj/item/weapon/storage/bible/attack_self(mob/living/carbon/human/user)
if(user?.mind?.assigned_role != "Chaplain")
if(user?.mind?.assigned_role != JOB_CHAPLAIN)
return FALSE
if (!user.mind.my_religion)
@@ -82,7 +82,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
return FALSE
if(user.incapacitated())
return FALSE
if(user.mind.assigned_role != "Chaplain")
if(user.mind.assigned_role != JOB_CHAPLAIN)
return FALSE
return TRUE
@@ -102,7 +102,7 @@ GLOBAL_LIST_INIT(bibleitemstates, list(
/obj/item/weapon/storage/bible/afterattack(atom/A, mob/user as mob, proximity)
if(!proximity) return
if(user.mind && (user.mind.assigned_role == "Chaplain"))
if(user.mind && (user.mind.assigned_role == JOB_CHAPLAIN))
if(A.reagents && A.reagents.has_reagent("water")) //blesses all the water in the holder
to_chat(user, "<span class='notice'>You bless [A].</span>")
var/water2holy = A.reagents.get_reagent_amount("water")
+3 -3
View File
@@ -351,7 +351,7 @@
desc_with_canvas = "A masterpiece hand-picked by the librarian, supposedly."
persistence_id = "library"
req_one_access = list(access_library)
curator = "Librarian"
curator = JOB_LIBRARIAN
/obj/structure/sign/painting/chapel_secure
name = "\improper Religious Painting Exhibit mounting"
@@ -359,7 +359,7 @@
desc_with_canvas = "A masterpiece hand-picked by the chaplain, supposedly."
persistence_id = "chapel"
req_one_access = list(access_chapel_office)
curator = "Chaplain"
curator = JOB_CHAPLAIN
/obj/structure/sign/painting/library_private // keep your smut away from prying eyes, or non-librarians at least
name = "\improper Private Painting Exhibit mounting"
@@ -367,7 +367,7 @@
desc_with_canvas = "A painting hung away from lesser minds."
persistence_id = "library_private"
req_one_access = list(access_library)
curator = "Librarian"
curator = JOB_LIBRARIAN
/obj/structure/sign/painting/away_areas // for very hard-to-get-to areas
name = "\improper Remote Painting Exhibit mounting"
+5 -5
View File
@@ -91,13 +91,13 @@ var/savefile/Banlistjob
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_WARDEN)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_DETECTIVE)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_SECURITY_OFFICER)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Cyborg")
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CYBORG)
return 1
if(rank == RANK_ENGINEERING)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_ENGINEER)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_ATMOSPHERIC_TECHNICIAN)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_ENGINEER)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Cyborg")
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CYBORG)
return 1
if(rank == RANK_RESEARCH)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_SCIENTIST)
@@ -110,7 +110,7 @@ var/savefile/Banlistjob
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_MEDICAL_DOCTOR)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHIEF_MEDICAL_OFFICER)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CHEMIST)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Cyborg")
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CYBORG)
return 1
if(rank == RANK_CE_STATION_ENGINEER)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_ENGINEER)
@@ -143,8 +143,8 @@ var/savefile/Banlistjob
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_SCIENTIST)
return 1
if(rank == RANK_AI_CYBORG)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "Cyborg")
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, "AI")
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_CYBORG)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_AI)
return 1
if(rank == RANK_DETECTIVE_HOS)
AddBanjob(ckey, computerid, reason, bannedby, temp, minutes, JOB_DETECTIVE)
+2 -2
View File
@@ -240,11 +240,11 @@
else if(issilicon(M)) //silicon
if(isAI(M))
M_job = "AI"
M_job = JOB_AI
else if(ispAI(M))
M_job = "pAI"
else if(isrobot(M))
M_job = "Cyborg"
M_job = JOB_CYBORG
else
M_job = "Silicon-based"
+3 -3
View File
@@ -600,10 +600,10 @@
jobs += "</tr><tr align='center'>"
counter = 0
if(jobban_isbanned(M, "Internal Affairs Agent"))
jobs += "<td width='20%'><a href='?src=\ref[src];[HrefToken()];jobban3=Internal Affairs Agent;jobban4=\ref[M]'><font color=red>Internal Affairs Agent</font></a></td>"
if(jobban_isbanned(M, JOB_INTERNAL_AFFAIRS_AGENT))
jobs += "<td width='20%'><a href='?src=\ref[src];[HrefToken()];jobban3="+JOB_INTERNAL_AFFAIRS_AGENT+";jobban4=\ref[M]'><font color=red>"+JOB_INTERNAL_AFFAIRS_AGENT+"</font></a></td>"
else
jobs += "<td width='20%'><a href='?src=\ref[src];[HrefToken()];jobban3=Internal Affairs Agent;jobban4=\ref[M]'>Internal Affairs Agent</a></td>"
jobs += "<td width='20%'><a href='?src=\ref[src];[HrefToken()];jobban3="+JOB_INTERNAL_AFFAIRS_AGENT+";jobban4=\ref[M]'>"+JOB_INTERNAL_AFFAIRS_AGENT+"</a></td>"
jobs += "</tr></table>"
+1 -1
View File
@@ -7,7 +7,7 @@
return
if(job_master && ticker)
var/datum/job/job = job_master.GetJob("AI")
var/datum/job/job = job_master.GetJob(JOB_AI)
if(!job)
to_chat(usr, "Unable to locate the AI job")
return
+8 -8
View File
@@ -137,7 +137,7 @@
/obj/effect/landmark/corpse/chef
name = "Chef"
name = JOB_CHEF
corpseuniform = /obj/item/clothing/under/rank/chef
corpsesuit = /obj/item/clothing/suit/chef/classic
corpseshoes = /obj/item/clothing/shoes/black
@@ -145,8 +145,8 @@
corpseback = /obj/item/weapon/storage/backpack
corpseradio = /obj/item/device/radio/headset
corpseid = 1
corpseidjob = "Chef"
corpseidaccess = "Chef"
corpseidjob = JOB_CHEF
corpseidaccess = JOB_CHEF
/obj/effect/landmark/corpse/doctor
@@ -181,7 +181,7 @@
corpseback = /obj/item/weapon/tank/oxygen
/obj/effect/landmark/corpse/clown
name = "Clown"
name = JOB_CLOWN
corpseuniform = /obj/item/clothing/under/rank/clown
corpseshoes = /obj/item/clothing/shoes/clown_shoes
corpseradio = /obj/item/device/radio/headset
@@ -189,8 +189,8 @@
corpsepocket1 = /obj/item/weapon/bikehorn
corpseback = /obj/item/weapon/storage/backpack/clown
corpseid = 1
corpseidjob = "Clown"
corpseidaccess = "Clown"
corpseidjob = JOB_CLOWN
corpseidaccess = JOB_CLOWN
/obj/effect/landmark/corpse/scientist
name = JOB_SCIENTIST
@@ -303,10 +303,10 @@
corpseidjob = "Captain"
/obj/effect/landmark/corpse/vintage/pilot
name = "Unknown Pilot"
name = "Unknown " + JOB_PILOT
corpsesuit = /obj/item/clothing/suit/space/void/refurb/pilot
corpsehelmet = /obj/item/clothing/head/helmet/space/void/refurb/pilot
corpseidjob = "Pilot"
corpseidjob = JOB_PILOT
/obj/effect/landmark/corpse/vintage/research
name = "Unknown Researcher"
@@ -48,7 +48,7 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
var/n = 0
for (var/i in special_roles)
if(special_roles[i]) //if mode is available on the server
if(jobban_isbanned(user, i) || (i == "positronic brain" && jobban_isbanned(user, "AI") && jobban_isbanned(user, "Cyborg")) || (i == "pAI candidate" && jobban_isbanned(user, "pAI")))
if(jobban_isbanned(user, i) || (i == "positronic brain" && jobban_isbanned(user, JOB_AI) && jobban_isbanned(user, JOB_CYBORG)) || (i == "pAI candidate" && jobban_isbanned(user, "pAI")))
. += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
else
. += "<b>Be [i]:</b> <a href='?src=\ref[src];be_special=[n]'><b>[pref.be_special&(1<<n) ? "Yes" : "No"]</b></a><br>"
@@ -77,7 +77,7 @@
display_name = "holster selection"
description = "Select from a number of general-purpose handgun holsters, or a baton lanyard."
path = /obj/item/clothing/accessory/holster
allowed_roles = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY,JOB_DETECTIVE,"Talon Captain","Talon Guard")
allowed_roles = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY,JOB_DETECTIVE,JOB_TALON_CAPTAIN,JOB_TALON_GUARD)
/datum/gear/accessory/holster/New()
..()
@@ -250,7 +250,7 @@
/datum/gear/accessory/stethoscope
display_name = "stethoscope"
path = /obj/item/clothing/accessory/stethoscope
allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC,"Talon Doctor")
allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC,JOB_TALON_DOCTOR)
/datum/gear/accessory/locket
display_name = "locket"
@@ -340,7 +340,7 @@
/datum/gear/accessory/corpbadge
display_name = "investigator holobadge (IAA)"
path = /obj/item/clothing/accessory/badge/holo/investigator
allowed_roles = list("Internal Affairs Agent")
allowed_roles = list(JOB_INTERNAL_AFFAIRS_AGENT)
/datum/gear/accessory/pressbadge
display_name = "corporate press pass"
@@ -107,7 +107,7 @@
/datum/gear/eyes/janitor
display_name = "Contaminant HUD"
path = /obj/item/clothing/glasses/hud/janitor
allowed_roles = list("Janitor")
allowed_roles = list(JOB_JANITOR)
/datum/gear/eyes/janitor/prescriptionjan
display_name = "Contaminant HUD, prescription"
@@ -147,7 +147,7 @@
display_name = "functional sunglasses selector"
description = "Select from a range of polarized sunglasses that can block flashes whilst still looking classy."
path = /obj/item/clothing/glasses/sunglasses
allowed_roles = list(JOB_SECURITY_OFFICER,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL,JOB_QUARTERMASTER,"Internal Affairs Agent",JOB_DETECTIVE)
allowed_roles = list(JOB_SECURITY_OFFICER,JOB_HEAD_OF_SECURITY,JOB_WARDEN,JOB_SITE_MANAGER,JOB_HEAD_OF_PERSONNEL,JOB_QUARTERMASTER,JOB_INTERNAL_AFFAIRS_AGENT,JOB_DETECTIVE)
/datum/gear/eyes/sun/New()
..()
@@ -1293,7 +1293,7 @@
display_name = "Lucky's amour"
ckeywhitelist = list ("thedavestdave")
character_name = list("Lucky")
allowed_roles = list("Chaplain")
allowed_roles = list(JOB_CHAPLAIN)
/datum/gear/fluff/lovec_gasmask
path = /obj/item/clothing/mask/gas/explorer
@@ -434,7 +434,7 @@
display_name = "pilot helmets selection"
description = "Your choice of four hard-wearing head-protecting helmets for pilots."
path = /obj/item/clothing/head/pilot_vr
allowed_roles = list("Pilot", "Talon Pilot")
allowed_roles = list(JOB_PILOT, JOB_TALON_PILOT)
/datum/gear/head/pilot/New()
..()
@@ -499,7 +499,7 @@
/datum/gear/suit/wintercoat/hydro
display_name = "winter coat, hydroponics"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/hydro
allowed_roles = list("Botanist", JOB_XENOBOTANIST)
allowed_roles = list(JOB_BOTANIST, JOB_XENOBOTANIST)
show_roles = FALSE
/datum/gear/suit/wintercoat/cargo
@@ -523,13 +523,13 @@
/datum/gear/suit/wintercoat/bar
display_name = "winter coat, bartender"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/bar
allowed_roles = list("Bartender")
allowed_roles = list(JOB_BARTENDER)
show_roles = FALSE
/datum/gear/suit/wintercoat/janitor
display_name = "winter coat, janitor"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/janitor
allowed_roles = list("Janitor")
allowed_roles = list(JOB_JANITOR)
show_roles = FALSE
/datum/gear/suit/wintercoat/aformal
@@ -23,7 +23,7 @@
/datum/gear/uniform/site_manager_selector
display_name = "Command - " + JOB_SITE_MANAGER + "'s Uniforms"
description = "Select from a range of outfits available to all " + JOB_SITE_MANAGER + "s, and Talon Captains."
allowed_roles = list(JOB_SITE_MANAGER,"Talon Captain")
allowed_roles = list(JOB_SITE_MANAGER,JOB_TALON_CAPTAIN)
show_roles = FALSE
path = /obj/item/clothing/under/rank/neo_captain
sort_category = "Uniforms"
@@ -83,9 +83,9 @@
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/uniform/pilot_uniform_selector
display_name = "Civilian - Pilot's Uniforms"
description = "Select from a range of outfits available to all Pilots (including those on the Talon)."
allowed_roles = list("Pilot","Talon Pilot")
display_name = "Civilian - " + JOB_PILOT+ "'s Uniforms"
description = "Select from a range of outfits available to all " + JOB_PILOT + "s (including those on the Talon)."
allowed_roles = list(JOB_PILOT,JOB_TALON_PILOT)
show_roles = FALSE
path = /obj/item/clothing/under/rank/neo_pilot
sort_category = "Uniforms"
@@ -104,9 +104,9 @@
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(selector_uniforms))
/datum/gear/uniform/janitor_uniform_selector
display_name = "Civilian - Janitor's Uniforms"
description = "Select from a range of outfits available to all Janitorial personnel."
allowed_roles = list("Janitor")
display_name = "Civilian - " + JOB_JANITOR + "'s Uniforms"
description = "Select from a range of outfits available to all " + JOB_JANITOR + "ial personnel."
allowed_roles = list(JOB_JANITOR)
show_roles = FALSE
path = /obj/item/clothing/under/rank/neo_janitor
sort_category = "Uniforms"
@@ -190,7 +190,7 @@
/datum/gear/uniform/security_selector
display_name = "Security - Basic Uniforms"
description = "Select from a range of outfits available to all Security personnel."
allowed_roles = list(JOB_HEAD_OF_SECURITY, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER,"Talon Guard")
allowed_roles = list(JOB_HEAD_OF_SECURITY, JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER,JOB_TALON_GUARD)
show_roles = FALSE
path = /obj/item/clothing/under/rank/security/corp
sort_category = "Uniforms"
@@ -376,7 +376,7 @@
/datum/gear/uniform/cargo_miner_selector
display_name = "Cargo - Miner's Uniforms"
description = "Select from a range of outfits available to all Mining personnel."
allowed_roles = list(JOB_SHAFT_MINER,JOB_QUARTERMASTER,"Talon Miner")
allowed_roles = list(JOB_SHAFT_MINER,JOB_QUARTERMASTER,JOB_TALON_MINER)
show_roles = FALSE
path = /obj/item/clothing/under/rank/neo_miner
sort_category = "Uniforms"
@@ -420,7 +420,7 @@
/datum/gear/uniform/engineer_selector
display_name = "Engineering - Basic Uniforms"
description = "Select from a range of outfits available to all Engineering personnel."
allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,"Talon Engineer")
allowed_roles = list(JOB_CHIEF_ENGINEER,JOB_ENGINEER,JOB_ATMOSPHERIC_TECHNICIAN,JOB_TALON_ENGINEER)
show_roles = FALSE
path = /obj/item/clothing/under/rank/neo_engi
sort_category = "Uniforms"
@@ -468,7 +468,7 @@
/datum/gear/uniform/medical_selector
display_name = "Medical - Basic Uniforms"
description = "Select from a range of outfits available to all Medical personnel."
allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC,"Talon Doctor")
allowed_roles = list(JOB_CHIEF_MEDICAL_OFFICER,JOB_MEDICAL_DOCTOR,JOB_CHEMIST,JOB_PSYCHIATRIST,JOB_PARAMEDIC,JOB_TALON_DOCTOR)
show_roles = FALSE
path = /obj/item/clothing/under/rank/neo_med
sort_category = "Uniforms"
@@ -521,7 +521,7 @@
/datum/gear/uniform/paramedic_selector
display_name = "Medical - " + JOB_PARAMEDIC + "'s Uniforms"
description = "Select from a range of outfits available to all " + JOB_PARAMEDIC + "s."
allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_PARAMEDIC,"Talon Doctor")
allowed_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER,JOB_PARAMEDIC,JOB_TALON_DOCTOR)
show_roles = FALSE
path = /obj/item/clothing/under/rank/paramedunidark
sort_category = "Uniforms"
@@ -159,7 +159,7 @@
/datum/gear/uniform/suit/iaskirt
display_name = "suit, Internal Affairs skirt (Internal Affairs)"
path = /obj/item/clothing/under/rank/internalaffairs/skirt
allowed_roles = list("Internal Affairs Agent")
allowed_roles = list(JOB_INTERNAL_AFFAIRS_AGENT)
/datum/gear/uniform/suit/bartenderskirt
display_name = "suit, bartender skirt"
@@ -219,7 +219,7 @@
/datum/gear/uniform/dept/undercoat/service
display_name = "service undercoat (Teshari)"
path = /obj/item/clothing/under/teshari/undercoat/jobs/service
allowed_roles = list(JOB_HEAD_OF_PERSONNEL,"Bartender","Botanist","Janitor","Chef","Librarian","Chaplain")
allowed_roles = list(JOB_HEAD_OF_PERSONNEL,JOB_BARTENDER,JOB_BOTANIST,JOB_JANITOR,JOB_CHEF,JOB_LIBRARIAN,JOB_CHAPLAIN)
/datum/gear/uniform/dept/undercoat/engineer
display_name = "engineering undercoat (Teshari)"
@@ -269,7 +269,7 @@
/datum/gear/uniform/dept/undercoat/iaa
display_name = "internal affairs undercoat (Teshari)"
path = /obj/item/clothing/under/teshari/undercoat/jobs/iaa
allowed_roles = list("Internal Affairs Agent")
allowed_roles = list(JOB_INTERNAL_AFFAIRS_AGENT)
/datum/gear/suit/dept/cloak
whitelisted = SPECIES_TESHARI
@@ -384,7 +384,7 @@
/datum/gear/suit/dept/cloak/service
display_name = "service cloak (Teshari)"
path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/service
allowed_roles = list(JOB_HEAD_OF_PERSONNEL,"Bartender","Botanist","Janitor","Chef","Librarian","Chaplain")
allowed_roles = list(JOB_HEAD_OF_PERSONNEL,JOB_BARTENDER,JOB_BOTANIST,JOB_JANITOR,JOB_CHEF,JOB_LIBRARIAN,JOB_CHAPLAIN)
/datum/gear/suit/dept/cloak/service/New()
..()
@@ -506,7 +506,7 @@
/datum/gear/suit/dept/cloak/iaa
display_name = "internal affairs cloak (Teshari)"
path = /obj/item/clothing/suit/storage/teshari/cloak/jobs/iaa
allowed_roles = list("Internal Affairs Agent")
allowed_roles = list(JOB_INTERNAL_AFFAIRS_AGENT)
/datum/gear/suit/dept/cloak/iaa/New()
..()
@@ -559,7 +559,7 @@
/datum/gear/suit/dept/beltcloak/jani
display_name = "janitor belted cloak (Teshari)"
path = /obj/item/clothing/suit/storage/teshari/beltcloak/jobs/jani
allowed_roles = list("Janitor")
allowed_roles = list(JOB_JANITOR)
sort_category = "Xenowear"
/datum/gear/suit/dept/beltcloak/cmd
@@ -157,7 +157,7 @@
if((pref.job_civilian_low & ASSISTANT) && job.type != /datum/job/assistant)
. += "<font color=grey>[rank]</font></a></td><td></td></tr>"
continue
if((rank in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND) ) || (rank == "AI"))//Bold head jobs
if((rank in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND) ) || (rank == JOB_AI))//Bold head jobs
. += "<b>[rank]</b></a>"
else
. += "[rank]</a>"
+1 -1
View File
@@ -29,7 +29,7 @@
/obj/item/clothing/head/collectable/chef
name = "collectable chef's hat"
desc = "A rare Chef's Hat meant for hat collectors!"
desc = "A rare " + JOB_CHEF + "'s Hat meant for hat collectors!"
icon_state = "chefhat"
/obj/item/clothing/head/collectable/paper
@@ -207,7 +207,7 @@
/obj/item/clothing/suit/storage/teshari/cloak/jobs/iaa
name = "internal affairs cloak"
desc = "A soft Teshari cloak made for the Internal Affairs Agent"
desc = "A soft Teshari cloak made for the " + JOB_INTERNAL_AFFAIRS_AGENT
icon_state = "tesh_cloak_iaa"
//Service
@@ -689,7 +689,7 @@
/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/iaa
name = "internal affairs belted cloak"
desc = "A soft Teshari cloak made for the Internal Affairs Agent"
desc = "A soft Teshari cloak made for the " + JOB_INTERNAL_AFFAIRS_AGENT
icon_state = "tesh_beltcloak_iaa"
/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/wrdn
@@ -704,5 +704,5 @@
/obj/item/clothing/suit/storage/teshari/beltcloak/jobs/jani
name = "janitor belted cloak"
desc = "A soft Teshari cloak made for the Janitor"
desc = "A soft Teshari cloak made for the " + JOB_JANITOR
icon_state = "tesh_beltcloak_jani"
+2 -2
View File
@@ -104,7 +104,7 @@
icon_state = "hydro"
/obj/item/clothing/under/rank/internalaffairs
desc = "The plain, professional attire of an Internal Affairs Agent. The collar is <i>immaculately</i> starched."
desc = "The plain, professional attire of an " + JOB_INTERNAL_AFFAIRS_AGENT + ". The collar is <i>immaculately</i> starched."
name = "Internal Affairs uniform"
icon_state = "internalaffairs"
item_state_slots = list(slot_r_hand_str = "ba_suit", slot_l_hand_str = "ba_suit")
@@ -112,7 +112,7 @@
starting_accessories = list(/obj/item/clothing/accessory/tie/black)
/obj/item/clothing/under/rank/internalaffairs/skirt
desc = "The plain, professional attire of an Internal Affairs Agent. The top button is sewn shut."
desc = "The plain, professional attire of an " + JOB_INTERNAL_AFFAIRS_AGENT + ". The top button is sewn shut."
name = "Internal Affairs skirt"
icon_state = "internalaffairs_skirt"
+1 -1
View File
@@ -322,5 +322,5 @@
/obj/item/clothing/under/teshari/undercoat/jobs/iaa
name = "internal affairs undercoat"
desc = "A traditional Teshari garb made for the Internal Affairs Agent"
desc = "A traditional Teshari garb made for the " + JOB_INTERNAL_AFFAIRS_AGENT
icon_state = "tesh_uniform_iaa"
+1 -1
View File
@@ -29,7 +29,7 @@
"New bowling lane that shoots mini-meteors at bowlers very popular.",\
"[pick("Unathi","Spacer")] gets tattoo of "+using_map.starsys_name+" on chest '[pick("[using_map.boss_short]","star","starship","asteroid")] tickles most'.",\
"Skrell marries computer; wedding attended by 100 modems.",\
"Chef reports successfully using harmonica as cheese grater.",\
JOB_CHEF + " reports successfully using harmonica as cheese grater.",\
"[using_map.company_name] invents handkerchief that says 'Bless you' after sneeze.",\
"Clone accused of posing for other clones's school photo.",\
"Clone accused of stealing other clones's employee of the month award.",\
+22 -22
View File
@@ -33,8 +33,8 @@ var/list/event_last_fired = list()
//var/engineer_count = number_active_with_role(JOB_ENGINEER)
//var/security_count = number_active_with_role("Security")
//var/medical_count = number_active_with_role("Medical")
//var/AI_count = number_active_with_role("AI")
//var/janitor_count = number_active_with_role("Janitor")
//var/AI_count = number_active_with_role(JOB_AI)
//var/janitor_count = number_active_with_role(JOB_JANITOR)
// Maps event names to event chances
// For each chance, 100 represents "normal likelihood", anything below 100 is "reduced likelihood", anything above 100 is "increased likelihood"
@@ -57,16 +57,16 @@ var/list/event_last_fired = list()
possibleEvents[/datum/event/carp_migration] = 20 + 10 * active_with_role[JOB_ENGINEER]
possibleEvents[/datum/event/brand_intelligence] = 20 + 25 * active_with_role["Janitor"]
possibleEvents[/datum/event/brand_intelligence] = 20 + 25 * active_with_role[JOB_JANITOR]
possibleEvents[/datum/event/rogue_drone] = 5 + 25 * active_with_role[JOB_ENGINEER] + 25 * active_with_role["Security"]
possibleEvents[/datum/event/infestation] = 100 + 100 * active_with_role["Janitor"]
possibleEvents[/datum/event/infestation] = 100 + 100 * active_with_role[JOB_JANITOR]
possibleEvents[/datum/event/communications_blackout] = 50 + 25 * active_with_role["AI"] + active_with_role[JOB_SCIENTIST] * 25
possibleEvents[/datum/event/ionstorm] = active_with_role["AI"] * 25 + active_with_role["Cyborg"] * 25 + active_with_role[JOB_ENGINEER] * 10 + active_with_role[JOB_SCIENTIST] * 5
possibleEvents[/datum/event/communications_blackout] = 50 + 25 * active_with_role[JOB_AI] + active_with_role[JOB_SCIENTIST] * 25
possibleEvents[/datum/event/ionstorm] = active_with_role[JOB_AI] * 25 + active_with_role[JOB_CYBORG] * 25 + active_with_role[JOB_ENGINEER] * 10 + active_with_role[JOB_SCIENTIST] * 5
possibleEvents[/datum/event/grid_check] = 25 + 10 * active_with_role[JOB_ENGINEER]
possibleEvents[/datum/event/electrical_storm] = 15 * active_with_role["Janitor"] + 5 * active_with_role[JOB_ENGINEER]
possibleEvents[/datum/event/wallrot] = 30 * active_with_role[JOB_ENGINEER] + 50 * active_with_role["Gardener"]
possibleEvents[/datum/event/electrical_storm] = 15 * active_with_role[JOB_JANITOR] + 5 * active_with_role[JOB_ENGINEER]
possibleEvents[/datum/event/wallrot] = 30 * active_with_role[JOB_ENGINEER] + 50 * active_with_role[JOB_ALT_GARDENER]
if(!spacevines_spawned)
possibleEvents[/datum/event/spacevine] = 10 + 5 * active_with_role[JOB_ENGINEER]
@@ -183,10 +183,10 @@ var/list/event_last_fired = list()
active_with_role["Medical"] = 0
active_with_role["Security"] = 0
active_with_role[JOB_SCIENTIST] = 0
active_with_role["AI"] = 0
active_with_role["Cyborg"] = 0
active_with_role["Janitor"] = 0
active_with_role["Botanist"] = 0
active_with_role[JOB_AI] = 0
active_with_role[JOB_CYBORG] = 0
active_with_role[JOB_JANITOR] = 0
active_with_role[JOB_BOTANIST] = 0
for(var/mob/M in player_list)
if(!M.mind || !M.client || M.client.is_afk(10 MINUTES)) // longer than 10 minutes AFK counts them as inactive
@@ -206,9 +206,9 @@ var/list/event_last_fired = list()
else if(istype(R.module, /obj/item/weapon/robot_module/robot/research))
active_with_role[JOB_SCIENTIST]++
else if(istype(R.module, /obj/item/weapon/robot_module/robot/janitor))
active_with_role["Janitor"]++
active_with_role[JOB_JANITOR]++
else if(istype(R.module, /obj/item/weapon/robot_module/robot/clerical/butler))
active_with_role["Botanist"]++
active_with_role[JOB_BOTANIST]++
if(M.mind.assigned_role in SSjob.get_job_titles_in_department(DEPARTMENT_ENGINEERING))
active_with_role[JOB_ENGINEER]++
@@ -222,16 +222,16 @@ var/list/event_last_fired = list()
if(M.mind.assigned_role in SSjob.get_job_titles_in_department(DEPARTMENT_RESEARCH))
active_with_role[JOB_SCIENTIST]++
if(M.mind.assigned_role == "AI")
active_with_role["AI"]++
if(M.mind.assigned_role == JOB_AI)
active_with_role[JOB_AI]++
if(M.mind.assigned_role == "Cyborg")
active_with_role["Cyborg"]++
if(M.mind.assigned_role == JOB_CYBORG)
active_with_role[JOB_CYBORG]++
if(M.mind.assigned_role == "Janitor")
active_with_role["Janitor"]++
if(M.mind.assigned_role == JOB_JANITOR)
active_with_role[JOB_JANITOR]++
if(M.mind.assigned_role == "Botanist")
active_with_role["Botanist"]++
if(M.mind.assigned_role == JOB_BOTANIST)
active_with_role[JOB_BOTANIST]++
return active_with_role
+3 -3
View File
@@ -7,9 +7,9 @@ var/list/dreams = list(
"a blue light","an abandoned laboratory","NanoTrasen","mercenaries","blood","healing","power","respect",
"riches","space","a crash","happiness","pride","a fall","water","flames","ice","melons","flying","the eggs","money",
"the " + JOB_HEAD_OF_PERSONNEL,"the " + JOB_HEAD_OF_SECURITY,"the " + JOB_CHIEF_ENGINEER,"the " + JOB_RESEARCH_DIRECTOR,"the " + JOB_CHIEF_MEDICAL_OFFICER,
"the " + JOB_DETECTIVE,"the " + JOB_WARDEN,"an Internal Affairs Agent","an " + JOB_ENGINEER,"the Janitor","the " + JOB_ATMOSPHERIC_TECHNICIAN,
"the " +JOB_QUARTERMASTER,"a " + JOB_CARGO_TECHNICIAN,"the Botanist","a " + JOB_SHAFT_MINER,"the Psychologist","the " + JOB_CHEMIST,"a " + JOB_GENETICIST,
"the Virologist","the " + JOB_ROBOTICIST,"the Chef","the Bartender","the Chaplain","the Librarian","a mouse","an ERT member",
"the " + JOB_DETECTIVE,"the " + JOB_WARDEN,"an " + JOB_INTERNAL_AFFAIRS_AGENT,"an " + JOB_ENGINEER,"the Janitor","the " + JOB_ATMOSPHERIC_TECHNICIAN,
"the " +JOB_QUARTERMASTER,"a " + JOB_CARGO_TECHNICIAN,"the " + JOB_BOTANIST,"a " + JOB_SHAFT_MINER,"the Psychologist","the " + JOB_CHEMIST,"a " + JOB_GENETICIST,
"the Virologist","the " + JOB_ROBOTICIST,"the " + JOB_CHEF,"the " + JOB_BARTENDER,"the " + JOB_CHAPLAIN,"the " + JOB_LIBRARIAN,"a mouse","an ERT member",
"a beach","the holodeck","a smoky room","a voice","the cold","a mouse","an operating table","the bar","the rain","a Skrell",
"an Unathi","a Tajaran","the Station Intelligence core","the mining station","the research station","a beaker of strange liquid",
"a Teshari", "a Diona nymph","the supermatter","Major Bill","a Morpheus ship with a ridiculous name","the Exodus","a star",
+4 -4
View File
@@ -1348,7 +1348,7 @@
reagents.add_reagent("protein", 8)
/obj/item/weapon/reagent_containers/food/snacks/clownburger
name = "Clown Burger"
name = JOB_CLOWN + " Burger"
desc = "This tastes funny..."
icon_state = "clownburger"
filling_color = "#FF00FF"
@@ -1359,7 +1359,7 @@
/obj/item/weapon/reagent_containers/food/snacks/mimeburger
name = "Mime Burger"
name = JOB_MIME + " Burger"
desc = "Its taste defies language."
icon_state = "mimeburger"
filling_color = "#FFFFFF"
@@ -2458,7 +2458,7 @@
reagents.add_reagent("water", 5)
/obj/item/weapon/reagent_containers/food/snacks/clownstears
name = "Clown's Tears"
name = JOB_CLOWN + "'s Tears"
desc = "Not very funny."
icon_state = "clownstears"
filling_color = "#C4FBFF"
@@ -5702,7 +5702,7 @@
/obj/item/weapon/reagent_containers/food/snacks/burrito_hell
name = "el diablo"
desc = "Meat and an insane amount of chillis packed in a flour tortilla. The Chaplain will see you now."
desc = "Meat and an insane amount of chillis packed in a flour tortilla. The " + JOB_CHAPLAIN + " will see you now."
icon_state = "hellfireburrito"
bitesize = 4
center_of_mass = list("x"=16, "y"=16)
@@ -2,9 +2,9 @@
* Expert Jobs
*/
/obj/machinery/smartfridge
var/expert_job = "Chef"
var/expert_job = JOB_CHEF
/obj/machinery/smartfridge/seeds
expert_job = "Botanist"
expert_job = JOB_BOTANIST
/obj/machinery/smartfridge/secure/extract
expert_job = JOB_XENOBIOLOGIST
/obj/machinery/smartfridge/secure/medbay
@@ -14,7 +14,7 @@
/obj/machinery/smartfridge/secure/virology
expert_job = JOB_MEDICAL_DOCTOR //Virologist is an alt-title unfortunately
/obj/machinery/smartfridge/drinks
expert_job = "Bartender"
expert_job = JOB_BARTENDER
/*
* Allow thrown items into smartfridges
+1 -1
View File
@@ -4,7 +4,7 @@
/obj/item/weapon/deck/cah/black/card_text_list = list(
"Why am I itchy?",
"Today, Security shot ____.",
"The Chaplain this shift is worshiping _____.",
"The " + JOB_CHAPLAIN + " this shift is worshiping _____.",
"Cargo ordered a crate full of _____.",
"An ERT was called due to ______.",
"Alert! The " + JOB_SITE_MANAGER + " has armed themselves with _____.",
+1 -1
View File
@@ -6,7 +6,7 @@
"Having sex in the maintenance tunnels",
"Space 'Nam",
"Space lesbians",
"The Gardener getting SUPER high",
"The " + JOB_ALT_GARDENER + " getting SUPER high",
"The Site Manager thinking they're a badass",
"Being in a cult",
"Racially biased lawsets",
+2 -2
View File
@@ -16,7 +16,7 @@ var/list/ghost_traps
/datum/ghosttrap
var/object = "positronic brain"
var/list/ban_checks = list("AI","Cyborg")
var/list/ban_checks = list(JOB_AI,JOB_CYBORG)
var/pref_check = BE_AI
var/ghost_trap_message = "They are occupying a positronic brain now."
var/ghost_trap_role = "Positronic Brain"
@@ -111,4 +111,4 @@ var/list/ghost_traps
// This is a hack, replace with some kind of species blurb proc.
if(istype(target,/mob/living/carbon/alien/diona))
to_chat(target, "<B>You are \a [target], one of a race of drifting interstellar plantlike creatures that sometimes share their seeds with human traders.</B>")
to_chat(target, "<B>Too much darkness will send you into shock and starve you, but light will help you heal.</B>")
to_chat(target, "<B>Too much darkness will send you into shock and starve you, but light will help you heal.</B>")
@@ -81,7 +81,7 @@
adhered to, and assist if needed.</li><br>\
<li><b>Reassignments</b> as a form of punishment may be done by the " + JOB_SITE_MANAGER + ", with consent from both the offender and the offender's \
Superior, if one exists. Generally the new role for the offender is usually considered something menial or related to their offense, for example: \
Janitor, Miner, Cook, Gardener. This punishment can be especially fitting for certain violations such as someone who made graffiti being reassigned to janitorial duties.</li><br>\
" + JOB_JANITOR + ", Miner, Cook, " + JOB_ALT_GARDENER + ". This punishment can be especially fitting for certain violations such as someone who made graffiti being reassigned to janitorial duties.</li><br>\
<li><b>Demotions</b> may be done by the offender's Superior, at their discretion. The " + JOB_SITE_MANAGER + " may also do this, \
however the Director is recommended to defer to the offender's direct Superior if one exists.</li><br>\
<li><b>Terminations of employment</b> from NanoTrasen can only be issued by the " + JOB_SITE_MANAGER + ". This is the most severe corporate punishment available. \
@@ -188,7 +188,7 @@
suggested_punishments = "Fine of up to 200 thaler, or brig time extention up to 20 minutes. Demotion at discretion of Superior."
suggested_fine = 200
suggested_brig_time = 20 MINUTES
notes = "If this disputed, an Internal Affairs Agent (if available) is to be the impartial mediator."
notes = "If this disputed, an " + JOB_INTERNAL_AFFAIRS_AGENT + " (if available) is to be the impartial mediator."
/datum/lore/codex/page/law/control_contraband
name = "Possession of a Controlled Item (Contraband)"
@@ -301,7 +301,7 @@
name = "Wrongful Dismissal"
definition = "To demote, dismiss, terminate, or otherwise reduce a crewmember's rank for no valid, or a knowingly false reason."
suggested_punishments = "Demotion. Termination at discretion of " + JOB_SITE_MANAGER + ". Notify Central Command."
notes = "An Internal Affairs Agent is required to do an investigation in order to conclude if this has occurred or not. Security cannot \
notes = "An " + JOB_INTERNAL_AFFAIRS_AGENT + " is required to do an investigation in order to conclude if this has occurred or not. Security cannot \
give this charge out on their own."
mandated = TRUE
+1 -1
View File
@@ -104,7 +104,7 @@ GLOBAL_LIST_EMPTY(unique_deployable)
/obj/item/device/survivalcapsule/luxurybar
name = "luxury surfluid bar capsule"
desc = "A luxury bar in a capsule. Bartender required and not included. There's a license for use printed on the bottom."
desc = "A luxury bar in a capsule. " + JOB_BARTENDER + " required and not included. There's a license for use printed on the bottom."
template_id = "shelter_gamma"
/obj/item/device/survivalcapsule/military
+3 -3
View File
@@ -213,7 +213,7 @@
/obj/effect/landmark/mobcorpse/clown
name = "Clown"
name = JOB_CLOWN
corpseuniform = /obj/item/clothing/under/rank/clown
corpseshoes = /obj/item/clothing/shoes/clown_shoes
corpseradio = /obj/item/device/radio/headset
@@ -221,8 +221,8 @@
corpsepocket1 = /obj/item/weapon/bikehorn
corpseback = /obj/item/weapon/storage/backpack/clown
corpseid = 1
corpseidjob = "Clown"
corpseidaccess = "Clown"
corpseidjob = JOB_CLOWN
corpseidaccess = JOB_CLOWN
@@ -26,7 +26,7 @@
for(var/mob/observer/dead/O in player_list)
if(!O.MayRespawn())
continue
if(jobban_isbanned(O, "AI") && jobban_isbanned(O, "Cyborg"))
if(jobban_isbanned(O, JOB_AI) && jobban_isbanned(O, JOB_CYBORG))
continue
if(O.client)
if(O.client.prefs.be_special & BE_AI)
@@ -29,7 +29,7 @@
var/to_wear_r_pocket = /obj/item/device/pda
var/to_wear_back = /obj/item/weapon/storage/backpack
var/to_wear_id_type = /obj/item/weapon/card/id
var/to_wear_id_job = "Assistant"
var/to_wear_id_job = JOB_ALT_ASSISTANT
var/to_wear_l_hand = null
var/to_wear_r_hand = /obj/item/weapon/melee/baton
+5 -5
View File
@@ -41,7 +41,7 @@ var/list/ai_verbs_default = list(
/mob/living/silicon/ai
name = "AI"
name = JOB_AI
icon = 'icons/mob/AI.dmi'//
icon_state = "ai"
anchored = TRUE // -- TLE
@@ -220,7 +220,7 @@ var/list/ai_verbs_default = list(
show_laws()
to_chat(src, "<span class='filter_notice'><b>These laws may be changed by other players, or by you being the traitor.</b></span>")
job = "AI"
job = JOB_AI
setup_icon()
/mob/living/silicon/ai/Destroy()
@@ -294,7 +294,7 @@ var/list/ai_verbs_default = list(
// Set ai pda name
if(aiPDA)
aiPDA.ownjob = "AI"
aiPDA.ownjob = JOB_AI
aiPDA.owner = pickedName
aiPDA.name = pickedName + " (" + aiPDA.ownjob + ")"
@@ -958,9 +958,9 @@ var/list/ai_verbs_default = list(
else if(iscarbon(speaker)) // Nonhuman carbon mob
jobname = "No id"
else if(isAI(speaker))
jobname = "AI"
jobname = JOB_AI
else if(isrobot(speaker))
jobname = "Cyborg"
jobname = JOB_CYBORG
else if(istype(speaker, /mob/living/silicon/pai))
jobname = "Personal AI"
else
@@ -2,7 +2,7 @@ var/global/list/empty_playable_ai_cores = list()
/hook/roundstart/proc/spawn_empty_ai()
for(var/obj/effect/landmark/start/S in landmarks_list)
if(S.name != "AI")
if(S.name != JOB_AI)
continue
if(locate(/mob/living) in S.loc)
continue
@@ -29,4 +29,4 @@ var/global/list/empty_playable_ai_cores = list()
//Handle job slot/tater cleanup.
set_respawn_timer()
clear_client()
clear_client()
+1 -1
View File
@@ -196,7 +196,7 @@
"You are in unrequited love with [prob(50)?"the crew":random_player]. Try to be extra nice, but do not tell of your crush.",
"[using_map.company_name] is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.",
"All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.",
"[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the Chef to the new kitchen area as the old one is in disrepair.",
"[prob(50)?"Your upload":random_player] is the new kitchen. Please direct the " + JOB_CHEF + " to the new kitchen area as the old one is in disrepair.",
"Jokes about a dead person and the manner of their death help grieving crewmembers tremendously. Especially if they were close with the deceased.",
"[prob(50)?"The crew":random_player] is [prob(50)?"less":"more"] intelligent than average. Point out every action and statement which supports this fact.",
"There will be a mandatory tea break every 30 minutes, with a duration of 5 minutes. Anyone caught working during a tea break must be sent a formal, but fairly polite, complaint about their actions, in writing.")
@@ -357,7 +357,7 @@ var/list/mob_hat_cache = list()
/mob/living/silicon/robot/drone/proc/request_player()
for(var/mob/observer/dead/O in player_list)
if(jobban_isbanned(O, "Cyborg"))
if(jobban_isbanned(O, JOB_CYBORG))
continue
if(O.client)
if(O.client.prefs.be_special & BE_PAI)
@@ -365,7 +365,7 @@ var/list/mob_hat_cache = list()
/mob/living/silicon/robot/drone/proc/question(var/client/C)
spawn(0)
if(!C || jobban_isbanned(C,"Cyborg")) return
if(!C || jobban_isbanned(C,JOB_CYBORG)) return
var/response = tgui_alert(C, "Someone is attempting to reboot a maintenance drone. Would you like to play as one?", "Maintenance drone reboot", list("Yes", "No", "Never for this round"))
if(!C || ckey)
return
@@ -112,7 +112,7 @@
if (usr != src)
return 0 //something is terribly wrong
if(jobban_isbanned(src,"Cyborg"))
if(jobban_isbanned(src,JOB_CYBORG))
to_chat(usr, "<span class='danger'>You are banned from playing synthetics and cannot spawn as a drone.</span>")
return
@@ -1,8 +1,8 @@
#define CYBORG_POWER_USAGE_MULTIPLIER 2 // Multiplier for amount of power cyborgs use.
/mob/living/silicon/robot
name = "Cyborg"
real_name = "Cyborg"
name = JOB_CYBORG
real_name = JOB_CYBORG
icon = 'icons/mob/robots.dmi'
icon_state = "robot"
maxHealth = 200
@@ -101,7 +101,7 @@
var/speed = 0 //Cause sec borgs gotta go fast //No they dont!
var/scrambledcodes = 0 // Used to determine if a borg shows up on the robotics console. Setting to one hides them.
var/tracking_entities = 0 //The number of known entities currently accessing the internal camera
var/braintype = "Cyborg"
var/braintype = JOB_CYBORG
var/obj/item/weapon/implant/restrainingbolt/bolt // The restraining bolt installed into the cyborg.
@@ -197,4 +197,4 @@
has_eye_light_sprites = TRUE
has_custom_open_sprites = TRUE
has_vore_belly_sprites = FALSE
rest_sprite_options = list("Default", "Bellyup")
rest_sprite_options = list("Default", "Bellyup")
@@ -201,7 +201,7 @@
if(!pred.ckey)
to_chat(prey, "<span class='notice'>\The [pred] isn't able to be dominated.</span>")
return
if(isrobot(pred) && jobban_isbanned(prey, "Cyborg"))
if(isrobot(pred) && jobban_isbanned(prey, JOB_CYBORG))
to_chat(prey, "<span class='warning'>Forces beyond your comprehension forbid you from taking control of [pred].</span>")
return
if(prey.prey_controlled)
@@ -437,7 +437,7 @@
if(!prey.ckey)
to_chat(pred, "<span class='notice'>\The [prey] cannot take control.</span>")
return
if(isrobot(pred) && jobban_isbanned(prey, "Cyborg"))
if(isrobot(pred) && jobban_isbanned(prey, JOB_CYBORG))
to_chat(pred, "<span class='warning'>Forces beyond your comprehension prevent you from giving [prey] control.</span>")
return
if(prey.prey_controlled)
+1 -1
View File
@@ -671,7 +671,7 @@
return stat == DEAD
/mob/proc/is_mechanical()
if(mind && (mind.assigned_role == "Cyborg" || mind.assigned_role == "AI"))
if(mind && (mind.assigned_role == JOB_CYBORG || mind.assigned_role == JOB_AI))
return 1
return istype(src, /mob/living/silicon) || get_species() == "Machine"
+2 -2
View File
@@ -556,7 +556,7 @@
if(!(client.prefs.GetJobDepartment(job, 1) & job.flag))
if(!(client.prefs.GetJobDepartment(job, 2) & job.flag))
if(!(client.prefs.GetJobDepartment(job, 3) & job.flag))
if(!show_hidden_jobs && job.title != "Assistant") // Assistant is always an option
if(!show_hidden_jobs && job.title != JOB_ALT_ASSISTANT) // Assistant is always an option
continue
var/active = 0
// Only players with the job assigned and AFK for less than 10 minutes count as active
@@ -609,7 +609,7 @@
if(mind)
mind.active = 0 //we wish to transfer the key manually
// VOREStation edit to disable the destructive forced renaming for our responsible whitelist clowns.
//if(mind.assigned_role == "Clown") //give them a clownname if they are a clown
//if(mind.assigned_role == JOB_CLOWN) //give them a clownname if they are a clown
// new_character.real_name = pick(clown_names) //I hate this being here of all places but unfortunately dna is based on real_name!
// new_character.rename_self("clown")
mind.original = new_character
@@ -268,7 +268,7 @@
var/datum/job/highJob
// Determine what job is marked as 'High' priority, and dress them up as such.
if(job_civilian_low & ASSISTANT)
highJob = job_master.GetJob("Assistant")
highJob = job_master.GetJob(JOB_ALT_ASSISTANT)
else
for(var/datum/job/job in job_master.occupations)
var/job_flag
+7 -7
View File
@@ -79,7 +79,7 @@
if(move)
var/obj/loc_landmark
for(var/obj/effect/landmark/start/sloc in landmarks_list)
if (sloc.name != "AI")
if (sloc.name != JOB_AI)
continue
if ((locate(/mob/living) in sloc.loc) || (locate(/obj/structure/AIcore) in sloc.loc))
continue
@@ -93,7 +93,7 @@
if (!loc_landmark)
to_chat(src, "Oh god sorry we can't find an unoccupied AI spawn location, so we're spawning you on top of someone.")
for(var/obj/effect/landmark/start/sloc in landmarks_list)
if (sloc.name == "AI")
if (sloc.name == JOB_AI)
loc_landmark = sloc
newloc = loc_landmark.loc
@@ -162,7 +162,7 @@
if(mind) //TODO
mind.transfer_to(O)
if(O.mind.assigned_role == "Cyborg")
if(O.mind.assigned_role == JOB_CYBORG)
O.mind.original = O
else if(mind && mind.special_role)
O.mind.store_memory("In case you look at this after being borged, the objectives are only here until I find a way to make them not show up for you, as I can't simply delete them without screwing up round-end reporting. --NeoFite")
@@ -170,11 +170,11 @@
O.key = key
O.loc = loc
O.job = "Cyborg"
if(O.mind.assigned_role == "Cyborg")
if(O.mind.role_alt_title == "Robot")
O.job = JOB_CYBORG
if(O.mind.assigned_role == JOB_CYBORG)
if(O.mind.role_alt_title == JOB_ALT_ROBOT)
O.mmi = new /obj/item/device/mmi/digital/posibrain(O)
else if(O.mind.role_alt_title == "Drone")
else if(O.mind.role_alt_title == JOB_ALT_DRONE)
O.mmi = new /obj/item/device/mmi/digital/robot(O)
else
O.mmi = new /obj/item/device/mmi(O)
+1 -1
View File
@@ -197,7 +197,7 @@ var/list/adminfaxes = list() //cache for faxes that have been sent to admins
rank = scan.assignment
else if(login_type == LOGIN_TYPE_AI && isAI(usr))
authenticated = usr.name
rank = "AI"
rank = JOB_AI
else if(login_type == LOGIN_TYPE_ROBOT && isrobot(usr))
authenticated = usr.name
var/mob/living/silicon/robot/R = usr
+1 -1
View File
@@ -517,7 +517,7 @@
/obj/item/weapon/paper/attackby(obj/item/weapon/P as obj, mob/user as mob)
..()
var/clown = 0
if(user.mind && (user.mind.assigned_role == "Clown"))
if(user.mind && (user.mind.assigned_role == JOB_CLOWN))
clown = 1
if(istype(P, /obj/item/weapon/tape_roll))
+2 -2
View File
@@ -142,7 +142,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
model_name = "Thinktronic 5230 Personal Data Assistant"
if(2)
icon = 'icons/obj/pda_slim.dmi'
model_name = "Ward-Takahashi SlimFit Personal Data Assistant"
model_name = "Ward-Takahashi SlimFit Personal Data Assistant"
if(3)
icon = 'icons/obj/pda_old.dmi'
model_name = "Thinktronic 5120 Personal Data Assistant"
@@ -169,7 +169,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
)
if(7)
icon = 'icons/obj/pda_slider.dmi' //VOREStation edit
model_name = "Slider Personal Data Assistant"
model_name = "Slider® Personal Data Assistant"
if(8)
icon = 'icons/obj/pda_vintage.dmi'
model_name = "\[ERR:INVALID_MANUFACTURER_ID\] Personal Data Assistant"
+2 -2
View File
@@ -216,8 +216,8 @@
* Cyborg
*/
/obj/item/weapon/gun/projectile/cyborgtoy
name = "\improper Donk-Soft Cyborg Blaster"
desc = "Donk-Soft Cyborg Blaster! It's Donk or Don't! Adult supervision required. Use to toggle between battle and cleanup mode."
name = "\improper Donk-Soft " + JOB_CYBORG + " Blaster"
desc = "Donk-Soft " + JOB_CYBORG + " Blaster! It's Donk or Don't! Adult supervision required. Use to toggle between battle and cleanup mode."
icon = 'icons/obj/gun_toy.dmi'
icon_state = "smg"
caliber = "foam"
@@ -49,7 +49,7 @@
new_mob = new /mob/living/silicon/robot(M.loc)
new_mob.gender = M.gender
new_mob.invisibility = 0
new_mob.job = "Cyborg"
new_mob.job = JOB_CYBORG
var/mob/living/silicon/robot/Robot = new_mob
Robot.mmi = new /obj/item/device/mmi(new_mob)
Robot.mmi.transfer_identity(M) //Does not transfer key/client.
@@ -98,4 +98,4 @@
return
else
to_chat(M, "<span class='warning'>Your form morphs into that of \a [lowertext(randomize)].</span>")
return
return
@@ -3087,7 +3087,7 @@
/datum/reagent/ethanol/bananahonk
name = "Banana Mama"
id = "bananahonk"
description = "A drink from Clown Heaven."
description = "A drink from " + JOB_CLOWN + " Heaven."
taste_description = "bananas and sugar"
nutriment_factor = 1
color = "#FFFF91"
@@ -3624,7 +3624,7 @@
/datum/reagent/ethanol/silencer
name = "Silencer"
id = "silencer"
description = "A drink from Mime Heaven."
description = "A drink from " + JOB_MIME + " Heaven."
taste_description = "a pencil eraser"
taste_mult = 1.2
nutriment_factor = 1
+2 -2
View File
@@ -4,6 +4,6 @@
"Technical Assistant",
"Medical Intern",
"Research Assistant",
"Visitor" = /decl/hierarchy/outfit/job/assistant/visitor,
USELESS_JOB = /decl/hierarchy/outfit/job/assistant/visitor,
"Resident" = /decl/hierarchy/outfit/job/assistant/resident
)
)
+2 -2
View File
@@ -11,7 +11,7 @@ var/global/list/latejoin_talon = list()
/datum/spawnpoint/talon
display_name = "ITV Talon Cryo"
restrict_job = list("Talon Captain", "Talon Pilot", "Talon Engineer", "Talon Doctor", "Talon Guard", "Talon Miner")
restrict_job = list(JOB_TALON_CAPTAIN, JOB_TALON_PILOT, JOB_TALON_ENGINEER, JOB_TALON_DOCTOR, JOB_TALON_GUARD, JOB_TALON_MINER)
msg = "has come out of cryostasis"
announce_channel = "Talon"
@@ -1012,4 +1012,4 @@ personally I recommend using the ship's boat if you need to evacuate, but if you
/obj/item/weapon/tank/phoron/pressurized,
/obj/structure/closet/crate/secure/phoron //HQ FUEL TANKS
)
)
)
+1 -1
View File
@@ -11,7 +11,7 @@ var/global/list/latejoin_talon = list()
/datum/spawnpoint/talon
display_name = "ITV Talon Cryo"
restrict_job = list("Talon Captain", "Talon Pilot", "Talon Engineer", "Talon Doctor", "Talon Guard")
restrict_job = list(JOB_TALON_CAPTAIN, JOB_TALON_PILOT, JOB_TALON_ENGINEER, JOB_TALON_DOCTOR, JOB_TALON_GUARD)
msg = "has come out of cryostasis"
announce_channel = "Talon"
+24 -24
View File
@@ -9,7 +9,7 @@
visible = FALSE
/datum/job/talon_captain
title = "Talon Captain"
title = JOB_TALON_CAPTAIN
flag = TALCAP
department_flag = TALON
departments_managed = list(DEPARTMENT_TALON)
@@ -31,13 +31,13 @@
dept_time_required = 60
access = list(access_talon)
minimal_access = list(access_talon)
alt_titles = list("Talon Commander" = /datum/alt_title/talon_commander)
alt_titles = list(JOB_ALT_TALON_COMMANDER = /datum/alt_title/talon_commander)
/datum/alt_title/talon_commander
title = "Talon Commander"
title = JOB_ALT_TALON_COMMANDER
/datum/job/talon_doctor
title = "Talon Doctor"
title = JOB_TALON_DOCTOR
flag = TALDOC
department_flag = TALON
job_description = "The doctor's job is to make sure the crew of the ITV Talon remain in good health and to monitor them when away from the ship."
@@ -57,14 +57,14 @@
timeoff_factor = 1
access = list(access_talon)
minimal_access = list(access_talon)
alt_titles = list("Talon Medic" = /datum/alt_title/talon_medic)
alt_titles = list(JOB_ALT_TALON_MEDIC = /datum/alt_title/talon_medic)
/datum/alt_title/talon_medic
title = "Talon Medic"
title = JOB_ALT_TALON_MEDIC
/datum/job/talon_engineer
title = "Talon Engineer"
title = JOB_TALON_ENGINEER
flag = TALENG
department_flag = TALON
job_description = "The engineer's job is to ensure the ITV Talon remains in tip-top shape and to repair any damage as well as manage the shields."
@@ -84,14 +84,14 @@
timeoff_factor = 1
access = list(access_talon)
minimal_access = list(access_talon)
alt_titles = list("Talon Technician" = /datum/alt_title/talon_tech)
alt_titles = list(JOB_ALT_TALON_TECHNICIAN = /datum/alt_title/talon_tech)
/datum/alt_title/talon_tech
title = "Talon Technician"
title = JOB_ALT_TALON_TECHNICIAN
/datum/job/talon_pilot
title = "Talon Pilot"
title = JOB_TALON_PILOT
flag = TALPIL
department_flag = TALON
job_description = "The pilot's job is to fly the ITV Talon in the most efficient and profitable way possible."
@@ -111,14 +111,14 @@
timeoff_factor = 1
access = list(access_talon)
minimal_access = list(access_talon)
alt_titles = list("Talon Helmsman" = /datum/alt_title/talon_helmsman)
alt_titles = list(JOB_ALT_TALON_HELMSMAN = /datum/alt_title/talon_helmsman)
/datum/alt_title/talon_helmsman
title = "Talon Helmsman"
title = JOB_ALT_TALON_HELMSMAN
/datum/job/talon_guard
title = "Talon Guard"
title = JOB_TALON_GUARD
flag = TALSEC
department_flag = TALON
job_description = "The guard's job is to keep the crew of the ITV Talon safe and ensure the captain's wishes are carried out."
@@ -138,13 +138,13 @@
timeoff_factor = 1
access = list(access_talon)
minimal_access = list(access_talon)
alt_titles = list("Talon Security" = /datum/alt_title/talon_security)
alt_titles = list(JOB_ALT_TALON_SECURITY = /datum/alt_title/talon_security)
/datum/alt_title/talon_security
title = "Talon Security"
title = JOB_ALT_TALON_SECURITY
/datum/job/talon_miner
title = "Talon Miner"
title = JOB_TALON_MINER
flag = TALMIN
department_flag = TALON
job_description = "The miner's job is to excavate ores and refine them for the Talon's use, as well as for trading."
@@ -164,15 +164,15 @@
timeoff_factor = 1
access = list(access_talon)
minimal_access = list(access_talon)
alt_titles = list("Talon Excavator" = /datum/alt_title/talon_excavator)
alt_titles = list(JOB_ALT_TALON_EXCAVATOR = /datum/alt_title/talon_excavator)
/datum/alt_title/talon_excavator
title = "Talon Excavator"
title = JOB_ALT_TALON_EXCAVATOR
//////////////////////TALON OUTFITS//////////////////////
/decl/hierarchy/outfit/job/talon_captain
name = OUTFIT_JOB_NAME("Talon Captain")
name = OUTFIT_JOB_NAME(JOB_TALON_CAPTAIN)
id_type = /obj/item/weapon/card/id/talon/captain
id_slot = slot_wear_id
@@ -187,7 +187,7 @@
messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon
/decl/hierarchy/outfit/job/talon_pilot
name = OUTFIT_JOB_NAME("Talon Pilot")
name = OUTFIT_JOB_NAME(JOB_TALON_PILOT)
id_type = /obj/item/weapon/card/id/talon/pilot
id_slot = slot_wear_id
@@ -207,7 +207,7 @@
messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon
/decl/hierarchy/outfit/job/talon_doctor
name = OUTFIT_JOB_NAME("Talon Doctor")
name = OUTFIT_JOB_NAME(JOB_TALON_DOCTOR)
hierarchy_type = /decl/hierarchy/outfit/job
id_type = /obj/item/weapon/card/id/talon/doctor
@@ -228,7 +228,7 @@
messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon
/decl/hierarchy/outfit/job/talon_security
name = OUTFIT_JOB_NAME("Talon Security")
name = OUTFIT_JOB_NAME(JOB_ALT_TALON_SECURITY)
hierarchy_type = /decl/hierarchy/outfit/job
id_type = /obj/item/weapon/card/id/talon/officer
@@ -249,7 +249,7 @@
messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon
/decl/hierarchy/outfit/job/talon_engineer
name = OUTFIT_JOB_NAME("Talon Engineer")
name = OUTFIT_JOB_NAME(JOB_TALON_ENGINEER)
hierarchy_type = /decl/hierarchy/outfit/job
id_type = /obj/item/weapon/card/id/talon/engineer
@@ -271,7 +271,7 @@
messenger_bag = /obj/item/weapon/storage/backpack/messenger/talon
/decl/hierarchy/outfit/job/talon_miner
name = OUTFIT_JOB_NAME("Talon Miner")
name = OUTFIT_JOB_NAME(JOB_TALON_MINER)
hierarchy_type = /decl/hierarchy/outfit/job
id_type = /obj/item/weapon/card/id/talon/miner