mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
- Added support for Kicker on Instant/Sorceries.
- Added Blood Tribute.
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -960,6 +960,7 @@ res/cardsfolder/b/blood_rites.txt svneol=native#text/plain
|
||||
res/cardsfolder/b/blood_seeker.txt svneol=native#text/plain
|
||||
res/cardsfolder/b/blood_speaker.txt svneol=native#text/plain
|
||||
res/cardsfolder/b/blood_tithe.txt svneol=native#text/plain
|
||||
res/cardsfolder/b/blood_tribute.txt -text
|
||||
res/cardsfolder/b/blood_tyrant.txt svneol=native#text/plain
|
||||
res/cardsfolder/b/blood_vassal.txt svneol=native#text/plain
|
||||
res/cardsfolder/b/bloodbond_march.txt -text
|
||||
|
||||
13
res/cardsfolder/b/blood_tribute.txt
Normal file
13
res/cardsfolder/b/blood_tribute.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
Name:Blood Tribute
|
||||
ManaCost:4 B B
|
||||
Types:Sorcery
|
||||
Text:no text
|
||||
K:Kicker tapXType<1/Vampire>
|
||||
A:SP$ LoseLife | Cost$ 4 B B | ValidTgts$ Opponent | LifeAmount$ X | References$ X | SubAbility$ DBGainLife | SpellDescription$ Target opponent loses half his or her life, rounded up. If CARDNAME was kicked, you gain life equal to the life lost this way.
|
||||
SVar:DBGainLife:DB$GainLife | Defined$ You | LifeAmount$ X | References$ X | Condition$ Kicked
|
||||
SVar:X:Count$OppLifeTotal/HalfUp
|
||||
SVar:Rarity:Rare
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/blood_tribute.jpg
|
||||
SetInfo:ZEN|Rare|http://magiccards.info/scans/en/zen/81.jpg
|
||||
Oracle:Kicker-Tap an untapped Vampire you control. (You may tap a Vampire you control in addition to any other costs as you cast this spell.)\nTarget opponent loses half his or her life, rounded up. If Blood Tribute was kicked, you gain life equal to the life lost this way.
|
||||
End
|
||||
@@ -894,7 +894,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Setter for the field <code>xManaCostPaid</code>.
|
||||
* Setter or the field <code>xManaCostPaid</code>.
|
||||
* </p>
|
||||
*
|
||||
* @param n
|
||||
@@ -2582,6 +2582,9 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
} else if (keyword.startsWith("Buyback")) {
|
||||
final Cost cost = new Cost(this, keyword.substring(8), false);
|
||||
sb.append("Buyback " + cost.toSimpleString() + "\r\n");
|
||||
} else if (keyword.startsWith("Kicker")) {
|
||||
final Cost cost = new Cost(this, keyword.substring(7), false);
|
||||
sb.append("Kicker " + cost.toSimpleString() + "\r\n");
|
||||
}
|
||||
if (keyword.startsWith("Storm")) {
|
||||
if (sb.toString().contains("Target") || sb.toString().contains("target")) {
|
||||
|
||||
@@ -1805,7 +1805,8 @@ public final class GameActionUtil {
|
||||
newSA.setBasicSpell(false);
|
||||
newSA.setPayCosts(GameActionUtil.combineCosts(newSA, keyword.substring(7)));
|
||||
newSA.setManaCost("");
|
||||
newSA.setDescription(sa.getDescription() + " (" + keyword + ")");
|
||||
final Cost cost = new Cost(source, keyword.substring(7), false);
|
||||
newSA.setDescription(sa.getDescription() + " (Kicker " + cost.toSimpleString() + ")");
|
||||
ArrayList<String> newoacs = new ArrayList<String>();
|
||||
newoacs.addAll(sa.getOptionalAdditionalCosts());
|
||||
newSA.setOptionalAdditionalCosts(newoacs);
|
||||
|
||||
@@ -75,6 +75,9 @@ public class SpellAbilityCondition extends SpellAbilityVariables {
|
||||
if (value.equals("Hellbent")) {
|
||||
this.setHellbent(true);
|
||||
}
|
||||
if (value.equals("Kicked")) {
|
||||
this.setKicked(true);
|
||||
}
|
||||
}
|
||||
|
||||
if (params.containsKey("ConditionZone")) {
|
||||
@@ -180,6 +183,11 @@ public class SpellAbilityCondition extends SpellAbilityVariables {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (this.isKicked()) {
|
||||
if (!sa.isKicked()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.isSorcerySpeed() && !PhaseHandler.canCastSorcery(activator)) {
|
||||
return false;
|
||||
|
||||
@@ -133,6 +133,9 @@ public class SpellAbilityVariables {
|
||||
/** The hellbent. */
|
||||
private boolean hellbent = false;
|
||||
|
||||
/** The Kicked. */
|
||||
private boolean kicked = false;
|
||||
|
||||
/** The prowl. */
|
||||
private ArrayList<String> prowl = new ArrayList<String>();
|
||||
|
||||
@@ -497,6 +500,21 @@ public class SpellAbilityVariables {
|
||||
this.metalcraft = bMetalcraft;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the kicked
|
||||
*/
|
||||
public boolean isKicked() {
|
||||
return kicked;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param kicked0 the kicked to set
|
||||
*/
|
||||
public void setKicked(boolean kicked) {
|
||||
this.kicked = kicked;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Setter for the field <code>prowl</code>.
|
||||
|
||||
Reference in New Issue
Block a user