mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
-- Added Konda's Banner and O-Naginata
This commit is contained in:
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -5755,6 +5755,7 @@ res/cardsfolder/k/kodamas_might.txt -text
|
|||||||
res/cardsfolder/k/kodamas_reach.txt svneol=native#text/plain
|
res/cardsfolder/k/kodamas_reach.txt svneol=native#text/plain
|
||||||
res/cardsfolder/k/kokusho_the_evening_star.txt svneol=native#text/plain
|
res/cardsfolder/k/kokusho_the_evening_star.txt svneol=native#text/plain
|
||||||
res/cardsfolder/k/konda_lord_of_eiganjo.txt svneol=native#text/plain
|
res/cardsfolder/k/konda_lord_of_eiganjo.txt svneol=native#text/plain
|
||||||
|
res/cardsfolder/k/kondas_banner.txt -text
|
||||||
res/cardsfolder/k/kondas_hatamoto.txt svneol=native#text/plain
|
res/cardsfolder/k/kondas_hatamoto.txt svneol=native#text/plain
|
||||||
res/cardsfolder/k/kongming_sleeping_dragon.txt svneol=native#text/plain
|
res/cardsfolder/k/kongming_sleeping_dragon.txt svneol=native#text/plain
|
||||||
res/cardsfolder/k/kongmings_contraptions.txt -text
|
res/cardsfolder/k/kongmings_contraptions.txt -text
|
||||||
@@ -7301,6 +7302,7 @@ res/cardsfolder/n/nurturer_initiate.txt svneol=native#text/plain
|
|||||||
res/cardsfolder/n/nurturing_licid.txt -text
|
res/cardsfolder/n/nurturing_licid.txt -text
|
||||||
res/cardsfolder/n/nut_collector.txt svneol=native#text/plain
|
res/cardsfolder/n/nut_collector.txt svneol=native#text/plain
|
||||||
res/cardsfolder/n/nyxathid.txt svneol=native#text/plain
|
res/cardsfolder/n/nyxathid.txt svneol=native#text/plain
|
||||||
|
res/cardsfolder/o/o_naginata.txt -text
|
||||||
res/cardsfolder/o/oak_street_innkeeper.txt -text
|
res/cardsfolder/o/oak_street_innkeeper.txt -text
|
||||||
res/cardsfolder/o/oaken_brawler.txt svneol=native#text/plain
|
res/cardsfolder/o/oaken_brawler.txt svneol=native#text/plain
|
||||||
res/cardsfolder/o/oakenform.txt svneol=native#text/plain
|
res/cardsfolder/o/oakenform.txt svneol=native#text/plain
|
||||||
|
|||||||
13
res/cardsfolder/k/kondas_banner.txt
Normal file
13
res/cardsfolder/k/kondas_banner.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
Name:Konda's Banner
|
||||||
|
ManaCost:2
|
||||||
|
Types:Legendary Artifact Equipment
|
||||||
|
Text:CARDNAME can be attached only to a legendary creature.
|
||||||
|
K:CantEquip Creature.nonLegendary
|
||||||
|
K:Equip 2
|
||||||
|
S:Mode$ Continuous | Affected$ Creature.SharesColorWith Equipped | AddPower$ 1 | AddToughness$ 1 | Description$ Creatures that share a color with equipped creature get +1/+1.
|
||||||
|
S:Mode$ Continuous | Affected$ Creature.sharesCreatureTypeWith Equipped | AddPower$ 1 | AddToughness$ 1 | Description$ Creatures that share a creature type with equipped creature get +1/+1.
|
||||||
|
SVar:RemAIDeck:True
|
||||||
|
SVar:RemRandomDeck:True
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/kondas_banner.jpg
|
||||||
|
Oracle:Konda's Banner can be attached only to a legendary creature.\nCreatures that share a color with equipped creature get +1/+1.\nCreatures that share a creature type with equipped creature get +1/+1.\nEquip {2}
|
||||||
|
SetInfo:CHK Rare
|
||||||
12
res/cardsfolder/o/o_naginata.txt
Normal file
12
res/cardsfolder/o/o_naginata.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Name:O-Naginata
|
||||||
|
ManaCost:1
|
||||||
|
Types:Artifact Equipment
|
||||||
|
Text:CARDNAME can be attached only to a creature with 3 or more power.
|
||||||
|
K:Equip 2
|
||||||
|
K:CantEquip Creature.powerLT3
|
||||||
|
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 3 | AddKeyword$ Trample | Description$ Equipped creature gets +3/+0 and has trample.
|
||||||
|
SVar:RemAIDeck:True
|
||||||
|
SVar:RemRandomDeck:True
|
||||||
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/o_naginata.jpg
|
||||||
|
Oracle:O-Naginata can be attached only to a creature with 3 or more power.\nEquipped creature gets +3/+0 and has trample.\nEquip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.)
|
||||||
|
SetInfo:SOK Uncommon
|
||||||
@@ -2190,7 +2190,8 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
if (keyword.startsWith("Permanents don't untap during their controllers' untap steps")
|
if (keyword.startsWith("Permanents don't untap during their controllers' untap steps")
|
||||||
|| keyword.startsWith("PreventAllDamageBy")
|
|| keyword.startsWith("PreventAllDamageBy")
|
||||||
|| keyword.startsWith("CantBlock")
|
|| keyword.startsWith("CantBlock")
|
||||||
|| keyword.startsWith("CantBeBlockedBy")) {
|
|| keyword.startsWith("CantBeBlockedBy")
|
||||||
|
|| keyword.startsWith("CantEquip")) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (keyword.startsWith("CostChange")) {
|
if (keyword.startsWith("CostChange")) {
|
||||||
@@ -3701,6 +3702,17 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
+ " but it can't be equipped.", 2);
|
+ " but it can't be equipped.", 2);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (this.hasStartOfKeyword("CantEquip")) {
|
||||||
|
final int keywordPosition = this.getKeywordPosition("CantEquip");
|
||||||
|
final String parse = this.getKeyword().get(keywordPosition).toString();
|
||||||
|
final String[] k = parse.split(" ", 2);
|
||||||
|
final String[] restrictions = k[1].split(",");
|
||||||
|
if (c.isValid(restrictions, this.getController(), this)) {
|
||||||
|
Singletons.getModel().getGame().getGameLog().add("ResolveStack", "Trying to equip " + c.getName()
|
||||||
|
+ " but it can't be equipped.", 2);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (this.isEquipping()) {
|
if (this.isEquipping()) {
|
||||||
this.unEquipCard(this.getEquipping().get(0));
|
this.unEquipCard(this.getEquipping().get(0));
|
||||||
}
|
}
|
||||||
@@ -6529,6 +6541,12 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (restriction.equals("Equipped")) {
|
||||||
|
if (!source.isEquipment() || !source.isEquipping()) {
|
||||||
|
return false;
|
||||||
|
} else if (!this.sharesColorWith(source.getEquippingCard())) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
} else if (restriction.equals("MostProminentColor")) {
|
} else if (restriction.equals("MostProminentColor")) {
|
||||||
for (final String color : CardUtil.getColors(this)) {
|
for (final String color : CardUtil.getColors(this)) {
|
||||||
if (CardFactoryUtil.isMostProminentColor(Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield), color)) {
|
if (CardFactoryUtil.isMostProminentColor(Singletons.getModel().getGame().getCardsIn(ZoneType.Battlefield), color)) {
|
||||||
@@ -6594,6 +6612,11 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} if (restriction.equals("Equipped")) {
|
||||||
|
if (source.isEquipping() && this.sharesCreatureTypeWith(source.getEquippingCard())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
} if (restriction.equals("Remembered")) {
|
} if (restriction.equals("Remembered")) {
|
||||||
for (final Object rem : source.getRemembered()) {
|
for (final Object rem : source.getRemembered()) {
|
||||||
if (rem instanceof Card) {
|
if (rem instanceof Card) {
|
||||||
@@ -8850,6 +8873,31 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* canBeEquippedBy.
|
||||||
|
*
|
||||||
|
* @param equip
|
||||||
|
* a Card
|
||||||
|
* @return a boolean
|
||||||
|
*/
|
||||||
|
public final boolean canBeEquippedBy(final Card equip) {
|
||||||
|
if (equip.hasStartOfKeyword("CantEquip")) {
|
||||||
|
final int keywordPosition = equip.getKeywordPosition("CantEquip");
|
||||||
|
final String parse = equip.getKeyword().get(keywordPosition).toString();
|
||||||
|
final String[] k = parse.split(" ", 2);
|
||||||
|
final String[] restrictions = k[1].split(",");
|
||||||
|
if (this.isValid(restrictions, equip.getController(), equip)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.hasProtectionFrom(equip)
|
||||||
|
|| this.hasKeyword("CARDNAME can't be equipped.")
|
||||||
|
|| !this.isValid("Creature.YouCtrl", equip.getController(), equip)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the replacement effects.
|
* Gets the replacement effects.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -957,13 +957,12 @@ public class GameAction {
|
|||||||
|
|
||||||
if (c.isEquipping()) {
|
if (c.isEquipping()) {
|
||||||
final Card equippedCreature = c.getEquipping().get(0);
|
final Card equippedCreature = c.getEquipping().get(0);
|
||||||
if (!equippedCreature.isCreature() || !equippedCreature.isInPlay()) {
|
if (!equippedCreature.isCreature() || !equippedCreature.isInPlay()
|
||||||
|
|| !equippedCreature.canBeEquippedBy(c)) {
|
||||||
c.unEquipCard(equippedCreature);
|
c.unEquipCard(equippedCreature);
|
||||||
checkAgain = true;
|
checkAgain = true;
|
||||||
}
|
}
|
||||||
|
// make sure any equipment that has become a creature stops equipping
|
||||||
// make sure any equipment that has become a creature stops
|
|
||||||
// equipping
|
|
||||||
if (c.isCreature()) {
|
if (c.isCreature()) {
|
||||||
c.unEquipCard(equippedCreature);
|
c.unEquipCard(equippedCreature);
|
||||||
checkAgain = true;
|
checkAgain = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user