mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
Merge branch 'master' into 'master'
BBD: Added some cards See merge request core-developers/forge!597
This commit is contained in:
@@ -439,6 +439,10 @@ public class AbilityUtils {
|
||||
players.addAll(game.getPlayers());
|
||||
val = CardFactoryUtil.playerXCount(players, calcX[1], card);
|
||||
}
|
||||
else if (hType.equals("YourTeam")) {
|
||||
players.addAll(player.getYourTeam());
|
||||
val = CardFactoryUtil.playerXCount(players, calcX[1], card);
|
||||
}
|
||||
else if (hType.equals("Opponents")) {
|
||||
players.addAll(player.getOpponents());
|
||||
val = CardFactoryUtil.playerXCount(players, calcX[1], card);
|
||||
|
||||
@@ -466,6 +466,8 @@ public class AnimateEffect extends AnimateEffectBase {
|
||||
sb.append(" until ").append(host).append(" leaves the battlefield.");
|
||||
} else if (sa.hasParam("UntilYourNextUpkeep")) {
|
||||
sb.append(" until your next upkeep.");
|
||||
} else if (sa.hasParam("UntilYourNextTurn")) {
|
||||
sb.append(" until your next turn.");
|
||||
} else if (sa.hasParam("UntilControllerNextUntap")) {
|
||||
sb.append(" until its controller's next untap step.");
|
||||
} else {
|
||||
|
||||
@@ -440,6 +440,10 @@ public class CostAdjustment {
|
||||
|| !activator.isValid(params.get("Activator"), controller, hostCard, sa))) {
|
||||
return false;
|
||||
}
|
||||
if (params.containsKey("NonActivatorTurn") && ((activator == null)
|
||||
|| hostCard.getGame().getPhaseHandler().isPlayerTurn(activator))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (params.containsKey("Type")) {
|
||||
final String type = params.get("Type");
|
||||
|
||||
@@ -309,6 +309,14 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
return getAllOtherPlayers().filter(Predicates.not(PlayerPredicates.isOpponentOf(this)));
|
||||
}
|
||||
|
||||
/**
|
||||
* returns allied players.
|
||||
* Should keep player relations somewhere in the match structure
|
||||
*/
|
||||
public final PlayerCollection getYourTeam() {
|
||||
return game.getPlayers().filter(Predicates.not(PlayerPredicates.isOpponentOf(this)));
|
||||
}
|
||||
|
||||
/**
|
||||
* returns all other players.
|
||||
* Should keep player relations somewhere in the match structure
|
||||
|
||||
@@ -38,6 +38,10 @@ public class PlayerProperty {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else if (property.equals("YourTeam")) {
|
||||
if (player.isOpponentOf(sourceController)) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.equals("Allies")) {
|
||||
if (player.equals(sourceController) || player.isOpponentOf(sourceController)) {
|
||||
return false;
|
||||
|
||||
@@ -67,6 +67,11 @@ public class StaticAbilityCantBeCast {
|
||||
}
|
||||
}
|
||||
|
||||
if (params.containsKey("NonCasterTurn") && (activator != null)
|
||||
&& activator.getGame().getPhaseHandler().isPlayerTurn(activator)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (params.containsKey("NumLimitEachTurn") && activator != null) {
|
||||
int limit = Integer.parseInt(params.get("NumLimitEachTurn"));
|
||||
String valid = params.containsKey("ValidCard") ? params.get("ValidCard") : "Card";
|
||||
@@ -127,6 +132,11 @@ public class StaticAbilityCantBeCast {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (params.containsKey("NonActivatorTurn") && (activator != null)
|
||||
&& activator.getGame().getPhaseHandler().isPlayerTurn(activator)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
Name:City of Solitude
|
||||
ManaCost:2 G
|
||||
Types:Enchantment
|
||||
S:Mode$ CantBeCast | ValidCard$ Card | Condition$ PlayerTurn | Caster$ Opponent | Description$ Players can cast spells and activate abilities only during their own turns.
|
||||
S:Mode$ CantBeCast | ValidCard$ Card | Condition$ NotPlayerTurn | Caster$ You
|
||||
S:Mode$ CantBeActivated | ValidCard$ Card | Condition$ PlayerTurn | Activator$ Opponent
|
||||
S:Mode$ CantBeActivated | ValidCard$ Card | Condition$ NotPlayerTurn | Activator$ You
|
||||
S:Mode$ CantBeCast | ValidCard$ Card | NonCasterTurn$ True | Description$ Players can cast spells and activate abilities only during their own turns.
|
||||
S:Mode$ CantBeActivated | ValidCard$ Card | NonActivatorTurn$ True
|
||||
SVar:NonStackingEffect:True
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Picture:http://wizards.com/global/images/magic/general/city_of_solitude.jpg
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
Name:Defense Grid
|
||||
ManaCost:2
|
||||
Types:Artifact
|
||||
S:Mode$ RaiseCost | Activator$ You | Type$ Spell | Amount$ 3 | Condition$ NotPlayerTurn | Description$ Each spell costs {3} more to cast except during its controller's turn.
|
||||
S:Mode$ RaiseCost | Activator$ Opponent | Type$ Spell | Amount$ 3 | Condition$ PlayerTurn
|
||||
S:Mode$ RaiseCost | Activator$ Player | Type$ Spell | Amount$ 3 | NonActivatorTurn$ True | Description$ Each spell costs {3} more to cast except during its controller's turn.
|
||||
SVar:RemRandomDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/defense_grid.jpg
|
||||
Oracle:Each spell costs {3} more to cast except during its controller's turn.
|
||||
|
||||
@@ -2,7 +2,6 @@ Name:Dosan the Falling Leaf
|
||||
ManaCost:1 G G
|
||||
Types:Legendary Creature Human Monk
|
||||
PT:2/2
|
||||
S:Mode$ CantBeCast | ValidCard$ Card | Condition$ PlayerTurn | Caster$ Opponent | Description$ Players can cast spells only during their own turns.
|
||||
S:Mode$ CantBeCast | ValidCard$ Card | Condition$ NotPlayerTurn | Caster$ You
|
||||
S:Mode$ CantBeCast | ValidCard$ Card | NonCasterTurn$ True | Description$ Players can cast spells only during their own turns.
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/dosan_the_falling_leaf.jpg
|
||||
Oracle:Players can cast spells only during their own turns.
|
||||
|
||||
@@ -6,5 +6,6 @@ K:Partner:Sylvia Brightspear:Sylvia
|
||||
K:Flying
|
||||
K:Haste
|
||||
S:Mode$ Continuous | Affected$ Knight.YourTeamCtrl | AddKeyword$ Flying & Haste | Description$ Knights your team controls have flying and haste.
|
||||
DeckHints:Name$Sylvia Brightspear
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/khorvath_brightflame.jpg
|
||||
Oracle:Partner with Sylvia Brightspear (When this creature enters the battlefield, target player may put Sylvia into their hand from their library, then shuffle.)\nFlying, haste\nKnights your team controls have flying and haste.
|
||||
|
||||
12
forge-gui/res/cardsfolder/upcoming/krav_the_unredeemed.txt
Normal file
12
forge-gui/res/cardsfolder/upcoming/krav_the_unredeemed.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
Name:Krav, the Unredeemed
|
||||
ManaCost:4 B
|
||||
Types:Legendary Creature Demon
|
||||
PT:3/3
|
||||
K:Partner:Regna, the Redeemer:Regna
|
||||
K:Flying
|
||||
A:AB$ Draw | Cost$ B Sac<X/Creature> | ValidTgts$ Player | TgtPrompt$ Choose a player | NumCards$ ChosenX | References$ X | SubAbility$ DBGainLife | SpellDescription$ Target player draws X cards and gains X life. Put X +1/+1 counters on CARDNAME.
|
||||
SVar:DBGainLife:DB$ GainLife | Defined$ Targeted | LifeAmount$ ChosenX | References$ X | SubAbility$ DBPutCounter
|
||||
SVar:DBPutCounter:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ ChosenX | References$ X
|
||||
SVar:X:XChoice
|
||||
DeckHints:Name$Regna, the Redeemer
|
||||
Oracle:Partner with Regna, the Redeemer (When this creature enters the battlefield, target player may put Regna into their hand from their library, then shuffle.)\n{B}, Sacrifice X creatures: Target player draws X cards and gains X life. Put X +1/+1 counters on Krav, the Unredeemed.
|
||||
8
forge-gui/res/cardsfolder/upcoming/ley_weaver.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/ley_weaver.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Ley Weaver
|
||||
ManaCost:3 G
|
||||
Types:Creature Human Druid
|
||||
PT:2/2
|
||||
K:Partner:Lore Weaver
|
||||
A:AB$ Untap | Cost$ T | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | TgtPrompt$ Select target land | SpellDescription$ Untap two target lands.
|
||||
DeckHints:Name$Lore Weaver
|
||||
Oracle:Partner with Lore Weaver (When this creature enters the battlefield, target player may put Lore Weaver into their hand from their library, then shuffle.)\n{T}: Untap two target lands.
|
||||
8
forge-gui/res/cardsfolder/upcoming/lore_weaver.txt
Normal file
8
forge-gui/res/cardsfolder/upcoming/lore_weaver.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Lore Weaver
|
||||
ManaCost:3 U
|
||||
Types:Creature Human Wizard
|
||||
PT:2/2
|
||||
K:Partner:Ley Weaver
|
||||
A:AB$ Draw | Cost$ 5 U U | NumCards$ 2 | ValidTgts$ Player | TgtPrompt$ Choose a player | SpellDescription$ Target player draws two cards.
|
||||
DeckHints:Name$Ley Weaver
|
||||
Oracle:Partner with Ley Weaver (When this creature enters the battlefield, target player may put Ley Weaver into their hand from their library, then shuffle.)\n{5}{U}{U}: Target player draws two cards.
|
||||
11
forge-gui/res/cardsfolder/upcoming/regna_the_redeemer.txt
Normal file
11
forge-gui/res/cardsfolder/upcoming/regna_the_redeemer.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:Regna, the Redeemer
|
||||
ManaCost:5 W
|
||||
Types:Legendary Creature Angel
|
||||
PT:4/4
|
||||
K:Partner:Krav, the Unredeemed:Krav
|
||||
K:Flying
|
||||
T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | Execute$ TrigToken | TriggerDescription$ At the beginning of each end step, if your team gained life this turn, create two 1/1 white Warrior creature tokens.
|
||||
SVar:TrigToken:DB$ Token | TokenAmount$ 2 | TokenName$ Warrior | TokenTypes$ Creature,Warrior | TokenOwner$ You | TokenColors$ White | TokenPower$ 1 | TokenToughness$ 1 | TokenImage$ w 1 1 Warrior
|
||||
SVar:X:PlayerCountYourTeam$HighestLifeGainedThisTurn
|
||||
DeckHints:Name$Krav, the Unredeemed
|
||||
Oracle:Partner with Krav, the Unredeemed (When this creature enters the battlefield, target player may put Krav into their hand from their library, then shuffle.)\nFlying\nAt the beginning of each end step, if your team gained life this turn, create two 1/1 white Warrior creature tokens.
|
||||
@@ -5,5 +5,6 @@ PT:2/2
|
||||
K:Partner:Khorvath Brightflame:Khorvath
|
||||
K:Double Strike
|
||||
S:Mode$ Continuous | Affected$ Dragon.YourTeamCtrl | AddKeyword$ Double Strike | Description$ Dragons your team controls have double strike.
|
||||
DeckHints:Name$Khorvath Brightflame
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/sylvia_brightspear.jpg
|
||||
Oracle:Partner with Khorvath Brightflame (When this creature enters the battlefield, target player may put Khorvath into their hand from their library, then shuffle.)\nDouble strike\nDragons your team controls have double strike.
|
||||
|
||||
15
forge-gui/res/cardsfolder/upcoming/will_kenrith.txt
Normal file
15
forge-gui/res/cardsfolder/upcoming/will_kenrith.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
Name:Will Kenrith
|
||||
ManaCost:4 U U
|
||||
Types:Legendary Planeswalker Will
|
||||
Loyalty:4
|
||||
Text:CARDNAME can be your commander.
|
||||
K:Partner:Rowan Kenrith
|
||||
A:AB$ Animate | Cost$ AddCounter<2/LOYALTY> | Planeswalker$ True | UntilYourNextTurn$ True | ValidTgts$ Creature | TargetMin$ 0 | TargetMax$ 2 | Power$ 0 | Toughness$ 3 | IsCurse$ True | RemoveAllAbilities$ True | SpellDescription$ Until your next turn, up to two target creatures each have base power and toughness 0/3 and lose all abilities.
|
||||
A:AB$ Draw | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | ValidTgts$ Player | NumCards$ 2 | SubAbility$ DBEffect | SpellDescription$ Target player draws two cards. Until your next turn, instant, sorcery, and planeswalker spells that player casts cost {2} less to cast.
|
||||
SVar:DBEffect:DB$ Effect | StaticAbilities$ WillReduceCost | RememberObjects$ Targeted | Duration$ UntilYourNextTurn
|
||||
SVar:WillReduceCost:Mode$ ReduceCost | EffectZone$ Command | ValidCard$ Instant,Sorcery,Planeswalker | Type$ Spell | Activator$ Player.IsRemembered | Amount$ 2 | Description$ Until your next turn, instant, sorcery, and planeswalker spells that player casts cost {2} less to cast.
|
||||
A:AB$ Effect | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | ValidTgts$ Player | EffectOwner$ Targeted | Name$ Emblem - Will Kenrith | Image$ emblem_will_kenrith | Triggers$ CopySpell | SVars$ TrigCopy | Duration$ Permanent | AILogic$ Always | SpellDescription$ Target player gets an emblem with "Whenever you cast an instant or sorcery spell, copy it. You may choose new targets for the copy."
|
||||
SVar:CopySpell:Mode$ SpellCast | ValidCard$ Instant,Sorcery | ValidActivatingPlayer$ You | Execute$ TrigCopy | TriggerZones$ Command | TriggerDescription$ Whenever you cast an instant or sorcery spell, copy it. You may choose new targets for the copy.
|
||||
SVar:TrigCopy:DB$ CopySpellAbility | Defined$ TriggeredSpellAbility
|
||||
DeckHints:Name$Rowan Kenrith
|
||||
Oracle:[+2]: Until your next turn, up to two target creatures each have base power and toughness 0/3 and lose all abilities.\n[-2]: Target player draws two cards. Until your next turn, instant, sorcery, and planeswalker spells that player casts cost {2} less to cast.\n[-8]: Target player gets an emblem with "Whenever you cast an instant or sorcery spell, copy it. You may choose new targets for the copy."\nPartner with Rowan Kenrith\nWill Kenrith can be your commander.
|
||||
Reference in New Issue
Block a user