Skip to content

Commit

Permalink
Merge branch 'PvE-CMSS13:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
AmoryBlaine committed Apr 10, 2024
2 parents 5c27cc6 + 72a1e3f commit 6392549
Show file tree
Hide file tree
Showing 16 changed files with 108 additions and 75 deletions.
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"**/.pnp.*": true
},
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
"source.fixAll.eslint": "explicit"
},
"files.eol": "\n",
"files.insertFinalNewline": true,
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/weapon_stats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ As such, don't expect any values assigned to common firearms to even consider ho
#define FIRE_DELAY_TIER_10 2.5
#define FIRE_DELAY_TIER_11 2
#define FIRE_DELAY_TIER_LMG 1.5
#define FIRE_DELAY_TIER_SG 1.5
#define FIRE_DELAY_TIER_SG 1.0
#define FIRE_DELAY_TIER_SMG 1.5
#define FIRE_DELAY_TIER_12 1

Expand Down
21 changes: 19 additions & 2 deletions code/datums/medal_awards.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
#define MARINE_VALOR_MEDAL "medal of valor"
#define MARINE_HEROISM_MEDAL "medal of exceptional heroism"

#define ALL_MARINE_MEDALS list(MARINE_CONDUCT_MEDAL, MARINE_BRONZE_HEART_MEDAL, MARINE_VALOR_MEDAL, MARINE_HEROISM_MEDAL)

#define XENO_SLAUGHTER_MEDAL "royal jelly of slaughter"
#define XENO_RESILIENCE_MEDAL "royal jelly of resilience"
#define XENO_SABOTAGE_MEDAL "royal jelly of sabotage"
Expand Down Expand Up @@ -35,7 +37,6 @@ GLOBAL_LIST_EMPTY(jelly_awards)
giver_mob = list()
giver_ckey = list()


/proc/give_medal_award(medal_location, as_admin = FALSE)
if(as_admin && !check_rights(R_ADMIN))
as_admin = FALSE
Expand All @@ -45,14 +46,22 @@ GLOBAL_LIST_EMPTY(jelly_awards)
var/list/recipient_ranks = list()
for(var/datum/data/record/record in GLOB.data_core.general)
var/recipient_name = record.fields["name"]
if(usr.real_name == recipient_name && !as_admin)
continue
recipient_ranks[recipient_name] = record.fields["rank"]
possible_recipients += recipient_name

var/chosen_recipient = tgui_input_list(usr, "Who do you want to award a medal to?", "Medal Recipient", possible_recipients)
if(!chosen_recipient)
return FALSE

var/list/choosable_medals = list(MARINE_CONDUCT_MEDAL)

if(as_admin)
choosable_medals = ALL_MARINE_MEDALS

// Pick a medal
var/medal_type = tgui_input_list(usr, "What type of medal do you want to award?", "Medal Type", list(MARINE_CONDUCT_MEDAL, MARINE_BRONZE_HEART_MEDAL, MARINE_VALOR_MEDAL, MARINE_HEROISM_MEDAL))
var/medal_type = tgui_input_list(usr, "What type of medal do you want to award?", "Medal Type", choosable_medals)
if(!medal_type)
return FALSE

Expand Down Expand Up @@ -179,6 +188,14 @@ GLOBAL_LIST_EMPTY(jelly_awards)
user.visible_message("ERROR: ID card not registered for [user.real_name] in USCM registry. Potential medal fraud detected.")
return

if(!(FACTION_USCM in user.faction_group))
to_chat(user, SPAN_WARNING("Medals only available for USCM personnel."))
return

if(length(GLOB.medal_awards))
to_chat(user, SPAN_WARNING("Only one medal may be awarded per operation."))
return

if(give_medal_award(get_turf(printer)))
user.visible_message(SPAN_NOTICE("[printer] prints a medal."))

Expand Down
5 changes: 4 additions & 1 deletion code/datums/paygrades/paygrade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,10 @@ GLOBAL_LIST_INIT(co_paygrades, list(
"MO6E",
"MO6C",
"MO5",
"MO4"
"MO4",
"MO3",
"MO2",
"MO1",
))

GLOBAL_LIST_INIT(wy_paygrades, list(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/storage/belt/marine/smartgunner(src)
new /obj/item/storage/belt/gun/smartgunner(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src)

/obj/structure/closet/secure_closet/smartgunner_forecon
Expand All @@ -161,8 +161,8 @@
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/storage/belt/marine/smartgunner/standard(src)
new /obj/item/storage/belt/gun/smartgunner/standard(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/ammo_magazine/smartgun(src)
new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src)

/obj/structure/closet/cryo/Initialize()
Expand Down
6 changes: 5 additions & 1 deletion code/modules/admin/view_variables/modify_variables.dm
Original file line number Diff line number Diff line change
Expand Up @@ -245,11 +245,15 @@ GLOBAL_PROTECT(VVpixelmovement)

if("DELETE FROM LIST")
L.Cut(index, index+1)

var/temp_type = O.type

if (O)
if (O.vv_edit_var(objectvar, L))
to_chat(src, "Your edit was rejected by the object.", confidential = TRUE)
return
log_world("### ListVarEdit by [src]: [O.type] [objectvar]: REMOVED=[html_encode("[original_var]")]")

log_world("### ListVarEdit by [src]: [temp_type] [objectvar]: REMOVED=[html_encode("[original_var]")]")
log_admin("[key_name(src)] modified [original_name]'s [objectvar]: REMOVED=[original_var]")
message_admins("[key_name_admin(src)] modified [original_name]'s [objectvar]: REMOVED=[original_var]")
return
Expand Down
54 changes: 27 additions & 27 deletions code/modules/clothing/head/helmet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -351,8 +351,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
))

/obj/item/clothing/head/helmet/marine
name = "\improper M10 pattern marine helmet"
desc = "A standard M10 Pattern Helmet. The inside label, along with washing information, reads, 'The difference between an open-casket and closed-casket funeral. Wear on head for best results.'. There is a built-in camera on the right side."
name = "\improper M10 pattern ballistic helmet"
desc = "Standard issue high molecular density polymer combat helmet. Resistant to glancing hits from small arms and shrapnel, incorporates tactical camera, IFF signal transponder, and heads up display eyepiece. Also features white/black hot IR viewing modes from the camera system."
icon = 'icons/obj/items/clothing/cm_hats.dmi'
icon_state = "helmet"
item_state = "helmet"
Expand Down Expand Up @@ -755,8 +755,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
flags_atom = NO_SNOW_TYPE

/obj/item/clothing/head/helmet/marine/tech/tanker
name = "\improper M50 tanker helmet"
desc = "The lightweight M50 tanker helmet is designed for use by armored crewmen in the USCM. It offers low weight protection, and allows agile movement inside the confines of an armored vehicle. Features a toggleable welding screen for eye protection."
name = "\improper Mk20 tanker helmet"
desc = "The older Mk20 Advanced Armored Crew Helmet is a variant of the precursor program to the Mk30, with a flipdown welding visor attached. Camera on the side and biometric transmitter ties into the sensor matrix."
icon_state = "tanker_helmet"
armor_melee = CLOTHING_ARMOR_MEDIUMLOW
armor_bomb = CLOTHING_ARMOR_MEDIUMHIGH
Expand All @@ -769,7 +769,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(

/obj/item/clothing/head/helmet/marine/medic
name = "\improper M10 corpsman helmet"
desc = "An M10 marine helmet version worn by marine hospital corpsmen. Has red cross painted on its front."
desc = "M10 combat helmet issued to marine hospital corpsmen. Has a red cross painted on its front for attracting the injured and snipers' attentions alike."
icon_state = "med_helmet"
specialty = "M10 pattern medic"
built_in_visors = list(new /obj/item/device/helmet_visor, new /obj/item/device/helmet_visor/medical/advanced)
Expand All @@ -790,15 +790,15 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
flags_atom = NO_SNOW_TYPE

/obj/item/clothing/head/helmet/marine/leader
name = "\improper M11 pattern helmet"
desc = "A variant of the standard M10 pattern. The front plate is reinforced. This one contains a small built-in camera and has cushioning to project your fragile brain."
name = "\improper M09 pattern helmet"
desc = "Back issue model of an older combat helmet. Uncomfortable, but the added protection is supposedly worth it. It's been wired up the same, so it still ties into the sensor matrix fine."
icon_state = "sl_helmet"
armor_bio = CLOTHING_ARMOR_MEDIUMHIGH
specialty = "M11 pattern marine"

/obj/item/clothing/head/helmet/marine/rto
name = "\improper M12 pattern dust helmet"
desc = "An experimental brain-bucket. A dust ruffle hangs from back instead of the standard lobster shell design. Moderately better at deflecting blunt objects at the cost of humiliation, can also hold a second visor optic. But who will be laughing at the memorial? Not you, you'll be busy getting medals for your fantastic leadership."
name = "\improper M12 pattern helmet"
desc = "Failed procurement, limited run successor to the old M10 Ballistic Helmet. New ceramic composites and suspension system show a remarkable increase in blunt impact resistance, while a revamped wiring structure added space for a second optic socket."
icon_state = "io"
item_state = "io"
armor_melee = CLOTHING_ARMOR_MEDIUMHIGH
Expand All @@ -813,7 +813,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(

/obj/item/clothing/head/helmet/marine/specialist
name = "\improper B18 helmet"
desc = "The B18 Helmet that goes along with the B18 Defensive Armor. It's heavy, reinforced, and protects more of the face."
desc = "Helmet and faceplate component of the B18 armor system. Nanobonded carbonfiber laminated with ultrahigh molecular density polymer, with an integral rebreather and heads up display."
icon_state = "grenadier_helmet"
item_state = "grenadier_helmet"
armor_melee = CLOTHING_ARMOR_HIGH
Expand All @@ -828,8 +828,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
specialty = "B18"

/obj/item/clothing/head/helmet/marine/grenadier
name = "\improper M3-G4 grenadier helmet"
desc = "Pairs with the M3-G4 heavy grenadier plating. A distant cousin of the experimental B18 defensive helmet. Comes with inbuilt ear blast protection."
name = "\improper M12 grenadier helmet"
desc = "Strictly speaking, the M12 is more of an offshoot of the B-series armor systems, and is fully enclosed, with hearing protection and anti-impact liquid armor layers to cushion blast. USCMC assault teams sometimes use these in close combat, grenade heavy operations."
icon_state = "grenadier_helmet"
item_state = "grenadier_helmet"
armor_melee = CLOTHING_ARMOR_MEDIUMHIGH
Expand All @@ -845,26 +845,26 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
flags_item = MOB_LOCK_ON_EQUIP|NO_CRYO_STORE

/obj/item/clothing/head/helmet/marine/scout
name = "\improper M3-S light helmet"
name = "\improper M10-S light helmet"
icon_state = "scout_helmet"
desc = "A custom helmet designed for USCM Scouts."
desc = "M10 fitted with thermal camouflage and improved radar absorbent shell. Issued to USCMC Scouts."
min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT
specialty = "M3-S light"
flags_item = MOB_LOCK_ON_EQUIP|NO_CRYO_STORE

/obj/item/clothing/head/helmet/marine/pyro
name = "\improper M35 pyrotechnician helmet"
name = "\improper M10-P pyrotechnician helmet"
icon_state = "pyro_helmet"
desc = "A helmet designed for USCM Pyrotechnicians."
desc = "M10 variant with complete facial coverage and internal breathing apparatus. Environmentally sealed with a full fitting of polymer compounds to resist burning."
min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROT
specialty = "M35 pyrotechnician"
flags_item = MOB_LOCK_ON_EQUIP|NO_CRYO_STORE

/obj/item/clothing/head/helmet/marine/M3T
name = "\improper M3-T bombardier helmet"
name = "\improper M10-R bombardier helmet"
icon_state = "sadar_helmet"
desc = "A custom-built helmet for explosive weaponry users. Comes with inbuilt ear blast protection, firing a rocket launcher without this is not recommended."
desc = "M10 combat helmet fitted with enhanced suspension liner and improved hearing protection, for firing high-concussion weapons like the M5 RPG."
min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT
armor_bomb = CLOTHING_ARMOR_HIGH
specialty = "M3-T bombardier"
Expand All @@ -873,8 +873,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
unacidable = TRUE

/obj/item/clothing/head/helmet/marine/pilot
name = "\improper M30 tactical helmet"
desc = "The M30 tactical helmet has a left eyepiece filter used to filter tactical data. It is required to fly the dropships manually and in safety."
name = "\improper Mk30 tactical helmet"
desc = "Standard flight helmet of the UA treaty forces. Probably one of the few good things that came out of the Joint Procurement Office. Eyepiece allows for augmented reality effects, giving relevant data in real time."
icon_state = "helmetp"
armor_melee = CLOTHING_ARMOR_MEDIUMLOW
armor_bomb = CLOTHING_ARMOR_MEDIUMLOW
Expand All @@ -892,8 +892,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
flags_atom = NO_SNOW_TYPE

/obj/item/clothing/head/helmet/marine/ghillie
name = "\improper M45 ghillie helmet"
desc = "A lightweight M45 helmet with ghillie coif used by USCM snipers on recon missions."
name = "\improper M10 ghillie helmet"
desc = "M10 helmet fitted with thermal camouflage ghillie strips. Used and customized by USCMC Scout Snipers."
icon_state = "ghillie_coif"
armor_bomb = CLOTHING_ARMOR_MEDIUM
armor_bio = CLOTHING_ARMOR_LOW
Expand Down Expand Up @@ -943,15 +943,15 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(

/obj/item/clothing/head/helmet/marine/mp/provost/marshal
name = "\improper Provost Marshal Cap"
desc = "The expensive headwear of a Provost Marshal. Contains shards of kevlar to keep its valuable contents safe."
desc = "The expensive headwear of a Provost Marshal. Venlar lined, boron carbide tiled, tailored to wear semi-comfortably."
icon_state = "pvmarshalhat"
item_state = "pvmarshalhat"
flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE
flags_inventory = BLOCKSHARPOBJ|FULL_DECAP_PROTECTION

/obj/item/clothing/head/helmet/marine/sof
name = "\improper SOF Operator Helmet"
desc = "A special variant of the M10 Pattern Helmet worn by USCM SOF."
name = "\improper M09 Custom Helmet"
desc = "Partially due to old stocks, partially due to preference. USCM MARSOC commando ballistic helmet, customized and updated to mission requirements."
icon_state = "marsoc_helmet"
armor_melee = CLOTHING_ARMOR_MEDIUMHIGH
armor_bullet = CLOTHING_ARMOR_HIGH
Expand All @@ -971,7 +971,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(

/obj/item/clothing/head/helmet/marine/veteran/pmc
name = "\improper PMC tactical cap"
desc = "A protective cap made from flexible kevlar. Standard issue for most security forms in the place of a helmet."
desc = "Venlar padded cap with rheological armor reinforcement. A bit finicky to fit right, but lightweight while protecting like a helmet."
icon_state = "pmc_hat"
armor_energy = CLOTHING_ARMOR_MEDIUMLOW
armor_bomb = CLOTHING_ARMOR_MEDIUM
Expand Down Expand Up @@ -1000,7 +1000,7 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(

/obj/item/clothing/head/helmet/marine/veteran/pmc/gunner
name = "\improper PMC gunner helmet"
desc = "A modification of the standard Armat Systems M3 armor."
desc = "An M10 combat helmet modified with full face visor and cutting edge materials, used by W-Y's inhouse corporate tactical teams."
icon_state = "heavy_helmet"
flags_armor_protection = BODY_FLAG_HEAD|BODY_FLAG_FACE|BODY_FLAG_EYES
armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH
Expand Down
2 changes: 1 addition & 1 deletion code/modules/clothing/suits/marine_armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1365,7 +1365,7 @@

/obj/item/clothing/suit/storage/marine/faction/UPP/mp
name = "\improper UL4 camouflaged jacket"
desc = "A lightweight jacket, issued to troops when they're not expected to engage in combat. Still studded to the brim with kevlar shards, though the synthread construction reduces its effectiveness."
desc = "A lightweight jacket, issued to troops when they're not expected to engage in combat. Some level of shrapnel and low velocity gunfire protection is provided by para-aramid inserts, though not much."
icon_state = "upp_coat_mp"
slowdown = SLOWDOWN_ARMOR_NONE
flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS
Expand Down
12 changes: 6 additions & 6 deletions code/modules/clothing/suits/marine_coat.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@
flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_ARMS
flags_cold_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_LEGS
min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT
armor_melee = CLOTHING_ARMOR_LOW
armor_bullet = CLOTHING_ARMOR_LOW
armor_melee = CLOTHING_ARMOR_VERYLOW
armor_bullet = CLOTHING_ARMOR_VERYLOW
armor_laser = CLOTHING_ARMOR_NONE
armor_energy = CLOTHING_ARMOR_NONE
armor_bomb = CLOTHING_ARMOR_NONE
armor_bomb = CLOTHING_ARMOR_LOW //marginally better against shrapnel.
armor_bio = CLOTHING_ARMOR_NONE
armor_rad = CLOTHING_ARMOR_NONE
armor_internaldamage = CLOTHING_ARMOR_NONE
Expand Down Expand Up @@ -77,21 +77,21 @@
//Marine service & tanker jacket + MP themed variants
/obj/item/clothing/suit/storage/jacket/marine/service
name = "marine service jacket"
desc = "A service jacket typically worn by officers of the USCM. It has shards of light Kevlar to help protect against stabbing weapons and bullets."
desc = "A USCMC service jacket, usually officer issue. While technically armored to frag/handgun ammunition, it's best if you don't try your luck."
has_buttons = TRUE
icon_state = "coat_officer"

/obj/item/clothing/suit/storage/jacket/marine/pilot
name = "\improper M70B1 light flak jacket"
desc = "A light flak jacket used by dropship pilots to protect themselves while flying in the cockpit. This specific flak jacket has been designed for style and comfort over protection, and it shows. Don't get hit by any stray bullets!"
desc = "M70 variant that reduces bulk and protective for ergonomics. Consider this to have the same amount of protection from flak as an officer's service jacket."
icon_state = "pilot_alt"
has_buttons = TRUE
flags_atom = NO_SNOW_TYPE
initial_icon_state = "pilot_alt"

/obj/item/clothing/suit/storage/jacket/marine/service/mp
name = "military police service jacket"
desc = "A marine service jacket adopted for use by Military Police personnel on board USCM ships. Ironically most ships require their MP departments to use full armor, making these barely used by on duty MPs. This variant is also available to regular Marines, if they are willing to bear the shame."
desc = "Marine service jacket in USCMC Military Police scheme. Usually not used due to local standards requiring service armor instead."
has_buttons = TRUE
icon_state = "coat_mp"
flags_atom = NO_SNOW_TYPE
Expand Down
4 changes: 2 additions & 2 deletions code/modules/clothing/under/gimmick.dm
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@

/obj/item/clothing/head/helmet/gimmick/robocop
name = "polished metal helm"
desc = "The impersonal face of the law. Constructed from titanium and laminated with kevlar."
desc = "The impersonal face of the law. Titanium alloy frame backed with ballistic polymer layers."
icon_state = "robocop_helmet"
item_state = "robocop_helmet"
armor_melee = CLOTHING_ARMOR_HIGH
Expand All @@ -146,7 +146,7 @@

/obj/item/clothing/suit/armor/gimmick/robocop
name = "polished metal armor"
desc = "Clean and well maintained, unlike the ugly streets of Detroit. Constructed from titanium and laminated with kevlar."
desc = "Clean and well maintained, unlike the ugly streets of Detroit. Titanium alloy shell, molybdenum armor plating backed with ballistic polymer."
icon_state = "robocop_armor"
item_state = "robocop_armor"
slowdown = 1
Expand Down
Loading

0 comments on commit 6392549

Please sign in to comment.