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 Sep 5, 2024
2 parents 44d1db8 + 9b7b44e commit 8b6cb71
Show file tree
Hide file tree
Showing 73 changed files with 5,004 additions and 1,518 deletions.
8 changes: 8 additions & 0 deletions code/__DEFINES/ARES.dm
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,11 @@

/// Time until someone can respawn as Working Joe
#define JOE_JOIN_DEAD_TIME (15 MINUTES)



#define FACTION_ARES "Ares"
#define FACTION_LIST_ARES_MARINE list(FACTION_MARINE, FACTION_ARES)
#define FACTION_LIST_ARES_ALL list(FACTION_ARES, FACTION_MARINE, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY)
#define FACTION_LIST_ARES_WY list(FACTION_ARES, FACTION_PMC, FACTION_WY_DEATHSQUAD, FACTION_WY)
#define FACTION_LIST_ARES_ALONE list(FACTION_ARES)
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 @@ -128,6 +128,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_PLT_MED "Platoon Corpsman"
#define JOB_PLT_SL "Platoon Squad Leader"
#define JOB_SQUAD_TECH "Reconnaissance Support Technician"
#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 @@ -311,6 +311,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
5 changes: 3 additions & 2 deletions code/__DEFINES/mode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,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 @@ -128,7 +129,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_TANK_CREW, 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 All @@ -153,7 +154,7 @@ GLOBAL_LIST_INIT(ROLES_UNASSIGNED, list(JOB_SQUAD_MARINE))
JOB_SQUAD_LEADER, JOB_SQUAD_TEAM_LEADER, JOB_SQUAD_SPECIALIST, JOB_SQUAD_SMARTGUN, JOB_SQUAD_MEDIC, JOB_SQUAD_ENGI, JOB_SQUAD_MARINE
#define BLURB_USCM_FLIGHT JOB_CAS_PILOT, JOB_DROPSHIP_PILOT, JOB_DROPSHIP_CREW_CHIEF
#define BLURB_USCM_MP JOB_CHIEF_POLICE, JOB_WARDEN, JOB_POLICE
#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_TANK_CREW, JOB_WO_PILOT
#define BLURB_USCM_ENGI JOB_CHIEF_ENGINEER, JOB_ORDNANCE_TECH, JOB_MAINT_TECH, JOB_WO_CHIEF_ENGINEER, JOB_WO_ORDNANCE_TECH, JOB_TANK_CREW, JOB_WO_PILOT, JOB_AI_TECH
#define BLURB_USCM_MEDICAL JOB_CMO, JOB_RESEARCHER, JOB_DOCTOR, JOB_NURSE, JOB_WO_CMO, JOB_WO_RESEARCHER, JOB_WO_DOCTOR
#define BLURB_USCM_REQ JOB_CHIEF_REQUISITION, JOB_CARGO_TECH, JOB_WO_CHIEF_REQUISITION, JOB_WO_REQUISITION
#define BLURB_USCM_WY JOB_CORPORATE_LIAISON
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -74,3 +74,4 @@

#define RADIO_CHANNEL_YAUTJA "Yautja"

#define RADIO_CHANNEL_AICORE "AI Core"
3 changes: 2 additions & 1 deletion code/__HELPERS/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,6 @@
JOB_CHIEF_POLICE,
JOB_WARDEN,
JOB_SEA,
JOB_MARINE
JOB_MARINE,
JOB_AI_TECH
)
1 change: 1 addition & 0 deletions code/controllers/subsystem/communications.dm
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ Radiochat range: 1441 to 1489 (most devices refuse to be tune to other frequency
#define MAX_FREE_FREQ 1599 // -------------------------------------------------

GLOBAL_LIST_INIT(radiochannels, list(
RADIO_CHANNEL_AICORE = AI_FREQ,
RADIO_CHANNEL_YAUTJA = YAUT_FREQ,
RADIO_CHANNEL_VAI = VAI_FREQ,
RADIO_CHANNEL_CMB = CMB_FREQ,
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 @@ -169,6 +169,8 @@
marine_rk = "tisio"
if(JOB_TIS_SA)
marine_rk = "tissa"
if(JOB_AI_TECH)
marine_rk = "aist"
// Riot MPs
if(JOB_RIOT)
marine_rk = "rmp"
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
51 changes: 51 additions & 0 deletions code/game/jobs/job/special/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,54 @@

/datum/job/special/uscm/tech
title = JOB_SQUAD_TECH

#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_ADD_TO_DEFAULT|ROLE_ADMIN_NOTIFY|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
supervisors = "Weyland Yutani"
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) || user.client.check_whitelist_status(WHITELIST_SYNTHETIC_COUNCIL))
return TRUE
return FALSE

/datum/job/special/uscm/ai_tech/generate_entry_message()
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.\n\nThe access code for APOLLO Interface is [GLOB.ares_link.code_apollo].\nThe access code for ARES Interface is [GLOB.ares_link.code_interface]."]"
return ..()

/datum/job/special/uscm/ai_tech/announce_entry_message(mob/living/carbon/human/ai_tech)
addtimer(CALLBACK(src, PROC_REF(handle_wakeup), ai_tech), 2 SECONDS)

/datum/job/special/uscm/ai_tech/proc/handle_wakeup(mob/living/carbon/human/ai_tech)
ares_apollo_talk("AI Service Technician, [ai_tech.get_paygrade(0)] [ai_tech.real_name], is now awake.")
var/radio_prefix = ":n"
if(corporate)
radio_prefix = ":y"
ai_silent_announcement("AI Service Technician, [ai_tech.get_paygrade(0)] [ai_tech.real_name], is now awake.", ":v")
ai_silent_announcement("AI Service Technician, [ai_tech.get_paygrade(0)] [ai_tech.real_name], is now awake.", radio_prefix)

/obj/effect/landmark/start/ai_tech
name = JOB_AI_TECH
icon_state = "aist_spawn"
job = /datum/job/special/uscm/ai_tech
32 changes: 32 additions & 0 deletions code/game/machinery/ARES/ARES.dm
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,35 @@
name = "ARES Substrate"
desc = "The memory substrate of ARES, containing complex protocols and information. Limited capabilities can operate on substrate alone, without the main ARES Unit operational."
icon_state = "substrate"


/// Sentry
/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares
name = "UA X512-S mini sentry"
faction_group = FACTION_LIST_ARES_MARINE

/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/Initialize()
link_sentry()
. = ..()

/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/Destroy()
delink_sentry()
. = ..()

/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/start_processing()
sync_iff()
..()

/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/proc/sync_iff()
var/datum/ares_link/ares_link = GLOB.ares_link
if(!ares_link || !ares_link.faction_group)
faction_group = FACTION_LIST_ARES_MARINE
faction_group = ares_link.faction_group

/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/proc/link_sentry()
var/datum/ares_link/link = GLOB.ares_link
link.core_sentries += src

/obj/structure/machinery/defenses/sentry/premade/deployable/almayer/mini/ares/proc/delink_sentry()
var/datum/ares_link/link = GLOB.ares_link
link.core_sentries -= src
Loading

0 comments on commit 8b6cb71

Please sign in to comment.