mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2024-11-17 03:20:06 +00:00
Fix timed out buffs not calling onExpire
This commit is contained in:
parent
0c5a9400ce
commit
eb7daf8eaa
@ -12,8 +12,12 @@ void Buff::tick() {
|
||||
|
||||
if(stack.durationTicks > 0) stack.durationTicks--;
|
||||
if(stack.durationTicks == 0) {
|
||||
// erase() destroys the callbacks
|
||||
// with the stack struct, so we need
|
||||
// to copy it first.
|
||||
BuffStack deadStack = stack;
|
||||
it = stacks.erase(it);
|
||||
if(stack.onExpire) stack.onExpire(self, &stack);
|
||||
if(deadStack.onExpire) deadStack.onExpire(self, &deadStack);
|
||||
} else it++;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user