- Added the keyword "If CARDNAME would be destroyed, regenerate it.".

- Added Clergy of the Holy Nimbus.
This commit is contained in:
Sloth
2012-12-15 14:05:07 +00:00
parent 74a87c1678
commit a8e3f2d3a8
6 changed files with 27 additions and 4 deletions

1
.gitattributes vendored
View File

@@ -1726,6 +1726,7 @@ res/cardsfolder/c/clear_the_land.txt -text
res/cardsfolder/c/clearwater_goblet.txt svneol=native#text/plain res/cardsfolder/c/clearwater_goblet.txt svneol=native#text/plain
res/cardsfolder/c/cleaver_riot.txt -text res/cardsfolder/c/cleaver_riot.txt -text
res/cardsfolder/c/clergy_en_vec.txt svneol=native#text/plain res/cardsfolder/c/clergy_en_vec.txt svneol=native#text/plain
res/cardsfolder/c/clergy_of_the_holy_nimbus.txt -text
res/cardsfolder/c/clickslither.txt svneol=native#text/plain res/cardsfolder/c/clickslither.txt svneol=native#text/plain
res/cardsfolder/c/cliff_threader.txt svneol=native#text/plain res/cardsfolder/c/cliff_threader.txt svneol=native#text/plain
res/cardsfolder/c/cliffrunner_behemoth.txt svneol=native#text/plain res/cardsfolder/c/cliffrunner_behemoth.txt svneol=native#text/plain

View File

@@ -0,0 +1,12 @@
Name:Clergy of the Holy Nimbus
ManaCost:W
Types:Creature Human Cleric
Text:no text
PT:1/1
K:If CARDNAME would be destroyed, regenerate it.
A:AB$ Pump | Cost$ 2 | AnyOpponent$ True | Defined$ Self | KW$ HIDDEN CARDNAME can't be regenerated. | IsCurse$ True | SpellDescription$ CARDNAME can't be regenerated this turn. Only any opponent may activate this ability.
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/clergy_of_the_holy_nimbus.jpg
SetInfo:LEG|Common|http://magiccards.info/scans/en/lg/175.jpg
Oracle:If Clergy of the Holy Nimbus would be destroyed, regenerate it.\n{1}: Clergy of the Holy Nimbus can't be regenerated this turn. Only any opponent may activate this ability.
End

View File

@@ -1,5 +1,6 @@
All creatures able to block CARDNAME do so. All creatures able to block CARDNAME do so.
CARDNAME attacks each turn if able. CARDNAME attacks each turn if able.
CARDNAME can't be regenerated.
CARDNAME doesn't untap during your untap step. CARDNAME doesn't untap during your untap step.
Changeling Changeling
Convoke Convoke

View File

@@ -46,7 +46,6 @@ import forge.card.spellability.AbilityStatic;
import forge.card.spellability.Spell; import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityRequirements; import forge.card.spellability.SpellAbilityRequirements;
import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.card.spellability.TargetSelection; import forge.card.spellability.TargetSelection;
import forge.card.staticability.StaticAbility; import forge.card.staticability.StaticAbility;
@@ -1528,7 +1527,8 @@ public class GameAction {
return false; return false;
} }
if (c.canBeShielded() && (c.getShield() > 0)) { if (c.canBeShielded()
&& (c.getShield() > 0 || c.hasKeyword("If CARDNAME would be destroyed, regenerate it."))) {
c.subtractShield(); c.subtractShield();
c.setDamage(0); c.setDamage(0);
c.tap(); c.tap();

View File

@@ -130,9 +130,14 @@ public abstract class PumpAiBase extends SpellAiLogic {
return false; return false;
} }
} else if (keyword.endsWith("CARDNAME can't be regenerated.")) { } else if (keyword.endsWith("CARDNAME can't be regenerated.")) {
if (card.getShield() <= 0) { if (card.getShield() > 0) {
return false; return true;
} }
if (card.hasKeyword("If CARDNAME would be destroyed, regenerate it.")
&& (card.isBlocked() || card.isBlocking())) {
return true;
}
return false;
} else if (keyword.endsWith("CARDNAME's activated abilities can't be activated.")) { } else if (keyword.endsWith("CARDNAME's activated abilities can't be activated.")) {
return false; //too complex return false; //too complex
} }

View File

@@ -118,6 +118,10 @@ public class SpellAbilityRestriction extends SpellAbilityVariables {
this.setAnyPlayer(true); this.setAnyPlayer(true);
} }
if (params.containsKey("AnyOpponent")) {
this.setOpponentOnly(true);
}
if (params.containsKey("ActivationLimit")) { if (params.containsKey("ActivationLimit")) {
this.setLimitToCheck(params.get("ActivationLimit")); this.setLimitToCheck(params.get("ActivationLimit"));
} }