Created attachment 2738[details]
fix repeater buildpoint queuing
however, with this, repeaters initially provide 0 buildpoints even if they were layout-spawned (and depending on the g_humanRepeaterBuildQueueTime setting, it may take quite a while for the repeater to provide a useful amount of buildpoints).
Repeaters initially providing 0 BP until the queue spins up really sounds like a much more severe bug than the one that this fixes. We need a better or more complete solution.
(In reply to comment #2)
> Repeaters initially providing 0 BP until the queue spins up really sounds like
> a much more severe bug than the one that this fixes.
repeaters initially providing 0 buildpoints is intended. see g_buildable.c:
// Initialise the BP queue with all BP queued
After multiple long discussions, it's been decided to fix queuing, with the timing such that it is always equal or better to wait for the queue, than to replace the repeater. This shakes out to a g_humanRepeaterBuildQueueTime of 1000, since the max you need to recover is 10BP, and it takes 10sec to build a new repeater. Repeaters will continue to begin with full BP when built.
These changes are approved pending my test of the implementation.
Created attachment 2738 [details] fix repeater buildpoint queuing however, with this, repeaters initially provide 0 buildpoints even if they were layout-spawned (and depending on the g_humanRepeaterBuildQueueTime setting, it may take quite a while for the repeater to provide a useful amount of buildpoints).
Created attachment 2780 [details] initialize buildpoint zones as full