Skip to content

Port Cartridge Autoinjector#2258

Merged
VMSolidus merged 15 commits intoSimple-Station:masterfrom
Will-Oliver-Br:Port-Autoinjector
May 17, 2025
Merged

Port Cartridge Autoinjector#2258
VMSolidus merged 15 commits intoSimple-Station:masterfrom
Will-Oliver-Br:Port-Autoinjector

Conversation

@Will-Oliver-Br
Copy link
Copy Markdown
Contributor

Description

Port cartridge autoinjector from Goob-Station.
Prs:
Goob-Station/Goob-Station#953
Goob-Station/Goob-Station#1021
Goob-Station/Goob-Station#1085
Goob-Station/Goob-Station#1798
Goob-Station/Goob-Station#2298


Media

Captura de tela 2025-04-16 224533


Changelog

🆑 Aviu00, a-person5660, SolsticeOfTheWinter, pheenty, Will-Oliver-Br

  • add: Added a medical and security cartridge autoinjector.

Aviu00 and others added 7 commits April 16, 2025 19:08
* Knockdown alert & flashbang buff.

* Stun stuff.

* Reagents stuff.

* Tweaks.

* Add energy bola.

* Tweak disabler bolts.

* Smoke ingestion blocker.

* More tweaks.

* Fix.

* Add descriptions.

* Buff combat and merc boots.

* Redo autoinjector.

* Fix air tank.

* Increase use delay.

* Boot tweaks.
* cartridge tweaks

* new cartridges

* final commit (probably)

* fix meta

* raise cartridge prices

* 40 second delay
* Added fun

* Reverted.

* Hyposprays.

* Added derm to pens

* Added ibuprofen to swdw

* Guh

* Added atropine cartridge.
* buff autoinjectors

* rework

* oops

* makes sense

* make atropine less deadly

* this
@github-actions github-actions Bot added Status: Needs Review Someone please review this Changes: C# Changes any cs files Changes: YML Changes any yml files Changes: Sprite Changes any png or json in an RSI labels Apr 17, 2025
@SimpleStation14 SimpleStation14 changed the title Port cartridge autoinjector Port Cartridge Autoinjector Apr 17, 2025
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 17, 2025

Walkthrough

This update introduces a suite of cartridge-based autoinjectors and their associated cartridges, expanding medical gameplay functionality. It removes the older SolutionCartridge system and replaces it with a new, more integrated SolutionCartridgeSystem for hyposprays. Several new YAML prototypes define autoinjector devices, cartridges, crafting recipes, and tags. Inventory and storage configurations are updated to include these new items across belts, vending machines, and lathes. Additionally, a new chemical reaction and reagent adjustments are introduced, and some effect parameters for Atropine are tweaked. The codebase and data files are reorganized to align with these new mechanics.

Changes

Files/Paths Change Summary
Content.Server/Chemistry/EntitySystems/HypospraySystem.cs Added using directive for Goobstation hypospray events; raised AfterHyposprayInjectsEvent.
Content.Shared/_Goobstation/Chemistry/Hypospray/HyposprayEvents.cs Introduced AfterHyposprayInjectsEvent record struct for injection event signaling.
Content.Shared/_Goobstation/Chemistry/Hypospray/SolutionCartridgeComponent.cs Changed namespace; removed NetworkedComponent attribute; added ViewVariables to field.
Content.Shared/_Goobstation/Chemistry/Hypospray/SolutionCartridgeSystem.cs New system managing hypospray and cartridge insertion/removal and injection cleanup.
Content.Shared/_Goobstation/Chemistry/SolutionCartridge/ Removed old SolutionCartridgeReceiverComponent and SolutionCartridgeSystem classes.
Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/hypospray.yml Added new autoinjector and cartridge entities with detailed components and inheritance.
Resources/Prototypes/_Goobstation/Recipes/Lathes/medical.yml Added recipe for ParamedHypo.
Resources/Prototypes/_Goobstation/Recipes/Lathes/security.yml Added recipes for multiple cartridges and SecHypo autoinjector.
Resources/Prototypes/_Goobstation/tags.yml Added tags: AutoinjectorCartridge, Tourniquet.
Resources/Prototypes/_Funkystation/Recipes/Reactions/toxins.yml Added new chemical reaction for Tirizene.
Resources/Prototypes/_Goobstation/Changeling/reagent_stings.yml Modified StingLethargic reagent composition (replaced Impedrezene with ChloralHydrate).
Resources/Prototypes/_Goobstation/Reagents/medicine.yml Tweaked Atropine movement speed and paralyze effect parameters.
Resources/Prototypes/Catalog/Fills/Items/belt.yml Updated medical belt fill: removed old injectors; added new cartridges, ParamedHypo, Tourniquet.
Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml Added ParamedHypo to NanoMedPlusInventory vending machine.
Resources/Prototypes/Catalog/VendingMachines/Inventories/wallmed.yml Added Tourniquet to NanoMedInventory vending machine.
Resources/Prototypes/Entities/Clothing/Belt/belts.yml Allowed AutoinjectorCartridge and Tourniquet tags in medical belt storage whitelist.
Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml Added Tourniquet tag to Tourniquet entity.
Resources/Prototypes/Entities/Structures/Machines/lathe.yml Added multiple cartridge and autoinjector recipes to Autolathe, SecurityTechFab, and MedicalTechFab.

Suggested labels

Changes: C#, Changes: YML, Status: Needs Review

Suggested reviewers

  • Remuchi
  • DEATHB4DEFEAT
  • VMSolidus
  • sleepyyapril

Poem

🚀
New hyposprays and cartridges gleam,
In medbay’s light, they’re the healing team!
Recipes and tags, all neat in a row,
Old code swept out, let new systems flow.
Belts and lathes now brim with care,
Tau Ceti’s finest, always prepared.
Sol’s sloppy work? Not on my watch—here, we repair!
🩺

Tip

⚡️ Faster reviews with caching
  • CodeRabbit now supports caching for code and dependencies, helping speed up reviews. This means quicker feedback, reduced wait times, and a smoother review experience overall. Cached data is encrypted and stored securely. This feature will be automatically enabled for all accounts on May 16th. To opt out, configure Review - Disable Cache at either the organization or repository level. If you prefer to disable all data retention across your organization, simply turn off the Data Retention setting under your Organization Settings.

Enjoy the performance boost—your workflow just got faster.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between df9a8b4 and cdaec38.

📒 Files selected for processing (1)
  • Resources/Prototypes/Entities/Structures/Machines/lathe.yml (4 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • Resources/Prototypes/Entities/Structures/Machines/lathe.yml
⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: YAML Linter
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: Test Packaging

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Nitpick comments (5)
Content.Shared/_Goobstation/Chemistry/Hypospray/HyposprayEvents.cs (1)

1-19: Event declaration passes Biesel Fleet inspection standards!

This new event record has proper documentation and a clear purpose. It uses the [ByRefEvent] attribute correctly to minimize unnecessary copying during event handling. The event fields are self-explanatory and support the hypospray injection workflow.

One small recommendation: consider making the record constructor more explicit by including the parameters:

-public record struct AfterHyposprayInjectsEvent()
+public record struct AfterHyposprayInjectsEvent(EntityUid User, EntityUid Target)
{
    /// <summary>
    /// Entity that used the hypospray.
    /// </summary>
-   public EntityUid User;
+   public EntityUid User = User;

    /// <summary>
    /// Entity that was injected.
    /// </summary>
-   public EntityUid Target;
+   public EntityUid Target = Target;
}
Resources/Prototypes/Catalog/VendingMachines/Inventories/wallmed.yml (1)

9-9: Medical supply update correctly deployed!

The addition of the Tourniquet item to the NanoMedInventory is a logical expansion of available medical gear. The comment clearly indicates this is related to the Goobstation ParamedHypo feature.

To ensure consistent documentation:

-    Tourniquet: 3 #Goobstation - ParamedHypo
+    Tourniquet: 3 # Goobstation - Cartridge Autoinjector

This change would align the comment with the PR's main purpose of porting the cartridge autoinjector feature, maintaining clear traceability of feature additions.

Content.Server/Chemistry/EntitySystems/HypospraySystem.cs (1)

24-24: New Goobstation hypospray namespace imported
Imported Content.Shared._Goobstation.Chemistry.Hypospray to enable new autoinjector events. Ensure this using directive is sorted among other Content.Shared.* imports to maintain consistency in your import groupings.

Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/hypospray.yml (2)

3-40: BaseCartridgeAutoinjector prototype is well‑structured.
Components for solution container, hypospray behavior, injection blocking, and use delay are all present.
Consider consolidating ContainerContainer + ItemSlots into a single slot definition if your engine supports it, to reduce duplication.


69-91: BaseAutoinjectorCartridge entity is defined as expected.
size: Tiny and tag AutoinjectorCartridge ensure it fits the slot. Consider adding an explicit maxUses or durability component if cartridges should deplete over multiple injections.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9c98bdc and 2f48245.

⛔ Files ignored due to path filters (16)
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/autoinjector.rsi/cartridge1.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/autoinjector.rsi/inhand-left.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/autoinjector.rsi/inhand-right.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/autoinjector.rsi/medical-base.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/autoinjector.rsi/meta.json is excluded by !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/autoinjector.rsi/security-base.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/base.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/cartridge-bicaridine.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/cartridge-dermaline.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/cartridge-ephedrine.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/cartridge-epinephrine.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/cartridge-ichor.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/cartridge-saline.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/cartridge.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/filling.png is excluded by !**/*.png, !Resources/Textures/** and included by none
  • Resources/Textures/_Goobstation/Objects/Specific/Medical/cartridge.rsi/meta.json is excluded by !Resources/Textures/** and included by none
📒 Files selected for processing (19)
  • Content.Server/Chemistry/EntitySystems/HypospraySystem.cs (1 hunks)
  • Content.Shared/_Goobstation/Chemistry/Hypospray/HyposprayEvents.cs (1 hunks)
  • Content.Shared/_Goobstation/Chemistry/Hypospray/SolutionCartridgeComponent.cs (1 hunks)
  • Content.Shared/_Goobstation/Chemistry/Hypospray/SolutionCartridgeSystem.cs (1 hunks)
  • Content.Shared/_Goobstation/Chemistry/SolutionCartridge/SolutionCartridgeReceiverComponent.cs (0 hunks)
  • Content.Shared/_Goobstation/Chemistry/SolutionCartridge/SolutionCartridgeSystem.cs (0 hunks)
  • Resources/Prototypes/Catalog/Fills/Items/belt.yml (1 hunks)
  • Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml (1 hunks)
  • Resources/Prototypes/Catalog/VendingMachines/Inventories/wallmed.yml (1 hunks)
  • Resources/Prototypes/Entities/Clothing/Belt/belts.yml (1 hunks)
  • Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml (1 hunks)
  • Resources/Prototypes/Entities/Structures/Machines/lathe.yml (3 hunks)
  • Resources/Prototypes/_Funkystation/Recipes/Reactions/toxins.yml (1 hunks)
  • Resources/Prototypes/_Goobstation/Changeling/reagent_stings.yml (1 hunks)
  • Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/hypospray.yml (1 hunks)
  • Resources/Prototypes/_Goobstation/Reagents/medicine.yml (2 hunks)
  • Resources/Prototypes/_Goobstation/Recipes/Lathes/medical.yml (1 hunks)
  • Resources/Prototypes/_Goobstation/Recipes/Lathes/security.yml (1 hunks)
  • Resources/Prototypes/_Goobstation/tags.yml (1 hunks)
💤 Files with no reviewable changes (2)
  • Content.Shared/_Goobstation/Chemistry/SolutionCartridge/SolutionCartridgeSystem.cs
  • Content.Shared/_Goobstation/Chemistry/SolutionCartridge/SolutionCartridgeReceiverComponent.cs
🧰 Additional context used
🧬 Code Graph Analysis (1)
Content.Shared/_Goobstation/Chemistry/Hypospray/SolutionCartridgeSystem.cs (1)
Content.Server/Chemistry/EntitySystems/HypospraySystem.cs (1)
  • Initialize (35-43)
⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: Test Packaging
  • GitHub Check: build (ubuntu-latest)
  • GitHub Check: YAML Linter
🔇 Additional comments (32)
Content.Shared/_Goobstation/Chemistry/Hypospray/SolutionCartridgeComponent.cs (2)

3-3: Namespace reorganization looks shipshape, officer!

Moving this component to the Hypospray namespace makes perfect sense for organizational clarity. This is how we maintain a well-organized fleet of code! The structure now properly reflects the component's relationship with the hypospray system.


5-5: Removal of NetworkedComponent attribute noted and approved!

The removal of NetworkedComponent attribute is tactically sound. This suggests we're no longer synchronizing this component's state over the network, which aligns with proper encapsulation principles. The SolutionCartridgeSystem will handle the networking as needed instead.

Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml (1)

241-241: Tourniquet tag addition confirmed
Recruit, the Tourniquet tag has been added correctly to the entity’s tag list. This integration allows storage systems to recognize tourniquets as intended.

Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml (1)

14-14: ParamedHypo slot in NanoMedPlusInventory
ParamedHypo has been inserted into the medical vendor with quantity 2. This ensures autoinjectors are available as specified in PR objectives.

Resources/Prototypes/_Goobstation/Changeling/reagent_stings.yml (1)

19-19: Reagent update for StingLethargic
Swapping out Impedrezene for ChloralHydrate aligns with the new chemical reaction workflows. Composition now matches the autoinjector cartridges introduced elsewhere.

Resources/Prototypes/Entities/Clothing/Belt/belts.yml (1)

281-281: Whitelist updated for medical belt
The Tourniquet tag is now whitelisted in the medical belt’s storage component. Belts will correctly accept tourniquets in field operations.

Content.Server/Chemistry/EntitySystems/HypospraySystem.cs (1)

35-43: Verify handling of AfterHyposprayInjectsEvent
You’ve imported the new event definitions but haven’t subscribed to AfterHyposprayInjectsEvent in Initialize(). Confirm whether this system or the SolutionCartridgeSystem should handle post-injection cartridge-clear logic, and add a subscription if required.

Resources/Prototypes/_Goobstation/tags.yml (1)

147-152: Authorize new AutoinjectorCartridge and Tourniquet tags
YAML syntax and indentation align with existing entries; tags are ready for system integration.

Resources/Prototypes/Catalog/Fills/Items/belt.yml (1)

137-143: Load ParamedHypo cartridges and Tourniquet into EMT belt
Indentation matches surrounding contents list, and identifiers correspond to the new prototypes. Deployment ready.

Resources/Prototypes/_Goobstation/Recipes/Lathes/medical.yml (1)

9-19: Add ParamedHypo lathe recipe
Entry follows the established latheRecipe schema. Material costs and completion time look correct.

Resources/Prototypes/_Funkystation/Recipes/Reactions/toxins.yml (1)

69-82: Integrate Tirizene chemical reaction
Reaction block matches the format of existing entries; no required temperature constraints were omitted.

Resources/Prototypes/_Goobstation/Reagents/medicine.yml (2)

997-998: Boost Atropine mobility penalties
Updated walkSpeedModifier and sprintSpeedModifier to 0.75, matching the desired buff over the old 0.7 values.


1010-1011: Tune Atropine overdose paralyze effect
Reduced probability and duration to 0.1/2s, consistent with new less-severe overdose parameters.

Resources/Prototypes/_Goobstation/Recipes/Lathes/security.yml (8)

24-31: New recipe for CartridgeEpinephrine is correctly defined.
id and result match the cartridge entity, and the cost (100 Steel, 300 Glass) with a 1 second build time aligns with other hypospray cartridges.
Ensure this recipe ID matches the prototype in hypospray.yml.


32-39: CartridgeAtropine recipe looks good.
Parameters are consistent with CartridgeEpinephrine. Confirm the dosed reagent volume (10 Atropine) matches the intended behavior.


40-47: CartridgeBicaridine recipe is correct.
Steel/Glass costs mirror the pattern, and build time is consistent. Verify reagent ratios in the prototype align with this recipe’s cost.


48-55: CartridgeDermaline recipe validated.
Definition follows established structure. Double‑check that Dermaline mixes in hypospray.yml use the same maxVol and reagents.


56-63: CartridgeEphedrine recipe meets requirements.
Higher material cost (200 Steel, 400 Glass, 200 Plasma) reflects stimulant complexity. Confirm Plasma inclusion is intentional.


65-73: CartridgePuncturase recipe is correctly configured.
Matches CartridgeEphedrine cost structure. Verify Puncturase reagent presence and volume in the prototype.


74-82: CartridgeTirizene recipe is accurate.
Sedative mix uses the same cost template. Ensure Haloperidol and Impedrezene volumes in the prototype align with this.


83-92: SecHypo autoinjector crafting recipe is in order.
Higher material requirements (Steel 1500, Plastic 800, Glass 1200, Gold 500) fit an advanced device. Confirm that SecHypo exists in the prototype file and that this balance yields the intended build time.

Resources/Prototypes/Entities/Structures/Machines/lathe.yml (2)

272-279: Autolathe Emag hack recipes now include hypospray cartridges and devices.
Adding CartridgeEpinephrine, CartridgeBicaridine, CartridgeDermaline, CartridgeEphedrine, CartridgeAtropine, CartridgePuncturase, SecHypo, and ParamedHypo under EmagLatheRecipes provides emergency crafting via EMP hack.
Verify that this aligns with design intent—general autolathe may not be the canonical source for medical gear.


1328-1332: MedicalTechFab now crafts key cartridges and ParamedHypo.
CartridgeEpinephrine, CartridgeBicaridine, CartridgeDermaline, CartridgeAtropine, and ParamedHypo are present.
However, CartridgeSaline (defined in hypospray.yml) and other med‑oriented cartridges (e.g., Ephedrine/Tirizene) are not included—verify that omission is intentional.

Resources/Prototypes/_Goobstation/Entities/Objects/Specific/Medical/hypospray.yml (9)

41-53: SecHypo autoinjector entity looks correct.
Inherits from BaseCartridgeAutoinjector and specifies proper sprite layers.


54-66: ParamedHypo autoinjector entity is properly configured.
Sprite layers and parent align with SecHypo.


92-112: CartridgeEpinephrine prototype is solid.
Reagent mix (7 Epinephrine, 3 TranexamicAcid) matches design notes.


134-159: CartridgeBicaridine prototype checks out.
Mix ratios and tags are consistent.


160-185: CartridgeDermaline prototype is accurate.
Reagent volumes and comments on burn healing balance are helpful.


186-204: CartridgeAtropine prototype is correct.
Single‑reagent mix simplifies emergency dosing.


205-223: CartridgePuncturase prototype looks good.
Piercing agent quantity aligns with spec.


224-242: CartridgeEphedrine prototype is defined but not referenced by any techfab.
Ensure it's craftable via the correct lathe (security or medical) or remove if out of scope.


243-265: CartridgeTirizene sedation cartridge is correctly defined.
Verify it appears in the intended lathe’s static or dynamic recipes so players can craft it.

Comment thread Resources/Prototypes/Entities/Structures/Machines/lathe.yml
@EctoplasmIsGood
Copy link
Copy Markdown
Contributor

Have fun with this one, it’s wacky.

@Will-Oliver-Br
Copy link
Copy Markdown
Contributor Author

yeah

@EctoplasmIsGood
Copy link
Copy Markdown
Contributor

build is failing because theres not enough room in belts for the autoinjectors

@Will-Oliver-Br
Copy link
Copy Markdown
Contributor Author

thanks, i hadn't seen that it failed.

@Will-Oliver-Br
Copy link
Copy Markdown
Contributor Author

I found a bug

@Will-Oliver-Br Will-Oliver-Br marked this pull request as draft April 19, 2025 14:09
@Will-Oliver-Br Will-Oliver-Br marked this pull request as ready for review April 19, 2025 14:46
@Will-Oliver-Br
Copy link
Copy Markdown
Contributor Author

bug fixed

@VMSolidus VMSolidus merged commit f2cf3cb into Simple-Station:master May 17, 2025
13 checks passed
SimpleStation14 added a commit that referenced this pull request May 17, 2025
@Will-Oliver-Br Will-Oliver-Br deleted the Port-Autoinjector branch May 17, 2025 21:19
@coderabbitai coderabbitai Bot mentioned this pull request Jul 30, 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: Sprite Changes any png or json in an RSI Changes: YML Changes any yml files Status: Needs Review Someone please review this

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants