
I don’t mind how we can’t add additional netprops to statuses. (It would be nice to be able to, which would obviate the rest of this, but I understand a desire to keep them lightweight.) However, I think there are two use cases that are best-done automatically, rather than being manually tracked.
SnapNetPropertyInt32 StatusEffectTimer, which is initialised to 0 by default and automatically increased every frame. If we need it to tick the other direction, we can just set it to a negative number when it’s first created, and it’ll tick up to 0.SnapNetPropertyBoolean StatusEffectIsProcessed, which returns whether the status has already been checked on this frame, and can be manually set. This way, whatever instance runs first can “speak for the team” without the other instances getting involved.