Add 30 AKH card implementations

* Some of the cards still need testing. Will fix and problems and update tomorrow, but pushing them for now to make it clear what's been implemented so far.
This commit is contained in:
Mark Langen 2017-04-15 04:24:14 -06:00
parent 804cdf6b21
commit 77586eec7e
35 changed files with 7370 additions and 33 deletions

View file

@ -0,0 +1,45 @@
package mage.abilities.common;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.Permanent;
/**
* @author stravant
*/
public class WheneverYouExertCreatureTriggeredAbility extends TriggeredAbilityImpl {
public WheneverYouExertCreatureTriggeredAbility(Effect effect) {
super(Zone.BATTLEFIELD, effect);
}
public WheneverYouExertCreatureTriggeredAbility(final WheneverYouExertCreatureTriggeredAbility ability) {
super(ability);
}
@Override
public boolean checkEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.BECOMES_EXERTED;
}
@Override
public boolean checkTrigger(GameEvent event, Game game) {
boolean weAreExerting = getControllerId().equals(event.getPlayerId());
Permanent exerted = game.getPermanent(event.getTargetId());
boolean exertedIsCreature = (exerted != null) && exerted.isCreature();
return weAreExerting && exertedIsCreature;
}
@Override
public WheneverYouExertCreatureTriggeredAbility copy() {
return new WheneverYouExertCreatureTriggeredAbility(this);
}
@Override
public String getRule() {
return "Whenever you exert a creature, " + super.getRule();
}
}

View file

@ -0,0 +1,22 @@
package mage.abilities.condition.common;
import mage.abilities.Ability;
import mage.abilities.condition.Condition;
import mage.game.Game;
/**
* @author stravant
*/
public enum HeckbentCondition implements Condition {
instance;
@Override
public boolean apply(Game game, Ability source) {
return game.getPlayer(source.getControllerId()).getHand().size() <= 1;
}
@Override
public String toString() {
return "if you have one or fewer cards in hand";
}
}