diff --git a/.vscode/settings.json b/.vscode/settings.json index 201562aaf7..c7b218b775 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -9,7 +9,7 @@ "**/.pnp.*": true }, "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "source.fixAll.eslint": "explicit" }, "files.eol": "\n", "files.insertFinalNewline": true, diff --git a/code/__DEFINES/weapon_stats.dm b/code/__DEFINES/weapon_stats.dm index 05206a136c..4816fa38e5 100644 --- a/code/__DEFINES/weapon_stats.dm +++ b/code/__DEFINES/weapon_stats.dm @@ -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 diff --git a/code/datums/medal_awards.dm b/code/datums/medal_awards.dm index 54af48fd33..c60409dab2 100644 --- a/code/datums/medal_awards.dm +++ b/code/datums/medal_awards.dm @@ -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" @@ -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 @@ -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 @@ -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.")) diff --git a/code/datums/paygrades/paygrade.dm b/code/datums/paygrades/paygrade.dm index bb0a3aa84b..947f9dc094 100644 --- a/code/datums/paygrades/paygrade.dm +++ b/code/datums/paygrades/paygrade.dm @@ -51,7 +51,10 @@ GLOBAL_LIST_INIT(co_paygrades, list( "MO6E", "MO6C", "MO5", - "MO4" + "MO4", + "MO3", + "MO2", + "MO1", )) GLOBAL_LIST_INIT(wy_paygrades, list( diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index fa1c08b410..ae476b0f73 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -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 @@ -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() diff --git a/code/modules/admin/view_variables/modify_variables.dm b/code/modules/admin/view_variables/modify_variables.dm index 5b2ec3f0e5..e9595baf22 100644 --- a/code/modules/admin/view_variables/modify_variables.dm +++ b/code/modules/admin/view_variables/modify_variables.dm @@ -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 diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 372c4844d5..a2366692f9 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -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" @@ -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 @@ -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) @@ -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 @@ -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 @@ -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 @@ -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" @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/code/modules/clothing/suits/marine_armor.dm b/code/modules/clothing/suits/marine_armor.dm index 340aabf0f7..7e27ddffa3 100644 --- a/code/modules/clothing/suits/marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor.dm @@ -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 diff --git a/code/modules/clothing/suits/marine_coat.dm b/code/modules/clothing/suits/marine_coat.dm index 6e6752ba7b..2ccc2d948a 100644 --- a/code/modules/clothing/suits/marine_coat.dm +++ b/code/modules/clothing/suits/marine_coat.dm @@ -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 @@ -77,13 +77,13 @@ //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 @@ -91,7 +91,7 @@ /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 diff --git a/code/modules/clothing/under/gimmick.dm b/code/modules/clothing/under/gimmick.dm index d8e0a16fc7..62ffbf391c 100644 --- a/code/modules/clothing/under/gimmick.dm +++ b/code/modules/clothing/under/gimmick.dm @@ -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 @@ -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 diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm index ea73409af6..f4203356df 100644 --- a/code/modules/clothing/under/marine_uniform.dm +++ b/code/modules/clothing/under/marine_uniform.dm @@ -62,8 +62,8 @@ flags_atom = NO_SNOW_TYPE /obj/item/clothing/under/marine/engineer - name = "\improper USCM ComTech uniform" - desc = "Standard-issue Marine combat technician fatigues. They have shards of light Kevlar to help protect against stabbing weapons and bullets." + name = "\improper USCM combat technician uniform" + desc = "USCMC combat technician's fatigues, shielded by venlar panels and no longer electrically insulated due to 'budget reprioritization'." icon_state = "marine_engineer" worn_state = "marine_engineer" specialty = "USCM Combat Technician" @@ -78,7 +78,7 @@ /obj/item/clothing/under/marine/rto name = "\improper USCM radio telephone operator uniform" - desc = "Standard-issue RTO fatigues. They have shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "The uniform of a USCMC radio-telephone operator. Venlar panels provide marginal protection from shrapnel and ballistics." icon_state = "marine_rto" item_state = "marine_rto" specialty = "marine Radio Telephone Operator" @@ -103,7 +103,7 @@ /obj/item/clothing/under/marine/chef name = "\improper USCM Mess Technician uniform" - desc = "Standard-issue Mess Technician uniform. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "The stain resistant uniform of a mess technician. Why the USCMC requires them to wear the venlar armor inserts is unknown." icon_state = "chef_uniform" worn_state = "chef_uniform" flags_jumpsuit = FALSE @@ -111,8 +111,8 @@ flags_atom = NO_SNOW_TYPE /obj/item/clothing/under/marine/mp - name = "military police jumpsuit" - desc = "Standard-issue Military Police uniform. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + name = "USCMC military police uniform" + desc = "Cut and stab resistant USCMC military police uniform. The venlar liner also offers marginal ballistic defense." icon_state = "MP_jumpsuit" worn_state = "MP_jumpsuit" suit_restricted = list(/obj/item/clothing/suit/storage/marine, /obj/item/clothing/suit/armor/riot/marine, /obj/item/clothing/suit/storage/jacket/marine/service/mp) @@ -129,7 +129,7 @@ /obj/item/clothing/under/marine/warden name = "military warden jumpsuit" - desc = "Standard-issue Military Warden uniform. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "Military Police Warden's jumpsuit. Armored as per usual." icon_state = "warden_jumpsuit" worn_state = "warden_jumpsuit" suit_restricted = list(/obj/item/clothing/suit/storage/marine, /obj/item/clothing/suit/armor/riot/marine, /obj/item/clothing/suit/storage/jacket/marine/service/warden) @@ -139,7 +139,7 @@ /obj/item/clothing/under/marine/officer name = "marine officer uniform" - desc = "Softer than silk. Lighter than feather. More protective than Kevlar. Fancier than a regular jumpsuit, too. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "Substantially comfier officer's uniform. Still has the protection of a sheet of paper against actual threats but at least you won't be uncomfortable while bleeding out." icon_state = "officertanclothes" item_state = "officertanclothes" worn_state = "officertanclothes" @@ -150,15 +150,15 @@ /obj/item/clothing/under/marine/officer/intel name = "\improper marine intelligence officer sweatsuit" - desc = "Tighter than a vice. Slicker than beard oil. Covered from head to toe in pouches, pockets, bags, straps, and belts. Clearly, you are not only the most intelligent of intelligence officers, but the most fashionable as well. This suit took an entire R&D team five days to develop. It is more expensive than the entire Almayer... probably." + desc = "Intelligence work is dangerous, but it's slightly less dangerous when your duty uniform can almost stop a bullet. Also features many pockets and attachment points for all storage needs." icon_state = "io" item_state = "io" worn_state = "io" specialty = "marine intelligence officer" /obj/item/clothing/under/marine/officer/warrant - name = "\improper chief MP uniform" - desc = "A uniform typically worn by a Chief MP of the USCM. It has shards of light Kevlar to help protect against stabbing weapons, bullets, and shrapnel from explosions. This uniform includes a small EMF distributor to help nullify energy-based weapon fire, along with a hazmat chemical filter woven throughout the material to ward off biological and radiation hazards." + name = "\improper USCM MP chief uniform" + desc = "USCMC Military Police Chief's uniform. Alongside the standard armor panels, it has an uncomfortable energy dispersive polymer lining, and is also rated for low MOPP conditions." icon_state = "WO_jumpsuit" item_state = "WO_jumpsuit" worn_state = "WO_jumpsuit" @@ -197,7 +197,7 @@ /obj/item/clothing/under/marine/officer/pilot/dcc name = "dropship crew chief bodysuit" - desc = "A bodysuit worn by dropship crew chiefs of the USCM, and is meant for survival in inhospitable conditions. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "Dropship crew chief's bodysuit. The program that procured the latest line for some reason implemented a dozen odd survival features into it, which all don't really work. It also accepts standard venlar panels." icon_state = "crewchief_flightsuit" item_state = "crewchief_flightsuit" worn_state = "crewchief_flightsuit" @@ -216,7 +216,7 @@ /obj/item/clothing/under/marine/officer/bridge name = "marine service uniform" - desc = "A service uniform worn by members of the USCM. Do the corps proud. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "Officer's uniform, a little outdated. Why it needs to be frag rated is beyond everyone." icon_state = "BO_jumpsuit" item_state = "BO_jumpsuit" worn_state = "BO_jumpsuit" @@ -226,7 +226,7 @@ /obj/item/clothing/under/marine/officer/boiler name = "marine operations uniform" - desc = "An operations uniform worn by members of the USCM. Do the corps proud. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "Officer's uniform, a little outdated." icon_state = "uscmboiler" item_state = "uscmboiler" worn_state = "uscmboiler" @@ -235,7 +235,7 @@ /obj/item/clothing/under/marine/officer/command name = "\improper USCM officer uniform" - desc = "The well-ironed utility uniform of a USCM officer. Even looking at it the wrong way could result in being court-martialed. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "A USCMC commanding officer's uniform, custom cut for maximum comfort while staying within regulation." icon_state = "CO_jumpsuit" worn_state = "CO_jumpsuit" specialty = "USCM officer" @@ -250,7 +250,7 @@ /obj/item/clothing/under/marine/officer/ce name = "chief engineer uniform" - desc = "A uniform for a military engineer. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "The uniform of the chief engineer. Specially treated for hazardous conditions work, high density layers provide some level of radiation protection." armor_bio = CLOTHING_ARMOR_MEDIUMLOW armor_rad = CLOTHING_ARMOR_MEDIUMLOW icon_state = "EC_jumpsuit" @@ -261,7 +261,7 @@ /obj/item/clothing/under/marine/officer/engi name = "engineer uniform" - desc = "A uniform for a military engineer. It has shards of light Kevlar to help protect against stabbing weapons and bullets." + desc = "The uniform of a maintenance technician. Specially treated for hazardous materials handing and hostile conditions." armor_bio = CLOTHING_ARMOR_LOW armor_rad = CLOTHING_ARMOR_LOW icon_state = "mt_jumpsuit" @@ -272,9 +272,9 @@ item_state_slots = list(WEAR_BODY = "mt_jumpsuit") /obj/item/clothing/under/marine/officer/engi/OT - name = "ordnance engineer uniform" - desc = "A uniform for a professional bomb maker. It has shards of light Kevlar to help protect against stabbing weapons, bullets, and shrapnel from explosions. Padded with extra plates to take the brunt force of an explosion." - armor_bomb = CLOTHING_ARMOR_LOW + name = "ordnance technician uniform" + desc = "Ordinance technician's uniform. Improved protection from explosives and shrapnel provided by more extensive venlar coverage and hard bracing elements." + armor_bomb = CLOTHING_ARMOR_MEDIUM icon_state = "ot_jumpsuit" worn_state = "ot_jumpsuit" item_state_slots = list(WEAR_BODY = "ot_jumpsuit") @@ -1031,7 +1031,7 @@ /obj/item/clothing/under/marine/veteran/royal_marine name = "royal marines commando uniform" - desc = "The field uniform of the royal marines commando. They have shards of light Kevlar to help protect against stabbing weapons and bullets. Onpar with similar USCM equipment" + desc = "The field uniform of the royal marines commando. They have shards of light Kevlar to help protect against stabbing weapons and bullets. Onpar with similar USCM equipment." icon_state = "rmc_uniform" worn_state = "rmc_uniform" flags_atom = NO_NAME_OVERRIDE|NO_SNOW_TYPE @@ -1044,7 +1044,7 @@ /obj/item/clothing/under/marine/veteran/royal_marine/lt name = "royal marines commando officers uniform" - desc = "The officers uniform of the royal marines commando. They have shards of light Kevlar to help protect against stabbing weapons and bullets. Onpar with similar USCM equipment" + desc = "The officers uniform of the royal marines commando. They have shards of light Kevlar to help protect against stabbing weapons and bullets. Onpar with similar USCM equipment." icon_state = "rmc_uniform_lt" worn_state = "rmc_uniform_lt" diff --git a/code/modules/cm_marines/overwatch.dm b/code/modules/cm_marines/overwatch.dm index 7b6572a781..243ecd9342 100644 --- a/code/modules/cm_marines/overwatch.dm +++ b/code/modules/cm_marines/overwatch.dm @@ -464,10 +464,17 @@ return change_lead(user, params["ref"]) + if("award_medal") + print_medal(user, src) + return + if("insubordination") mark_insubordination() + return + if("transfer_marine") transfer_squad() + return if("change_locations_ignored") switch(z_hidden) diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm index b89708e5af..5644e8c515 100644 --- a/code/modules/gear_presets/uscm_ship.dm +++ b/code/modules/gear_presets/uscm_ship.dm @@ -564,8 +564,8 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/bridge(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/medium(new_human), WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/medium(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range(new_human), WEAR_L_HAND) /datum/equipment_preset/uscm_ship/so/load_status(mob/living/carbon/human/new_human, client/mob_client) diff --git a/code/modules/projectiles/guns/revolvers.dm b/code/modules/projectiles/guns/revolvers.dm index 0e7ff3c9af..76e3e07106 100644 --- a/code/modules/projectiles/guns/revolvers.dm +++ b/code/modules/projectiles/guns/revolvers.dm @@ -293,6 +293,11 @@ icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "m44r" item_state = "m44r" + + cocked_sound = 'sound/weapons/gun_revolver_spun.ogg' + unload_sound = 'sound/weapons/handling/pkd_open_chamber.ogg' + chamber_close_sound = 'sound/weapons/handling/pkd_close_chamber.ogg' + current_mag = /obj/item/ammo_magazine/internal/revolver/m44 force = 8 flags_gun_features = GUN_INTERNAL_MAG|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER diff --git a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi index 52ea934b17..8da8a095c6 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi differ diff --git a/tgui/packages/tgui/interfaces/OverwatchConsole.js b/tgui/packages/tgui/interfaces/OverwatchConsole.js index 62d1b6ee0d..c3f33ec023 100644 --- a/tgui/packages/tgui/interfaces/OverwatchConsole.js +++ b/tgui/packages/tgui/interfaces/OverwatchConsole.js @@ -418,11 +418,8 @@ const SquadMonitor = (props, context) => { onClick={() => act('transfer_marine')}> Transfer Marine - }>