mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 02:08:00 +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/preys_vengeance.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_progress.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;
|
||||
}
|
||||
|
||||
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) {
|
||||
boolean rightapi = false;
|
||||
@@ -631,6 +642,9 @@ public class AiController {
|
||||
card.setSVar("PayX", Integer.toString(xPay));
|
||||
}
|
||||
}
|
||||
if (checkCurseEffects()) {
|
||||
return AiPlayDecision.CurseEffects;
|
||||
}
|
||||
if( sa instanceof SpellPermanent ) {
|
||||
ManaCost mana = sa.getPayCosts().getTotalMana();
|
||||
if (mana.countX() > 0) {
|
||||
|
||||
@@ -16,5 +16,6 @@ public enum AiPlayDecision {
|
||||
WouldDestroyOtherPlaneswalker,
|
||||
WouldBecomeZeroToughnessCreature,
|
||||
WouldDestroyWorldEnchantment,
|
||||
BadEtbEffects;
|
||||
BadEtbEffects,
|
||||
CurseEffects;
|
||||
}
|
||||
@@ -2327,6 +2327,10 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
if (this.equals(sourceController) || !this.isOpponentOf(sourceController)) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.equals("NonActive")) {
|
||||
if (this.equals(game.getPhaseHandler().getPlayerTurn())) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.equals("OpponentToActive")) {
|
||||
final Player active = game.getPhaseHandler().getPlayerTurn();
|
||||
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 (!phaseHandler.getPlayerTurn().isOpponentOf(this.getHostCard().getController())) {
|
||||
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")) {
|
||||
Object prod = runParams2.get("Produced");
|
||||
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.
|
||||
SVar:X:Count$Valid Card.Self+counters_GE4_LEVEL+counters_LE6_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: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.
|
||||
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