mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
- Added Price of Glory
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -9338,6 +9338,7 @@ forge-gui/res/cardsfolder/p/pretenders_claim.txt svneol=native#text/plain
|
|||||||
forge-gui/res/cardsfolder/p/prey_upon.txt -text
|
forge-gui/res/cardsfolder/p/prey_upon.txt -text
|
||||||
forge-gui/res/cardsfolder/p/preys_vengeance.txt -text
|
forge-gui/res/cardsfolder/p/preys_vengeance.txt -text
|
||||||
forge-gui/res/cardsfolder/p/preyseizer_dragon.txt -text
|
forge-gui/res/cardsfolder/p/preyseizer_dragon.txt -text
|
||||||
|
forge-gui/res/cardsfolder/p/price_of_glory.txt -text
|
||||||
forge-gui/res/cardsfolder/p/price_of_knowledge.txt -text
|
forge-gui/res/cardsfolder/p/price_of_knowledge.txt -text
|
||||||
forge-gui/res/cardsfolder/p/price_of_progress.txt svneol=native#text/plain
|
forge-gui/res/cardsfolder/p/price_of_progress.txt svneol=native#text/plain
|
||||||
forge-gui/res/cardsfolder/p/prickly_boggart.txt svneol=native#text/plain
|
forge-gui/res/cardsfolder/p/prickly_boggart.txt svneol=native#text/plain
|
||||||
|
|||||||
@@ -176,6 +176,17 @@ public class AiController {
|
|||||||
return spellAbilities;
|
return spellAbilities;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean checkCurseEffects() {
|
||||||
|
for (final Card c : game.getCardsIn(ZoneType.Battlefield)) {
|
||||||
|
for (Trigger t : c.getTriggers()) {
|
||||||
|
if (t.getMapParams().containsKey("CurseNonActive")
|
||||||
|
&& !player.equals(game.getPhaseHandler().getPlayerTurn())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api) {
|
public boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api) {
|
||||||
boolean rightapi = false;
|
boolean rightapi = false;
|
||||||
@@ -631,6 +642,9 @@ public class AiController {
|
|||||||
card.setSVar("PayX", Integer.toString(xPay));
|
card.setSVar("PayX", Integer.toString(xPay));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (checkCurseEffects()) {
|
||||||
|
return AiPlayDecision.CurseEffects;
|
||||||
|
}
|
||||||
if( sa instanceof SpellPermanent ) {
|
if( sa instanceof SpellPermanent ) {
|
||||||
ManaCost mana = sa.getPayCosts().getTotalMana();
|
ManaCost mana = sa.getPayCosts().getTotalMana();
|
||||||
if (mana.countX() > 0) {
|
if (mana.countX() > 0) {
|
||||||
|
|||||||
@@ -16,5 +16,6 @@ public enum AiPlayDecision {
|
|||||||
WouldDestroyOtherPlaneswalker,
|
WouldDestroyOtherPlaneswalker,
|
||||||
WouldBecomeZeroToughnessCreature,
|
WouldBecomeZeroToughnessCreature,
|
||||||
WouldDestroyWorldEnchantment,
|
WouldDestroyWorldEnchantment,
|
||||||
BadEtbEffects;
|
BadEtbEffects,
|
||||||
|
CurseEffects;
|
||||||
}
|
}
|
||||||
@@ -2327,6 +2327,10 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
if (this.equals(sourceController) || !this.isOpponentOf(sourceController)) {
|
if (this.equals(sourceController) || !this.isOpponentOf(sourceController)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else if (property.equals("NonActive")) {
|
||||||
|
if (this.equals(game.getPhaseHandler().getPlayerTurn())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
} else if (property.equals("OpponentToActive")) {
|
} else if (property.equals("OpponentToActive")) {
|
||||||
final Player active = game.getPhaseHandler().getPlayerTurn();
|
final Player active = game.getPhaseHandler().getPlayerTurn();
|
||||||
if (this.equals(active) || !this.isOpponentOf(active)) {
|
if (this.equals(active) || !this.isOpponentOf(active)) {
|
||||||
|
|||||||
@@ -162,6 +162,12 @@ public abstract class Trigger extends TriggerReplacementBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.mapParams.containsKey("NotPlayerTurn")) {
|
||||||
|
if (phaseHandler.isPlayerTurn(this.getHostCard().getController())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (this.mapParams.containsKey("OpponentTurn")) {
|
if (this.mapParams.containsKey("OpponentTurn")) {
|
||||||
if (!phaseHandler.getPlayerTurn().isOpponentOf(this.getHostCard().getController())) {
|
if (!phaseHandler.getPlayerTurn().isOpponentOf(this.getHostCard().getController())) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -77,6 +77,15 @@ public class TriggerTapsForMana extends Trigger {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.mapParams.containsKey("Activator")) {
|
||||||
|
final SpellAbility sa = (SpellAbility) runParams2.get("AbilityMana");
|
||||||
|
if (sa == null) return false;
|
||||||
|
final Player activator = sa.getActivatingPlayer();
|
||||||
|
if (!activator.isValid(this.mapParams.get("Activator").split(","), this.getHostCard().getController(), this.getHostCard())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (this.mapParams.containsKey("Produced")) {
|
if (this.mapParams.containsKey("Produced")) {
|
||||||
Object prod = runParams2.get("Produced");
|
Object prod = runParams2.get("Produced");
|
||||||
if (prod == null || !(prod instanceof String)) {
|
if (prod == null || !(prod instanceof String)) {
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 2 | SetToughness$ 4 | Check
|
|||||||
S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 3 | SetToughness$ 5 | AddTrigger$ TriggerExtraTurn | CheckSVar$ Y | SVarCompare$ EQ1 | Description$ LEVEL 7+ 3/5 At the beginning of each end step, if it's not your turn, take an extra turn after this one.
|
S:Mode$ Continuous | Affected$ Card.Self | SetPower$ 3 | SetToughness$ 5 | AddTrigger$ TriggerExtraTurn | CheckSVar$ Y | SVarCompare$ EQ1 | Description$ LEVEL 7+ 3/5 At the beginning of each end step, if it's not your turn, take an extra turn after this one.
|
||||||
SVar:X:Count$Valid Card.Self+counters_GE4_LEVEL+counters_LE6_LEVEL
|
SVar:X:Count$Valid Card.Self+counters_GE4_LEVEL+counters_LE6_LEVEL
|
||||||
SVar:Y:Count$Valid Card.Self+counters_GE7_LEVEL
|
SVar:Y:Count$Valid Card.Self+counters_GE7_LEVEL
|
||||||
SVar:TriggerExtraTurn:Mode$ Phase | Phase$ End of Turn | OpponentTurn$ True | Execute$ TrigExtraTurn | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each end step, if it's not your turn, take an extra turn after this one.
|
SVar:TriggerExtraTurn:Mode$ Phase | Phase$ End of Turn | NotPlayerTurn$ True | Execute$ TrigExtraTurn | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of each end step, if it's not your turn, take an extra turn after this one.
|
||||||
SVar:TrigExtraTurn:DB$ AddTurn | NumTurns$ 1
|
SVar:TrigExtraTurn:DB$ AddTurn | NumTurns$ 1
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/lighthouse_chronologist.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/lighthouse_chronologist.jpg
|
||||||
Oracle:Level up {U} ({U}: Put a level counter on this. Level up only as a sorcery.)\nLEVEL 4-6\n2/4\nLEVEL 7+\n3/5\nAt the beginning of each end step, if it's not your turn, take an extra turn after this one.
|
Oracle:Level up {U} ({U}: Put a level counter on this. Level up only as a sorcery.)\nLEVEL 4-6\n2/4\nLEVEL 7+\n3/5\nAt the beginning of each end step, if it's not your turn, take an extra turn after this one.
|
||||||
8
forge-gui/res/cardsfolder/p/price_of_glory.txt
Normal file
8
forge-gui/res/cardsfolder/p/price_of_glory.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
Name:Price of Glory
|
||||||
|
ManaCost:2 R
|
||||||
|
Types:Enchantment
|
||||||
|
T:Mode$ TapsForMana | ValidCard$ Land | Execute$ TrigDestroy | TriggerZones$ Battlefield | Activator$ Player.NonActive | CurseNonActive$ True | TriggerDescription$ Whenever a player taps a land for mana, if it's not that player's turn, destroy that land.
|
||||||
|
SVar:TrigDestroy:DB$ Destroy | Defined$ TriggeredCard
|
||||||
|
SVar:RemAIDeck:True
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/price_of_glory.jpg
|
||||||
|
Oracle:Whenever a player taps a land for mana, if it's not that player's turn, destroy that land.
|
||||||
Reference in New Issue
Block a user