beyond-all-reason / beyond-all-reason/RecoilEngine

Make `Spring.UnitAttach` always force

Open
#2,224 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.