Skip to content

Cherrypick: Upgradeable and Anchorable Gas Mining Drills#115

Open
dijonmustard01 wants to merge 12 commits into
Triad-Sector:mainfrom
dijonmustard01:atmos
Open

Cherrypick: Upgradeable and Anchorable Gas Mining Drills#115
dijonmustard01 wants to merge 12 commits into
Triad-Sector:mainfrom
dijonmustard01:atmos

Conversation

@dijonmustard01
Copy link
Copy Markdown
Contributor

@dijonmustard01 dijonmustard01 commented May 23, 2026

About the PR

Cherrypicks Whatson3's frontier PR. Allows gas mining drills to be upgraded with superior manipulators to increase rate of gas extraction, and also makes them anchorable even when not on a gas deposit tile.

Why / Balance

Gives the gas mining gameplay loop a bit of progression outside of complicated refinery setups. Especially useful for extracting gas from asteroids with only one large gas deposit, such as Chromite asteroids, as opposed to asteroids with many smaller gas deposits, such as Basalt asteroids.

Media

image image

(Second screenshot is an example of the extraction rate increase using three super manipulators.)

Requirements

  • I have read relevant guidelines/documentation to this PR found on our devwiki.
  • I have added media to this PR or it does not require an ingame showcase.
  • I can confirm this PR contains either no AI-generated content, or AI-generated content that meets our guidelines.

How to test

  1. Acquire two gas mining drills.
  2. Anchor one to a regular non-gas deposit tile to confirm that the drills are anchorable, and turn on the gas mining drill to confirm no gas is extracted if there is no gas deposit beneath. The gas mining drill should look like it does in the first screenshot of the media section, with only a small green light on the rim to show that it is powered. If there is a large green or orange light towards the top of the drill when it has been turned on without a gas deposit beneath, that means something has gone wrong as that light only turns on when gas is being actively extracted.
  3. Turn off the gas mining drill after confirming no gas is being extracted.
  4. Unanchor the drill and create two gas deposits, anchor both gas mining drills to the gas deposit tiles.
  5. Use a screwdriver to open the maintenance panel on one of the gas mining drills.
  6. Spawn 3 upgraded manipulators (advanced, super, or bluespace manipulators) and place them inside of an RPED.
  7. Use the RPED to upgrade the gas mining drill with the open maintenance panel using the upgraded manipulators, then use a screwdriver to close the maintenance panel on the gas mining drill you upgraded.
  8. Click the upgrade examine button at the bottom right of the gas mining drill examine popup as shown in the first screenshot in the media section. You should see that it says the extraction rate has increased by some percentage depending on which upgraded manipulators you chose, as shown in the second screenshot in the media section.
  9. Without yet turning the gas mining drills on, set both gas mining drills' pressure to maximum, then assemble two connector ports leading to both of the gas mining drills, and anchor two empty storage canisters to both ports.
  10. Turn on both gas mining drills in rapid succession, the closer you are to turning them on simultaneously the better.
  11. Observe that the canister connected to the upgraded drill fills more rapidly than the un-upgraded one. The difference in speed is most obvious if using bluespace manipulators, but should be visibly noticeable even with just advanced manipulators. The rate of extraction should be 50 mol/s * (1 + extraction rate increase %), so in the case of upgrading using three super manipulators, it should be 50 * (1+.728) = 86.4 mol/s.

Breaking changes

This PR also adds a section to the file Resources/ServerInfo/_NF/Guidebook/Engineering/OffshoreGasMining.xml. This can be removed if undesired.

Changelog
🆑

  • tweak: Allows gas mining drills to be upgraded with superior manipulators to increase the rate of gas extraction
  • tweak: Allows gas mining drills to be anchorable on regular, non-gas deposit tiles.

Bartholemew-Dingleberry and others added 6 commits May 22, 2026 22:06
* make gyroscopes able to recieve signals

* added # Frontier to each port
…ks constructible. (#2999)

* upgradeable gas miner, printable port. gaslock

* trailing whitespace

* Fix portable gaslock circuitboard references

* Fix industrial tech icon

* Add the portable gaslock to the lathe

* fix machine part comment

* fix the circuit imprinter

---------

Co-authored-by: Dvir <39403717+dvir001@users.noreply.github.com>
@github-actions github-actions Bot added size/M S: Untriaged C# YML Sprites FTL Changes to localization files Docs Improvements or additions to documentation/guidebooks and removed S: Untriaged labels May 23, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 23, 2026

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

Resources/Textures/_NF/Objects/Specific/Atmospherics/extractor.rsi

State Old New Status
icon Added
panel Added

Edit: diff updated after ea28f7d

@Triad-Sector
Copy link
Copy Markdown
Owner

Multiple failures or warnings in test:

  1. Recipe 'GasMiningDrillMachineCircuitboard' is dynamic on a lathe but cannot be unlocked by research, tech disk, or blueprint.
    Assert.That(unlockedTechs, Does.Contain(recipe))
    Expected: some item equal to GasMiningDrillMachineCircuitboard
    But was: < PrintableC4, PrintableEmpGrenade, PrintableExplosiveGrenade, PrintableStickyBomb, PrintableBombCollar, PrintableBombCollarSealer, 150mmApShellUniversal, 150mmEmpShellUniversal, ClothingOuterHardsuitM86Tsf, MechIFFTSF... >
 at Content.IntegrationTests.Tests.ResearchTest.<>c__DisplayClass1_1.<AllTechPrintableTest>b__1() in /home/runner/work/Triad_Sector/Triad_Sector/Content.IntegrationTests/Tests/ResearchTest.cs:line 87

at Content.IntegrationTests.Tests.ResearchTest.<>c__DisplayClass1_0.b__0() in /home/runner/work/Triad_Sector/Triad_Sector/Content.IntegrationTests/Tests/ResearchTest.cs:line 84
at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.SingleThreadRunUntilEmpty() in /home/runner/work/Triad_Sector/Triad_Sector/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1153
at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.Run() in /home/runner/work/Triad_Sector/Triad_Sector/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1140
at Robust.UnitTesting.RobustIntegrationTest.ServerIntegrationInstance._serverMain() in /home/runner/work/Triad_Sector/Triad_Sector/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 690
at System.Threading.Thread.StartHelper.Callback(Object state)

  1. Recipe 'GaslockFrameMachineCircuitboard' is dynamic on a lathe but cannot be unlocked by research, tech disk, or blueprint.
    Assert.That(unlockedTechs, Does.Contain(recipe))
    Expected: some item equal to GaslockFrameMachineCircuitboard
    But was: < PrintableC4, PrintableEmpGrenade, PrintableExplosiveGrenade, PrintableStickyBomb, PrintableBombCollar, PrintableBombCollarSealer, 150mmApShellUniversal, 150mmEmpShellUniversal, ClothingOuterHardsuitM86Tsf, MechIFFTSF... >
 at Content.IntegrationTests.Tests.ResearchTest.<>c__DisplayClass1_1.<AllTechPrintableTest>b__1() in /home/runner/work/Triad_Sector/Triad_Sector/Content.IntegrationTests/Tests/ResearchTest.cs:line 87

at Content.IntegrationTests.Tests.ResearchTest.<>c__DisplayClass1_0.b__0() in /home/runner/work/Triad_Sector/Triad_Sector/Content.IntegrationTests/Tests/ResearchTest.cs:line 84
at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.SingleThreadRunUntilEmpty() in /home/runner/work/Triad_Sector/Triad_Sector/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1153
at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.Run() in /home/runner/work/Triad_Sector/Triad_Sector/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1140
at Robust.UnitTesting.RobustIntegrationTest.ServerIntegrationInstance._serverMain() in /home/runner/work/Triad_Sector/Triad_Sector/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 690
at System.Threading.Thread.StartHelper.Callback(Object state)

@DDrakov
Copy link
Copy Markdown
Collaborator

DDrakov commented May 23, 2026

Test fail related

@mnva0
Copy link
Copy Markdown
Collaborator

mnva0 commented May 24, 2026

Next test fail seemingly unrelated because it fixed itself upon restarting the checks
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C# Docs Improvements or additions to documentation/guidebooks FTL Changes to localization files size/M Sprites YML

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants