mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
[AFR] Implemented Trickster's Talisman
This commit is contained in:
parent
a47af7a5a9
commit
25dc141caa
2 changed files with 78 additions and 0 deletions
77
Mage.Sets/src/mage/cards/t/TrickstersTalisman.java
Normal file
77
Mage.Sets/src/mage/cards/t/TrickstersTalisman.java
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
package mage.cards.t;
|
||||
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.costs.common.SacrificeAttachmentCost;
|
||||
import mage.abilities.effects.CreateTokenCopySourceEffect;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DoIfCostPaid;
|
||||
import mage.abilities.effects.common.continuous.BoostEquippedEffect;
|
||||
import mage.abilities.effects.common.continuous.GainAbilityWithAttachmentEffect;
|
||||
import mage.abilities.keyword.EquipAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.Game;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class TrickstersTalisman extends CardImpl {
|
||||
|
||||
public TrickstersTalisman(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{U}");
|
||||
|
||||
this.subtype.add(SubType.EQUIPMENT);
|
||||
|
||||
// Equipped creature gets +1/+1 and has "Whenever this creature deals combat damage to a player, you may sacrifice Trickster's Talisman. If you do, create a token that's a copy of this creature."
|
||||
Ability ability = new SimpleStaticAbility(new BoostEquippedEffect(1, 1));
|
||||
ability.addEffect(new TrickstersTalismanEffect());
|
||||
|
||||
// Equip {2}
|
||||
this.addAbility(new EquipAbility(2));
|
||||
}
|
||||
|
||||
private TrickstersTalisman(final TrickstersTalisman card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrickstersTalisman copy() {
|
||||
return new TrickstersTalisman(this);
|
||||
}
|
||||
}
|
||||
|
||||
class TrickstersTalismanEffect extends GainAbilityWithAttachmentEffect {
|
||||
|
||||
TrickstersTalismanEffect() {
|
||||
super("and has \"Whenever this creature deals combat damage to a player, " +
|
||||
"you may sacrifice {this}. If you do, create a token that's a copy of this creature.\"",
|
||||
(Effect) null, null, new SacrificeAttachmentCost(), null);
|
||||
}
|
||||
|
||||
private TrickstersTalismanEffect(final TrickstersTalismanEffect effect) {
|
||||
super(effect);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TrickstersTalismanEffect copy() {
|
||||
return new TrickstersTalismanEffect(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Ability makeAbility(Game game, Ability source) {
|
||||
if (game == null || source == null) {
|
||||
return null;
|
||||
}
|
||||
return new DealsCombatDamageToAPlayerTriggeredAbility(new DoIfCostPaid(
|
||||
new CreateTokenCopySourceEffect(), useAttachedCost.setMageObjectReference(source, game)
|
||||
), false, "Whenever this creature deals combat damage to a player, you may sacrifice "
|
||||
+ source.getSourcePermanentIfItStillExists(game).getName()
|
||||
+ ". If you do, create a token that's a copy of this creature.", false);
|
||||
}
|
||||
}
|
||||
|
|
@ -239,6 +239,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Treasure Chest", 252, Rarity.RARE, mage.cards.t.TreasureChest.class));
|
||||
cards.add(new SetCardInfo("Treasure Vault", 261, Rarity.RARE, mage.cards.t.TreasureVault.class));
|
||||
cards.add(new SetCardInfo("Trelasarra, Moon Dancer", 236, Rarity.UNCOMMON, mage.cards.t.TrelasarraMoonDancer.class));
|
||||
cards.add(new SetCardInfo("Trickster's Talisman", 79, Rarity.UNCOMMON, mage.cards.t.TrickstersTalisman.class));
|
||||
cards.add(new SetCardInfo("Triumphant Adventurer", 237, Rarity.RARE, mage.cards.t.TriumphantAdventurer.class));
|
||||
cards.add(new SetCardInfo("True Polymorph", 80, Rarity.RARE, mage.cards.t.TruePolymorph.class));
|
||||
cards.add(new SetCardInfo("Underdark Basilisk", 208, Rarity.COMMON, mage.cards.u.UnderdarkBasilisk.class));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue