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';
game.import('card', function () {
return {
name:'huanlekapai',
connect:true,
card:{
"monkey":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip5",
skills:["monkey"],
ai:{
basic:{
equipValue:8,
import { lib, game, ui, get, ai, _status } from "../noname.js";
game.import("card", function () {
return {
name: "huanlekapai",
connect: true,
card: {
monkey: {
audio: true,
fullskin: true,
type: "equip",
subtype: "equip5",
skills: ["monkey"],
ai: {
basic: {
equipValue: 8,
},
},
},
"mianju":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip2",
skills:["mianju"],
ai:{
order:9.5,
basic:{
equipValue:function (card,player){
if(!player.isTurnedOver()) return 6;
if(player.isTurnedOver()) return -10;
mianju: {
audio: true,
fullskin: true,
type: "equip",
subtype: "equip2",
skills: ["mianju"],
ai: {
order: 9.5,
basic: {
equipValue: function (card, player) {
if (!player.isTurnedOver()) return 6;
if (player.isTurnedOver()) return -10;
return 0;
},
},
},
},
"shoulijian":{
audio:true,
type:"basic",
enable:true,
fullskin:true,
outrange:{
global:2,
shoulijian: {
audio: true,
type: "basic",
enable: true,
fullskin: true,
outrange: {
global: 2,
},
filterTarget:lib.filter.notMe,
content:function (){
"step 0"
if(!target.countCards('he',{type:'equip'})){
filterTarget: lib.filter.notMe,
content: function () {
"step 0";
if (!target.countCards("he", { type: "equip" })) {
target.damage();
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{
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);
};
}
"step 1"
if(!result.bool){
"step 1";
if (!result.bool) {
target.damage();
}
},
ai:{
basic:{
order:9,
value:6,
useful:2,
ai: {
basic: {
order: 9,
value: 6,
useful: 2,
},
result:{
target:-2,
result: {
target: -2,
},
tag:{
discard:1,
damage:1,
tag: {
discard: 1,
damage: 1,
},
},
selectTarget:1,
selectTarget: 1,
},
"kuwu":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip1",
skills:["kuwu"],
nomod:true,
nopower:true,
unique:true,
distance:{
attackFrom:-1,
kuwu: {
audio: true,
fullskin: true,
type: "equip",
subtype: "equip1",
skills: ["kuwu"],
nomod: true,
nopower: true,
unique: true,
distance: {
attackFrom: -1,
},
ai:{
equipValue:6,
ai: {
equipValue: 6,
},
},
"xuelunyang":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip5",
skills:["xuelunyang"],
ai:{
basic:{
equipValue:8,
xuelunyang: {
audio: true,
fullskin: true,
type: "equip",
subtype: "equip5",
skills: ["xuelunyang"],
ai: {
basic: {
equipValue: 8,
},
},
},
"jiuwei":{
audio:true,
fullskin:true,
type:"equip",
subtype:"equip5",
skills:["jiuwei"],
ai:{
basic:{
equipValue:8,
jiuwei: {
audio: true,
fullskin: true,
type: "equip",
subtype: "equip5",
skills: ["jiuwei"],
ai: {
basic: {
equipValue: 8,
},
},
},
},
skill:{
"monkey":{
trigger:{
global:"useCardToBegin",
skill: {
monkey: {
trigger: {
global: "useCardToBegin",
},
audio:true,
filter:function (event,player){
var card=player.getEquip(5);
if(card){
var name=card.name;
if(name&&name.indexOf('monkey')!=-1&&event.name=='tao'&&event.player!=player&&event.cards.filterInD().length>0) return true;
audio: true,
filter: function (event, player) {
var card = player.getEquip(5);
if (card) {
var name = card.name;
if (
name &&
name.indexOf("monkey") != -1 &&
event.name == "tao" &&
event.player != player &&
event.cards.filterInD().length > 0
)
return true;
}
return false;
},
check:function (event,player){
return get.attitude(player,event.player)<=0;
check: function (event, player) {
return get.attitude(player, event.player) <= 0;
},
content:function (){
"step 0"
player.$fullscreenpop('猴子偷桃','fire');
content: function () {
"step 0";
player.$fullscreenpop("猴子偷桃", "fire");
trigger.untrigger();
trigger.finish();
"step 1"
"step 1";
player.discard(player.getEquip(5));
"step 2"
player.gain(trigger.cards.filterInD(),'gain2','log');
"step 2";
player.gain(trigger.cards.filterInD(), "gain2", "log");
},
},
"mianju":{
audio:true,
trigger:{
player:"turnOverBefore",
mianju: {
audio: true,
trigger: {
player: "turnOverBefore",
},
forced:true,
equipSkill:true,
content:function (){
forced: true,
equipSkill: true,
content: function () {
trigger.cancel();
},
ai:{
noturnOver:true,
effect:{
target:function (card,player,target,current){
if(get.tag(card,'turnOver')) return [0,0];
ai: {
noturnOver: true,
effect: {
target: function (card, player, target, current) {
if (get.tag(card, "turnOver")) return [0, 0];
},
},
},
},
"kuwu":{
audio:true,
trigger:{
source:"damageSource",
kuwu: {
audio: true,
trigger: {
source: "damageSource",
},
forced:true,
equipSkill:true,
filter:function (event,player){
if(event._notrigger.includes(event.player)) return false;
return event.card&&event.card.name=='sha'&&event.notLink()&&event.player.countCards('he')>0;
forced: true,
equipSkill: true,
filter: function (event, player) {
if (event._notrigger.includes(event.player)) return false;
return (
event.card &&
event.card.name == "sha" &&
event.notLink() &&
event.player.countCards("he") > 0
);
},
content:function (){
trigger.player.chooseToDiscard(true,'he');
content: function () {
trigger.player.chooseToDiscard(true, "he");
},
},
"xuelunyang":{
audio:true,
trigger:{
player:"phaseBegin",
xuelunyang: {
audio: true,
trigger: {
player: "phaseBegin",
},
equipSkill:true,
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('xuelunyang'),function(card,player,target){
var names=[];
if(target.name&&!target.isUnseen(0)) names.add(target.name);
if(target.name1&&!target.isUnseen(0)) names.add(target.name1);
if(target.name2&&!target.isUnseen(1)) names.add(target.name2);
var pss=player.getSkills();
for(var i=0;i<names.length;i++){
var info=lib.character[names[i]];
if(info){
var skills=info[3];
for(var j=0;j<skills.length;j++){
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
!lib.skill[skills[j]].unique&&!pss.includes(skills[j])){
return true;
equipSkill: true,
direct: true,
content: function () {
"step 0";
player
.chooseTarget(get.prompt2("xuelunyang"), function (card, player, target) {
var names = [];
if (target.name && !target.isUnseen(0)) names.add(target.name);
if (target.name1 && !target.isUnseen(0)) names.add(target.name1);
if (target.name2 && !target.isUnseen(1)) names.add(target.name2);
var pss = player.getSkills();
for (var i = 0; i < names.length; i++) {
var info = lib.character[names[i]];
if (info) {
var skills = info[3];
for (var j = 0; j < skills.length; j++) {
if (
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){
return Math.random();
});
'step 1'
if(result.bool){
event.target=result.targets[0];
player.logSkill('xuelunyang',event.target);
}
else{
})
.set("ai", function (target) {
return Math.random();
});
"step 1";
if (result.bool) {
event.target = result.targets[0];
player.logSkill("xuelunyang", event.target);
} else {
event.finish();
}
'step 2'
var names=[];
var list=[];
if(target.name&&!target.isUnseen(0)) names.add(target.name);
if(target.name1&&!target.isUnseen(0)) names.add(target.name1);
if(target.name2&&!target.isUnseen(1)) names.add(target.name2);
var pss=player.getSkills();
for(var i=0;i<names.length;i++){
var info=lib.character[names[i]];
if(info){
var skills=info[3];
for(var j=0;j<skills.length;j++){
if(lib.translate[skills[j]+'_info']&&lib.skill[skills[j]]&&
!lib.skill[skills[j]].unique&&
!pss.includes(skills[j])){
"step 2";
var names = [];
var list = [];
if (target.name && !target.isUnseen(0)) names.add(target.name);
if (target.name1 && !target.isUnseen(0)) names.add(target.name1);
if (target.name2 && !target.isUnseen(1)) names.add(target.name2);
var pss = player.getSkills();
for (var i = 0; i < names.length; i++) {
var info = lib.character[names[i]];
if (info) {
var skills = info[3];
for (var j = 0; j < skills.length; j++) {
if (
lib.translate[skills[j] + "_info"] &&
lib.skill[skills[j]] &&
!lib.skill[skills[j]].unique &&
!pss.includes(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})
'step 3'
player
.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.popup(result.control);
game.log(player,'获得了','#g【'+get.translation(result.control)+'】');
game.log(player, "获得了", "#g【" + get.translation(result.control) + "】");
},
},
"jiuwei":{
trigger:{
player:"phaseEnd",
jiuwei: {
trigger: {
player: "phaseEnd",
},
audio:true,
frequent:true,
equipSkill:true,
content:function (){
if(player.isDamaged()){
audio: true,
frequent: true,
equipSkill: true,
content: function () {
if (player.isDamaged()) {
player.recover();
}
else{
} else {
player.draw();
}
},
},
},
translate:{
"monkey":"猴子",
"monkey_info":"猴子偷桃:当场上有其他角色使用【桃】时,你可以弃掉【猴子】,阻止【桃】的结算并将其收为手牌。",
"mianju":"漩涡面具",
"mianju_info":"<font color=#f00>锁定技</font> 你的武将牌不能被翻面。",
"shoulijian":"手里剑",
"shoulijian_info":"出牌阶段对一名距离1以外的角色使用令其弃置一张装备牌或受到1点伤害。",
"kuwu":"苦无",
"kuwu_info":"<font color=#f00>锁定技</font> 每当你使用【杀】造成一次伤害,受伤角色须弃置一张牌。",
"xuelunyang":"写轮眼",
"xuelunyang_info":"回合开始阶段,你可以选择一名角色,然后获得其一项技能,直到回合结束。",
"jiuwei":"九尾",
"jiuwei_info":"收集查克拉回合结束时若你已受伤你可回复1点体力否则摸一张牌。",
translate: {
monkey: "猴子",
monkey_info:
"猴子偷桃:当场上有其他角色使用【桃】时,你可以弃掉【猴子】,阻止【桃】的结算并将其收为手牌。",
mianju: "漩涡面具",
mianju_info: "<font color=#f00>锁定技</font> 你的武将牌不能被翻面。",
shoulijian: "手里剑",
shoulijian_info: "出牌阶段对一名距离1以外的角色使用令其弃置一张装备牌或受到1点伤害。",
kuwu: "苦无",
kuwu_info: "<font color=#f00>锁定技</font> 每当你使用【杀】造成一次伤害,受伤角色须弃置一张牌。",
xuelunyang: "写轮眼",
xuelunyang_info: "回合开始阶段,你可以选择一名角色,然后获得其一项技能,直到回合结束。",
jiuwei: "九尾",
jiuwei_info: "收集查克拉回合结束时若你已受伤你可回复1点体力否则摸一张牌。",
},
list:[
["diamond","5","monkey"],
["heart","9","jiuwei"],
["heart","2","xuelunyang"],
["spade","6","kuwu"],
["diamond","4","shoulijian"],
["spade","4","shoulijian"],
["club","3","mianju"],
list: [
["diamond", "5", "monkey"],
["heart", "9", "jiuwei"],
["heart", "2", "xuelunyang"],
["spade", "6", "kuwu"],
["diamond", "4", "shoulijian"],
["spade", "4", "shoulijian"],
["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';
game.import('card', function () {
import { lib, game, ui, get, ai, _status } from "../noname.js";
game.import("card", function () {
return {
name:'zhenfa',
card:{
pozhenjue:{
type:'zhenfa',
recastable:true,
enable:true,
notarget:true,
content:function(){
var targets=game.filterPlayer();
var n=targets.length;
while(n--){
game.swapSeat(targets.randomGet(),targets.randomGet());
name: "zhenfa",
card: {
pozhenjue: {
type: "zhenfa",
recastable: true,
enable: true,
notarget: true,
content: function () {
var targets = game.filterPlayer();
var n = targets.length;
while (n--) {
game.swapSeat(targets.randomGet(), targets.randomGet());
}
},
mode:['guozhan'],
ai:{
order:8,
result:{
player:1,
mode: ["guozhan"],
ai: {
order: 8,
result: {
player: 1,
},
}
},
},
changshezhen:{
type:'zhenfa',
recastable:true,
enable:function(card,player){
if(player.inline()) return true;
if(player.identity=='unknown'||player.identity=='ye') return false;
return game.hasPlayer(function(current){
return current!=player&&current.isFriendOf(player);
changshezhen: {
type: "zhenfa",
recastable: true,
enable: function (card, player) {
if (player.inline()) return true;
if (player.identity == "unknown" || player.identity == "ye") return false;
return game.hasPlayer(function (current) {
return current != player && current.isFriendOf(player);
});
},
notarget:true,
content:function(){
if(player.inline()){
var targets=game.filterPlayer(function(current){
notarget: true,
content: function () {
if (player.inline()) {
var targets = game.filterPlayer(function (current) {
return player.inline(current);
});
player.line(targets);
game.asyncDraw(targets);
}
else if(player.getNext()){
var list=game.filterPlayer(function(current){
return current!=player&&current.isFriendOf(player);
} else if (player.getNext()) {
var list = game.filterPlayer(function (current) {
return current != player && current.isFriendOf(player);
});
if(list.length){
list.sort(function(a,b){
return get.distance(player,a,'absolute')-get.distance(player,b,'absolute');
if (list.length) {
list.sort(function (a, b) {
return (
get.distance(player, a, "absolute") - get.distance(player, b, "absolute")
);
});
player.line(list[0]);
game.swapSeat(list[0],player.getNext(),true,true);
game.swapSeat(list[0], player.getNext(), true, true);
}
}
},
mode:['guozhan'],
ai:{
order:6.5,
result:{
player:1,
mode: ["guozhan"],
ai: {
order: 6.5,
result: {
player: 1,
},
tag:{
draw:1
}
}
tag: {
draw: 1,
},
},
},
tianfuzhen:{
type:'zhenfa',
recastable:true,
enable:function(){
return game.hasPlayer(function(current){
tianfuzhen: {
type: "zhenfa",
recastable: true,
enable: function () {
return game.hasPlayer(function (current) {
return current.isMajor();
});
},
filterTarget:function(card,player,target){
return target.isMajor()&&target.countCards('he')>0;
filterTarget: function (card, player, target) {
return target.isMajor() && target.countCards("he") > 0;
},
selectTarget:-1,
content:function(){
target.chooseToDiscard('he',true).delay=false;
selectTarget: -1,
content: function () {
target.chooseToDiscard("he", true).delay = false;
},
mode:['guozhan'],
ai:{
order:7,
result:{
target:-1,
mode: ["guozhan"],
ai: {
order: 7,
result: {
target: -1,
},
tag:{
discard:1
}
}
tag: {
discard: 1,
},
},
},
dizaizhen:{
type:'zhenfa',
recastable:true,
enable:function(){
return game.hasPlayer(function(current){
dizaizhen: {
type: "zhenfa",
recastable: true,
enable: function () {
return game.hasPlayer(function (current) {
return current.isNotMajor();
});
},
filterTarget:function(card,player,target){
filterTarget: function (card, player, target) {
return target.isNotMajor();
},
selectTarget:-1,
content:function(){
selectTarget: -1,
content: function () {
target.draw(false);
target.$draw();
},
mode:['guozhan'],
ai:{
order:7,
result:{
target:1,
mode: ["guozhan"],
ai: {
order: 7,
result: {
target: 1,
},
tag:{
draw:1
}
}
tag: {
draw: 1,
},
},
},
fengyangzhen:{
type:'zhenfa',
recastable:true,
enable:true,
filterTarget:function(card,player,target){
fengyangzhen: {
type: "zhenfa",
recastable: true,
enable: true,
filterTarget: function (card, player, target) {
return target.sieged();
},
selectTarget:-1,
content:function(){
target.addTempSkill('feiying',{player:'damageAfter'});
target.popup('feiying');
game.log(target,'获得了技能','【飞影】');
selectTarget: -1,
content: function () {
target.addTempSkill("feiying", { player: "damageAfter" });
target.popup("feiying");
game.log(target, "获得了技能", "【飞影】");
},
mode:['guozhan'],
ai:{
order:7,
result:{
target:2,
mode: ["guozhan"],
ai: {
order: 7,
result: {
target: 2,
},
}
},
},
yunchuizhen:{
type:'zhenfa',
recastable:true,
enable:true,
filterTarget:function(card,player,target){
yunchuizhen: {
type: "zhenfa",
recastable: true,
enable: true,
filterTarget: function (card, player, target) {
return target.siege();
},
selectTarget:-1,
content:function(){
target.addTempSkill('wushuang',{source:'damageAfter'});
target.popup('wushuang');
game.log(target,'获得了技能','【无双】');
selectTarget: -1,
content: function () {
target.addTempSkill("wushuang", { source: "damageAfter" });
target.popup("wushuang");
game.log(target, "获得了技能", "【无双】");
},
mode:['guozhan'],
ai:{
order:7,
result:{
target:2,
mode: ["guozhan"],
ai: {
order: 7,
result: {
target: 2,
},
}
},
},
qixingzhen:{
type:'zhenfa',
recastable:true,
enable:function(card,player){
return player.siege()||player.sieged();
qixingzhen: {
type: "zhenfa",
recastable: true,
enable: function (card, player) {
return player.siege() || player.sieged();
},
filterTarget:function(card,player,target){
return target==player;
filterTarget: function (card, player, target) {
return target == player;
},
selectTarget:-1,
content:function(){
'step 0'
event.targets=game.filterPlayer(function(current){
selectTarget: -1,
content: function () {
"step 0";
event.targets = game.filterPlayer(function (current) {
return current.siege(player);
});
'step 1'
if(event.targets.length){
var current=event.targets.shift();
player.line(current,'green');
player.discardPlayerCard(current,true);
"step 1";
if (event.targets.length) {
var current = event.targets.shift();
player.line(current, "green");
player.discardPlayerCard(current, true);
event.redo();
}
'step 2'
var card={name:'sha',isCard:true};
var list=game.filterPlayer(function(current){
return current.siege(player)&&player.canUse(card,current);
"step 2";
var card = { name: "sha", isCard: true };
var list = game.filterPlayer(function (current) {
return current.siege(player) && player.canUse(card, current);
});
if(list.length){
player.useCard(card,list,false);
if (list.length) {
player.useCard(card, list, false);
}
},
mode:['guozhan'],
ai:{
order:7,
result:{
target:1,
mode: ["guozhan"],
ai: {
order: 7,
result: {
target: 1,
},
}
},
},
shepanzhen:{
type:'zhenfa',
recastable:true,
enable:function(card,player){
if(player.identity=='unknown'||player.identity=='ye') return false;
if(get.population(player.identity)<=1) return false;
return game.hasPlayer(function(current){
return current!=player&&current.identity==player.identity&&!player.inline(current);
shepanzhen: {
type: "zhenfa",
recastable: true,
enable: function (card, player) {
if (player.identity == "unknown" || player.identity == "ye") return false;
if (get.population(player.identity) <= 1) return false;
return game.hasPlayer(function (current) {
return (
current != player &&
current.identity == player.identity &&
!player.inline(current)
);
});
},
notarget:true,
content:function(){
var targets=game.filterPlayer(function(current){
return current.identity==player.identity;
notarget: true,
content: function () {
var targets = game.filterPlayer(function (current) {
return current.identity == player.identity;
});
targets.sortBySeat();
for(var i=1;i<targets.length;i++){
game.swapSeat(targets[i],targets[i-1].next,false);
for (var i = 1; i < targets.length; i++) {
game.swapSeat(targets[i], targets[i - 1].next, false);
}
game.log(get.translation(player.identity)+'势力角色摆成了蛇蟠阵')
game.log(get.translation(player.identity) + "势力角色摆成了蛇蟠阵");
},
mode:['guozhan'],
ai:{
order:7,
result:{
player:1,
mode: ["guozhan"],
ai: {
order: 7,
result: {
player: 1,
},
}
},
},
longfeizhen:{
type:'zhenfa',
recastable:true,
enable:function(card,player){
longfeizhen: {
type: "zhenfa",
recastable: true,
enable: function (card, player) {
return player.next.siege(player);
},
filterTarget:function(card,player,target){
if(target.getCards('he').length==0) return false;
return target==player.next||target==player.previous;
filterTarget: function (card, player, target) {
if (target.getCards("he").length == 0) return false;
return target == player.next || target == player.previous;
},
selectTarget:-1,
content:function(){
"step 0"
player.choosePlayerCard(target,'he',true);
"step 1"
selectTarget: -1,
content: function () {
"step 0";
player.choosePlayerCard(target, "he", true);
"step 1";
target.discard(result.buttons[0].link);
"step 2"
if(target==targets[targets.length-1]){
"step 2";
if (target == targets[targets.length - 1]) {
player.draw();
}
},
mode:['guozhan'],
ai:{
order:10,
result:{
target:-1,
player:1
mode: ["guozhan"],
ai: {
order: 10,
result: {
target: -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);
},
selectTarget:-1,
content:function(){
"step 0"
player.chooseCard('将一张非基本牌当作杀对'+get.translation(target)+'使用','he',function(card){
return get.type(card)!='basic';
}).ai=function(card){
if(get.effect(target,{name:'sha'},player,player)>0){
return 6-get.value(card);
selectTarget: -1,
content: function () {
"step 0";
player.chooseCard(
"将一张非基本牌当作杀对" + get.translation(target) + "使用",
"he",
function (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;
};
"step 1"
if(result.bool){
player.useCard({name:'sha'},result.cards,target,false);
"step 1";
if (result.bool) {
player.useCard({ name: "sha" }, result.cards, target, false);
}
"step 2"
if(target==player.next) event.player2=player.next.next;
else event.player2=player.previous.previous;
event.player2.chooseCard('将一张非基本牌当作杀对'+get.translation(target)+'使用','he',function(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);
"step 2";
if (target == player.next) event.player2 = player.next.next;
else event.player2 = player.previous.previous;
event.player2.chooseCard(
"将一张非基本牌当作杀对" + get.translation(target) + "使用",
"he",
function (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;
};
"step 3"
if(result.bool){
event.player2.useCard({name:'sha'},result.cards,target,false);
"step 3";
if (result.bool) {
event.player2.useCard({ name: "sha" }, result.cards, target, false);
}
},
mode:['guozhan'],
ai:{
order:7,
result:{
target:-2,
mode: ["guozhan"],
ai: {
order: 7,
result: {
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(){
"step 0"
var next=target.chooseToRespond({name:'shan'});
next.ai=function(card){
if(get.damageEffect(target,player,target)>=0) return 0;
},
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 () {
"step 0";
var next = target.chooseToRespond({ name: "shan" });
next.ai = function (card) {
if (get.damageEffect(target, player, target) >= 0) return 0;
return 1;
};
next.autochoose=lib.filter.autoRespondShan;
"step 1"
if(result.bool==false){
next.autochoose = lib.filter.autoRespondShan;
"step 1";
if (result.bool == false) {
target.damage();
}
},
ai:{
basic:{
order:9,
useful:1
ai: {
basic: {
order: 9,
useful: 1,
},
result:{
target:-1.5,
result: {
target: -1.5,
},
tag: {
respond: 1,
respondShan: 1,
damage: 1,
},
tag:{
respond:1,
respondShan:1,
damage:1,
}
},
mode:['guozhan'],
mode: ["guozhan"],
},
},
skill:{
},
translate:{
zhenfa:'阵法',
changshezhen:'长蛇阵',
pozhenjue:'破阵决',
tianfuzhen:'天覆阵',
dizaizhen:'地载阵',
fengyangzhen:'风扬阵',
yunchuizhen:'云垂阵',
qixingzhen:'七星阵',
shepanzhen:'蛇蟠阵',
shepanzhen_bg:'列',
yunchuizhen_bg:'垂',
longfeizhen:'龙飞阵',
huyizhen:'虎翼阵',
niaoxiangzhen:'鸟翔阵',
niaoxiangzhen_info:'令所有非你阵营的队列的角色今次打出一张闪或者受到1点伤害。',
qixingzhen_info:'弃置所有围攻你的角色各一张牌,然后视为对所有你围攻的角色使用一张不计入出杀次数的杀。',
skill: {},
translate: {
zhenfa: "阵法",
changshezhen: "长蛇阵",
pozhenjue: "破阵决",
tianfuzhen: "天覆阵",
dizaizhen: "地载阵",
fengyangzhen: "风扬阵",
yunchuizhen: "云垂阵",
qixingzhen: "七星阵",
shepanzhen: "蛇蟠阵",
shepanzhen_bg: "列",
yunchuizhen_bg: "垂",
longfeizhen: "龙飞阵",
huyizhen: "虎翼阵",
niaoxiangzhen: "鸟翔阵",
niaoxiangzhen_info: "令所有非你阵营的队列的角色今次打出一张闪或者受到1点伤害。",
qixingzhen_info:
"弃置所有围攻你的角色各一张牌,然后视为对所有你围攻的角色使用一张不计入出杀次数的杀。",
// longfeizhen_info:'弃置围攻你的角色各一张牌,然后摸一张牌。',
// qixingzhen_info:'令我方所有角色进入围攻状态。',
// shepanzhen_info:'令我方所有角色进入队列状态。',
// yunchuizhen_info:'令所有围攻角色获得技能〖无双〗,直到其首次造成伤害。',
// fengyangzhen_info:'令所有被围攻角色获得技能〖飞影〗,直到其首次受到伤害。',
dizaizhen_info:'所有小势力角色摸一张牌。',
changshezhen_info:'若你处于队列中,与你同一队列的所有角色摸一张牌,否则将与你逆时针距离最近的同势力角色移至你下家。',
dizaizhen_info: "所有小势力角色摸一张牌。",
changshezhen_info:
"若你处于队列中,与你同一队列的所有角色摸一张牌,否则将与你逆时针距离最近的同势力角色移至你下家。",
// pozhenjue_info:'将所有角色的顺序随机重排。',
tianfuzhen_info:'所有大势力角色弃置一张牌。'
tianfuzhen_info: "所有大势力角色弃置一张牌。",
},
list:[
["diamond",1,'changshezhen'],
["club",1,'changshezhen'],
list: [
["diamond", 1, "changshezhen"],
["club", 1, "changshezhen"],
// ["spade",1,'changshezhen'],
// ["heart",1,'changshezhen'],
["diamond",2,'tianfuzhen'],
["diamond", 2, "tianfuzhen"],
// ["club",2,'tianfuzhen'],
["spade",2,'tianfuzhen'],
["heart",2,'tianfuzhen'],
["spade", 2, "tianfuzhen"],
["heart", 2, "tianfuzhen"],
["diamond",3,'dizaizhen'],
["diamond", 3, "dizaizhen"],
// ["club",3,'dizaizhen'],
["spade",3,'dizaizhen'],
["heart",3,'dizaizhen'],
["spade", 3, "dizaizhen"],
["heart", 3, "dizaizhen"],
// ["diamond",4,'fengyangzhen'],
// ["club",4,'fengyangzhen'],
@ -407,9 +423,9 @@ game.import('card', function () {
// ["spade",6,'huyizhen'],
// ["heart",6,'huyizhen'],
["diamond",7,'qixingzhen'],
["club",7,'qixingzhen'],
["spade",7,'qixingzhen'],
["diamond", 7, "qixingzhen"],
["club", 7, "qixingzhen"],
["spade", 7, "qixingzhen"],
// ["heart",7,'qixingzhen'],
// ["diamond",8,'shepanzhen'],
@ -422,10 +438,10 @@ game.import('card', function () {
// ["spade",9,'longfeizhen'],
// ["heart",9,'longfeizhen'],
["diamond",11,'niaoxiangzhen'],
["diamond", 11, "niaoxiangzhen"],
// ["club",11,'niaoxiangzhen'],
["spade",11,'niaoxiangzhen'],
["heart",11,'niaoxiangzhen'],
["spade", 11, "niaoxiangzhen"],
["heart", 11, "niaoxiangzhen"],
// ["diamond",12,'yunchuizhen'],
// ["club",12,'yunchuizhen'],

File diff suppressed because it is too large Load Diff