beyond-all-reason / beyond-all-reason/RecoilEngine
Make `Spring.UnitAttach` always force
- Dominant language
- C++
- Stars
- 679
- Forks
- 290
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 40
Description
Right now you can attach anything to a non-transport, but attaching to a transport checks transportability rules. This is bad:
* it's surprising, regardless of documentation.
* think about things like hats, or headcrab style enemies. They shouldn't randomly fail to work on transports if they happen to be invalid as passengers or to count against passenger count.
* Lua can reproduce the transportabilty check if it wants to.
Things to check:
* do transports even use this function? There's a LUS version called `AttachUnit` that seems to not force so I assume they are kosher.
* for transports that do use this implementation, will anything break? E.g. will internal passenger management handle this correctly.
Contributor guide
Research direction
Start by locating the C++ implementation of Spring.UnitAttach and checking whether transports use it, then compare it with the Lua AttachUnit path. Trace transport passenger management for units attached through this implementation; done means UnitAttach always bypasses transportability checks without breaking transport bookkeeping.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, lua
- Domain
- api, game-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100