[BUG]Actions that don't meet the conditions should be denied but not delayed

For example, I set an reward that needs "3 zombies to be killed" and "right-click", and I clicked that block, then I killed 3 zombies, and the reward gui just popped up.

What I expected:

When I clicked block the first time, because I haven't kill 3 zombies yet, the reward gui shouldn't pop up until I killed the zombies and click that block AGAIN image

The mechanic behind the "bug" I think: functions will mark the trigger as true when triggered, like the right-click above. So the function will auto executed after other triggers triggered. In my opinion, player triggers, except "player death counter" and "block detector", shouldn't get passed when other conditions are not met.

This lead to another bug: When you hold a key and try to unlock the door, it will accept the key, consuming it, but nothing happens, until other triggers are triggered. The problem is: the door will consume the keys infinitely, the gif below will show this: 动画__15_

Edited May 19, 2024 by Clexus
Assignee Loading
Time tracking Loading