mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-14 17:58:01 +00:00
Merge branch 'NewMaster' into 'master'
[Mobile] update PlayEffect See merge request core-developers/forge!6467
This commit is contained in:
@@ -254,7 +254,8 @@ public class PlayEffect extends SpellAbilityEffect {
|
|||||||
if (sa.hasParam("ShowCardToActivator")) {
|
if (sa.hasParam("ShowCardToActivator")) {
|
||||||
game.getAction().revealTo(tgtCard, activator);
|
game.getAction().revealTo(tgtCard, activator);
|
||||||
}
|
}
|
||||||
|
if (singleOption && sa.getTargetCard() == null)
|
||||||
|
sa.setPlayEffectCard(tgtCard);// show card to play rather than showing the source card
|
||||||
if (singleOption && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantPlayCard", CardTranslation.getTranslatedName(tgtCard.getName())))) {
|
if (singleOption && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantPlayCard", CardTranslation.getTranslatedName(tgtCard.getName())))) {
|
||||||
if (wasFaceDown) {
|
if (wasFaceDown) {
|
||||||
tgtCard.turnFaceDownNoUpdate();
|
tgtCard.turnFaceDownNoUpdate();
|
||||||
|
|||||||
@@ -477,7 +477,6 @@ public class CardView extends GameEntityView {
|
|||||||
void updateNamedCard2(Card c) {
|
void updateNamedCard2(Card c) {
|
||||||
set(TrackableProperty.NamedCard2, c.getNamedCard2());
|
set(TrackableProperty.NamedCard2, c.getNamedCard2());
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean mayPlayerLook(PlayerView pv) {
|
public boolean mayPlayerLook(PlayerView pv) {
|
||||||
TrackableCollection<PlayerView> col = get(TrackableProperty.PlayerMayLook);
|
TrackableCollection<PlayerView> col = get(TrackableProperty.PlayerMayLook);
|
||||||
// TODO don't use contains as it only queries the backing HashSet which is problematic for netplay because of unsynchronized player ids
|
// TODO don't use contains as it only queries the backing HashSet which is problematic for netplay because of unsynchronized player ids
|
||||||
|
|||||||
@@ -113,6 +113,7 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
|||||||
private ManaCost multiKickerManaCost;
|
private ManaCost multiKickerManaCost;
|
||||||
private Player activatingPlayer;
|
private Player activatingPlayer;
|
||||||
private Player targetingPlayer;
|
private Player targetingPlayer;
|
||||||
|
private Card playEffectCard;
|
||||||
private Pair<Long, Player> controlledByPlayer;
|
private Pair<Long, Player> controlledByPlayer;
|
||||||
private ManaCostBeingPaid manaCostBeingPaid;
|
private ManaCostBeingPaid manaCostBeingPaid;
|
||||||
private boolean spentPhyrexian = false;
|
private boolean spentPhyrexian = false;
|
||||||
@@ -1788,6 +1789,12 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
|
|||||||
targetChosen.add(card);
|
targetChosen.add(card);
|
||||||
setStackDescription(getHostCard().getName() + " - targeting " + card);
|
setStackDescription(getHostCard().getName() + " - targeting " + card);
|
||||||
}
|
}
|
||||||
|
public void setPlayEffectCard(final Card card) {
|
||||||
|
playEffectCard = card;
|
||||||
|
}
|
||||||
|
public Card getPlayEffectCard() {
|
||||||
|
return playEffectCard;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import forge.game.player.Player;
|
|||||||
import forge.game.player.PlayerView;
|
import forge.game.player.PlayerView;
|
||||||
import forge.game.spellability.SpellAbility;
|
import forge.game.spellability.SpellAbility;
|
||||||
import forge.game.spellability.SpellAbilityView;
|
import forge.game.spellability.SpellAbilityView;
|
||||||
|
import forge.gui.GuiBase;
|
||||||
import forge.localinstance.properties.ForgePreferences;
|
import forge.localinstance.properties.ForgePreferences;
|
||||||
import forge.model.FModel;
|
import forge.model.FModel;
|
||||||
import forge.player.PlayerControllerHuman;
|
import forge.player.PlayerControllerHuman;
|
||||||
@@ -123,10 +124,16 @@ public abstract class InputBase implements java.io.Serializable, Input {
|
|||||||
controller.getGui().showPromptMessage(getOwner(), message);
|
controller.getGui().showPromptMessage(getOwner(), message);
|
||||||
}
|
}
|
||||||
protected final void showMessage(final String message, final SpellAbilityView sav) {
|
protected final void showMessage(final String message, final SpellAbilityView sav) {
|
||||||
controller.getGui().showCardPromptMessage(getOwner(), message, sav.getHostCard());
|
if (GuiBase.isNetworkplay()) //todo additional check to pass this
|
||||||
|
controller.getGui().showPromptMessage(getOwner(), message);
|
||||||
|
else
|
||||||
|
controller.getGui().showCardPromptMessage(getOwner(), message, sav.getHostCard());
|
||||||
}
|
}
|
||||||
protected final void showMessage(final String message, final CardView card) {
|
protected final void showMessage(final String message, final CardView card) {
|
||||||
controller.getGui().showCardPromptMessage(getOwner(), message, card);
|
if (GuiBase.isNetworkplay()) //todo additional check to pass this
|
||||||
|
controller.getGui().showPromptMessage(getOwner(), message);
|
||||||
|
else
|
||||||
|
controller.getGui().showCardPromptMessage(getOwner(), message, card);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String getTurnPhasePriorityMessage(final Game game) {
|
protected String getTurnPhasePriorityMessage(final Game game) {
|
||||||
|
|||||||
@@ -78,8 +78,8 @@ public class InputConfirm extends InputSyncronizedBase {
|
|||||||
return controller.getGui().confirm(null, message, defaultIsYes, options);
|
return controller.getGui().confirm(null, message, defaultIsYes, options);
|
||||||
if (sa.getTargets() != null && sa.getTargets().isTargetingAnyCard() && sa.getTargets().size() == 1)
|
if (sa.getTargets() != null && sa.getTargets().isTargetingAnyCard() && sa.getTargets().size() == 1)
|
||||||
return controller.getGui().confirm((sa.getTargetCard()==null)?null:CardView.get(sa.getTargetCard()), message, defaultIsYes, options);
|
return controller.getGui().confirm((sa.getTargetCard()==null)?null:CardView.get(sa.getTargetCard()), message, defaultIsYes, options);
|
||||||
if (ApiType.Play.equals(sa.getApi()) && sa.getHostCard() != null && sa.getHostCard().getImprintedCards().size() == 1)
|
if (ApiType.Play.equals(sa.getApi()) && sa.getPlayEffectCard() != null)
|
||||||
return controller.getGui().confirm((sa.getHostCard().getImprintedCards().get(0)==null)?null:CardView.get(sa.getHostCard().getImprintedCards().get(0)), message, defaultIsYes, options);
|
return controller.getGui().confirm(CardView.get(sa.getPlayEffectCard()), message, defaultIsYes, options);
|
||||||
return controller.getGui().confirm(CardView.get(sa.getHostCard()), message, defaultIsYes, options);
|
return controller.getGui().confirm(CardView.get(sa.getHostCard()), message, defaultIsYes, options);
|
||||||
} else {
|
} else {
|
||||||
InputConfirm inp;
|
InputConfirm inp;
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ public enum ProtocolMethod {
|
|||||||
refreshField (Mode.SERVER, Void.TYPE),
|
refreshField (Mode.SERVER, Void.TYPE),
|
||||||
// TODO case "setPlayerAvatar":
|
// TODO case "setPlayerAvatar":
|
||||||
openZones (Mode.SERVER, PlayerZoneUpdates.class, PlayerView.class, Collection/*ZoneType*/.class, Map/*PlayerView,Object*/.class),
|
openZones (Mode.SERVER, PlayerZoneUpdates.class, PlayerView.class, Collection/*ZoneType*/.class, Map/*PlayerView,Object*/.class),
|
||||||
restoreOldZones (Mode.SERVER, Void.TYPE, PlayerView.class, Iterable/*PlayerZoneUpdates*/.class),
|
restoreOldZones (Mode.SERVER, Void.TYPE, PlayerView.class, PlayerZoneUpdates.class),
|
||||||
isUiSetToSkipPhase (Mode.SERVER, Boolean.TYPE, PlayerView.class, PhaseType.class),
|
isUiSetToSkipPhase (Mode.SERVER, Boolean.TYPE, PlayerView.class, PhaseType.class),
|
||||||
setRememberedActions(Mode.SERVER, Void.TYPE),
|
setRememberedActions(Mode.SERVER, Void.TYPE),
|
||||||
nextRememberedAction(Mode.SERVER, Void.TYPE),
|
nextRememberedAction(Mode.SERVER, Void.TYPE),
|
||||||
|
|||||||
@@ -286,6 +286,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//FIXME - on mobile gui it allows the card to cast from opponent hands issue #2127, investigate where the bug occurs before this method is called
|
||||||
spellViewCache = SpellAbilityView.getMap(abilities);
|
spellViewCache = SpellAbilityView.getMap(abilities);
|
||||||
final SpellAbilityView resultView = getGui().getAbilityToPlay(CardView.get(hostCard),
|
final SpellAbilityView resultView = getGui().getAbilityToPlay(CardView.get(hostCard),
|
||||||
Lists.newArrayList(spellViewCache.keySet()), triggerEvent);
|
Lists.newArrayList(spellViewCache.keySet()), triggerEvent);
|
||||||
|
|||||||
Reference in New Issue
Block a user