Skip to content

Better Thruster Burn and Thruster Restriction Enforcement - #560

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

Better Thruster Burn and Thruster Restriction Enforcement#560
TheRealMasterChief117 wants to merge 8 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 four 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

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.
  • 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
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 Shipyard Additions or changes to ships size/M YML

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants