Sorry, we don't support your browser.  Install a modern browser

Gives statuses memory of time and whether they've been processed#63

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.

  1. It is very common to need to track a status’s lifetime, but currently we can’t do that without using the value, which means we can’t have a timed status with a value. I propose 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.
  2. If multiple instances of the same status are active on the same character, we don’t have any control over how they stack, or how to give them diminishing returns. I propose 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.
a month ago