- Added hidden keywords.

- Converted Bubble Matrix to hidden keyword.
- Added Gaseous Form and Inviolability.
This commit is contained in:
jendave
2011-08-06 09:04:39 +00:00
parent 56796e9d45
commit 4ba68a795e
5 changed files with 62 additions and 5 deletions

2
.gitattributes vendored
View File

@@ -1550,6 +1550,7 @@ res/cardsfolder/gargoyle_castle.txt -text svneol=native#text/plain
res/cardsfolder/garruk_wildspeaker.txt -text svneol=native#text/plain
res/cardsfolder/garruks_companion.txt -text svneol=native#text/plain
res/cardsfolder/garza_zol_plague_queen.txt -text svneol=native#text/plain
res/cardsfolder/gaseous_form.txt -text svneol=native#text/plain
res/cardsfolder/gate_hound.txt -text svneol=native#text/plain
res/cardsfolder/gatekeeper_of_malakir.txt -text svneol=native#text/plain
res/cardsfolder/gelectrode.txt -text svneol=native#text/plain
@@ -2037,6 +2038,7 @@ res/cardsfolder/intuition.txt -text svneol=native#text/plain
res/cardsfolder/inundate.txt -text svneol=native#text/plain
res/cardsfolder/invigorating_falls.txt -text svneol=native#text/plain
res/cardsfolder/invincible_hymn.txt -text svneol=native#text/plain
res/cardsfolder/inviolability.txt -text svneol=native#text/plain
res/cardsfolder/invisibility.txt -text svneol=native#text/plain
res/cardsfolder/iona_shield_of_emeria.txt -text svneol=native#text/plain
res/cardsfolder/ionas_judgment.txt -text svneol=native#text/plain

View File

@@ -2,7 +2,7 @@ Name:Bubble Matrix
ManaCost:4
Types:Artifact
Text:no text
K:stPumpAll:Creature:0/0/Prevent all damage that would be dealt to CARDNAME.:No Condition:Prevent all damage that would be dealt to creatures.
K:stPumpAll:Creature:0/0/HIDDEN Prevent all damage that would be dealt to CARDNAME.:No Condition:Prevent all damage that would be dealt to creatures.
SVar:RemAIDeck:True
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/bubble_matrix.jpg

View File

@@ -0,0 +1,9 @@
Name:Gaseous Form
ManaCost:2 U
Types:Enchantment Aura
Text:Prevent all combat damage that would be dealt to and dealt by enchanted creature.
K:Enchant creature
K:enPumpCurse:HIDDEN Prevent all combat damage that would be dealt to and dealt by CARDNAME.
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/gaseous_form.jpg
End

View File

@@ -0,0 +1,9 @@
Name:Inviolability
ManaCost:1 W
Types:Enchantment Aura
Text:Prevent all damage that would be dealt to enchanted creature.
K:Enchant creature
K:enPump:HIDDEN Prevent all damage that would be dealt to CARDNAME.
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/inviolability.jpg
End

View File

@@ -25,6 +25,7 @@ public class Card extends MyObservable {
private ArrayList<String> intrinsicKeyword = new ArrayList<String>();
private ArrayList<String> extrinsicKeyword = new ArrayList<String>();
private ArrayList<String> otherExtrinsicKeyword = new ArrayList<String>();
private ArrayList<String> HiddenExtrinsicKeyword = new ArrayList<String>();
private ArrayList<String> prevIntrinsicKeyword = new ArrayList<String>();
private ArrayList<Card> attached = new ArrayList<Card>();
private ArrayList<Card> equippedBy = new ArrayList<Card>(); //which equipment cards are equipping this card?
@@ -781,7 +782,7 @@ public class Card extends MyObservable {
StringBuilder sb = new StringBuilder();
StringBuilder sbLong = new StringBuilder();
StringBuilder sbMana = new StringBuilder();
ArrayList<String> keyword = getKeyword();
ArrayList<String> keyword = getUnhiddenKeyword();
for (int i = 0; i < keyword.size(); i++) {
if (!keyword.get(i).toString().contains("CostChange")
@@ -1803,6 +1804,22 @@ public class Card extends MyObservable {
//keywords are like flying, fear, first strike, etc...
public ArrayList<String> getKeyword() {
ArrayList<String> a1 = new ArrayList<String>(getIntrinsicKeyword());
ArrayList<String> a2 = new ArrayList<String>(getExtrinsicKeyword());
ArrayList<String> a3 = new ArrayList<String>(getOtherExtrinsicKeyword());
ArrayList<String> a4 = new ArrayList<String>(getHiddenExtrinsicKeyword());
a1.addAll(a2);
a1.addAll(a3);
a1.addAll(a4);
for(Ability_Mana sa:getManaAbility())
if(sa.isBasic()) a1.add((sa).orig);
return a1;
}
//keywords are like flying, fear, first strike, etc...
public ArrayList<String> getUnhiddenKeyword() {
ArrayList<String> a1 = new ArrayList<String>(getIntrinsicKeyword());
ArrayList<String> a2 = new ArrayList<String>(getExtrinsicKeyword());
ArrayList<String> a3 = new ArrayList<String>(getOtherExtrinsicKeyword());
@@ -1879,7 +1896,8 @@ public class Card extends MyObservable {
public void addExtrinsicKeyword(String s) {
//if(!getKeyword().contains(s)){
if(s.startsWith("tap: add")) manaAbility.add(new Ability_Mana(this, s) {
if(s.startsWith("HIDDEN")) addHiddenExtrinsicKeyword(s);
else if(s.startsWith("tap: add")) manaAbility.add(new Ability_Mana(this, s) {
private static final long serialVersionUID = 221124403788942412L;
});
else
@@ -1888,7 +1906,8 @@ public class Card extends MyObservable {
}
public void addStackingExtrinsicKeyword(String s) {
if (s.startsWith("tap: add")) manaAbility.add(new Ability_Mana(this, s)
if(s.startsWith("HIDDEN")) addHiddenExtrinsicKeyword(s);
else if (s.startsWith("tap: add")) manaAbility.add(new Ability_Mana(this, s)
{
private static final long serialVersionUID = 2443750124751086033L;
});
@@ -1896,7 +1915,8 @@ public class Card extends MyObservable {
}
public void removeExtrinsicKeyword(String s) {
extrinsicKeyword.remove(s);
if(s.startsWith("HIDDEN")) removeHiddenExtrinsicKeyword(s);
else extrinsicKeyword.remove(s);
this.updateObservers();
}
@@ -1963,6 +1983,23 @@ public class Card extends MyObservable {
return prevIntrinsicKeyword.size();
}
// Hidden Keywords will be returned without the indicator HIDDEN
public ArrayList<String> getHiddenExtrinsicKeyword() {
ArrayList<String> Keyword = this.HiddenExtrinsicKeyword;
for (int i = 0; i < Keyword.size(); i++) {
Keyword.set(i, Keyword.get(i).replace("HIDDEN ", ""));
}
return Keyword;
}
public void addHiddenExtrinsicKeyword(String s) {
HiddenExtrinsicKeyword.add(s);
}
public void removeHiddenExtrinsicKeyword(String s) {
HiddenExtrinsicKeyword.remove(s);
this.updateObservers();
}
public boolean isPermanent() {
return !(isInstant() || isSorcery() || isImmutable());