mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-29 15:08:34 +01:00
Merge branch 'master' into weapon-removal
This commit is contained in:
@@ -1,98 +1,98 @@
|
||||
/obj/effect/landmark/start/captain
|
||||
name = "Site Manager"
|
||||
name = JOB_SITE_MANAGER
|
||||
/obj/effect/landmark/start/hop
|
||||
name = "Head of Personnel"
|
||||
name = JOB_HEAD_OF_PERSONNEL
|
||||
/obj/effect/landmark/start/commandsecretary
|
||||
name = "Command Secretary"
|
||||
name = JOB_COMMAND_SECRETARY
|
||||
/obj/effect/landmark/start/hos
|
||||
name = "Head of Security"
|
||||
name = JOB_HEAD_OF_SECURITY
|
||||
/obj/effect/landmark/start/warden
|
||||
name = "Warden"
|
||||
name = JOB_WARDEN
|
||||
/obj/effect/landmark/start/detective
|
||||
name = "Detective"
|
||||
name = JOB_DETECTIVE
|
||||
/obj/effect/landmark/start/security
|
||||
name = "Security Officer"
|
||||
name = JOB_SECURITY_OFFICER
|
||||
/obj/effect/landmark/start/ce
|
||||
name = "Chief Engineer"
|
||||
name = JOB_CHIEF_ENGINEER
|
||||
/obj/effect/landmark/start/atmostech
|
||||
name = "Atmospheric Technician"
|
||||
name = JOB_ATMOSPHERIC_TECHNICIAN
|
||||
/obj/effect/landmark/start/engineer
|
||||
name = "Engineer"
|
||||
name = JOB_ENGINEER
|
||||
/obj/effect/landmark/start/cmo
|
||||
name = "Chief Medical Officer"
|
||||
name = JOB_CHIEF_MEDICAL_OFFICER
|
||||
/obj/effect/landmark/start/chemist
|
||||
name = "Chemist"
|
||||
name = JOB_CHEMIST
|
||||
/obj/effect/landmark/start/medical
|
||||
name = "Medical Doctor"
|
||||
name = JOB_MEDICAL_DOCTOR
|
||||
/obj/effect/landmark/start/paramedic
|
||||
name = "Paramedic"
|
||||
name = JOB_PARAMEDIC
|
||||
/obj/effect/landmark/start/psych
|
||||
name = "Psychiatrist"
|
||||
name = JOB_PSYCHIATRIST
|
||||
/obj/effect/landmark/start/rd
|
||||
name = "Research Director"
|
||||
name = JOB_RESEARCH_DIRECTOR
|
||||
/obj/effect/landmark/start/roboticist
|
||||
name = "Roboticist"
|
||||
name = JOB_ROBOTICIST
|
||||
/obj/effect/landmark/start/scientist
|
||||
name = "Scientist"
|
||||
name = JOB_SCIENTIST
|
||||
/obj/effect/landmark/start/xenobio
|
||||
name = "Xenobiologist"
|
||||
name = JOB_XENOBIOLOGIST
|
||||
/obj/effect/landmark/start/xenobot
|
||||
name = "Xenobotanist"
|
||||
name = JOB_XENOBOTANIST
|
||||
/obj/effect/landmark/start/qm
|
||||
name = "Quartermaster"
|
||||
name = JOB_QUARTERMASTER
|
||||
/obj/effect/landmark/start/cargo
|
||||
name = "Cargo Technician"
|
||||
name = JOB_CARGO_TECHNICIAN
|
||||
/obj/effect/landmark/start/miner
|
||||
name = "Shaft Miner"
|
||||
name = JOB_SHAFT_MINER
|
||||
/* //VOREStation Removal
|
||||
/obj/effect/landmark/start/pf
|
||||
name = "Pathfinder"
|
||||
name = JOB_PATHFINDER
|
||||
/obj/effect/landmark/start/explorer
|
||||
name = "Explorer"
|
||||
name = JOB_EXPLORER
|
||||
/obj/effect/landmark/start/fieldmedic
|
||||
name = "Field Medic"
|
||||
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 = JOB_ALT_VISITOR
|
||||
/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
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
var/spiders_min = 6
|
||||
var/spiders_max = 24
|
||||
var/spider_type = /obj/effect/spider/spiderling
|
||||
var/faction = "spiders"
|
||||
var/faction = FACTION_SPIDERS
|
||||
|
||||
/obj/effect/spider/eggcluster/Initialize()
|
||||
pixel_x = rand(3,-3)
|
||||
@@ -155,7 +155,7 @@
|
||||
var/obj/machinery/atmospherics/unary/vent_pump/entry_vent
|
||||
var/travelling_in_vent = 0
|
||||
var/list/grow_as = list(/mob/living/simple_mob/animal/giant_spider, /mob/living/simple_mob/animal/giant_spider/hunter)
|
||||
var/faction = "spiders"
|
||||
var/faction = FACTION_SPIDERS
|
||||
|
||||
var/stunted = FALSE
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
to_chat(new_voice, "<b>If you want to end the call, use the 'Hang Up' verb. The other person can also hang up at any time.</b>")
|
||||
to_chat(new_voice, "<b>Remember, your character does not know anything you've learned from observing!</b>")
|
||||
if(new_voice.mind)
|
||||
new_voice.mind.assigned_role = "Disembodied Voice"
|
||||
new_voice.mind.assigned_role = JOB_DISEMBODIED_VOICE
|
||||
if(user)
|
||||
to_chat(user, "<span class='notice'>[icon2html(src,new_voice.client)] Your communicator is now connected to [candidate]'s communicator.</span>")
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
/mob/living/simple_mob/attack_ghost(mob/observer/dead/user as mob)
|
||||
if(!ghostjoin)
|
||||
return ..()
|
||||
if(jobban_isbanned(user, "GhostRoles"))
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, "<span class='warning'>You cannot inhabit this creature because you are banned from playing ghost roles.</span>")
|
||||
return
|
||||
if(!evaluate_ghost_join(user))
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
|
||||
/obj/item/holowarrant/attackby(obj/item/W, mob/user)
|
||||
if(active)
|
||||
var/obj/item/card/id/I = W.GetIdCard()
|
||||
if(access_hos in I.access) // VOREStation edit
|
||||
var/obj/item/weapon/card/id/I = W.GetIdCard()
|
||||
if(access_hos in I.GetAccess()) // VOREStation edit
|
||||
var/choice = tgui_alert(user, "Would you like to authorize this warrant?","Warrant authorization",list("Yes","No"))
|
||||
if(choice == "Yes")
|
||||
active.fields["auth"] = "[I.registered_name] - [I.assignment ? I.assignment : "(Unknown)"]"
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
var/global/list/radio_channels_by_freq = list(
|
||||
num2text(PUB_FREQ) = "Common",
|
||||
num2text(AI_FREQ) = "AI Private",
|
||||
num2text(ENT_FREQ) = "Entertainment",
|
||||
num2text(ERT_FREQ) = "Response Team",
|
||||
num2text(COMM_FREQ)= "Command",
|
||||
num2text(ENG_FREQ) = "Engineering",
|
||||
num2text(MED_FREQ) = "Medical",
|
||||
num2text(MED_I_FREQ)="Medical(I)",
|
||||
num2text(SEC_FREQ) = "Security",
|
||||
num2text(SEC_I_FREQ)="Security(I)",
|
||||
num2text(SCI_FREQ) = "Science",
|
||||
num2text(SUP_FREQ) = "Supply",
|
||||
num2text(SRV_FREQ) = "Service",
|
||||
num2text(EXP_FREQ) = "Away Team"
|
||||
num2text(PUB_FREQ) = CHANNEL_COMMON,
|
||||
num2text(AI_FREQ) = CHANNEL_AI_PRIVATE,
|
||||
num2text(ENT_FREQ) = CHANNEL_ENTERTAINMENT,
|
||||
num2text(ERT_FREQ) = CHANNEL_RESPONSE_TEAM,
|
||||
num2text(COMM_FREQ)= CHANNEL_COMMAND,
|
||||
num2text(ENG_FREQ) = CHANNEL_ENGINEERING,
|
||||
num2text(MED_FREQ) = CHANNEL_MEDICAL,
|
||||
num2text(MED_I_FREQ)=CHANNEL_MEDICAL_1,
|
||||
num2text(SEC_FREQ) = CHANNEL_SECURITY,
|
||||
num2text(SEC_I_FREQ)=CHANNEL_SECURITY_1,
|
||||
num2text(SCI_FREQ) = CHANNEL_SCIENCE,
|
||||
num2text(SUP_FREQ) = CHANNEL_SUPPLY,
|
||||
num2text(SRV_FREQ) = CHANNEL_SERVICE,
|
||||
num2text(EXP_FREQ) = CHANNEL_EXPLORATION
|
||||
)
|
||||
|
||||
GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
|
||||
@@ -67,7 +67,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/paicard)
|
||||
else if(time_till_respawn) // Nonzero time to respawn
|
||||
to_chat(usr, "<span class='warning'>You can't do that yet! You died too recently. You need to wait another [round(time_till_respawn/10/60, 0.1)] minutes.</span>")
|
||||
return
|
||||
if(jobban_isbanned(usr, "pAI"))
|
||||
if(jobban_isbanned(usr, JOB_PAI))
|
||||
to_chat(usr,"<span class='warning'>You cannot join a pAI card when you are banned from playing as a pAI.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -15,13 +15,13 @@
|
||||
|
||||
/obj/item/encryptionkey/syndicate
|
||||
icon_state = "syn_cypherkey"
|
||||
channels = list("Mercenary" = 1)
|
||||
channels = list(CHANNEL_MERCENARY = 1)
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
syndie = 1//Signifies that it de-crypts Syndicate transmissions
|
||||
|
||||
/obj/item/encryptionkey/raider
|
||||
icon_state = "cypherkey"
|
||||
channels = list("Raider" = 1)
|
||||
channels = list(CHANNEL_RAIDER = 1)
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
syndie = 1
|
||||
|
||||
@@ -33,73 +33,73 @@
|
||||
/obj/item/encryptionkey/headset_sec
|
||||
name = "security radio encryption key"
|
||||
icon_state = "sec_cypherkey"
|
||||
channels = list("Security" = 1)
|
||||
channels = list(CHANNEL_SECURITY = 1)
|
||||
|
||||
/obj/item/encryptionkey/headset_eng
|
||||
name = "engineering radio encryption key"
|
||||
icon_state = "eng_cypherkey"
|
||||
channels = list("Engineering" = 1)
|
||||
channels = list(CHANNEL_ENGINEERING = 1)
|
||||
|
||||
/obj/item/encryptionkey/headset_rob
|
||||
name = "robotics radio encryption key"
|
||||
icon_state = "rob_cypherkey"
|
||||
channels = list("Engineering" = 1, "Science" = 1)
|
||||
channels = list(CHANNEL_ENGINEERING = 1, CHANNEL_SCIENCE = 1)
|
||||
|
||||
/obj/item/encryptionkey/headset_med
|
||||
name = "medical radio encryption key"
|
||||
icon_state = "med_cypherkey"
|
||||
channels = list("Medical" = 1)
|
||||
channels = list(CHANNEL_MEDICAL = 1)
|
||||
|
||||
/obj/item/encryptionkey/headset_sci
|
||||
name = "science radio encryption key"
|
||||
icon_state = "sci_cypherkey"
|
||||
channels = list("Science" = 1)
|
||||
channels = list(CHANNEL_SCIENCE = 1)
|
||||
|
||||
/obj/item/encryptionkey/headset_medsci
|
||||
name = "medical research radio encryption key"
|
||||
icon_state = "medsci_cypherkey"
|
||||
channels = list("Medical" = 1, "Science" = 1)
|
||||
channels = list(CHANNEL_MEDICAL = 1, CHANNEL_SCIENCE = 1)
|
||||
|
||||
/obj/item/encryptionkey/headset_com
|
||||
name = "command radio encryption key"
|
||||
icon_state = "com_cypherkey"
|
||||
channels = list("Command" = 1)
|
||||
channels = list(CHANNEL_COMMAND = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/captain
|
||||
name = "site manager's encryption key"
|
||||
icon_state = "cap_cypherkey"
|
||||
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1)
|
||||
channels = list(CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SCIENCE = 1, CHANNEL_MEDICAL = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/ai_integrated
|
||||
name = "ai integrated encryption key"
|
||||
desc = "Integrated encryption key"
|
||||
icon_state = "cap_cypherkey"
|
||||
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1)
|
||||
channels = list(CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SCIENCE = 1, CHANNEL_MEDICAL = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_AI_PRIVATE = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/rd
|
||||
name = "research director's encryption key"
|
||||
icon_state = "rd_cypherkey"
|
||||
channels = list("Science" = 1, "Command" = 1)
|
||||
channels = list(CHANNEL_SCIENCE = 1, CHANNEL_COMMAND = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/hos
|
||||
name = "head of security's encryption key"
|
||||
icon_state = "hos_cypherkey"
|
||||
channels = list("Security" = 1, "Command" = 1)
|
||||
channels = list(CHANNEL_SECURITY = 1, CHANNEL_COMMAND = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/ce
|
||||
name = "chief engineer's encryption key"
|
||||
icon_state = "ce_cypherkey"
|
||||
channels = list("Engineering" = 1, "Command" = 1)
|
||||
channels = list(CHANNEL_ENGINEERING = 1, CHANNEL_COMMAND = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/cmo
|
||||
name = "chief medical officer's encryption key"
|
||||
icon_state = "cmo_cypherkey"
|
||||
channels = list("Medical" = 1, "Command" = 1)
|
||||
channels = list(CHANNEL_MEDICAL = 1, CHANNEL_COMMAND = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/hop
|
||||
name = "head of personnel's encryption key"
|
||||
icon_state = "hop_cypherkey"
|
||||
channels = list("Supply" = 1, "Service" = 1, "Command" = 1, "Security" = 1)
|
||||
channels = list(CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1)
|
||||
/*
|
||||
/obj/item/encryptionkey/headset_mine
|
||||
name = "mining radio encryption key"
|
||||
@@ -114,22 +114,22 @@
|
||||
/obj/item/encryptionkey/headset_cargo
|
||||
name = "supply radio encryption key"
|
||||
icon_state = "cargo_cypherkey"
|
||||
channels = list("Supply" = 1)
|
||||
channels = list(CHANNEL_SUPPLY = 1)
|
||||
|
||||
/obj/item/encryptionkey/headset_service
|
||||
name = "service radio encryption key"
|
||||
icon_state = "srv_cypherkey"
|
||||
channels = list("Service" = 1)
|
||||
channels = list(CHANNEL_SERVICE = 1)
|
||||
|
||||
/obj/item/encryptionkey/ert
|
||||
name = "\improper ERT radio encryption key"
|
||||
icon_state = "cent_cypherkey"
|
||||
channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1)
|
||||
channels = list(CHANNEL_RESPONSE_TEAM = 1, CHANNEL_SCIENCE = 1, CHANNEL_COMMAND = 1, CHANNEL_MEDICAL = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SECURITY = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1)
|
||||
|
||||
/obj/item/encryptionkey/omni //Literally only for the admin intercoms
|
||||
channels = list("Mercenary" = 1, "Raider" = 1, "Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1)
|
||||
/obj/item/device/encryptionkey/omni //Literally only for the admin intercoms
|
||||
channels = list(CHANNEL_MERCENARY = 1, CHANNEL_RAIDER = 1, CHANNEL_RESPONSE_TEAM = 1, CHANNEL_SCIENCE = 1, CHANNEL_COMMAND = 1, CHANNEL_MEDICAL = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SECURITY = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1)
|
||||
syndie = 1//Signifies that it de-crypts Syndicate transmissions
|
||||
|
||||
/obj/item/encryptionkey/ent
|
||||
name = "entertainment encryption key"
|
||||
channels = list("Entertainment" = 1)
|
||||
channels = list(CHANNEL_ENTERTAINMENT = 1)
|
||||
|
||||
@@ -1,54 +1,54 @@
|
||||
/obj/item/encryptionkey/heads/hop
|
||||
name = "head of personnel's encryption key"
|
||||
icon_state = "hop_cypherkey"
|
||||
channels = list("Supply" = 1, "Service" = 1, "Command" = 1, "Security" = 1, "Away Team" = 1)
|
||||
channels = list(CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1, CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/ai_integrated
|
||||
name = "ai integrated encryption key"
|
||||
desc = "Integrated encryption key"
|
||||
icon_state = "cap_cypherkey"
|
||||
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1, "Away Team" = 1)
|
||||
channels = list(CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SCIENCE = 1, CHANNEL_MEDICAL = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_AI_PRIVATE = 1, CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/captain
|
||||
name = "site manager's encryption key"
|
||||
icon_state = "cap_cypherkey"
|
||||
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "Away Team" = 1)
|
||||
channels = list(CHANNEL_COMMAND = 1, CHANNEL_SECURITY = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SCIENCE = 1, CHANNEL_MEDICAL = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/heads/rd
|
||||
name = "research director's encryption key"
|
||||
icon_state = "rd_cypherkey"
|
||||
channels = list("Command" = 1, "Science" = 1)
|
||||
channels = list(CHANNEL_COMMAND = 1, CHANNEL_SCIENCE = 1)
|
||||
|
||||
/obj/item/encryptionkey/ert
|
||||
channels = list("Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1, "Away Team" = 1)
|
||||
/obj/item/device/encryptionkey/ert
|
||||
channels = list(CHANNEL_RESPONSE_TEAM = 1, CHANNEL_SCIENCE = 1, CHANNEL_COMMAND = 1, CHANNEL_MEDICAL = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SECURITY = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/omni //Literally only for the admin intercoms
|
||||
channels = list("Mercenary" = 1, "Raider" = 1, "Response Team" = 1, "Science" = 1, "Command" = 1, "Medical" = 1, "Engineering" = 1, "Security" = 1, "Supply" = 1, "Service" = 1, "Away Team" = 1)
|
||||
/obj/item/device/encryptionkey/omni //Literally only for the admin intercoms
|
||||
channels = list(CHANNEL_MERCENARY = 1, CHANNEL_RAIDER = 1, CHANNEL_RESPONSE_TEAM = 1, CHANNEL_SCIENCE = 1, CHANNEL_COMMAND = 1, CHANNEL_MEDICAL = 1, CHANNEL_ENGINEERING = 1, CHANNEL_SECURITY = 1, CHANNEL_SUPPLY = 1, CHANNEL_SERVICE = 1, CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/pathfinder
|
||||
name = "pathfinder's encryption key"
|
||||
icon_state = "com_cypherkey"
|
||||
channels = list("Command" = 1, "Away Team" = 1)
|
||||
channels = list(CHANNEL_COMMAND = 1, CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/qm
|
||||
name = "quartermaster's encryption key"
|
||||
icon_state = "qm_cypherkey"
|
||||
channels = list("Command" = 1, "Supply" = 1)
|
||||
channels = list(CHANNEL_COMMAND = 1, CHANNEL_SUPPLY = 1)
|
||||
|
||||
/obj/item/encryptionkey/pilot
|
||||
name = "pilot's encryption key"
|
||||
icon_state = "cypherkey"
|
||||
channels = list("Away Team" = 1)
|
||||
channels = list(CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/explorer
|
||||
name = "away team's encryption key"
|
||||
icon_state = "rob_cypherkey"
|
||||
channels = list("Away Team" = 1)
|
||||
channels = list(CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/sar
|
||||
name = "fm's encryption key"
|
||||
icon_state = "med_cypherkey"
|
||||
channels = list("Medical" = 1, "Away Team" = 1)
|
||||
channels = list(CHANNEL_MEDICAL = 1, CHANNEL_EXPLORATION = 1)
|
||||
|
||||
/obj/item/encryptionkey/talon
|
||||
channels = list("Talon" = 1)
|
||||
/obj/item/device/encryptionkey/talon
|
||||
channels = list(CHANNEL_TALON = 1)
|
||||
|
||||
@@ -258,13 +258,13 @@
|
||||
|
||||
/obj/item/radio/headset/heads/hop
|
||||
name = "head of personnel's headset"
|
||||
desc = "The headset of the poor fool who will one day be Site Manager."
|
||||
desc = "The headset of the poor fool who will one day be " + JOB_SITE_MANAGER + "."
|
||||
icon_state = "com_headset"
|
||||
ks2type = /obj/item/encryptionkey/heads/hop
|
||||
|
||||
/obj/item/radio/headset/heads/hop/alt
|
||||
name = "head of personnel's bowman headset"
|
||||
desc = "The headset of the poor fool who will one day be Site Manager."
|
||||
desc = "The headset of the poor fool who will one day be " + JOB_SITE_MANAGER + "."
|
||||
icon_state = "com_headset_alt"
|
||||
ks2type = /obj/item/encryptionkey/heads/hop
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
var/obj/item/card/id/ourid = user?.GetIdCard()
|
||||
if(!ourid)
|
||||
return
|
||||
if(access_change_ids in ourid.access)
|
||||
if(access_change_ids in ourid.GetAccess())
|
||||
playsound(src, 'sound/machines/defib_failed.ogg', 50, 0)
|
||||
return
|
||||
if(access_medical in ourid.access)
|
||||
if(access_medical in ourid.GetAccess())
|
||||
playsound(src, 'sound/effects/pop.ogg', 50, FALSE)
|
||||
else
|
||||
playsound(src, 'sound/machines/defib_failed.ogg', 50, 0)
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -311,8 +311,8 @@
|
||||
playsound(src, 'sound/machines/click.ogg', 20, 1)
|
||||
|
||||
/obj/item/toy/figure/cmo
|
||||
name = "Chief Medical Officer action figure"
|
||||
desc = "A \"Space Life\" brand Chief Medical Officer action figure."
|
||||
name = JOB_CHIEF_MEDICAL_OFFICER + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_CHIEF_MEDICAL_OFFICER + " action figure."
|
||||
icon_state = "cmo"
|
||||
toysay = "Suit sensors!"
|
||||
|
||||
@@ -323,14 +323,14 @@
|
||||
toysay = "Grey tide station wide!"
|
||||
|
||||
/obj/item/toy/figure/atmos
|
||||
name = "Atmospheric Technician action figure"
|
||||
desc = "A \"Space Life\" brand Atmospheric Technician action figure."
|
||||
name = JOB_ATMOSPHERIC_TECHNICIAN + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_ATMOSPHERIC_TECHNICIAN + " action figure."
|
||||
icon_state = "atmos"
|
||||
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,50 +341,50 @@
|
||||
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..."
|
||||
|
||||
/obj/item/toy/figure/captain
|
||||
name = "Site Manager action figure"
|
||||
desc = "A \"Space Life\" brand Site Manager action figure."
|
||||
name = JOB_SITE_MANAGER + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_SITE_MANAGER + " action figure."
|
||||
icon_state = "captain"
|
||||
toysay = "How do I open this display case?"
|
||||
|
||||
/obj/item/toy/figure/cargotech
|
||||
name = "Cargo Technician action figure"
|
||||
desc = "A \"Space Life\" brand Cargo Technician action figure."
|
||||
name = JOB_CARGO_TECHNICIAN + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_CARGO_TECHNICIAN + " action figure."
|
||||
icon_state = "cargotech"
|
||||
toysay = "For Cargonia!"
|
||||
|
||||
/obj/item/toy/figure/ce
|
||||
name = "Chief Engineer action figure"
|
||||
desc = "A \"Space Life\" brand Chief Engineer action figure."
|
||||
name = JOB_CHIEF_ENGINEER + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_CHIEF_ENGINEER + " action figure."
|
||||
icon_state = "ce"
|
||||
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."
|
||||
|
||||
/obj/item/toy/figure/chemist
|
||||
name = "Chemist action figure"
|
||||
desc = "A \"Space Life\" brand Chemist action figure."
|
||||
name = JOB_CHEMIST + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_CHEMIST + " action figure."
|
||||
icon_state = "chemist"
|
||||
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>"
|
||||
|
||||
@@ -395,8 +395,8 @@
|
||||
toysay = "Arf!"
|
||||
|
||||
/obj/item/toy/figure/detective
|
||||
name = "Detective action figure"
|
||||
desc = "A \"Space Life\" brand Detective action figure."
|
||||
name = JOB_DETECTIVE + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_DETECTIVE + " action figure."
|
||||
icon_state = "detective"
|
||||
toysay = "This airlock has grey jumpsuit and insulated glove fibers on it."
|
||||
|
||||
@@ -407,68 +407,68 @@
|
||||
toysay = "Eliminate all threats!"
|
||||
|
||||
/obj/item/toy/figure/engineer
|
||||
name = "Engineer action figure"
|
||||
desc = "A \"Space Life\" brand Engineer action figure."
|
||||
name = JOB_ENGINEER + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_ENGINEER + " action figure."
|
||||
icon_state = "engineer"
|
||||
toysay = "Oh god, the engine is gonna go!"
|
||||
|
||||
/obj/item/toy/figure/geneticist
|
||||
name = "Geneticist action figure"
|
||||
desc = "A \"Space Life\" brand Geneticist action figure, which was recently dicontinued."
|
||||
name = JOB_GENETICIST + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_GENETICIST + " action figure, which was recently dicontinued."
|
||||
icon_state = "geneticist"
|
||||
toysay = "I'm not qualified for this job."
|
||||
|
||||
/obj/item/toy/figure/hop
|
||||
name = "Head of Personnel action figure"
|
||||
desc = "A \"Space Life\" brand Head of Personnel action figure."
|
||||
name = JOB_HEAD_OF_PERSONNEL + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_HEAD_OF_PERSONNEL + " action figure."
|
||||
icon_state = "hop"
|
||||
toysay = "Giving out all access!"
|
||||
|
||||
/obj/item/toy/figure/hos
|
||||
name = "Head of Security action figure"
|
||||
desc = "A \"Space Life\" brand Head of Security action figure."
|
||||
name = JOB_HEAD_OF_SECURITY + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_HEAD_OF_SECURITY + " action figure."
|
||||
icon_state = "hos"
|
||||
toysay = "I'm here to win, anything else is secondary."
|
||||
|
||||
/obj/item/toy/figure/qm
|
||||
name = "Quartermaster action figure"
|
||||
desc = "A \"Space Life\" brand Quartermaster action figure."
|
||||
name = JOB_QUARTERMASTER + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_QUARTERMASTER + " action figure."
|
||||
icon_state = "qm"
|
||||
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..."
|
||||
|
||||
/obj/item/toy/figure/md
|
||||
name = "Medical Doctor action figure"
|
||||
desc = "A \"Space Life\" brand Medical Doctor action figure."
|
||||
name = JOB_MEDICAL_DOCTOR + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_MEDICAL_DOCTOR + " action figure."
|
||||
icon_state = "md"
|
||||
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 = "..."
|
||||
|
||||
/obj/item/toy/figure/miner
|
||||
name = "Shaft Miner action figure"
|
||||
desc = "A \"Space Life\" brand Shaft Miner action figure."
|
||||
name = JOB_SHAFT_MINER + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_SHAFT_MINER + " action figure."
|
||||
icon_state = "miner"
|
||||
toysay = "Oh god, it's eating my intestines!"
|
||||
|
||||
@@ -479,26 +479,26 @@
|
||||
toysay = "Oh god! Stop shooting, I'm friendly!"
|
||||
|
||||
/obj/item/toy/figure/wizard
|
||||
name = "Wizard action figure"
|
||||
desc = "A \"Space Life\" brand Wizard action figure."
|
||||
name = JOB_WIZARD + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_WIZARD + " action figure."
|
||||
icon_state = "wizard"
|
||||
toysay = "Ei Nath!"
|
||||
|
||||
/obj/item/toy/figure/rd
|
||||
name = "Research Director action figure"
|
||||
desc = "A \"Space Life\" brand Research Director action figure."
|
||||
name = JOB_RESEARCH_DIRECTOR + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_RESEARCH_DIRECTOR + " action figure."
|
||||
icon_state = "rd"
|
||||
toysay = "Blowing all of the borgs!"
|
||||
|
||||
/obj/item/toy/figure/roboticist
|
||||
name = "Roboticist action figure"
|
||||
desc = "A \"Space Life\" brand Roboticist action figure."
|
||||
name = JOB_ROBOTICIST + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_ROBOTICIST + " action figure."
|
||||
icon_state = "roboticist"
|
||||
toysay = "He asked to be borged!"
|
||||
|
||||
/obj/item/toy/figure/scientist
|
||||
name = "Scientist action figure"
|
||||
desc = "A \"Space Life\" brand Scientist action figure."
|
||||
name = JOB_SCIENTIST + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_SCIENTIST + " action figure."
|
||||
icon_state = "scientist"
|
||||
toysay = "Someone else must have made those bombs!"
|
||||
|
||||
@@ -509,38 +509,38 @@
|
||||
toysay = "Get that fucking disk!"
|
||||
|
||||
/obj/item/toy/figure/secofficer
|
||||
name = "Security Officer action figure"
|
||||
desc = "A \"Space Life\" brand Security Officer action figure."
|
||||
name = JOB_SECURITY_OFFICER + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_SECURITY_OFFICER + " action figure."
|
||||
icon_state = "secofficer"
|
||||
toysay = "I am the law!"
|
||||
|
||||
/obj/item/toy/figure/virologist
|
||||
name = "Virologist action figure"
|
||||
desc = "A \"Space Life\" brand Virologist action figure."
|
||||
name = JOB_ALT_VIROLOGIST + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_ALT_VIROLOGIST + " action figure."
|
||||
icon_state = "virologist"
|
||||
toysay = "The cure is potassium!"
|
||||
|
||||
/obj/item/toy/figure/warden
|
||||
name = "Warden action figure"
|
||||
desc = "A \"Space Life\" brand Warden action figure."
|
||||
name = JOB_WARDEN + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_WARDEN + " action figure."
|
||||
icon_state = "warden"
|
||||
toysay = "Execute him for breaking in!"
|
||||
|
||||
/obj/item/toy/figure/psychologist
|
||||
name = "Psychologist action figure"
|
||||
desc = "A \"Space Life\" brand Psychologist action figure."
|
||||
name = JOB_ALT_PSYCHOLOGIST + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_ALT_PSYCHOLOGIST + " action figure."
|
||||
icon_state = "psychologist"
|
||||
toysay = "The analyzer says you're fine!"
|
||||
|
||||
/obj/item/toy/figure/paramedic
|
||||
name = "Paramedic action figure"
|
||||
desc = "A \"Space Life\" brand Paramedic action figure."
|
||||
name = JOB_PARAMEDIC + " action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_PARAMEDIC + " action figure."
|
||||
icon_state = "paramedic"
|
||||
toysay = "WHERE ARE YOU??"
|
||||
|
||||
/obj/item/toy/figure/ert
|
||||
name = "Emergency Response Team Commander action figure"
|
||||
desc = "A \"Space Life\" brand Emergency Response Team Commander action figure."
|
||||
name = JOB_EMERGENCY_RESPONSE_TEAM + " Commander action figure"
|
||||
desc = "A \"Space Life\" brand " + JOB_EMERGENCY_RESPONSE_TEAM + " Commander action figure."
|
||||
icon_state = "ert"
|
||||
toysay = "We're probably the good guys!"
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -539,13 +539,13 @@
|
||||
continue
|
||||
players += player.real_name
|
||||
|
||||
var/random_player = "The Site Manager"
|
||||
var/random_player = "The " + JOB_SITE_MANAGER
|
||||
if(cooldown < world.time)
|
||||
cooldown = (world.time + 300) // Sets cooldown at 30 seconds
|
||||
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>")
|
||||
|
||||
@@ -317,7 +317,7 @@
|
||||
|
||||
//Handles checking relevent bans, preferences, and asking the player if they want to be caught
|
||||
/obj/item/capture_crystal/proc/capture_player(mob/living/M, mob/living/U)
|
||||
if(jobban_isbanned(M, "GhostRoles"))
|
||||
if(jobban_isbanned(M, JOB_GHOSTROLES))
|
||||
to_chat(U, "<span class='warning'>This creature is not suitable for capture.</span>")
|
||||
playsound(src, 'sound/effects/capture-crystal-negative.ogg', 75, 1, -1)
|
||||
else if(!M.capture_crystal || M.capture_caught)
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
|
||||
/obj/item/dnainjector/xraymut
|
||||
name = "\improper DNA injector (Xray)"
|
||||
desc = "Finally you can see what the Site Manager does."
|
||||
desc = "Finally you can see what the " + JOB_SITE_MANAGER + " does."
|
||||
datatype = DNA2_BUF_SE
|
||||
value = 0xFFF
|
||||
|
||||
|
||||
@@ -98,8 +98,8 @@
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve
|
||||
desc = "Use of this weapon may constiute a war crime in your area, consult your local Site Manager."
|
||||
/obj/item/weapon/grenade/flashbang/clusterbang//Created by Polymorph, fixed by Sieve
|
||||
desc = "Use of this weapon may constiute a war crime in your area, consult your local " + JOB_SITE_MANAGER + "."
|
||||
name = "clusterbang"
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "clusterbang"
|
||||
@@ -162,4 +162,4 @@
|
||||
|
||||
var/dettime = rand(15,60)
|
||||
spawn(dettime)
|
||||
detonate()
|
||||
detonate()
|
||||
|
||||
@@ -268,3 +268,33 @@
|
||||
reset_icon()
|
||||
return
|
||||
return
|
||||
|
||||
/obj/item/weapon/card/id/cargo/miner/borg
|
||||
var/mob/living/silicon/robot/R
|
||||
var/last_robot_loc
|
||||
name = "Robot Miner ID"
|
||||
rank = JOB_SHAFT_MINER
|
||||
|
||||
/obj/item/weapon/card/id/cargo/miner/borg/Initialize()
|
||||
. = ..()
|
||||
R = loc.loc
|
||||
registered_name = R.braintype
|
||||
RegisterSignal(src, COMSIG_OBSERVER_MOVED, PROC_REF(check_loc))
|
||||
|
||||
/obj/item/weapon/card/id/cargo/miner/borg/proc/check_loc(atom/movable/mover, atom/old_loc, atom/new_loc)
|
||||
if(old_loc == R || old_loc == R.module)
|
||||
last_robot_loc = old_loc
|
||||
if(!istype(loc, /obj/machinery) && loc != R && loc != R.module)
|
||||
if(last_robot_loc)
|
||||
forceMove(last_robot_loc)
|
||||
last_robot_loc = null
|
||||
else
|
||||
forceMove(R)
|
||||
if(loc == R)
|
||||
hud_layerise()
|
||||
|
||||
/obj/item/weapon/card/id/cargo/miner/borg/Destroy()
|
||||
UnregisterSignal(src, COMSIG_OBSERVER_MOVED)
|
||||
R = null
|
||||
last_robot_loc = null
|
||||
..()
|
||||
|
||||
@@ -58,10 +58,12 @@
|
||||
/obj/item/card/id/silver/secretary
|
||||
name = "Secretary's ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n")
|
||||
rank = JOB_COMMAND_SECRETARY
|
||||
|
||||
/obj/item/card/id/silver/hop
|
||||
name = "Head of Personnel ID"
|
||||
/obj/item/weapon/card/id/silver/hop
|
||||
name = JOB_HEAD_OF_PERSONNEL + " ID"
|
||||
initial_sprite_stack = list("base-stamp-silver", "top-blue", "stamp-n", "pips-gold")
|
||||
rank = JOB_HEAD_OF_PERSONNEL
|
||||
|
||||
//Gold
|
||||
|
||||
@@ -72,108 +74,132 @@
|
||||
/obj/item/card/id/gold/captain
|
||||
name = "Captain's ID"
|
||||
initial_sprite_stack = list("base-stamp-gold", "top-blue", "stamp-n", "pips-gold")
|
||||
rank = JOB_SITE_MANAGER
|
||||
|
||||
/obj/item/card/id/gold/captain/spare
|
||||
name = "Spare ID"
|
||||
initial_sprite_stack = list("base-stamp-gold", "top-gold", "stamp-n")
|
||||
rank = JOB_SITE_MANAGER
|
||||
|
||||
//Medical
|
||||
|
||||
/obj/item/card/id/medical
|
||||
name = "Medical ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n")
|
||||
rank = JOB_MEDICAL_DOCTOR
|
||||
|
||||
/obj/item/card/id/medical/chemist
|
||||
name = "Chemist's ID"
|
||||
/obj/item/weapon/card/id/medical/chemist
|
||||
name = JOB_CHEMIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-orange")
|
||||
rank = JOB_CHEMIST
|
||||
|
||||
/obj/item/card/id/medical/geneticist
|
||||
name = "Geneticist's ID"
|
||||
/obj/item/weapon/card/id/medical/geneticist
|
||||
name = JOB_GENETICIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-purple")
|
||||
rank = JOB_GENETICIST
|
||||
|
||||
/obj/item/card/id/medical/psych
|
||||
name = "Psychologist's ID"
|
||||
/obj/item/weapon/card/id/medical/psych
|
||||
name = JOB_ALT_PSYCHOLOGIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-brown")
|
||||
rank = JOB_PSYCHIATRIST
|
||||
|
||||
/obj/item/card/id/medical/virologist
|
||||
name = "Virologist's ID"
|
||||
/obj/item/weapon/card/id/medical/virologist
|
||||
name = JOB_ALT_VIROLOGIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-green")
|
||||
rank = JOB_ALT_VIROLOGIST
|
||||
|
||||
/obj/item/card/id/medical/emt
|
||||
name = "Emergency Medical Technician's ID"
|
||||
/obj/item/weapon/card/id/medical/emt
|
||||
name = JOB_ALT_EMERGENCY_MEDICAL_TECHNICIAN + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-medblu", "stamp-n", "stripe-blue")
|
||||
rank = JOB_PARAMEDIC
|
||||
|
||||
/obj/item/card/id/medical/head
|
||||
name = "Chief Medical Officer's ID"
|
||||
/obj/item/weapon/card/id/medical/head
|
||||
name = JOB_CHIEF_MEDICAL_OFFICER + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp-silver", "top-medblu", "stamp-n", "pips-gold")
|
||||
rank = JOB_CHIEF_MEDICAL_OFFICER
|
||||
|
||||
//Security
|
||||
|
||||
/obj/item/card/id/security
|
||||
name = "Security ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-red", "stamp-n")
|
||||
rank = JOB_SECURITY_OFFICER
|
||||
|
||||
/obj/item/card/id/security/detective
|
||||
name = "Detective's ID"
|
||||
/obj/item/weapon/card/id/security/detective
|
||||
name = JOB_DETECTIVE + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-brown")
|
||||
rank = JOB_DETECTIVE
|
||||
|
||||
/obj/item/card/id/security/warden
|
||||
name = "Warden's ID"
|
||||
/obj/item/weapon/card/id/security/warden
|
||||
name = JOB_WARDEN + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-red", "stamp-n", "stripe-white")
|
||||
rank = JOB_WARDEN
|
||||
|
||||
/obj/item/card/id/security/head
|
||||
name = "Head of Security's ID"
|
||||
/obj/item/weapon/card/id/security/head
|
||||
name = JOB_HEAD_OF_SECURITY + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp-silver", "top-red", "stamp-n", "pips-gold")
|
||||
rank = JOB_HEAD_OF_SECURITY
|
||||
|
||||
//Engineering
|
||||
|
||||
/obj/item/card/id/engineering
|
||||
name = "Engineering ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-orange", "stamp-n")
|
||||
rank = JOB_ENGINEER
|
||||
|
||||
/obj/item/card/id/engineering/atmos
|
||||
name = "Atmospherics ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-orange", "stripe-medblu", "stamp-n")
|
||||
rank = JOB_ATMOSPHERIC_TECHNICIAN
|
||||
|
||||
/obj/item/card/id/engineering/head
|
||||
name = "Chief Engineer's ID"
|
||||
/obj/item/weapon/card/id/engineering/head
|
||||
name = JOB_CHIEF_ENGINEER + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp-silver", "top-orange", "stamp-n", "pips-gold")
|
||||
rank = JOB_CHIEF_ENGINEER
|
||||
|
||||
//Science
|
||||
|
||||
/obj/item/card/id/science
|
||||
name = "Science ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n")
|
||||
rank = JOB_SCIENTIST
|
||||
|
||||
/obj/item/card/id/science/roboticist
|
||||
name = "Roboticist's ID"
|
||||
/obj/item/weapon/card/id/science/roboticist
|
||||
name = JOB_ROBOTICIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-brown")
|
||||
rank = JOB_ROBOTICIST
|
||||
|
||||
/obj/item/card/id/science/xenobiologist
|
||||
name = "Xenobiologist's ID"
|
||||
/obj/item/weapon/card/id/science/xenobiologist
|
||||
name = JOB_XENOBIOLOGIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-orange")
|
||||
rank = JOB_XENOBIOLOGIST
|
||||
|
||||
/obj/item/card/id/science/xenobotanist
|
||||
name = "Xenobotanist's ID"
|
||||
/obj/item/weapon/card/id/science/xenobotanist
|
||||
name = JOB_XENOBOTANIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-purple", "stamp-n", "stripe-green")
|
||||
rank = JOB_XENOBOTANIST
|
||||
|
||||
/obj/item/card/id/science/head
|
||||
name = "Research Director's ID"
|
||||
/obj/item/weapon/card/id/science/head
|
||||
name = JOB_RESEARCH_DIRECTOR + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp-silver", "top-purple", "stamp-n", "pips-gold")
|
||||
rank = JOB_RESEARCH_DIRECTOR
|
||||
|
||||
//Cargo
|
||||
|
||||
/obj/item/card/id/cargo
|
||||
name = "Cargo ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n")
|
||||
rank = JOB_CARGO_TECHNICIAN
|
||||
|
||||
/obj/item/card/id/cargo/miner
|
||||
name = "Miner's ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-brown", "stamp-n", "stripe-purple")
|
||||
rank = JOB_SHAFT_MINER
|
||||
|
||||
/obj/item/card/id/cargo/head
|
||||
name = "Quartermaster's ID"
|
||||
/obj/item/weapon/card/id/cargo/head
|
||||
name = JOB_QUARTERMASTER + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp-silver", "top-brown", "stamp-n", "pips-white")
|
||||
rank = JOB_QUARTERMASTER
|
||||
|
||||
//Civilian
|
||||
|
||||
@@ -181,37 +207,45 @@
|
||||
name = "Civilian ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n")
|
||||
|
||||
/obj/item/card/id/civilian/chaplain
|
||||
name = "Chaplain's ID"
|
||||
/obj/item/weapon/card/id/civilian/chaplain
|
||||
name = JOB_CHAPLAIN + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-cross", "stripe-white")
|
||||
rank = JOB_CHAPLAIN
|
||||
|
||||
/obj/item/card/id/civilian/journalist
|
||||
name = "Journalist's ID"
|
||||
/obj/item/weapon/card/id/civilian/journalist
|
||||
name = JOB_ALT_JOURNALIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-red")
|
||||
rank = JOB_ALT_JOURNALIST
|
||||
|
||||
/obj/item/card/id/civilian/pilot
|
||||
name = "Pilot's ID"
|
||||
/obj/item/weapon/card/id/civilian/pilot
|
||||
name = JOB_PILOT + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-olive")
|
||||
rank = JOB_PILOT
|
||||
|
||||
/obj/item/card/id/civilian/entertainer
|
||||
name = "Entertainer's ID"
|
||||
/obj/item/weapon/card/id/civilian/entertainer
|
||||
name = JOB_ENTERTAINER + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-brown")
|
||||
rank = JOB_ENTERTAINER
|
||||
|
||||
/obj/item/card/id/civilian/entrepreneur
|
||||
name = "Entrepreneur's ID"
|
||||
/obj/item/weapon/card/id/civilian/entrepreneur
|
||||
name = JOB_ENTREPRENEUR + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-generic", "stamp-n", "stripe-gold")
|
||||
rank = JOB_ENTREPRENEUR
|
||||
|
||||
/obj/item/card/id/civilian/clown
|
||||
name = "Clown's ID"
|
||||
/obj/item/weapon/card/id/civilian/clown
|
||||
name = JOB_CLOWN + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-rainbow", "stamp-n")
|
||||
rank = JOB_CLOWN
|
||||
|
||||
/obj/item/card/id/civilian/mime
|
||||
name = "Mime's ID"
|
||||
/obj/item/weapon/card/id/civilian/mime
|
||||
name = JOB_MIME + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-white", "stamp-n", "stripe-black")
|
||||
rank = JOB_MIME
|
||||
|
||||
/obj/item/card/id/civilian/internal_affairs
|
||||
name = "Internal Affairs ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-blue", "stamp-n", "stripe-black")
|
||||
rank = JOB_INTERNAL_AFFAIRS_AGENT
|
||||
|
||||
//Service
|
||||
|
||||
@@ -219,35 +253,42 @@
|
||||
name = "Service ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n")
|
||||
|
||||
/obj/item/card/id/civilian/service/botanist
|
||||
name = "Botanist's ID"
|
||||
/obj/item/weapon/card/id/civilian/service/botanist
|
||||
name = JOB_BOTANIST + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-darkgreen")
|
||||
rank = JOB_BOTANIST
|
||||
|
||||
/obj/item/card/id/civilian/service/bartender
|
||||
name = "Bartender's ID"
|
||||
/obj/item/weapon/card/id/civilian/service/bartender
|
||||
name = JOB_BARTENDER + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-black")
|
||||
rank = JOB_BARTENDER
|
||||
|
||||
/obj/item/card/id/civilian/service/chef
|
||||
name = "Chef's ID"
|
||||
/obj/item/weapon/card/id/civilian/service/chef
|
||||
name = JOB_CHEF + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-white")
|
||||
rank = JOB_CHEF
|
||||
|
||||
/obj/item/card/id/civilian/service/janitor
|
||||
name = "Janitor's ID"
|
||||
/obj/item/weapon/card/id/civilian/service/janitor
|
||||
name = JOB_JANITOR + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-green", "stamp-n", "stripe-purple")
|
||||
rank = JOB_JANITOR
|
||||
|
||||
//Exploration
|
||||
|
||||
/obj/item/card/id/exploration
|
||||
name = "Exploration ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-olive", "stamp-n")
|
||||
rank = JOB_EXPLORER
|
||||
|
||||
/obj/item/card/id/exploration/fm
|
||||
name = "Field Medic's ID"
|
||||
/obj/item/weapon/card/id/exploration/fm
|
||||
name = JOB_FIELD_MEDIC + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp", "top-olive", "stamp-n", "stripe-medblu")
|
||||
rank = JOB_FIELD_MEDIC
|
||||
|
||||
/obj/item/card/id/exploration/head
|
||||
name = "Pathfinder's ID"
|
||||
/obj/item/weapon/card/id/exploration/head
|
||||
name = JOB_PATHFINDER + "'s ID"
|
||||
initial_sprite_stack = list("base-stamp-silver", "top-olive", "stamp-n", "pips-white")
|
||||
rank = JOB_PATHFINDER
|
||||
|
||||
//Talon
|
||||
|
||||
@@ -258,32 +299,39 @@
|
||||
/obj/item/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/card/id/talon/engineer
|
||||
name = "Talon Engineering ID"
|
||||
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-orange", "stripe-orange")
|
||||
rank = JOB_TALON_ENGINEER
|
||||
|
||||
/obj/item/card/id/talon/officer
|
||||
name = "Talon Security ID"
|
||||
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-red", "stripe-red")
|
||||
rank = JOB_TALON_GUARD
|
||||
|
||||
/obj/item/card/id/talon/pilot
|
||||
name = "Talon Pilot ID"
|
||||
/obj/item/weapon/card/id/talon/pilot
|
||||
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/card/id/talon/miner
|
||||
name = "Talon Mining ID"
|
||||
initial_sprite_stack = list("base-stamp-dark", "top-dark", "stamp-silhouette", "pips-brown", "stripe-brown")
|
||||
rank = JOB_TALON_MINER
|
||||
|
||||
/obj/item/card/id/talon/captain
|
||||
name = "Talon Captain ID"
|
||||
/obj/item/weapon/card/id/talon/captain
|
||||
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
|
||||
|
||||
/obj/item/card/id/syndicate
|
||||
name = "Syndicate ID"
|
||||
initial_sprite_stack = list("base-stamp-dark", "top-syndicate", "stamp-s")
|
||||
rank = JOB_SYNDICATE
|
||||
|
||||
/obj/item/card/id/syndicate/officer
|
||||
name = "Syndicate Officer ID"
|
||||
|
||||
@@ -141,15 +141,15 @@
|
||||
item_state = "gold_id"
|
||||
preserve_item = 1
|
||||
|
||||
/obj/item/card/id/gold/captain
|
||||
assignment = "Site Manager"
|
||||
rank = "Site Manager"
|
||||
/obj/item/weapon/card/id/gold/captain
|
||||
assignment = JOB_SITE_MANAGER
|
||||
rank = JOB_SITE_MANAGER
|
||||
|
||||
/obj/item/card/id/gold/captain/spare
|
||||
name = "\improper Site Manager's spare ID"
|
||||
/obj/item/weapon/card/id/gold/captain/spare
|
||||
name = "\improper " + JOB_SITE_MANAGER + "'s spare ID"
|
||||
desc = "The emergency spare ID for the station's very own Big Cheese."
|
||||
icon_state = "gold-id-alternate"
|
||||
registered_name = "Site Manager"
|
||||
registered_name = JOB_SITE_MANAGER
|
||||
|
||||
/obj/item/card/id/gold/captain/spare/fakespare
|
||||
rank = "null"
|
||||
@@ -202,10 +202,11 @@
|
||||
. = ..()
|
||||
access |= get_all_station_access()
|
||||
|
||||
/obj/item/card/id/centcom/ERT
|
||||
name = "\improper Emergency Response Team ID"
|
||||
assignment = "Emergency Response Team"
|
||||
/obj/item/weapon/card/id/centcom/ERT
|
||||
name = "\improper " + JOB_EMERGENCY_RESPONSE_TEAM + "ID"
|
||||
assignment = JOB_EMERGENCY_RESPONSE_TEAM
|
||||
icon_state = "ert-id"
|
||||
rank = JOB_EMERGENCY_RESPONSE_TEAM
|
||||
|
||||
/obj/item/card/id/centcom/ERT/Initialize()
|
||||
. = ..()
|
||||
@@ -218,14 +219,15 @@
|
||||
icon_state = "medical-id"
|
||||
primary_color = rgb(189,237,237)
|
||||
secondary_color = rgb(223,255,255)
|
||||
rank = JOB_MEDICAL_DOCTOR
|
||||
|
||||
/obj/item/card/id/medical/head
|
||||
name = "identification card"
|
||||
desc = "A card which represents care and compassion."
|
||||
primary_color = rgb(189,237,237)
|
||||
secondary_color = rgb(255,223,127)
|
||||
assignment = "Chief Medical Officer"
|
||||
rank = "Chief Medical Officer"
|
||||
assignment = JOB_CHIEF_MEDICAL_OFFICER
|
||||
rank = JOB_CHIEF_MEDICAL_OFFICER
|
||||
|
||||
/obj/item/card/id/security
|
||||
name = "identification card"
|
||||
@@ -233,18 +235,19 @@
|
||||
icon_state = "security-id"
|
||||
primary_color = rgb(189,47,0)
|
||||
secondary_color = rgb(223,127,95)
|
||||
rank = JOB_SECURITY_OFFICER
|
||||
|
||||
/obj/item/card/id/security/warden
|
||||
assignment = "Warden"
|
||||
rank = "Warden"
|
||||
/obj/item/weapon/card/id/security/warden
|
||||
assignment = JOB_WARDEN
|
||||
rank = JOB_WARDEN
|
||||
|
||||
/obj/item/card/id/security/head
|
||||
name = "identification card"
|
||||
desc = "A card which represents honor and protection."
|
||||
primary_color = rgb(189,47,0)
|
||||
secondary_color = rgb(255,223,127)
|
||||
assignment = "Head of Security"
|
||||
rank = "Head of Security"
|
||||
assignment = JOB_HEAD_OF_SECURITY
|
||||
rank = JOB_HEAD_OF_SECURITY
|
||||
|
||||
/obj/item/card/id/engineering
|
||||
name = "identification card"
|
||||
@@ -253,17 +256,17 @@
|
||||
primary_color = rgb(189,94,0)
|
||||
secondary_color = rgb(223,159,95)
|
||||
|
||||
/obj/item/card/id/engineering/atmos
|
||||
assignment = "Atmospheric Technician"
|
||||
rank = "Atmospheric Technician"
|
||||
/obj/item/weapon/card/id/engineering/atmos
|
||||
assignment = JOB_ATMOSPHERIC_TECHNICIAN
|
||||
rank = JOB_ATMOSPHERIC_TECHNICIAN
|
||||
|
||||
/obj/item/card/id/engineering/head
|
||||
name = "identification card"
|
||||
desc = "A card which represents creativity and ingenuity."
|
||||
primary_color = rgb(189,94,0)
|
||||
secondary_color = rgb(255,223,127)
|
||||
assignment = "Chief Engineer"
|
||||
rank = "Chief Engineer"
|
||||
assignment = JOB_CHIEF_ENGINEER
|
||||
rank = JOB_CHIEF_ENGINEER
|
||||
|
||||
/obj/item/card/id/science
|
||||
name = "identification card"
|
||||
@@ -277,8 +280,8 @@
|
||||
desc = "A card which represents knowledge and reasoning."
|
||||
primary_color = rgb(142,47,142)
|
||||
secondary_color = rgb(255,223,127)
|
||||
assignment = "Research Director"
|
||||
rank = "Research Director"
|
||||
assignment = JOB_RESEARCH_DIRECTOR
|
||||
rank = JOB_RESEARCH_DIRECTOR
|
||||
|
||||
/obj/item/card/id/cargo
|
||||
name = "identification card"
|
||||
@@ -292,12 +295,12 @@
|
||||
desc = "A card which represents service and planning."
|
||||
primary_color = rgb(142,94,0)
|
||||
secondary_color = rgb(255,223,127)
|
||||
assignment = "Quartermaster"
|
||||
rank = "Quartermaster"
|
||||
assignment = JOB_QUARTERMASTER
|
||||
rank = JOB_QUARTERMASTER
|
||||
|
||||
/obj/item/card/id/assistant
|
||||
assignment = USELESS_JOB //VOREStation Edit - Visitor not Assistant
|
||||
rank = USELESS_JOB //VOREStation Edit - Visitor not Assistant
|
||||
/obj/item/weapon/card/id/assistant
|
||||
assignment = JOB_ALT_VISITOR //VOREStation Edit - Visitor not Assistant
|
||||
rank = JOB_ALT_VISITOR //VOREStation Edit - Visitor not Assistant
|
||||
|
||||
/obj/item/card/id/civilian
|
||||
name = "identification card"
|
||||
@@ -306,7 +309,7 @@
|
||||
primary_color = rgb(0,94,142)
|
||||
secondary_color = rgb(95,159,191)
|
||||
assignment = "Civilian"
|
||||
rank = "Assistant"
|
||||
rank = JOB_ALT_ASSISTANT
|
||||
|
||||
/obj/item/card/id/civilian/head //This is not the HoP. There's no position that uses this right now.
|
||||
name = "identification card"
|
||||
@@ -352,10 +355,10 @@
|
||||
configured = 1
|
||||
to_chat(user, "<span class='notice'>Card settings set.</span>")
|
||||
|
||||
/obj/item/card/id/event/attackby(obj/item/I as obj, var/mob/user)
|
||||
if(istype(I, /obj/item/card/id) && !accessset)
|
||||
var/obj/item/card/id/O = I
|
||||
access |= O.access
|
||||
/obj/item/weapon/card/id/event/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
|
||||
access |= O.GetAccess()
|
||||
desc = I.desc
|
||||
rank = O.rank
|
||||
to_chat(user, "<span class='notice'>You copy the access from \the [I] to \the [src].</span>")
|
||||
@@ -402,14 +405,14 @@
|
||||
/obj/item/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 = JOB_PILOT
|
||||
rank = JOB_PILOT
|
||||
|
||||
/obj/item/card/id/event/accessset/itg/crew/service
|
||||
name = "\improper ITG Cook's ID"
|
||||
desc = "An ID card belonging to the Cook of an ITG vessel. The Cook's responsibility is primarily to provide sustinence to the crew and passengers. The Cook answers to the Passenger Liason. In the absence of a Passenger Liason, the Cook is also responsible for tending to passenger related care and duties."
|
||||
assignment = "Cook"
|
||||
rank = "Cook"
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/service
|
||||
name = "\improper ITG " + JOB_ALT_COOK + "'s ID"
|
||||
desc = "An ID card belonging to the " + JOB_ALT_COOK + " of an ITG vessel. The " + JOB_ALT_COOK + "'s responsibility is primarily to provide sustinence to the crew and passengers. The " + JOB_ALT_COOK + " answers to the Passenger Liason. In the absence of a Passenger Liason, the " + JOB_ALT_COOK + " is also responsible for tending to passenger related care and duties."
|
||||
assignment = JOB_ALT_COOK
|
||||
rank = JOB_ALT_COOK
|
||||
icon_state = "itg_green"
|
||||
|
||||
/obj/item/card/id/event/accessset/itg/crew/security
|
||||
@@ -433,11 +436,11 @@
|
||||
rank = "Medic"
|
||||
icon_state = "itg_white"
|
||||
|
||||
/obj/item/card/id/event/accessset/itg/crew/engineer
|
||||
name = "\improper ITG Engineer's ID"
|
||||
desc = "An ID card belonging to the Engineer of an ITG vessel. The Engineer's responsibility is primarily to maintain the ship. They may also be tasked to assist with cargo movement duties."
|
||||
assignment = "Engineer"
|
||||
rank = "Engineer"
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/engineer
|
||||
name = "\improper ITG " + JOB_ENGINEER + "'s ID"
|
||||
desc = "An ID card belonging to the " + JOB_ENGINEER + " of an ITG vessel. The " + JOB_ENGINEER + "'s responsibility is primarily to maintain the ship. They may also be tasked to assist with cargo movement duties."
|
||||
assignment = JOB_ENGINEER
|
||||
rank = JOB_ENGINEER
|
||||
icon_state = "itg_orange"
|
||||
|
||||
/obj/item/card/id/event/accessset/itg/crew/passengerliason
|
||||
@@ -447,11 +450,11 @@
|
||||
rank = "Passenger Liason"
|
||||
icon_state = "itg_blue"
|
||||
|
||||
/obj/item/card/id/event/accessset/itg/crew/captain
|
||||
name = "\improper ITG Captain's ID"
|
||||
/obj/item/weapon/card/id/event/accessset/itg/crew/captain
|
||||
name = "\improper ITG " + JOB_ALT_CAPTAIN + "'s ID"
|
||||
desc = "An ID card belonging to the Captain of an ITG vessel. The Captain's responsibility is primarily to manage crew to ensure smooth ship operations. Captains often also often pilot the vessel when no dedicated pilot is assigned."
|
||||
assignment = "Captain"
|
||||
rank = "Captain"
|
||||
assignment = JOB_ALT_CAPTAIN
|
||||
rank = JOB_ALT_CAPTAIN
|
||||
icon_state = "itg_blue"
|
||||
access = list(777, 778)
|
||||
|
||||
@@ -520,47 +523,46 @@
|
||||
/obj/item/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",
|
||||
"Quartermaster" = "itg",
|
||||
"Cargo Technician" = "itg",
|
||||
"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",
|
||||
"Warden" = "itg_red",
|
||||
"Detective" = "itg_red",
|
||||
"Security Officer" = "itg_red",
|
||||
"Talon Guard" = "itg_red",
|
||||
"Roboticist" = "itg_purple",
|
||||
"Scientist" = "itg_purple",
|
||||
"Xenobiologist" = "itg_purple",
|
||||
"Xenobotanist" = "itg_purple",
|
||||
"Pathfinder" = "itg_purple",
|
||||
"Explorer" = "itg_purple",
|
||||
"Chemist" = "itg_white",
|
||||
"Medical Doctor" = "itg_white",
|
||||
"Paramedic" = "itg_white",
|
||||
"Psychiatrist" = "itg_white",
|
||||
"Field Medic" = "itg_white",
|
||||
"Talon Doctor" = "itg_white",
|
||||
"Atmospheric Technician" = "itg_orange",
|
||||
"Engineer" = "itg_orange",
|
||||
"Off-duty Officer" = "itg_red",
|
||||
"Off-duty Engineer" = "itg_orange",
|
||||
"Off-duty Medic" = "itg_white",
|
||||
"Off-duty Scientist" = "itg_purple",
|
||||
"Off-duty Cargo" = "itg",
|
||||
"Off-duty Explorer" = "itg_purple",
|
||||
"Off-duty Worker" = "itg_green"
|
||||
JOB_PILOT = "itg",
|
||||
JOB_ALT_VISITOR = "itg",
|
||||
JOB_QUARTERMASTER = "itg",
|
||||
JOB_CARGO_TECHNICIAN = "itg",
|
||||
JOB_SHAFT_MINER = "itg",
|
||||
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",
|
||||
JOB_TALON_GUARD = "itg_red",
|
||||
JOB_ROBOTICIST = "itg_purple",
|
||||
JOB_SCIENTIST = "itg_purple",
|
||||
JOB_XENOBIOLOGIST = "itg_purple",
|
||||
JOB_XENOBOTANIST = "itg_purple",
|
||||
JOB_PATHFINDER = "itg_purple",
|
||||
JOB_EXPLORER = "itg_purple",
|
||||
JOB_CHEMIST = "itg_white",
|
||||
JOB_MEDICAL_DOCTOR = "itg_white",
|
||||
JOB_PARAMEDIC = "itg_white",
|
||||
JOB_PSYCHIATRIST = "itg_white",
|
||||
JOB_FIELD_MEDIC = "itg_white",
|
||||
JOB_TALON_DOCTOR = "itg_white",
|
||||
JOB_ATMOSPHERIC_TECHNICIAN = "itg_orange",
|
||||
JOB_ENGINEER = "itg_orange",
|
||||
JOB_OFFDUTY_OFFICER = "itg_red",
|
||||
JOB_OFFDUTY_ENGINEER = "itg_orange",
|
||||
JOB_OFFDUTY_MEDIC = "itg_white",
|
||||
JOB_OFFDUTY_SCIENTIST = "itg_purple",
|
||||
JOB_OFFDUTY_CARGO = "itg",
|
||||
JOB_OFFDUTY_EXPLORER = "itg_purple",
|
||||
JOB_OFFDUTY_WORKER = "itg_green"
|
||||
)
|
||||
var/guess = jobs_to_icon[user.job]
|
||||
|
||||
@@ -574,10 +576,10 @@
|
||||
name = user.name + "'s ITG ID card" + " ([assignment])"
|
||||
|
||||
|
||||
/obj/item/card/id/event/polymorphic/itg/attackby(obj/item/I as obj, var/mob/user)
|
||||
if(istype(I, /obj/item/card/id) && !accessset)
|
||||
var/obj/item/card/id/O = I
|
||||
var/list/itgdont = list("Site Manager", "Head of Personnel", "Command Secretary", "Head of Security", "Chief Engineer", "Chief Medical Officer", "Research Director", "Clown", "Mime", "Talon Captain") //If you're in as one of these you probably aren't representing ITG
|
||||
/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, 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
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
|
||||
/obj/item/card/id/syndicate/afterattack(var/obj/item/O as obj, mob/user as mob, proximity)
|
||||
if(!proximity) return
|
||||
if(istype(O, /obj/item/card/id))
|
||||
var/obj/item/card/id/I = O
|
||||
src.access |= I.access
|
||||
if(istype(O, /obj/item/weapon/card/id))
|
||||
var/obj/item/weapon/card/id/I = O
|
||||
src.access |= I.GetAccess()
|
||||
if(player_is_antag(user.mind) || registered_user == user)
|
||||
to_chat(user, "<span class='notice'>The microscanner activates as you pass it over the ID, copying its access.</span>")
|
||||
|
||||
|
||||
@@ -647,12 +647,12 @@
|
||||
</html>
|
||||
"}
|
||||
|
||||
/obj/item/book/manual/robotics_cyborgs
|
||||
name = "Cyborgs for Dummies"
|
||||
/obj/item/weapon/book/manual/robotics_cyborgs
|
||||
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>
|
||||
@@ -949,12 +949,12 @@
|
||||
"}
|
||||
|
||||
|
||||
/obj/item/book/manual/chef_recipes
|
||||
name = "Chef Recipes"
|
||||
/obj/item/weapon/book/manual/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>
|
||||
@@ -1401,7 +1401,7 @@
|
||||
name = "Sneezes and Coughs: A Guide To Virology, 1st Edition"
|
||||
icon_state = "bookvirology"
|
||||
item_state = "book5"
|
||||
author = "James Simpson, Chief Virologist"
|
||||
author = "James Simpson, Chief " + JOB_ALT_VIROLOGIST
|
||||
title = "Sneezes and Coughs: A Guide To Virology, 1st Edition"
|
||||
dat = {"<html>
|
||||
<head>
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
|
||||
/obj/item/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/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/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")
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
icon = 'icons/mob/screen1.dmi'
|
||||
icon_state = "x"
|
||||
spawn_nothing_percentage = 10
|
||||
var/faction = "wild animal"
|
||||
var/faction = FACTION_WILD_ANIMAL
|
||||
|
||||
/obj/random/outside_mob/item_to_spawn() // Special version for mobs to have the same faction.
|
||||
return pick(
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
var/choice
|
||||
var/finalized = "No"
|
||||
|
||||
if(jobban_isbanned(M, "GhostRoles"))
|
||||
if(jobban_isbanned(M, JOB_GHOSTROLES))
|
||||
to_chat(M, "<span class='warning'>You cannot inhabit this creature because you are banned from playing ghost roles.</span>")
|
||||
reset_ghostpod()
|
||||
return
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
|
||||
/obj/structure/ghost_pod/ghost_activated/attack_ghost(var/mob/observer/dead/user)
|
||||
//VOREStation Add Start
|
||||
if(jobban_isbanned(user, "GhostRoles"))
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, "<span class='warning'>You cannot inhabit this creature because you are banned from playing ghost roles.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/activated = FALSE
|
||||
|
||||
/obj/structure/ghost_pod/manual/attack_ghost(var/mob/observer/dead/user)
|
||||
if(jobban_isbanned(user, "GhostRoles"))
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, "<span class='warning'>You cannot inhabit this creature because you are banned from playing ghost roles.</span>")
|
||||
return
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
/obj/structure/cult/pylon/swarm/CanPass(atom/movable/mover, turf/target)
|
||||
if(istype(mover, /mob/living))
|
||||
var/mob/living/L = mover
|
||||
if(L.faction == "swarmer")
|
||||
if(L.faction == FACTION_SWARMER)
|
||||
return TRUE
|
||||
else if(istype(mover, /obj/item/projectile))
|
||||
var/obj/item/projectile/P = mover
|
||||
if(istype(P.firer) && P.firer.faction == "swarmer")
|
||||
if(istype(P.firer) && P.firer.faction == FACTION_SWARMER)
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
return
|
||||
|
||||
//VOREStation Add Start
|
||||
if(jobban_isbanned(user, "GhostRoles"))
|
||||
if(jobban_isbanned(user, JOB_GHOSTROLES))
|
||||
to_chat(user, "<span class='warning'>You cannot become a mouse because you are banned from playing ghost roles.</span>")
|
||||
return
|
||||
//VOREStation Add End
|
||||
|
||||
Reference in New Issue
Block a user