[KHM] Implemented Cosima, God of the Voyage

This commit is contained in:
Evan Kranzler 2021-01-28 10:50:14 -05:00
parent af5331a9e4
commit d056f6cec2
4 changed files with 317 additions and 22 deletions

View file

@ -58,30 +58,28 @@ public class DealsDamageToAPlayerAllTriggeredAbility extends TriggeredAbilityImp
@Override
public boolean checkTrigger(GameEvent event, Game game) {
if (!onlyCombat || ((DamagedPlayerEvent) event).isCombatDamage()) {
Permanent permanent = game.getPermanent(event.getSourceId());
if (permanent != null && filter.match(permanent, getSourceId(), getControllerId(), game)) {
for (Effect effect : this.getEffects()) {
effect.setValue("damage", event.getAmount());
effect.setValue("sourceId", event.getSourceId());
if (affectsDefendingPlayer) {
effect.setTargetPointer(new FixedTarget(event.getTargetId()));
continue;
}
switch (setTargetPointer) {
case PLAYER:
effect.setTargetPointer(new FixedTarget(permanent.getControllerId()));
break;
case PERMANENT:
effect.setTargetPointer(new FixedTarget(permanent.getId(), permanent.getZoneChangeCounter(game)));
break;
}
}
return true;
if (onlyCombat && !((DamagedPlayerEvent) event).isCombatDamage()) {
return false;
}
Permanent permanent = game.getPermanent(event.getSourceId());
if (permanent == null || !filter.match(permanent, getSourceId(), getControllerId(), game)) {
return false;
}
this.getEffects().setValue("damage", event.getAmount());
this.getEffects().setValue("sourceId", event.getSourceId());
if (affectsDefendingPlayer) {
this.getEffects().setTargetPointer(new FixedTarget(event.getTargetId()));
} else {
switch (setTargetPointer) {
case PLAYER:
this.getEffects().setTargetPointer(new FixedTarget(permanent.getControllerId()));
break;
case PERMANENT:
this.getEffects().setTargetPointer(new FixedTarget(permanent, game));
break;
}
}
return false;
return true;
}
@Override

View file

@ -164,6 +164,7 @@ public enum CounterType {
VIGILANCE("vigilance"),
VITALITY("vitality"),
VORTEX("vortex"),
VOYAGE("voyage"),
WAGE("wage"),
WINCH("winch"),
WIND("wind"),