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,
|
"costGreen": 0,
|
||||||
"costColorless": 0,
|
"costColorless": 0,
|
||||||
"guardFlag": false,
|
"guardFlag": false,
|
||||||
cardSkills: [
|
"multiEner": false,
|
||||||
|
cardText: "私を中心に、熱は廻るの。 ~≡タイトツ≡~",
|
||||||
|
// ======================
|
||||||
|
// 常时效果
|
||||||
|
// ======================
|
||||||
|
constEffectTexts: [
|
||||||
"【常】:このシグニが中央のシグニゾーンにあるかぎり、このシグニは「このシグニがアタックしたとき、あなたのデッキの上から<宇宙>のシグニがめくれるまで公開する。その後、この方法で公開した<宇宙>のシグニと同じレベルの対戦相手のシグニ1体をバニッシュする。公開したカードをシャッフルし、デッキの一番下に置く。」を得る。"
|
"【常】:このシグニが中央のシグニゾーンにあるかぎり、このシグニは「このシグニがアタックしたとき、あなたのデッキの上から<宇宙>のシグニがめくれるまで公開する。その後、この方法で公開した<宇宙>のシグニと同じレベルの対戦相手のシグニ1体をバニッシュする。公開したカードをシャッフルし、デッキの一番下に置く。」を得る。"
|
||||||
],
|
],
|
||||||
"multiEner": false,
|
constEffects: [{
|
||||||
cardText: "私を中心に、熱は廻るの。 ~≡タイトツ≡~"
|
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": {
|
"2452": {
|
||||||
"pid": 2452,
|
"pid": 2452,
|
||||||
|
@ -125142,11 +125177,37 @@ var CardInfo = {
|
||||||
"costGreen": 0,
|
"costGreen": 0,
|
||||||
"costColorless": 0,
|
"costColorless": 0,
|
||||||
"guardFlag": false,
|
"guardFlag": false,
|
||||||
cardSkills: [
|
"multiEner": false,
|
||||||
|
cardText: "宇宙座標確認、転送開始!~≡コズトリン≡~",
|
||||||
|
// ======================
|
||||||
|
// 常时效果
|
||||||
|
// ======================
|
||||||
|
constEffectTexts: [
|
||||||
"【起】《ダウン》:3以外の数字1つを宣言する。あなたのデッキの上から宣言した数字と同じレベルを持つ<宇宙>のシグニがめくれるまで公開し、それを手札に加える。公開した他のカードをシャッフルし、デッキの一番下に置く。"
|
"【起】《ダウン》:3以外の数字1つを宣言する。あなたのデッキの上から宣言した数字と同じレベルを持つ<宇宙>のシグニがめくれるまで公開し、それを手札に加える。公開した他のカードをシャッフルし、デッキの一番下に置く。"
|
||||||
],
|
],
|
||||||
"multiEner": false,
|
constEffects: [{
|
||||||
cardText: "宇宙座標確認、転送開始!~≡コズトリン≡~"
|
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": {
|
"2453": {
|
||||||
"pid": 2453,
|
"pid": 2453,
|
||||||
|
@ -125186,14 +125247,46 @@ var CardInfo = {
|
||||||
"costGreen": 0,
|
"costGreen": 0,
|
||||||
"costColorless": 0,
|
"costColorless": 0,
|
||||||
"guardFlag": false,
|
"guardFlag": false,
|
||||||
cardSkills: [
|
|
||||||
"以下の3つから3つまで選ぶ。",
|
|
||||||
"①対戦相手の手札があなたより多い場合、あなたはカードを1枚引く。",
|
|
||||||
"②対戦相手のエナゾーンにあるカードがあなたより多い場合、あなたのデッキの一番上のカードをエナゾーンに置く。",
|
|
||||||
"③対戦相手のライフクロスの枚数があなたより多い場合、対戦相手のシグニ1体をバニッシュする。"
|
|
||||||
],
|
|
||||||
"multiEner": false,
|
"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": {
|
"2454": {
|
||||||
"pid": 2454,
|
"pid": 2454,
|
||||||
|
@ -127484,8 +127577,7 @@ var CardInfo = {
|
||||||
},
|
},
|
||||||
},{
|
},{
|
||||||
actionAsyn: function () {
|
actionAsyn: function () {
|
||||||
var cards = this.player.signis;
|
return this.player.selectSelfSigniAsyn().callback(this,function (card) {
|
||||||
return this.player.selectTargetAsyn(cards).callback(this,function (card) {
|
|
||||||
if (!card) return;
|
if (!card) return;
|
||||||
this.game.tillTurnEndSet(this,card,'doubleCrash',true);
|
this.game.tillTurnEndSet(this,card,'doubleCrash',true);
|
||||||
if (card.level >= 4) {
|
if (card.level >= 4) {
|
||||||
|
@ -127496,7 +127588,7 @@ var CardInfo = {
|
||||||
},{
|
},{
|
||||||
actionAsyn: function () {
|
actionAsyn: function () {
|
||||||
this.player.addLifeCloth();
|
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) {
|
return this.player.selectSomeAsyn('SET_ORDER',cards,len,len,true).callback(this,function (cards) {
|
||||||
this.player.mainDeck.moveCardsToTop(cards);
|
this.player.mainDeck.moveCardsToTop(cards);
|
||||||
}).callback(this,function () {
|
}).callback(this,function () {
|
||||||
var card = this.player.mainDeck.cards[0];
|
var target = this.player.mainDeck.cards[0];
|
||||||
if (!card) return;
|
if (!target) return;
|
||||||
this.player.informCards([card]);
|
return this.player.showCardsAsyn([target]).callback(this,function () {
|
||||||
return this.player.showCardsAsyn([card]).callback(this,function () {
|
return this.player.opponent.showCardsAsyn([target]);
|
||||||
return this.player.opponent.showCardsAsyn([card]);
|
|
||||||
}).callback(this,function() {
|
}).callback(this,function() {
|
||||||
if (card.type !== 'SIGNI') return;
|
if (target.type !== 'SIGNI') return;
|
||||||
var targetLevel = card.level;
|
|
||||||
var filter = function (card) {
|
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;
|
if (!card) return;
|
||||||
return this.game.banishCardsAsyn([card]);
|
return card.banishAsyn();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -128028,13 +128118,65 @@ var CardInfo = {
|
||||||
"costGreen": 0,
|
"costGreen": 0,
|
||||||
"costColorless": 0,
|
"costColorless": 0,
|
||||||
"guardFlag": false,
|
"guardFlag": false,
|
||||||
cardSkills: [
|
"multiEner": false,
|
||||||
|
cardText: "我が友、ギルガメジよ、元粘土の体だが助けになろうぞ!がる。~エンキド~",
|
||||||
|
// ======================
|
||||||
|
// 出场效果
|
||||||
|
// ======================
|
||||||
|
startUpEffectTexts: [
|
||||||
"【出】手札から《ライズアイコン》を持つシグニを1枚捨てる:カードを1枚引く。",
|
"【出】手札から《ライズアイコン》を持つシグニを1枚捨てる:カードを1枚引く。",
|
||||||
"【出】《赤×0》:あなたのトラッシュから《ライズアイコン》を持つシグニ3枚をデッキに加えてシャッフルする。そうした場合、カードを1枚引く。"
|
"【出】《赤×0》:あなたのトラッシュから《ライズアイコン》を持つシグニ3枚をデッキに加えてシャッフルする。そうした場合、カードを1枚引く。"
|
||||||
],
|
],
|
||||||
"multiEner": false,
|
startUpEffects: [{
|
||||||
cardText: "我が友、ギルガメジよ、元粘土の体だが助けになろうぞ!がる。~エンキド~",
|
costCondition: function () {
|
||||||
"lifeBurst": "カードを1枚引く。"
|
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": {
|
"2516": {
|
||||||
"pid": 2516,
|
"pid": 2516,
|
||||||
|
|
Loading…
Reference in a new issue