Fix render fire clock progress turning into silo build progress after unit ownership transfer#7051
Fix render fire clock progress turning into silo build progress after unit ownership transfer#7051lL1l1 wants to merge 13 commits intoFAForever:developfrom
Conversation
📝 WalkthroughWalkthroughFixes a unit-transfer exploit that granted silo progress to instantly unlock or boost nuke submarines and Seraphim battleship for free by preventing work progress from transferring inappropriately during silo ammo building and unit ownership changes. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
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. Comment |
Description of the proposed changes
Fixes #7049.
Testing done on the proposed changes
Command to transfer a unit to yourself
Spawn a seraphim battleship:
Command to view unit states:
Testing:
Fire battleship and wait for its reload bar to fill. You shouldn't be able to transfer it and with it having a full bar and being in the silo build state. The debug logging tells you if the transferred unit transfers silo progress.
What I've tried:
IssueCommand("BuildSiloNuke")before ConExecute call).Fire, pause the unit, order a silo build, unpause and re-pause in the same tick (puts it into silo build state), and then transfer.
Checklist