Skip to content

Better Thruster Burn and Thruster Restriction Enforcement - #560

Draft
TheRealMasterChief117 wants to merge 15 commits into
Triad-Sector:mainfrom
TheRealMasterChief117:thruster-restrictions
Draft

TheRealMasterChief117 wants to merge 15 commits into
Triad-Sector:mainfrom
TheRealMasterChief117:thruster-restrictions

Conversation

@TheRealMasterChief117

@TheRealMasterChief117 TheRealMasterChief117 commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

About the PR

  • Thrusters now burn everything in the exhaust path, including structures (6 tiles)
  • Popups for getting burnt by structure exhaust
  • Past the 6 tile radius, a raycast checks if the path is clear in all cardinal directions. If atleast one path is clear, the thruster will work

Thruster exhaust damage now scales with distance, mobs take 35% less damage due to the range increase

Why / Balance

So thruster restrictions can be enforced via gameplay rather than a rule.
The exhaust needs somewhere to go, we want realistic looking thrusters.

Also adds a neat mechanic for thruster armor.

In the 6-tile burn radius, you CAN heavily armor your thrusters.. however, the exhaust will slowly burn away the armor. So make your choice.

Grilles are NOT affected by thruster exhaust

How to test

Test a thruster enclosed in a box. It should be able to thrust as long as the direction the nozzle is pointing isn't blocked by something past the burn radius (6 tiles)

If you put a wall 6 tiles away from the thruster nozzle and enclose it, it will not be able to thrust.
If you remove one of the walls, it should be able to thrust. At least ONE SIDE needs to be fully exposed to space

Media

2026-08-27.12-45-36.mp4

Requirements

  • I have read the guidelines and documentation relevant to this PR.
  • 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.

Technical details

Major changes to the thruster system. NozzleExposed now passes a Entity<TransformComponent, ThrusterComponent> rather than just a TransformComponent.

In the burn damage update, EntityLookUpSystem.GetLocalEntitiesIntersecting is done to check for entities intersecting with the hitbox (Anchored entities DO NOT trigger the start collide event, so this is needed so structures are damaged)

ThrusterComponent.Colliding field now has ViewVariablesAttribute, and is now a HashSet so duplicate entries are not done. In some cases, an entity would get added to Colliding multiple times, which would make them take as much damage as they were in the list. This fixes that issue.

Four raycasts are sent out to check each cardinal direction (North, South, West, East)
Thrusters need at least one clear path to operate. If all 4 paths are closed, the thrusters won't turn on
Objects in front of a thruster's nozzle that are in burn distance don't count towards the raycast check because the thruster will burn it anyway

Changelog
🆑

  • add: Added popup and damage sounds for being burnt by thruster exhaust!
  • tweak: Thruster exhaust now burns objects in a 6-tile distance, including structures. The damage scales with how close the object is to the exhaust. The exhaust damage for mobs still has the same 2-tile range
  • add: Grilles and railings are immune to thruster exhaust damage.
  • tweak: Thrusters now need a path to clear space to function. This path doesn't need to be the same direction as the nozzle, as long as one part of the thruster is exposed to space. Only windows, walls, and doors count towards blocking it. Grilles and other small structures DO NOT block this path.
  • fix: Fixed thrusters exhaust damage sometimes dealing twice or three times as much damage than normal.

@Triad-Sector Triad-Sector changed the title Better thruster burn and thruster restriction enforcement Better Thruster Burn and Thruster Restriction Enforcement Aug 27, 2026
@TheRealMasterChief117
TheRealMasterChief117 marked this pull request as draft August 27, 2026 20:13
@Eillyrea

Copy link
Copy Markdown
Collaborator

The other main thing with thruster rules, which I'm unsure if you can do is "Has to be shootable from space" to stop people building large walls that are just far enough away to miss exhausts and then encloses the thrusters or hides them from being hit.

Idk if that's possible to include as an auto-shut off if it doesn't detect a clear route out to space that like, 70 degrees or more of open?

@TheRealMasterChief117

Copy link
Copy Markdown
Collaborator Author

The other main thing with thruster rules, which I'm unsure if you can do is "Has to be shootable from space" to stop people building large walls that are just far enough away to miss exhausts and then encloses the thrusters or hides them from being hit.

Idk if that's possible to include as an auto-shut off if it doesn't detect a clear route out to space that like, 70 degrees or more of open?

Working on it so the thrusters just need at least one part exposed to space

@github-actions github-actions Bot added Shipyard Additions or changes to ships Mapping labels Aug 28, 2026
@TheRealMasterChief117
TheRealMasterChief117 marked this pull request as ready for review August 28, 2026 02:54
@TheRealMasterChief117

Copy link
Copy Markdown
Collaborator Author

More changes:

raycast check Angles are now configurable in YML
You can offset the point
image

Should be a lot more fair now since thrusters exposed to space diagonally will work as well

Comment thread Resources/Prototypes/_Mono/Entities/Structures/Shuttles/capital_thrusters.yml Outdated
Comment thread Content.Server/Shuttles/Systems/ThrusterSystem.cs Outdated
Co-authored-by: TheRealMasterChief117 <officialtrollfacexxx@gmail.com>
Comment thread Content.Server/Shuttles/Systems/ThrusterSystem.cs Outdated
@TheRealMasterChief117
TheRealMasterChief117 marked this pull request as draft September 1, 2026 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

C# FTL Changes to localization files Mapping S: Needs Review Shipyard Additions or changes to ships size/M YML

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants