mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
- Added hidden keywords.
- Converted Bubble Matrix to hidden keyword. - Added Gaseous Form and Inviolability.
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
9
res/cardsfolder/gaseous_form.txt
Normal file
9
res/cardsfolder/gaseous_form.txt
Normal 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
|
||||
9
res/cardsfolder/inviolability.txt
Normal file
9
res/cardsfolder/inviolability.txt
Normal 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
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user