Skip to content

Commit

Permalink
wy version
Browse files Browse the repository at this point in the history
  • Loading branch information
realforest2001 committed Apr 25, 2024
1 parent 740b4f8 commit a8b540a
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 8 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
11 changes: 11 additions & 0 deletions code/game/jobs/access.dm
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,17 @@
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_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
20 changes: 18 additions & 2 deletions code/game/jobs/job/special/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,38 @@
/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|ROLE_HIDDEN
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()
entry_message_body = "You are a USCM 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 a high-ranking 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."
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 a high-ranking 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.[corporate ? " As a Weyland Yutani Technician you have access to the Corporate Office aboard the USS Almayer. Whilst you should cooperate with the onboard Liaison, you are not their subordinate nor they yours. Whilst you should help The Company interests where applicable, do not abuse your access to the AI Systems." : ""]"
return ..()

/obj/effect/landmark/start/aist
Expand Down
1 change: 1 addition & 0 deletions code/game/objects/items/devices/radio/encryptionkey.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

/obj/item/device/encryptionkey/binary
name = "APOLLO relay key"
desc = "An encryption key allowing speech over the APOLLO Link. (Using :+)"
icon_state = "binary_key"
translate_apollo = TRUE

Expand Down
7 changes: 6 additions & 1 deletion code/game/objects/items/devices/radio/headset.dm
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,11 @@
maximum_keys = 5
initial_keys = list(/obj/item/device/encryptionkey/mcom/cl)

/obj/item/device/radio/headset/almayer/mcl/aist
name = "corporate AI service technician headset"
desc = "A standard issue corporate liaison headset, modified for AIST responsibilities. Allows the wear to listen to, and broadcast over, the APOLLO Link. (Use :+)"
initial_keys = list(/obj/item/device/encryptionkey/binary, /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."
Expand All @@ -561,7 +566,7 @@

/obj/item/device/radio/headset/almayer/mcom/cdrcom/aist
name = "marine AI service technician headset"
desc = "Issued to USCM AISTs. Allows the wearer to listen to, and broadcast over, the APOLLO Link."
desc = "A modified senior command headset issued to USCM AISTs. Allows the wearer to listen to, and broadcast over, the APOLLO Link. (Use :+)"
initial_keys = list(/obj/item/device/encryptionkey/binary, /obj/item/device/encryptionkey/cmpcom/cdrcom)

/obj/item/device/radio/headset/almayer/mcom/synth
Expand Down
4 changes: 2 additions & 2 deletions code/modules/client/preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -661,7 +661,7 @@ GLOBAL_LIST_INIT(bgstate_options, list(
* * width - Screen' width.
* * height - Screen's height.
*/
/datum/preferences/proc/SetChoices(mob/user, limit = 20, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750)
/datum/preferences/proc/SetChoices(mob/user, limit = 20, list/splitJobs = list(JOB_AI_TECH, JOB_WO_CMO), width = 950, height = 750)
if(!GLOB.RoleAuthority)
return

Expand Down Expand Up @@ -781,7 +781,7 @@ GLOBAL_LIST_INIT(bgstate_options, list(
* * width - Screen' width.
* * height - Screen's height.
*/
/datum/preferences/proc/set_job_slots(mob/user, limit = 20, list/splitJobs = list(JOB_CHIEF_REQUISITION, JOB_WO_CMO), width = 950, height = 750)
/datum/preferences/proc/set_job_slots(mob/user, limit = 20, list/splitJobs = list(JOB_AI_TECH, JOB_WO_CMO), width = 950, height = 750)
if(!GLOB.RoleAuthority)
return

Expand Down
2 changes: 1 addition & 1 deletion code/modules/cm_marines/marines_consoles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -894,7 +894,6 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor)
JOB_PROVOST_MARSHAL = 02,//Grade O8
JOB_COLONEL = 04,//Grade O6
JOB_PROVOST_INSPECTOR = 04,
JOB_AI_TECH = 9,
// 10-19: Command
JOB_CO = 10,
JOB_XO = 11,
Expand Down Expand Up @@ -925,6 +924,7 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor)
JOB_SURGEON = 42,
JOB_NURSE = 43,
// 50-59: Engineering
JOB_AI_TECH = 50,
JOB_CHIEF_ENGINEER = 50,
JOB_ORDNANCE_TECH = 51,
JOB_MAINT_TECH = 52,
Expand Down
23 changes: 22 additions & 1 deletion code/modules/gear_presets/uscm_event.dm
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@
/*****************************************************************************************************/

/datum/equipment_preset/uscm_event/ai_tech
name = "USCM AI Technician"
name = "AI Technician (USCM)"
flags = EQUIPMENT_PRESET_EXTRA
faction = FACTION_MARINE
faction_group = list(FACTION_MARINE)
Expand Down Expand Up @@ -520,3 +520,24 @@
new_human.equip_to_slot_or_del(new /obj/item/device/ai_tech_pda(new_human.back), WEAR_IN_L_STORE)

new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_R_STORE)

/datum/equipment_preset/uscm_event/ai_tech/corporate
name = "AI Technician (Contractor)"
faction_group = FACTION_LIST_MARINE_WY
paygrade = PAY_SHORT_WYC5

idtype = /obj/item/card/id/silver/cl

/datum/equipment_preset/uscm_event/ai_tech/corporate/New()
. = ..()
/// WY version gets less access, but can use the CLs office.
access = get_access(ACCESS_LIST_MARINE_LIAISON_AIST)

/datum/equipment_preset/uscm_event/ai_tech/corporate/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/blue(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcl/aist(new_human), WEAR_L_EAR)


..()
5 changes: 4 additions & 1 deletion maps/map_files/USS_Almayer/USS_Almayer.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -69966,7 +69966,10 @@
},
/area/almayer/living/grunt_rnr)
"tLF" = (
/obj/structure/machinery/cm_vending/clothing/senior_officer,
/obj/structure/machinery/cm_vending/clothing/senior_officer{
req_one_access_txt = "1;92";
req_access = null
},
/turf/open/floor/almayer/aicore/glowing/no_build{
icon_state = "w_ai_silver";
dir = 5
Expand Down

0 comments on commit a8b540a

Please sign in to comment.