mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
- Convert skip your next turn cards from giving an extra turn to an opponent (since that's wrong)
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -14470,6 +14470,7 @@ src/main/java/forge/card/ability/effects/ScryEffect.java -text
|
||||
src/main/java/forge/card/ability/effects/SetInMotionEffect.java -text
|
||||
src/main/java/forge/card/ability/effects/SetStateEffect.java -text
|
||||
src/main/java/forge/card/ability/effects/ShuffleEffect.java -text
|
||||
src/main/java/forge/card/ability/effects/SkipTurnEffect.java -text
|
||||
src/main/java/forge/card/ability/effects/StoreSVarEffect.java -text
|
||||
src/main/java/forge/card/ability/effects/TapAllEffect.java -text
|
||||
src/main/java/forge/card/ability/effects/TapEffect.java -text
|
||||
|
||||
@@ -3,7 +3,7 @@ ManaCost:1 U
|
||||
Types:Creature Atog
|
||||
PT:1/2
|
||||
A:AB$ Pump | Cost$ 0 | NumAtt$ +3 | NumDef$ +3 | ActivationLimit$ 1 | SubAbility$ DBSkipTurn | SpellDescription$ CARDNAME gets +3/+3 until end of turn. You skip your next turn. Activate this ability only once each turn.
|
||||
SVar:DBSkipTurn:DB$AddTurn | NumTurns$ 1 | Defined$ Opponent
|
||||
SVar:DBSkipTurn:DB$ SkipTurn | NumTurns$ 1 | Defined$ You
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/chronatog.jpg
|
||||
Oracle:{0}: Chronatog gets +3/+3 until end of turn. You skip your next turn. Activate this ability only once each turn.
|
||||
@@ -4,7 +4,7 @@ Types:Vanguard
|
||||
HandLifeModifier:-1/+1
|
||||
S:Mode$ Continuous | EffectZone$ Command | Affected$ You | SetMaxHandSize$ Unlimited | Description$ You have no maximum hand size.
|
||||
A:AB$ Draw | ActivationZone$ Command | Cost$ 0 | NumCards$ 3 | Defined$ You | ActivationLimit$ 1 | SubAbility$ DBSkipTurn | SpellDescription$ Draw three cards. You skip your next turn. Activate this ability only once each turn.
|
||||
SVar:DBSkipTurn:DB$ AddTurn | NumTurns$ 1 | Defined$ Opponent
|
||||
SVar:DBSkipTurn:DB$ SkipTurn | NumTurns$ 1 | Defined$ You
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.cardforge.org/fpics/vgd-lq/chronatog_avatar.jpg
|
||||
Oracle:Hand -1, life +1\nYou have no maximum hand size.\n{0}: Draw three cards. You skip your next turn. Activate this ability only once each turn.
|
||||
@@ -4,6 +4,6 @@ Types:Artifact
|
||||
A:AB$ Mana | Cost$ T | Produced$ U | SpellDescription$ Add U to your mana pool.
|
||||
A:AB$ Animate | Cost$ 1 U | Defined$ Self | Power$ 1 | Toughness$ 2 | Types$ Creature,Artifact,Atog | Colors$ Blue | SpellDescription$ CARDNAME becomes a 1/2 blue Atog artifact creature until end of turn.
|
||||
A:AB$ Pump | Cost$ 0 | Defined$ Self | NumAtt$ +3 | NumDef$ +3 | IsPresent$ Card.Self+Creature | ActivationLimit$ 1 | SubAbility$ SkipTurn | SpellDescription$ CARDNAME gets +3/+3 until end of turn. You skip your next turn. Activate this ability only once each turn and only if CARDNAME is a creature.
|
||||
SVar:SkipTurn:DB$AddTurn | NumTurns$ 1 | Defined$ Opponent
|
||||
SVar:SkipTurn:DB$ SkipTurn | NumTurns$ 1 | Defined$ You
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/chronatog_totem.jpg
|
||||
Oracle:{T}: Add {U} to your mana pool.\n{1}{U}: Chronatog Totem becomes a 1/2 blue Atog artifact creature until end of turn.\n{0}: Chronatog Totem gets +3/+3 until end of turn. You skip your next turn. Activate this ability only once each turn and only if Chronatog Totem is a creature.
|
||||
@@ -3,6 +3,6 @@ ManaCost:5 W
|
||||
Types:Creature Giant
|
||||
PT:5/5
|
||||
A:AB$ ChangeZone | Cost$ 1 W | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | ActivationZone$ Graveyard | SubAbility$ SkipTurn | SpellDescription$ Return CARDNAME from your graveyard to the battlefield tapped. You skip your next turn.
|
||||
SVar:SkipTurn:DB$AddTurn | Defined$ Opponent | NumTurns$ 1
|
||||
SVar:SkipTurn:DB$ SkipTurn | Defined$ You | NumTurns$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/chronosavant.jpg
|
||||
Oracle:{1}{W}: Return Chronosavant from your graveyard to the battlefield tapped. You skip your next turn.
|
||||
@@ -5,7 +5,7 @@ K:CARDNAME enters the battlefield tapped.
|
||||
A:AB$ Mana | Cost$ T | Produced$ U | SpellDescription$ Add U to your mana pool.
|
||||
A:AB$ PutCounter | Cost$ U T | Defined$ Self | CounterType$ EON | CounterNum$ 1 | SubAbility$ DBSkipTurn | SpellDescription$ Put an eon counter on CARDNAME. Skip your next turn.
|
||||
A:AB$ AddTurn | Cost$ T SubCounter<1/EON> | NumTurns$ 1 | Defined$ You | SubAbility$ DBBounce | SpellDescription$ Take an extra turn after this one.
|
||||
SVar:DBSkipTurn:DB$AddTurn | NumTurns$ 1 | Defined$ Opponent
|
||||
SVar:DBSkipTurn:DB$ SkipTurn | NumTurns$ 1 | Defined$ You
|
||||
SVar:DBBounce:DB$ChangeZone | Defined$ Self | Origin$ Battlefield | Destination$ Hand
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/magosi_the_waterveil.jpg
|
||||
|
||||
@@ -2,6 +2,6 @@ Name:Meditate
|
||||
ManaCost:2 U
|
||||
Types:Instant
|
||||
A:SP$ Draw | Cost$ 2 U | NumCards$ 4 | Defined$ You | SpellDescription$ Draw four cards. You skip your next turn. | SubAbility$ DBSkip
|
||||
SVar:DBSkip:DB$AddTurn | Defined$ Opponent | NumTurns$ 1
|
||||
SVar:DBSkip:DB$ SkipTurn | Defined$ You | NumTurns$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/meditate.jpg
|
||||
Oracle:Draw four cards. You skip your next turn.
|
||||
@@ -5,6 +5,6 @@ PT:2/2
|
||||
K:Morph:3 R R
|
||||
T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigPump | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, it gets +6/+6 and gains trample until end of turn. You skip your next turn.
|
||||
SVar:TrigPump:AB$Pump | Cost$ 0 | Defined$ Self | NumAtt$ +6 | NumDef$ +6 | KW$ Trample | SubAbility$ DBSkipTurn
|
||||
SVar:DBSkipTurn:DB$AddTurn | Defined$ Opponent | NumTurns$ 1
|
||||
SVar:DBSkipTurn:DB$ SkipTurn | Defined$ You | NumTurns$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/unstable_hulk.jpg
|
||||
Oracle:Morph {3}{R}{R} (You may cast this face down as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)\nWhen Unstable Hulk is turned face up, it gets +6/+6 and gains trample until end of turn. You skip your next turn.
|
||||
@@ -6,7 +6,7 @@ K:Flying
|
||||
K:Kicker U
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self+kicked | Execute$ TrigKicker | TriggerDescription$ When CARDNAME enters the battlefield, if it was kicked, return all other creatures to their owners' hands and you skip your next turn.
|
||||
SVar:TrigKicker:AB$ChangeZoneAll | Cost$ 0 | ChangeType$ Creature.Other | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBSkipTurn
|
||||
SVar:DBSkipTurn:DB$AddTurn | NumTurns$ 1 | Defined$ Opponent
|
||||
SVar:DBSkipTurn:DB$ SkipTurn | NumTurns$ 1 | Defined$ You
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/waterspout_elemental.jpg
|
||||
Oracle:Kicker {U} (You may pay an additional {U} as you cast this spell.)\nFlying\nWhen Waterspout Elemental enters the battlefield, if it was kicked, return all other creatures to their owners' hands and you skip your next turn.
|
||||
@@ -6,7 +6,7 @@ K:Flying
|
||||
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Any | Destination$ Battlefield | Execute$ TrigSkip | TriggerDescription$ When CARDNAME enters the battlefield, you skip your next turn.
|
||||
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ TrigAdd | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME leaves the battlefield, you take an extra turn after this one.
|
||||
SVar:TrigAdd:AB$AddTurn | Cost$ 0 | NumTurns$ 1 | Defined$ You
|
||||
SVar:TrigSkip:AB$AddTurn | Cost$ 0 | NumTurns$ 1 | Defined$ Opponent
|
||||
SVar:TrigSkip:AB$ SkipTurn | Cost$ 0 | NumTurns$ 1 | Defined$ You
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/wormfang_manta.jpg
|
||||
Oracle:Flying\nWhen Wormfang Manta enters the battlefield, you skip your next turn.\nWhen Wormfang Manta leaves the battlefield, you take an extra turn after this one.
|
||||
@@ -112,6 +112,7 @@ public enum ApiType {
|
||||
SetLife (LifeSetEffect.class, LifeSetAi.class),
|
||||
SetState (SetStateEffect.class, SetStateAi.class),
|
||||
Shuffle (ShuffleEffect.class, ShuffleAi.class),
|
||||
SkipTurn (SkipTurnEffect.class, CannotPlayAi.class),
|
||||
StoreSVar (StoreSVarEffect.class, StoreSVarAi.class),
|
||||
Tap (TapEffect.class, TapAi.class),
|
||||
TapAll (TapAllEffect.class, TapAllAi.class),
|
||||
|
||||
37
src/main/java/forge/card/ability/effects/SkipTurnEffect.java
Normal file
37
src/main/java/forge/card/ability/effects/SkipTurnEffect.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package forge.card.ability.effects;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import forge.card.ability.AbilityUtils;
|
||||
import forge.card.ability.SpellAbilityEffect;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class SkipTurnEffect extends SpellAbilityEffect {
|
||||
|
||||
@Override
|
||||
protected String getStackDescription(SpellAbility sa) {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
final int numTurns = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumTurns"), sa);
|
||||
|
||||
List<Player> tgtPlayers = getTargetPlayers(sa);
|
||||
for (final Player player : tgtPlayers) {
|
||||
sb.append(player).append(" ");
|
||||
}
|
||||
|
||||
sb.append("skips his/her next ").append(numTurns).append(" turn(s).");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resolve(SpellAbility sa) {
|
||||
final int numTurns = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumTurns"), sa);
|
||||
List<Player> tgtPlayers = getTargetPlayers(sa);
|
||||
for (final Player player : tgtPlayers) {
|
||||
for(int i = 0; i < numTurns; i++) {
|
||||
player.addKeyword("Skip your next turn.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -751,6 +751,10 @@ public class PhaseHandler implements java.io.Serializable {
|
||||
if (!this.extraTurns.isEmpty()) {
|
||||
ExtraTurn extraTurn = this.extraTurns.pop();
|
||||
nextTurn = extraTurn.getPlayer();
|
||||
if (nextTurn.hasKeyword("Skip your next turn.")) {
|
||||
nextTurn.removeKeyword("Skip your next turn.");
|
||||
return getNextActivePlayer();
|
||||
}
|
||||
if (nextTurn.skipTurnTimeVault()) {
|
||||
return getNextActivePlayer();
|
||||
}
|
||||
@@ -765,6 +769,11 @@ public class PhaseHandler implements java.io.Serializable {
|
||||
}
|
||||
return nextTurn;
|
||||
}
|
||||
if (nextTurn.hasKeyword("Skip your next turn.")) {
|
||||
nextTurn.removeKeyword("Skip your next turn.");
|
||||
this.setPlayerTurn(nextTurn);
|
||||
return getNextActivePlayer();
|
||||
}
|
||||
if (nextTurn.skipTurnTimeVault()) {
|
||||
this.setPlayerTurn(nextTurn);
|
||||
return getNextActivePlayer();
|
||||
|
||||
Reference in New Issue
Block a user