diff --git a/.gitignore b/.gitignore index d977edbc82..62ffde3de9 100644 --- a/.gitignore +++ b/.gitignore @@ -59,4 +59,5 @@ Mage.Server.Plugins/Mage.Draft.8PlayerBooster/target \.conflict\~$ /Mage.Server.Plugins/Mage.Player.AIMCTS/target/ /Mage.Server.Console/target/ -*.classpath \ No newline at end of file +*.classpath +/submitted \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/planechase/ArcLightning.java b/Mage.Sets/src/mage/sets/planechase/ArcLightning.java new file mode 100644 index 0000000000..9db8cebfff --- /dev/null +++ b/Mage.Sets/src/mage/sets/planechase/ArcLightning.java @@ -0,0 +1,53 @@ +/* +* 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.planechase; + +import java.util.UUID; + +/** + * + * @author Backfir3 + */ +public class ArcLightning extends mage.sets.urzassaga.ArcLightning { + + public ArcLightning(UUID ownerId) { + super(ownerId); + this.cardNumber = 46; + this.expansionSetCode = "HOP"; + } + + public ArcLightning(final ArcLightning card) { + super(card); + } + + @Override + public ArcLightning copy() { + return new ArcLightning(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/Acridian.java b/Mage.Sets/src/mage/sets/urzassaga/Acridian.java new file mode 100644 index 0000000000..c9723e86b9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/Acridian.java @@ -0,0 +1,62 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class Acridian extends CardImpl { + + public Acridian (UUID ownerId) { + super(ownerId, 230, "Acridian", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "USG"; + this.subtype.add("Insect"); + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + this.addAbility(new EchoAbility("{1}{G}")); + } + + public Acridian (final Acridian card) { + super(card); + } + + @Override + public Acridian copy() { + return new Acridian(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/AlbinoTroll.java b/Mage.Sets/src/mage/sets/urzassaga/AlbinoTroll.java new file mode 100644 index 0000000000..73806efb00 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/AlbinoTroll.java @@ -0,0 +1,68 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.RegenerateSourceEffect; +import mage.abilities.keyword.EchoAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class AlbinoTroll extends CardImpl{ + + public AlbinoTroll(UUID ownerId) { + super(ownerId, 231, "Albino Troll", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "USG"; + this.subtype.add("Troll"); + this.color.setGreen(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + this.addAbility(new EchoAbility("{1}{G}")); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{G}"))); + } + + public AlbinoTroll(final AlbinoTroll card) { + super(card); + } + + @Override + public AlbinoTroll copy() { + return new AlbinoTroll(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/ArcLightning.java b/Mage.Sets/src/mage/sets/urzassaga/ArcLightning.java new file mode 100644 index 0000000000..35f8a6010d --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/ArcLightning.java @@ -0,0 +1,60 @@ +/* +* 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.effects.common.DamageMultiEffect; +import mage.cards.CardImpl; +import mage.target.common.TargetCreatureOrPlayerAmount; + +/** + * + * @author Backfir3 + */ +public class ArcLightning extends CardImpl { + + public ArcLightning(UUID ownerId) { + super(ownerId, 174, "Arc Lightning", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{2}{R}"); + this.expansionSetCode = "USG"; + this.color.setRed(true); + this.getSpellAbility().addEffect(new DamageMultiEffect(3)); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayerAmount(3)); + } + + public ArcLightning(final ArcLightning card) { + super(card); + } + + @Override + public ArcLightning copy() { + return new ArcLightning(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/CitanulCentaurs.java b/Mage.Sets/src/mage/sets/urzassaga/CitanulCentaurs.java new file mode 100644 index 0000000000..ab6f5878d7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/CitanulCentaurs.java @@ -0,0 +1,66 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.ShroudAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class CitanulCentaurs extends CardImpl{ + + public CitanulCentaurs(UUID ownerId) { + super(ownerId, 243, "Citanul Centaurs", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{G}"); + this.expansionSetCode = "USG"; + this.subtype.add("Centaur"); + this.color.setGreen(true); + this.power = new MageInt(6); + this.toughness = new MageInt(3); + + this.addAbility(ShroudAbility.getInstance()); + this.addAbility(new EchoAbility("{3}{G}")); + } + + public CitanulCentaurs(final CitanulCentaurs card) { + super(card); + } + + @Override + public CitanulCentaurs copy() { + return new CitanulCentaurs(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/CradleGuard.java b/Mage.Sets/src/mage/sets/urzassaga/CradleGuard.java new file mode 100644 index 0000000000..b0a6252709 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/CradleGuard.java @@ -0,0 +1,66 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class CradleGuard extends CardImpl{ + + public CradleGuard(UUID ownerId) { + super(ownerId, 245, "Cradle Guard", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{G}{G}"); + this.expansionSetCode = "USG"; + this.subtype.add("Treefolk"); + this.color.setGreen(true); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + this.addAbility(TrampleAbility.getInstance()); + this.addAbility(new EchoAbility("{1}{G}{G}")); + } + + public CradleGuard(final CradleGuard card) { + super(card); + } + + @Override + public CradleGuard copy() { + return new CradleGuard(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/CraterHellion.java b/Mage.Sets/src/mage/sets/urzassaga/CraterHellion.java new file mode 100644 index 0000000000..dd183e5f1a --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/CraterHellion.java @@ -0,0 +1,104 @@ +/* + * 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.urzassaga; + +import java.util.List; +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Outcome; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.EchoAbility; +import mage.cards.CardImpl; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author Backfir3 + */ +public class CraterHellion extends CardImpl{ + + public CraterHellion(UUID ownerId) { + super(ownerId, 179, "Crater Hellion", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); + this.expansionSetCode = "USG"; + this.subtype.add("Hellion"); + this.subtype.add("Beast"); + this.color.setRed(true); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + this.addAbility(new EchoAbility("{4}{R}{R}")); + + //When Crater Hellion enters the battlefield, it deals 4 damage to each other creature. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CraterHellionEffect(), false)); + } + + public CraterHellion(final CraterHellion card) { + super(card); + } + + @Override + public CraterHellion copy() { + return new CraterHellion(this); + } + +} + +class CraterHellionEffect extends OneShotEffect { + + public CraterHellionEffect() { + super(Outcome.Damage); + staticText = "it deals 4 damage to each other creature"; + } + + public CraterHellionEffect(final CraterHellionEffect effect) { + super(effect); + } + + @Override + public CraterHellionEffect copy() { + return new CraterHellionEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + List permanents = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game); + for (Permanent permanent: permanents) { + if(!permanent.getId().equals(source.getSourceId())) { + permanent.damage(4, source.getSourceId(), game, true, false); + } + } + return true; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/GoblinPatrol.java b/Mage.Sets/src/mage/sets/urzassaga/GoblinPatrol.java new file mode 100644 index 0000000000..8d730ee38d --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/GoblinPatrol.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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class GoblinPatrol extends CardImpl{ + + public GoblinPatrol(UUID ownerId) { + super(ownerId, 193, "Goblin Patrol", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{R}"); + this.expansionSetCode = "USG"; + this.subtype.add("Goblin"); + this.color.setRed(true); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + this.addAbility(new EchoAbility("{R}")); + } + + public GoblinPatrol(final GoblinPatrol card) { + super(card); + } + + @Override + public GoblinPatrol copy() { + return new GoblinPatrol(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/GoblinWarBuggy.java b/Mage.Sets/src/mage/sets/urzassaga/GoblinWarBuggy.java new file mode 100644 index 0000000000..661c99e0b3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/GoblinWarBuggy.java @@ -0,0 +1,66 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class GoblinWarBuggy extends CardImpl{ + + public GoblinWarBuggy(UUID ownerId) { + super(ownerId, 196, "Goblin War Buggy", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{R}"); + this.expansionSetCode = "USG"; + this.subtype.add("Goblin"); + this.color.setRed(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + this.addAbility(HasteAbility.getInstance()); + this.addAbility(new EchoAbility("{1}{R}")); + } + + public GoblinWarBuggy(final GoblinWarBuggy card) { + super(card); + } + + @Override + public GoblinWarBuggy copy() { + return new GoblinWarBuggy(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/HeraldOfSerra.java b/Mage.Sets/src/mage/sets/urzassaga/HeraldOfSerra.java new file mode 100644 index 0000000000..fbb95dd450 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/HeraldOfSerra.java @@ -0,0 +1,68 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class HeraldOfSerra extends CardImpl{ + + public HeraldOfSerra(UUID ownerId) { + super(ownerId, 17, "Herald of Serra", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); + this.expansionSetCode = "USG"; + this.subtype.add("Angel"); + this.color.setWhite(true); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + this.addAbility(FlyingAbility.getInstance()); + this.addAbility(VigilanceAbility.getInstance()); + this.addAbility(new EchoAbility("{2}{W}{W}")); + } + + public HeraldOfSerra(final HeraldOfSerra card) { + super(card); + } + + @Override + public HeraldOfSerra copy() { + return new HeraldOfSerra(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/LightningDragon.java b/Mage.Sets/src/mage/sets/urzassaga/LightningDragon.java new file mode 100644 index 0000000000..4950de93f0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/LightningDragon.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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.ColoredManaSymbol; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ColoredManaCost; +import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class LightningDragon extends CardImpl{ + + public LightningDragon(UUID ownerId) { + super(ownerId, 202, "Lightning Dragon", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); + this.expansionSetCode = "USG"; + this.subtype.add("Dragon"); + this.color.setRed(true); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + this.addAbility(FlyingAbility.getInstance()); + this.addAbility(new EchoAbility("{2}{R}{R}")); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R))); + } + + public LightningDragon(final LightningDragon card) { + super(card); + } + + @Override + public LightningDragon copy() { + return new LightningDragon(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/PouncingJaguar.java b/Mage.Sets/src/mage/sets/urzassaga/PouncingJaguar.java new file mode 100644 index 0000000000..d5881466a4 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/PouncingJaguar.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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class PouncingJaguar extends CardImpl{ + + public PouncingJaguar(UUID ownerId) { + super(ownerId, 269, "Pouncing Jaguar", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{G}"); + this.expansionSetCode = "USG"; + this.subtype.add("Cat"); + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + this.addAbility(new EchoAbility("{G}")); + } + + public PouncingJaguar(final PouncingJaguar card) { + super(card); + } + + @Override + public PouncingJaguar copy() { + return new PouncingJaguar(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/ShivanRaptor.java b/Mage.Sets/src/mage/sets/urzassaga/ShivanRaptor.java new file mode 100644 index 0000000000..f1b8758580 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/ShivanRaptor.java @@ -0,0 +1,68 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class ShivanRaptor extends CardImpl{ + + public ShivanRaptor(UUID ownerId) { + super(ownerId, 215, "Shivan Raptor", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "USG"; + this.subtype.add("Lizard"); + this.color.setRed(true); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + this.addAbility(FirstStrikeAbility.getInstance()); + this.addAbility(HasteAbility.getInstance()); + this.addAbility(new EchoAbility("{2}{R}")); + } + + public ShivanRaptor(final ShivanRaptor card) { + super(card); + } + + @Override + public ShivanRaptor copy() { + return new ShivanRaptor(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/ViashinoOutrider.java b/Mage.Sets/src/mage/sets/urzassaga/ViashinoOutrider.java new file mode 100644 index 0000000000..fba732e531 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/ViashinoOutrider.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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class ViashinoOutrider extends CardImpl{ + + public ViashinoOutrider(UUID ownerId) { + super(ownerId, 223, "Viashino Outrider", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "USG"; + this.subtype.add("Viashino"); + this.color.setRed(true); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + this.addAbility(new EchoAbility("{2}{R}")); + } + + public ViashinoOutrider(final ViashinoOutrider card) { + super(card); + } + + @Override + public ViashinoOutrider copy() { + return new ViashinoOutrider(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/VugLizard.java b/Mage.Sets/src/mage/sets/urzassaga/VugLizard.java new file mode 100644 index 0000000000..049a1e20ba --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/VugLizard.java @@ -0,0 +1,66 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.MountainwalkAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class VugLizard extends CardImpl{ + + public VugLizard(UUID ownerId) { + super(ownerId, 227, "Vug Lizard", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); + this.expansionSetCode = "USG"; + this.subtype.add("Lizard"); + this.color.setRed(true); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + this.addAbility(new MountainwalkAbility()); + this.addAbility(new EchoAbility("{1}{R}{R}")); + } + + public VugLizard(final VugLizard card) { + super(card); + } + + @Override + public VugLizard copy() { + return new VugLizard(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/WindingWurm.java b/Mage.Sets/src/mage/sets/urzassaga/WindingWurm.java new file mode 100644 index 0000000000..c0a44ea2f3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/WindingWurm.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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.EchoAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class WindingWurm extends CardImpl{ + + public WindingWurm(UUID ownerId) { + super(ownerId, 285, "Winding Wurm", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{G}"); + this.expansionSetCode = "USG"; + this.subtype.add("Wurm"); + this.color.setGreen(true); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + this.addAbility(new EchoAbility("{4}{G}")); + } + + public WindingWurm(final WindingWurm card) { + super(card); + } + + @Override + public WindingWurm copy() { + return new WindingWurm(this); + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/urzassaga/WornPowerstone.java b/Mage.Sets/src/mage/sets/urzassaga/WornPowerstone.java new file mode 100644 index 0000000000..b89e7e3aac --- /dev/null +++ b/Mage.Sets/src/mage/sets/urzassaga/WornPowerstone.java @@ -0,0 +1,78 @@ +/* + * 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.urzassaga; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Mana; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.effects.common.BasicManaEffect; +import mage.abilities.mana.BasicManaAbility; +import mage.cards.CardImpl; + +/** + * + * @author Backfir3 + */ +public class WornPowerstone extends CardImpl { + + public WornPowerstone (UUID ownerId) { + super(ownerId, 318, "Worn Powerstone", Rarity.UNCOMMON, new CardType[]{CardType.ARTIFACT}, "{3}"); + this.expansionSetCode = "USG"; + this.addAbility(new EntersBattlefieldTappedAbility()); + this.addAbility(new WornPowerstoneAbility()); + } + + public WornPowerstone (final WornPowerstone card) { + super(card); + } + + @Override + public WornPowerstone copy() { + return new WornPowerstone(this); + } +} + +class WornPowerstoneAbility extends BasicManaAbility { + + public WornPowerstoneAbility() { + super(new BasicManaEffect(Mana.ColorlessMana(2))); + this.netMana.setColorless(2); + } + + public WornPowerstoneAbility(final WornPowerstoneAbility ability) { + super(ability); + } + + @Override + public WornPowerstoneAbility copy() { + return new WornPowerstoneAbility(this); + } +} \ No newline at end of file diff --git a/Mage/src/mage/abilities/keyword/EchoAbility.java b/Mage/src/mage/abilities/keyword/EchoAbility.java new file mode 100644 index 0000000000..c4c16cf67d --- /dev/null +++ b/Mage/src/mage/abilities/keyword/EchoAbility.java @@ -0,0 +1,154 @@ +/* +* 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.abilities.keyword; + +import java.util.UUID; +import mage.Constants; +import mage.Constants.Outcome; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.costs.Cost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.ZoneChangeEvent; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author Backfir3 + */ +public class EchoAbility extends TriggeredAbilityImpl { + + protected UUID lastController; + protected boolean echoPaid; + protected String manaString; + + public EchoAbility(String manaString) { + super(Constants.Zone.BATTLEFIELD, new EchoEffect(new ManaCostsImpl(manaString)), false); + this.echoPaid = false; + this.manaString = manaString; + } + + public EchoAbility(final EchoAbility ability) { + super(ability); + this.echoPaid = ability.echoPaid; + this.manaString = ability.manaString; + } + + @Override + public EchoAbility copy() { + return new EchoAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.ZONE_CHANGE) { + ZoneChangeEvent zEvent = (ZoneChangeEvent)event; + if(zEvent.getToZone() != null && zEvent.getToZone() == Constants.Zone.BATTLEFIELD && + zEvent.getFromZone() == null && this.echoPaid) { + this.echoPaid = false; + } + } + if (event.getType() == GameEvent.EventType.UPKEEP_STEP_PRE) { + if(lastController != null){ + if(!lastController.equals(this.controllerId)){ + this.echoPaid = false; + } + } + lastController = this.getControllerId(); + } + if (event.getType() == GameEvent.EventType.UPKEEP_STEP_PRE && + event.getPlayerId().equals(this.controllerId) && + lastController.equals(this.controllerId) && !this.echoPaid){ + this.echoPaid = true; + return true; + } + return false; + } + + @Override + public String getRule() { + return "Echo " + manaString + " (At the beginning of your upkeep, if this came under your control since the beginning of your last upkeep," + getEffects().getText(modes.getMode()) + ")"; + } +} + +class EchoEffect extends OneShotEffect { + protected Cost cost; + + public EchoEffect(Cost costs) { + super(Outcome.Sacrifice); + this.cost = costs; + } + + public EchoEffect(final EchoEffect effect) { + super(effect); + this.cost = effect.cost; + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + Permanent permanent = game.getPermanent(source.getSourceId()); + if (player != null && permanent != null) { + if (player.chooseUse(Outcome.Benefit, "Pay " + cost.getText() /* + " or sacrifice " + permanent.getName() */ + "?", game)) { + cost.clearPaid(); + if (cost.pay(source, game, source.getId(), source.getControllerId(), false)) { + return true; + } + } + permanent.sacrifice(source.getSourceId(), game); + return true; + } + return false; + } + + @Override + public EchoEffect copy() { + return new EchoEffect(this); + } + + @Override + public String getText(Mode mode) { + StringBuilder sb = new StringBuilder("sacrifice {this} unless you "); + String costText = cost.getText(); + if (costText.toLowerCase().startsWith("discard")) { + sb.append(costText.substring(0, 1).toLowerCase()); + sb.append(costText.substring(1)); + } + else + sb.append("pay ").append(costText); + + return sb.toString(); + + } +}