You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
bugfix(contain): Let passengers exit a China Overlord with a Battle Bunker - #3668
Problem: with RETAIL_COMPATIBLE_CRC disabled, passengers cannot leave a China Overlord with the Battle Bunker upgrade (load infantry into the Battle Bunker, press Evacuate or a passenger's exit button — nobody comes out). Retail-compatible builds are not affected: the exit check from #3089 is compiled out there.
China Overlord passengers ride in the Battle Bunker rider, so their getContainedBy() points at the Battle Bunker, while the exit command addresses the China Overlord. OverlordContain did not override isContained(), so OpenContain::isContained() compared against the China Overlord and #3089 rejected every passenger. Now OverlordContain forwards isContained() to the redirected contain, as it already does for getContainedItemsList().
No actionable comments were generated in the recent review.
Walkthrough
Both game code variants add an isContained override to OverlordContain. The method checks TransportContain when no redirected contain is available. Otherwise, it delegates the query to the redirected contain.
Both variants declare and implement isContained. The method checks TransportContain when no redirected contain is available; otherwise, it delegates the query to the redirected contain.
The change aligns Overlord passenger membership checks with Battle Bunker redirection in both game variants. No supported merge-blocking issue remains.
Pre-merge checks: 4
Check name
Status
Explanation
Title check
The title clearly identifies the passenger-exit fix for a China Overlord with a Battle Bunker.
Description check
The description explains the passenger-exit problem and how forwarding isContained() to the redirected contain addresses it.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem: with
RETAIL_COMPATIBLE_CRCdisabled, passengers cannot leave a China Overlord with the Battle Bunker upgrade (load infantry into the Battle Bunker, press Evacuate or a passenger's exit button — nobody comes out). Retail-compatible builds are not affected: the exit check from #3089 is compiled out there.China Overlord passengers ride in the Battle Bunker rider, so their
getContainedBy()points at the Battle Bunker, while the exit command addresses the China Overlord.OverlordContaindid not overrideisContained(), soOpenContain::isContained()compared against the China Overlord and #3089 rejected every passenger. NowOverlordContainforwardsisContained()to the redirected contain, as it already does forgetContainedItemsList().