pref: format @/card.

This commit is contained in:
Rintim 2024-04-16 02:36:20 +08:00
parent 8ec1ff5f91
commit 5427da93cb
No known key found for this signature in database
GPG Key ID: BE9E1EA615BACFCF
15 changed files with 20464 additions and 17968 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,290 +1,316 @@
import { lib, game, ui, get, ai, _status } from '../noname.js'; import { lib, game, ui, get, ai, _status } from "../noname.js";
game.import('card', function () { game.import("card", function () {
return { return {
name:'huanlekapai', name: "huanlekapai",
connect:true, connect: true,
card:{ card: {
"monkey":{ monkey: {
audio:true, audio: true,
fullskin:true, fullskin: true,
type:"equip", type: "equip",
subtype:"equip5", subtype: "equip5",
skills:["monkey"], skills: ["monkey"],
ai:{ ai: {
basic:{ basic: {
equipValue:8, equipValue: 8,
}, },
}, },
}, },
"mianju":{ mianju: {
audio:true, audio: true,
fullskin:true, fullskin: true,
type:"equip", type: "equip",
subtype:"equip2", subtype: "equip2",
skills:["mianju"], skills: ["mianju"],
ai:{ ai: {
order:9.5, order: 9.5,
basic:{ basic: {
equipValue:function (card,player){ equipValue: function (card, player) {
if(!player.isTurnedOver()) return 6; if (!player.isTurnedOver()) return 6;
if(player.isTurnedOver()) return -10; if (player.isTurnedOver()) return -10;
return 0; return 0;
}, },
}, },
}, },
}, },
"shoulijian":{ shoulijian: {
audio:true, audio: true,
type:"basic", type: "basic",
enable:true, enable: true,
fullskin:true, fullskin: true,
outrange:{ outrange: {
global:2, global: 2,
}, },
filterTarget:lib.filter.notMe, filterTarget: lib.filter.notMe,
content:function (){ content: function () {
"step 0" "step 0";
if(!target.countCards('he',{type:'equip'})){ if (!target.countCards("he", { type: "equip" })) {
target.damage(); target.damage();
event.finish(); event.finish();
} else {
target.chooseToDiscard("he", { type: "equip" }, "弃置一张装备牌或受到1点伤害").ai =
function (card) {
var player = _status.event.player;
var source = _status.event.getParent().player;
if (get.damageEffect(player, source, player) > 0) return -1;
return 7 - get.value(card);
};
} }
else{ "step 1";
target.chooseToDiscard('he',{type:'equip'},'弃置一张装备牌或受到1点伤害').ai=function(card){ if (!result.bool) {
var player=_status.event.player;
var source=_status.event.getParent().player;
if(get.damageEffect(player,source,player)>0) return -1;
return 7-get.value(card);
};
}
"step 1"
if(!result.bool){
target.damage(); target.damage();
} }
}, },
ai:{ ai: {
basic:{ basic: {
order:9, order: 9,
value:6, value: 6,
useful:2, useful: 2,
}, },
result:{ result: {
target:-2, target: -2,
}, },
tag:{ tag: {
discard:1, discard: 1,
damage:1, damage: 1,
}, },
}, },
selectTarget:1, selectTarget: 1,
}, },
"kuwu":{ kuwu: {
audio:true, audio: true,
fullskin:true, fullskin: true,
type:"equip", type: "equip",
subtype:"equip1", subtype: "equip1",
skills:["kuwu"], skills: ["kuwu"],
nomod:true, nomod: true,
nopower:true, nopower: true,
unique:true, unique: true,
distance:{ distance: {
attackFrom:-1, attackFrom: -1,
}, },
ai:{ ai: {
equipValue:6, equipValue: 6,
}, },
}, },
"xuelunyang":{ xuelunyang: {
audio:true, audio: true,
fullskin:true, fullskin: true,
type:"equip", type: "equip",
subtype:"equip5", subtype: "equip5",
skills:["xuelunyang"], skills: ["xuelunyang"],
ai:{ ai: {
basic:{ basic: {
equipValue:8, equipValue: 8,
}, },
}, },
}, },
"jiuwei":{ jiuwei: {
audio:true, audio: true,
fullskin:true, fullskin: true,
type:"equip", type: "equip",
subtype:"equip5", subtype: "equip5",
skills:["jiuwei"], skills: ["jiuwei"],
ai:{ ai: {
basic:{ basic: {
equipValue:8, equipValue: 8,
}, },
}, },
}, },
}, },
skill:{ skill: {
"monkey":{ monkey: {
trigger:{ trigger: {
global:"useCardToBegin", global: "useCardToBegin",
}, },
audio:true, audio: true,
filter:function (event,player){ filter: function (event, player) {
var card=player.getEquip(5); var card = player.getEquip(5);
if(card){ if (card) {
var name=card.name; var name = card.name;
if(name&&name.indexOf('monkey')!=-1&&event.name=='tao'&&event.player!=player&&event.cards.filterInD().length>0) return true; if (
name &&
name.indexOf("monkey") != -1 &&
event.name == "tao" &&
event.player != player &&
event.cards.filterInD().length > 0
)
return true;
} }
return false; return false;
}, },
check:function (event,player){ check: function (event, player) {
return get.attitude(player,event.player)<=0; return get.attitude(player, event.player) <= 0;
}, },
content:function (){ content: function () {
"step 0" "step 0";
player.$fullscreenpop('猴子偷桃','fire'); player.$fullscreenpop("猴子偷桃", "fire");
trigger.untrigger(); trigger.untrigger();
trigger.finish(); trigger.finish();
"step 1" "step 1";
player.discard(player.getEquip(5)); player.discard(player.getEquip(5));
"step 2" "step 2";
player.gain(trigger.cards.filterInD(),'gain2','log'); player.gain(trigger.cards.filterInD(), "gain2", "log");
}, },
}, },
"mianju":{ mianju: {
audio:true, audio: true,
trigger:{ trigger: {
player:"turnOverBefore", player: "turnOverBefore",
}, },
forced:true, forced: true,
equipSkill:true, equipSkill: true,
content:function (){ content: function () {
trigger.cancel(); trigger.cancel();
}, },
ai:{ ai: {
noturnOver:true, noturnOver: true,
effect:{ effect: {
target:function (card,player,target,current){ target: function (card, player, target, current) {
if(get.tag(card,'turnOver')) return [0,0]; if (get.tag(card, "turnOver")) return [0, 0];
}, },
}, },
}, },
}, },
"kuwu":{ kuwu: {
audio:true, audio: true,
trigger:{ trigger: {
source:"damageSource", source: "damageSource",
}, },
forced:true, forced: true,
equipSkill:true, equipSkill: true,
filter:function (event,player){ filter: function (event, player) {
if(event._notrigger.includes(event.player)) return false; if (event._notrigger.includes(event.player)) return false;
return event.card&&event.card.name=='sha'&&event.notLink()&&event.player.countCards('he')>0; return (
event.card &&
event.card.name == "sha" &&
event.notLink() &&
event.player.countCards("he") > 0
);
}, },
content:function (){ content: function () {
trigger.player.chooseToDiscard(true,'he'); trigger.player.chooseToDiscard(true, "he");
}, },
}, },
"xuelunyang":{ xuelunyang: {
audio:true, audio: true,
trigger:{ trigger: {
player:"phaseBegin", player: "phaseBegin",
}, },
equipSkill:true, equipSkill: true,
direct:true, direct: true,
content:function(){ content: function () {
'step 0' "step 0";
player.chooseTarget(get.prompt2('xuelunyang'),function(card,player,target){ player
var names=[]; .chooseTarget(get.prompt2("xuelunyang"), function (card, player, target) {
if(target.name&&!target.isUnseen(0)) names.add(target.name); var names = [];
if(target.name1&&!target.isUnseen(0)) names.add(target.name1); if (target.name && !target.isUnseen(0)) names.add(target.name);
if(target.name2&&!target.isUnseen(1)) names.add(target.name2); if (target.name1 && !target.isUnseen(0)) names.add(target.name1);
var pss=player.getSkills(); if (target.name2 && !target.isUnseen(1)) names.add(target.name2);
for(var i=0;i<names.length;i++){ var pss = player.getSkills();
var info=lib.character[names[i]]; for (var i = 0; i < names.length; i++) {
if(info){ var info = lib.character[names[i]];
var skills=info[3]; if (info) {
for(var j=0;j<skills.length;j++){ var skills = info[3];
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&& for (var j = 0; j < skills.length; j++) {
!lib.skill[skills[j]].unique&&!pss.includes(skills[j])){ if (
return true; lib.translate[skills[j] + "_info"] &&
lib.skill[skills[j]] &&
!lib.skill[skills[j]].unique &&
!pss.includes(skills[j])
) {
return true;
}
} }
} }
return false;
} }
return false; })
} .set("ai", function (target) {
}).set('ai',function(target){ return Math.random();
return Math.random(); });
}); "step 1";
'step 1' if (result.bool) {
if(result.bool){ event.target = result.targets[0];
event.target=result.targets[0]; player.logSkill("xuelunyang", event.target);
player.logSkill('xuelunyang',event.target); } else {
}
else{
event.finish(); event.finish();
} }
'step 2' "step 2";
var names=[]; var names = [];
var list=[]; var list = [];
if(target.name&&!target.isUnseen(0)) names.add(target.name); if (target.name && !target.isUnseen(0)) names.add(target.name);
if(target.name1&&!target.isUnseen(0)) names.add(target.name1); if (target.name1 && !target.isUnseen(0)) names.add(target.name1);
if(target.name2&&!target.isUnseen(1)) names.add(target.name2); if (target.name2 && !target.isUnseen(1)) names.add(target.name2);
var pss=player.getSkills(); var pss = player.getSkills();
for(var i=0;i<names.length;i++){ for (var i = 0; i < names.length; i++) {
var info=lib.character[names[i]]; var info = lib.character[names[i]];
if(info){ if (info) {
var skills=info[3]; var skills = info[3];
for(var j=0;j<skills.length;j++){ for (var j = 0; j < skills.length; j++) {
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&& if (
!lib.skill[skills[j]].unique&& lib.translate[skills[j] + "_info"] &&
!pss.includes(skills[j])){ lib.skill[skills[j]] &&
!lib.skill[skills[j]].unique &&
!pss.includes(skills[j])
) {
list.push(skills[j]); list.push(skills[j]);
} }
} }
} }
} }
player.chooseControl(list).set('prompt','选择获得一个技能').set('choice',get.max(list,get.skillRank,'item')).set('ai',function(){return _status.event.choice}) player
'step 3' .chooseControl(list)
.set("prompt", "选择获得一个技能")
.set("choice", get.max(list, get.skillRank, "item"))
.set("ai", function () {
return _status.event.choice;
});
"step 3";
player.addTempSkill(result.control); player.addTempSkill(result.control);
player.popup(result.control); player.popup(result.control);
game.log(player,'获得了','#g【'+get.translation(result.control)+'】'); game.log(player, "获得了", "#g【" + get.translation(result.control) + "】");
}, },
}, },
"jiuwei":{ jiuwei: {
trigger:{ trigger: {
player:"phaseEnd", player: "phaseEnd",
}, },
audio:true, audio: true,
frequent:true, frequent: true,
equipSkill:true, equipSkill: true,
content:function (){ content: function () {
if(player.isDamaged()){ if (player.isDamaged()) {
player.recover(); player.recover();
} } else {
else{
player.draw(); player.draw();
} }
}, },
}, },
}, },
translate:{ translate: {
"monkey":"猴子", monkey: "猴子",
"monkey_info":"猴子偷桃:当场上有其他角色使用【桃】时,你可以弃掉【猴子】,阻止【桃】的结算并将其收为手牌。", monkey_info:
"mianju":"漩涡面具", "猴子偷桃:当场上有其他角色使用【桃】时,你可以弃掉【猴子】,阻止【桃】的结算并将其收为手牌。",
"mianju_info":"<font color=#f00>锁定技</font> 你的武将牌不能被翻面。", mianju: "漩涡面具",
"shoulijian":"手里剑", mianju_info: "<font color=#f00>锁定技</font> 你的武将牌不能被翻面。",
"shoulijian_info":"出牌阶段对一名距离1以外的角色使用令其弃置一张装备牌或受到1点伤害。", shoulijian: "手里剑",
"kuwu":"苦无", shoulijian_info: "出牌阶段对一名距离1以外的角色使用令其弃置一张装备牌或受到1点伤害。",
"kuwu_info":"<font color=#f00>锁定技</font> 每当你使用【杀】造成一次伤害,受伤角色须弃置一张牌。", kuwu: "苦无",
"xuelunyang":"写轮眼", kuwu_info: "<font color=#f00>锁定技</font> 每当你使用【杀】造成一次伤害,受伤角色须弃置一张牌。",
"xuelunyang_info":"回合开始阶段,你可以选择一名角色,然后获得其一项技能,直到回合结束。", xuelunyang: "写轮眼",
"jiuwei":"九尾", xuelunyang_info: "回合开始阶段,你可以选择一名角色,然后获得其一项技能,直到回合结束。",
"jiuwei_info":"收集查克拉回合结束时若你已受伤你可回复1点体力否则摸一张牌。", jiuwei: "九尾",
jiuwei_info: "收集查克拉回合结束时若你已受伤你可回复1点体力否则摸一张牌。",
}, },
list:[ list: [
["diamond","5","monkey"], ["diamond", "5", "monkey"],
["heart","9","jiuwei"], ["heart", "9", "jiuwei"],
["heart","2","xuelunyang"], ["heart", "2", "xuelunyang"],
["spade","6","kuwu"], ["spade", "6", "kuwu"],
["diamond","4","shoulijian"], ["diamond", "4", "shoulijian"],
["spade","4","shoulijian"], ["spade", "4", "shoulijian"],
["club","3","mianju"], ["club", "3", "mianju"],
], ],
} };
}); });

File diff suppressed because it is too large Load Diff

1107
card/sp.js

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,396 +1,412 @@
import { lib, game, ui, get, ai, _status } from '../noname.js'; import { lib, game, ui, get, ai, _status } from "../noname.js";
game.import('card', function () { game.import("card", function () {
return { return {
name:'zhenfa', name: "zhenfa",
card:{ card: {
pozhenjue:{ pozhenjue: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:true, enable: true,
notarget:true, notarget: true,
content:function(){ content: function () {
var targets=game.filterPlayer(); var targets = game.filterPlayer();
var n=targets.length; var n = targets.length;
while(n--){ while (n--) {
game.swapSeat(targets.randomGet(),targets.randomGet()); game.swapSeat(targets.randomGet(), targets.randomGet());
} }
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:8, order: 8,
result:{ result: {
player:1, player: 1,
}, },
} },
}, },
changshezhen:{ changshezhen: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:function(card,player){ enable: function (card, player) {
if(player.inline()) return true; if (player.inline()) return true;
if(player.identity=='unknown'||player.identity=='ye') return false; if (player.identity == "unknown" || player.identity == "ye") return false;
return game.hasPlayer(function(current){ return game.hasPlayer(function (current) {
return current!=player&&current.isFriendOf(player); return current != player && current.isFriendOf(player);
}); });
}, },
notarget:true, notarget: true,
content:function(){ content: function () {
if(player.inline()){ if (player.inline()) {
var targets=game.filterPlayer(function(current){ var targets = game.filterPlayer(function (current) {
return player.inline(current); return player.inline(current);
}); });
player.line(targets); player.line(targets);
game.asyncDraw(targets); game.asyncDraw(targets);
} } else if (player.getNext()) {
else if(player.getNext()){ var list = game.filterPlayer(function (current) {
var list=game.filterPlayer(function(current){ return current != player && current.isFriendOf(player);
return current!=player&&current.isFriendOf(player);
}); });
if(list.length){ if (list.length) {
list.sort(function(a,b){ list.sort(function (a, b) {
return get.distance(player,a,'absolute')-get.distance(player,b,'absolute'); return (
get.distance(player, a, "absolute") - get.distance(player, b, "absolute")
);
}); });
player.line(list[0]); player.line(list[0]);
game.swapSeat(list[0],player.getNext(),true,true); game.swapSeat(list[0], player.getNext(), true, true);
} }
} }
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:6.5, order: 6.5,
result:{ result: {
player:1, player: 1,
}, },
tag:{ tag: {
draw:1 draw: 1,
} },
} },
}, },
tianfuzhen:{ tianfuzhen: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:function(){ enable: function () {
return game.hasPlayer(function(current){ return game.hasPlayer(function (current) {
return current.isMajor(); return current.isMajor();
}); });
}, },
filterTarget:function(card,player,target){ filterTarget: function (card, player, target) {
return target.isMajor()&&target.countCards('he')>0; return target.isMajor() && target.countCards("he") > 0;
}, },
selectTarget:-1, selectTarget: -1,
content:function(){ content: function () {
target.chooseToDiscard('he',true).delay=false; target.chooseToDiscard("he", true).delay = false;
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:7, order: 7,
result:{ result: {
target:-1, target: -1,
}, },
tag:{ tag: {
discard:1 discard: 1,
} },
} },
}, },
dizaizhen:{ dizaizhen: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:function(){ enable: function () {
return game.hasPlayer(function(current){ return game.hasPlayer(function (current) {
return current.isNotMajor(); return current.isNotMajor();
}); });
}, },
filterTarget:function(card,player,target){ filterTarget: function (card, player, target) {
return target.isNotMajor(); return target.isNotMajor();
}, },
selectTarget:-1, selectTarget: -1,
content:function(){ content: function () {
target.draw(false); target.draw(false);
target.$draw(); target.$draw();
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:7, order: 7,
result:{ result: {
target:1, target: 1,
}, },
tag:{ tag: {
draw:1 draw: 1,
} },
} },
}, },
fengyangzhen:{ fengyangzhen: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:true, enable: true,
filterTarget:function(card,player,target){ filterTarget: function (card, player, target) {
return target.sieged(); return target.sieged();
}, },
selectTarget:-1, selectTarget: -1,
content:function(){ content: function () {
target.addTempSkill('feiying',{player:'damageAfter'}); target.addTempSkill("feiying", { player: "damageAfter" });
target.popup('feiying'); target.popup("feiying");
game.log(target,'获得了技能','【飞影】'); game.log(target, "获得了技能", "【飞影】");
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:7, order: 7,
result:{ result: {
target:2, target: 2,
}, },
} },
}, },
yunchuizhen:{ yunchuizhen: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:true, enable: true,
filterTarget:function(card,player,target){ filterTarget: function (card, player, target) {
return target.siege(); return target.siege();
}, },
selectTarget:-1, selectTarget: -1,
content:function(){ content: function () {
target.addTempSkill('wushuang',{source:'damageAfter'}); target.addTempSkill("wushuang", { source: "damageAfter" });
target.popup('wushuang'); target.popup("wushuang");
game.log(target,'获得了技能','【无双】'); game.log(target, "获得了技能", "【无双】");
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:7, order: 7,
result:{ result: {
target:2, target: 2,
}, },
} },
}, },
qixingzhen:{ qixingzhen: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:function(card,player){ enable: function (card, player) {
return player.siege()||player.sieged(); return player.siege() || player.sieged();
}, },
filterTarget:function(card,player,target){ filterTarget: function (card, player, target) {
return target==player; return target == player;
}, },
selectTarget:-1, selectTarget: -1,
content:function(){ content: function () {
'step 0' "step 0";
event.targets=game.filterPlayer(function(current){ event.targets = game.filterPlayer(function (current) {
return current.siege(player); return current.siege(player);
}); });
'step 1' "step 1";
if(event.targets.length){ if (event.targets.length) {
var current=event.targets.shift(); var current = event.targets.shift();
player.line(current,'green'); player.line(current, "green");
player.discardPlayerCard(current,true); player.discardPlayerCard(current, true);
event.redo(); event.redo();
} }
'step 2' "step 2";
var card={name:'sha',isCard:true}; var card = { name: "sha", isCard: true };
var list=game.filterPlayer(function(current){ var list = game.filterPlayer(function (current) {
return current.siege(player)&&player.canUse(card,current); return current.siege(player) && player.canUse(card, current);
}); });
if(list.length){ if (list.length) {
player.useCard(card,list,false); player.useCard(card, list, false);
} }
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:7, order: 7,
result:{ result: {
target:1, target: 1,
}, },
} },
}, },
shepanzhen:{ shepanzhen: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:function(card,player){ enable: function (card, player) {
if(player.identity=='unknown'||player.identity=='ye') return false; if (player.identity == "unknown" || player.identity == "ye") return false;
if(get.population(player.identity)<=1) return false; if (get.population(player.identity) <= 1) return false;
return game.hasPlayer(function(current){ return game.hasPlayer(function (current) {
return current!=player&&current.identity==player.identity&&!player.inline(current); return (
current != player &&
current.identity == player.identity &&
!player.inline(current)
);
}); });
}, },
notarget:true, notarget: true,
content:function(){ content: function () {
var targets=game.filterPlayer(function(current){ var targets = game.filterPlayer(function (current) {
return current.identity==player.identity; return current.identity == player.identity;
}); });
targets.sortBySeat(); targets.sortBySeat();
for(var i=1;i<targets.length;i++){ for (var i = 1; i < targets.length; i++) {
game.swapSeat(targets[i],targets[i-1].next,false); game.swapSeat(targets[i], targets[i - 1].next, false);
} }
game.log(get.translation(player.identity)+'势力角色摆成了蛇蟠阵') game.log(get.translation(player.identity) + "势力角色摆成了蛇蟠阵");
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:7, order: 7,
result:{ result: {
player:1, player: 1,
}, },
} },
}, },
longfeizhen:{ longfeizhen: {
type:'zhenfa', type: "zhenfa",
recastable:true, recastable: true,
enable:function(card,player){ enable: function (card, player) {
return player.next.siege(player); return player.next.siege(player);
}, },
filterTarget:function(card,player,target){ filterTarget: function (card, player, target) {
if(target.getCards('he').length==0) return false; if (target.getCards("he").length == 0) return false;
return target==player.next||target==player.previous; return target == player.next || target == player.previous;
}, },
selectTarget:-1, selectTarget: -1,
content:function(){ content: function () {
"step 0" "step 0";
player.choosePlayerCard(target,'he',true); player.choosePlayerCard(target, "he", true);
"step 1" "step 1";
target.discard(result.buttons[0].link); target.discard(result.buttons[0].link);
"step 2" "step 2";
if(target==targets[targets.length-1]){ if (target == targets[targets.length - 1]) {
player.draw(); player.draw();
} }
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:10, order: 10,
result:{ result: {
target:-1, target: -1,
player:1 player: 1,
}, },
}
},
huyizhen:{
type:'zhenfa',
recastable:true,
enable:function(card,player){
return player.siege(player.next)||player.siege(player.previous);
}, },
filterTarget:function(card,player,target){ },
huyizhen: {
type: "zhenfa",
recastable: true,
enable: function (card, player) {
return player.siege(player.next) || player.siege(player.previous);
},
filterTarget: function (card, player, target) {
return player.siege(target); return player.siege(target);
}, },
selectTarget:-1, selectTarget: -1,
content:function(){ content: function () {
"step 0" "step 0";
player.chooseCard('将一张非基本牌当作杀对'+get.translation(target)+'使用','he',function(card){ player.chooseCard(
return get.type(card)!='basic'; "将一张非基本牌当作杀对" + get.translation(target) + "使用",
}).ai=function(card){ "he",
if(get.effect(target,{name:'sha'},player,player)>0){ function (card) {
return 6-get.value(card); return get.type(card) != "basic";
}
).ai = function (card) {
if (get.effect(target, { name: "sha" }, player, player) > 0) {
return 6 - get.value(card);
} }
return 0; return 0;
}; };
"step 1" "step 1";
if(result.bool){ if (result.bool) {
player.useCard({name:'sha'},result.cards,target,false); player.useCard({ name: "sha" }, result.cards, target, false);
} }
"step 2" "step 2";
if(target==player.next) event.player2=player.next.next; if (target == player.next) event.player2 = player.next.next;
else event.player2=player.previous.previous; else event.player2 = player.previous.previous;
event.player2.chooseCard('将一张非基本牌当作杀对'+get.translation(target)+'使用','he',function(card){ event.player2.chooseCard(
return get.type(card)!='basic'; "将一张非基本牌当作杀对" + get.translation(target) + "使用",
}).ai=function(card){ "he",
if(get.effect(target,{name:'sha'},event.player2,event.player2)>0){ function (card) {
return 6-get.value(card); return get.type(card) != "basic";
}
).ai = function (card) {
if (get.effect(target, { name: "sha" }, event.player2, event.player2) > 0) {
return 6 - get.value(card);
} }
return 0; return 0;
}; };
"step 3" "step 3";
if(result.bool){ if (result.bool) {
event.player2.useCard({name:'sha'},result.cards,target,false); event.player2.useCard({ name: "sha" }, result.cards, target, false);
} }
}, },
mode:['guozhan'], mode: ["guozhan"],
ai:{ ai: {
order:7, order: 7,
result:{ result: {
target:-2, target: -2,
}, },
}
},
niaoxiangzhen:{
type:'zhenfa',
recastable:true,
enable:true,
filterTarget:function(card,player,target){
if(player.identity==target.identity) return false;
if(target.identity=='unknown'||target.identity=='ye') return false;
return target.identity==target.next.identity||target.identity==target.previous.identity
}, },
selectTarget:-1, },
content:function(){ niaoxiangzhen: {
"step 0" type: "zhenfa",
var next=target.chooseToRespond({name:'shan'}); recastable: true,
next.ai=function(card){ enable: true,
if(get.damageEffect(target,player,target)>=0) return 0; filterTarget: function (card, player, target) {
if (player.identity == target.identity) return false;
if (target.identity == "unknown" || target.identity == "ye") return false;
return (
target.identity == target.next.identity || target.identity == target.previous.identity
);
},
selectTarget: -1,
content: function () {
"step 0";
var next = target.chooseToRespond({ name: "shan" });
next.ai = function (card) {
if (get.damageEffect(target, player, target) >= 0) return 0;
return 1; return 1;
}; };
next.autochoose=lib.filter.autoRespondShan; next.autochoose = lib.filter.autoRespondShan;
"step 1" "step 1";
if(result.bool==false){ if (result.bool == false) {
target.damage(); target.damage();
} }
}, },
ai:{ ai: {
basic:{ basic: {
order:9, order: 9,
useful:1 useful: 1,
}, },
result:{ result: {
target:-1.5, target: -1.5,
},
tag: {
respond: 1,
respondShan: 1,
damage: 1,
}, },
tag:{
respond:1,
respondShan:1,
damage:1,
}
}, },
mode:['guozhan'], mode: ["guozhan"],
}, },
}, },
skill:{ skill: {},
}, translate: {
translate:{ zhenfa: "阵法",
zhenfa:'阵法', changshezhen: "长蛇阵",
changshezhen:'长蛇阵', pozhenjue: "破阵决",
pozhenjue:'破阵决', tianfuzhen: "天覆阵",
tianfuzhen:'天覆阵', dizaizhen: "地载阵",
dizaizhen:'地载阵', fengyangzhen: "风扬阵",
fengyangzhen:'风扬阵', yunchuizhen: "云垂阵",
yunchuizhen:'云垂阵', qixingzhen: "七星阵",
qixingzhen:'七星阵', shepanzhen: "蛇蟠阵",
shepanzhen:'蛇蟠阵', shepanzhen_bg: "列",
shepanzhen_bg:'列', yunchuizhen_bg: "垂",
yunchuizhen_bg:'垂', longfeizhen: "龙飞阵",
longfeizhen:'龙飞阵', huyizhen: "虎翼阵",
huyizhen:'虎翼阵', niaoxiangzhen: "鸟翔阵",
niaoxiangzhen:'鸟翔阵', niaoxiangzhen_info: "令所有非你阵营的队列的角色今次打出一张闪或者受到1点伤害。",
niaoxiangzhen_info:'令所有非你阵营的队列的角色今次打出一张闪或者受到1点伤害。', qixingzhen_info:
qixingzhen_info:'弃置所有围攻你的角色各一张牌,然后视为对所有你围攻的角色使用一张不计入出杀次数的杀。', "弃置所有围攻你的角色各一张牌,然后视为对所有你围攻的角色使用一张不计入出杀次数的杀。",
// longfeizhen_info:'弃置围攻你的角色各一张牌,然后摸一张牌。', // longfeizhen_info:'弃置围攻你的角色各一张牌,然后摸一张牌。',
// qixingzhen_info:'令我方所有角色进入围攻状态。', // qixingzhen_info:'令我方所有角色进入围攻状态。',
// shepanzhen_info:'令我方所有角色进入队列状态。', // shepanzhen_info:'令我方所有角色进入队列状态。',
// yunchuizhen_info:'令所有围攻角色获得技能〖无双〗,直到其首次造成伤害。', // yunchuizhen_info:'令所有围攻角色获得技能〖无双〗,直到其首次造成伤害。',
// fengyangzhen_info:'令所有被围攻角色获得技能〖飞影〗,直到其首次受到伤害。', // fengyangzhen_info:'令所有被围攻角色获得技能〖飞影〗,直到其首次受到伤害。',
dizaizhen_info:'所有小势力角色摸一张牌。', dizaizhen_info: "所有小势力角色摸一张牌。",
changshezhen_info:'若你处于队列中,与你同一队列的所有角色摸一张牌,否则将与你逆时针距离最近的同势力角色移至你下家。', changshezhen_info:
"若你处于队列中,与你同一队列的所有角色摸一张牌,否则将与你逆时针距离最近的同势力角色移至你下家。",
// pozhenjue_info:'将所有角色的顺序随机重排。', // pozhenjue_info:'将所有角色的顺序随机重排。',
tianfuzhen_info:'所有大势力角色弃置一张牌。' tianfuzhen_info: "所有大势力角色弃置一张牌。",
}, },
list:[ list: [
["diamond",1,'changshezhen'], ["diamond", 1, "changshezhen"],
["club",1,'changshezhen'], ["club", 1, "changshezhen"],
// ["spade",1,'changshezhen'], // ["spade",1,'changshezhen'],
// ["heart",1,'changshezhen'], // ["heart",1,'changshezhen'],
["diamond",2,'tianfuzhen'], ["diamond", 2, "tianfuzhen"],
// ["club",2,'tianfuzhen'], // ["club",2,'tianfuzhen'],
["spade",2,'tianfuzhen'], ["spade", 2, "tianfuzhen"],
["heart",2,'tianfuzhen'], ["heart", 2, "tianfuzhen"],
["diamond",3,'dizaizhen'], ["diamond", 3, "dizaizhen"],
// ["club",3,'dizaizhen'], // ["club",3,'dizaizhen'],
["spade",3,'dizaizhen'], ["spade", 3, "dizaizhen"],
["heart",3,'dizaizhen'], ["heart", 3, "dizaizhen"],
// ["diamond",4,'fengyangzhen'], // ["diamond",4,'fengyangzhen'],
// ["club",4,'fengyangzhen'], // ["club",4,'fengyangzhen'],
@ -407,9 +423,9 @@ game.import('card', function () {
// ["spade",6,'huyizhen'], // ["spade",6,'huyizhen'],
// ["heart",6,'huyizhen'], // ["heart",6,'huyizhen'],
["diamond",7,'qixingzhen'], ["diamond", 7, "qixingzhen"],
["club",7,'qixingzhen'], ["club", 7, "qixingzhen"],
["spade",7,'qixingzhen'], ["spade", 7, "qixingzhen"],
// ["heart",7,'qixingzhen'], // ["heart",7,'qixingzhen'],
// ["diamond",8,'shepanzhen'], // ["diamond",8,'shepanzhen'],
@ -422,10 +438,10 @@ game.import('card', function () {
// ["spade",9,'longfeizhen'], // ["spade",9,'longfeizhen'],
// ["heart",9,'longfeizhen'], // ["heart",9,'longfeizhen'],
["diamond",11,'niaoxiangzhen'], ["diamond", 11, "niaoxiangzhen"],
// ["club",11,'niaoxiangzhen'], // ["club",11,'niaoxiangzhen'],
["spade",11,'niaoxiangzhen'], ["spade", 11, "niaoxiangzhen"],
["heart",11,'niaoxiangzhen'], ["heart", 11, "niaoxiangzhen"],
// ["diamond",12,'yunchuizhen'], // ["diamond",12,'yunchuizhen'],
// ["club",12,'yunchuizhen'], // ["club",12,'yunchuizhen'],

File diff suppressed because it is too large Load Diff