Remove pseudokicker (#5157)

This commit is contained in:
tool4ever
2024-04-25 10:46:01 +02:00
committed by GitHub
parent 7e828fd654
commit c3a9ec062c
9 changed files with 7 additions and 34 deletions

View File

@@ -2065,9 +2065,6 @@ public class AbilityUtils {
if (sq[0].contains("TimesKicked")) {
return doXMath(isUnlinkedFromCastSA(ctb, c) ? 0 : c.getKickerMagnitude(), expr, c, ctb);
}
if (sq[0].contains("TimesPseudokicked")) {
return doXMath(c.getPseudoKickerMagnitude(), expr, c, ctb);
}
if (sq[0].contains("TimesMutated")) {
return doXMath(c.getTimesMutated(), expr, c, ctb);
}

View File

@@ -4631,11 +4631,6 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
return hasK1 == isOptionalCostPaid(OptionalCost.Kicker2) ? (hasK1 ? 2 : 0) : 1;
}
private int pseudoKickerMagnitude = 0;
public final void addPseudoMultiKickerMagnitude(final int n) { pseudoKickerMagnitude += n; }
public final void setPseudoMultiKickerMagnitude(final int n) { pseudoKickerMagnitude = n; }
public final int getPseudoKickerMagnitude() { return pseudoKickerMagnitude; }
// for cards like Giant Growth, etc.
public final int getTempPowerBoost() {
int result = 0;

View File

@@ -3148,11 +3148,7 @@ public class CardFactoryUtil {
final String[] n = keyword.split(":");
final SpellAbility sa = card.getFirstSpellAbility();
sa.setMultiKickerManaCost(new ManaCost(new ManaCostParser(n[1])));
if (keyword.endsWith("Generic")) {
sa.addAnnounceVar("Pseudo-multikicker");
} else {
sa.addAnnounceVar("Multikicker");
}
} else if (keyword.startsWith("Mutate")) {
final String[] params = keyword.split(":");
final String cost = params[1];

View File

@@ -1831,10 +1831,6 @@ public class CardProperty {
if ("1".equals(s) && !card.isOptionalCostPaid(OptionalCost.Kicker1)) return false;
if ("2".equals(s) && !card.isOptionalCostPaid(OptionalCost.Kicker2)) return false;
}
} else if (property.startsWith("pseudokicked")) {
if (property.equals("pseudokicked")) {
if (!card.isOptionalCostPaid(OptionalCost.Generic)) return false;
}
} else if (property.equals("bargained")) {
if (card.getCastSA() == null) {
return false;

View File

@@ -4,7 +4,7 @@ Types:Artifact Creature Gargoyle Demon
PT:4/5
K:Flying
S:Mode$ OptionalCost | EffectZone$ All | ValidCard$ Card.Self | ValidSA$ Spell | Cost$ Sac<1/Creature.nonDemon/non-Demon creature> | Description$ As an additional cost to cast this spell, you may sacrifice a non-Demon creature.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | IsPresent$ Card.Self+pseudokicked | NoResolvingCheck$ True | Execute$ TrigConjure | TriggerDescription$ When CARDNAME enters the battlefield, if its additional cost was paid, conjure a card named Demonic Pact onto the battlefield.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | CheckSVar$ Count$OptionalGenericCostPaid.1.0 | NoResolvingCheck$ True | Execute$ TrigConjure | TriggerDescription$ When CARDNAME enters the battlefield, if its additional cost was paid, conjure a card named Demonic Pact onto the battlefield.
SVar:TrigConjure:DB$ MakeCard | Conjure$ True | Name$ Demonic Pact | Zone$ Battlefield
DeckHas:Ability$Sacrifice
Oracle:As an additional cost to cast this spell, you may sacrifice a non-Demon creature.\nFlying\nWhen Graven Archfiend enters the battlefield, if its additional cost was paid, conjure a card named Demonic Pact onto the battlefield.

View File

@@ -1,10 +1,9 @@
Name:Taste of Paradise
ManaCost:3 G
Types:Sorcery
Text:As an additional cost to cast this spell, you may pay {1}{G} any number of times.
K:Multikicker:1 G:Generic
A:SP$ GainLife | LifeAmount$ Y | SpellDescription$ You gain 3 life plus an additional 3 life for each additional {1}{G} you paid.
SVar:Y:SVar$X/Plus.3
SVar:X:Count$TimesPseudokicked/Times.3
S:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Cost$ 1 G | Amount$ PseudoKicker | EffectZone$ All | Description$ As an additional cost to cast this spell, you may pay {1}{G} any number of times.
A:SP$ GainLife | LifeAmount$ SVar$X/Times.3 | Announce$ PseudoKicker | SpellDescription$ You gain 3 life plus an additional 3 life for each additional {1}{G} you paid.
SVar:X:SVar$PseudoKicker/Plus.1
SVar:PseudoKicker:Number$0
DeckHas:Ability$LifeGain
Oracle:As an additional cost to cast this spell, you may pay {1}{G} any number of times.\nYou gain 3 life plus an additional 3 life for each additional {1}{G} you paid.

View File

@@ -1,6 +1,6 @@
Name:Tribal Flames
ManaCost:1 R
Types:Sorcery
A:SP$ DealDamage | ValidTgts$ Any | NumDmg$ X | SpellDescription$ Domain — Tribal Flames deals X damage to any target, where X is the number of basic land types among lands you control.
A:SP$ DealDamage | ValidTgts$ Any | NumDmg$ X | SpellDescription$ Domain — CARDNAME deals X damage to any target, where X is the number of basic land types among lands you control.
SVar:X:Count$Domain
Oracle:Domain — Tribal Flames deals X damage to any target, where X is the number of basic land types among lands you control.

View File

@@ -596,14 +596,6 @@ public class HumanPlay {
}
}
int timesPseudokicked = source.getPseudoKickerMagnitude();
if (timesPseudokicked > 0 && ability.isAnnouncing("Pseudo-multikicker")) {
ManaCost mkCost = ability.getMultiKickerManaCost();
for (int i = 0; i < timesPseudokicked; i++) {
toPay.addManaCost(mkCost);
}
}
CardCollection cardsToDelve = new CardCollection();
if (!effect) {
CostAdjustment.adjust(toPay, ability, cardsToDelve, false);

View File

@@ -251,8 +251,6 @@ public class HumanPlaySpellAbility {
ability.setSVar(varName, value.toString());
if ("Multikicker".equals(varName)) {
card.setKickerMagnitude(value);
} else if ("Pseudo-multikicker".equals(varName)) {
card.setPseudoMultiKickerMagnitude(value);
} else {
card.setSVar(varName, value.toString());
}