Merge pull request #2438 from kevlahnota/newmaster2

fix starting cards on adventure mode with etb counters
This commit is contained in:
Anthony Calosa
2023-02-10 03:29:11 +08:00
committed by GitHub
3 changed files with 22 additions and 0 deletions

View File

@@ -2801,6 +2801,19 @@ public class Player extends GameEntity implements Comparable<Player> {
bf.add(c);
c.setSickness(true);
c.setStartsGameInPlay(true);
if (registeredPlayer.hasEnableETBCountersEffect()) {
for (KeywordInterface inst : c.getKeywords()) {
String keyword = inst.getOriginal();
try {
if (keyword.startsWith("etbCounter")) {
final String[] p = keyword.split(":");
c.addCounterInternal(CounterType.getType(p[1]), Integer.valueOf(p[2]), null, false, null, null);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}

View File

@@ -37,6 +37,7 @@ public class RegisteredPlayer {
private PaperCard planeswalker = null;
private int teamNumber = -1; // members of teams with negative id will play FFA.
private boolean randomFoil = false;
private boolean enableETBCountersEffect = false;
public RegisteredPlayer(Deck deck0) {
originalDeck = deck0;
@@ -67,6 +68,13 @@ public class RegisteredPlayer {
this.manaShards = manaShards;
}
public boolean hasEnableETBCountersEffect() {
return enableETBCountersEffect;
}
public void setEnableETBCountersEffect(boolean value) {
enableETBCountersEffect = value;
}
public final void setCardsOnBattlefield(Iterable<IPaperCard> cardsOnTable) {
this.cardsOnBattlefield = cardsOnTable;
}

View File

@@ -178,6 +178,7 @@ public class DuelScene extends ForgeScene {
player.setStartingLife(Math.max(1, lifeMod + player.getStartingLife()));
player.setStartingHand(player.getStartingHand() + changeStartCards);
player.setManaShards((player.getManaShards() + extraManaShards));
player.setEnableETBCountersEffect(true); //enable etbcounters on starting cards like Ring of Three Wishes, etc...
}
public void setDungeonEffect(EffectData E) {