mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
[TLA] Implement Ember Island Production
This commit is contained in:
parent
4c3af32a50
commit
626317cf68
3 changed files with 68 additions and 2 deletions
55
Mage.Sets/src/mage/cards/e/EmberIslandProduction.java
Normal file
55
Mage.Sets/src/mage/cards/e/EmberIslandProduction.java
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
package mage.cards.e;
|
||||
|
||||
import mage.abilities.Mode;
|
||||
import mage.abilities.effects.common.CreateTokenCopyTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.SubType;
|
||||
import mage.target.common.TargetControlledCreaturePermanent;
|
||||
import mage.target.common.TargetOpponentsCreaturePermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* @author TheElk801
|
||||
*/
|
||||
public final class EmberIslandProduction extends CardImpl {
|
||||
|
||||
public EmberIslandProduction(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{U}{U}");
|
||||
|
||||
// Choose one--
|
||||
// * Create a token that's a copy of target creature you control, except it's not legendary and it's a 4/4 Hero in addition to its other types.
|
||||
this.getSpellAbility().addEffect(
|
||||
new CreateTokenCopyTargetEffect()
|
||||
.setIsntLegendary(true)
|
||||
.setPower(4)
|
||||
.setToughness(4)
|
||||
.withAdditionalSubType(SubType.HERO)
|
||||
.setText("create a token that's a copy of target creature you control, " +
|
||||
"except it's not legendary and it's a 4/4 Hero in addition to its other types")
|
||||
);
|
||||
this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent());
|
||||
|
||||
// * Create a token that's a copy of target creature an opponent controls, except it's not legendary and it's a 2/2 Coward in addition to its other types.
|
||||
this.getSpellAbility().addMode(new Mode(
|
||||
new CreateTokenCopyTargetEffect()
|
||||
.setIsntLegendary(true)
|
||||
.setPower(2)
|
||||
.setToughness(2)
|
||||
.withAdditionalSubType(SubType.COWARD)
|
||||
.setText("create a token that's a copy of target creature an opponent controls, " +
|
||||
"except it's not legendary and it's a 2/2 Coward in addition to its other types")
|
||||
).addTarget(new TargetOpponentsCreaturePermanent()));
|
||||
}
|
||||
|
||||
private EmberIslandProduction(final EmberIslandProduction card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EmberIslandProduction copy() {
|
||||
return new EmberIslandProduction(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -116,6 +116,7 @@ public final class AvatarTheLastAirbender extends ExpansionSet {
|
|||
cards.add(new SetCardInfo("Earthbending Lesson", 176, Rarity.COMMON, mage.cards.e.EarthbendingLesson.class));
|
||||
cards.add(new SetCardInfo("Earthen Ally", 177, Rarity.RARE, mage.cards.e.EarthenAlly.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Earthen Ally", 377, Rarity.RARE, mage.cards.e.EarthenAlly.class, NON_FULL_USE_VARIOUS));
|
||||
cards.add(new SetCardInfo("Ember Island Production", 48, Rarity.UNCOMMON, mage.cards.e.EmberIslandProduction.class));
|
||||
cards.add(new SetCardInfo("Enter the Avatar State", 18, Rarity.UNCOMMON, mage.cards.e.EnterTheAvatarState.class));
|
||||
cards.add(new SetCardInfo("Epic Downfall", 96, Rarity.UNCOMMON, mage.cards.e.EpicDownfall.class));
|
||||
cards.add(new SetCardInfo("Fancy Footwork", 19, Rarity.UNCOMMON, mage.cards.f.FancyFootwork.class));
|
||||
|
|
|
|||
|
|
@ -58,8 +58,8 @@ public class CreateTokenCopyTargetEffect extends OneShotEffect {
|
|||
private final boolean tapped;
|
||||
private Permanent savedPermanent = null;
|
||||
private int startingLoyalty = -1;
|
||||
private final int tokenPower;
|
||||
private final int tokenToughness;
|
||||
private int tokenPower;
|
||||
private int tokenToughness;
|
||||
private boolean useLKI = false;
|
||||
private PermanentModifier permanentModifier = null;
|
||||
|
||||
|
|
@ -387,6 +387,16 @@ public class CreateTokenCopyTargetEffect extends OneShotEffect {
|
|||
return this;
|
||||
}
|
||||
|
||||
public CreateTokenCopyTargetEffect setPower(int tokenPower) {
|
||||
this.tokenPower = tokenPower;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CreateTokenCopyTargetEffect setToughness(int tokenToughness) {
|
||||
this.tokenToughness = tokenToughness;
|
||||
return this;
|
||||
}
|
||||
|
||||
public CreateTokenCopyTargetEffect addAbilityClassesToRemoveFromTokens(Class<? extends Ability> clazz) {
|
||||
this.abilityClazzesToRemove.add(clazz);
|
||||
return this;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue