forked from mirrors/webxoss-core
💩 coding card effects
This commit is contained in:
parent
cd55931085
commit
2cf1de9adf
1 changed files with 172 additions and 30 deletions
202
CardInfo.js
202
CardInfo.js
|
@ -125099,11 +125099,46 @@ var CardInfo = {
|
|||
"costGreen": 0,
|
||||
"costColorless": 0,
|
||||
"guardFlag": false,
|
||||
cardSkills: [
|
||||
"multiEner": false,
|
||||
cardText: "私を中心に、熱は廻るの。 ~≡タイトツ≡~",
|
||||
// ======================
|
||||
// 常时效果
|
||||
// ======================
|
||||
constEffectTexts: [
|
||||
"【常】:このシグニが中央のシグニゾーンにあるかぎり、このシグニは「このシグニがアタックしたとき、あなたのデッキの上から<宇宙>のシグニがめくれるまで公開する。その後、この方法で公開した<宇宙>のシグニと同じレベルの対戦相手のシグニ1体をバニッシュする。公開したカードをシャッフルし、デッキの一番下に置く。」を得る。"
|
||||
],
|
||||
"multiEner": false,
|
||||
cardText: "私を中心に、熱は廻るの。 ~≡タイトツ≡~"
|
||||
constEffects: [{
|
||||
condition: function () {
|
||||
var idx = this.player.signiZones.indexOf(this.zone);
|
||||
return (idx === 1);
|
||||
},
|
||||
action: function (set,add) {
|
||||
var cards = [];
|
||||
var target = null;
|
||||
this.player.mainDeck.cards.some(function (card) {
|
||||
cards.push(card);
|
||||
if (card.hasClass('宇宙')) {
|
||||
target = card;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
},this);
|
||||
if (!cards.length) return;
|
||||
return this.player.showCardsAsyn(cards).callback(this,function () {
|
||||
return this.player.opponent.showCardsAsyn(cards);
|
||||
}).callback(this,function () {
|
||||
var filter = function(card) {
|
||||
return card.level = target.level;
|
||||
}
|
||||
this.player.shuffle(cards);
|
||||
this.player.mainDeck.moveCardsToBottom(cards);
|
||||
return this.player.selectOpponentSigniAsyn(filter).callback(this,function (card) {
|
||||
if (!card) return;
|
||||
return card.banishAsyn();
|
||||
});
|
||||
});
|
||||
},
|
||||
}],
|
||||
},
|
||||
"2452": {
|
||||
"pid": 2452,
|
||||
|
@ -125142,11 +125177,37 @@ var CardInfo = {
|
|||
"costGreen": 0,
|
||||
"costColorless": 0,
|
||||
"guardFlag": false,
|
||||
cardSkills: [
|
||||
"multiEner": false,
|
||||
cardText: "宇宙座標確認、転送開始!~≡コズトリン≡~",
|
||||
// ======================
|
||||
// 常时效果
|
||||
// ======================
|
||||
constEffectTexts: [
|
||||
"【起】《ダウン》:3以外の数字1つを宣言する。あなたのデッキの上から宣言した数字と同じレベルを持つ<宇宙>のシグニがめくれるまで公開し、それを手札に加える。公開した他のカードをシャッフルし、デッキの一番下に置く。"
|
||||
],
|
||||
"multiEner": false,
|
||||
cardText: "宇宙座標確認、転送開始!~≡コズトリン≡~"
|
||||
constEffects: [{
|
||||
costDown: true,
|
||||
action: function (set,add) {
|
||||
// TODO: 宣言3以外的一个数字
|
||||
return this.player.declareAsyn(1,5).callback(this,function (num) {
|
||||
var cards = [];
|
||||
var target = null;
|
||||
this.player.mainDeck.cards.some(function (card) {
|
||||
if (card.level === num && card.hasClass('宇宙')) {
|
||||
target = card;
|
||||
return true;
|
||||
} else {
|
||||
cards.push(card);
|
||||
return false;
|
||||
}
|
||||
},this);
|
||||
if (!cards.length) return;
|
||||
this.game.moveCards([target],this.player.handZone);
|
||||
this.player.shuffle(cards);
|
||||
this.player.mainDeck.moveCardsToBottom(cards);
|
||||
});
|
||||
}
|
||||
}]
|
||||
},
|
||||
"2453": {
|
||||
"pid": 2453,
|
||||
|
@ -125186,14 +125247,46 @@ var CardInfo = {
|
|||
"costGreen": 0,
|
||||
"costColorless": 0,
|
||||
"guardFlag": false,
|
||||
cardSkills: [
|
||||
"以下の3つから3つまで選ぶ。",
|
||||
"①対戦相手の手札があなたより多い場合、あなたはカードを1枚引く。",
|
||||
"②対戦相手のエナゾーンにあるカードがあなたより多い場合、あなたのデッキの一番上のカードをエナゾーンに置く。",
|
||||
"③対戦相手のライフクロスの枚数があなたより多い場合、対戦相手のシグニ1体をバニッシュする。"
|
||||
],
|
||||
"multiEner": false,
|
||||
cardText: "あなたも毒気に当てられて?~カーニバル~"
|
||||
cardText: "あなたも毒気に当てられて?~カーニバル~",
|
||||
// ======================
|
||||
// 魔法效果
|
||||
// ======================
|
||||
spellEffectTexts: [
|
||||
"以下の3つから3つまで選ぶ。\n" +
|
||||
"①対戦相手の手札があなたより多い場合、あなたはカードを1枚引く。\n" +
|
||||
"②対戦相手のエナゾーンにあるカードがあなたより多い場合、あなたのデッキの一番上のカードをエナゾーンに置く。\n" +
|
||||
"③対戦相手のライフクロスの枚数があなたより多い場合、対戦相手のシグニ1体をバニッシュする。",
|
||||
"対戦相手の手札があなたより多い場合、あなたはカードを1枚引く。",
|
||||
"対戦相手のエナゾーンにあるカードがあなたより多い場合、あなたのデッキの一番上のカードをエナゾーンに置く。",
|
||||
"対戦相手のライフクロスの枚数があなたより多い場合、対戦相手のシグニ1体をバニッシュする。"
|
||||
],
|
||||
getMinEffectCount: function () {
|
||||
// TODO: getMinEffectCount 这个函数只在arts上用到过,不知道spell上是否能用
|
||||
return 1;
|
||||
},
|
||||
getMaxEffectCount: function () {
|
||||
return 3;
|
||||
},
|
||||
spellEffect: [{
|
||||
actionAsyn: function () {
|
||||
if (this.player.opponent.hands.length > this.player.hans.length) {
|
||||
this.player.draw(1);
|
||||
}
|
||||
},
|
||||
},{
|
||||
actionAsyn: function () {
|
||||
if (this.player.opponent.enerZone.cards.length > this.player.opponent.enerZone.cards.length) {
|
||||
this.player.enerCharge(1);
|
||||
}
|
||||
},
|
||||
},{
|
||||
actionAsyn: function () {
|
||||
if (this.player.opponent.lifeClothZone.cards.length >= this.player.lifeClothZone.cards.length) {
|
||||
return this.banishSigniAsyn();
|
||||
}
|
||||
},
|
||||
}],
|
||||
},
|
||||
"2454": {
|
||||
"pid": 2454,
|
||||
|
@ -127484,8 +127577,7 @@ var CardInfo = {
|
|||
},
|
||||
},{
|
||||
actionAsyn: function () {
|
||||
var cards = this.player.signis;
|
||||
return this.player.selectTargetAsyn(cards).callback(this,function (card) {
|
||||
return this.player.selectSelfSigniAsyn().callback(this,function (card) {
|
||||
if (!card) return;
|
||||
this.game.tillTurnEndSet(this,card,'doubleCrash',true);
|
||||
if (card.level >= 4) {
|
||||
|
@ -127496,7 +127588,7 @@ var CardInfo = {
|
|||
},{
|
||||
actionAsyn: function () {
|
||||
this.player.addLifeCloth();
|
||||
this.player.discardAsyn(2);
|
||||
return this.player.discardAsyn(2);
|
||||
},
|
||||
}]
|
||||
},
|
||||
|
@ -127644,20 +127736,18 @@ var CardInfo = {
|
|||
return this.player.selectSomeAsyn('SET_ORDER',cards,len,len,true).callback(this,function (cards) {
|
||||
this.player.mainDeck.moveCardsToTop(cards);
|
||||
}).callback(this,function () {
|
||||
var card = this.player.mainDeck.cards[0];
|
||||
if (!card) return;
|
||||
this.player.informCards([card]);
|
||||
return this.player.showCardsAsyn([card]).callback(this,function () {
|
||||
return this.player.opponent.showCardsAsyn([card]);
|
||||
var target = this.player.mainDeck.cards[0];
|
||||
if (!target) return;
|
||||
return this.player.showCardsAsyn([target]).callback(this,function () {
|
||||
return this.player.opponent.showCardsAsyn([target]);
|
||||
}).callback(this,function() {
|
||||
if (card.type !== 'SIGNI') return;
|
||||
var targetLevel = card.level;
|
||||
if (target.type !== 'SIGNI') return;
|
||||
var filter = function (card) {
|
||||
return card.level === targetLevel;
|
||||
return card.level === target.level;
|
||||
}
|
||||
return this.player.selectTargetAsyn(filter).callback(this,function (card) {
|
||||
return this.player.selectOpponentSigniAsyn(filter).callback(this,function (card) {
|
||||
if (!card) return;
|
||||
return this.game.banishCardsAsyn([card]);
|
||||
return card.banishAsyn();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -128028,13 +128118,65 @@ var CardInfo = {
|
|||
"costGreen": 0,
|
||||
"costColorless": 0,
|
||||
"guardFlag": false,
|
||||
cardSkills: [
|
||||
"multiEner": false,
|
||||
cardText: "我が友、ギルガメジよ、元粘土の体だが助けになろうぞ!がる。~エンキド~",
|
||||
// ======================
|
||||
// 出场效果
|
||||
// ======================
|
||||
startUpEffectTexts: [
|
||||
"【出】手札から《ライズアイコン》を持つシグニを1枚捨てる:カードを1枚引く。",
|
||||
"【出】《赤×0》:あなたのトラッシュから《ライズアイコン》を持つシグニ3枚をデッキに加えてシャッフルする。そうした場合、カードを1枚引く。"
|
||||
],
|
||||
"multiEner": false,
|
||||
cardText: "我が友、ギルガメジよ、元粘土の体だが助けになろうぞ!がる。~エンキド~",
|
||||
"lifeBurst": "カードを1枚引く。"
|
||||
startUpEffects: [{
|
||||
costCondition: function () {
|
||||
return this.player.hands.some(function (card) {
|
||||
return card.rise;
|
||||
},this);
|
||||
},
|
||||
costAsyn: function () {
|
||||
var cards = this.player.hands.filter(function (card) {
|
||||
return card.rise;
|
||||
},this);
|
||||
return this.player.selectAsyn('PAY',cards).callback(this,function (card) {
|
||||
if (!card) return;
|
||||
card.trash();
|
||||
});
|
||||
},
|
||||
actionAsyn: function () {
|
||||
return this.draw(1);
|
||||
},
|
||||
},{
|
||||
useCondition: function () {
|
||||
var cards = this.player.trashZone.cards.filter(function (card) {
|
||||
return card.rise;
|
||||
},this);
|
||||
return (cards.length >= 3);
|
||||
},
|
||||
actionAsyn: function () {
|
||||
var cards = this.player.trashZone.cards.filter(function (card) {
|
||||
return card.rise;
|
||||
},this);
|
||||
if (cards.length < 3) return;
|
||||
return this.player.selectSomeAsyn('TARGET',cards,3,3,true).callback(this,function (cards) {
|
||||
return this.player.opponent.showCardsAsyn(cards).callback(this,function () {
|
||||
this.game.moveCards(cards,this.player.mainDeck);
|
||||
this.player.shuffle();
|
||||
this.player.draw(1);
|
||||
});
|
||||
});
|
||||
},
|
||||
}],
|
||||
// ======================
|
||||
// 迸发效果
|
||||
// ======================
|
||||
burstEffectTexts: [
|
||||
"【※】:カードを1枚引く。"
|
||||
],
|
||||
burstEffect: {
|
||||
actionAsyn: function () {
|
||||
this.player.draw(1);
|
||||
}
|
||||
}
|
||||
},
|
||||
"2516": {
|
||||
"pid": 2516,
|
||||
|
|
Loading…
Reference in a new issue