[MOM] Implement Axgard Artisan

This commit is contained in:
theelk801 2023-04-17 20:23:12 -04:00
parent ac611ae6e0
commit 33ec1b7e58
4 changed files with 133 additions and 43 deletions

View file

@ -0,0 +1,52 @@
package mage.watchers.common;
import mage.MageObjectReference;
import mage.constants.WatcherScope;
import mage.counters.CounterType;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
import mage.watchers.Watcher;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
* @author TheElk801
*/
public class BoostCountersAddedFirstTimeWatcher extends Watcher {
private final Map<MageObjectReference, UUID> map = new HashMap<>();
public BoostCountersAddedFirstTimeWatcher() {
super(WatcherScope.GAME);
}
@Override
public void watch(GameEvent event, Game game) {
if (event.getType() != GameEvent.EventType.COUNTERS_ADDED) {
return;
}
Permanent permanent = game.getPermanent(event.getTargetId());
if (permanent != null && event.getData().equals(CounterType.P1P1.getName())) {
map.putIfAbsent(new MageObjectReference(permanent, game), event.getId());
}
}
@Override
public void reset() {
super.reset();
map.clear();
}
public static boolean checkEvent(GameEvent event, Permanent permanent, Game game) {
return event
.getId()
.equals(game
.getState()
.getWatcher(BoostCountersAddedFirstTimeWatcher.class)
.map
.getOrDefault(new MageObjectReference(permanent, game), null));
}
}