1
0
Fork 0

💫 implement nonBustSigniEffectBanned (for SP26-002)

This commit is contained in:
WEBXOSS 2017-10-15 18:02:17 +08:00
parent 8f4ba4de63
commit e396e112ff
4 changed files with 21 additions and 33 deletions

View file

@ -1876,6 +1876,7 @@ Card.prototype.handleTrapAsyn = function(arg) {
}
}).callback(this,function () {
if (!this.trap) return;
if (this.player.nonBustSigniEffectBanned && (this.type === 'SIGNI')) return;
return this.game.blockAsyn(source,this,function () {
this.player.onTrapTriggered.trigger();
return this.trap.actionAsyn.call(this,event);

View file

@ -128196,28 +128196,6 @@ var CardInfo = {
"limiting": "",
"imgUrl": "http://www.takaratomy.co.jp/products/wixoss/wxwp/images/card/SP26/SP26-002.jpg",
"illust": "アカバネ",
faqs: [
{
"q": "対戦相手の場に《幻獣神 オサキ》などの「スペルを使用したとき」に発動するトリガー能力を持つシグニがあり、対戦相手がスペルを使用しました。そのスペルにスペルカットインで《アンチ・アビリティ》を使用した場合、「スペルを使用したとき」のトリガー能力は発動しますか?",
"a": "いいえ、発動しません。対戦相手がスペルを使用したことでトリガー能力がトリガーしていますが、発動前にスペルカットインで《アンチ・アビリティ》の効果が処理されましたので、スペル処理後にそのトリガー能力は不発となります。"
},
{
"q": "《幻水姫 ダイホウイカ》など、アタックフェイズ開始時に発動するトリガー能力より前に《アンチ・アビリティ》を使用して防ぐことはできますか?",
"a": "「アタックフェイズ開始時」に発動するトリガー能力が発動してからお互いに使用タイミングが【アタックフェイズ】のアーツや能力使用しますので、《幻水姫 ダイホウイカ》の能力が先となり防ぐことはできません。対戦相手がメインフェイズにスペルを使用し、その【スペルカットイン】で《アンチ・アビリティ》を使用すれば、そのターンのアタックフェイズ開始時の能力は発動しなくなります。"
},
{
"q": "対戦相手のアタックフェイズ開始時に、対戦相手が《幻水姫 ダイホウイカ》のトリガー能力でカードを2枚引きました。その後にこちらが《アンチ・アビリティ》を使用した場合、引いたカードはどうなりますか",
"a": "《アンチ・アビリティ》は、既に発動し終わったトリガー能力の処理を無効にするわけではありませんので、《幻水姫 ダイホウイカ》のトリガー能力で既に引かれた2枚はそのままとなります。"
},
{
"q": "《アンチ・アビリティ》を使用されていた場合、アタックされたときに【トラップ】を表向きにすることもできませんか?",
"a": "いいえ、裏向きの【トラップ】はシグニではなく【トラップ】ですので、アタックされたときに表向きにすることができます。それがスペルだった場合はトラップ能力が発動できますが、シグニだった場合はトラップ能力は発動できず、トラッシュに置かれます。"
},
{
"q": "《アンチ・アビリティ》を使用されていた場合、《トワリング》の①の効果で【トラップ】を表向きにして発動させることもできませんか?",
"a": "それがスペルの場合は表向きにしてそのままトラップ能力を発動できますが、シグニの場合は《トワリング》の発動させるという効果で発動することができず、その【トラップ】はそのままトラッシュに置かれます。"
}
],
"classes": [],
"costWhite": 0,
"costBlack": 0,
@ -128226,11 +128204,6 @@ var CardInfo = {
"costGreen": 0,
"costColorless": 0,
"guardFlag": false,
cardSkills: [
"このアーツは対戦相手のターンにしか使用できない。",
"このターン、すべての領域にある【ライフバースト】以外の対戦相手のシグニのトリガー能力は発動しない。",
"(「~したとき、」「~するたび、」「~時、」と書かれた能力、【出】、【自】、《トラップアイコン》、【ライフバースト】、はトリガー能力である)"
],
"multiEner": false,
cardText: "ここを、こうやって、こうするんだよォ! ~あや~",
// ======================
@ -128242,11 +128215,14 @@ var CardInfo = {
"このターン、すべての領域にある【ライフバースト】以外の対戦相手のシグニのトリガー能力は発動しない。\n" +
"(「~したとき、」「~するたび、」「~時、」と書かれた能力、【出】、【自】、《トラップアイコン》、【ライフバースト】、はトリガー能力である)"
],
useCondition: function () {
return this.game.turnPlayer === this.player;
},
artsEffect: {
actionAsyn: function () {
// TODO: ...
}
}
this.game.tillTurnEndSet(this.player.opponent,'nonBustSigniEffectBanned',true);
},
},
},
"2504": {
"pid": 2504,

View file

@ -36,8 +36,18 @@ function Effect (effectManager,cfg) {
this.disabled = false; // 失去能力时设置为 true .
}
Effect.prototype.checkTiggerable = function() {
if (this.disabled) {
return false;
}
if (this.source.player.nonBustSigniEffectBanned && !this.isBurst && this.source.type === 'SIGNI') {
return false;
}
return true;
};
Effect.prototype.trigger = function (event) {
if (this.disabled) return;
if (!this.checkTiggerable()) return;
if (this.once && inArr(this,this.effectManager.triggeredEffects)) {
return;
}
@ -52,7 +62,7 @@ Effect.prototype.trigger = function (event) {
};
Effect.prototype.triggerAndHandleAsyn = function (event) {
if (this.disabled) return Callback.immediately();
if (!this.checkTiggerable()) return Callback.immediately();
if (!this.triggerCondition || this.triggerCondition.call(this.source,event)) {
// this.source.activate();
var effect = Object.create(this);
@ -65,7 +75,7 @@ Effect.prototype.triggerAndHandleAsyn = function (event) {
};
Effect.prototype.checkCondition = function () {
if (this.disabled) return false;
if (!this.checkTiggerable()) return false;
// "结束这个回合",如<终结之洞>
var game = this.effectManager.game;
if (game.getData(game,'endThisTurn')) return false;

View file

@ -142,6 +142,7 @@ function Player (game,io,mainDeck,lrigDeck) {
this.canNotUseColorlessSigni = false; // <绿罗植 世界树>
this.canNotUseColorlessSpell = false; // <绿罗植 世界树>
this.skipNextTurn = false;
this.nonBustSigniEffectBanned = false; // <アンチ・アビリティ>
this.usedActionEffects = [];
this.chain = null;