Ported the bluespace harvester from starlight #959

Merged
EchoOfNothing merged 2 commits from :entities/bluespaceharvester/port into master 2026-10-05 20:23:43 +00:00
Member

Short description

I just ported the bluespace harvester from starlight by using the PR from omu here: https://github.com/ProjectOmu/OmuStation/pull/1345

It's a new engineering objective to get some cool items (or potentially dangerous enemies) by throwing a ton of energy into a big machine.

Why we need to add this

Discord request, it's also upstream, and giving engineering a new thing to do apart from the PTL is awesome.

Media (Video/Screenshots)

image

Checklist

Ingame Changelog

🆑 Quill

  • add: Added the bluespace harvester from starlight. Findable in the CE's locker, it's another objective for engineering to spend all their excessive energy on.
<!-- 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 I just ported the bluespace harvester from starlight by using the PR from omu here: https://github.com/ProjectOmu/OmuStation/pull/1345 It's a new engineering objective to get some cool items (or potentially dangerous enemies) by throwing a ton of energy into a big machine. ## Why we need to add this Discord request, it's also upstream, and giving engineering a new thing to do apart from the PTL is awesome. ## Media (Video/Screenshots) ![image](/attachments/e169be9f-2bf0-425f-9f01-871e0ab9081e) ## 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 :cl: Quill - add: Added the bluespace harvester from starlight. Findable in the CE's locker, it's another objective for engineering to spend all their excessive energy on.
image.png
184 KiB
Ported the bluespace harvester from starlight
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 4s
CRLF Check / CRLF Check (pull_request) Successful in 45s
RSI Validator / Validate RSIs (pull_request) Successful in 1m1s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 1m8s
Map file schema validator / YAML map schema validator (pull_request) Successful in 7m26s
YAML Linter / YAML Linter (pull_request) Successful in 7m18s
Test Packaging / Test Packaging (pull_request) Successful in 15m6s
91d0142417
@ -0,0 +44,4 @@
foreach (var coords in positions)
{
if (_lookupSystem.AnyEntitiesIntersecting(coords, LookupFlags.Static))
intersecting = true;
Owner

Why not break the loop? Not like it will un-intersect later. But doesn't really matter, not like this is going to be called a ton of times.

Why not break the loop? Not like it will un-intersect later. But doesn't really matter, not like this is going to be called a ton of times.
QuillTheCreature marked this conversation as resolved
Lines 61-73
@ -0,0 +58,16 @@
UpdateUi(uid, component, powerConsumer, true);
}
private void OnSetLevel(EntityUid uid, BluespaceHarvesterComponent component, BluespaceHarvesterSetLevelMessage args)
{
if (!TryComp<PowerConsumerComponent>(uid, out var powerConsumer))
return;
var desired = ClampDesiredLevel(component, args.Level);
if (desired == component.DesiredLevel)
return;
component.DesiredLevel = desired;
UpdateDrawRate(component, powerConsumer);
UpdateUi(uid, component, powerConsumer, true);
}
Owner

I would add admin logging for entering/exiting dangerous levels just in case.

I would add admin logging for entering/exiting dangerous levels just in case.
Author
Member

image

![image](/attachments/48f9c53d-9c0e-4c01-a1e3-632b97994daf)
QuillTheCreature marked this conversation as resolved
@ -0,0 +59,4 @@
NetworkSupply = networkSupply;
AvailablePoints = availablePoints;
TotalPoints = totalPoints;
DangerousMode = currentLevel >= 7;
Owner

What if we have non-default DangerousLevelThreshold?

What if we have non-default `DangerousLevelThreshold`?
QuillTheCreature marked this conversation as resolved
Bluespace harvester code fixups
All checks were successful
Labels: PR / labeler (pull_request_target) Successful in 6s
Labels: Size / size-label (pull_request_target) Successful in 7s
CRLF Check / CRLF Check (pull_request) Successful in 1m13s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 1m25s
RSI Validator / Validate RSIs (pull_request) Successful in 1m33s
Map file schema validator / YAML map schema validator (pull_request) Successful in 9m0s
YAML Linter / YAML Linter (pull_request) Successful in 10m9s
PR Changelogs / changelog (pull_request_target) Successful in 50s
Test Packaging / Test Packaging (pull_request) Successful in 27m9s
b8871207ef
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-05 20:24:30 +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!959
No description provided.