mirror of
https://github.com/magefree/mage.git
synced 2025-12-25 04:52:07 -08:00
[LTC] Implementations part 2/4 (#11470)
* Aragorn, Hornburg Hero * Minas Morgul, Dark Fortress * Rohirrim Chargers
This commit is contained in:
parent
5adc350eed
commit
2abe61643c
7 changed files with 326 additions and 1 deletions
|
|
@ -6,19 +6,26 @@ import mage.constants.Zone;
|
|||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.permanent.Permanent;
|
||||
import mage.target.targetpointer.FixedTarget;
|
||||
|
||||
/**
|
||||
* @author stravant
|
||||
*/
|
||||
public class ExertCreatureControllerTriggeredAbility extends TriggeredAbilityImpl {
|
||||
|
||||
protected final boolean setTargetPointer;
|
||||
public ExertCreatureControllerTriggeredAbility(Effect effect) {
|
||||
this(effect, false);
|
||||
}
|
||||
public ExertCreatureControllerTriggeredAbility(Effect effect, boolean setTargetPointer) {
|
||||
super(Zone.BATTLEFIELD, effect);
|
||||
this.setTargetPointer = setTargetPointer;
|
||||
setTriggerPhrase("Whenever you exert a creature, ");
|
||||
}
|
||||
|
||||
protected ExertCreatureControllerTriggeredAbility(final ExertCreatureControllerTriggeredAbility ability) {
|
||||
super(ability);
|
||||
this.setTargetPointer = ability.setTargetPointer;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -31,7 +38,13 @@ public class ExertCreatureControllerTriggeredAbility extends TriggeredAbilityImp
|
|||
boolean weAreExerting = isControlledBy(event.getPlayerId());
|
||||
Permanent exerted = game.getPermanent(event.getTargetId());
|
||||
boolean exertedIsCreature = (exerted != null) && exerted.isCreature(game);
|
||||
return weAreExerting && exertedIsCreature;
|
||||
if (weAreExerting && exertedIsCreature) {
|
||||
if (setTargetPointer) {
|
||||
getAllEffects().setTargetPointer(new FixedTarget(event.getTargetId()));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -177,6 +177,7 @@ public enum CounterType {
|
|||
QUEST("quest"),
|
||||
SILVER("silver"),
|
||||
SCREAM("scream"),
|
||||
SHADOW("shadow"),
|
||||
SHELL("shell"),
|
||||
SHIELD("shield"),
|
||||
SHRED("shred"),
|
||||
|
|
@ -312,6 +313,8 @@ public enum CounterType {
|
|||
return new AbilityCounter(new MenaceAbility(), amount);
|
||||
case REACH:
|
||||
return new AbilityCounter(ReachAbility.getInstance(), amount);
|
||||
case SHADOW:
|
||||
return new AbilityCounter(ShadowAbility.getInstance(), amount);
|
||||
case TRAMPLE:
|
||||
return new AbilityCounter(TrampleAbility.getInstance(), amount);
|
||||
case VIGILANCE:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
|
||||
package mage.filter.predicate.permanent;
|
||||
|
||||
import mage.filter.predicate.Predicate;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.Permanent;
|
||||
|
||||
/**
|
||||
* @author notgreat
|
||||
*/
|
||||
public enum RenownedPredicate implements Predicate<Permanent> {
|
||||
instance;
|
||||
|
||||
@Override
|
||||
public boolean apply(Permanent input, Game game) {
|
||||
return input.isRenowned();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Renowned";
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue