mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Draft matters with a vengeance (#5400)
* Next few Draft cards * Whispergear Sneak * Whispergear Sneak * Code review fixes * Fix index mapping * Don't try to log if Draft doesnt have one
This commit is contained in:
@@ -50,7 +50,6 @@ import forge.util.Aggregates;
|
||||
import forge.util.MyRandom;
|
||||
import forge.util.Visitor;
|
||||
import forge.util.collect.FCollection;
|
||||
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
@@ -327,7 +326,9 @@ public class Game {
|
||||
int plId = 0;
|
||||
for (RegisteredPlayer psc : players0) {
|
||||
IGameEntitiesFactory factory = (IGameEntitiesFactory)psc.getPlayer();
|
||||
Player pl = factory.createIngamePlayer(this, plId++);
|
||||
// If the Registered Player already has a pre-assigned ID, use that. Otherwise, assign a new one.
|
||||
Integer id = psc.getId();
|
||||
Player pl = factory.createIngamePlayer(this, id == null ? plId++ : id);
|
||||
allPlayers.add(pl);
|
||||
ingamePlayers.add(pl);
|
||||
|
||||
|
||||
@@ -2120,6 +2120,14 @@ public class CardProperty {
|
||||
}
|
||||
List<String> nameList = Lists.newArrayList(names.split(";"));
|
||||
|
||||
return nameList.contains(card.getName());
|
||||
} else if (property.equals("NotedNameAetherSearcher")) {
|
||||
String names = sourceController.getDraftNotes().get("Aether Searcher");
|
||||
if (names == null || names.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
List<String> nameList = Lists.newArrayList(names.split(";"));
|
||||
|
||||
return nameList.contains(card.getName());
|
||||
} else if (property.equals("NotedTypes")) {
|
||||
// Should Paliano Vanguard be hardcoded here or part of the property?
|
||||
|
||||
@@ -2,7 +2,6 @@ package forge.game.player;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import forge.game.CardTraitBase;
|
||||
import forge.game.Game;
|
||||
import forge.game.ability.AbilityUtils;
|
||||
@@ -15,6 +14,7 @@ import forge.util.Expressions;
|
||||
import forge.util.TextUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
@@ -264,6 +264,10 @@ public class PlayerProperty {
|
||||
if (source.getChosenPlayer() == null || !source.getChosenPlayer().equals(player)) {
|
||||
return false;
|
||||
}
|
||||
} else if (property.equals("NotedDefender")) {
|
||||
String tracker = player.getDraftNotes().getOrDefault("Cogwork Tracker", "");
|
||||
|
||||
return Iterables.contains(Arrays.asList(tracker.split(",")), String.valueOf(player));
|
||||
} else if (property.startsWith("life")) {
|
||||
int life = player.getLife();
|
||||
int amount = AbilityUtils.calculateAmount(source, property.substring(6), spellAbility);
|
||||
|
||||
@@ -1,13 +1,7 @@
|
||||
package forge.game.player;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import forge.LobbyPlayer;
|
||||
import forge.deck.CardPool;
|
||||
import forge.deck.Deck;
|
||||
@@ -16,6 +10,11 @@ import forge.game.GameType;
|
||||
import forge.item.IPaperCard;
|
||||
import forge.item.PaperCard;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
public class RegisteredPlayer {
|
||||
private final Deck originalDeck; // never return or modify this instance (it's a reference to game resources)
|
||||
private Deck currentDeck;
|
||||
@@ -37,6 +36,7 @@ public class RegisteredPlayer {
|
||||
private List<PaperCard> vanguardAvatars = null;
|
||||
private PaperCard planeswalker = null;
|
||||
private int teamNumber = -1; // members of teams with negative id will play FFA.
|
||||
private Integer id = null;
|
||||
private boolean randomFoil = false;
|
||||
private boolean enableETBCountersEffect = false;
|
||||
|
||||
@@ -45,6 +45,14 @@ public class RegisteredPlayer {
|
||||
restoreDeck();
|
||||
}
|
||||
|
||||
public final Integer getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public final void setId(Integer id0) {
|
||||
id = id0;
|
||||
}
|
||||
|
||||
public final Deck getDeck() {
|
||||
return currentDeck;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user