Merge branch 'fireball' into 'master'

Fix Fireball

Closes #1970

See merge request core-developers/forge!5333
This commit is contained in:
Michael Kamensky
2021-09-12 10:06:38 +00:00
12 changed files with 10 additions and 22 deletions

View File

@@ -137,7 +137,6 @@ public class EffectAi extends SpellAbilityAi {
}
randomReturn = true;
} else if (logic.equals("Evasion")) {
if (!phase.isPlayerTurn(ai)) {
return false;
}

View File

@@ -155,7 +155,6 @@ public enum AbilityKey {
}
}
return null;
}
public static <V> EnumMap<AbilityKey, V> newMap() {

View File

@@ -451,7 +451,6 @@ public class AbilityUtils {
public static int calculateAmount(final Card card, String amount, final CardTraitBase ability) {
return calculateAmount(card, amount, ability, false);
}
public static int calculateAmount(final Card card, String amount, final CardTraitBase ability, boolean maxto) {
// return empty strings and constants
if (StringUtils.isBlank(amount)) { return 0; }

View File

@@ -175,7 +175,6 @@ public class CountersRemoveEffect extends SpellAbilityEffect {
String title = Localizer.getInstance().getMessage("lblSelectRemoveCountersNumberOfTarget", type);
cntToRemove = pc.chooseNumber(sa, title, 0, cntToRemove, params);
}
}
if (cntToRemove > 0) {
gameCard.subtractCounter(counterType, cntToRemove);
@@ -199,7 +198,6 @@ public class CountersRemoveEffect extends SpellAbilityEffect {
}
}
protected void removeAnyType(GameEntity entity, int cntToRemove, SpellAbility sa) {
boolean rememberRemoved = sa.hasParam("RememberRemoved");

View File

@@ -45,8 +45,7 @@ public class DigEffect extends SpellAbilityEffect {
if (tgtPlayers.contains(host.getController())) {
sb.append("their ");
}
else {
} else {
for (final Player p : tgtPlayers) {
sb.append(Lang.getInstance().getPossesive(p.getName())).append(" ");
}
@@ -323,8 +322,7 @@ public class DigEffect extends SpellAbilityEffect {
libraryPosition = zone.size();
}
c = game.getAction().moveTo(zone, c, libraryPosition, sa);
}
else {
} else {
c = game.getAction().moveTo(zone, c, sa);
if (destZone1.equals(ZoneType.Battlefield)) {
if (sa.hasParam("Tapped")) {
@@ -383,8 +381,7 @@ public class DigEffect extends SpellAbilityEffect {
Card m;
if (destZone2 == ZoneType.Library) {
m = game.getAction().moveToLibrary(c, libraryPosition2, sa);
}
else {
} else {
m = game.getAction().moveToVariantDeck(c, destZone2, libraryPosition2, sa);
}
if (m != null && !origin.equals(m.getZone().getZoneType())) {
@@ -394,8 +391,7 @@ public class DigEffect extends SpellAbilityEffect {
host.addRemembered(m);
}
}
}
else {
} else {
// just move them randomly
for (int i = 0; i < rest.size(); i++) {
Card c = rest.get(i);

View File

@@ -34,8 +34,7 @@ public class ReorderZoneEffect extends SpellAbilityEffect {
if (shuffle) {
Collections.shuffle(list, MyRandom.getRandom());
p.getZone(zone).setCards(list);
}
else {
} else {
p.getController().orderMoveToZoneList(list, zone, sa);
}
}

View File

@@ -81,7 +81,6 @@ public class ReplacementHandler {
//private final List<ReplacementEffect> tmpEffects = new ArrayList<ReplacementEffect>();
public List<ReplacementEffect> getReplacementList(final ReplacementType event, final Map<AbilityKey, Object> runParams, final ReplacementLayer layer) {
final CardCollection preList = new CardCollection();
boolean checkAgain = false;
Card affectedLKI = null;

View File

@@ -4,6 +4,6 @@ Types:Creature Insect
PT:3/1
K:Vanishing:3
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self+counters_EQ0_TIME | Execute$ TrigToken | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, if it had no time counters on it, create a 6/1 green Insect creature token with shroud. (It can't be the target of spells or abilities.)
SVar:TrigToken:DB$Token | TokenAmount$ 1 | TokenScript$ g_6_1_insect_shroud | TokenOwner$ TriggeredCardController | LegacyImage$ g 6 1 insect shroud plc
SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ g_6_1_insect_shroud | TokenOwner$ TriggeredCardController | LegacyImage$ g 6 1 insect shroud plc
SVar:Picture:http://www.wizards.com/global/images/magic/general/deadly_grub.jpg
Oracle:Vanishing 3 (This creature enters the battlefield with three time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.)\nWhen Deadly Grub dies, if it had no time counters on it, create a 6/1 green Insect creature token with shroud. (It can't be the target of spells or abilities.)

View File

@@ -2,7 +2,7 @@ Name:Fireball
ManaCost:X R
Types:Sorcery
A:SP$ DealDamage | Cost$ X R | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X | TargetMin$ 0 | TargetMax$ MaxTargets | DivideEvenly$ RoundedDown | SpellDescription$ This spell costs {1} more to cast for each target beyond the first.
S:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Amount$ IncreaseCost | EffectZone$ All | Description$ CARDNAME deals X damage divided evenly, rounded down, among any number of targets.
S:Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Amount$ IncreaseCost | AffectedAmount$ True | EffectZone$ All | Description$ CARDNAME deals X damage divided evenly, rounded down, among any number of targets.
SVar:X:Count$xPaid
SVar:MaxTargets:SVar$Maxplayer/Plus.Maxcreatureorplaneswalker
SVar:Maxplayer:PlayerCountPlayers$Amount

View File

@@ -3,7 +3,7 @@ ManaCost:8 C C
Types:Legendary Creature Eldrazi
PT:12/12
T:Mode$ SpellCast | ValidCard$ Card.Self | Execute$ TrigDraw | CheckSVar$ Y | SVarCompare$ LT7 | TriggerDescription$ When you cast this spell, if you have fewer than seven cards in hand, draw cards equal to the difference.
SVar:TrigDraw:DB$Draw | Defined$ You | NumCards$ Difference
SVar:TrigDraw:DB$ Draw | Defined$ You | NumCards$ Difference
SVar:Y:Count$InYourHand
SVar:Difference:Number$7/Minus.Y
K:Menace

View File

@@ -87,7 +87,7 @@ public class FControlGamePlayback extends IGameEventVisitor.Base<Void> {
try {
final boolean isUiToStop = !humanController.getGui().isUiSetToSkipPhase(ev.playerTurn.getView(), ev.phase);
switch(ev.phase) {
switch (ev.phase) {
case COMBAT_END:
case COMBAT_DECLARE_ATTACKERS:
case COMBAT_DECLARE_BLOCKERS:

View File

@@ -720,8 +720,7 @@ public class HumanCostDecision extends CostDecisionMakerBase {
final CardView view = CardView.get(card);
return player.getController().confirmPayment(cost, Localizer.getInstance().getMessage("lblReturnCardToHandConfirm", CardTranslation.getTranslatedName(view.getName())), ability) ? PaymentDecision.card(card) : null;
}
}
else {
} else {
final CardCollectionView validCards = CardLists.getValidCards(ability.getActivatingPlayer().getCardsIn(ZoneType.Battlefield),
cost.getType().split(";"), player, source, ability);