Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions code/__DEFINES/job.dm
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST)
#define JOB_UPP_SUPPORT_SYNTH "UPP Support Synthetic"
#define JOB_UPP_JOE "Dzho Automaton"
#define JOB_UPP_COLONY_JOE "Colony Dzho Automaton"
#define JOB_UPP_MSS_OFFICER "UPP Ministry of Space Security Officer"
#define JOB_DANIEL "Daniel"

#define UPP_JOB_LIST list(JOB_UPP, JOB_UPP_ENGI, JOB_UPP_MEDIC, JOB_UPP_SPECIALIST, JOB_UPP_LEADER, JOB_UPP_POLICE, JOB_UPP_LT_OFFICER, JOB_UPP_LT_DOKTOR, JOB_UPP_PILOT, JOB_UPP_SUPPLY, JOB_UPP_SRLT_OFFICER, JOB_UPP_KPT_OFFICER, JOB_UPP_CO_OFFICER, JOB_UPP_SUPPORT_SYNTH, JOB_UPP_JOE, JOB_UPP_COMMISSAR)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/factions/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
hud_icon_state = "vc"
if(JOB_UPP_SUPPLY)
hud_icon_state = "log"
if(JOB_UPP_COMMISSAR)
if(JOB_UPP_COMMISSAR, JOB_UPP_MSS_OFFICER)
hud_icon_state = "commi"
if(hud_icon_state)
var/icon/file_to_use = override_icon_file ? override_icon_file : base_icon_file
Expand Down
8 changes: 8 additions & 0 deletions code/datums/skills/upp.dm
Original file line number Diff line number Diff line change
Expand Up @@ -269,3 +269,11 @@ UNITED PROGRESSIVE PEOPLES
SKILL_VEHICLE = SKILL_VEHICLE_LARGE,
SKILL_JTAC = SKILL_JTAC_EXPERT,
)

/datum/skills/military/survivor/upp_sl/mss
name = "UPP Ministry of Space Security Officer"
additional_skills = list(
SKILL_LEADERSHIP = SKILL_LEAD_MASTER,
SKILL_POLICE = SKILL_POLICE_SKILLED,
SKILL_INTEL = SKILL_INTEL_EXPERT,
)
10 changes: 10 additions & 0 deletions code/game/objects/effects/landmarks/survivor_spawner.dm
Original file line number Diff line number Diff line change
Expand Up @@ -882,6 +882,16 @@
spawn_priority = SPAWN_PRIORITY_HIGH
archetype = INSERT_LEADER

/obj/effect/landmark/survivor_spawner/upp_mss
icon_state = "surv_upp"
equipment = /datum/equipment_preset/survivor/upp/mss
intro_text = list("<h2>You are the Ministry of Space Security Officer in charge of a UPP recon mission!</h2>",\
"<span class='notice'>You ARE aware of the xenomorph threat.</span>",\
"<span class='danger'>Your primary objective is to survive. You believe a second dropship crashed somewhere to the south east, which was carrying additional weapons</span>")
story_text = "You were attached to the 173rd Airborne Platoon by the Ministry of Space Security following reports that something highly irregular was occurring at the site of Trijent Dam, and the Ministry wanted its own eyes on the operation. You were ordered to determine whether a biological weapons program existed, discover who was responsible for it, and ensure that any research, personnel, records, or viable specimens of value were placed in MSS custody. The 173rd was to secure the site. However, your team failed to account for an active anti-air battery near the area. Both your craft and your sister ship crashed. Barely having a chance to catch your breath, you found yourself being assailed by vile xenomorphs! You and your team have barely held your ground, at the cost of four of your own, but more are coming and ammo is low. You believe an American rescue force is en route."
spawn_priority = SPAWN_PRIORITY_VERY_HIGH
archetype = INSERT_CO

/obj/effect/landmark/survivor_spawner/upp_synth
icon_state = "surv_upp"
equipment = /datum/equipment_preset/synth/survivor/upp
Expand Down
5 changes: 5 additions & 0 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -2359,6 +2359,11 @@
for(var/i = 1 to storage_slots - 1)
new /obj/item/ammo_magazine/pistol/t73_impact(src)

/obj/item/storage/belt/gun/type47/t73/leader/standard/fill_preset_inventory()
handle_item_insertion(new /obj/item/weapon/gun/pistol/t73/leader/standard())
for(var/i = 1 to storage_slots - 1)
new /obj/item/ammo_magazine/pistol/t73(src)

/obj/item/storage/belt/gun/type47/revolver/fill_preset_inventory()
handle_item_insertion(new /obj/item/weapon/gun/revolver/upp())
for(var/total_storage_slots in 1 to storage_slots - 1)
Expand Down
5 changes: 5 additions & 0 deletions code/modules/clothing/head/helmet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1759,6 +1759,11 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list(
desc = "UPP headgear issued to Kapitans and above. It is made of high-quality materials, and has the officers rank in gold placed upon the front of the cap."
icon_state = "upp_peaked"

/obj/item/clothing/head/uppcap/peaked/mss
name = "\improper UPP MSS officer peaked cap"
desc = "A peaked cap bearing the insignia of the UPP's Ministry of Space Security. You can't shake the feeling that the person wearing it already knows everything about you."
icon_state = "upp_peaked_mss"

/obj/item/clothing/head/uppcap/ushanka
name = "\improper UL8 UPP ushanka"
icon_state = "upp_ushanka"
Expand Down
5 changes: 5 additions & 0 deletions code/modules/clothing/suits/marine_armor/ert.dm
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,11 @@
storage_slots = 3
uniform_restricted = list(/obj/item/clothing/under/marine/veteran/UPP/officer)

/obj/item/clothing/suit/storage/marine/faction/UPP/officer/mss
name = "\improper UPP MSS field jacket"
desc = "A lightweight protective jacket issued to officers of the UPP's Ministry of Space Security. It is plain and largely devoid of decoration. The MSS maintains agents and informants throughout the Middle Heavens, both within the Union and far beyond its borders. Seeing this jacket makes you wonder how long they have been watching you."
icon_state = "upp_coat_mss"

/obj/item/clothing/suit/storage/marine/faction/UPP/kapitan
name = "\improper UL4 senior officer jacket"
desc = "A lightweight jacket, issued to senior officers of the UPP's military. Made of high-quality materials, even going as far as having the ranks and insignia of the Kapitan and their Company emblazoned on the shoulders and front of the jacket. Slightly protective from incoming damage, best off with proper armor however."
Expand Down
7 changes: 6 additions & 1 deletion code/modules/clothing/under/marine_uniform.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1258,6 +1258,12 @@
icon_state = "upp_uniform_officer"
worn_state = "upp_uniform_officer"

/obj/item/clothing/under/marine/veteran/UPP/officer/mss
name = "\improper UPP MSS officer service uniform"
desc = "A service uniform worn by officers of the Ministry of Space Security, the UPP's internal security and intelligence service. The MSS concerns itself with espionage, counterintelligence, political loyalty, and threats to the Union, both foreign and domestic."
icon_state = "upp_uniform_service"
worn_state = "upp_uniform_service"

/obj/item/clothing/under/marine/veteran/UPP/civi1
name = "\improper UPP Civilian-style Orange overalls"
desc = "A set of Civilian-style Orange Overalls with a dark tan undershirt. The material is of a poor quality, however it's better than nothing. Clothing of this style is typically given out to those who work laborious jobs."
Expand Down Expand Up @@ -2249,4 +2255,3 @@
armor_rad = CLOTHING_ARMOR_GIGAHIGHPLUS
armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS
hood_type = /obj/item/clothing/head/helmet/marine/cbrn_hood/advanced

Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
skills = /datum/skills/military/survivor/upp_sl

/datum/equipment_preset/survivor/upp/squad_leader/load_gear(mob/living/carbon/human/new_human)
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/under/marine/veteran/UPP (new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP (new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/beret(new_human), WEAR_HEAD)
Expand All @@ -174,6 +174,58 @@

..()

/datum/equipment_preset/survivor/upp/mss
name = "Survivor - UPP Ministry of Space Security Officer"
paygrades = list(PAY_SHORT_UO4 = JOB_PLAYTIME_TIER_0)
idtype = /obj/item/card/id/gold
assignment = JOB_UPP_MSS_OFFICER
job_title = JOB_UPP_MSS_OFFICER
role_comm_title = "MSS-Off."
minimap_icon = "upp_plt"
skills = /datum/skills/military/survivor/upp_sl/mss
languages = ALL_HUMAN_LANGUAGES
access = list(
ACCESS_UPP_GENERAL,
ACCESS_UPP_MEDICAL,
ACCESS_UPP_ENGINEERING,
ACCESS_UPP_SECURITY,
ACCESS_UPP_ARMORY,
ACCESS_UPP_FLIGHT,
ACCESS_UPP_RESEARCH,
ACCESS_UPP_COMMANDO,
ACCESS_UPP_LEADERSHIP,
ACCESS_UPP_SENIOR_LEAD,
)

/datum/equipment_preset/survivor/upp/mss/load_gear(mob/living/carbon/human/new_human)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP/officer/mss(new_human), WEAR_BODY)
var/obj/item/clothing/suit/storage/marine/faction/UPP/officer/mss/mss_jacket = new()
mss_jacket.attach_accessory(new_human, new /obj/item/clothing/accessory/patch/upp)
mss_jacket.attach_accessory(new_human, new /obj/item/clothing/accessory/patch/upp/alt)
new_human.equip_to_slot_or_del(mss_jacket, WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/restraint/handcuffs(new_human), WEAR_IN_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/peaked/mss(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/document(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel/lockable(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/reagent_container/pill/cyanide(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/camera(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/camera_film(new_human.back), WEAR_IN_BACK)
new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human.back), WEAR_IN_BACK)
var/obj/item/clipboard/clipboard = new(new_human)
for(var/paper_number in 1 to 5)
clipboard.toppaper = new /obj/item/paper(clipboard)
clipboard.haspen = new /obj/item/tool/pen/multicolor/fountain(clipboard)
clipboard.update_icon()
new_human.equip_to_slot_or_del(clipboard, WEAR_IN_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/brown(new_human), WEAR_HANDS)
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/storage/belt/gun/type47/t73/leader/standard(new_human), WEAR_WAIST)
add_upp_weapon(new_human)

//it's used on all of the above in their spawner.
/datum/equipment_preset/synth/survivor/upp
name = "Survivor - Synthetic - UPP Synth"
Expand Down
3 changes: 3 additions & 0 deletions code/modules/projectiles/guns/pistols.dm
Original file line number Diff line number Diff line change
Expand Up @@ -455,6 +455,9 @@
/obj/item/attachable/heavy_barrel,
)

/obj/item/weapon/gun/pistol/t73/leader/standard
current_mag = /obj/item/ammo_magazine/pistol/t73

/obj/item/weapon/gun/pistol/t73/leader/handle_starting_attachment()
..()
var/obj/item/attachable/lasersight/TT = new(src)
Expand Down
1 change: 1 addition & 0 deletions maps/desert_dam.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
"/datum/equipment_preset/synth/survivor/radiation_synth"
],
"CO_insert_survivor_types": [
"/datum/equipment_preset/survivor/upp/mss",
"/datum/equipment_preset/survivor/clf/coordinator"
],
"colony_joe_types": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -880,6 +880,7 @@
"pM" = (
/obj/structure/bed/chair/dropship/passenger,
/obj/item/storage/belt/medical/lifesaver/upp,
/obj/effect/landmark/survivor_spawner/upp_mss,
/turf/open/shuttle/dropship/can_surgery/medium_grey_single_wide_up_to_down,
/area/desert_dam/building/bar/bar)
"pO" = (
Expand Down Expand Up @@ -2226,6 +2227,7 @@
bullet_amount = 0
},
/obj/effect/decal/cleanable/blood/oil/streak,
/obj/effect/landmark/survivor_spawner/upp/soldier,
/turf/open/shuttle/dropship/can_surgery/light_grey_bottom_left,
/area/desert_dam/building/bar/bar)
"Rl" = (
Expand Down