Skip to content

Commit

Permalink
PMC and Survivor PMC changes (#7264)
Browse files Browse the repository at this point in the history
# 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

<details>
<summary>Screenshots & Videos</summary>

Put screenshots and videos here with an empty line between the
screenshots and the `<details>` tags.

</details>


# 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 <a>
  • Loading branch information
Unknownity authored Oct 28, 2024
1 parent 94aa588 commit f7dcfda
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 19 deletions.
21 changes: 16 additions & 5 deletions code/game/objects/items/storage/belt.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand Down Expand Up @@ -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."
Expand Down
2 changes: 2 additions & 0 deletions code/game/objects/items/storage/smartpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 4 additions & 3 deletions code/modules/gear_presets/pmc.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand All @@ -57,21 +60,25 @@
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

/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)
new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/five_slot, WEAR_BACK)
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)

..()

Expand All @@ -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,
Expand Down Expand Up @@ -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,
Expand All @@ -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)
Expand All @@ -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)
Expand Down

0 comments on commit f7dcfda

Please sign in to comment.