mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
- The cast in AbilityUtils.java:1038 is unsafe despite the comment saying otherwise. The game could crash under certain circumstances with a class cast exception (e.g. the AI attacking with Wings of the Guard into a planeswalker like Kaya, Ghost Assassin).
This commit is contained in:
@@ -4,7 +4,6 @@ import com.google.common.base.Predicate;
|
|||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.google.common.collect.Iterables;
|
import com.google.common.collect.Iterables;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
|
|
||||||
import forge.card.CardType;
|
import forge.card.CardType;
|
||||||
import forge.card.ColorSet;
|
import forge.card.ColorSet;
|
||||||
import forge.card.MagicColor;
|
import forge.card.MagicColor;
|
||||||
@@ -29,7 +28,6 @@ import forge.util.Expressions;
|
|||||||
import forge.util.TextUtil;
|
import forge.util.TextUtil;
|
||||||
import forge.util.collect.FCollection;
|
import forge.util.collect.FCollection;
|
||||||
import forge.util.collect.FCollectionView;
|
import forge.util.collect.FCollectionView;
|
||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.lang3.text.WordUtils;
|
import org.apache.commons.lang3.text.WordUtils;
|
||||||
|
|
||||||
@@ -1032,10 +1030,9 @@ public class AbilityUtils {
|
|||||||
}
|
}
|
||||||
if (o instanceof List) {
|
if (o instanceof List) {
|
||||||
final List<?> pList = (List<?>)o;
|
final List<?> pList = (List<?>)o;
|
||||||
if (!pList.isEmpty() && pList.get(0) instanceof Player) {
|
if (!pList.isEmpty()) {
|
||||||
for (final Object p : pList) {
|
for (final Object p : pList) {
|
||||||
if (!players.contains(p)) {
|
if (p instanceof Player && !players.contains(p)) {
|
||||||
// We now know each p in o to be an instance of Player, so cast is safe
|
|
||||||
players.add((Player) p);
|
players.add((Player) p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user