From f7dcfdae68db315fa1e3c00f74c4aaadc1b5d752 Mon Sep 17 00:00:00 2001 From: Unknownity <83834638+Unknownity@users.noreply.github.com> Date: Mon, 28 Oct 2024 16:21:11 +0100 Subject: [PATCH] PMC and Survivor PMC changes (#7264) # About the pull request This PR is about doing some changes to the PMCs and Survivor PMCs that can spawn on Solaris Ridge. Fixes: Missing paygrades, ranks and comms titles on PMC Synthvivor, survivor PMC Medic, survivor PMC Technician, Colony Supervisor and PMC Medic. Fixes survivor PMC Medics and Technicians having the wrong headset. The lack of those caused the PMC survivors have no squadhud icons to be able to tell who's the medic,technician and synthetic, same for on radio. PMC Medic gained a title on the radio too as they should have one like USCM medics do. Misc: Changes survivor PMCs faction to PMC (they are Weyland PMCs, their faction should be PMC, not survivor. Survivor should be in the faction group. That's how it is for the UPP survivors) and Colony Supervisor to WY (same reason) Balance: Changed PMC Synthvivor's skillset to be akin to the shipside synthetic. They are W-Y PMC synths, they should have superior skills from a colony synthetic, right now they are an inferior colony synth if we exclude all the gear as compared to the colony synth, they have less health and no front pounce block. To accomendate for that, the PMC Synthvivor's loadout has been nerfed around. They lose the armored balaclava (that had facehugger protection, amazing i've rarely ever seen pmc synthvivor give that away to someone else, especially to fellow pmc survs), they lose the compact nailgun and the ammo for it, their lifesaver belt has been nerfed to contain less gear from the original dutch belt and their smartpack starts at 0 charge. This way they start with overall less medical gear, they no longer have access to nailguns to be able to fix walls and cades and they can't give away their special balaclava to a human to prevent infections and most importantly they are unable to immedietely use their smartpack abilities, requiring them to find a powered APC first. This gives xenomorphs a better chance in various situations that would have involved with the now nerfed loadout. Another balance change is the standard PMC Synthetic getting a maintenance jack and also losing their armored balaclava (synths dont have an identity to protect nor require air filters and hugger protection) And one last balance change is buffing the dutch version of the lifesaver belt, instead of getting regular splints,brute and burn kits they get the upgraded versions from the techwebs era. Since only ERT PMCs and DDs use these, it should look like they are actually technologically improved belts other than having imi alky bottles. drip change: PMC Synth and the survivor version lose their PMC cap in exchange for a PMC Beret that's used by Team Leaders and Trauma Surgeons. PMC Synthvivor also gains sunglasses. # Explain why it's good for the game Bug fixes are good. Making the PMC Synthvivor have a less overpowered loadout and general consistency. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: Unknownity fix: Fixes missing paygrades,ranks and comms titles to PMC Survivors and PMC Medic. Fixes certain PMC Survivors having incorrect headsets. balance: PMC Synthvivor skillset has been buffed to be consistent with the regular PMC Synth. PMC Synthvivor's loadout has been nerfed. Dutch Lifesaver belt (used by PMCs and DDs) has been buffed with improved splints and kits. add: PMC Synthetics were granted a higher budget and they gained a Maintenance Jack in their loadout. /:cl: --------- Co-authored-by: Unknownity --- code/game/objects/items/storage/belt.dm | 21 ++++++++--- code/game/objects/items/storage/smartpack.dm | 2 ++ code/modules/gear_presets/pmc.dm | 7 ++-- .../crashlanding-offices_insert_bigred.dm | 35 +++++++++++++------ 4 files changed, 46 insertions(+), 19 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 139d90ff33ce..624628dbf826 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -301,10 +301,10 @@ new /obj/item/stack/medical/splint(src) /obj/item/storage/belt/medical/lifesaver/full/dutch/fill_preset_inventory() - new /obj/item/stack/medical/advanced/bruise_pack(src) - new /obj/item/stack/medical/advanced/bruise_pack(src) - new /obj/item/stack/medical/advanced/ointment(src) - new /obj/item/stack/medical/advanced/ointment(src) + new /obj/item/stack/medical/advanced/bruise_pack/upgraded(src) + new /obj/item/stack/medical/advanced/bruise_pack/upgraded(src) + new /obj/item/stack/medical/advanced/ointment/upgraded(src) + new /obj/item/stack/medical/advanced/ointment/upgraded(src) new /obj/item/reagent_container/hypospray/autoinjector/adrenaline(src) new /obj/item/reagent_container/hypospray/autoinjector/dexalinp(src) new /obj/item/reagent_container/hypospray/autoinjector/oxycodone(src) @@ -315,7 +315,7 @@ new /obj/item/storage/pill_bottle/inaprovaline(src) new /obj/item/storage/pill_bottle/tramadol(src) new /obj/item/storage/pill_bottle/peridaxon(src) - new /obj/item/stack/medical/splint(src) + new /obj/item/stack/medical/splint/nano(src) new /obj/item/device/healthanalyzer(src) new /obj/item/storage/pill_bottle/imidazoline(src) new /obj/item/storage/pill_bottle/alkysine(src) @@ -343,6 +343,17 @@ new /obj/item/reagent_container/hypospray/autoinjector/oxycodone(src) new /obj/item/device/healthanalyzer(src) +/obj/item/storage/belt/medical/lifesaver/dutch/partial/fill_preset_inventory() + new /obj/item/stack/medical/advanced/bruise_pack/upgraded(src) + new /obj/item/stack/medical/advanced/ointment/upgraded(src) + new /obj/item/stack/medical/splint/nano(src) + new /obj/item/reagent_container/hypospray/autoinjector/oxycodone(src) + new /obj/item/storage/pill_bottle/bicaridine(src) + new /obj/item/storage/pill_bottle/kelotane(src) + new /obj/item/storage/pill_bottle/inaprovaline(src) + new /obj/item/storage/pill_bottle/tramadol(src) + new /obj/item/device/healthanalyzer(src) + /obj/item/storage/belt/medical/lifesaver/upp name = "\improper Type 41 pattern lifesaver bag" desc = "The Type 41 load rig is the standard load-bearing equipment of the UPP military. This configuration mounts a duffel bag filled with a range of injectors and light medical supplies, and is common among medics." diff --git a/code/game/objects/items/storage/smartpack.dm b/code/game/objects/items/storage/smartpack.dm index 3763064aa333..928388173cc8 100644 --- a/code/game/objects/items/storage/smartpack.dm +++ b/code/game/objects/items/storage/smartpack.dm @@ -322,6 +322,8 @@ item_state = "w_smartpack" icon_state = "w_smartpack" +/obj/item/storage/backpack/marine/smartpack/white/drained + battery_charge = 0 #undef BACKPACK_LIGHT_LEVEL #undef PROTECTIVE_COST diff --git a/code/modules/gear_presets/pmc.dm b/code/modules/gear_presets/pmc.dm index 5de19c84a707..519e9380ce8d 100644 --- a/code/modules/gear_presets/pmc.dm +++ b/code/modules/gear_presets/pmc.dm @@ -334,6 +334,7 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), rank = JOB_PMC_MEDIC minimap_icon = "pmc_md" paygrades = list(PAY_SHORT_PMC_MS = JOB_PLAYTIME_TIER_0) + role_comm_title = "CM" skills = /datum/skills/pmc/medic headset_type = /obj/item/device/radio/headset/distress/pmc/medic @@ -1912,10 +1913,9 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/nailgun, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/nailgun, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc/leader, WEAR_HEAD) new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/experimental_mesons, WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc, WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/pmc, WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) @@ -1926,9 +1926,10 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/upgraded, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crew_monitor, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/nailgun/compact, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full/dutch, WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/nailgun/compact, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/maintenance_jack, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical, WEAR_IN_L_STORE) diff --git a/code/modules/gear_presets/survivors/solaris/crashlanding-offices_insert_bigred.dm b/code/modules/gear_presets/survivors/solaris/crashlanding-offices_insert_bigred.dm index 327e80bf29bf..2ea019ae883d 100644 --- a/code/modules/gear_presets/survivors/solaris/crashlanding-offices_insert_bigred.dm +++ b/code/modules/gear_presets/survivors/solaris/crashlanding-offices_insert_bigred.dm @@ -4,9 +4,10 @@ /datum/equipment_preset/survivor/pmc name = "Survivor - PMC" flags = EQUIPMENT_PRESET_START_OF_ROUND - assignment = "Weyland-Yutani PMC" - faction = FACTION_SURVIVOR - faction_group = list(FACTION_WY, FACTION_SURVIVOR) + assignment = JOB_PMC_STANDARD + rank = JOB_PMC_STANDARD + faction = FACTION_PMC + faction_group = list(FACTION_WY, FACTION_SURVIVOR, FACTION_PMC) paygrades = list(PAY_SHORT_PMC_OP = JOB_PLAYTIME_TIER_0) idtype = /obj/item/card/id/pmc skills = /datum/skills/civilian/survivor/pmc @@ -45,7 +46,9 @@ /datum/equipment_preset/survivor/pmc/medic name = "Survivor - PMC Medic" assignment = JOB_PMC_MEDIC + rank = JOB_PMC_MEDIC paygrades = list(PAY_SHORT_PMC_MS = JOB_PLAYTIME_TIER_0) + role_comm_title = "CM" skills = /datum/skills/civilian/survivor/pmc/medic /datum/equipment_preset/survivor/pmc/medic/load_gear(mob/living/carbon/human/new_human) @@ -57,6 +60,7 @@ else new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_R_HAND) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/pmc/medic/hvh, WEAR_L_EAR) ..() // /obj/effect/landmark/survivor_spawner/bigred_crashed_pmc_engineer @@ -64,7 +68,9 @@ /datum/equipment_preset/survivor/pmc/engineer name = "Survivor - PMC Engineer" assignment = JOB_PMC_ENGINEER + rank = JOB_PMC_ENGINEER paygrades = list(PAY_SHORT_PMC_TEC = JOB_PLAYTIME_TIER_0) + role_comm_title = "TEC" skills = /datum/skills/civilian/survivor/pmc/engineer /datum/equipment_preset/survivor/pmc/engineer/load_gear(mob/living/carbon/human/new_human) @@ -72,6 +78,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding/superior, WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/med_small_stack(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_R_HAND) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/pmc/cct/hvh, WEAR_L_EAR) ..() @@ -83,8 +90,10 @@ paygrades = list(PAY_SHORT_WYC6 = JOB_PLAYTIME_TIER_0) skills = /datum/skills/civilian/survivor/manager assignment = "Colony Supervisor" + rank = JOB_EXECUTIVE_SUPERVISOR role_comm_title = "Supervisor" idtype = /obj/item/card/id/silver/clearance_badge/manager + faction = FACTION_WY faction_group = list(FACTION_WY, FACTION_SURVIVOR) access = list( ACCESS_WY_GENERAL, @@ -127,8 +136,8 @@ // only used on the spawner of all of those above... /datum/equipment_preset/synth/survivor/pmc name = "Survivor - Synthetic - PMC Support Synth" - faction = FACTION_SURVIVOR - faction_group = list(FACTION_WY, FACTION_SURVIVOR) + faction = FACTION_PMC + faction_group = list(FACTION_WY, FACTION_SURVIVOR, FACTION_PMC) access = list( ACCESS_WY_GENERAL, ACCESS_WY_COLONIAL, @@ -144,15 +153,21 @@ ACCESS_CIVILIAN_MEDBAY, ACCESS_CIVILIAN_COMMAND, ) + skills = /datum/skills/synthetic idtype = /obj/item/card/id/pmc assignment = JOB_PMC_SYNTH rank = JOB_PMC_SYNTH + paygrades = list(PAY_SHORT_SYN = JOB_PLAYTIME_TIER_0) role_comm_title = "WY Syn" skills = /datum/skills/synthetic /datum/equipment_preset/synth/survivor/pmc/load_race(mob/living/carbon/human/new_human) new_human.set_species(SYNTH_GEN_THREE) +/datum/equipment_preset/synth/survivor/pmc/load_skills(mob/living/carbon/human/new_human) + new_human.set_skills(/datum/skills/synthetic) + new_human.allow_gun_usage = FALSE + /datum/equipment_preset/synth/survivor/pmc/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/pmc, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/droppouch, WEAR_ACCESSORY) @@ -161,24 +176,22 @@ new_human.equip_to_slot_or_del(new /obj/item/restraint/handcuffs/zip, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/pmc/light/synth, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/nailgun, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/pmc/leader, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/pmc/command/hvh, WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses, WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/pmc, WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/smartpack/white, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/smartpack/white/drained, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/extinguisher/mini, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/upgraded, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crew_monitor, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full/dutch, WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smg/nailgun/compact, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/dutch/partial, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical, WEAR_IN_L_STORE)