Skip to content

Commit

Permalink
Combat Correspondent (cmss13-devs#2761)
Browse files Browse the repository at this point in the history
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->

# About the pull request

This adds the role combat reporter. This role will be a primarily RP
role. The role has an office south of shipside tcomms and west of
laundry.

For the time being they have the same restrictions as the CL:
They may deploy at will.
They report directly to the acting commander with regards to ML.
They are NOT to be fighting xenos or frontlining. They should be staying
in safe areas or moving with escorts (making the area safe).

# Explain why it's good for the game

This is something that has been asked for quite a bit. I'm on the fence
about it personally but was requested to get something running.

There is a good argument against "role bloat" which is generally
misunderstood as "too many roles bad" which is not the case. Instead,
role bloat involves creating extra roles that take away from the
gameplay loop or takes away from other roles (specifically in this case
the corporate liaison who is rather similar if they want to do a
gimmick).

Anyways, we'll see how the testmerge goes, feedback, as well as other
architect thoughts.

Oh and the feedback word today is GIGGLES.


# Testing Photographs and Procedure
<!-- Include any screenshots/videos/debugging steps of the modified code
functioning successfully, ideally including edge cases. -->
<details>
<summary>Screenshots & Videos</summary>
Tested a bit, we'll run into bugs I'm sure.
</details>


# Changelog

:cl: Morrow
add: Added the role Combat Correspondent.
/:cl:

<!-- Both :cl:'s are required for the changelog to work! -->

---------

Co-authored-by: harryob <[email protected]>
  • Loading branch information
morrowwolf and hry-gh authored Mar 27, 2023
1 parent c078c2e commit eb4d5ec
Show file tree
Hide file tree
Showing 34 changed files with 653 additions and 94 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -61,4 +61,5 @@ most of them are tied into map-placed objects. This should be reworked in the fu
#define ACCESS_WY_CORPORATE 200
#define ACCESS_ILLEGAL_PIRATE 201
#define ACCESS_WY_CORPORATE_DS 202
#define ACCESS_PRESS 203
//=================================================
1 change: 1 addition & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ var/global/list/job_squad_roles = JOB_SQUAD_ROLES_LIST
#define JOB_MEDIC_ROLES_LIST list(JOB_SQUAD_MEDIC, JOB_CMO, JOB_DOCTOR, JOB_NURSE, JOB_RESEARCHER)

#define JOB_CORPORATE_LIAISON "Corporate Liaison"
#define JOB_COMBAT_REPORTER "Combat Correspondent"
#define JOB_MESS_SERGEANT "Mess Technician"
#define JOB_SYNTH "Synthetic"
#define JOB_WORKING_JOE "Working Joe"
Expand Down
8 changes: 4 additions & 4 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,12 @@ var/list/be_special_flags = list(
//=================================================

//Role defines, specifically lists of roles for job bans, crew manifests and the like.
var/global/list/ROLES_COMMAND = list(JOB_CO, JOB_XO, JOB_SO, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)
var/global/list/ROLES_COMMAND = list(JOB_CO, JOB_XO, JOB_SO, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_CREWMAN, JOB_POLICE, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_CHIEF_REQUISITION, JOB_CHIEF_ENGINEER, JOB_CMO, JOB_CHIEF_POLICE, JOB_SEA, JOB_SYNTH, JOB_WARDEN)

#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
#define ROLES_OFFICERS list(JOB_CO, JOB_XO, JOB_SO, JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_SYNTH, JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
var/global/list/ROLES_CIC = list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO)
var/global/list/ROLES_AUXIL_SUPPORT = list(JOB_INTEL, JOB_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT)
var/global/list/ROLES_MISC = list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH)
var/global/list/ROLES_MISC = list(JOB_SYNTH, JOB_WORKING_JOE, JOB_SEA, JOB_CORPORATE_LIAISON, JOB_COMBAT_REPORTER, JOB_MESS_SERGEANT, JOB_WO_CORPORATE_LIAISON, JOB_WO_SYNTH)
var/global/list/ROLES_POLICE = list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE)
var/global/list/ROLES_ENGINEERING = list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH)
var/global/list/ROLES_REQUISITION = list(JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION)
Expand All @@ -153,7 +153,7 @@ var/global/list/ROLES_XENO = list(JOB_XENOMORPH_QUEEN, JOB_XENOMORPH)
var/global/list/ROLES_WHITELISTED = list(JOB_SYNTH_SURVIVOR, JOB_CO_SURVIVOR, JOB_PREDATOR)
var/global/list/ROLES_SPECIAL = list(JOB_SURVIVOR)

var/global/list/ROLES_REGULAR_ALL = ROLES_CIC+ ROLES_POLICE + ROLES_AUXIL_SUPPORT + ROLES_MISC + ROLES_ENGINEERING + ROLES_REQUISITION + ROLES_MEDICAL + ROLES_MARINES + ROLES_SPECIAL + ROLES_WHITELISTED + ROLES_XENO - ROLES_WO
var/global/list/ROLES_REGULAR_ALL = ROLES_CIC + ROLES_POLICE + ROLES_AUXIL_SUPPORT + ROLES_MISC + ROLES_ENGINEERING + ROLES_REQUISITION + ROLES_MEDICAL + ROLES_MARINES + ROLES_SPECIAL + ROLES_WHITELISTED + ROLES_XENO - ROLES_WO
var/global/list/ROLES_FACTION_CLASH = ROLES_REGULAR_ALL - ROLES_XENO - ROLES_SPECIAL - ROLES_WHITELISTED + JOB_PREDATOR

var/global/list/ROLES_UNASSIGNED = list(JOB_SQUAD_MARINE)
Expand Down
1 change: 1 addition & 0 deletions code/__HELPERS/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
JOB_PILOT,
JOB_DROPSHIP_CREW_CHIEF,
JOB_CORPORATE_LIAISON,
JOB_COMBAT_REPORTER,
JOB_CHIEF_ENGINEER,
JOB_ORDNANCE_TECH,
JOB_MAINT_TECH,
Expand Down
1 change: 1 addition & 0 deletions code/_globalvars/global_lists.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

var/list/unansweredAhelps = list() //This feels inefficient, but I can't think of a better way. Stores the message indexed by CID

GLOBAL_LIST_EMPTY(PressFaxes)
GLOBAL_LIST_EMPTY(WYFaxes) //Departmental faxes
GLOBAL_LIST_EMPTY(USCMFaxes)
GLOBAL_LIST_EMPTY(ProvostFaxes)
Expand Down
2 changes: 2 additions & 0 deletions code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,8 @@ SUBSYSTEM_DEF(ticker)

/datum/controller/subsystem/ticker/proc/spawn_and_equip_char(mob/new_player/player)
var/datum/job/J = RoleAuthority.roles_for_mode[player.job]
if(J.job_options && player?.client?.prefs?.pref_special_job_options[J.title])
J.handle_job_options(player.client.prefs.pref_special_job_options[J.title])
if(J.handle_spawn_and_equip)
J.spawn_and_equip(player)
else
Expand Down
5 changes: 5 additions & 0 deletions code/game/area/almayer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,11 @@
icon_state = "corporatespace"
fake_zlevel = 1 // upperdeck

/area/almayer/command/combat_correspondent
name = "\improper Combat Correspondent Office"
icon_state = "selfdestruct"
fake_zlevel = 1 // upperdeck

/area/almayer/engineering
minimap_color = MINIMAP_AREA_ENGI

Expand Down
3 changes: 2 additions & 1 deletion code/game/jobs/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,8 @@
ACCESS_MARINE_DROPSHIP,
ACCESS_MARINE_SEA,
ACCESS_MARINE_KITCHEN,
ACCESS_MARINE_SYNTH
ACCESS_MARINE_SYNTH,
ACCESS_PRESS,
)

/proc/get_all_centcom_access()
Expand Down
39 changes: 39 additions & 0 deletions code/game/jobs/job/civilians/other/reporter.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#define MILITARY_VARIANT "Mil"
#define CIVILIAN_VARIANT "Civ"

/datum/job/civilian/reporter
title = JOB_COMBAT_REPORTER
total_positions = 1
spawn_positions = 1
selection_class = "job_cl"
supervisors = "the acting commanding officer"
gear_preset = /datum/equipment_preset/uscm_ship/reporter
flags_startup_parameters = ROLE_ADD_TO_DEFAULT
selection_class = "job_cl"

job_options = list(CIVILIAN_VARIANT, MILITARY_VARIANT)
/// If this job is a military variant of the reporter role
var/military = FALSE

/datum/job/civilian/reporter/handle_job_options(option)
if(option != CIVILIAN_VARIANT)
gear_preset = /datum/equipment_preset/uscm_ship/reporter_uscm
military = TRUE
else
gear_preset = initial(gear_preset)
military = initial(military)

/datum/job/civilian/reporter/generate_entry_message(mob/living/carbon/human/H)
if(military)
. = {"The USCM has assigned you to the USS Almayer to better handle messaging on how things run in the Neroid Sector. Get out there and show the universe that the USCM is doing great things!"}
else
. = {"What a scoop! You've been assigned to the USS Almayer to see what kinda mischief they'd get into and it seems trouble is here!
This could be the story of the sector! 'Brave Marines responding to dangerous distress signal!' It'd surely get Mr. Parkerson to notice you in the office if you brought him a story like this!"}

/obj/effect/landmark/start/reporter
name = JOB_COMBAT_REPORTER
job = /datum/job/civilian/reporter

AddTimelock(/datum/job/civilian/reporter, list(
JOB_HUMAN_ROLES = 10 HOURS,
))
7 changes: 7 additions & 0 deletions code/game/jobs/job/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
/// When set to true, SSticker won't call spawn_in_player, instead calling the job's spawn_and_equip proc
var/handle_spawn_and_equip = FALSE

/// When set you will be able to choose between the different job options when selecting your role, try to keep the job option string small to not offset the menu
var/job_options

/datum/job/New()
. = ..()

Expand Down Expand Up @@ -300,3 +303,7 @@
SSround_recording.recorder.track_player(human)

return TRUE

/// Intended to be overwritten to handle when a job has variants that can be selected.
/datum/job/proc/handle_job_options(option)
return
3 changes: 3 additions & 0 deletions code/game/jobs/role_authority.dm
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,9 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou

var/mob/living/carbon/human/H = M

if(J.job_options && H?.client?.prefs?.pref_special_job_options[J.title])
J.handle_job_options(H.client.prefs.pref_special_job_options[J.title])

var/job_whitelist = J.title
var/whitelist_status = J.get_whitelist_status(roles_whitelist, H.client)

Expand Down
7 changes: 3 additions & 4 deletions code/game/machinery/doors/airlock_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -792,23 +792,22 @@
/obj/structure/machinery/door/airlock/almayer/marine/shared
name = "\improper Squads Preparations"
icon = 'icons/obj/structures/doors/prepdoor.dmi'
req_access = list(ACCESS_MARINE_PREP)
req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)
req_one_access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)
opacity = FALSE
glass = 1

/obj/structure/machinery/door/airlock/almayer/marine/shared/alpha_bravo
name = "\improper Alpha-Bravo Squads Preparations"
icon = 'icons/obj/structures/doors/prepdoor_alpha.dmi'
req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO)
req_one_access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO)

/obj/structure/machinery/door/airlock/almayer/marine/shared/alpha_bravo/yellow
icon = 'icons/obj/structures/doors/prepdoor_bravo.dmi'

/obj/structure/machinery/door/airlock/almayer/marine/shared/charlie_delta
name = "\improper Charlie-Delta Squads Preparations"
icon = 'icons/obj/structures/doors/prepdoor_charlie.dmi'
req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)
req_one_access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)

/obj/structure/machinery/door/airlock/almayer/marine/shared/charlie_delta/blue
icon = 'icons/obj/structures/doors/prepdoor_delta.dmi'
Expand Down
7 changes: 3 additions & 4 deletions code/game/machinery/doors/multi_tile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -536,23 +536,22 @@
/obj/structure/machinery/door/airlock/multi_tile/almayer/marine/shared
name = "\improper Squads Preparations"
icon = 'icons/obj/structures/doors/prepdoor.dmi'
req_access = list(ACCESS_MARINE_PREP)
req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)
req_one_access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)
opacity = FALSE
glass = 1

/obj/structure/machinery/door/airlock/multi_tile/almayer/marine/shared/alpha_bravo
name = "\improper Alpha-Bravo Squads Preparations"
icon = 'icons/obj/structures/doors/2x1prepdoor_alpha.dmi'
req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO)
req_one_access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_ALPHA, ACCESS_MARINE_BRAVO)

/obj/structure/machinery/door/airlock/multi_tile/almayer/marine/shared/alpha_bravo/yellow
icon = 'icons/obj/structures/doors/2x1prepdoor_bravo.dmi'

/obj/structure/machinery/door/airlock/multi_tile/almayer/marine/shared/charlie_delta
name = "\improper Charlie-Delta Squads Preparations"
icon = 'icons/obj/structures/doors/2x1prepdoor_charlie.dmi'
req_one_access = list(ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)
req_one_access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_DATABASE, ACCESS_MARINE_CARGO, ACCESS_MARINE_CHARLIE, ACCESS_MARINE_DELTA)

/obj/structure/machinery/door/airlock/multi_tile/almayer/marine/shared/charlie_delta/blue
icon = 'icons/obj/structures/doors/2x1prepdoor_delta.dmi'
Expand Down
26 changes: 25 additions & 1 deletion code/game/machinery/fax_machine.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ var/list/alldepartments = list()
#define DEPARTMENT_WY "Weyland-Yutani"
#define DEPARTMENT_HC "USCM High Command"
#define DEPARTMENT_PROVOST "USCM Provost Office"
#define DEPARTMENT_PRESS "Various Press Organizations"

//This fax machine will become a colonial one after I have mapped it onto the Almayer.
/obj/structure/machinery/faxmachine
Expand Down Expand Up @@ -110,6 +111,8 @@ var/list/alldepartments = list()
alldepartments += DEPARTMENT_HC
if(!(DEPARTMENT_PROVOST in alldepartments))
alldepartments += DEPARTMENT_PROVOST
if(!(DEPARTMENT_PRESS in alldepartments))
alldepartments += DEPARTMENT_PRESS
// TGUI SHIT \\
/obj/structure/machinery/faxmachine/tgui_interact(mob/user, datum/tgui/ui)
Expand Down Expand Up @@ -171,6 +174,10 @@ var/list/alldepartments = list()
company_fax(src, tofax.info, tofax.name, usr)
fax_cooldown = 600

else if(target_department == DEPARTMENT_PRESS)
press_fax(src, tofax.info, tofax.name, usr)
fax_cooldown = 600

else
general_fax(src, tofax.info, tofax.name, usr)
fax_cooldown = 600
Expand Down Expand Up @@ -238,6 +245,7 @@ var/list/alldepartments = list()
. += "<option value>-----FAX-----</option>"
. += "<option value='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];USCMFaxReply=\ref[usr];originfax=\ref[src]'>Send USCM fax message</option>"
. += "<option value='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];CLFaxReply=\ref[usr];originfax=\ref[src]'>Send CL fax message</option>"
. += "<option value='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];PressFaxReply=\ref[usr];originfax=\ref[src]'>Send Press fax message</option>"

/proc/highcom_fax(originfax, sent, sentname, mob/Sender)
var/faxcontents = "[sent]"
Expand Down Expand Up @@ -273,7 +281,6 @@ var/list/alldepartments = list()
GLOB.ProvostFaxes.Add("<a href='?FaxView=\ref[faxcontents]'>\[view message at [world.timeofday]\]</a> <a href='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];USCMFaxReply=\ref[Sender];originfax=\ref[originfax]'>REPLY</a>")
announce_fax(msg_admin, msg_ghost)


/proc/company_fax(originfax, sent, sentname, mob/Sender)
var/faxcontents = "[sent]"
GLOB.fax_contents += faxcontents
Expand All @@ -288,6 +295,23 @@ var/list/alldepartments = list()
GLOB.WYFaxes.Add("<a href='?FaxView=\ref[faxcontents]'>\[view message at [world.timeofday]\]</a> <a href='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];CLFaxReply=\ref[Sender];originfax=\ref[originfax]'>REPLY</a>")
announce_fax(msg_admin, msg_ghost)

/proc/press_fax(originfax, sent, sentname, mob/Sender)
var/faxcontents = "[sent]"
GLOB.fax_contents += faxcontents

var/msg_admin = SPAN_NOTICE("<b><font color='#006100'>PRESS FAX: </font>[key_name(Sender, 1)] ")
msg_admin += "(<A HREF='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];ahelp=mark=\ref[Sender]'>Mark</A>) (<A HREF='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];adminplayeropts=\ref[Sender]'>PP</A>) "
msg_admin += "(<A HREF='?_src_=vars;Vars=\ref[Sender]'>VV</A>) (<A HREF='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];subtlemessage=\ref[Sender]'>SM</A>) "
msg_admin += "(<A HREF='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];adminplayerobservejump=\ref[Sender]'>JMP</A>) "
msg_admin += "(<a href='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];PressFaxReply=\ref[Sender];originfax=\ref[originfax]'>RPLY</a>)</b>: "
msg_admin += "Receiving '[sentname]' via secure connection ... <a href='?FaxView=\ref[faxcontents]'>view message</a>"

var/msg_ghost = SPAN_NOTICE("<b><font color='#006100'>USCM FAX: </font></b>")
msg_ghost += "Receiving '[sentname]' via secure connection ... <a href='?FaxView=\ref[faxcontents]'>view message</a>"

GLOB.PressFaxes.Add("<a href='?FaxView=\ref[faxcontents]'>\[view message at [world.timeofday]\]</a> <a href='?_src_=admin_holder;[HrefToken(forceGlobal = TRUE)];PressFaxReply=\ref[Sender];originfax=\ref[originfax]'>REPLY</a>")
announce_fax(msg_admin, msg_ghost)

/proc/announce_fax(msg_admin, msg_ghost)
log_admin(msg_admin) //Always irked me the replies do show up but the faxes themselves don't
for(var/client/C in GLOB.admins)
Expand Down
2 changes: 2 additions & 0 deletions code/game/machinery/vending/vending_types.dm
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,8 @@
/obj/item/toy/deck = 5,
/obj/item/toy/deck/uno = 5,
/obj/item/device/camera = 5,
/obj/item/device/camera_film = 10,
/obj/item/notepad = 5,
)

contraband = list(/obj/item/toy/sword = 2)
Expand Down
5 changes: 5 additions & 0 deletions code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,11 @@
icon_state = "wy_headset"
initial_keys = list(/obj/item/device/encryptionkey/mcom/cl)

/obj/item/device/radio/headset/almayer/reporter
name = "reporter radio headset"
desc = "Used by the combat correspondent to get the scoop. Channels are as follows: :v - marine command, :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad, :n - engineering, :m - medbay, :u - requisitions, :j - JTAC, :t - intel."
initial_keys = list(/obj/item/device/encryptionkey/mcom)

/obj/item/device/radio/headset/almayer/rep
name = "representative radio headset"
desc = "This headset was the worst invention made, constant chatter comes from it."
Expand Down
11 changes: 10 additions & 1 deletion code/modules/admin/tabs/event_tab.dm
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@
if(!admin_holder)
return

var/list/options = list("Weyland-Yutani", "High Command", "Provost", "Other", "Cancel")
var/list/options = list("Weyland-Yutani", "High Command", "Provost", "Press", "Other", "Cancel")
var/answer = tgui_input_list(src, "Which kind of faxes would you like to see?", "Faxes", options)
switch(answer)
if("Weyland-Yutani")
Expand Down Expand Up @@ -336,6 +336,15 @@

body += "<br><br></body>"
show_browser(src, body, "Faxes to the Provost Office", "provostfaxviewer", "size=300x600")
if("Press")
var/body = "<body>"

for(var/text in GLOB.PressFaxes)
body += text
body += "<br><br>"

body += "<br><br></body>"
show_browser(src, body, "Faxes to Press organizations", "otherfaxviewer", "size=300x600")
if("Other")
var/body = "<body>"

Expand Down
Loading

0 comments on commit eb4d5ec

Please sign in to comment.