number of triggers event - fixed game error with state based triggers (NPE in cards like Veyran, Voice of Duality);

This commit is contained in:
Oleg Agafonov 2023-06-30 07:15:21 +04:00
parent 6529ead72f
commit 4c59551cf0
9 changed files with 29 additions and 6 deletions

View file

@ -95,7 +95,8 @@ public class TriggeredAbilities extends ConcurrentHashMap<String, TriggeredAbili
if (ability.checkTrigger(event, game) && ability.checkTriggeredAlready(game) && !ability.checkUsedAlready(game)) {
NumberOfTriggersEvent numberOfTriggersEvent = new NumberOfTriggersEvent(ability, event);
if (!game.replaceEvent(numberOfTriggersEvent)) {
// event == null - state based triggers like StateTriggeredAbility, must be ignored for number event
if (event == null || !game.replaceEvent(numberOfTriggersEvent)) {
for (int i = 0; i < numberOfTriggersEvent.getAmount(); i++) {
ability.trigger(game, ability.getControllerId(), event);
}