💩 coding cards effects (WX17 white)

This commit is contained in:
deardrops 2017-09-22 12:34:49 +08:00 committed by webxoss
parent b4f04314a2
commit 159cd92f79

View file

@ -124566,55 +124566,89 @@ var CardInfo = {
"以下から2つまで選ぶ。同じ選択肢を2回選んでもよい。あなたがベットしていた場合、代わりに4つまで選ぶ。同じ選択肢を2回以上選んでもよい。\n" +
"①対戦相手のシグニ1体を手札に戻す。あなたは手札を1枚捨てる。\n" +
"②ターン終了時まで、対戦相手のルリグ1体は「アタックできない。」を得る。\n" +
"③あなたのデッキからそれぞれレベルの異なる<怪異>のシグニ2枚を探して公開し手札に加える。その後、デッキをシャッフルする。",
"③あなたのデッキからそれぞれレベルの異なる<怪異>のシグニ2枚を探して公開し手札に加える。その後、デッキをシャッフルする。"
],
bet: 2,
artsEffect: [{
actionAsyn: function () {
var effects = [{
index: 0,
source: this,
description: '2435-attached-0',
actionAsyn: function () {
return this.player.selectOpponentSigniAsyn().callback(this,function (card) {
if (!card) return;
return card.bounceAsyn();
}).callback(this,function () {
return this.player.discardAsyn(1);
});
},
},{
index: 1,
source: this,
description: '2435-attached-1',
actionAsyn: function () {
this.game.tillTurnEndSet(this,this.player.opponent.lrig,'canNotAttack',true);
},
},{
index: 2;
source: this,
description: '2435-attached-2',
actionAsyn: function () {
var cards_add = [];
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);
}).callback(this,function() {
return this.player.selectOptionalAsyn('SEEK',cards).callback(this,function (card) {
if (!card) return;
cards_add.push(card);
});
}).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();
});
});
},
}];
// 玩家2次选择要发动的效果可以重复选择。 bet后有4次。
var chosen_effects = [];
var count = costArg.bet ? 4 : 2;
return CallBack.loop(this,count,function() {
return this.player.selectAsyn('LAUNCH',effects).callback(this,function (effect) {
if (!effect) return;
chosen_effects.push(effects)
});
}).callback(this,function() {
if (!chosen_effects.length) return;
// 按照1,2,3的顺序发动效果
chosen_effects.sort(function (a,b) {
return a.index < b.index;
});
return CallBack.forEach(chosen_effects,function (effect) {
return effect.actionAsyn.call(this);
},this);
});
}
}],
// ======================
// 附加效果
// ======================
attachedEffectTexts: [
"対戦相手のシグニ1体を手札に戻す。あなたは手札を1枚捨てる。",
"ターン終了時まで、対戦相手のルリグ1体は「アタックできない。」を得る。",
"あなたのデッキからそれぞれレベルの異なる<怪異>のシグニ2枚を探して公開し手札に加える。その後、デッキをシャッフルする。"
],
bet: 2,
artsEffect: [{
// TODO: 玩家2次选择要发动的效果可以重复选择。 bet后有4次。
// TODO: 被选择的多个效果按照123依次发动。
actionAsyn: function () {
return this.player.selectOpponentSigniAsyn().callback(this,function (card) {
if (!card) return;
return card.bounceAsyn();
}).callback(this,function () {
return this.player.discardAsyn(1);
});
},
},{
actionAsyn: function () {
this.game.tillTurnEndSet(this,this.player.opponent.lrig,'canNotAttack',true);
},
},{
actionAsyn: function () {
var cards_add = [];
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);
}).callback(this,function() {
return this.player.selectOptionalAsyn('SEEK',cards).callback(this,function (card) {
if (!card) return;
cards_add.push(card);
});
}).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();
});
});
},
}],
},
"2436": {
"pid": 2436,