diff --git a/code/datums/factions/upp.dm b/code/datums/factions/upp.dm
index 90b04765cf..f1707e1ff0 100644
--- a/code/datums/factions/upp.dm
+++ b/code/datums/factions/upp.dm
@@ -21,7 +21,7 @@
hud_icon_state = "sl"
if(JOB_UPP_POLICE)
hud_icon_state = "mp"
- if(JOB_UPP_LT_OFFICER)
+ if(JOB_UPP_LT_OFFICER, JOB_SO_UPP)
hud_icon_state = "lt"
if(JOB_UPP_SRLT_OFFICER)
hud_icon_state = "slt"
@@ -56,6 +56,39 @@
if(hud_icon_state)
holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "upp_[hud_icon_state]")
+//UPP PVE PLATOON
+ var/datum/squad/squad = H.assigned_squad
+ if(istype(squad, /datum/squad/marine/upp))
+ var/squad_clr = H.assigned_squad.equipment_color
+ switch(GET_DEFAULT_ROLE(_role))
+ if(JOB_SQUAD_MEDIC) hud_icon_state = "med"
+ if(JOB_SQUAD_SMARTGUN) hud_icon_state = "gun"
+ if(JOB_SQUAD_TEAM_LEADER) hud_icon_state = "tl"
+ if(JOB_SQUAD_LEADER) hud_icon_state = "leader_a"
+ if(squad.fireteam_leaders["SQ1"] == H || squad.fireteam_leaders["SQ2"] == H)
+ H.langchat_styles = "langchat_smaller_bolded"
+ else
+ H.langchat_styles = initial(H.langchat_styles)
+ H.langchat_color = H.assigned_squad.chat_color
+
+ if(!hud_icon_state) hud_icon_state = H.rank_fallback
+ if(hud_icon_state)
+ var/image/IMG = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad")
+ if(squad_clr)
+ IMG.color = squad_clr
+ else
+ IMG.color = "#5A934A"
+ holder.overlays += IMG
+ holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_[hud_icon_state]")
+ if(H.assigned_squad && H.assigned_fireteam)
+ var/image/IMG2 = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_[H.assigned_fireteam]")
+ IMG2.color = squad_clr
+ holder.overlays += IMG2
+ if(H.assigned_squad.fireteam_leaders[H.assigned_fireteam] == H)
+ var/image/IMG3 = image('icons/mob/hud/marine_hud.dmi', H, "hudsquad_ftl")
+ IMG3.color = squad_clr
+ holder.overlays += IMG3
+
/datum/faction/upp/get_antag_guns_snowflake_equipment()
return list(
list("PRIMARY FIREARMS", 0, null, null, null),
diff --git a/code/game/jobs/job/marine/squads.dm b/code/game/jobs/job/marine/squads.dm
index 397bf4fd19..d45c0a0195 100644
--- a/code/game/jobs/job/marine/squads.dm
+++ b/code/game/jobs/job/marine/squads.dm
@@ -138,6 +138,7 @@
minimap_color = MINIMAP_SQUAD_ALPHA
use_stripe_overlay = FALSE
usable = TRUE
+ faction = FACTION_UPP
/datum/squad/marine/upp/New()
. = ..()
diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm
index b06e0e626d..ec27b02a9d 100644
--- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm
+++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm
@@ -222,7 +222,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_upp_medic, list(
list("Essential Medical Set", 0, /obj/effect/essentials_set/medic, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY),
list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null),
- list("Standard Apparel", 0, list(/obj/item/clothing/under/marine/veteran/UPP/medic, /obj/item/clothing/shoes/marine/upp, /obj/item/clothing/gloves/marine/veteran/upp, /obj/item/device/radio/headset/distress/UPP/pve, /obj/item/clothing/head/helmet/marine/veteran/UPP), MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY),
+ list("Standard Apparel", 0, list(/obj/item/clothing/under/marine/veteran/UPP/medic, /obj/item/clothing/shoes/marine/upp, /obj/item/clothing/gloves/marine/veteran/upp, /obj/item/device/radio/headset/distress/UPP, /obj/item/clothing/head/helmet/marine/veteran/UPP), MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY),
list("Combat Sterile Gloves", 0, /obj/item/clothing/gloves/marine/medical, MARINE_CAN_BUY_KIT, VENDOR_ITEM_REGULAR),
list("Ration", 0, /obj/item/reagent_container/food/snacks/upp, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY),
@@ -238,10 +238,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_upp_medic, list(
list("Type 41 Ammo Load Rig", 0, /obj/item/storage/belt/marine/upp, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
list("Type 47 General Pistol Holster Rig", 0, /obj/item/storage/belt/gun/type47, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
list("Type 41 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/upp/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
- list("M276 Medical Storage Rig (Full)", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
- list("M276 M39 Holster Rig", 0, /obj/item/storage/belt/gun/m39, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
- list("M276 M82F Holster Rig", 0, /obj/item/storage/belt/gun/flaregun, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
- list("M276 M40 Grenade Rig", 0, /obj/item/storage/belt/grenade, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
+ list("Type 41 Medical Storage Rig (Full)", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
list("POUCHES (CHOOSE 2)", 0, null, null, null),
list("Autoinjector Pouch", 0, /obj/item/storage/pouch/autoinjector, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
index 8b8484f433..b2cc08024e 100644
--- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
+++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
@@ -165,7 +165,7 @@
list("UPP Uniform", round(scale * 15), /obj/item/clothing/under/marine/veteran/UPP, VENDOR_ITEM_REGULAR),
list("Combat Gloves", round(scale * 15), /obj/item/clothing/gloves/marine/veteran/upp, VENDOR_ITEM_REGULAR),
list("UM4 Pattern Helmet", round(scale * 15), /obj/item/clothing/head/helmet/marine/veteran/UPP, VENDOR_ITEM_REGULAR),
- list("Radio Headset", round(scale * 15), /obj/item/device/radio/headset/distress/UPP/pve, VENDOR_ITEM_REGULAR),
+ list("Radio Headset", round(scale * 15), /obj/item/device/radio/headset/distress/UPP, VENDOR_ITEM_REGULAR),
list("WEBBINGS", -1, null, null),
list("Brown Webbing Vest", round(scale * 1.25), /obj/item/clothing/accessory/storage/black_vest/brown_vest, VENDOR_ITEM_REGULAR),
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 304a0bb4fe..95d73d7030 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -932,9 +932,6 @@
has_hud = TRUE
hud_type = MOB_HUD_FACTION_UPP
-/obj/item/device/radio/headset/distress/UPP/pve
- hud_type = MOB_HUD_FACTION_USCM
-
/obj/item/device/radio/headset/distress/UPP/cct
name = "UPP-CCT headset"
desc = "A special headset used by UPP military. Channels are as follows: :o - colony, #j - combat controller, #n engineering."
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 1e6d0d9799..1fd4528d20 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -216,6 +216,12 @@
. = ..()
. += SPAN_NOTICE("The belt is currently set to [mode ? "take pills directly from bottles": "NOT take pills directly from bottles"].")
+/obj/item/storage/belt/medical/upp
+ name = "\improper Type 41 pattern medical storage rig"
+ desc = "The Type 41 is the standard load-bearing equipment of UPP military. It consists of a modular belt with various clips. This version is a less common configuration, designed to transport medical supplies and pistol ammunition. \nRight click its sprite and click \"toggle belt mode\" to take pills out of bottles by simply clicking them."
+ icon_state = "medicalbelt_upp"
+ item_state = "upp_belt"
+
/obj/item/storage/belt/medical/lifesaver
name = "\improper M276 pattern lifesaver bag"
desc = "The M276 is the standard load-bearing equipment of the USCM. This configuration mounts a duffel bag filled with a range of injectors and light medical supplies, and is common among medics. \nRight click its sprite and click \"toggle belt mode\" to take pills out of bottles by simply clicking them."
diff --git a/code/modules/defenses/handheld.dm b/code/modules/defenses/handheld.dm
index 2cdaf6b2f0..d19b61b305 100644
--- a/code/modules/defenses/handheld.dm
+++ b/code/modules/defenses/handheld.dm
@@ -132,6 +132,11 @@
defense_type = /obj/structure/machinery/defenses/sentry/mini
deployment_time = 0.75 SECONDS
+/obj/item/defenses/handheld/sentry/upp
+ name = "handheld UPPA 32-H sentry gun"
+ desc = "A compact version of the UPPA defenses. Designed for quick deployment of the associated type in the field."
+ defense_type = /obj/structure/machinery/defenses/sentry/upp
+
// FLAMER BASE AND UPGRADES
/obj/item/defenses/handheld/sentry/flamer
diff --git a/code/modules/defenses/sentry.dm b/code/modules/defenses/sentry.dm
index 091b2b7de0..2d727a185d 100644
--- a/code/modules/defenses/sentry.dm
+++ b/code/modules/defenses/sentry.dm
@@ -757,5 +757,17 @@
new /obj/item/stack/sheet/plasteel/medium_stack(loc)
return ..()
+/obj/structure/machinery/defenses/sentry/upp
+ name = "\improper UPPA 32-H sentry gun"
+ desc = "A deployable, semi-automated turret with AI targeting capabilities. Armed with an AK-500 Autocannon and a 500-round drum magazine."
+ choice_categories = list(
+ SENTRY_CATEGORY_IFF = list(FACTION_UPP, FACTION_HUMAN),
+ )
+
+ selected_categories = list(
+ SENTRY_CATEGORY_IFF = FACTION_UPP,
+ )
+
+
#undef SENTRY_FIREANGLE
#undef SENTRY_RANGE
diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm
index dbb22df531..2c0c3b1326 100644
--- a/code/modules/gear_presets/uscm.dm
+++ b/code/modules/gear_presets/uscm.dm
@@ -99,6 +99,8 @@
paygrade = "UE1"
assignment = JOB_SQUAD_MARINE_UPP
languages = list(LANGUAGE_RUSSIAN, LANGUAGE_ENGLISH, LANGUAGE_CHINESE)
+ faction_group = list(FACTION_UPP)
+ faction = FACTION_UPP
/datum/equipment_preset/uscm/pfc/upp/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/lightpack/upp
@@ -149,6 +151,8 @@
paygrade = "UE3"
role_comm_title = "MG"
languages = list(LANGUAGE_RUSSIAN, LANGUAGE_ENGLISH, LANGUAGE_CHINESE)
+ faction_group = list(FACTION_UPP)
+ faction = FACTION_UPP
/datum/equipment_preset/uscm/sg/upp/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/lightpack/upp
@@ -333,6 +337,8 @@
paygrade = "UE3"
assignment = JOB_SQUAD_MEDIC_UPP
languages = list(LANGUAGE_RUSSIAN, LANGUAGE_ENGLISH, LANGUAGE_CHINESE)
+ faction_group = list(FACTION_UPP)
+ faction = FACTION_UPP
/datum/equipment_preset/uscm/medic/upp/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/lightpack/upp
@@ -378,6 +384,8 @@
paygrade = "UE4"
assignment = JOB_SQUAD_TEAM_LEADER_UPP
languages = list(LANGUAGE_RUSSIAN, LANGUAGE_ENGLISH, LANGUAGE_CHINESE)
+ faction_group = list(FACTION_UPP)
+ faction = FACTION_UPP
/datum/equipment_preset/uscm/tl/upp/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/lightpack/upp
@@ -456,6 +464,8 @@
assignment = JOB_SQUAD_LEADER_UPP
languages = list(LANGUAGE_RUSSIAN, LANGUAGE_ENGLISH, LANGUAGE_CHINESE)
paygrade = "UE6"
+ faction_group = list(FACTION_UPP)
+ faction = FACTION_UPP
/datum/equipment_preset/uscm/leader/upp/load_gear(mob/living/carbon/human/new_human)
var/back_item = /obj/item/storage/backpack/lightpack/upp
diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm
index 53c171b146..33fb12da9c 100644
--- a/code/modules/gear_presets/uscm_ship.dm
+++ b/code/modules/gear_presets/uscm_ship.dm
@@ -584,9 +584,11 @@
rank = JOB_SO_UPP
languages = list(LANGUAGE_RUSSIAN, LANGUAGE_ENGLISH, LANGUAGE_TSL, LANGUAGE_SPANISH, LANGUAGE_CHINESE)
paygrade = "UO2"
+ faction_group = list(FACTION_UPP)
+ faction = FACTION_UPP
/datum/equipment_preset/uscm_ship/so/upp/load_gear(mob/living/carbon/human/new_human)
- new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/pve(new_human), WEAR_L_EAR)
+ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/officer(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/np92(new_human), WEAR_WAIST)
@@ -595,7 +597,6 @@
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/device/binoculars/range(new_human), WEAR_L_HAND)
- new_human.faction = FACTION_UPP
/datum/equipment_preset/uscm_ship/so/upp/lesser_rank
paygrade = "UO1"
diff --git a/code/modules/projectiles/guns/misc.dm b/code/modules/projectiles/guns/misc.dm
index ba21712d1b..061f4a17ee 100644
--- a/code/modules/projectiles/guns/misc.dm
+++ b/code/modules/projectiles/guns/misc.dm
@@ -277,12 +277,51 @@
/obj/item/weapon/gun/pkp/iff
name = "\improper QYJ-72-I General Purpose Machine Gun"
desc = "The QYJ-72-I is an experimental variant of common UPP GPMG featuring IFF capabilities which were developed by reverse-engineering USCM smartweapons. Aside from that, not much has been done to this machinegun: it's still heavy, overheats rather quickly and is able to lay down range unprecedented amounts of lead. \nAlt-click it to open the feed cover and allow for reloading."
+ actions_types = list(
+ /datum/action/item_action/toggle_iff_pkp,)
+ var/iff_enabled = TRUE
/obj/item/weapon/gun/pkp/iff/set_bullet_traits()
LAZYADD(traits_to_give, list(
- BULLET_TRAIT_ENTRY(/datum/element/bullet_trait_iff) //it has no PVE IFF mechanics because its innacurate as hell and is used for suppression and not as assault weapon.
+ BULLET_TRAIT_ENTRY_ID("iff", /datum/element/bullet_trait_iff) //it has no PVE IFF mechanics because its innacurate as hell and is used for suppression and not as assault weapon.
))
+/datum/action/item_action/toggle_iff_pkp/toggle_lethal_mode/New(Target, obj/item/holder)
+ . = ..()
+ name = "Toggle IFF"
+ action_icon_state = "iff_toggle_on"
+ button.name = name
+ button.overlays.Cut()
+ button.overlays += image('icons/mob/hud/actions.dmi', button, action_icon_state)
+
+/datum/action/item_action/toggle_iff_pkp/action_activate()
+ var/obj/item/weapon/gun/pkp/iff/G = holder_item
+ if(!ishuman(owner))
+ return
+ var/mob/living/carbon/human/H = owner
+ if(H.is_mob_incapacitated() || G.get_active_firearm(H, FALSE) != holder_item)
+ return
+
+/datum/action/item_action/toggle_iff_pkp/action_activate()
+ . = ..()
+ var/obj/item/weapon/gun/pkp/iff/G = holder_item
+ G.toggle_lethal_mode(usr)
+ if(G.iff_enabled)
+ action_icon_state = "iff_toggle_on"
+ else
+ action_icon_state = "iff_toggle_off"
+ button.overlays.Cut()
+ button.overlays += image('icons/mob/hud/actions.dmi', button, action_icon_state)
+
+/obj/item/weapon/gun/pkp/iff/proc/toggle_lethal_mode(mob/user)
+ to_chat(user, "[icon2html(src, usr)] You [iff_enabled? "disable" : "enable"] \the [src]'s fire restriction. You will [iff_enabled ? "harm anyone in your way" : "target through IFF"].")
+ playsound(loc,'sound/machines/click.ogg', 25, 1)
+ iff_enabled = !iff_enabled
+ if(iff_enabled)
+ add_bullet_trait(BULLET_TRAIT_ENTRY_ID("iff", /datum/element/bullet_trait_iff))
+ if(!iff_enabled)
+ remove_bullet_trait("iff")
+
/obj/effect/syringe_gun_dummy
name = ""
desc = ""
diff --git a/icons/obj/items/clothing/belts.dmi b/icons/obj/items/clothing/belts.dmi
index 38ff421cfd..16062d1a9f 100644
Binary files a/icons/obj/items/clothing/belts.dmi and b/icons/obj/items/clothing/belts.dmi differ
diff --git a/maps/map_files/chapaev/chapaev.dmm b/maps/map_files/chapaev/chapaev.dmm
index 8c442fe4f1..5116171c26 100644
--- a/maps/map_files/chapaev/chapaev.dmm
+++ b/maps/map_files/chapaev/chapaev.dmm
@@ -674,7 +674,10 @@
/turf/open/floor/plating,
/area/golden_arrow/platoon_sergeant)
"ff" = (
-/obj/structure/machinery/cm_vending/sorted/medical/no_access,
+/obj/structure/machinery/cm_vending/sorted/medical/no_access{
+ name = "\improper MinZdrav Plus";
+ desc = "Medical Pharmaceutical dispenser. Provided by Ministry of Health of UPP."
+ },
/turf/open/floor/almayer{
icon_state = "dark_sterile"
},
@@ -1163,7 +1166,8 @@
"lK" = (
/obj/structure/machinery/cm_vending/gear/synth{
density = 0;
- pixel_y = 32
+ pixel_y = 32;
+ name = "\improper UnTech Synthetic Auxiliary Gear Rack"
},
/obj/item/stool,
/turf/open/floor/strata{
@@ -1892,7 +1896,9 @@
/area/golden_arrow/briefing)
"sO" = (
/obj/structure/machinery/cm_vending/sorted/medical/blood{
- req_access = list()
+ req_access = list();
+ desc = "The MinZdrav Blood Pack Dispensary is the premier, top-of-the-line blood dispenser of 2105! Get yours today!";
+ name = "\improper MinZdrav Blood Dispenser"
},
/turf/open/floor/almayer{
icon_state = "dark_sterile"
@@ -2295,8 +2301,8 @@
/obj/structure/machinery/light{
dir = 4
},
-/obj/item/device/radio/headset/distress/UPP/pve,
-/obj/item/device/radio/headset/distress/UPP/pve,
+/obj/item/device/radio/headset/distress/UPP,
+/obj/item/device/radio/headset/distress/UPP,
/turf/open/floor/strata{
dir = 4;
icon_state = "floor3"
@@ -2463,44 +2469,21 @@
/area/golden_arrow/briefing)
"yu" = (
/obj/structure/surface/rack,
-/obj/item/device/motiondetector,
/obj/item/ammo_magazine/sentry{
- layer = 3.01
+ layer = 3.01;
+ name = "AK-500 ammo drum (7,62mm Caseless)";
+ desc = "An ammo drum of 500 7,62mm caseless rounds for the UPPA 32-H Sentry Gun. Just feed it into the sentry gun's ammo port when its ammo is depleted."
},
-/obj/item/defenses/handheld/sentry,
+/obj/item/device/motiondetector/hacked,
+/obj/item/defenses/handheld/sentry/upp,
/turf/open/floor/strata{
icon_state = "floor2"
},
/area/golden_arrow/squad_one)
"yz" = (
-/obj/structure/closet,
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/item/clothing/shoes/marine/upp,
-/obj/item/clothing/shoes/marine/upp,
-/obj/item/clothing/under/marine/veteran/UPP,
-/obj/item/clothing/under/marine/veteran/UPP,
-/obj/item/device/radio/headset/distress/UPP/pve,
-/obj/item/device/radio/headset/distress/UPP/pve,
-/obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access,
-/turf/open/floor/strata{
- dir = 4;
- icon_state = "floor3"
- },
-/area/golden_arrow/cryo_cells)
+/obj/item/clothing/head/helmet/marine/veteran/van_bandolier,
+/turf/open/space/basic,
+/area/space)
"yH" = (
/turf/closed/wall/strata_outpost/reinforced,
/area/golden_arrow/hangar)
@@ -2803,8 +2786,8 @@
/obj/structure/machinery/light{
dir = 8
},
-/obj/item/device/radio/headset/distress/UPP/pve,
-/obj/item/device/radio/headset/distress/UPP/pve,
+/obj/item/device/radio/headset/distress/UPP,
+/obj/item/device/radio/headset/distress/UPP,
/turf/open/floor/strata{
dir = 4;
icon_state = "floor3"
@@ -3211,7 +3194,8 @@
"FG" = (
/obj/structure/machinery/cm_vending/clothing/synth{
density = 0;
- pixel_y = 32
+ pixel_y = 32;
+ name = "\improper UnTech Synthetic Equipment Rack"
},
/turf/open/floor/strata{
dir = 6;
@@ -3333,11 +3317,13 @@
/area/golden_arrow/hangar)
"GT" = (
/obj/structure/surface/rack,
-/obj/item/device/motiondetector,
/obj/item/ammo_magazine/sentry{
- layer = 3.01
+ layer = 3.01;
+ name = "AK-500 ammo drum (7,62mm Caseless)";
+ desc = "An ammo drum of 500 7,62mm caseless rounds for the UPPA 32-H Sentry Gun. Just feed it into the sentry gun's ammo port when its ammo is depleted."
},
-/obj/item/defenses/handheld/sentry,
+/obj/item/device/motiondetector/hacked,
+/obj/item/defenses/handheld/sentry/upp,
/turf/open/floor/strata{
icon_state = "floor2"
},
@@ -3419,10 +3405,6 @@
/area/golden_arrow/briefing)
"HA" = (
/obj/structure/machinery/light/small,
-/obj/item/reagent_container/glass/bucket{
- pixel_x = 23;
- pixel_y = 40
- },
/turf/open/floor/strata{
icon_state = "floor2"
},
@@ -3616,7 +3598,9 @@
},
/area/golden_arrow/medical)
"JR" = (
-/obj/structure/machinery/computer/overwatch/almayer,
+/obj/structure/machinery/computer/overwatch/almayer{
+ faction = "UPP"
+ },
/obj/item/clothing/glasses/hud/health{
pixel_x = 7;
pixel_y = 17
@@ -3699,7 +3683,9 @@
},
/area/golden_arrow/cryo_cells)
"KG" = (
-/obj/structure/machinery/chem_dispenser,
+/obj/structure/machinery/chem_dispenser{
+ desc = "A complex machine for mixing elements into chemicals. A MinZdrav product."
+ },
/obj/item/reagent_container/glass/beaker/bluespace,
/obj/structure/machinery/light{
dir = 4
@@ -3734,7 +3720,10 @@
/turf/open/floor/plating,
/area/golden_arrow/briefing)
"KT" = (
-/obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access,
+/obj/structure/machinery/cm_vending/sorted/medical/chemistry/no_access{
+ desc = "Medical chemistry dispenser. Provided by Ministry of Health of UPP.";
+ name = "\improper MinZdrav Chem"
+ },
/turf/open/floor/strata{
dir = 4;
icon_state = "cyan1"
@@ -4182,7 +4171,10 @@
/turf/open/floor/plating,
/area/golden_arrow/canteen)
"QX" = (
-/obj/structure/machinery/cm_vending/clothing/synth/snowflake,
+/obj/structure/machinery/cm_vending/clothing/synth/snowflake{
+ desc = "A vendor with a large snowflake on it. Provided by Ministry of Fashion.";
+ name = "\improper UPP Synthetic Conformity Unit"
+ },
/turf/open/floor/strata{
dir = 6;
icon_state = "multi_tiles"
@@ -4771,8 +4763,8 @@
/obj/item/clothing/shoes/marine/upp,
/obj/item/clothing/under/marine/veteran/UPP,
/obj/item/clothing/under/marine/veteran/UPP,
-/obj/item/device/radio/headset/distress/UPP/pve,
-/obj/item/device/radio/headset/distress/UPP/pve,
+/obj/item/device/radio/headset/distress/UPP,
+/obj/item/device/radio/headset/distress/UPP,
/turf/open/floor/strata{
dir = 4;
icon_state = "floor3"
@@ -4897,6 +4889,10 @@
/area/golden_arrow/briefing)
"XH" = (
/obj/structure/janitorialcart,
+/obj/item/reagent_container/glass/bucket{
+ pixel_y = 8;
+ pixel_x = -7
+ },
/turf/open/floor/strata{
icon_state = "floor2"
},
@@ -10608,7 +10604,7 @@ mV
mV
mV
mV
-mV
+yz
mV
mV
mV
@@ -14413,7 +14409,7 @@ WP
WP
wH
WP
-yz
+WP
iO
bC
CJ
diff --git a/maps/shuttles/dropship_upp.dmm b/maps/shuttles/dropship_upp.dmm
index 8113b935ec..27a3c8d857 100644
--- a/maps/shuttles/dropship_upp.dmm
+++ b/maps/shuttles/dropship_upp.dmm
@@ -499,7 +499,8 @@
"TN" = (
/obj/structure/machinery/computer/dropship_weapons/midway{
name = "\improper 'Akademia Nauk' weapons controls";
- shuttle_tag = "dropship_upp"
+ shuttle_tag = "dropship_upp";
+ faction = "UPP"
},
/obj/structure/blocker/invisible_wall,
/turf/open/floor/strata{