Suggestion: Allow idle checks for actors that defaults their CurrentActivity to some Activity instead of null
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 17.4k
- Forks
- 3k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 14
Description
Issue:
Aircraft actors that default their CurrentActivity to FlyCircle instead of null will never pass any IsIdle() checks.
This also means that aircrafts cannot normally fire any OnIdle script trigger.
Units tested to be affected: "yak", "mig" (RA)
Suspected affected units as well (but not tested): Ora Bomber (TS)
To Reproduce:
Just try making an affected aircraft fire any Trigger.OnIdle function without using Stop(). You can use the full Lua arsenal for your attempt.
Suggestion:
Either
- Allow IsIdle() actor checks to return true if CurrentActivity is the FlyCircle type, or
- Allow Lua exposure of parts of the Activity class so that actor.CurrentActivity can be queried directly. That function can then be used in place of IsIdle().
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with the affected "yak" or "mig" actor, attempting to fire a Lua Trigger.OnIdle function without using Stop(). Trace the IsIdle() check and the actor's CurrentActivity, including the FlyCircle and Activity types. Done means an affected aircraft can trigger OnIdle appropriately, either through IsIdle() or an exposed CurrentActivity query.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100