Skip to content

Commit

Permalink
Merge branch 'master' into pill_packet_research
Browse files Browse the repository at this point in the history
  • Loading branch information
Nomoresolvalou committed Aug 23, 2024
2 parents 6680b09 + 1b874c9 commit 730aaf0
Show file tree
Hide file tree
Showing 215 changed files with 3,412 additions and 988 deletions.
1 change: 1 addition & 0 deletions code/__DEFINES/camera.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#define CAMERA_NET_BRIG "Brig"
#define CAMERA_NET_ALAMO "Alamo"
#define CAMERA_NET_NORMANDY "Normandy"
#define CAMERA_NET_SAIPAN "Saipan"
#define CAMERA_NET_COLONY "Colony"
#define CAMERA_NET_ARES "ARES"

Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/colours.dm
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@
#define LIGHT_COLOR_HOLY_MAGIC "#FFF743"
/// deep crimson
#define LIGHT_COLOR_BLOOD_MAGIC "#D00000"
/// Warm red color rgb(250, 66, 66)
#define LIGHT_COLOR_RED "#ff3b3b"

/* These ones aren't a direct color like the ones above, because nothing would fit */
/// Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
Expand Down
12 changes: 11 additions & 1 deletion code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
#define SQUAD_SOF "SOF"
#define SQUAD_CBRN "CBRN"
#define SQUAD_FORECON "FORECON"
#define SQUAD_SOLAR "Solar Devils"

// Job name defines
#define JOB_SQUAD_MARINE "Rifleman"
Expand Down Expand Up @@ -124,6 +125,8 @@ 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_PLT_MED "Platoon Corpsman"
#define JOB_PLT_SL "Platoon Squad Leader"
#define JOB_SQUAD_TECH "Reconnaissance Support Technician"

// Used to add a timelock to a job. Will be passed onto derivatives
Expand Down Expand Up @@ -264,6 +267,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_UPP_SPECIALIST "UPP Serzhant"
#define JOB_UPP_LEADER "UPP Master Serzhant"
#define JOB_UPP_POLICE "UPP Politsiya"
#define JOB_UPP_SUPPLY "UPP Logistics Technician"
#define JOB_UPP_LT_OFFICER "UPP Leytenant"
#define JOB_UPP_LT_DOKTOR "UPP Leytenant Doktor"
#define JOB_UPP_SRLT_OFFICER "UPP Senior Leytenant"
Expand Down Expand Up @@ -291,6 +295,8 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)

#define JOB_UPP_CREWMAN "UPP Tank Crewman"

#define JOB_UPP_COMMISSAR "UPP Political Commissar"

//-------- CLF --------//
#define JOB_CLF "CLF Guerilla"
#define JOB_CLF_ENGI "CLF Field Technician"
Expand Down Expand Up @@ -332,11 +338,15 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_PROVOST_TML "Provost Team Leader"
#define JOB_PROVOST_ADVISOR "Provost Advisor"
#define JOB_PROVOST_INSPECTOR "Provost Inspector"
#define JOB_PROVOST_CINSPECTOR "Provost Chief Inspector"
#define JOB_PROVOST_UNDERCOVER "Provost Undercover Inspector"

#define JOB_PROVOST_DMARSHAL "Provost Deputy Marshal"
#define JOB_PROVOST_MARSHAL "Provost Marshal"
#define JOB_PROVOST_SMARSHAL "Provost Sector Marshal"
#define JOB_PROVOST_CMARSHAL "Provost Chief Marshal"

#define PROVOST_JOB_LIST list(JOB_PROVOST_ENFORCER, JOB_PROVOST_TML, JOB_PROVOST_ADVISOR, JOB_PROVOST_INSPECTOR, JOB_PROVOST_MARSHAL, JOB_PROVOST_SMARSHAL, JOB_PROVOST_CMARSHAL)
#define PROVOST_JOB_LIST list(JOB_PROVOST_ENFORCER, JOB_PROVOST_TML, JOB_PROVOST_ADVISOR, JOB_PROVOST_INSPECTOR, JOB_PROVOST_CINSPECTOR, JOB_PROVOST_DMARSHAL, JOB_PROVOST_MARSHAL, JOB_PROVOST_SMARSHAL, JOB_PROVOST_CMARSHAL)

#define JOB_RIOT "Riot Control"
#define JOB_RIOT_CHIEF "Chief Riot Control"
Expand Down
9 changes: 9 additions & 0 deletions code/__DEFINES/paygrade_defs/provost.dm
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
// Paygrade shorthand defines, to allow clearer designation.

// PROVOST OFFICE
/// PvI, Provost Advisor
#define PAY_SHORT_PVA"PvA"

/// PvI, Provost Inspector
#define PAY_SHORT_PVI "PvI"

/// PvCI, Provost Chief Inspector
#define PAY_SHORT_PVCI "PvCI"

/// PvDM, Provost Deputy Marshal
#define PAY_SHORT_PVDM "PvDM"

/// PvM, Provost Marshal
#define PAY_SHORT_PVM "PvM"

Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/paygrade_defs/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@
/// UO4, Mayjor
#define PAY_SHORT_UO4 "UO4"

/// UO4P, Political Commissar
#define PAY_SHORT_UO4P "UO4P"

/// UO5, Leytenant Kolonel
#define PAY_SHORT_UO5 "UO5"

Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/radio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#define RADIO_CHANNEL_MEDSCI "MedSci"
#define RADIO_CHANNEL_MP "MP"
#define RADIO_CHANNEL_NORMANDY "Normandy"
#define RADIO_CHANNEL_SAIPAN "Saipan"
#define RADIO_CHANNEL_REQ "Req"
#define RADIO_CHANNEL_SENTRY "Sentry Network"
#define RADIO_CHANNEL_SPECIAL "special"
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/shuttles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@

#define DROPSHIP_ALAMO "dropship_alamo"
#define DROPSHIP_NORMANDY "dropship_normandy"
#define DROPSHIP_SAIPAN "dropship_saipan"

#define ALMAYER_DROPSHIP_LZ1 "almayer-hangar-lz1"
#define ALMAYER_DROPSHIP_LZ2 "almayer-hangar-lz2"
Expand Down
2 changes: 2 additions & 0 deletions code/_globalvars/bitfields.dm
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ DEFINE_BITFIELD(flags_item, list(
"CAN_DIG_SHRAPNEL" = CAN_DIG_SHRAPNEL,
"ANIMATED_SURGICAL_TOOL" = ANIMATED_SURGICAL_TOOL,
"IGNITING_ITEM" = IGNITING_ITEM,
"FORCEDROP_CONDITIONAL" = FORCEDROP_CONDITIONAL,
"SMARTGUNNER_BACKPACK_OVERRIDE" = SMARTGUNNER_BACKPACK_OVERRIDE,
))

DEFINE_BITFIELD(flags_inv_hide, list(
Expand Down
3 changes: 3 additions & 0 deletions code/controllers/subsystem/communications.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ Radiochat range: 1441 to 1489 (most devices refuse to be tune to other frequency

#define DS1_FREQ 1488
#define DS2_FREQ 1489
#define DS3_FREQ 1490

//Marine Squad channels
#define ALPHA_FREQ 1491
Expand Down Expand Up @@ -173,9 +174,11 @@ GLOBAL_LIST_INIT(radiochannels, list(
SQUAD_SOF = SOF_FREQ,
SQUAD_CBRN = CBRN_FREQ,
SQUAD_FORECON = FORECON_FREQ,
SQUAD_SOLAR = SOF_FREQ,

RADIO_CHANNEL_ALAMO = DS1_FREQ,
RADIO_CHANNEL_NORMANDY = DS2_FREQ,
RADIO_CHANNEL_SAIPAN = DS3_FREQ,

RADIO_CHANNEL_COLONY = COLONY_FREQ,

Expand Down
5 changes: 5 additions & 0 deletions code/datums/ASRS.dm
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@
reference_package = /datum/supply_packs/ammo_m4a3_mag_box_ap
cost = ASRS_VERY_LOW_WEIGHT

/datum/supply_packs_asrs/ammo_m4a3_mag_box_hp
reference_package = /datum/supply_packs/ammo_m4a3_mag_box_hp
cost = ASRS_VERY_LOW_WEIGHT

/datum/supply_packs_asrs/ammo_mag_box
reference_package = /datum/supply_packs/ammo_mag_box
cost = ASRS_VERY_LOW_WEIGHT
Expand Down Expand Up @@ -123,3 +127,4 @@
/datum/supply_packs_asrs/ingredient
reference_package = /datum/supply_packs/ingredient
pool = ASRS_POOL_FOOD
cost = ASRS_VERY_LOW_WEIGHT
7 changes: 1 addition & 6 deletions code/datums/ammo/bullet/special_ammo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -149,15 +149,10 @@
RegisterSignal(SSdcs, COMSIG_GLOB_MODE_PRESETUP, PROC_REF(setup_hvh_damage))

/datum/ammo/bullet/minigun/proc/setup_hvh_damage()
SIGNAL_HANDLER
if(MODE_HAS_FLAG(MODE_FACTION_CLASH))
damage = 15

/datum/ammo/bullet/minigun/tank
accuracy = -HIT_ACCURACY_TIER_1
accuracy_var_low = PROJECTILE_VARIANCE_TIER_8
accuracy_var_high = PROJECTILE_VARIANCE_TIER_8
accurate_range = 12

/datum/ammo/bullet/m60
name = "M60 bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
Expand Down
30 changes: 30 additions & 0 deletions code/datums/ammo/bullet/tank.dm
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@
//======
*/

//Autocannon Ammo//

/datum/ammo/bullet/tank/flak
name = "flak autocannon bullet"
icon_state = "autocannon"
sound_hit = 'sound/weapons/sting_boom_small1.ogg'
damage_falloff = 0
flags_ammo_behavior = AMMO_BALLISTIC
accurate_range_min = 4
Expand Down Expand Up @@ -72,3 +75,30 @@
for(var/mob/living/carbon/L in T)
if(L.stat == CONSCIOUS && L.mob_size <= MOB_SIZE_XENO)
shake_camera(L, 1, 1)

//Minigun Ammo//

/datum/ammo/bullet/tank/minigun
name = "minigun bullet"
headshot_state = HEADSHOT_OVERLAY_MEDIUM
icon_state = "bullet_large"

accuracy = -HIT_ACCURACY_TIER_1
accuracy_var_low = PROJECTILE_VARIANCE_TIER_8
accuracy_var_high = PROJECTILE_VARIANCE_TIER_8
accurate_range = 12
damage = 40
penetration = ARMOR_PENETRATION_TIER_6
damage_armor_punch = 1

/datum/ammo/bullet/tank/minigun/New()
..()
if(SSticker.mode && MODE_HAS_FLAG(MODE_FACTION_CLASH))
damage = 15
else if(SSticker.current_state < GAME_STATE_PLAYING)
RegisterSignal(SSdcs, COMSIG_GLOB_MODE_PRESETUP, PROC_REF(setup_hvh_damage))

/datum/ammo/bullet/tank/minigun/proc/setup_hvh_damage()
SIGNAL_HANDLER
if(MODE_HAS_FLAG(MODE_FACTION_CLASH))
damage = 15
91 changes: 91 additions & 0 deletions code/datums/emergency_calls/solar_devils.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
/datum/emergency_call/solar_devils
name = "USCM Solar Devils (Half Squad)"
arrival_message = "This is the Solar Devils of the USCM 2nd Division, responding to your distress beacon. Don't worry, the grown-ups are here to clean up your mess."
objectives = "Assist local Marine forces in dealing with whatever issue they can't handle. Further orders may be forthcoming."
home_base = /datum/lazy_template/ert/uscm_station
probability = 0
mob_min = 3
mob_max = 5

max_medics = 1
max_smartgunners = 1

/datum/emergency_call/solar_devils/create_member(datum/mind/new_mind, turf/override_spawn_loc)
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point()

if(!istype(spawn_loc))
return //Didn't find a useable spawn point.

var/mob/living/carbon/human/mob = new(spawn_loc)
new_mind.transfer_to(mob, TRUE)

if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job))
leader = mob
arm_equipment(mob, /datum/equipment_preset/uscm/tl_pve, TRUE, TRUE)
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Team Leader!"))

else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job))
medics++
arm_equipment(mob, /datum/equipment_preset/uscm/medic_pve, TRUE, TRUE)
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Corpsman!"))

else if(smartgunners < max_smartgunners && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(mob.client, JOB_SQUAD_SMARTGUN))
smartgunners++
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Smartgunner!"))
arm_equipment(mob, /datum/equipment_preset/uscm/sg_pve, TRUE, TRUE)

else
arm_equipment(mob, /datum/equipment_preset/uscm/rifleman_pve, TRUE, TRUE)
to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Rifleman!"))

to_chat(mob, SPAN_ROLE_BODY("You are a member of the 3rd Battalion 'Solar Devils', part of the USCM's 2nd Division, 1st Regiment. Unlike most of the USS Almayer's troops, you are well-trained and properly-equipped career marines. Semper Fidelis."))
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives:</b> [objectives]")), 1 SECONDS)

/datum/emergency_call/solar_devils_full
name = "USCM Solar Devils (Full Squad)"
arrival_message = "This is the Solar Devils of the USCM 2nd Division, responding to your distress beacon. Don't worry, the grown-ups are here to clean up your mess."
objectives = "Assist local Marine forces in dealing with whatever issue they can't handle. Further orders may be forthcoming."
home_base = /datum/lazy_template/ert/uscm_station
probability = 0
mob_min = 3
mob_max = 10

max_engineers = 2
max_medics = 1
max_smartgunners = 2

/datum/emergency_call/solar_devils_full/create_member(datum/mind/new_mind, turf/override_spawn_loc)
var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point()

if(!istype(spawn_loc))
return //Didn't find a useable spawn point.

var/mob/living/carbon/human/mob = new(spawn_loc)
new_mind.transfer_to(mob, TRUE)

if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job))
leader = mob
arm_equipment(mob, /datum/equipment_preset/uscm/sl_pve, TRUE, TRUE)
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Leader!"))

else if(engineers < max_engineers && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job))
engineers++
arm_equipment(mob, /datum/equipment_preset/uscm/tl_pve, TRUE, TRUE)
to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Team Leader!"))

else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job))
medics++
arm_equipment(mob, /datum/equipment_preset/uscm/medic_pve, TRUE, TRUE)
to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Corpsman!"))

else if(smartgunners < max_smartgunners && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(mob.client, JOB_SQUAD_SMARTGUN))
smartgunners++
to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Smartgunner!"))
arm_equipment(mob, /datum/equipment_preset/uscm/sg_pve, TRUE, TRUE)

else
arm_equipment(mob, /datum/equipment_preset/uscm/rifleman_pve, TRUE, TRUE)
to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Rifleman!"))

to_chat(mob, SPAN_ROLE_BODY("You are a member of the 3rd Battalion 'Solar Devils', part of the USCM's 2nd Division, 1st Regiment. Unlike most of the USS Almayer's troops, you are well-trained and properly-equipped career marines. Semper Fidelis."))
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives:</b> [objectives]")), 1 SECONDS)
4 changes: 4 additions & 0 deletions code/datums/factions/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,10 @@
hud_icon_state = "vc"
if(JOB_UPP_LT_DOKTOR)
hud_icon_state = "doc"
if(JOB_UPP_SUPPLY)
hud_icon_state = "log"
if(JOB_UPP_COMMISSAR)
hud_icon_state = "commi"
if(hud_icon_state)
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "upp_[hud_icon_state]")

Expand Down
13 changes: 13 additions & 0 deletions code/datums/factions/uscm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,10 @@
if(JOB_GENERAL, JOB_COLONEL, JOB_ACMC, JOB_CMC)
marine_rk = "general"
border_rk = "command"
if(JOB_PLT_MED)
marine_rk = "med"
if(JOB_PLT_SL)
marine_rk = "leader"
if(JOB_SQUAD_TECH)
marine_rk = "tech"
if(JOB_INTEL)
Expand Down Expand Up @@ -145,9 +149,18 @@
if(JOB_PROVOST_INSPECTOR)
marine_rk = "pvi"
border_rk = "command"
if(JOB_PROVOST_UNDERCOVER)
marine_rk = "pvuc"
border_rk = "command"
if(JOB_PROVOST_CINSPECTOR)
marine_rk = "pvci"
border_rk = "command"
if(JOB_PROVOST_ADVISOR)
marine_rk = "pva"
border_rk = "command"
if(JOB_PROVOST_DMARSHAL)
marine_rk = "pvdm"
border_rk = "command"
if(JOB_PROVOST_MARSHAL, JOB_PROVOST_CMARSHAL, JOB_PROVOST_SMARSHAL)
marine_rk = "pvm"
border_rk = "command"
Expand Down
7 changes: 7 additions & 0 deletions code/datums/paygrades/factions/upp/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,13 @@
pay_multiplier = 2.5
officer_grade = GRADE_OFFICER

/datum/paygrade/upp/uo4p
paygrade = PAY_SHORT_UO4P
name = "Political Commissar"
prefix = "Pol."
pay_multiplier = 5
officer_grade = GRADE_OFFICER

/datum/paygrade/upp/uo5
paygrade = PAY_SHORT_UO5
name = "Leytenant Kolonel"
Expand Down
13 changes: 13 additions & 0 deletions code/datums/paygrades/factions/uscm/provost.dm
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,19 @@
rank_pin = /obj/item/clothing/accessory/ranks/special/insp
officer_grade = GRADE_FLAG //Not really a flag officer, but they have special access to things for their job.

/datum/paygrade/provost/inspector/chief
paygrade = PAY_SHORT_PVCI
name = "Provost Chief Inspector"
prefix = "Chief Insp."
rank_pin = /obj/item/clothing/accessory/ranks/special/insp
officer_grade = GRADE_FLAG //Not really a flag officer, but they have special access to things for their job.

/datum/paygrade/provost/marshal/deputy
paygrade = PAY_SHORT_PVDM
name = "Provost Deputy Marshal"
prefix = "Dep. Marshal"
officer_grade = GRADE_FLAG

/datum/paygrade/provost/marshal
paygrade = PAY_SHORT_PVM
name = "Provost Marshal"
Expand Down
Loading

0 comments on commit 730aaf0

Please sign in to comment.