Skip to content

Commit

Permalink
Merge remote-tracking branch 'cmss13-devs/master' into project/ares/a…
Browse files Browse the repository at this point in the history
…dmin_console
  • Loading branch information
realforest2001 committed Jan 27, 2024
2 parents 1c81feb + fcae67e commit 953e782
Show file tree
Hide file tree
Showing 73 changed files with 16,467 additions and 15,957 deletions.
5 changes: 4 additions & 1 deletion code/__DEFINES/paygrade_defs/civilian.dm
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,12 @@
/// SYN, Synthetic
#define PAY_SHORT_SYN "SYN"

/// OPR, Operative
/// OPR, Operator
#define PAY_SHORT_OPR "OPR"

/// CDNM, Operative (intended for codenamed people IE Operative Theta)
#define PAY_SHORT_CDNM "CDNM"

/// CPO, Officer
#define PAY_SHORT_CPO "CPO"

Expand Down
45 changes: 45 additions & 0 deletions code/__DEFINES/paygrade_defs/mercs.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// Paygrade shorthand defines, to allow clearer designation.

// MERCENARIES
/// FL-S, Standard
#define PAY_SHORT_FL_S "FL-S"

/// FL-M, Medic
#define PAY_SHORT_FL_M "FL-M"

/// FL-WL, Warlord
#define PAY_SHORT_FL_WL "FL-WL"

/// EFL-S, Elite Standard
#define PAY_SHORT_EFL_S "EFL-S"

/// EFL-M, Elite Medic
#define PAY_SHORT_EFL_M "EFL-M"

/// EFL-E, Elite Engineer
#define PAY_SHORT_EFL_E "EFL-E"

/// EFL-H, Elite Heavy
#define PAY_SHORT_EFL_H "EFL-H"

/// EFL-WL, Elite Warlord
#define PAY_SHORT_EFL_TL "EFL-TL"

// VANGUARD'S ARROW INC
/// VAI-S, Standard
#define PAY_SHORT_VAI_S "VAI-S"

/// VAI-M, Medic
#define PAY_SHORT_VAI_M "VAI-M"

/// VAI-E, Engineer
#define PAY_SHORT_VAI_E "VAI-E"

/// VAI-G, Machinegunner
#define PAY_SHORT_VAI_G "VAI-G"

/// VAI-SN, Synthetic
#define PAY_SHORT_VAI_SN "VAI-SN"

/// VAI-L, Team Leader
#define PAY_SHORT_VAI_L "VAI-L"
6 changes: 6 additions & 0 deletions code/__DEFINES/paygrade_defs/paygrade.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/// Paygrade is equivalent to or is an enlisted position.
#define GRADE_ENLISTED 0
/// Paygrade is equivalent to or is an officer.
#define GRADE_OFFICER 1
/// Paygrade is for high command or senior leadership. Military flag officers.
#define GRADE_FLAG 2
38 changes: 38 additions & 0 deletions code/__DEFINES/paygrade_defs/twe.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Paygrade shorthand defines, to allow clearer designation.

// THREE WORLD EMPIRE
/// RMC1, Heitai-Marine
#define PAY_SHORT_RMC1 "RMC1"

/// RMC2, Santo-Lance Corporal
#define PAY_SHORT_RMC2 "RMC2"

/// RMC3, Nito-Corporal
#define PAY_SHORT_RMC3 "RMC3"

/// RMC4, Itto-Sergeant
#define PAY_SHORT_RMC4 "RMC4"

/// RNOW, Warrant Officer
#define PAY_SHORT_RNOW "RNOW"

/// RNO1, Second Lieutenant
#define PAY_SHORT_RNO1 "RNO1"

/// RNO2, First Lieutenant
#define PAY_SHORT_RNO2 "RNO2"

/// RNO3, Standing Officer
#define PAY_SHORT_RNO3 "RNO3"

/// RNO4, Captain
#define PAY_SHORT_RNO4 "RNO4"

/// RNO5, Admiral
#define PAY_SHORT_RNO5 "RNO5"

/// RNO6, Grand Admiral
#define PAY_SHORT_RNO6 "RNO6"

/// EMP, Emperor
#define PAY_SHORT_EMP "EMP"
48 changes: 47 additions & 1 deletion code/__DEFINES/paygrade_defs/weyland.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Paygrade shorthand defines, to allow clearer designation.

// Weyland Yutani
// Weyland Yutani Corporate
/// WYC1, Trainee
#define PAY_SHORT_WYC1 "WYC1"

Expand Down Expand Up @@ -30,3 +30,49 @@

/// WYC10, Director
#define PAY_SHORT_WYC10 "WYC10"

// Weyland Yutani Private Military
/// PMC-OP, Operator, standard PMC.
#define PAY_SHORT_PMC_OP "PMC-OP"

/// PMC-EN, Enforcer
#define PAY_SHORT_PMC_EN "PMC-EN"

/// PMC-SS, Support Specialist
#define PAY_SHORT_PMC_SS "PMC-SS"

/// PMC-MS, Medical Specialist
#define PAY_SHORT_PMC_MS "PMC-MS"

/// PMC-WS, Weapons Specialist
#define PAY_SHORT_PMC_WS "PMC-WS"

/// PMC-VS, Vehicle Specialist
#define PAY_SHORT_PMC_VS "PMC-VS"

/// PMC-XS, Xeno Specialist (Handler)
#define PAY_SHORT_PMC_XS "PMC-XS"

/// PMC-TL, Team Leader
#define PAY_SHORT_PMC_TL "PMC-TL"

/// PMC-DOC, Trauma Surgeon
#define PAY_SHORT_PMC_DOC "PMC-DOC"

/// PMC-ENG, Technician
#define PAY_SHORT_PMC_TEC "PMC-TEC"

/// PMC-ELR, Elite Responder
#define PAY_SHORT_PMC_ELR "PMC-ELR"

/// PMC-ELM, Elite Medic
#define PAY_SHORT_PMC_ELM "PMC-ELM"

/// PMC-ELG, Elite Gunner
#define PAY_SHORT_PMC_ELG "PMC-ELG"

/// PMC-ETL, Elite Team Leader
#define PAY_SHORT_PMC_ETL "PMC-ETL"

/// PMC-DIR, PMC Director
#define PAY_SHORT_PMC_DIR "PMC-DIR"
38 changes: 23 additions & 15 deletions code/_onclick/hud/screen_objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,11 @@
name = "queen locator"
icon = 'icons/mob/hud/alien_standard.dmi'
icon_state = "trackoff"
var/list/track_state = list(TRACKER_QUEEN, 0)
/// A weak reference to the atom currently being tracked.
/// (Note: This is null for `TRACKER_QUEEN` and `TRACKER_HIVE`, as those are accessed through the user's hive datum.)
var/datum/weakref/tracking_ref = null
/// The 'category' of the atom currently being tracked. (Defaults to `TRACKER_QUEEN`)
var/tracker_type = TRACKER_QUEEN

/atom/movable/screen/queen_locator/clicked(mob/living/carbon/xenomorph/user, mods)
if(!istype(user))
Expand All @@ -520,35 +524,39 @@
if(mods["alt"])
var/list/options = list()
if(user.hive.living_xeno_queen)
options["Queen"] = list(TRACKER_QUEEN, 0)
// Don't need weakrefs to this or the hive core, since there's only one possible target.
options["Queen"] = list(null, TRACKER_QUEEN)

if(user.hive.hive_location)
options["Hive Core"] = list(TRACKER_HIVE, 0)
options["Hive Core"] = list(null, TRACKER_HIVE)

var/xeno_leader_index = 1
for(var/xeno in user.hive.xeno_leader_list)
var/mob/living/carbon/xenomorph/xeno_lead = user.hive.xeno_leader_list[xeno_leader_index]
if(xeno_lead)
options["Xeno Leader [xeno_lead]"] = list(TRACKER_LEADER, xeno_leader_index)
xeno_leader_index++
for(var/mob/living/carbon/xenomorph/leader in user.hive.xeno_leader_list)
options["Xeno Leader [leader]"] = list(leader, TRACKER_LEADER)

var/list/sorted_tunnels = sort_list_dist(user.hive.tunnels, get_turf(user))
var/tunnel_index = 1
for(var/obj/structure/tunnel/tunnel in sorted_tunnels)
options["Tunnel [tunnel.tunnel_desc]"] = list(TRACKER_TUNNEL, tunnel_index)
tunnel_index++
for(var/obj/structure/tunnel/tunnel as anything in sorted_tunnels)
options["Tunnel [tunnel.tunnel_desc]"] = list(tunnel, TRACKER_TUNNEL)

var/selected = tgui_input_list(user, "Select what you want the locator to track.", "Locator Options", options)
var/list/selected = tgui_input_list(user, "Select what you want the locator to track.", "Locator Options", options)
if(selected)
track_state = options[selected]
var/selected_data = options[selected]
tracking_ref = WEAKREF(selected_data[1]) // Weakref to the tracked atom (or null)
tracker_type = selected_data[2] // Tracker category
return

if(!user.hive.living_xeno_queen)
to_chat(user, SPAN_WARNING("Our hive doesn't have a living queen!"))
return FALSE
if(HAS_TRAIT(user, TRAIT_ABILITY_BURROWED) || user.is_mob_incapacitated() || user.buckled)
return FALSE
user.overwatch(user.hive.living_xeno_queen)

// Reset to the defaults
/atom/movable/screen/queen_locator/proc/reset_tracking()
icon_state = "trackoff"
tracking_ref = null
tracker_type = TRACKER_QUEEN

/atom/movable/screen/xenonightvision
icon = 'icons/mob/hud/alien_standard.dmi'
name = "toggle night vision"
Expand Down
8 changes: 4 additions & 4 deletions code/datums/emergency_calls/mercs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
hostility = pick(75;FALSE,25;TRUE)
arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your distress call. Prepare for boarding."
if(hostility)
objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Captain says. Ensure your survival at all costs."
objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Warlord says. Ensure your survival at all costs."
else
objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Captain says. Ensure your survival at all costs."
objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Warlord says. Ensure your survival at all costs."

/datum/emergency_call/mercs/friendly //if admins want to specifically call in friendly ones
name = "Friendly Freelancers (Squad)"
Expand All @@ -26,7 +26,7 @@
. = ..()
hostility = FALSE
arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your distress call. Prepare for boarding."
objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Captain says. Ensure your survival at all costs."
objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Warlord says. Ensure your survival at all costs."

/datum/emergency_call/mercs/hostile //ditto
name = "Hostile Freelancers (Squad)"
Expand All @@ -37,7 +37,7 @@
. = ..()
hostility = TRUE
arrival_message = "[MAIN_SHIP_NAME], this is Freelancer shuttle [pick(GLOB.alphabet_lowercase)][pick(GLOB.alphabet_lowercase)]-[rand(1, 99)] responding to your distress call. Prepare for boarding."
objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Captain says. Ensure your survival at all costs."
objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Warlord says. Ensure your survival at all costs."

/datum/emergency_call/mercs/print_backstory(mob/living/carbon/human/H)
to_chat(H, SPAN_BOLD("You started off in the Neroid Sector as a colonist seeking work at one of the established colonies."))
Expand Down
4 changes: 2 additions & 2 deletions code/datums/medal_awards.dm
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ GLOBAL_LIST_INIT(human_medals, list(MARINE_CONDUCT_MEDAL, MARINE_BRONZE_HEART_ME
to_chat(user, SPAN_WARNING("You must have an authenticated ID Card to award medals."))
return

if(!((card.paygrade in GLOB.co_paygrades) || (card.paygrade in GLOB.highcom_paygrades)))
if(!((card.paygrade in GLOB.co_paygrades) || (card.paygrade in GLOB.uscm_highcom_paygrades)))
to_chat(user, SPAN_WARNING("Only a Senior Officer can award medals!"))
return

Expand Down Expand Up @@ -582,7 +582,7 @@ GLOBAL_DATUM_INIT(ic_medals_panel, /datum/ic_medal_panel, new)
to_chat(user, SPAN_WARNING("You must have an authenticated ID Card to award medals."))
return

if(!((card.paygrade in GLOB.co_paygrades) || (card.paygrade in GLOB.highcom_paygrades)))
if(!((card.paygrade in GLOB.co_paygrades) || (card.paygrade in GLOB.uscm_highcom_paygrades)))
to_chat(user, SPAN_WARNING("Only a Senior Officer can award medals!"))
return

Expand Down
3 changes: 3 additions & 0 deletions code/datums/paygrades/factions/other/civilian.dm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
name = "Professor"
prefix = "Prof."
pay_multiplier = 1
officer_grade = GRADE_OFFICER

/datum/paygrade/civillian/representative
paygrade = PAY_SHORT_CREP
Expand All @@ -41,6 +42,7 @@
name = "Senior Officer"
prefix = "Sr. Off."
pay_multiplier = 0.8
officer_grade = GRADE_OFFICER

/datum/paygrade/civilian/rebel
paygrade = PAY_SHORT_REB
Expand All @@ -50,3 +52,4 @@
paygrade = PAY_SHORT_REBC
name = "Rebel Commander"
prefix = "CMDR."
officer_grade = GRADE_OFFICER
1 change: 1 addition & 0 deletions code/datums/paygrades/factions/other/cmb.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
paygrade = PAY_SHORT_CMBM
name = "CMB Marshal"
prefix = "Marshal"
officer_grade = GRADE_OFFICER

/datum/paygrade/cmb/syn
paygrade = PAY_SHORT_CMBS
Expand Down
25 changes: 13 additions & 12 deletions code/datums/paygrades/factions/other/contractors.dm
Original file line number Diff line number Diff line change
@@ -1,38 +1,39 @@
/datum/paygrade/contractors
name = "Contractor Paygrade"
fprefix = "VAI"
pay_multiplier = 1.5

/datum/paygrade/contractors/standard
paygrade = "VAI"
paygrade = PAY_SHORT_VAI_S
name = "VAI Mercenary"
prefix = "VAI"
prefix = "Merc."

/datum/paygrade/contractors/med
paygrade = "VAI-M"
paygrade = PAY_SHORT_VAI_M
name = "VAI Medical Specialist"
prefix = "VAI MED"
prefix = "Med."
pay_multiplier = 1.75

/datum/paygrade/contractors/mg
paygrade = "VAI-G"
paygrade = PAY_SHORT_VAI_G
name = "VAI Machinegunner"
prefix = "VAI MG"
prefix = "MG."
pay_multiplier = 1.75

/datum/paygrade/contractors/engi
paygrade = "VAI-E"
paygrade = PAY_SHORT_VAI_E
name = "VAI Engineering Specialist"
prefix = "VAI ENG"
prefix = "Eng."
pay_multiplier = 1.75

/datum/paygrade/contractors/syn
paygrade = "VAI-S"
paygrade = PAY_SHORT_VAI_SN
name = "VAI Synthetic"
prefix = "VAI Syn"
pay_multiplier = 0

/datum/paygrade/contractors/lead
paygrade = "VAI-L"
paygrade = PAY_SHORT_VAI_L
name = "VAI Team Leader"
prefix = "VAI TL"
prefix = "TL."
pay_multiplier = 2.25
officer_grade = GRADE_OFFICER
1 change: 1 addition & 0 deletions code/datums/paygrades/factions/other/dutch_dozen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,5 @@
name = "Major"
prefix = "LDR."
pay_multiplier = 9
officer_grade = GRADE_OFFICER

Loading

0 comments on commit 953e782

Please sign in to comment.