mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
Resolve "ZNR: Charm Effect tweaks"
This commit is contained in:
committed by
Michael Kamensky
parent
2ce9f9a5b2
commit
daf70f7e60
@@ -85,7 +85,9 @@ public class HumanPlay {
|
||||
}
|
||||
|
||||
if (sa.getApi() == ApiType.Charm && !sa.isWrapper()) {
|
||||
CharmEffect.makeChoices(sa);
|
||||
if (!CharmEffect.makeChoices(sa)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
sa = AbilityUtils.addSpliceEffects(sa);
|
||||
@@ -150,7 +152,9 @@ public class HumanPlay {
|
||||
|
||||
if (!sa.isCopied()) {
|
||||
if (sa.getApi() == ApiType.Charm && !sa.isWrapper()) {
|
||||
CharmEffect.makeChoices(sa);
|
||||
if (!CharmEffect.makeChoices(sa)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
sa = AbilityUtils.addSpliceEffects(sa);
|
||||
}
|
||||
|
||||
@@ -1,20 +1,8 @@
|
||||
package forge.player;
|
||||
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileWriter;
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang3.Range;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -62,7 +50,6 @@ import forge.game.PlanarDice;
|
||||
import forge.game.ability.AbilityFactory;
|
||||
import forge.game.ability.AbilityKey;
|
||||
import forge.game.ability.ApiType;
|
||||
import forge.game.ability.effects.CharmEffect;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.card.CardCollection;
|
||||
import forge.game.card.CardCollectionView;
|
||||
@@ -1591,14 +1578,13 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
* spellability.SpellAbility, java.util.List, int, int)
|
||||
*/
|
||||
@Override
|
||||
public List<AbilitySub> chooseModeForAbility(final SpellAbility sa, final int min, final int num,
|
||||
public List<AbilitySub> chooseModeForAbility(final SpellAbility sa, List<AbilitySub> possible, final int min, final int num,
|
||||
boolean allowRepeat) {
|
||||
boolean trackerFrozen = game.getTracker().isFrozen();
|
||||
if (trackerFrozen) {
|
||||
// The view tracker needs to be unfrozen to update the SpellAbilityViews at this point, or it may crash
|
||||
game.getTracker().unfreeze();
|
||||
}
|
||||
final List<AbilitySub> possible = CharmEffect.makePossibleOptions(sa);
|
||||
Map<SpellAbilityView, AbilitySub> spellViewCache = SpellAbilityView.getMap(possible);
|
||||
if (trackerFrozen) {
|
||||
game.getTracker().freeze(); // refreeze if the tracker was frozen prior to this update
|
||||
|
||||
Reference in New Issue
Block a user