Skip to content

Commit

Permalink
TGS Test Merge (#6039)
Browse files Browse the repository at this point in the history
  • Loading branch information
cm13-github committed May 11, 2024
2 parents f835119 + e3e9aeb commit 890fa81
Show file tree
Hide file tree
Showing 36 changed files with 2,974 additions and 1,139 deletions.
2 changes: 2 additions & 0 deletions code/__DEFINES/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,8 @@ most of them are tied into map-placed objects. This should be reworked in the fu
#define ACCESS_LIST_MARINE_ALL "Almayer (ALL)"
///Used by the Wey-Yu - USCM Liaison
#define ACCESS_LIST_MARINE_LIAISON "Wey-Yu (Liaison)"
///Used by the Wey-Yu AIST aboard Almayer
#define ACCESS_LIST_MARINE_LIAISON_AIST "Wey-Yu (AIST)"

///The accesses granted to emergency responders.
#define ACCESS_LIST_EMERGENCY_RESPONSE "Almayer (ERT)"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_GENERAL "USCM General"
#define JOB_ACMC "Assistant Commandant of the Marine Corps"
#define JOB_CMC "Commandant of the Marine Corps"
#define JOB_AI_TECH "AI Service Technician"

// Used to add a timelock to a job. Will be passed onto derivatives
#define AddTimelock(Path, timelockList) \
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/misc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,9 @@
#define COOLDOWN_COMM_CENTRAL 30 SECONDS
#define COOLDOWN_COMM_DESTRUCT 5 MINUTES

#define FORCE_SCAN_LOCK 25 MINUTES
#define COOLDOWN_FORCE_SCAN 15 MINUTES

///Cooldown for pred recharge
#define COOLDOWN_BRACER_CHARGE 3 MINUTES

Expand Down
3 changes: 2 additions & 1 deletion code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@
#define ROLE_WHITELISTED 16
#define ROLE_NO_ACCOUNT 32
#define ROLE_CUSTOM_SPAWN 64
#define ROLE_HIDDEN 128
//=================================================

//Role defines, specifically lists of roles for job bans, crew manifests and the like.
Expand All @@ -127,7 +128,7 @@ GLOBAL_LIST_INIT(ROLES_CIC, list(JOB_CO, JOB_XO, JOB_SO, JOB_WO_CO, JOB_WO_XO))
GLOBAL_LIST_INIT(ROLES_AUXIL_SUPPORT, list(JOB_AUXILIARY_OFFICER, JOB_INTEL, JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF, JOB_WO_CHIEF_POLICE, JOB_WO_SO, JOB_WO_CREWMAN, JOB_WO_POLICE, JOB_WO_PILOT))
GLOBAL_LIST_INIT(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))
GLOBAL_LIST_INIT(ROLES_POLICE, list(JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE))
GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH))
GLOBAL_LIST_INIT(ROLES_ENGINEERING, list(JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_AI_TECH))
GLOBAL_LIST_INIT(ROLES_REQUISITION, list(JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION))
GLOBAL_LIST_INIT(ROLES_MEDICAL, list(JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR))
GLOBAL_LIST_INIT(ROLES_MARINES, list(JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE))
Expand Down
2 changes: 2 additions & 0 deletions code/datums/factions/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,8 @@
if(JOB_PROVOST_MARSHAL, JOB_PROVOST_CMARSHAL, JOB_PROVOST_SMARSHAL)
marine_rk = "pvm"
border_rk = "command"
if(JOB_AI_TECH)
marine_rk = "aist"
// TIS
if(JOB_TIS_IO)
marine_rk = "tisio"
Expand Down
10 changes: 10 additions & 0 deletions code/game/area/almayer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,16 @@
is_resin_allowed = FALSE
resin_construction_allowed = FALSE

/area/almayer/command/aist_office
name = "\improper AIST Office"
icon_state = "airoom"
fake_zlevel = 1 // upperdeck
soundscape_playlist = list()
flags_area = AREA_NOTUNNEL|AREA_UNWEEDABLE
can_build_special = FALSE
is_resin_allowed = FALSE
resin_construction_allowed = FALSE

/area/almayer/command/securestorage
name = "\improper Upper Deck Secure Storage"
icon_state = "corporatespace"
Expand Down
13 changes: 13 additions & 0 deletions code/game/jobs/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,19 @@
ACCESS_MARINE_MEDBAY,
) + get_access(ACCESS_LIST_COLONIAL_ALL)

if(ACCESS_LIST_MARINE_LIAISON_AIST)
return list(
ACCESS_WY_GENERAL,
ACCESS_WY_COLONIAL,
ACCESS_WY_EXEC,
ACCESS_MARINE_COMMAND,
ACCESS_MARINE_MEDBAY,
ACCESS_MARINE_ENGINEERING,
ACCESS_MARINE_SYNTH,
ACCESS_MARINE_AI,
ACCESS_ARES_DEBUG,
) + get_access(ACCESS_LIST_COLONIAL_ALL)

if(ACCESS_LIST_COLONIAL_ALL)
return list(
ACCESS_CIVILIAN_PUBLIC,
Expand Down
40 changes: 40 additions & 0 deletions code/game/jobs/job/special/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,43 @@
title = JOB_RIOT
/datum/job/special/uscm/riot/chief
title = JOB_RIOT_CHIEF

#define USCM_TECH "USCM"
#define WY_TECH "Wey-Yu"

/datum/job/special/uscm/ai_tech
title = JOB_AI_TECH
selection_class = "job_ce"
supervisors = "the acting commanding officer"
total_positions = 1
spawn_positions = 1
flags_startup_parameters = ROLE_WHITELISTED
gear_preset = /datum/equipment_preset/uscm_event/ai_tech

// job option
job_options = list(USCM_TECH = "USCM", WY_TECH = "WY")
var/corporate = FALSE

//check the job option. and change the gear preset
/datum/job/special/uscm/ai_tech/handle_job_options(option)
if(option != USCM_TECH)
corporate = TRUE
gear_preset = /datum/equipment_preset/uscm_event/ai_tech/corporate
else
corporate = FALSE
gear_preset = /datum/equipment_preset/uscm_event/ai_tech

/datum/job/special/uscm/ai_tech/check_whitelist_status(mob/user)
if(check_rights(R_PERMISSIONS, show_msg = FALSE))
return TRUE
return FALSE

/datum/job/special/uscm/ai_tech/generate_entry_message()
supervisors = "Weyland Yutani"
entry_message_body = "You are a [corporate ? FACTION_WY : FACTION_MARINE] AI Service Technician temporarily assigned to the [MAIN_SHIP_NAME]. Your goal is to ensure the onboard AI, [MAIN_AI_SYSTEM], is operating effectively. Your job involves heavy roleplay and requires you to behave like [corporate ? "a senior corporate representative, remaining in character at all times.<br>As a Weyland Yutani Technician you have access to the Corporate Office aboard the USS Almayer. Although you should cooperate with the onboard Liaison, you are not their subordinate nor they yours. You should help The Company interests where applicable but do not abuse your access to the AI Systems." : "an officer and to stay in character at all times. You are required to adhere to and obey <a href='"+LAW_PLACEHOLDER+"'>Marine Law</a>. Failure to do so may result in punitive action against you. Godspeed."]"
return ..()

/obj/effect/landmark/start/aist
name = JOB_AI_TECH
icon_state = "aist_spawn"
job = /datum/job/special/uscm/ai_tech
18 changes: 18 additions & 0 deletions code/game/machinery/ARES/ARES_interface.dm
Original file line number Diff line number Diff line change
Expand Up @@ -503,6 +503,24 @@
COOLDOWN_START(datacore, ares_nuclear_cooldown, COOLDOWN_COMM_DESTRUCT)
return TRUE

if("bioscan")
if(!SSticker.mode)
return FALSE //Not a game mode?
if(world.time < FORCE_SCAN_LOCK)
to_chat(operator, SPAN_WARNING("Bio sensors are not yet ready to initiate a scan!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE
if(!(COOLDOWN_FINISHED(datacore, ares_bioscan_cooldown)) || (world.time < (GLOB.last_human_bioscan + COOLDOWN_FORCE_SCAN)))
to_chat(operator, SPAN_WARNING("It is too soon since the last scan, wait for the sensor array to reset!"))
playsound(src, 'sound/machines/buzz-two.ogg', 15, 1)
return FALSE

GLOB.bioscan_data.ares_bioscan(FALSE, 2)
COOLDOWN_START(datacore, ares_bioscan_cooldown, COOLDOWN_FORCE_SCAN)
playsound(src, 'sound/machines/terminal_processing.ogg', 15, 1)
message_admins("BIOSCAN: [key_name(operator)] triggered a Marine bioscan via ARES AIST.")
return TRUE

if("trigger_vent")
playsound = FALSE
var/obj/structure/pipes/vents/pump/no_boom/gas/sec_vent = locate(params["vent"])
Expand Down
4 changes: 3 additions & 1 deletion code/game/machinery/ARES/ARES_interface_admin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,10 @@
return FALSE
var/list/data = list()

data["is_pda"] = FALSE

data["admin_login"] = "[admin_interface.logged_in], [user.client.admin_holder?.rank]"
data["admin_access_log"] = list(admin_interface.access_list)
data["admin_access_log"] = admin_interface.access_list

data["current_menu"] = admin_interface.current_menu
data["last_page"] = admin_interface.last_menu
Expand Down
1 change: 1 addition & 0 deletions code/game/machinery/ARES/ARES_procs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ GLOBAL_LIST_INIT(maintenance_categories, list(
COOLDOWN_DECLARE(ares_nuclear_cooldown)
COOLDOWN_DECLARE(ares_quarters_cooldown)
COOLDOWN_DECLARE(aicore_lockdown)
COOLDOWN_DECLARE(ares_bioscan_cooldown)

// ------ ARES Logging Procs ------ //
/proc/ares_is_active()
Expand Down
9 changes: 9 additions & 0 deletions code/game/machinery/ARES/ARES_records.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@
src.details = details
src.user = user

/datum/ares_record/flight
record_name = ARES_RECORD_FLIGHT

/datum/ares_record/flight/New(details, user)
time = worldtime2text()
src.title = "Flight Log"
src.details = details
src.user = user

/datum/ares_record/bombardment
record_name = ARES_RECORD_BOMB

Expand Down
Loading

0 comments on commit 890fa81

Please sign in to comment.