Roundstart live injectors #979

Merged
EchoOfNothing merged 11 commits from Floidinee/Byrd-but-EVIL:filledliveinjectors into master 2026-10-10 15:08:40 +00:00
Contributor

Short description

Adds a pre-filled disease injector that can be used for mapping.

ViroDrobes now contain one of these if their manager wire is cut.

Also added an injector with a 10000 complexity disease for admin use.

Why we need to add this

Virology doesn't really have anything to do until the disease outbreak event happens which sometimes does not occur at all.

This ensures there is always a disease to work with roundstart.

Media (Video/Screenshots)

Checklist

Ingame Changelog

🆑

  • add: Added a live injector to ViroDrobe secret inventory
    ADMIN:
  • add: Added a disease injector with a 10000 complexity disease

Note

This is my very first contribution to SS14 and I am still unfamiliar with the coding conventions. Please do give feedback!

<!-- Link definitions, do not edit --> [guidelines]: https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html [ruleset]: https://rules.byrdstation.space/#h.vigrxrnffwji ## Short description <!-- What do you propose to change with your PR? --> Adds a pre-filled disease injector that can be used for mapping. ViroDrobes now contain one of these if their manager wire is cut. Also added an injector with a 10000 complexity disease for admin use. ## Why we need to add this <!-- What is the reason for adding these changes? Please post links to Discussions as well as Bug Reports here. Please describe how this will change the game balance. --> Virology doesn't really have anything to do until the disease outbreak event happens which sometimes does not occur at all. This ensures there is always a disease to work with roundstart. ## Media (Video/Screenshots) <!--If your PR contains in-game changes you must provide screenshots/videos of the changes.--> <video src="/attachments/f5b2d2fc-2fde-452a-9e7d-a7817078f39e" title="aeiou" controls></video> ## Checklist <!-- Check boxes for faster reviewing of your PR --> - [X] I do not require assistance to complete the PR. - [X] I have verified that the changes work before posting/requesting review of my PR. - [X] I have added screenshots/videos of the changes, or this PR does not change in-game mechanics. - [X] I have read the [Pull Request and Changelog Guidelines][guidelines] and [Byrd Station's Contributor Ruleset][ruleset]. ### Ingame Changelog <!--If you want the players to know about changes made in this PR, specify them using the template outside the comment. Short and informative.--> :cl: - add: Added a live injector to ViroDrobe secret inventory **ADMIN:** - add: Added a disease injector with a 10000 complexity disease ### Note This is my very first contribution to SS14 and I am still unfamiliar with the coding conventions. Please do give feedback!
aeiou.mp4
5.6 MiB
revert Automatic changelog update (#954)
Merge branch 'filledliveinjectors' of https://git.byrdstation.space/Floidinee/Byrd-but-EVIL into filledliveinjectors
Some checks failed
Close PRs on master / run (pull_request_target) Has been skipped
Labels: Size / size-label (pull_request_target) Failing after 3s
Labels: PR / labeler (pull_request_target) Successful in 3s
CRLF Check / CRLF Check (pull_request) Successful in 1m22s
Test Packaging / Test Packaging (pull_request) Successful in 13m15s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 47s
RSI Validator / Validate RSIs (pull_request) Failing after 45s
Map file schema validator / YAML map schema validator (pull_request) Successful in 5m18s
YAML Linter / YAML Linter (pull_request) Successful in 4m48s
2c54f6bb20
@ -78,0 +80,4 @@
// Byrd begin
if (TryComp<DiseasePenComponent>(ent, out var diseasePenComp))
{
if (diseasePenComp.IsFilled == true)
Owner

You can merge those two if statements, if statement ladders are a little ugly in my opinion.
Also == true is kind of a redundant comparison, since it's implied if you have a boolean as a condition in a control structure.

You can merge those two if statements, if statement ladders are a little ugly in my opinion. Also `== true` is kind of a redundant comparison, since it's implied if you have a boolean as a condition in a control structure.
EchoOfNothing marked this conversation as resolved
@ -78,0 +84,4 @@
{
diseasePenComp.DiseaseUid = disease;
diseasePenComp.Genotype = diseaseComp.Genotype;
return;
Owner

There is no reason to have return here

There is no reason to have `return` here
Author
Contributor

return is actually needed here since l.90

if (!TryInfect(ent.Owner, disease.Value))
QueueDel(disease);

would delete the newly created disease as there is nothing to infect when spawning the pen (see screenshot)

`return` is actually needed here since l.90 `if (!TryInfect(ent.Owner, disease.Value))` ` QueueDel(disease);` would delete the newly created disease as there is nothing to infect when spawning the pen (see screenshot)
EchoOfNothing marked this conversation as resolved
@ -26,1 +26,4 @@
public TimeSpan InjectTime = TimeSpan.FromSeconds(8);
[DataField]
public bool IsFilled = false; // Byrd
Owner

Name IsFilled can be a little misleading in this case, so you should rename this to something like fillWithRandomDisease, it doesn't have to be exactly this name, you can try to find an even better one.

Name `IsFilled` can be a little misleading in this case, so you should rename this to something like `fillWithRandomDisease`, it doesn't have to be exactly this name, you can try to find an even better one.
EchoOfNothing marked this conversation as resolved
Owner

@Floidinee
You can also use categories for change logs like so:

:cl:
- add: Added a live injector to ViroDrobe secret inventory
**ADMIN:**
- add: Added an injector with a 10000 complexity disease
@Floidinee You can also use categories for change logs like so: ``` :cl: - add: Added a live injector to ViroDrobe secret inventory **ADMIN:** - add: Added an injector with a 10000 complexity disease ```
Lines 29-31
@ -24,0 +26,6 @@
- type: entity
parent: LiveInjector
id: FilledLiveInjector
name: live injector
suffix: random disease
description: Injects people with a disease.
Owner

If you don't set name or description it will be inherited from the parent. And since you don't modify neither name nor description might as well inherit them.

If you don't set `name` or `description` it will be inherited from the parent. And since you don't modify neither `name` nor `description` might as well inherit them.
remove redundancies, rename IsFilled to ContainsRandomDisease
Some checks failed
Labels: PR / labeler (pull_request_target) Failing after 51s
Labels: Size / size-label (pull_request_target) Successful in 48s
CRLF Check / CRLF Check (pull_request) Successful in 37s
RGA schema validator / YAML RGA schema validator (pull_request) Has been cancelled
RSI Validator / Validate RSIs (pull_request) Has been cancelled
Map file schema validator / YAML map schema validator (pull_request) Has been cancelled
YAML Linter / YAML Linter (pull_request) Has been cancelled
Test Packaging / Test Packaging (pull_request) Has been cancelled
8dc7e12866
fix pre-filled injectors giving fully progressed diseases
Some checks failed
Labels: PR / labeler (pull_request_target) Successful in 7s
Labels: Size / size-label (pull_request_target) Successful in 4s
CRLF Check / CRLF Check (pull_request) Successful in 35s
Test Packaging / Test Packaging (pull_request) Successful in 13m5s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 44s
RSI Validator / Validate RSIs (pull_request) Failing after 43s
Map file schema validator / YAML map schema validator (pull_request) Successful in 5m19s
YAML Linter / YAML Linter (pull_request) Successful in 4m52s
PR Changelogs / changelog (pull_request_target) Successful in 1m13s
7b881da4d3
EchoOfNothing left a comment

LGTM. Thank you for your contribution!

LGTM. Thank you for your contribution!
byrdbot referenced this pull request from a commit 2026-10-10 15:09:53 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Byrd-Station/Byrd!979
No description provided.