Fixed Panharmonicon triggering for non-permanents.

This commit is contained in:
emerald000 2016-09-20 09:34:36 -04:00
parent da9fd5875c
commit ab352100f1
4 changed files with 37 additions and 4 deletions

View file

@ -125,7 +125,7 @@ public class TriggeredAbilities extends ConcurrentHashMap<String, TriggeredAbili
}
if (ability.checkTrigger(event, game)) {
NumberOfTriggersEvent numberOfTriggersEvent = new NumberOfTriggersEvent(ability.getControllerId(), event);
NumberOfTriggersEvent numberOfTriggersEvent = new NumberOfTriggersEvent(ability.getControllerId(), ability.getSourceId(), event);
if (!game.replaceEvent(numberOfTriggersEvent)) {
for (int i = 0; i < numberOfTriggersEvent.getAmount(); i++) {
ability.trigger(game, ability.getControllerId());

View file

@ -38,8 +38,8 @@ public class NumberOfTriggersEvent extends GameEvent {
private final GameEvent sourceEvent;
public NumberOfTriggersEvent(UUID controllerOfAbilityId, GameEvent sourceEvent) {
super(EventType.NUMBER_OF_TRIGGERS, null, null, controllerOfAbilityId);
public NumberOfTriggersEvent(UUID controllerOfAbilityId, UUID sourceOfTrigger, GameEvent sourceEvent) {
super(EventType.NUMBER_OF_TRIGGERS, null, sourceOfTrigger, controllerOfAbilityId);
this.sourceEvent = sourceEvent;
this.amount = 1; // Number of times to trigger. Panharmonicon can change this.
}