mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Card: move changed text and remove PreventAllDamageBy
This commit is contained in:
@@ -1404,8 +1404,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
int i = 0;
|
||||
for (KeywordInterface inst : keywords) {
|
||||
String keyword = inst.getOriginal();
|
||||
if (keyword.startsWith("PreventAllDamageBy")
|
||||
|| keyword.startsWith("CantEquip")
|
||||
if (keyword.startsWith("CantEquip")
|
||||
|| keyword.startsWith("SpellCantTarget")) {
|
||||
continue;
|
||||
}
|
||||
@@ -3427,17 +3426,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
*/
|
||||
private void updateChangedText() {
|
||||
resetChangedSVars();
|
||||
final List<CardTraitBase> allAbs = ImmutableList.<CardTraitBase>builder()
|
||||
.addAll(getSpellAbilities())
|
||||
.addAll(getStaticAbilities())
|
||||
.addAll(getReplacementEffects())
|
||||
.addAll(getTriggers())
|
||||
.build();
|
||||
for (final CardTraitBase ctb : allAbs) {
|
||||
if (ctb.isIntrinsic()) {
|
||||
ctb.changeText();
|
||||
}
|
||||
}
|
||||
currentState.updateChangedText();
|
||||
text = AbilityUtils.applyDescriptionTextChangeEffects(originalText, this);
|
||||
|
||||
currentState.getView().updateAbilityText(this, currentState);
|
||||
@@ -4326,15 +4315,6 @@ public class Card extends GameEntity implements Comparable<Card> {
|
||||
return 0;
|
||||
}
|
||||
|
||||
for (KeywordInterface inst : getKeywords()) {
|
||||
String kw = inst.getOriginal();
|
||||
if (kw.startsWith("PreventAllDamageBy")) {
|
||||
if (source.isValid(kw.split(" ", 2)[1].split(","), getController(), this, null)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Prevent Damage static abilities
|
||||
for (final Card ca : getGame().getCardsIn(ZoneType.listValueOf("Battlefield,Command"))) {
|
||||
for (final StaticAbility stAb : ca.getStaticAbilities()) {
|
||||
|
||||
@@ -3460,22 +3460,6 @@ public class CardFactoryUtil {
|
||||
|
||||
inst.addReplacement(re);
|
||||
}
|
||||
|
||||
// No finish yet, need card updates
|
||||
if (keyword.startsWith("PreventAllDamageBy") && keyword.contains(":")) {
|
||||
final String[] k = keyword.split(":");
|
||||
String rep = "Event$ DamageDone | Prevent$ True | ValidTarget$ Card.Self | ValidSource$ " + k[1];
|
||||
rep += "| Description$ ";
|
||||
if (k.length > 2) {
|
||||
rep += k[2];
|
||||
} else {
|
||||
rep += "Prevent all damage that would be dealt to CARDNAME by " + k[1];
|
||||
}
|
||||
|
||||
ReplacementEffect re = ReplacementHandler.parseReplacement(rep, card, intrinsic);
|
||||
|
||||
inst.addReplacement(re);
|
||||
}
|
||||
}
|
||||
|
||||
public static void addSpellAbility(final KeywordInterface inst, final Card card, final boolean intrinsic) {
|
||||
|
||||
@@ -17,12 +17,14 @@
|
||||
*/
|
||||
package forge.game.card;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import forge.card.*;
|
||||
import forge.card.mana.ManaCost;
|
||||
import forge.card.mana.ManaCostParser;
|
||||
import forge.game.CardTraitBase;
|
||||
import forge.game.ForgeScript;
|
||||
import forge.game.GameObject;
|
||||
import forge.game.card.CardView.CardStateView;
|
||||
@@ -509,5 +511,18 @@ public class CardState extends GameObject {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void updateChangedText() {
|
||||
final List<CardTraitBase> allAbs = ImmutableList.<CardTraitBase>builder()
|
||||
.addAll(manaAbilities)
|
||||
.addAll(nonManaAbilities)
|
||||
.addAll(triggers)
|
||||
.addAll(replacementEffects)
|
||||
.addAll(staticAbilities)
|
||||
.build();
|
||||
for (final CardTraitBase ctb : allAbs) {
|
||||
if (ctb.isIntrinsic()) {
|
||||
ctb.changeText();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user