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

WIP: Combat hypospray #2701

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

BarryNorfolk
Copy link
Contributor

@BarryNorfolk BarryNorfolk commented Jan 11, 2025

WIPWIPWIPWIPWIPWIWPIPWIP

TODO:

  • Sprites
  • Crafting mechanism
  • Any form of balancing direction wants

About the PR

Added a new type of hypospray designed for Corpsman and Parameds to help them in fire fights or intense situations where having someone still for a syringe injection is too much.

The combat hypospray works with cartridges that are inserted into it to "fill" it with a given solution. These cartridges are hot swappable and contain 30u of solution. Cartridges are not drinkable, drawable, or refillable so they are used they are thrown away or recycled into glass.

Cartridges are constructed from a cartridge fabricator which takes any chemistry bottle as an input, once the bottle interacts with the machine (much like the seed extractor) then a cartridge will be produced and placed in the users hands if possible. A check is performed to see whether this bottle contains valid "medicinal" reagents and is rejected with a message if it does.

Valid reagents are controlled by the groupWhitelist and reagentWhitelists fields, the former means you can set things like "All medicines" and the latter means you can add narcotics like ephedrine. This behaviour is overridable by the emag, a fabricator that is emagged will let you put anything into a cartridge.

Why / Balance

Corpsman, in my eyes at least, are the combat medic attached to the security force to enable them to keep fighting for long periods without have to go all the way back to med and/or lose ground in a fight against an antag. Having them wait for a syringe while being shot at is not viable.
Parameds are less reliant on this but can still provide a useful combat medical role, as well as a fast response unit to try and get someone back on their feet (if they have any after shitmed) and get to the medical bay asap.

Technical details

Inspired by/taken from: Goob-Station/Goob-Station#953
Ideally we'd re-use as much of the upstream code as possible, so having the cartridges refill the hypospray directly (without letting the hypospray ever draw) is useful.

Media

Requirements

  • I have tested all added content and changes.
  • I have added media to this PR or it does not require an ingame showcase.

Breaking changes

Changelog

@github-actions github-actions bot added size/L 256-1023 lines Changes: YML Changes any yml files Changes: C# Changes any cs files Changes: Sprite Changes any png or json in an rsi and removed size/L 256-1023 lines labels Jan 11, 2025
Copy link
Contributor

github-actions bot commented Jan 11, 2025

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

Resources/Textures/_DV/Objects/Specific/Medical/combathypo.rsi

State Old New Status
borghypo Added
borghypo_s Added
combat_hypo Added
equipped-BELT Added
hypo Added
inhand-left Added
inhand-right Added

Edit: diff updated after 42c331a

@github-actions github-actions bot added the size/L 256-1023 lines label Jan 11, 2025
@github-actions github-actions bot added the Changes: Localization Changes any ftl files label Jan 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: Sprite Changes any png or json in an rsi Changes: YML Changes any yml files size/L 256-1023 lines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant