Ported the bluespace harvester from starlight #959
No reviewers
Labels
No labels
Area/Accessibility
Area/Admin Tooling
Area/Art
Area/Atmospherics
Area/Cargo
Area/Character / Species
Area/Chat
Area/Combat
Area/Command
Area/Database
Area/Engineering
Area/Graphics
Area/Guidebook
Area/Mapping
Area/Medical
Area/Preferences / Options
Area/Roleplay / Lore
Area/Roundflow / Antag
Area/Rules
Area/Salvage
Area/Science
Area/Security
Area/Service
Area/Silicons
bug
Changes: Audio
Changes: Map
Changes: No C#
Changes: Sprites
Changes: UI
documentation
DON'T MERGE
duplicate
good first issue
help wanted
holding to vote
Note/Port
Note/Upstream
Priority
Critical
Priority
High
Priority
Low
Priority
Normal
size/L
size/M
size/S
size/XL
size/XS
State/Approved
State/invalid
State/Merge Conflict
State/Needs Changes
State/Needs Discussion
State/Untriaged
Type/Balance Change
Type/Bugfix
Type/Documentation
Type/Enhancement
Type/Feature
Type/Question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Byrd-Station/Byrd!959
Loading…
Reference in a new issue
No description provided.
Delete branch ":entities/bluespaceharvester/port"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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)
Checklist
Ingame Changelog
🆑 Quill
@ -0,0 +44,4 @@foreach (var coords in positions){if (_lookupSystem.AnyEntitiesIntersecting(coords, LookupFlags.Static))intersecting = true;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.
@ -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);}I would add admin logging for entering/exiting dangerous levels just in case.
@ -0,0 +59,4 @@NetworkSupply = networkSupply;AvailablePoints = availablePoints;TotalPoints = totalPoints;DangerousMode = currentLevel >= 7;What if we have non-default
DangerousLevelThreshold?LGTM. Thank you for your contribution!