mirror of
https://github.com/webxoss/webxoss-core.git
synced 2025-01-18 19:56:02 +01:00
💩 coding card effects
This commit is contained in:
parent
3d5fc157c1
commit
e2bcb87746
1 changed files with 195 additions and 12 deletions
207
CardInfo.js
207
CardInfo.js
|
@ -123132,7 +123132,7 @@ var CardInfo = {
|
|||
// 迸发效果
|
||||
// ======================
|
||||
burstEffectTexts: [
|
||||
"カードを1枚引く。このターン、あなたのライフクロスが2枚以上クラッシュされていた場合、あなたのデッキの一番上のカードをライフクロスに加える。"
|
||||
"【※】:カードを1枚引く。このターン、あなたのライフクロスが2枚以上クラッシュされていた場合、あなたのデッキの一番上のカードをライフクロスに加える。"
|
||||
],
|
||||
burstEffect: {
|
||||
actionAsyn: function () {
|
||||
|
@ -126628,6 +126628,58 @@ var CardInfo = {
|
|||
],
|
||||
"multiEner": false,
|
||||
cardText: "”ジョーカー”~カーニバル~",
|
||||
// ======================
|
||||
// 技艺效果
|
||||
// ======================
|
||||
timmings: ['mainPhase','attackPhase','spellCutIn'],
|
||||
artsEffectTexts: [
|
||||
"ベット―《コインアイコン》《コインアイコン》\n" +
|
||||
"以下の5つから1つを選ぶ。ターン終了時まで、シグニ1体は選んだ能力を得る。あなたがベットしていた場合、この効果を1回繰り返す。" +
|
||||
"(他の選択肢と他のシグニを選んでもよい)\n" +
|
||||
"①【アサシン】 ②【ランサー】\n" +
|
||||
"③【ダブルクラッシュ】 ④「バニッシュされない。」\n" +
|
||||
"⑤「アタックできない。」",
|
||||
],
|
||||
bet: 2,
|
||||
artsEffect: {
|
||||
actionAsyn: function (costArg) {
|
||||
// TODO: 本地化效果文本,
|
||||
var done = false;
|
||||
var texts = [
|
||||
'assassin',
|
||||
'lancer',
|
||||
'doubleCrash',
|
||||
'canNotBeBanished',
|
||||
'canNotAttack'
|
||||
];
|
||||
return Callback.loop(this,count,function () {
|
||||
if (done) return;
|
||||
return this.player.selectTextAsyn('CHOOSE_EFFECT',texts).callback(this,function (text) {
|
||||
this.fieldData['_2490'] = text;
|
||||
return this.player.opponent.showTextAsyn('CHOOSE_ZONE','text',text);
|
||||
}).callback(this,function () {
|
||||
var cards = concat(this.player.signis,this.player.opponent.signis);
|
||||
return this.player.selectTargetAsyn(cards).callback(this,function (card) {
|
||||
if (!card) return;
|
||||
if (text === 'assassin') {
|
||||
this.game.tillTurnEndAdd(this,card,'assassin',true);
|
||||
} else if (text === 'lancer') {
|
||||
this.game.tillTurnEndSet(this,card,'lancer',true);
|
||||
} else if (text === 'doubleCrash') {
|
||||
this.game.tillTurnEndSet(this,card,'doubleCrash',true);
|
||||
} else if (text === 'canNotBeBanished') {
|
||||
this.game.tillTurnEndAdd(this,card,'canNotBeBanished',true);
|
||||
} else if (text === 'canNotAttack') {
|
||||
this.game.tillTurnEndAdd(this,card,'canNotAttack',true);
|
||||
}
|
||||
if (!costArg.bet) {
|
||||
done = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
"2491": {
|
||||
"pid": 2491,
|
||||
|
@ -126668,11 +126720,77 @@ var CardInfo = {
|
|||
"③あなたのトラッシュからシグニを2枚まで手札に加える。その後、手札を1枚捨てる。"
|
||||
],
|
||||
"multiEner": false,
|
||||
cardText: "クソみたいな世界 ~カーニバル~"
|
||||
cardText: "クソみたいな世界 ~カーニバル~",
|
||||
// ======================
|
||||
// 技艺效果
|
||||
// ======================
|
||||
timmings: ['mainPhase'],
|
||||
artsEffectTexts: [
|
||||
"このアーツを使用する際、あなたは手札から<宇宙>のシグニを1枚捨ててもよい。そうした場合、このアーツを使用するためのコストは《赤》コストが2減る。\n" +
|
||||
"以下の3つから1つを選ぶ。\n" +
|
||||
"①カードを2枚引く。\n" +
|
||||
"②あなたのデッキの上からカードを2枚エナゾーンに置く。\n" +
|
||||
"③あなたのトラッシュからシグニを2枚まで手札に加える。その後、手札を1枚捨てる。",
|
||||
"①カードを2枚引く。",
|
||||
"②あなたのデッキの上からカードを2枚エナゾーンに置く。",
|
||||
"③あなたのトラッシュからシグニを2枚まで手札に加える。その後、手札を1枚捨てる。"
|
||||
],
|
||||
costChange: function () {
|
||||
var cards = this.player.hands.filter(function (card) {
|
||||
return card.hasClass('宇宙');
|
||||
},this);
|
||||
var count = Math.min(1,cards.length);
|
||||
var obj = Object.create(this);
|
||||
obj.costChange = null;
|
||||
obj.costRed -= count * 2;
|
||||
if (obj.costRed < 0) obj.costRed = 0;
|
||||
return obj;
|
||||
},
|
||||
costChangeAsyn: function () {
|
||||
var obj = Object.create(this);
|
||||
obj.costChange = null;
|
||||
var min = 0;
|
||||
while (min <= 1) {
|
||||
if (this.player.enoughEner(obj)) break;
|
||||
min++;
|
||||
obj.costRed -= 2;
|
||||
if (obj.costRed < 0) obj.costRed = 0;
|
||||
}
|
||||
var cards = this.player.hands.filter(function (card) {
|
||||
return card.hasClass('宇宙');
|
||||
},this);
|
||||
return this.player.selectSomeAsyn('TRASH',cards,min,1).callback(this,function (cards) {
|
||||
this.game.trashCards(cards);
|
||||
var count = cards.length;
|
||||
var obj = Object.create(this);
|
||||
obj.costChange = null;
|
||||
obj.costRed -= count * 2;
|
||||
if (obj.costRed < 0) obj.costRed = 0;
|
||||
return obj;
|
||||
});
|
||||
},
|
||||
artsEffect: [{
|
||||
actionAsyn: function () {
|
||||
return this.player.draw(2);
|
||||
}
|
||||
},{
|
||||
actionAsyn: function () {
|
||||
return this.player.enerCharge(2);
|
||||
}
|
||||
},{
|
||||
actionAsyn: function () {
|
||||
var filter = function (card) {
|
||||
return (card.type === 'SIGNI');
|
||||
};
|
||||
return this.player.pickCardAsyn(filter,0,2).callback(this, function () {
|
||||
return this.player.discardAsyn(1);
|
||||
});
|
||||
}
|
||||
}]
|
||||
},
|
||||
"2492": {
|
||||
"pid": 2492,
|
||||
cid: 2492,
|
||||
cid: 1531,
|
||||
"timestamp": 1504360073452,
|
||||
"wxid": "WD21-009",
|
||||
name: "燐廻転生",
|
||||
|
@ -126721,7 +126839,7 @@ var CardInfo = {
|
|||
},
|
||||
"2493": {
|
||||
"pid": 2493,
|
||||
cid: 2493,
|
||||
cid: 1878,
|
||||
"timestamp": 1504360073477,
|
||||
"wxid": "WD21-010",
|
||||
name: "炎得火失",
|
||||
|
@ -126816,11 +126934,54 @@ var CardInfo = {
|
|||
],
|
||||
"multiEner": false,
|
||||
cardText: "蓋天に集いし羅星が、新たな羅星を呼び起こす!~≡ガイテン≡~",
|
||||
"lifeBurst": "あなたのデッキから<宇宙>のシグニ1枚を探して公開し手札に加える。その後、デッキをシャッフルする。"
|
||||
"lifeBurst": "あなたのデッキから<宇宙>のシグニ1枚を探して公開し手札に加える。その後、デッキをシャッフルする。",
|
||||
// ======================
|
||||
// 起动效果
|
||||
// ======================
|
||||
actionEffectTexts: [
|
||||
"【起】《ダウン》:あなたの<宇宙>のシグニ2体を場からトラッシュに置く。そうした場合、あなたのデッキからレベル4のシグニ1枚を探して場に出す。その後、デッキをシャッフルする。"
|
||||
],
|
||||
actionEffects: [{
|
||||
costDown: true,
|
||||
costCondition: function () {
|
||||
var cards = this.player.hands.filter(function (card) {
|
||||
return card.hasClass('宇宙');
|
||||
},this);
|
||||
return cards.length >= 2;
|
||||
},
|
||||
costAsyn: function () {
|
||||
var cards = this.player.hands.filter(function (card) {
|
||||
return card.hasClass('宇宙');
|
||||
},this);
|
||||
return this.player.selectSomeAsyn('PAY',cards,2,2).callback(this,function (cards) {
|
||||
this.game.trashCards(cards);
|
||||
});
|
||||
},
|
||||
actionAsyn: function () {
|
||||
var cards = this.player.signis.filter(function (signi) {
|
||||
return signi.level === 4;
|
||||
},this);
|
||||
return this.player.seekAndSummonAsyn(filter,1,true);
|
||||
}
|
||||
}],
|
||||
// ======================
|
||||
// 迸发效果
|
||||
// ======================
|
||||
burstEffectTexts: [
|
||||
"【※】:あなたのデッキから<宇宙>のシグニ1枚を探して公開し手札に加える。その後、デッキをシャッフルする。"
|
||||
],
|
||||
burstEffect: {
|
||||
actionAsyn: function () {
|
||||
var filter = function (card) {
|
||||
return card.hasClass('宇宙');
|
||||
};
|
||||
return this.player.seekAsyn(filter,1);
|
||||
},
|
||||
}
|
||||
},
|
||||
"2495": {
|
||||
"pid": 2495,
|
||||
cid: 2495,
|
||||
cid: 2067,
|
||||
"timestamp": 1504360073544,
|
||||
"wxid": "WD21-014",
|
||||
name: "羅星 ≡レグルス≡",
|
||||
|
@ -126849,11 +127010,10 @@ var CardInfo = {
|
|||
"【起】《ダウン》:カードを1枚引く。この能力は対戦相手の場にレベル3以上のシグニがある場合にしか使用できない。"
|
||||
],
|
||||
"multiEner": false,
|
||||
cardText: "隙あり!レッグがお留守だよ!~≡レグルス≡~"
|
||||
},
|
||||
"2496": {
|
||||
"pid": 2496,
|
||||
cid: 2496,
|
||||
cid: 2143,
|
||||
"timestamp": 1504360073247,
|
||||
"wxid": "WD21-015",
|
||||
name: "羅星 ≡ハダル≡",
|
||||
|
@ -126887,7 +127047,7 @@ var CardInfo = {
|
|||
},
|
||||
"2497": {
|
||||
"pid": 2497,
|
||||
cid: 2497,
|
||||
cid: 2144,
|
||||
"timestamp": 1504360073970,
|
||||
"wxid": "WD21-016",
|
||||
name: "羅星 ≡アンタレス≡",
|
||||
|
@ -126969,11 +127129,34 @@ var CardInfo = {
|
|||
],
|
||||
"multiEner": false,
|
||||
cardText: "天、それは虚空なのよ。~≡センヤ≡~",
|
||||
"lifeBurst": "カードを1枚引く。"
|
||||
"lifeBurst": "カードを1枚引く。",
|
||||
// ======================
|
||||
// 常时效果
|
||||
// ======================
|
||||
constEffectTexts: [
|
||||
"【自】:このシグニが効果またはレゾナの出現条件によって、バニッシュされるか場からトラッシュに置かれたとき、対戦相手のパワー3000以下のシグニ1体をバニッシュする。"
|
||||
],
|
||||
constEffects: [{
|
||||
duringGame: true,
|
||||
action: function (set,add) {
|
||||
var effect = this.game.newEffect({
|
||||
source: this,
|
||||
description: '2498-const-0',
|
||||
triggerCondition: function (event) {
|
||||
return (event.oldZone === this.player.SigniZone) &&
|
||||
((event.newZone === this.player.enerZone) || (event.newZone === this.player.trashZone));
|
||||
},
|
||||
actionAsyn: function () {
|
||||
return this.banishSigniAsyn(3000);
|
||||
},
|
||||
});
|
||||
add(this,'onMove',effect);
|
||||
}
|
||||
}],
|
||||
},
|
||||
"2499": {
|
||||
"pid": 2499,
|
||||
cid: 2499,
|
||||
cid: 235,
|
||||
"timestamp": 1504360075409,
|
||||
"wxid": "WD21-018",
|
||||
name: "サーバント D2",
|
||||
|
@ -127012,7 +127195,7 @@ var CardInfo = {
|
|||
},
|
||||
"2500": {
|
||||
"pid": 2500,
|
||||
cid: 2500,
|
||||
cid: 236,
|
||||
"timestamp": 1504360073943,
|
||||
"wxid": "WD21-019",
|
||||
name: "サーバント O2",
|
||||
|
|
Loading…
Reference in a new issue