mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-26 21:49:11 +01:00
only missing alt titles
This commit is contained in:
+45
-1
@@ -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)
|
||||
|
||||
@@ -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
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
/***************
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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."
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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."
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 = "..."
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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>"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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.",\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 _____.",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
)
|
||||
)
|
||||
|
||||
@@ -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
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user