Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Species: Plasmaman #1291

Merged
merged 211 commits into from
Jan 25, 2025
Merged

Conversation

angelofallars
Copy link
Member

@angelofallars angelofallars commented Nov 29, 2024

Description

Adds the Plasmamen as a playable species. Plasmamen are a skeletal species who depend on Plasma to live, and oxygen is highly fatal to them. Being exposed to oxygen will set them on fire, unless they wear their envirosuits.

Species Guidebook

SPECIAL:

  • Plasmamen speak the language Calcic, a language they share with Skeletons.

Shitmed Integration

Plasmamen are the first ever species designed with Shitmed in mind, with one of their core mechanics (self-ignition) powered entirely by Shitmed.

Whether or not a Plasmaman ignites from oxygen exposure depends only on their body parts. A Plasmaman with only their head exposed will not burn as much as an entirely naked Plasmaman. You can transfer Plasmaman body parts to non-Plasmamen through surgery so that they also ignite from oxygen exposure. Meanwhile, a Plasmaman with a non-Plasmaman head can expose their head without self-igniting.

video-2024-11-28_12.52.mp4

Technical Details

This also cherry-picks space-wizards/space-station-14#28595 as a quality-of-life feature to ensure Plasmamen keep their internals on upon toggling their helmet with a breath mask on.

TODO

RELEASE-NECESSARY

  • Port more envirosuits / enviro helms (job-specific) and their sprites
  • Remove breath masks from default plasmaman loadouts because the envirohelms already allow them to breathe internals
  • Change default plasma tank to higher-capacity version
  • Prevent plasmamen from buying jumpsuits and helmets other than envirosuits
  • [ ] Client UI update for loadout groups min/max items and default items
  • Plasmaman-specific mask sprites from TG
  • Disable too cold alert for plasmamen
  • Create/port sprites for these jobs
    • Courier
    • Forensic Mantis
    • Corpsman (Resprite security envirosuit)
    • Prison Guard (Resprite security envirosuit)
    • Magistrate (No Paradise envirosuit so use new colorable envirosuit)
    • Blueshield (Port from Paradise and tg-ify?)
    • NanoTrasen Representative (No Paradise envirosuit so use new colorable envirosuit)
    • Martial Artist (use new colorable envirosuit and make pure white)
    • Musician (use new colorable envirosuit)
    • Reporter (use new colorable envirosuit)
    • Zookeeper (use new colorable envirosuit)
    • Service Worker (use new colorable envirosuit)
    • Gladiator
    • Technical Assistant
    • Medical Intern
    • Acolyte / Research Assistant
    • Security Cadet
    • Assistant
      • You know what. These intern jobs are fine. They can use their normal equivalent's envirosuits.
    • Logistics Officer (use new colorable envirosuit)
  • Adjust sprites to be closer to actual job
    • Captain (Shift color to be closer to ss14 captain)
    • CMO (Remove yellow accents)
    • Port HoP envirogloves sprite
  • unique sprite for self-extinguish verb
  • Refactor conditional gear stuff to live only in StartingGearPrototype with SubGear List<ProtoId<StartingGearPrototype>> field and List<Requirement> field for sub-gear requirements
  • Add starting gear for paradox anomaly, and antags and ghost roles
    • Paradox
    • Nukies
    • Disaster victims
    • Listening post operative
  • Make all envirosuit helmets have a glowing (unshaded) visor
  • Envirosuit extinguish visuals
  • JobPrototype: AfterLoadoutSpecial
    • Set prisoner envirohelm battery to potato, command/sec/dignitary to high-powered
    • Set base envirosuit extinguishes to 4, sec 6 and command 8
  • Improve plasmaman organ extraction experience
    • Body parts now give 1 plasma sheet each, while Torso gives 3
    • Organs can be juiced to get plasma
  • Make envirohelm flashlights battery-powered
  • Plasmamen visuals
    • Grayscale sprites for color customization, and set default skintone color to Plasmaman classic skintone
    • Plasmaman eye organ sprite
  • Add basic loadouts
  • Add way to refill envirosuit charges (refill at medical protolathe after some research)

Low Importance

  • Envirogloves
  • (SCOPE CREEP) Plasma tanks sprite (only normal emergency/extended, rather low priority)
  • (SCOPE CREEP) Modify envirosuit helmet sprites to have a transparent visor
  • Glowing eyes/mouth marking
  • More cargo content with plasma tanks / envirosuits
    • Plasmaman survival kit like slime
    • Additional plasma tanks
    • (SCOPE CREEP) Plasmaman EVA suits
  • Add envirosuits to clothesmate
  • Add more plasma tanks to random lockers and job lockers
  • Turn envirosuit auto-extinguish into extinguish action
  • move self-extinguish verb stuff to shared for prediction of the verb
  • move self-extinguisher stuff away from extinguisher namespace
  • unique sprite for self-extinguish icon
    • ~~IDEA: purple glowy fire extinguisher ~~
  • on self-extinguish, check for pressure immunity OR ignite from gas immunity properly
  • See envirosuit extinguish charges in examine
  • Milk heals on ingestion
  • Plasma heals on ingestion
  • Self-ignition doesn't occur on a stasis bed
  • Self-ignition doesn't occur when dead
  • Guidebook entry
  • Make self-ignition ignore damage resistances from fire suits
  • Make self-ignition ignore damage resistances from armor
  • Unable to rot?
  • Make the envirosuit helmet toggle on for the character dummy in lobby
  • (SCOPE CREEP) One additional Plasmaman trait
  • Showers extinguish water as well as water tiles
    • Unnecessary as stasis beds now prevent ignition, allowing surgery on a plasmaman on stasis beds.
  • Unique punch animations for Plasmafire Punch/Toxoplasmic Punch traits
  • Actually remove toxoplasmic it's just slop filler tbh
  • Talk sounds
    • Normal
    • Question
    • Yell
  • Positive moodlet for drinking milk / more positive moodlet for drinking plasma
  • Increase moodlet bonus and also minimum reagent required for the plasma/milk moodlets
  • Increase fire rate base stacks on ignite cause putting out your helmet for a few secs isn't that dangerous due to the fire stacks immediately decaying
    • I think halving firestack fade from -0.1 to -0.05 might work to do the same thing too
  • (SCOPE CREEP) Get bone laugh sounds from monke 'monkestation/sound/voice/laugh/skeleton/skeleton_laugh.ogg'
  • (SCOPE CREEP) When EVA plasmaman suit is added, 25% caustic resist
  • Envirosuit helmet
    • Equivalent of 100% bio / 100% fire / 75% acid resist
  • Envirosuit
    • Equivalent of 100% bio / 100% fire / 75% acid resist
  • Envirogloves
    • Equivalent of 100% bio / 95% fire / 95% acid resist
  • Put breath mask back on
  • Refactor: put body parts covered data into component instead of being hardcoded

Media

Custom Plasmaman Outfits

All of these use the same absolutely massive envirosuit RSI and envirohelm RSI to quickly create the envirosuits that didn't exist in SS13 where the envirosuit sprites were ported.

From Left to Right: Magistrate, Prison Guard, Boxer, Reporter, Logistics Officer

Plasmaman Melee Attack

video-2025-01-21_21.42.mp4

Chat bubble

Plasmaman Body

With different colors:

Skeleton Language

image

(Bonus) Skeleton chat bubble

Self-Extinguish

output1.mp4

The self-extinguish is also accessible as a verb, which also means that others can activate your self-extinguish if they open the strip menu.

The self-extinguish action has different icons depending on the status of the self extinguish.

Left to right: Ready, On Cooldown, Out Of Charges

Envirosuit Extinguisher Refill

Loadouts

Plasma Envirosuit Crate

Internals Crate (Plasma)

Glow In The Dark
image

Changelog

🆑 Skubman

  • add: The Plasmaman species has arrived! They need to breathe plasma to live, and a special jumpsuit to prevent oxygen from igniting them. In exchange, they deal formidable unarmed Heat damage, are never hungry nor thirsty, and are immune to cold and radiation damage. Read more about Plasmamen in their Guidebook entry.
  • tweak: Internals are no longer toggled off if you take your helmet off but still have a gas mask on and vice versa.
  • tweak: Paradox Anomalies will now spawn with the original person's Loadout items.
  • fix: Fixed prisoners not being able to have custom Loadout names and descriptions, and heirlooms if they didn't have a backpack when joining.

angelofallars and others added 16 commits November 24, 2024 04:43
TODO: add plasmaman eyes sprite
When there are not enough items in a group, the loadout system
will load the default items. When the selected items in a group
exceeds the maximum amount allowed, the system will just reduce
the amount of items to the max amount instead of not loading anything
at all.

TODO: Backend is fine, need to handle the client UI stuff of this
Internals are still turned off by toggling the envirosuit tho
so might need to cherry pick #28595 from wizden
@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: UI Changes any XAML files Changes: YML Changes any yml files Changes: Sprite Changes any png or json in an RSI Changes: Audio Changes any ogg files labels Nov 29, 2024
Copy link
Contributor

github-actions bot commented Nov 29, 2024

RSI Diff Bot; head commit b09fd4b merging into 8c6f1a4
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Clothing/Hands/Gloves/Envirogloves/hop.rsi

State Old New Status
equipped-HAND Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/Clothing/Head/Envirohelms/ancientvoid.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
visor-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/atmos.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/captain.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/cargo.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/ce.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/centcom_agent.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/centcom_officer.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/centcom_official.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/chaplain.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/chemist.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/clown.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/cmo.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/coroner.rsi

State Old New Status
equipped-HELMET Added
icon-flash Added
icon Added
on-equipped-HELMET Added

Resources/Textures/Clothing/Head/Envirohelms/custom.rsi

State Old New Status
accent-equipped-HELMET Added
accent-icon Added
accent-inhand-left Added
accent-inhand-right Added
equipped-HELMET Added
icon-flash Added
icon Added
inhand-left Added
inhand-right Added

Edit: diff updated after b09fd4b

plasmillions must endure 3 leading spaces on an empty lline

Signed-off-by: Skubman <[email protected]>
Signed-off-by: Skubman <[email protected]>
Signed-off-by: Skubman <[email protected]>
@Eagle-0
Copy link
Contributor

Eagle-0 commented Nov 29, 2024

holy shit

@BigfootBravo
Copy link

Can't wait for this!

@github-actions github-actions bot added the Status: Merge Conflict FIX YOUR PR AAAGH label Jan 25, 2025
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Jan 25, 2025
@github-actions github-actions bot added the Status: Merge Conflict FIX YOUR PR AAAGH label Jan 25, 2025
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Copy link
Member

@VMSolidus VMSolidus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I literally can't load the yml changes on my monster gaming computer. It ran out of ram 1/3rd of the way down the page. It also overran my SWAP. I am at this point just going to assume that if the YML linter isn't complaining, the YML is probably fine.

@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Jan 25, 2025
@VMSolidus VMSolidus merged commit e68e0c3 into Simple-Station:master Jan 25, 2025
13 checks passed
SimpleStation14 added a commit that referenced this pull request Jan 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: Audio Changes any ogg files Changes: C# Changes any cs files Changes: Documentation Changes any xml or md files Changes: Localization Changes any ftl files Changes: Sprite Changes any png or json in an RSI Changes: UI Changes any XAML files Changes: YML Changes any yml files Holy Shit Size: 1-Very Large For especially large issues/PRs Status: Needs Review Someone please review this
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants