mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
Added StackDescription param to Animate AF and cleaned up Bone Shaman's stack description.
This commit is contained in:
@@ -3,7 +3,7 @@ ManaCost:2 R R
|
|||||||
Types:Creature Giant Shaman
|
Types:Creature Giant Shaman
|
||||||
Text:no text
|
Text:no text
|
||||||
PT:3/3
|
PT:3/3
|
||||||
A:AB$ Animate | Cost$ B | Defined$ Self | staticAbilities$ BoneShamanStatic | SpellDescription$ Until end of turn, CARDNAME gains "Creatures dealt damage by Bone Shaman this turn can't be regenerated this turn."
|
A:AB$ Animate | Cost$ B | Defined$ Self | staticAbilities$ BoneShamanStatic | StackDescription$ CARDNAME gains "Creatures dealt damage by CARDNAME this turn can't be regenerated this turn." | SpellDescription$ Until end of turn, CARDNAME gains "Creatures dealt damage by CARDNAME this turn can't be regenerated this turn."
|
||||||
SVar:BoneShamanStatic:Mode$ Continuous | Affected$ Creature.DamagedBy | AddHiddenKeyword$ HIDDEN CARDNAME can't be regenerated. | Description$ Creatures dealt damage by CARDNAME this turn can't be regenerated this turn.
|
SVar:BoneShamanStatic:Mode$ Continuous | Affected$ Creature.DamagedBy | AddHiddenKeyword$ HIDDEN CARDNAME can't be regenerated. | Description$ Creatures dealt damage by CARDNAME this turn can't be regenerated this turn.
|
||||||
SVar:RemAIDeck:True
|
SVar:RemAIDeck:True
|
||||||
SVar:RemRandomDeck:True
|
SVar:RemRandomDeck:True
|
||||||
|
|||||||
@@ -220,73 +220,79 @@ public final class AbilityFactoryAnimate {
|
|||||||
sb.append(sa.getSourceCard().getName()).append(" - ");
|
sb.append(sa.getSourceCard().getName()).append(" - ");
|
||||||
}
|
}
|
||||||
|
|
||||||
final Target tgt = sa.getTarget();
|
if (params.containsKey("StackDescription")) {
|
||||||
ArrayList<Card> tgts;
|
sb.append(params.get("StackDescription").replaceAll("CARDNAME", host.getName()));
|
||||||
if (tgt != null) {
|
|
||||||
tgts = tgt.getTargetCards();
|
|
||||||
} else {
|
|
||||||
tgts = AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("Defined"), sa);
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
for (final Card c : tgts) {
|
final Target tgt = sa.getTarget();
|
||||||
sb.append(c).append(" ");
|
ArrayList<Card> tgts;
|
||||||
}
|
if (tgt != null) {
|
||||||
sb.append("become");
|
tgts = tgt.getTargetCards();
|
||||||
if (tgts.size() == 1) {
|
} else {
|
||||||
sb.append("s a");
|
tgts = AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("Defined"), sa);
|
||||||
}
|
}
|
||||||
// if power is -1, we'll assume it's not just setting toughness
|
|
||||||
if (power != -1) {
|
|
||||||
sb.append(" ").append(power).append("/").append(toughness);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (colors.size() > 0) {
|
for (final Card c : tgts) {
|
||||||
|
sb.append(c).append(" ");
|
||||||
|
}
|
||||||
|
sb.append("become");
|
||||||
|
if (tgts.size() == 1) {
|
||||||
|
sb.append("s a");
|
||||||
|
}
|
||||||
|
// if power is -1, we'll assume it's not just setting toughness
|
||||||
|
if (power != -1) {
|
||||||
|
sb.append(" ").append(power).append("/").append(toughness);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (colors.size() > 0) {
|
||||||
|
sb.append(" ");
|
||||||
|
}
|
||||||
|
if (colors.contains("ChosenColor")) {
|
||||||
|
sb.append("color of that player's choice");
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < colors.size(); i++) {
|
||||||
|
sb.append(colors.get(i));
|
||||||
|
if (i < (colors.size() - 1)) {
|
||||||
|
sb.append(" and ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
sb.append(" ");
|
sb.append(" ");
|
||||||
}
|
if (types.contains("ChosenType")) {
|
||||||
if (colors.contains("ChosenColor")) {
|
sb.append("type of player's choice ");
|
||||||
sb.append("color of that player's choice");
|
} else {
|
||||||
} else {
|
for (int i = types.size() - 1; i >= 0; i--) {
|
||||||
for (int i = 0; i < colors.size(); i++) {
|
sb.append(types.get(i));
|
||||||
sb.append(colors.get(i));
|
sb.append(" ");
|
||||||
if (i < (colors.size() - 1)) {
|
}
|
||||||
|
}
|
||||||
|
if (keywords.size() > 0) {
|
||||||
|
sb.append("with ");
|
||||||
|
}
|
||||||
|
for (int i = 0; i < keywords.size(); i++) {
|
||||||
|
sb.append(keywords.get(i));
|
||||||
|
if (i < (keywords.size() - 1)) {
|
||||||
sb.append(" and ");
|
sb.append(" and ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
// sb.append(abilities)
|
||||||
sb.append(" ");
|
// sb.append(triggers)
|
||||||
if (types.contains("ChosenType")) {
|
if (!permanent) {
|
||||||
sb.append("type of player's choice ");
|
if (params.containsKey("UntilEndOfCombat")) {
|
||||||
} else {
|
sb.append(" until end of combat.");
|
||||||
for (int i = types.size() - 1; i >= 0; i--) {
|
} else if (params.containsKey("UntilHostLeavesPlay")) {
|
||||||
sb.append(types.get(i));
|
sb.append(" until ").append(host).append(" leaves the battlefield.");
|
||||||
sb.append(" ");
|
} else if (params.containsKey("UntilYourNextUpkeep")) {
|
||||||
}
|
sb.append(" until your next upkeep.");
|
||||||
}
|
} else if (params.containsKey("UntilControllerNextUntap")) {
|
||||||
if (keywords.size() > 0) {
|
sb.append(" until its controller's next untap step.");
|
||||||
sb.append("with ");
|
} else {
|
||||||
}
|
sb.append(" until end of turn.");
|
||||||
for (int i = 0; i < keywords.size(); i++) {
|
}
|
||||||
sb.append(keywords.get(i));
|
|
||||||
if (i < (keywords.size() - 1)) {
|
|
||||||
sb.append(" and ");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// sb.append(abilities)
|
|
||||||
// sb.append(triggers)
|
|
||||||
if (!permanent) {
|
|
||||||
if (params.containsKey("UntilEndOfCombat")) {
|
|
||||||
sb.append(" until end of combat.");
|
|
||||||
} else if (params.containsKey("UntilHostLeavesPlay")) {
|
|
||||||
sb.append(" until ").append(host).append(" leaves the battlefield.");
|
|
||||||
} else if (params.containsKey("UntilYourNextUpkeep")) {
|
|
||||||
sb.append(" until your next upkeep.");
|
|
||||||
} else if (params.containsKey("UntilControllerNextUntap")) {
|
|
||||||
sb.append(" until its controller's next untap step.");
|
|
||||||
} else {
|
} else {
|
||||||
sb.append(" until end of turn.");
|
sb.append(".");
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
sb.append(".");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final AbilitySub abSub = sa.getSubAbility();
|
final AbilitySub abSub = sa.getSubAbility();
|
||||||
|
|||||||
Reference in New Issue
Block a user