From a0125c9581f1e0dd4bfa455ece4cce1903dc4aed Mon Sep 17 00:00:00 2001 From: Loki Date: Sat, 7 Jul 2012 11:16:29 +1200 Subject: [PATCH] 8 M13 --- .../sets/magic2013/AjaniCallerOfThePride.java | 105 ++++++++++++++++++ .../mage/sets/magic2013/AttendedKnight.java | 73 ++++++++++++ .../sets/magic2013/BattleflightEagle.java | 79 +++++++++++++ .../src/mage/sets/magic2013/CaptainsCall.java | 64 +++++++++++ .../mage/sets/magic2013/CrusaderOfOdric.java | 73 ++++++++++++ Mage.Sets/src/mage/sets/magic2013/Erase.java | 52 +++++++++ .../mage/sets/magic2013/GriffinProtector.java | 74 ++++++++++++ .../mage/sets/magic2013/HealerOfThePride.java | 69 ++++++++++++ .../src/mage/sets/urzaslegacy/Erase.java | 71 ++++++++++++ .../common/ControllerLifeCount.java | 5 + 10 files changed, 665 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/magic2013/AjaniCallerOfThePride.java create mode 100644 Mage.Sets/src/mage/sets/magic2013/AttendedKnight.java create mode 100644 Mage.Sets/src/mage/sets/magic2013/BattleflightEagle.java create mode 100644 Mage.Sets/src/mage/sets/magic2013/CaptainsCall.java create mode 100644 Mage.Sets/src/mage/sets/magic2013/CrusaderOfOdric.java create mode 100644 Mage.Sets/src/mage/sets/magic2013/Erase.java create mode 100644 Mage.Sets/src/mage/sets/magic2013/GriffinProtector.java create mode 100644 Mage.Sets/src/mage/sets/magic2013/HealerOfThePride.java create mode 100644 Mage.Sets/src/mage/sets/urzaslegacy/Erase.java diff --git a/Mage.Sets/src/mage/sets/magic2013/AjaniCallerOfThePride.java b/Mage.Sets/src/mage/sets/magic2013/AjaniCallerOfThePride.java new file mode 100644 index 0000000000..0b5cf47c5e --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2013/AjaniCallerOfThePride.java @@ -0,0 +1,105 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2013; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.LoyaltyAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.dynamicvalue.common.ControllerLifeCount; +import mage.abilities.effects.Effects; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continious.GainAbilityTargetEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.counters.CounterType; +import mage.game.permanent.token.Token; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Loki + */ +public class AjaniCallerOfThePride extends CardImpl { + + public AjaniCallerOfThePride(UUID ownerId) { + super(ownerId, 1, "Ajani, Caller of the Pride", Rarity.MYTHIC, new CardType[]{CardType.PLANESWALKER}, "{1}{W}{W}"); + this.expansionSetCode = "M13"; + this.subtype.add("Ajani"); + + this.color.setWhite(true); + } + + @Override + public void build() { + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), "")); + // +1: Put a +1/+1 counter on up to one target creature. + Ability ability = new LoyaltyAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), 1); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + // -3: Target creature gains flying and double strike until end of turn. + Effects effects = new Effects(); + effects.add(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Constants.Duration.EndOfTurn)); + effects.add(new GainAbilityTargetEffect(DoubleStrikeAbility.getInstance(), Constants.Duration.EndOfTurn)); + ability = new LoyaltyAbility(effects, -3); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + // -8: Put X 2/2 white Cat creature tokens onto the battlefield, where X is your life total. + this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new CatToken(), new ControllerLifeCount()), -8)); + } + + public AjaniCallerOfThePride(final AjaniCallerOfThePride card) { + super(card); + } + + @Override + public AjaniCallerOfThePride copy() { + return new AjaniCallerOfThePride(this); + } +} + +class CatToken extends Token { + + public CatToken() { + super("Cat", "2/2 white Cat creature tokens"); + cardType.add(CardType.CREATURE); + color = ObjectColor.WHITE; + subtype.add("Cat"); + power = new MageInt(2); + toughness = new MageInt(2); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2013/AttendedKnight.java b/Mage.Sets/src/mage/sets/magic2013/AttendedKnight.java new file mode 100644 index 0000000000..06b9de1ea5 --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2013/AttendedKnight.java @@ -0,0 +1,73 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2013; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.SoldierToken; + +/** + * + * @author Loki + */ +public class AttendedKnight extends CardImpl { + + public AttendedKnight(UUID ownerId) { + super(ownerId, 5, "Attended Knight", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.expansionSetCode = "M13"; + this.subtype.add("Human"); + this.subtype.add("Knight"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + } + + @Override + public void build() { + // First strike + this.addAbility(FirstStrikeAbility.getInstance()); + // When Attended Knight enters the battlefield, put a 1/1 white Soldier creature token onto the battlefield. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new SoldierToken()))); + } + + public AttendedKnight(final AttendedKnight card) { + super(card); + } + + @Override + public AttendedKnight copy() { + return new AttendedKnight(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2013/BattleflightEagle.java b/Mage.Sets/src/mage/sets/magic2013/BattleflightEagle.java new file mode 100644 index 0000000000..9892879f8e --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2013/BattleflightEagle.java @@ -0,0 +1,79 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2013; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.continious.BoostTargetEffect; +import mage.abilities.effects.common.continious.GainAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Loki + */ +public class BattleflightEagle extends CardImpl { + + public BattleflightEagle(UUID ownerId) { + super(ownerId, 7, "Battleflight Eagle", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{W}"); + this.expansionSetCode = "M13"; + this.subtype.add("Bird"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + } + + @Override + public void build() { + // Flying + this.addAbility(FlyingAbility.getInstance()); + // When Battleflight Eagle enters the battlefield, target creature gets +2/+2 and gains flying until end of turn. + Ability ability = new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(2, 2, Constants.Duration.EndOfTurn)); + ability.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Constants.Duration.EndOfTurn)); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public BattleflightEagle(final BattleflightEagle card) { + super(card); + } + + @Override + public BattleflightEagle copy() { + return new BattleflightEagle(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2013/CaptainsCall.java b/Mage.Sets/src/mage/sets/magic2013/CaptainsCall.java new file mode 100644 index 0000000000..a589e95c00 --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2013/CaptainsCall.java @@ -0,0 +1,64 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2013; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.game.permanent.token.SoldierToken; + +/** + * + * @author Loki + */ +public class CaptainsCall extends CardImpl { + + public CaptainsCall(UUID ownerId) { + super(ownerId, 9, "Captain's Call", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{3}{W}"); + this.expansionSetCode = "M13"; + + this.color.setWhite(true); + } + + @Override + public void build() { + // Put three 1/1 white Soldier creature tokens onto the battlefield. + this.getSpellAbility().addEffect(new CreateTokenEffect(new SoldierToken(), 3)); + } + + public CaptainsCall(final CaptainsCall card) { + super(card); + } + + @Override + public CaptainsCall copy() { + return new CaptainsCall(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2013/CrusaderOfOdric.java b/Mage.Sets/src/mage/sets/magic2013/CrusaderOfOdric.java new file mode 100644 index 0000000000..6571e1c3e2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2013/CrusaderOfOdric.java @@ -0,0 +1,73 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2013; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.continious.SetPowerToughnessSourceEffect; +import mage.cards.CardImpl; +import mage.filter.common.FilterControlledCreaturePermanent; + +/** + * + * @author Loki + */ +public class CrusaderOfOdric extends CardImpl { + + public CrusaderOfOdric(UUID ownerId) { + super(ownerId, 10, "Crusader of Odric", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.expansionSetCode = "M13"; + this.subtype.add("Human"); + this.subtype.add("Soldier"); + + this.color.setWhite(true); + this.power = new MageInt(0); + this.toughness = new MageInt(0); + } + + @Override + public void build() { + // Crusader of Odric's power and toughness are each equal to the number of creatures you control. + this.addAbility(new SimpleStaticAbility(Constants.Zone.ALL, new SetPowerToughnessSourceEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent()), Constants.Duration.EndOfGame))); + } + + public CrusaderOfOdric(final CrusaderOfOdric card) { + super(card); + } + + @Override + public CrusaderOfOdric copy() { + return new CrusaderOfOdric(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2013/Erase.java b/Mage.Sets/src/mage/sets/magic2013/Erase.java new file mode 100644 index 0000000000..70bc0d0c43 --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2013/Erase.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2013; + +import java.util.UUID; + +/** + * + * @author Loki + */ +public class Erase extends mage.sets.urzaslegacy.Erase { + + public Erase(UUID ownerId) { + super(ownerId); + this.cardNumber = 13; + this.expansionSetCode = "M13"; + } + + public Erase(final Erase card) { + super(card); + } + + @Override + public Erase copy() { + return new Erase(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2013/GriffinProtector.java b/Mage.Sets/src/mage/sets/magic2013/GriffinProtector.java new file mode 100644 index 0000000000..e50dc16c4a --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2013/GriffinProtector.java @@ -0,0 +1,74 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2013; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.AnotherCreatureEntersBattlefieldTriggeredAbility; +import mage.abilities.common.EntersAnotherCreatureYourControlTriggeredAbility; +import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class GriffinProtector extends CardImpl { + + public GriffinProtector(UUID ownerId) { + super(ownerId, 16, "Griffin Protector", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{W}"); + this.expansionSetCode = "M13"; + this.subtype.add("Griffin"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + } + + @Override + public void build() { + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Whenever another creature enters the battlefield under your control, Griffin Protector gets +1/+1 until end of turn. + this.addAbility(new EntersAnotherCreatureYourControlTriggeredAbility(new BoostSourceEffect(1, 1, Constants.Duration.EndOfTurn))); + } + + public GriffinProtector(final GriffinProtector card) { + super(card); + } + + @Override + public GriffinProtector copy() { + return new GriffinProtector(this); + } +} diff --git a/Mage.Sets/src/mage/sets/magic2013/HealerOfThePride.java b/Mage.Sets/src/mage/sets/magic2013/HealerOfThePride.java new file mode 100644 index 0000000000..1bb3c2a8cd --- /dev/null +++ b/Mage.Sets/src/mage/sets/magic2013/HealerOfThePride.java @@ -0,0 +1,69 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.magic2013; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.EntersAnotherCreatureYourControlTriggeredAbility; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class HealerOfThePride extends CardImpl { + + public HealerOfThePride(UUID ownerId) { + super(ownerId, 19, "Healer of the Pride", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{W}"); + this.expansionSetCode = "M13"; + this.subtype.add("Cat"); + this.subtype.add("Cleric"); + + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + } + + @Override + public void build() { + // Whenever another creature enters the battlefield under your control, you gain 2 life. + this.addAbility(new EntersAnotherCreatureYourControlTriggeredAbility(new GainLifeEffect(2))); + } + + public HealerOfThePride(final HealerOfThePride card) { + super(card); + } + + @Override + public HealerOfThePride copy() { + return new HealerOfThePride(this); + } +} diff --git a/Mage.Sets/src/mage/sets/urzaslegacy/Erase.java b/Mage.Sets/src/mage/sets/urzaslegacy/Erase.java new file mode 100644 index 0000000000..73a242c756 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzaslegacy/Erase.java @@ -0,0 +1,71 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.urzaslegacy; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.cards.CardImpl; +import mage.filter.FilterPermanent; +import mage.target.TargetPermanent; + +/** + * + * @author Loki + */ +public class Erase extends CardImpl { + private static final FilterPermanent filter = new FilterPermanent("enchantment"); + + static { + filter.getCardType().add(CardType.ENCHANTMENT); + } + + public Erase(UUID ownerId) { + super(ownerId, 7, "Erase", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{W}"); + this.expansionSetCode = "ULG"; + + this.color.setWhite(true); + } + + @Override + public void build() { + // Exile target enchantment. + this.getSpellAbility().addEffect(new ExileTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(filter)); + } + + public Erase(final Erase card) { + super(card); + } + + @Override + public Erase copy() { + return new Erase(this); + } +} diff --git a/Mage/src/mage/abilities/dynamicvalue/common/ControllerLifeCount.java b/Mage/src/mage/abilities/dynamicvalue/common/ControllerLifeCount.java index 89278f0164..0f0e92f093 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/ControllerLifeCount.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/ControllerLifeCount.java @@ -24,4 +24,9 @@ public class ControllerLifeCount implements DynamicValue { public String getMessage() { return "your life total"; } + + @Override + public String toString() { + return "1"; + } }