diff --git a/CardInfo.js b/CardInfo.js index cfd00c6..2f791ca 100644 --- a/CardInfo.js +++ b/CardInfo.js @@ -123896,37 +123896,33 @@ var CardInfo = { // TODO: 测试失去效果和不再获得新效果 // TODO: FAQ 大天使不会受「失去效果」的影响,大天使会受「不能获得新效果」的影响 layer: true, - action: function (set,add) { - var effect = this.game.newEffect({ - source: this, - description: '2421-const-0', - condition: function () { - return this.getOpposingSigni(); - }, - actionAsyn: function () { - var signi = this.getOpposingSigni(); - this.game.tillTurnEndSet(signi,'abilityLost',true); - this.game.tillTurnEndSet(signi,'canNotGainAbility',true,{forced: true}); - } - }); - add(this.player,'onAttack',effect); + auto: 'onAttack', + effect: { + source: this, + description: '2421-const-0', + condition: function () { + return this.getOpposingSigni(); + }, + actionAsyn: function () { + var signi = this.getOpposingSigni(); + this.game.tillTurnEndSet(signi,'abilityLost',true); + this.game.tillTurnEndSet(signi,'canNotGainAbility',true,{forced: true}); + } }, },{ layer: true, - action: function (set,add) { - var effect = this.game.newEffect({ - source: this, - description: '2421-const-1', - actionAsyn: function () { - return this.player.selectOpponentSigniAsyn().callback(this,function (signi) { - if (!signi) return; - this.game.tillTurnEndSet(signi,'abilityLost',true); - this.game.tillTurnEndSet(signi,'canNotGainAbility',true,{forced: true}); - }); - } - }); - add(this,'onBanish',effect); - }, + auto: 'onBanish', + effect: { + source: this, + description: '2421-const-1', + actionAsyn: function () { + return this.player.selectOpponentSigniAsyn().callback(this,function (signi) { + if (!signi) return; + this.game.tillTurnEndSet(signi,'abilityLost',true); + this.game.tillTurnEndSet(signi,'canNotGainAbility',true,{forced: true}); + }); + } + } }], }, "2422": { @@ -123972,7 +123968,7 @@ var CardInfo = { if (!cards.length) return; return this.player.selectSomeAsyn('TARGET',cards,0,4).callback(this,function (cards) { if (!cards.length) return; - this.player.mainDeck.moveCardsToBottom(cards); + this.game.moveCards(cards,this.player.mainDeck); this.player.shuffle(); }); } @@ -124549,7 +124545,6 @@ var CardInfo = { "limit": 0, "power": 0, "limiting": "ドーナ", - "timing": "アタックフェイズ", "imgUrl": "http://www.takaratomy.co.jp/products/wixoss/wxwp/images/card/WX17/WX17-003.jpg", "illust": "mado*pen", "classes": [], @@ -124594,26 +124589,26 @@ var CardInfo = { }, },{ actionAsyn: function () { - var levels = []; var cards_add = []; - var done = false; - return Callback.loop(this,2,function () { - if (done) return; - var cards = this.player.mainDeck.cards.filter(function (card) { - return (card.type === 'SIGNI') && card.hasClass('怪異') && !inArr(card.level,levels); + var cards = this.player.mainDeck.cards.filter(function (card) { + return card.hasClass('怪異'); + },this); + selectOptionalAsyn + return this.player.selectOptionalAsyn('SEEK',cards).callback(this,function (card) { + if (!card) return + cards_add.push(card); + var level = card.level; + cards = this.player.mainDeck.cards.filter(function (card) { + return card.hasClass('怪異') && (card.level !== level); },this); - return this.player.selectSomeAsyn('SEEK',cards,0,1,false,this.player.mainDeck.cards).callback(this,function (cards) { - var card = cards[0]; - if (!card) { - done = true; - return; - } - levels.push(card.level); + }).callback(this,function() { + return this.player.selectOptionalAsyn('SEEK',cards).callback(this,function (card) { + if (!card) return; cards_add.push(card); }); - }).callback(this,function () { - if (cards_add.length !== 2) return; + }).callback(this,function() { return this.player.opponent.showCardsAsyn(cards_add).callback(this,function () { + if (!cards_add.length) return; this.game.moveCards(cards_add,this.player.handZone); this.player.shuffle(); }); @@ -125375,29 +125370,20 @@ var CardInfo = { var cards = this.game.cards.filter(function (card) { return (card.player === this.player) && card.hasClass('怪異'); },this); - // TODO: 效果在这张signi出场时生效,离场时失效 - // TODO: FAQ 多个生命爆发发动时,可以自己选择发动顺序 - // TODO: FAQ 多张卡在场时,生命爆发效果可以叠加 - this.game.addConstEffect({ - source: this, - fixed: true, - action: function (set,add) { - cards.forEach(function (card) { - var effect = this.game.newEffect({ - source: card, - description: '2450-attached-0', - optional: true, - actionAsyn: function () { - return this.selectOpponentSigniAsyn().callback(this,function (signi) { - if (!signi) return; - return signi.banishAsyn(); - }); - } + cards.forEach(function (card) { + var effect = this.game.newEffect({ + source: card, + description: '2450-attached-0', + optional: true, + actionAsyn: function () { + return this.selectOpponentSigniAsyn().callback(this,function (signi) { + if (!signi) return; + return signi.trashAsyn(); }); - add(card,'onBurst',effect); - },this); - } - }); + } + }); + add(card,'onBurst',effect); + },this); } }], // ====================== @@ -126081,23 +126067,23 @@ var CardInfo = { ], constEffects: [{ layer: true, - action: function (set,add) { - var effect = this.game.newEffect({ - source: this, - description: '2461-const-0', - triggerCondition: function () { - return (this.game.turnPlayer === this.player.opponent); - }, - optional: true, - actionAsyn: function () { - // TODO: 拿不准这个的发动顺序,应该是先移动到能量区,再移动到手牌 - // TODO: FAQ WD17-006(孤立无炎:破坏对方所有Signi)发动,所有被驱逐的怪异都可以发动返回手牌的效果 - this.moveTo(this.player.handZone); - } - }); - add(this,'onBanish',effect); + auto: 'onBanish', + effect: { + source: this, + description: '2461-const-0', + condition: function () { + return (this.zone === this.player.enerZone); + }, + triggerCondition: function () { + return (this.game.turnPlayer === this.player.opponent); + }, + optional: true, + actionAsyn: function () { + // TODO: FAQ WD17-006(孤立无炎:破坏对方所有Signi)发动,所有被驱逐的怪异都可以发动返回手牌的效果 + this.moveTo(this.player.handZone); + } } - }, + }], }, "2462": { "pid": 2462, @@ -128487,7 +128473,7 @@ var CardInfo = { ], actionEffects: [{ costCondition: function () { - var cards = this.player.hands.some(function (card) { + var cards = this.player.hands.filter(function (card) { return card.hasClass('怪異'); },this) return cards.length >= 3; @@ -128503,10 +128489,10 @@ var CardInfo = { actionAsyn: function () { var cards = this.player.opponent.signis; if (cards.length < 2) return; - return this.player.selectSomeTargetAsyn(cards,2,2).callback(this,function (cards) { + return this.player.selectSomeTargetsAsyn(cards,2,2).callback(this,function (cards) { if (!cards.length) return; - cards.forEach(function() { - card.moveTo(card.player.handZone); + return Callback.forEach(cards,function(card) { + card.bounceAsyn(); },this); }); }, @@ -128540,7 +128526,7 @@ var CardInfo = { source: this, destroyTimming: this.player.onTurnStart, action: function (set,add) { - add(resona,'effectFilters',function (card) { + add(this,'effectFilters',function (card) { return (card.player !== this.player.opponent) || (card.type !== 'SIGNI'); }); }