mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
Rebound Cleanup (made more strings static to reduce overhead)
Auriok Edgewright Auriod Sunchaser
This commit is contained in:
parent
c417da1e4e
commit
21950ac738
3 changed files with 158 additions and 3 deletions
|
@ -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.scarsofmirrodin;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.common.Metalcraft;
|
||||
import mage.abilities.decorator.ConditionalContinousEffect;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.common.GainAbilitySourceEffect;
|
||||
import mage.abilities.keyword.DoubleStrikeAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author maurer.it_at_gmail.com
|
||||
*/
|
||||
public class AuriokEdgewright extends CardImpl<AuriokEdgewright> {
|
||||
|
||||
protected static String effectText = "Metalcraft - Auriok Edgewright has double strike as long as you control three or more artifacts.";
|
||||
|
||||
public AuriokEdgewright(UUID ownerId) {
|
||||
super(ownerId, 3, "Auriok Edgewright", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{W}{W}");
|
||||
this.expansionSetCode = "SOM";
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Soldier");
|
||||
|
||||
this.color.setWhite(true);
|
||||
this.power = new MageInt(2);
|
||||
this.toughness = new MageInt(2);
|
||||
|
||||
ContinuousEffect effect = new GainAbilitySourceEffect(DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(effect, Metalcraft.getInstance(), effectText)));
|
||||
}
|
||||
|
||||
public AuriokEdgewright(final AuriokEdgewright card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AuriokEdgewright copy() {
|
||||
return new AuriokEdgewright(this);
|
||||
}
|
||||
}
|
78
Mage.Sets/src/mage/sets/scarsofmirrodin/AuriokSunchaser.java
Normal file
78
Mage.Sets/src/mage/sets/scarsofmirrodin/AuriokSunchaser.java
Normal file
|
@ -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.scarsofmirrodin;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.Constants.CardType;
|
||||
import mage.Constants.Duration;
|
||||
import mage.Constants.Rarity;
|
||||
import mage.Constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.condition.common.Metalcraft;
|
||||
import mage.abilities.decorator.ConditionalContinousEffect;
|
||||
import mage.abilities.effects.ContinuousEffect;
|
||||
import mage.abilities.effects.common.BoostSourceEffect;
|
||||
import mage.abilities.effects.common.GainAbilitySourceEffect;
|
||||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author maurer.it_at_gmail.com
|
||||
*/
|
||||
public class AuriokSunchaser extends CardImpl<AuriokSunchaser> {
|
||||
|
||||
protected static String effect1Text = "Metalcraft - As long as you control three or more artifacts, Auriok Sunchaser gets +2/+2";
|
||||
protected static String effect2Text = "Metalcraft - As long as you control three or more artifacts, Auriok Sunchaser has flying";
|
||||
|
||||
public AuriokSunchaser(UUID ownerId) {
|
||||
super(ownerId, 4, "Auriok Sunchaser", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{W}");
|
||||
this.expansionSetCode = "SOM";
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Soldier");
|
||||
|
||||
this.color.setWhite(true);
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
ContinuousEffect effect1 = new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(effect1, Metalcraft.getInstance(), effect1Text)));
|
||||
ContinuousEffect effect2 = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinousEffect(effect2, Metalcraft.getInstance(), effect2Text)));
|
||||
}
|
||||
|
||||
public AuriokSunchaser(final AuriokSunchaser card) {
|
||||
super(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AuriokSunchaser copy() {
|
||||
return new AuriokSunchaser(this);
|
||||
}
|
||||
}
|
|
@ -72,6 +72,7 @@ import mage.players.Player;
|
|||
public class ReboundAbility extends TriggeredAbilityImpl<ReboundAbility> {
|
||||
//20101001 - 702.85
|
||||
private boolean installReboundEffect;
|
||||
private static String reboundText = "Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)";
|
||||
|
||||
public ReboundAbility ( ) {
|
||||
super(Zone.STACK, null);
|
||||
|
@ -111,7 +112,7 @@ public class ReboundAbility extends TriggeredAbilityImpl<ReboundAbility> {
|
|||
|
||||
@Override
|
||||
public String getRule() {
|
||||
return "Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.)";
|
||||
return reboundText;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -165,6 +166,7 @@ class ReboundEffect extends OneShotEffect<ReboundEffect> {
|
|||
*/
|
||||
class ReboundCastFromHandReplacementEffect extends ReplacementEffectImpl<ReboundCastFromHandReplacementEffect> {
|
||||
|
||||
private static String replacementText = "Rebound - If you cast {this} from your hand, exile it as it resolves";
|
||||
private UUID cardId;
|
||||
|
||||
ReboundCastFromHandReplacementEffect ( UUID cardId ) {
|
||||
|
@ -212,7 +214,7 @@ class ReboundCastFromHandReplacementEffect extends ReplacementEffectImpl<Rebound
|
|||
|
||||
@Override
|
||||
public String getText(Ability source) {
|
||||
return "Rebound - If you cast {this} from your hand, exile it as it resolves";
|
||||
return replacementText;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -258,6 +260,7 @@ class ReboundEffectCastFromExileDelayedTrigger extends DelayedTriggeredAbility<R
|
|||
*/
|
||||
class ReboundCastSpellFromExileEffect extends OneShotEffect<ReboundCastSpellFromExileEffect> {
|
||||
|
||||
private static String castFromExileText = "Rebound - You may cast {this} from exile without paying its mana cost";
|
||||
private UUID cardId;
|
||||
|
||||
ReboundCastSpellFromExileEffect ( UUID cardId ) {
|
||||
|
@ -290,6 +293,6 @@ class ReboundCastSpellFromExileEffect extends OneShotEffect<ReboundCastSpellFrom
|
|||
|
||||
@Override
|
||||
public String getText(Ability source) {
|
||||
return "Rebound - You may cast {this} from exile without paying its mana cost";
|
||||
return castFromExileText;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue