Merge remote-tracking branch 'core/master'

This commit is contained in:
Anthony Calosa
2021-03-05 01:57:48 +08:00
7 changed files with 58 additions and 28 deletions

View File

@@ -223,6 +223,19 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
if (!movedCard.getZone().equals(originZone)) {
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), movedCard);
if (c.getMeldedWith() != null) {
Card meld = game.getCardState(c.getMeldedWith(), null);
if (meld != null) {
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), meld);
}
}
if (c.hasMergedCard()) {
for (final Card cm : c.getMergedCards()) {
if (cm == c) continue;
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), cm);
}
}
}
}

View File

@@ -728,17 +728,29 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
}
}
if (!movedCard.getZone().equals(originZone)) {
Card meld = null;
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), movedCard);
if (gameCard.getMeldedWith() != null) {
meld = game.getCardState(gameCard.getMeldedWith(), null);
if (meld != null) {
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), meld);
}
}
if (gameCard.hasMergedCard()) {
for (final Card c : gameCard.getMergedCards()) {
if (c == gameCard) continue;
triggerList.put(originZone.getZoneType(), movedCard.getZone().getZoneType(), c);
}
}
if (remember != null) {
hostCard.addRemembered(movedCard);
// addRememberedFromCardState ?
if (gameCard.getMeldedWith() != null) {
Card meld = game.getCardState(gameCard.getMeldedWith(), null);
if (meld != null) {
hostCard.addRemembered(meld);
}
}
if (gameCard.hasMergedCard()) {
for (final Card c : gameCard.getMergedCards()) {
if (c == gameCard) continue;

View File

@@ -68,8 +68,10 @@ public class RollDiceEffect extends SpellAbilityEffect {
total += roll;
}
if (amount > 0) {
String message = Localizer.getInstance().getMessage("lblPlayerRolledResult", player, StringUtils.join(rolls, ", "));
player.getGame().getAction().nofityOfValue(sa, player, message, null);
}
if (sa.hasParam("ResultSVar")) {
host.setSVar(sa.getParam("ResultSVar"), ""+total);

View File

@@ -3,10 +3,10 @@ ManaCost:X B B
Types:Creature Zombie
PT:0/1
R:Event$ Moved | ValidCard$ Card.Self | Destination$ Battlefield | ReplaceWith$ ExileCreature | Description$ As CARDNAME enters the battlefield, exile X creature cards from your graveyard. If you can't, put CARDNAME into its owner's graveyard instead of onto the battlefield. For each creature card exiled this way, CARDNAME enters the battlefield with a +2/+0, +1/+1, or +0/+2 counter on it.
SVar:ExileCreature:DB$ ChooseCard | ETB$ True | Choices$ Creature.YouOwn | ChoiceZone$ Graveyard | Amount$ X | Mandatory$ True | ConditionCheckSVar$ CheckYard | ConditionSVarCompare$ GEX | References$ CheckYard,X | SubAbility$ DBExile
SVar:ExileCreature:DB$ ChooseCard | ETB$ True | Choices$ Creature.YouOwn | ChoiceZone$ Graveyard | Amount$ X | Mandatory$ True | ConditionCheckSVar$ CheckYard | ConditionSVarCompare$ GEX | SubAbility$ DBExile
SVar:DBExile:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Graveyard | Destination$ Exile | RememberChanged$ True | SubAbility$ Movetoyard
SVar:Movetoyard:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Graveyard | Defined$ Self | ConditionCheckSVar$ CheckExiled | ConditionSVarCompare$ LTX | References$ CheckExiled,X | Imprint$ True | SubAbility$ ChooseCounters
SVar:ChooseCounters:DB$ Repeat | MaxRepeat$ X | ETB$ True | RepeatSubAbility$ DBChooseCounter | ConditionCheckSVar$ CheckExiled | ConditionSVarCompare$ EQX | References$ CheckExiled,X | SubAbility$ MovetoPlay
SVar:Movetoyard:DB$ ChangeZone | Hidden$ True | Origin$ All | Destination$ Graveyard | Defined$ Self | ConditionCheckSVar$ CheckExiled | ConditionSVarCompare$ LTX | Imprint$ True | ETB$ True | SubAbility$ ChooseCounters
SVar:ChooseCounters:DB$ Repeat | MaxRepeat$ X | ETB$ True | RepeatSubAbility$ DBChooseCounter | ConditionCheckSVar$ CheckExiled | ConditionSVarCompare$ EQX | SubAbility$ MovetoPlay
SVar:DBChooseCounter:DB$ GenericChoice | Choices$ SVarP1P1,SVarP2P0,SVarP0P2
SVar:SVarP1P1:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 | ETB$ True | SpellDescription$ +1/+1
SVar:SVarP2P0:DB$ PutCounter | CounterType$ P2P0 | CounterNum$ 1 | ETB$ True | SpellDescription$ +2/+0

View File

@@ -4,7 +4,8 @@ Types:Creature Frog Rogue
PT:2/1
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, target opponent reveals their hand. Choose a nonland card from it. Ransom that card. (Exile it. Its owner may pay {3} at any time to return it to their hand.)
SVar:TrigExile:DB$ ChangeZone | Origin$ Hand | Destination$ Exile | ValidTgts$ Opponent | DefinedPlayer$ Targeted | Chooser$ You | TgtPrompt$ Select target opponent | ChangeType$ Card.nonLand | ChangeNum$ 1 | IsCurse$ True | RememberChanged$ True | SubAbility$ TrigRansom
SVar:TrigRansom:DB$ Effect | EffectOwner$ ParentTarget | Duration$ Permanent | Abilities$ PayUp | SVars$ ExileEffect | RememberObjects$ RememberedLKI
SVar:TrigRansom:DB$ Effect | EffectOwner$ ParentTarget | Duration$ Permanent | Abilities$ PayUp | SVars$ ExileEffect | RememberObjects$ RememberedLKI | SubAbility$ DBCleanup
SVar:PayUp:ST$ ChangeZone | Cost$ 3 | Defined$ Remembered | Origin$ Exile | Destination$ Hand | ActivationZone$ Command | AILogic$ Always | SubAbility$ ExileEffect
SVar:ExileEffect:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
Oracle:When Frogkin Kidnapper enters the battlefield, target opponent reveals their hand. Choose a nonland card from it. Ransom that card. (Exile it. Its owner may pay {3} at any time to return it to their hand.)

View File

@@ -4,7 +4,7 @@ Types:Creature Hydra Dog
PT:0/0
K:ETBReplacement:Other:RollCounters
SVar:X:Count$xPaid
SVar:RollCounters:DB$ RollDice | Amt$ X | ResultSVar$ Result | SubAbility$ DBCounters | SpellDescription$ As CARDNAME enters the battlefield, roll X six-sided dice. CARDNAME enters the battlefield with a number of +1/+1 counters on it equal to the total of those results.
SVar:RollCounters:DB$ RollDice | Amt$ X | ETB$ True | ResultSVar$ Result | SubAbility$ DBCounters | SpellDescription$ As CARDNAME enters the battlefield, roll X six-sided dice. CARDNAME enters the battlefield with a number of +1/+1 counters on it equal to the total of those results.
SVar:DBCounters:DB$ PutCounter | Defined$ Self | CounterType$ P1P1 | CounterNum$ Result | ETB$ True
K:Reach
K:Trample

View File

@@ -585,10 +585,10 @@ lblRandomDecks=Mazos aleatorios
lblNetDecks=Mazos online
lblNetCommanderDecks=Mazos Commander online
lblNetArchiveStandardDecks=Archivo online de mazos Standard
lblNetArchivePioneerDecks=Archivo online de mazos Pioneer
lblNetArchiveModernDecks=Archivo online de mazos Modern
lblNetArchivePioneerDecks=Net Archive Pioneer Decks
lblNetArchiveLegacyDecks=Net Archive Legacy Decks
lblNetArchiveVintageDecks=Net Archive Vintage Decks
lblNetArchiveLegacyDecks=Archivo online de mazos Legacy
lblNetArchiveVintageDecks=Archivo online de mazos Vintage
#VSubmenuTutorial
lblTutorial=Tutorial
lblTutorialMode=Modo Tutorial
@@ -933,7 +933,7 @@ lblSideboard=Banquillo
lblNew=Nuevo
lblOwned=Adquirida
lblPower=Fuerza
ttPower=Power
ttPower=Fuerza
lblPrice=Precio
ttPrice=Precio
lblRanking=Ranking
@@ -1003,16 +1003,16 @@ lblEnableRoundBorder=Habilitar máscara de bordes redondeados
nlEnableRoundBorder=Cuando está habilitado, las esquinas de las cartas se redondean (Preferiblemente Cartas con bordes completos).
lblPreloadExtendedArtCards=Precargar cartas de arte extendido
nlPreloadExtendedArtCards=Cuando está habilitado, carga previamente las cartas de arte ampliadas en la caché al iniciar el programa (Alto uso de RAM).
lblEnableMatchScrollIndicator=Match Scroll Indicator
nlEnableMatchScrollIndicator=When enabled, show the scroll indicator on the match screen.
lblMatchScrollIndicator=Indicador de desplazamiento del juego
nlMatchScrollIndicator=Cuando está habilitado, muestra el indicador de desplazamiento en la pantalla de juego.
lblShowFPSDisplay=Mostrar FPS
nlShowFPSDisplay=Cuando está habilitado, muestra los FPS (Experimental).
lblEnableUnknownCards=Habilitar cartas desconocidas
nlEnableUnknownCards=Habilitar que las cartas desconocidas se carguen en el Unknown Set. (Requiere reinicio)
lblEnableNonLegalCards=Enable Non-Legal Cards
nlEnableNonLegalCards=Enable Non-Legal Cards like Un-sets and PlayTest Cards. (Requires restart)
lblDisableCardImages=Disable Card Images
nlDisableCardImages=When enabled, Forge will not display card images.
lblEnableNonLegalCards=Habilitar cartas no legales
nlEnableNonLegalCards=Habilita cartas no legales como Un-Sets y cartas para testeo. (Requiere reinicio)
lblDisableCardImages=Desactivar imágenes de cartas
nlDisableCardImages=Cuando está habilitado, Forge no mostrará imágenes de tarjetas.
lblExperimentalNetworkCompatibility=Compatibilidad de red experimental
nlExperimentalNetworkCompatibility=Forge cambia a un flujo de red compatible. (Si no estás seguro, deshabilita esta opción)
lblDisposeTextures=Desechar texturas
@@ -1737,7 +1737,7 @@ lblSelectACardAttachSourceTo={0} - Selecciona una carta a la que anexar.
#BidLifeEffect.java
lblBidLife=Elige una puja más alta
lblChooseStartingBid=Elige una apuesta inicial
lblDoYouWantTopBid=¿Quieres hacer una puja máxima? Puja actual \
lblDoYouWantTopBid=Do you want to top bid? Current Bid \=
lblTopBidWithValueLife=puja más alta con {0} de vida
#BondEffect.java
lblSelectACardPair=Selecciona una carta para emparejarla con
@@ -1913,9 +1913,9 @@ lblFaceDownCardCantTurnFaceUp=La carta boca abajo no se puede girar boca arriba
#ShuffleEffect.java
lblHaveTargetShuffle=¿Ha barajado {0}?
#SubgameEffect.java
lblSubgameStart=Subgame started by {0}''s effect.
lblSubgameEnd=Subgame ended. {0} wins. {1} loses.
lblSubgameEndDraw=Subgame ended in a draw.
lblSubgameStart=Subjuego iniciado por el efecto de {0}.
lblSubgameEnd=Terminó el subjuego. {0} gana. {1} pierde.
lblSubgameEndDraw=El subjuego terminó en empate.
#SurveilEffect.java
lblDoYouWantSurveil=¿Quieres vigilar?
#TapOrUntapAllEffect.java
@@ -1932,6 +1932,8 @@ lblSelectCardToUntap=Selecciona las cartas que quieres enderezar
lblVote=Votar
lblCurrentVote=Votos actuales
lblHowManyAdditionalVotesDoYouWant=¿Cuántos votos adicionales quieres?
#InputPayMana.java
lblChooseManaAbility=Elige una habilidad de maná:
#VDevMenu.java
lblUnlimitedLands=Jugar tierras ilimitadas
lblGenerateMana=Generar maná
@@ -1976,11 +1978,11 @@ lblLibraryZone=biblioteca
lblGraveyardZone=cementerio
lblBattlefieldZone=campo de batalla
lblExileZone=exilio
lblFlashbackZone=flashback
lblFlashbackZone=restrospectiva
lblCommandZone=mando
lblStackZone=pila
lblSideboardZone=banquillo
lblAnteZone=ante
lblAnteZone=apuesta
lblSchemeDeckZone=mazo scheme
lblPlanarDeckZone=mazo planar
lblSubgameZone=subjuego