- Added Invasion Plans

This commit is contained in:
swordshine
2013-11-11 00:29:43 +00:00
parent 2064b6517e
commit 4e7e14cbf3
4 changed files with 14 additions and 0 deletions

1
.gitattributes vendored
View File

@@ -5725,6 +5725,7 @@ forge-gui/res/cardsfolder/i/intruder_alarm.txt svneol=native#text/plain
forge-gui/res/cardsfolder/i/intuition.txt svneol=native#text/plain
forge-gui/res/cardsfolder/i/inundate.txt svneol=native#text/plain
forge-gui/res/cardsfolder/i/invader_parasite.txt -text
forge-gui/res/cardsfolder/i/invasion_plans.txt -text
forge-gui/res/cardsfolder/i/invert_the_skies.txt -text
forge-gui/res/cardsfolder/i/invigorate.txt -text
forge-gui/res/cardsfolder/i/invigorating_boon.txt svneol=native#text/plain

View File

@@ -0,0 +1,8 @@
Name:Invasion Plans
ManaCost:2 R
Types:Enchantment
S:Mode$ Continuous | GlobalRule$ The attacking player chooses how each creature blocks each turn. | Description$ The attacking player chooses how each creature blocks each turn.
S:Mode$ Continuous | Affected$ Creature | AddHiddenKeyword$ CARDNAME blocks each turn if able. | Description$ All creatures block each turn if able.
SVar:NonStackingEffect:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/invasion_plans.jpg
Oracle:All creatures block each turn if able.\nThe attacking player chooses how each creature blocks each turn.

View File

@@ -23,6 +23,7 @@ package forge.game;
public enum GlobalRuleChange {
alwaysWither ("All damage is dealt as though it's source had wither."),
attackerChoosesBlockers ("The attacking player chooses how each creature blocks each turn."),
manapoolsDontEmpty ("Mana pools don't empty as steps and phases end."),
noCycling ("Players can't cycle cards."),
noCreatureETBTriggers ("Creatures entering the battlefield don't cause abilities to trigger."),

View File

@@ -43,6 +43,7 @@ import forge.card.trigger.TriggerType;
import forge.game.GameAge;
import forge.game.Game;
import forge.game.GameType;
import forge.game.GlobalRuleChange;
import forge.game.combat.Combat;
import forge.game.combat.CombatUtil;
import forge.game.event.GameEventAttackersDeclared;
@@ -555,6 +556,9 @@ public class PhaseHandler implements java.io.Serializable {
p = game.getNextPlayerAfter(p);
// Apply Odric's effect here
Player whoDeclaresBlockers = playerDeclaresBlockers == null || playerDeclaresBlockers.hasLost() ? p : playerDeclaresBlockers;
if (game.getStaticEffects().getGlobalRuleChange(GlobalRuleChange.attackerChoosesBlockers)) {
whoDeclaresBlockers = combat.getAttackingPlayer();
}
if ( combat.isPlayerAttacked(p) ) {
whoDeclaresBlockers.getController().declareBlockers(p, combat);
} else