Fix Gore Vassal

This commit is contained in:
xenohedron 2023-06-25 21:45:12 -04:00
parent 0c9361a057
commit 8d55419003

View file

@ -3,6 +3,7 @@ package mage.cards.g;
import java.util.UUID; import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.SacrificeSourceCost;
import mage.abilities.effects.common.RegenerateTargetEffect; import mage.abilities.effects.common.RegenerateTargetEffect;
@ -13,6 +14,8 @@ import mage.constants.CardType;
import mage.constants.SubType; import mage.constants.SubType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.counters.CounterType; import mage.counters.CounterType;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
/** /**
@ -34,7 +37,7 @@ public final class GoreVassal extends CardImpl {
new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new AddCountersTargetEffect(CounterType.M1M1.createInstance()),
new SacrificeSourceCost()); new SacrificeSourceCost());
ability.addTarget(new TargetCreaturePermanent()); ability.addTarget(new TargetCreaturePermanent());
ability.addEffect(new RegenerateTargetEffect()); ability.addEffect(new GoreVassalEffect());
this.addAbility(ability); this.addAbility(ability);
} }
@ -47,3 +50,22 @@ public final class GoreVassal extends CardImpl {
return new GoreVassal(this); return new GoreVassal(this);
} }
} }
class GoreVassalEffect extends RegenerateTargetEffect {
GoreVassalEffect() {
super();
staticText = "Then if that creature's toughness is 1 or greater, regenerate it";
}
@Override
public void init(Ability source, Game game) {
Permanent creature = game.getPermanent(source.getFirstTarget());
if (creature == null || creature.getToughness().getValue() < 1) {
this.discard();
return;
}
super.init(source, game);
}
}