Merge pull request #615 from kuangshen04/PR-Branch

eslint格式化,修复nobracket冲突
This commit is contained in:
Spmario233 2023-11-07 19:54:06 +08:00 committed by GitHub
commit d7c6f2734e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 1783 additions and 1861 deletions

View File

@ -1,5 +1,5 @@
{
"extends": "chrome 46",
"extends": "eslint:recommended",
"env": {
"browser": true,
"node": true,
@ -10,6 +10,12 @@
"no-console": 0,
"no-unused-vars": 0,
"no-undef": 0,
"no-redeclare": 0
"no-redeclare": 0,
"no-prototype-builtins": 0,
"require-yield": 0,
"no-irregular-whitespace": ["error", { "skipStrings": true, "skipTemplates": true }],
"no-constant-condition": ["error", { "checkLoops": false }]/* ,
"comma-dangle": ["error", "only-multiline"],
"complexity": ["error",100] */
}
}

View File

@ -238,7 +238,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
fullskin:true,
type:'equip',
subtype:'equip5',
loseDelay:false,
skills:['tianjitu_skill'],
onLose:function(){
player.addTempSkill('tianjitu_skill_lose')

View File

@ -48,7 +48,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return get.type(card)=='equip'&&!cards.contains(card);
});
if(cardx) cards.push(cardx);
};
}
if(!cards.length){
event.finish();
event.getParent().excluded.addArray(game.players);
@ -115,11 +115,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
if(dialog.buttons[i].link==card){
button=dialog.buttons[i];
button.querySelector('.info').innerHTML=function(target){
if(target._tempTranslate) return target._tempTranslate;
var name=target.name;
if(lib.translate[name+'_ab']) return lib.translate[name+'_ab'];
return get.translation(name);
}(target);
if(target._tempTranslate) return target._tempTranslate;
var name=target.name;
if(lib.translate[name+'_ab']) return lib.translate[name+'_ab'];
return get.translation(name);
}(target);
dialog.buttons.remove(button);
break;
}
@ -701,7 +701,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
player.$throw(card);
game.log(card,'进入了弃牌堆');
delete _status.jinhe[es[i].cardid];
};
}
}
game.broadcastAll(function(jinhe){
_status.jinhe=jinhe;

View File

@ -210,7 +210,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push([get.translation(get.type(name)),'',name]);
if(name=='sha'){
for(var nature of lib.inpile_nature){
if(!player.canUse(get.autoViewAs({name:name,nature,nature},[]),target)) continue;
if(!player.canUse(get.autoViewAs({name:name,nature:nature},[]),target)) continue;
list.push([get.translation(get.type(name)),'',name,nature]);
}
}

View File

@ -359,8 +359,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return card!=card2&&get.number(card2,player)<num;
})
}).set('ai',function(card){
var player=_status.event.player;
return 1+Math.max(0,player.getUseValue(card,null,true))
var player=_status.event.player;
return 1+Math.max(0,player.getUseValue(card,null,true))
})
'step 1'
if(result.bool){
@ -819,11 +819,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(target.isIn()){
var num=target.countCards('e');
if(num>0){
player.discardPlayerCard(target,true,'e',num)
player.discardPlayerCard(target,true,'e',num)
}
else{
target.loseHp();
game.delayex();
target.loseHp();
game.delayex();
}
}
if(targets.length>0) event.redo();
@ -860,11 +860,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.line(target,'green');
var num=target.countCards('h');
if(num>0){
player.discardPlayerCard(target,true,'h',num)
player.discardPlayerCard(target,true,'h',num)
}
else{
target.loseHp();
game.delayex();
target.loseHp();
game.delayex();
}
}
},

View File

@ -526,7 +526,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var skill={
viewAs:{
name:links[0][2],
isCard:true,
suit:'none',
number:null,
isCard:true,
@ -1697,7 +1696,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
dddxunxun:{
inherit:"xunxun",
audio:"ext:3D8测试包:2",
audio:2,
},
dddfusi:{
mod:{
@ -3381,7 +3380,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//轲比能
dddxiaoxing:{
audio:2,
forced:true,
trigger:{global:'gameDrawBegin'},
forced:true,
group:'dddxiaoxing_remove',

View File

@ -294,7 +294,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_inari:'#bSummer Pockets',
key_saya:'#bLittle Busters!',
key_harukakanata:'#bLittle Busters!',
key_tsumugi:'#bSummer Pockets',
key_yui:'#rAngel Beats!',
key_yoshino:'#bRewrite',
key_kengo:'#bLittle Busters!',
@ -753,8 +752,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(map[1]){
if(map[1].length==len&&len>4){
for(var i=0;i<map[1].length-1;i++){
if(map[1][i+1]-map[1][i]!=1) return null;
if(map[1][i+1]==15) return null;
if(map[1][i+1]-map[1][i]!=1) return null;
if(map[1][i+1]==15) return null;
}
return ['单顺',nums[0],len];
}
@ -764,7 +763,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else if(map[3]&&map[1].length==map[3].length&&len==map[1].length*4){
if(map[3].length==1) return ['三带一',map[3][0],1];
for(var i=0;i<map[3].length-1;i++){
if(map[3][i+1]-map[3][i]!=1) return null;
if(map[3][i+1]-map[3][i]!=1) return null;
}
return ['单带飞机',map[3][0],map[3].length];
}
@ -773,8 +772,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(map[2]){
if(map[2].length*2==len&&len>5){
for(var i=0;i<map[2].length-1;i++){
if(map[2][i+1]-map[2][i]!=1) return null;
if(map[2][i+1]==15) return null;
if(map[2][i+1]-map[2][i]!=1) return null;
if(map[2][i+1]==15) return null;
}
return ['双顺',nums[0],len];
}
@ -784,8 +783,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else if(map[3]&&map[2].length==map[3].length&&len==map[2].length*5){
if(map[3].length==1) return ['三带二',map[3][0],1];
for(var i=0;i<map[3].length-1;i++){
if(map[3][i+1]-map[3][i]!=1) return null;
if(map[3][i+1]==15) return null;
if(map[3][i+1]-map[3][i]!=1) return null;
if(map[3][i+1]==15) return null;
}
return ['双带飞机',map[3][0],map[3].length];
}
@ -794,8 +793,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(map[3]){
if(map[3].length*3==len&&len>5){
for(var i=0;i<map[3].length-1;i++){
if(map[3][i+1]-map[3][i]!=1) return null;
if(map[3][i+1]==15) return null;
if(map[3][i+1]-map[3][i]!=1) return null;
if(map[3][i+1]==15) return null;
}
return ['三顺',nums[0],len];
}
@ -2934,9 +2933,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(target.hasCard(function(card){
return get.name(card,target)=='shan';
},'h')){
player.discardPlayerCard(target,true,'h','visible').set('filterButton',function(button){
return get.name(button.link)=='shan';
});
player.discardPlayerCard(target,true,'h','visible').set('filterButton',function(button){
return get.name(button.link)=='shan';
});
}
else if(player.countCards('he')>0) player.chooseToDiscard('he',true);
},
@ -3008,7 +3007,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return false;
},
content:function(){
player.draw();
player.draw();
},
mod:{
maxHandcard:function(player,num){
@ -3793,7 +3792,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.chooseButton(['选择获得一张“兴”',player.getExpansions('tenzen_yixing')],true);
'step 1'
if(result.bool){
player.gain(result.links,'gain2');;
player.gain(result.links,'gain2');
}
var next=game.createEvent('tenzen_yixing_insert');
event.next.remove(next);
@ -3968,9 +3967,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
filterTarget:function(card,kyouko,hina){
if(kyouko==hina||kyouko.getStorage('kyouko_gongmian').contains(hina)) return false;
var hs=hina.countCards('he');
if(hs==0) return kyouko.countCards('h')==0;
return true;
var hs=hina.countCards('he');
if(hs==0) return kyouko.countCards('h')==0;
return true;
},
content:function(){
'step 0'
@ -4958,10 +4957,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
switch(button.link){
case 3:return 4.5;break;
case 4:return 4.4;break;
case 5:return 4.3;break;
case 2:return (3-player.hp)*1.5;break;
case 3:return 4.5;
case 4:return 4.4;
case 5:return 4.3;
case 2:return (3-player.hp)*1.5;
case 1:{
if(game.hasPlayer(function(current){
return (get.realAttitude||get.attitude)(player,current)<0&&get.distance(player,current)>1;
@ -6122,7 +6121,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.popup('花绽',get.groupnature(name.slice(12)));
game.log(player,'发动了技能',lib.translate[name].replace(/魔物/g,'【花绽】'));
player.removeMark(name,1,false);
;game.log(player,'移去了一个',lib.translate[name].replace(/魔物/g,'【魔物】'));
game.log(player,'移去了一个',lib.translate[name].replace(/魔物/g,'【魔物】'));
},
}
}
@ -6388,7 +6387,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{source:'damageBefore'},
forced:true,
charlotte:true,
audio:'abyusa_jueqing',
filter:function(event,player){
return player.storage.abyusa_jueqing_rewrite==true;
},
@ -9106,7 +9104,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
},
filterCard:true,
log:false,
filterTarget:function(card,player,target){
return target!=player&&target.hasZhuSkill('akane_yifu',player)&&!target.hasSkill('akane_yifu3');
},
@ -9349,7 +9346,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
for(var i=0;i<targets.length;i++){
if(targets[i].differentSexFrom(player)){
bool=true;break;
};
}
}
if(bool) player.loseHp();
},
@ -9807,10 +9804,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
backup:function(links,player){
return {
filterCard:true,
audio:'haruka_shuangche',
selectCard:-1,
filterCard:function(){return false},
selectCard:-1,
popname:true,
check:function(card){
return 6-get.value(card);
@ -11986,7 +11982,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
})){
event.finish();
return;
};
}
_status.currentPhase.chooseCard(get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
get.translation(trigger.player.judging[0])+',请打出一张手牌进行改判','h',true,function(card){
var player=_status.event.player;
@ -13140,11 +13136,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(n==1){
player.addTempSkill("releiji",{player:"phaseUseBegin"});
player.markSkill("releiji",{player:"phaseUseBegin"});
};
}
if(n==2){
player.addTempSkill("guidao",{player:"phaseUseBegin"});
player.markSkill("guidao",{player:"phaseUseBegin"});
};
}
},
},
ns_xiandao2:{

View File

@ -135,7 +135,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
identities.add(i);
population=curPopulation;
}
};
}
return identities;
},
group:'jxlianpo_show',
@ -620,7 +620,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
})){
goon=6;
}
}catch(e){}
}catch(e){
console.trace(e);
}
ui.selected.cards.remove(card);
return goon-get.value(card);
},
@ -1756,7 +1758,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return game.hasPlayer(function(current){
return evt.filterTarget(sha,player,current);
})
};
}
})
},
prompt:'将场上的一张坐骑牌当做【杀】或【闪】使用或打出',
@ -1791,8 +1793,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return false;
})){
list.push('sha');
};
}catch(e){game.print(e)};
}
}catch(e){game.print(e)}
_status.event=backupx;
if(list.length==1){
event.cardName=list[0];
@ -4400,14 +4402,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var list=[];
for(var i in player.disabledSkills){
if(player.disabledSkills[i].contains(skill)) list.push(i);
};
}
if(list.length){
var str='失效技能:';
for(var i=0;i<list.length;i++){
if(lib.translate[list[i]+'_info']) str+=get.translation(list[i])+'、';
};
}
return str.slice(0,str.length-1);
};
}
},
},
},
@ -5380,7 +5382,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
wuhun2:{
trigger:{
player:'dieBegin',
player:'dieBegin',
},
forced:true,
popup:false,
@ -5405,8 +5407,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return -ai.get.attitude(_status.event.player,target);
});
"step 1"
player.line(result.targets[0],'fire');
result.targets[0].addSkill('wuhun3')
player.line(result.targets[0],'fire');
result.targets[0].addSkill('wuhun3')
},
ai:{
threaten:0.5,
@ -5965,7 +5967,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player.countCards('he',{suit:'heart'})<Math.max(1,player.hp)) return false;
break;
}
default:return true;break;
default:return true;
}
},
maixie:true,
@ -6501,7 +6503,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else{
player.addTempSkill('nzry_longnu_1','phaseUseAfter');
};
}
},
subSkill:{
'1':{
@ -6607,7 +6609,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
result.targets[0].link(true);
}else{
event.finish();
};
}
},
},
},
@ -6662,8 +6664,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else{
result.targets[0].link(true);
player.discardPlayerCard(result.targets[0],1,'hej',true);
};
};
}
}
'step 2'
if(player.countMark('nzry_junlve')>7){
player.chooseBool().set('ai',function(){
@ -6671,7 +6673,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}).set('prompt','是否弃置所有“军略”标记并对所有其他角色造成1点伤害');
}else{
event.finish();
};
}
'step 3'
if(result.bool){
var players=game.players.slice(0).sortBySeat();
@ -6679,8 +6681,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.removeMark('nzry_junlve',player.countMark('nzry_junlve'));
for(var i=0;i<players.length;i++){
if(players[i]!=player) players[i].damage();
};
};
}
}
},
},
"nzry_dinghuo":{
@ -6833,14 +6835,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var list=[];
for(var i in player.disabledSkills){
if(player.disabledSkills[i].contains(skill)) list.push(i);
};
}
if(list.length){
var str='失效技能:';
for(var i=0;i<list.length;i++){
if(lib.translate[list[i]+'_info']) str+=get.translation(list[i])+'、';
};
}
return str.slice(0,str.length-1);
};
}
},
},
},
@ -6969,7 +6971,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
chooseButton.set('filterButton',function(button){
for(var i=0;i<ui.selected.buttons.length;i++){
if(get.suit(button.link)==get.suit(ui.selected.buttons[i].link)) return false;
};
}
return true;
});
'step 1'
@ -6980,8 +6982,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.list1.push(list[i]);
}else{
event.list2.push(list[i]);
};
};
}
}
if(event.list1.length&&event.list2.length){
game.loseAsync({
lose_list:[
@ -6995,7 +6997,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
target.discard(event.list2);
}
else player.discard(event.list1);
};
}
'step 2'
if(event.list1.length+event.list2.length==4){
if(event.list1.length==0) player.loseMaxHp();
@ -7006,13 +7008,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(evt.name=='phaseUse'){
evt.skipped=true;
break;
};
};
}
}
player.addTempSkill('drlt_poxi1',{player:'phaseAfter'});
};
}
if(event.list1.length==3) player.recover();
if(event.list1.length==4) player.draw(4);
};
}
},
ai:{
order:13,
@ -7123,7 +7125,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var mark=player.countMark('drlt_jieying_mark');
player.removeMark('drlt_jieying_mark',mark);
target.addMark('drlt_jieying_mark',mark);
};
}
},
},
'3':{

View File

@ -1959,7 +1959,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
case 'jiu':return 3.01;
case 'sha':
if(button.link[3]=='fire') return 2.95;
else if(button.link[3]=='fire') return 2.92;
else if(button.link[3]=='thunder') return 2.92;
else return 2.9;
default:return 2+_status.event.getRand()*2;
}

View File

@ -4138,7 +4138,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var cards=evt.cards.filterInD();
return get.value(cards,evt.player)*get.attitude(player,evt.player);
}
return 0;
})
'step 1'
if(result.bool){
@ -5781,7 +5780,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
subSkill:{
blocker:{
charlotte:true,
init:function(player,skill){
player.addSkillBlocker(skill);
},
@ -10165,7 +10163,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
characterTitle:{
},
perfectPair:{},
characterFilter:{
},
dynamicTranslate:{

View File

@ -384,7 +384,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
onremove:true,
filter:function(event,player){
if(!event.card.storage||!event.card.storage.jsrgzhenfeng) return false;
debugger
// debugger
var str=event.target.getSkills(null,false,false).map(skill=>{
var info=get.info(skill);
if(!info||info.charlotte) return;
@ -1992,7 +1992,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
subSkill:{
undist:{
group:'undist',
charlotte:true,
trigger:{
player:['useCardAfter','damageEnd'],
},
@ -2954,7 +2953,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(count==1) return true;
for(var i=0;i<ui.selected.buttons.length;i++){
if(get.owner(button.link)==get.owner(ui.selected.buttons[i].link)) return false;
};
}
return true;
}).set('count',targets.length).set('ai',button=>{
var player=_status.event.player;
@ -4390,7 +4389,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var ind=skillx.lastIndexOf('_');
if(ind==-1) break;
skillx=skillx.slice(0,ind);
};
}
}
if(popup!=false&&!infox.silent) infox.forced=false;
if(!infox.charlotte&&infox.mod) delete infox.mod;

View File

@ -630,7 +630,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return game.hasPlayer(function(current){
return evt.filterTarget(sha,player,current);
})
};
}
})
},
prompt:'将场上的一张坐骑牌当做【杀】或【闪】使用或打出',
@ -665,8 +665,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return false;
})){
list.push('sha');
};
}catch(e){game.print(e)};
}
}catch(e){game.print(e)}
_status.event=backupx;
if(list.length==1){
event.cardName=list[0];
@ -1533,7 +1533,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addToExpansion(result.cards[0],'give',player).gaintag.add('psshiyin');
var card=player.getExpansions('psshiyin')[0];
if(card) player.gain(card,'gain2');
};
}
},
}
}
@ -1654,7 +1654,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(card.name=='du') addi-=5;
if(get.color(card)=='black') addi-=6;
if(player==event.player){
if(Boolean(event.small)){
if(event.small){
return -getn(card)-get.value(card)/2+addi;
}
return getn(card)-get.value(card)/2+addi;
@ -2670,9 +2670,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return '没有“戮”';
}
},
content:function(storage,player){
return '共有'+get.cnNumber(storage.length)+'张“戮”';
},
// content:function(storage,player){
// return '共有'+get.cnNumber(storage.length)+'张“戮”';
// },
},
group:'zyshilu_zhiheng',
subSkill:{
@ -4096,7 +4096,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
}
for(var i of lib.inpile_nature){
if(lib.filter.cardUsable({name:'sha',nature:i},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
if(lib.filter.cardUsable({name:'sha',nature:i},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
return player.canUse({name:'sha',nature:i},current);
})){
list.push(['基本','','sha',i]);
@ -4594,14 +4594,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(cards.length) player.gain(cards,'gain2','log');
'step 5'
if(event.count>0&&player.hasSkill('spyinzhi')){
player.chooseBool(get.prompt2('spyinzhi')).set('frequentSkill','spyinzhi');
player.chooseBool(get.prompt2('spyinzhi')).set('frequentSkill','spyinzhi');
}
else event.finish();
'step 6'
if(result.bool){
player.logSkill('spyinzhi');
event.goto(1);
};
}
},
},
spmingjian:{

View File

@ -331,10 +331,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
switch(button.link[2]){
case 'tao':return 5;
case 'jiu':return 3.01;
case 'shan':return 3.01;
case 'sha':
if(button.link[3]=='fire') return 2.95;
else if(button.link[3]=='fire') return 2.92;
else if(button.link[3]=='thunder') return 2.92;
else return 2.9;
case 'shan':return 1;
}
@ -1195,7 +1194,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var color=get.color(card),colors=player.getStorage('olshuangxiong_effect');
for(var i of colors){
if(color!=i) return true;
};
}
return false;
},
prompt:function(){
@ -2305,7 +2304,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return current!=player;
}).sortBySeat(target);
for(var target of players){
if(get.damageEffect(target,player,target,'fire')>=0){num=0;continue};
if(get.damageEffect(target,player,target,'fire')>=0){num=0;continue}
var shao=false;
num++;
if(target.countCards('he',function(card){
@ -3171,7 +3170,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true,
audio:2,
check:function(event,player){
return player.getHistory('damage').indexOf(event)==0;
return player.getHistory('damage').indexOf(event)==0;
},
filter:function(event,player){
var index=player.getHistory('damage').indexOf(event);
@ -4501,7 +4500,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
locked:false,
enable:'chooseToUse',
filterCard:function(card){
return (get.type2(card)!='trick'&&get.color(card)=='black');
return (get.type2(card)!='trick'&&get.color(card)=='black');
},
filter:function(event,player){
return player.hasCard((card)=>(get.type2(card)!='trick'&&get.color(card)=='black'),'hes');
@ -6418,7 +6417,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
enable:'phaseUse',
usable:1,
position:'hs',
viewAs:{
name:'sha',
changbiao:true,
@ -7373,7 +7371,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!lib.skill.yongjin.filter(null,player,cards)){
event.finish();
return;
};
}
var next=player.chooseTarget(2,function(card,player,target){
if(ui.selected.targets.length){
var from=ui.selected.targets[0];
@ -7655,7 +7653,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return evt&&evt.cards2&&evt.cards2.filter(function(i){
return get.name(i,evt.hs.contains(i)?player:false)=='sha';
}).length>0;
};
}
if(event.name=='gain'&&event.player==player) return false;
var evt=event.getl(player);
return evt&&evt.cards2&&evt.cards2.length>0;
@ -11158,7 +11156,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(checkx>0) return checkx;
}
return 0;
};
}
if(attitude>0){
return result;
}
@ -11521,7 +11519,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 1;
}
else return 4;
};
}
return 3;
}).set('logSkill',['new_liyu',trigger.player]);
'step 1'
@ -12033,7 +12031,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(get.attitude(_status.event.player,_status.currentPhase)<0&&_status.currentPhase.needsToDiscard()&&card.name!='du') return -1;
for(var i=0;i<ui.selected.cards.length;i++){
if(get.type(ui.selected.cards[i])==get.type(card)||(ui.selected.cards[i].name=='du'&&card.name!='du')) return -1;
};
}
if(card.name=='du') return 20;
return (_status.event.player.countCards('h')-_status.event.player.hp);
},
@ -12673,7 +12671,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
list.push(['基本','','sha']);
}
for(var i of lib.inpile_nature){
if(lib.filter.cardUsable({name:'sha',nature:i},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
if(lib.filter.cardUsable({name:'sha',nature:i},player,event.getParent('chooseToUse'))&&game.hasPlayer(function(current){
return player.canUse({name:'sha',nature:i},current);
})){
list.push(['基本','','sha',i]);
@ -14312,7 +14310,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!result.bool&&!event.directbool){
//game.cardsDiscard(card);
return;
};
}
player.addToExpansion(card,'gain2').gaintag.add('tuntian');
},
group:'tuntian_dist',
@ -14931,8 +14929,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
refangzhu_info:'当你受到伤害后你可以令一名其他角色选择一项摸X张牌并将武将牌翻面或弃置X张牌并失去1点体力。X为你已损失的体力值',
rezaiqi:'再起',
rezaiqi_info:'结束阶段开始时你可以令至多X名角色选择一项1.摸一张牌2.令你回复1点体力X为本回合进入弃牌堆的红色牌数。',
ol_jiangwei:'界姜维',
ol_jiangwei_prefix:'界',
ol_caiwenji:'界蔡琰',
ol_caiwenji_prefix:'界',
retuntian:'屯田',

View File

@ -101,6 +101,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return get.damageEffect(target,player,player);
},
},
combo:'nzry_mingren',
},
group:'sbzhenliang_draw',
subSkill:{
@ -129,7 +130,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
},
ai:{combo:'nzry_mingren'},
},
//小乔
sbtianxiang:{
@ -1289,7 +1289,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sblianhuan:{
audio:2,
enable:'phaseUse',
filterCard:{suit:'club'},
filter:(event,player)=>player.hasCard(card=>lib.skill.sblianhuan.filterCard(card,player),lib.skill.sblianhuan.position),
filterTarget:function(card,player,target){
if(player.hasSkill('sblianhuan_blocker')) return false;

View File

@ -750,7 +750,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.line(player,trigger.player);
player.logSkill('drlt_zhenrong');
player.addToExpansion(result.links,trigger.player,'give','log').gaintag.add('drlt_zhenrong');
};
}
},
},
"drlt_hongju":{
@ -822,11 +822,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var cards=result.links;
for(var i=0;i<cards.length;i++){
player.storage.drlt_zhenrong.remove(cards[i]);
};
}
player.syncStorage('drlt_zhenrong');
player.$throw(cards);
player.discardPlayerCard(target,'ej',1,true);
};
}
},
ai:{
order:13,
@ -1268,7 +1268,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else{
player.addTempSkill('drlt_yongsi1',{player:'phaseDiscardAfter'});
};
}
},
},
},
@ -1482,7 +1482,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var num=1;
if(get.type(result.cards[0])=='equip') num=2;
player.draw(num);
};
}
},
},
drlt_wanglie:{
@ -1820,7 +1820,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},'选择一名装备区里牌数大于你的角色').ai=function(target){
return -get.attitude(player,target)
};
};
}
'step 2'
if(result.bool){
event.target=result.targets[0];
@ -1846,7 +1846,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 3'
if(result.bool){
target.give(result.cards,player);
};
}
},
ai:{
order:11,
@ -1958,14 +1958,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else event._result={index:0};
}else{
event.finish();
};
}
'step 2'
player.logSkill('nzry_yili',target);
if(result.index==1){
player.removeMark('nzry_huaiju',1);
}else{
player.loseHp();
};
}
target.addMark('nzry_huaiju',1);
target.addSkill('nzry_huaiju_ai');
},
@ -2024,7 +2024,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var num=0;
for(var i=0;i<targets.length;i++){
num+=targets[i].hp;
};
}
return num+target.hp<=_status.event.num;
}).set('ai',function(target){
if(ui.selected.targets[0]!=undefined) return -1;
@ -2043,7 +2043,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.chooseTarget('请选择〖溃诛〗的目标',[1,event.num]).ai=function(target){
return get.attitude(player,target);
};
};
}
'step 3'
if(result.bool){
var targets=result.targets.sortBySeat();
@ -2056,7 +2056,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var num=0;
for(var i=0;i<targets.length;i++){
num+=targets[i].hp;
};
}
if(num<event.num){
event.bool=false;
event.goto(2);
@ -2066,11 +2066,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.logSkill('nzry_kuizhu',targets);
for(var i=0;i<targets.length;i++){
targets[i].damage();
};
}
//if(targets.length>=2) player.loseHp();
};
};
};
}
}
}
},
},
rechezheng:{
@ -2122,7 +2122,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool){
player.line(result.targets);
player.discardPlayerCard(result.targets[0],'he',1,true);
};
}
},
group:'rechezheng',
},
@ -2234,7 +2234,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
player.markSkill('nzry_chenglve');
player.addTempSkill('nzry_chenglve1');
};
}
},
ai:{
order:2.7,
@ -2252,13 +2252,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var cards=player.storage.nzry_chenglve1;
for(var i=0;i<cards.length;i++){
if(cards[i]==get.suit(card)) return Infinity;
};
}
},
targetInRange:function(card,player){
var cards=player.storage.nzry_chenglve1;
for(var i=0;i<cards.length;i++){
if(cards[i]==get.suit(card)) return true;
};
}
}
},
onremove:true,
@ -2388,7 +2388,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 2'
if(result.bool){
player.addToExpansion(result.cards[0],player,'give','log').gaintag.add('nzry_mingren');
};
}
},
},
2:{
@ -2425,7 +2425,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addToExpansion(result.cards[0],'log','give',player).gaintag.add('nzry_mingren');
var card=player.getExpansions('nzry_mingren')[0];
if(card) player.gain(card,'gain2');
};
}
},
},
},
@ -2591,12 +2591,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
else{
event.finish();
};
}
'step 2'
if(result.bool){
player.line(result.targets);
result.targets[0].draw(4-result.targets[0].countCards('h'))
};
}
},
ai:{
order:1,
@ -2633,7 +2633,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger.source.storage.nzry_shenshi1=result.cards[0];
trigger.source.storage.nzry_shenshi2=player;
trigger.source.addSkill('nzry_shenshi1');
};
}
},
},
},
@ -2654,7 +2654,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player.getCards('he').contains(card)&&4-pl.countCards('h')>0){
pl.draw(4-pl.countCards('h'));
pl.logSkill('nzry_shenshi');
};
}
player.removeSkill('nzry_shenshi1');
delete player.storage.nzry_shenshi1;
delete player.storage.nzry_shenshi2;
@ -3698,7 +3698,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 2'
if(!result.bool&&!event.directbool){
return;
};
}
player.addToExpansion(event.card,'gain2').gaintag.add('tuntian');
},
callback:function(){
@ -3731,7 +3731,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
locked:false,
ai:{
effect:{
target:function(card,player,target,current){
@ -6233,7 +6232,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){
"step 0";
player.chooseTarget(get.prompt2('releiji'),function(card,player,target){
return target!=player;
return target!=player;
}).ai=function(target){
if(target.hasSkill('hongyan')) return 0;
return get.damageEffect(target,_status.event.player,_status.event.player,'thunder');
@ -7080,7 +7079,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(cards[i]!=card&&get.number(cards[i])==num){
player.loseToDiscardpile(card);
return;
};
}
}
trigger.cancel();
trigger.result={bool:true};

View File

@ -2053,7 +2053,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!list.contains(type)){
list.push(type);
cards.push(ui.cardPile.childNodes[i])
};
}
}
player.gain(cards,'gain2').gaintag.add('zhangming');
player.addTempSkill('zhangming_keep');
@ -4860,7 +4860,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!list.contains(type)){
list.push(type);
cards.push(ui.cardPile.childNodes[i])
};
}
}
player.gain(cards,'gain2');
}
@ -4960,8 +4960,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
onunmark:'throw',
},
ai:{
order:1,
result:{target:-1},
order:1,
result:{target:-1},
},
subSkill:{
equip:{
@ -6286,10 +6286,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
};
if(!targets.length){
if(get.attitude(player,target)<0){
if(target.countCards('e',function(card){
if(target.countCards('e',function(card){
return get.value(card,target)<=0;
})) return 1;
if(game.hasPlayer(function(current){
if(game.hasPlayer(function(current){
return current.countCards('h',fh)==target.countCards('h',fh)-2;
})) return -2;
if(game.hasPlayer(function(current){

View File

@ -1937,17 +1937,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
switch(get.sgn(get.attitude(player,target))){
case 0:
return 2;
break;
case 1:
if(num1-1>=num2) return 0;
if(num1+1<=num2) return 1;
return 2;
break;
case -1:
if(num1-2<=num2) return 0;
if(num1+3>=num2) return 1;
return 2;
break;
}
}).set('prompt',get.prompt('olrunwei',trigger.player));
'step 1'
@ -6253,7 +6250,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else used.push(name);
}
else used.push(name);
};
}
if(info.isRound) break;
}
var vcards=[];
@ -7261,7 +7258,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(evt.card.nature) natures.remove(evt.card.nature);
}
else tricks.remove(name);
};
}
if(info.isRound) break;
}
var vcards=[];
@ -11567,11 +11564,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return target.countCards('h')!=ui.selected.targets[0].countCards('h');
}).set('complexTarget',true).set('ai',function(target){
if(!ui.selected.targets.length){
var player=_status.event.player,hs=target.countCards('h');
if(game.hasPlayer(function(current){
return current!=player&&current!=target&&current.countCards('h')>hs&&!current.hasMark('quxi_gain')&&!current.hasMark('quxi_lose');
})) return get.attitude(player,target)/(Math.sqrt(1+target.countCards('h')));
return 0;
var player=_status.event.player,hs=target.countCards('h');
if(game.hasPlayer(function(current){
return current!=player&&current!=target&&current.countCards('h')>hs&&!current.hasMark('quxi_gain')&&!current.hasMark('quxi_lose');
})) return get.attitude(player,target)/(Math.sqrt(1+target.countCards('h')));
return 0;
}
if(target.countCards('h')>ui.selected.targets[0].countCards('h')) return -get.attitude(_status.event.player,target);
return 0;
@ -11837,7 +11834,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
silent:true,
popup:false,
filter:function(event,player){
return player.storage.juguan_draw&&player.storage.juguan_draw.contains(event.source);
return player.storage.juguan_draw&&player.storage.juguan_draw.contains(event.source);
},
content:function(){
player.unmarkAuto('juguan_draw',[trigger.source]);
@ -12689,10 +12686,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 5-val;
}
switch(button.link){
case 3:return 4.5;break;
case 4:return 4.4;break;
case 5:return 4.3;break;
case 2:return (3-player.hp)*1.5;break;
case 3:return 4.5;
case 4:return 4.4;
case 5:return 4.3;
case 2:return (3-player.hp)*1.5;
case 1:{
if(game.hasPlayer(function(current){
return (get.realAttitude||get.attitude)(player,current)<0&&get.distance(player,current)>1;
@ -12913,7 +12910,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
filterCard:{color:'black'},
position:'hes',
audio:'niluan',
viewAsFilter:function(player){
return player.countCards('hes',lib.skill.spniluan.filterCard)>0;
},
@ -13422,7 +13418,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
backup:function(links,player){
return {
audio:'jingong',
filterCard:true,
popname:true,
position:'hes',
viewAs:{name:links[0][2]},
@ -14707,7 +14702,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
forced:true,
popup:false,
onremove:true,
firstDo:true,
init:function(player,skill){
player.storage[skill]=0;
@ -15627,7 +15621,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
backup:function(links,player){
return {
audio:'jingong',
filterCard:true,
popname:true,
position:'hes',
viewAs:{name:links[0][2]},
@ -17089,16 +17082,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var map={sha:'shan',tao:'jiu',jiu:'tao'}
for(var i=0;i<list.length;i++){
var name=list[i];
if(player.countCards('hs',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
var temp=get.order({name:name});
if(temp>max){
max=temp;
name2=map[name];
}
}
}
if(name2==get.name(card,player)) return 1;
return 0;
if(player.countCards('hs',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
var temp=get.order({name:name});
if(temp>max){
max=temp;
name2=map[name];
}
}
}
if(name2==get.name(card,player)) return 1;
return 0;
}
return 1;
},
@ -17123,7 +17116,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
onrespond:function(){return this.onuse.apply(this,arguments)},
onuse:function(result,player){
player.removeMark('fanghun',1);
player.removeMark('fanghun',1);
},
ai:{
respondSha:true,
@ -17144,13 +17137,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var map={sha:'shan',tao:'jiu',jiu:'tao'}
for(var i=0;i<list.length;i++){
var name=list[i];
if(player.countCards('hs',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
var temp=get.order({name:name});
if(temp>max) max=temp;
}
}
if(max>0) max+=((player.storage.refuhan||player.storage.twfuhan)?0.3:-0.3);
return max;
if(player.countCards('hs',map[name])>(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){
var temp=get.order({name:name});
if(temp>max) max=temp;
}
}
if(max>0) max+=((player.storage.refuhan||player.storage.twfuhan)?0.3:-0.3);
return max;
}
if(!player) player=_status.event.player;
return (player.storage.refuhan||player.storage.twfuhan)?4:1;
@ -20721,7 +20714,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
next.set('filterButton',function(button){
if(button.link==2){
return _status.event.bool1;
};
}
return true;
});
next.set('bool1',trigger.player.isDamaged());
@ -22600,9 +22593,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 0"
event.target=player;
event.player=trigger.player;
var prompt;
if(player==event.player) prompt='是否发动【郡兵】摸一张牌?';
else prompt=('###是否对'+get.translation(event.target)+'发动【郡兵】?###'+(event.player==event.target?'摸一张牌':'摸一张牌,将所有手牌交给该角色,然后该角色交给你等量的手牌'));
var prompt;
if(player==event.player) prompt='是否发动【郡兵】摸一张牌?';
else prompt=('###是否对'+get.translation(event.target)+'发动【郡兵】?###'+(event.player==event.target?'摸一张牌':'摸一张牌,将所有手牌交给该角色,然后该角色交给你等量的手牌'));
event.player.chooseBool(prompt).set('choice',lib.skill.junbing.checkx(event.target,event.player));
"step 1"
if(!result.bool){event.finish();return}
@ -22621,7 +22614,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 4"
target.give(result.cards,player);
},
audio:2,
},
xiongyi:{
skillAnimation:true,

View File

@ -867,7 +867,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
dcwujie:{
audio:2,
forced:true,
trigger:{
global:['discardBegin','drawBegin'],
},
@ -946,7 +945,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!num) delete player.getStat().skill[skillx];
else player.getStat().skill[skillx]=num;
var bool3=!(bool1&&!bool2);
}catch(e){}
} catch (e) {
console.trace(e);
}
if(!bool1&&!bool2&&get.skillInfoTranslation(skill,player).indexOf('出牌阶段限一次')==-1) return false;
if((bool1||bool2)&&bool3) return false;
}
@ -2231,7 +2232,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
subSkill:{
blocker:{
charlotte:true,
init:function(player,skill){
player.addSkillBlocker(skill);
},
@ -2626,7 +2626,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(eff2>0) return eff1>0;
return player.hp>2&&eff2<eff1;
}
return false;
},
logTarget:'player',
shaRelated:true,
@ -4044,7 +4043,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var player=_status.event.player,att=get.attitude(player,target);
if(att>=0) return 0;
if(!target.hasCard(function(card){
return get.value(card,target)<=0;
return get.value(card,target)<=0;
},'he')) return -att/Math.sqrt(target.countCards('he'));
return 0;
});
@ -4309,10 +4308,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 5-val;
}
switch(num){
case 'equip3':return 4.5;break;
case 'equip4':return 4.4;break;
case 'equip5':return 4.3;break;
case 'equip2':return (3-player.hp)*1.5;break;
case 'equip3':return 4.5;
case 'equip4':return 4.4;
case 'equip5':return 4.3;
case 'equip2':return (3-player.hp)*1.5;
case 'equip1':{
if(game.hasPlayer(function(current){
return (get.realAttitude||get.attitude)(player,current)<0&&get.distance(player,current)>1;
@ -6273,8 +6272,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.num++;
if(event.num<targets.length) event.goto(1);
else{
var cards=[];
game.getGlobalHistory('cardMove',function(evt){
var cards=[];
game.getGlobalHistory('cardMove',function(evt){
if(evt.player&&evt.hs&&evt.type=='discard'&&evt.getParent(3)==event){
for(var i of evt.hs){
if(get.name(i,evt.player)=='sha'&&get.position(i,true)=='d') cards.add(i);
@ -9143,7 +9142,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else{
target.$damagepop('K','thunder');
event.num=13;
};
}
game.log(target,'选择的点数是','#y'+get.strNumber(event.num));
player.storage.xinfu_lveming++;
player.judge(function(card){
@ -9490,7 +9489,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else{
player.logSkill('xinfu_zhenxing');
event.num={一张:1,两张:2,三张:3}[result.control];
};
}
'step 2'
event.cards=get.cards(num);
player.chooseButton(['【镇行】:请选择要获得的牌',event.cards]).set('filterButton',function(button){
@ -9528,8 +9527,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var num2=ui.cardPile.childElementCount;
var num3=num2;
if(num1>num2) num3=0;
else if(!player.storage.xinfu_qianxin){}
else{
else if(player.storage.xinfu_qianxin){
for(var i=0;i<num2;i++){
if(player.storage.xinfu_qianxin.contains(ui.cardPile.childNodes[i])){
num3=0;break;
@ -9929,7 +9927,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player.storage.xinfu_dianhu2&&player.storage.xinfu_dianhu2.isIn()){
if(event.name=='damage') return event.source==player.storage.xinfu_dianhu2;
return true;
};
}
},
content:function(){
'step 0'
@ -10159,9 +10157,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhangwen:'张温193年—230年字惠恕吴郡吴县今江苏苏州人。少修节操容貌奇伟。孙权召拜议郎、选曹尚书徙太子太傅。黄武三年224以辅义中郎将身份出使蜀汉孙权原先害怕诸葛亮会有意留难张温但张温不担心。在呈上蜀汉朝廷的文书刻意称颂蜀汉以表明和解的诚意重建两国关系。他在蜀汉表现出色得蜀汉朝廷重视。回东吴后不久被调进豫章的军队事业上再无进展。孙权一方面介怀他出使蜀汉时称颂蜀汉又嫌他声名太盛恐怕张温不会尽忠地由他任用。当时正好碰上暨艳事件暨艳是张温引荐的臣子但他滥用职权升迁评定等只看自己喜恶。事件被揭发后暨艳及同党徐彪都自杀。孙权见此于是以张温与暨艳、徐彪等人多有来往而下罪张温后更将张温发还到家乡吴郡。将军骆统曾上书为张温辩解但孙权不理会。六年后张温病逝。',
lisu:'李肃192年五原治今内蒙古包头西北人。永汉三年四月司徒王允、尚书仆射士孙瑞、卓将吕布共谋诛卓。是时天子有疾新愈大会未央殿。布使同郡骑都尉肃等、将亲兵十馀人伪著卫士服守掖门。布怀诏书。卓至肃等格卓。卓惊呼布所在。布曰“有诏”遂杀卓夷三族。后卓女婿中郎将牛辅典兵别屯陕分遣校尉李傕、郭汜、张济略陈留、颍川诸县。卓死吕布使李肃至陕欲以诏命诛辅。辅等逆与肃战肃败走弘农布诛肃。',
xinpi:'辛毗生卒年不详字佐治颍川阳翟人。三国时期曹魏大臣。原居陇西郡治在今甘肃临洮县东汉光武帝建武年间其先人东迁。当初辛毗跟随其兄事袁绍。曹操任司空时征召辛毗他不受命。官渡战后辛毗事袁绍的儿子袁谭。公元204年曹操攻下邺城上表推荐辛毗任议郎后为丞相长史。公元220年曹丕即皇帝位以辛毗为侍中赐爵关内侯后赐广平亭侯。魏明帝即位封辛毗颍乡侯食邑三百户后为卫尉。公元234年诸葛亮屯兵渭南司马懿上表魏明帝。魏明帝任辛毗为大将军军师加使持节号。诸葛亮病逝后辛毗返回仍任卫尉。不久逝世谥肃侯。',
zhangchangpu:"钟会的母亲。《母夫人张氏传》:夫人张氏,字昌蒲,太原兹氏人,太傅定陵成侯之命妇也。",
xugong:"许贡是东汉末官吏。先后任吴郡都尉、太守欲送密信给曹操要曹操注意孙策却被孙策发现而被杀。许贡生前招揽了一些门客当中有三人不忘故主千方百计想要手刃仇人。建安五年公元200年广陵太守陈登派人秘密联系孙策治下的山贼余党企图颠覆孙策在江东的统治。孙策决定讨伐陈登行军到丹徒时许贡门客终于找到了机会。因为孙策有单骑出猎在野外思考的习惯三门客趁孙策轻装外出打猎时放冷箭射中孙策面颊。这些门客后来在与孙策的搏斗中被赶到的侍卫杀死。孙策此后因为伤口感染并且俊美的容貌被毁终于不治身亡去世时年仅26岁。",
mangyachang:"南蛮王孟获的部将,使一口截头大刀,骑一匹黄骠马。率军与蜀军交战,战败王平。后被平北将军马岱斩杀。只出现在《三国演义》里,正史中无此人。",
liuzan:'字正明会稽长山人人曾任左护军有两子留略、留平。少为会稽郡吏曾参与镇压黄巾起义后被东吴大将凌统所引用任屯骑校尉。吴五凤二年公元255年留赞任左护军随孙峻征淮南因病撤军被魏将蒋班围困于道力战而死时年73岁。',
zhujun:'朱儁195年字公伟。会稽郡上虞县今浙江绍兴上虞区人。东汉末年名将。朱儁出身寒门赡养母亲以好义轻财闻名受乡里敬重。后被太守徐珪举为孝廉任兰陵令颇有治绩。再升任交州刺史以家兵五千大破叛军平定交州。战后以功封都亭侯入朝为谏议大夫。光和七年184年黄巾起义爆发朱儁以右中郎将、持节平定三郡之地以功进封西乡侯迁镇贼中郎将。又率军讨平黄巾“威声满天下”。中平二年185年进拜右车骑将军更封钱塘侯。后为河内太守击退进逼的张燕。权臣董卓秉政时想任朱儁为副手遭其婉拒。其后出逃荆州更屯军中牟徐州刺史陶谦等欲推举他为太师并传檄各州牧伯相邀讨伐李傕、奉迎天子。但朱儁却奉诏入京任太仆。初平三年192年升任太尉、录尚书事。兴平元年194年行骠骑将军事持节镇关东因故未成行。兴平二年195年李傕与郭汜相互攻杀郭汜扣留朱儁作为人质。朱儁性格刚烈即日发病而死。',
@ -10174,7 +10169,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhangmiao:'张邈195年字孟卓东平寿张今山东东平县人。东汉大臣、名士“八厨”之一。举孝廉出身授骑都尉出任陈留太守。参与讨伐董卓参加汴水之战归附于曹操。兴平元年194年趁着曹操讨伐徐州牧陶谦联合陈宫发动叛乱迎立吕布为兖州牧。受到曹操讨伐兵败投奔徐州牧刘备。兴平二年张邈向袁术借兵途中被部下所杀。',
duanwei:'段煨209年字忠明武威郡姑臧今甘肃省武威市人也。东汉末年将领东汉太尉段颎同族兄弟与太尉贾诩、张济、宣威侯张绣乃是同乡。原为董卓帐下将领奉命屯兵华阴勤劳农业。兴平二年195年迎接汉献帝刘协东归洛阳供给衣食补给与护驾将领杨定不和引发激战十余天听从汉献帝刘协劝解。东汉建安三年198年攻打黄白城击杀李傕夷其三族封为镇远将军、闅乡亭侯、北地太守累迁大鸿胪、金光禄大夫。建安十四年209年寿终正寝。',
zhangheng:'张横生卒年不详武威郡姑臧人东汉末年凉州军阀之一。与梁兴、贾诩、段煨乃是同乡。建安三年198张横与梁兴、段煨等斩杀李傕。十六年211同韩遂、马超联合起兵反抗曹操兵败后不知所终。',
tangji:'唐姬,会稽太守唐瑁女,弘农怀王刘辩的妃子。刘辩死后,唐姬回归故里,因节烈不愿改嫁他人,后被汉献帝下诏封为弘农王妃。',
wenqin:'文钦(?~258年字仲若沛国谯郡今安徽省亳州市三国时期曹魏将领曹操部将文稷之子。魏明帝太和年间文钦任牙门将、五营校督后拜庐江太守、冠军将军嘉平元年249年曹爽及其同党在高平陵之变中被杀文钦心中不安执政的司马氏集团为了安抚文钦升其为前将军、扬州刺史任职期间结交镇东将军毌丘俭。击退吴国太傅诸葛恪进攻取得一定战果。正元二年255年文钦与镇东将军毌丘俭在扬州起兵讨伐司马师兵败后投奔吴国被封为镇北大将军、幽州牧封谯侯。甘露二年257年文钦随吴军援救起兵反抗司马氏的诸葛诞此后因被司马昭大军围困军情告急文钦与诸葛诞本就有矛盾对文钦日益不满的诸葛诞遂将文钦杀死。淮南平定之后文钦遗体被其二子收敛安葬。',
qiuliju:'丘力居,东汉末年的辽西乌丸大人。拉拢中山太守张纯反叛东汉,寇略青、徐、幽、冀四州,杀略吏民。死时认为儿子楼班年幼,于是让从子蹋顿总摄三王部。',
liuba:'刘巴222年字子初荆州零陵郡烝阳县今湖南省衡阳县、邵东县一带东汉末年至三国时期蜀汉时期官员、名士。刘巴少知名荆州牧刘表多次征用推举刘巴均不应就。曹操征伐荆州荆州士人多归刘备刘巴却北上投靠曹操。后受曹操命令招降荆南三郡不料先为刘备所得刘巴不能复命曹操遂远至交趾又辗转进入益州。刘备平定益州后刘巴归附刘备为左将军西曹掾法正死后接任尚书令。章武二年222年去世。刘巴博学多才为刘备解决入蜀后的财政困难问题又与诸葛亮等共制蜀汉的法律文件《蜀科》。为人简朴清高退无私交曹魏大臣陈群甚敬重之。所著录于《刘令君集》。',
@ -10209,7 +10203,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
chunyuqiong:'#b对决限定武将',
sp_xuyou:'#g4v4限定武将',
},
perfectPair:{},
characterFilter:{
chunyuqiong:function(mode){
return mode!='identity'&&mode!='guozhan';

View File

@ -1114,9 +1114,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
paoxiao:{
audio:2,
firstDo:true,
audioname2:{old_guanzhang:'old_fuhun'},
audioname:['re_zhangfei','guanzhang','xiahouba'],
audioname2:{
audioname2: {
old_guanzhang:'old_fuhun',
dc_xiahouba:'paoxiao_xiahouba',
},
trigger:{player:'useCard1'},

View File

@ -5351,7 +5351,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
for(j=0;j<storage[i].handcards2.length;j++){
if(storage[i].handcards2[j].parentNode==ui.discardPile||
storage[i].handcards2[j].parentNode==ui.cardPile){
storage[i].handcards2[j].parentNode==ui.cardPile){
player.node.handcards2.appendChild(storage[i].handcards2[j]);
}
else{
@ -5360,7 +5360,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
for(j=0;j<storage[i].equips.length;j++){
if(storage[i].equips[j].parentNode==ui.discardPile||
storage[i].equips[j].parentNode==ui.cardPile){
storage[i].equips[j].parentNode==ui.cardPile){
storage[i].equips[j].style.transform='';
player.$equip(storage[i].equips[j]);
}

View File

@ -972,10 +972,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
switch(get.sgn(att)){
case 1:
return [cards,[]];
break;
case 0:
return [cardx,cardy];
break;
case -1:
var num=Math.ceil(cards.length/2)+(cards.length%2==0?1:0);
if(num>1&&player.hasSkill('twchungang')) num--;
@ -985,7 +983,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
cardy.sort((a,b)=>get.value(b)-get.value(a));
cardx.addArray(cardy.slice(num,cardy.length));
return [cardx,cardy.slice(0,num)];
break;
}
}).set('cards',cards);
'step 1'
@ -5736,7 +5733,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return false;
});
},
direct:true,
content:function(){
'step 0'
var target=lib.skill.twenyuan1.logTarget(trigger,player)[0];
@ -6018,7 +6014,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
})){
event.finish();
return;
};
}
player.chooseTarget(get.prompt('twzhengrong'),'将一名其他角色的一张牌置于武将牌上,称为“荣”',function(card,player,target){
return target!=player&&target.countCards('he');
}).set('ai',function(target){
@ -6447,7 +6443,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addToExpansion(result.cards[0],'log','give',player).gaintag.add('twmingren');
var card=player.getExpansions('twmingren')[0];
if(card) player.gain(card,'gain2');
};
}
},
},
},
@ -8839,7 +8835,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return 6+get.effect(player,card,target,target);
}
return get.effect(target,{name:'guohe_copy2'},player,player)/2+get.effect(target,card,player,player);
});;
});
'step 1'
if(result.bool){
event.targets=result.targets;
@ -9761,42 +9757,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mod:{
cardEnabled:function(card,player){
if(game.hasPlayer(function(current){
var list=current.storage.twgongsun_shadow;
if(!list) return false;
for(var i=0;i<list.length;i++){
if(list[i][0]==player&&list[i][1]==card.suit) return true;
}
return false;
var list=current.storage.twgongsun_shadow;
if(!list) return false;
for(var i=0;i<list.length;i++){
if(list[i][0]==player&&list[i][1]==card.suit) return true;
}
return false;
})) return false;
},
cardSavable:function(card,player){
if(game.hasPlayer(function(current){
var list=current.storage.twgongsun_shadow;
if(!list) return false;
for(var i=0;i<list.length;i++){
if(list[i][0]==player&&list[i][1]==card.suit) return true;
}
return false;
var list=current.storage.twgongsun_shadow;
if(!list) return false;
for(var i=0;i<list.length;i++){
if(list[i][0]==player&&list[i][1]==card.suit) return true;
}
return false;
})) return false;
},
cardRespondable:function(card,player){
if(game.hasPlayer(function(current){
var list=current.storage.twgongsun_shadow;
if(!list) return false;
for(var i=0;i<list.length;i++){
if(list[i][0]==player&&list[i][1]==card.suit) return true;
}
return false;
var list=current.storage.twgongsun_shadow;
if(!list) return false;
for(var i=0;i<list.length;i++){
if(list[i][0]==player&&list[i][1]==card.suit) return true;
}
return false;
})) return false;
},
cardDiscardable:function(card,player){
if(game.hasPlayer(function(current){
var list=current.storage.twgongsun_shadow;
if(!list) return false;
for(var i=0;i<list.length;i++){
if(list[i][0]==player&&list[i][1]==card.suit) return true;
}
return false;
var list=current.storage.twgongsun_shadow;
if(!list) return false;
for(var i=0;i<list.length;i++){
if(list[i][0]==player&&list[i][1]==card.suit) return true;
}
return false;
})) return false;
},
},
@ -10377,8 +10373,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.logSkill('twfenghan',targets);
if(targets.length>1) game.asyncDraw(targets);
else{
targets[0].draw();
event.finish();
targets[0].draw();
event.finish();
}
}
else{
@ -10759,20 +10755,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
},
content:function(){
'step 0'
player.chooseTarget(lib.skill.twfuzuan.filterTarget,get.prompt('twfuzuan'),'变更一名角色的一个转换技的状态').set('ai',function(target){
var player=_status.event.player;
return get.effect(target,'twfuzuan',player,player);
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('twfuzuan',target);
var next=game.createEvent('twfuzuan');
next.player=player;
next.target=target;
next.setContent(lib.skill.twfuzuan.content);
}
'step 0'
player.chooseTarget(lib.skill.twfuzuan.filterTarget,get.prompt('twfuzuan'),'变更一名角色的一个转换技的状态').set('ai',function(target){
var player=_status.event.player;
return get.effect(target,'twfuzuan',player,player);
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('twfuzuan',target);
var next=game.createEvent('twfuzuan');
next.player=player;
next.target=target;
next.setContent(lib.skill.twfuzuan.content);
}
},
},
},
@ -11212,7 +11208,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(storage){
if(storage){
return '经过'+storage[1]+'个“回合结束时”后,若有“示”,则从牌堆中获得'+storage[0]+'张和“示”名称相同的牌';
return '经过'+storage[1]+'个“回合结束时”后,若有“示”,则从牌堆中获得'+storage[0]+'张和“示”名称相同的牌';
}
return '未指定施法效果';
},
@ -11386,7 +11382,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(storage){
if(storage){
return '经过'+storage[1]+'个“回合结束时”后,回复'+storage[0]+'点体力';
return '经过'+storage[1]+'个“回合结束时”后,回复'+storage[0]+'点体力';
}
return '未指定施法效果';
},
@ -11462,7 +11458,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(storage){
if(storage){
return '经过'+storage[1]+'个“回合结束时”后,摸'+storage[0]*2+'张牌';
return '经过'+storage[1]+'个“回合结束时”后,摸'+storage[0]*2+'张牌';
}
return '未指定施法效果';
},
@ -11542,7 +11538,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
content:function(storage){
if(storage){
return '经过'+storage[1]+'个“回合结束时”后,获得'+storage[0]+'层“防止一次伤害”的效果';
return '经过'+storage[1]+'个“回合结束时”后,获得'+storage[0]+'层“防止一次伤害”的效果';
}
return '未指定施法效果';
},
@ -11764,7 +11760,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var checkx=get.color(card,player)==get.color(judging);
if(checkx>0) return checkx;
return 0;
};
}
return result*(attitude>0?1:-1);
}).set('judging',trigger.player.judging[0]);
'step 1'
@ -13120,7 +13116,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
}).sortBySeat();
for(var i of list){
i.discardPlayerCard(player,true,'he').boolline=true;
i.discardPlayerCard(player,true,'he').boolline=true;
}
},
},

View File

@ -2806,7 +2806,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
result:{
target:function(player,target){
if(ui.cardPile.childNodes.length>game.players.length*5&&!player.hasSkill('dcjijiao_risutoa')&&
!game.hasPlayer(current=>current.hp<=1)&&game.countPlayer(current=>current.hp===2&&current.countCards('hes')<3)<=1) return 0;
!game.hasPlayer(current=>current.hp<=1)&&game.countPlayer(current=>current.hp===2&&current.countCards('hes')<3)<=1) return 0;
return 5;
}
}
@ -4141,7 +4141,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var selected=ui.selected.targets;
if(!selected.length) return true;
for(var i of selected){
if(i.getNext()==target||i.getPrevious()==target) return true;
if(i.getNext()==target||i.getPrevious()==target) return true;
}
return false;
},
@ -4245,7 +4245,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
try{
targetsx=game.filterPlayer(current=>player.inRange(current));
}
catch(e){player.storage.dcyuanmo_range=_tmp};
catch(e){
player.storage.dcyuanmo_range=_tmp
}
player.storage.dcyuanmo_range=_tmp;
targetsx.removeArray(targets);
return targetsx.reduce((p,c)=>{
@ -6061,7 +6063,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dcshoutan:{
audio:2,
enable:'phaseUse',
selectCard:-1,
position:'h',
filter:function(event,player){
if(player.hasSkill('dcyaoyi')) return !player.hasSkill('dcshoutan_blocker',null,null,false);
@ -8052,7 +8053,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var selected=ui.selected.targets;
if(!selected.contains(next)&&!selected.contains(prev)) return (target==next||target==prev);
for(var i of selected){
if(i.getNext()==target||i.getPrevious()==target) return true;
if(i.getNext()==target||i.getPrevious()==target) return true;
}
return false;
},
@ -8626,20 +8627,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
group:'baoshu_draw',
subSkill:{
draw:{
trigger:{global:'phaseDrawBegin2'},
forced:true,
popup:false,
filter:function(event,player){
return !event.numFixed&&event.player.hasMark('baoshu');
},
content:function(){
var target=trigger.player,num=target.countMark('baoshu');
trigger.player.logSkill('baoshu_draw');
trigger.num+=num;
trigger.player.removeMark('baoshu',num);
},
},
draw:{
trigger:{global:'phaseDrawBegin2'},
forced:true,
popup:false,
filter:function(event,player){
return !event.numFixed&&event.player.hasMark('baoshu');
},
content:function(){
var target=trigger.player,num=target.countMark('baoshu');
trigger.player.logSkill('baoshu_draw');
trigger.num+=num;
trigger.player.removeMark('baoshu',num);
},
},
},
},
//吴范
@ -8908,7 +8909,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(blacks.length>0){
dialog.push('<div class="text center">黑色牌</div>');
dialog.push(blacks);
};
}
player.chooseButton(dialog,true).set('ai',function(button){
var player=_status.event.player;
var color=get.color(button.link),cards=player.getExpansions('syjiqiao');
@ -9255,7 +9256,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
switch(button.link){
case 0:
return 2;
break;
case 1:
return Math.max(0.5,player.countCards('hs',function(card){
return get.name(card)=='sha'&&player.hasValueTarget(card);
@ -9264,10 +9264,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}).map(function(target){
return get.damageEffect(target,player,player);
}));
break;
case 2:
return player.needsToDiscard()/4;
break;
case 3:
var num=0;
return 0.8*Math.max.apply(Math,game.filterPlayer(function(current){
@ -9275,7 +9273,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}).map(function(target){
return get.effect(target,{name:'shunshou_copy'},player,player);
}));
break;
case 4:
var num=0;
game.countPlayer(function(current){
@ -9285,7 +9282,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
});
return num*0.8;
break;
}
});
if(player.getDamagedHp()>0) next.set('selectButton',[1,1+player.getDamagedHp()]);
@ -10256,27 +10252,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return next;
},
check:function(button){
var player=_status.event.player;
switch(button.link){
case 0:{
var target=game.findPlayer(function(current){
return current.isMaxHp();
});
return (Math.min(target.hp,player.maxHp)-player.hp)*2;
}
case 1:{
var target=game.findPlayer(function(current){
return current.isMaxHandcard();
});
return Math.min(5,target.countCards('h')-player.countCards('h'))*0.8;
}
case 2:{
var target=game.findPlayer(function(current){
return current.isMaxEquip();
});
return (target.countCards('e')-player.countCards('e'))*1.4;
}
}
var player=_status.event.player;
switch(button.link){
case 0:{
var target=game.findPlayer(function(current){
return current.isMaxHp();
});
return (Math.min(target.hp,player.maxHp)-player.hp)*2;
}
case 1:{
var target=game.findPlayer(function(current){
return current.isMaxHandcard();
});
return Math.min(5,target.countCards('h')-player.countCards('h'))*0.8;
}
case 2:{
var target=game.findPlayer(function(current){
return current.isMaxEquip();
});
return (target.countCards('e')-player.countCards('e'))*1.4;
}
}
},
prompt:function(links){
return [
@ -11041,7 +11037,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
mod:{
cardUsable:function(card,player,num){
if(card.name=='sha') return num+player.countMark('spzhuilie2');
if(card.name=='sha') return num+player.countMark('spzhuilie2');
},
},
},
@ -11071,8 +11067,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
frequent:true,
content:function(){
player.draw();
player.addMark('mansi',1,false);
player.draw();
player.addMark('mansi',1,false);
},
intro:{content:'已因此技能得到了#张牌'},
},
@ -11852,7 +11848,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//filter:function(event,player){
// return player.storage.gxlianhua&&player.storage.gxlianhua.red+player.storage.gxlianhua.black>0;
//},
forced:true,
content:function(){
var cards=[];
var cards2=[];
@ -12308,7 +12303,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return '当你使用或打出'+(player.hasSkill('dczhangcai_all')?'':'点数为8的')+'牌时你可以摸X张牌X为你手牌区里'+(player.hasSkill('dczhangcai_all')?'与此牌点数相同':'点数为8')+'的牌数且至少为1。';
},
},
perfectPair:{},
characterReplace:{
wenyang:['wenyang','db_wenyang','diy_wenyang'],
gexuan:['gexuan','tw_gexuan'],

View File

@ -811,7 +811,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
limited:true,
enable:"phaseUse",
filter:function(event,player){;
filter:function(event,player){
return player.countCards('e')>0;
},
filterTarget:lib.filter.notMe,

View File

@ -1514,7 +1514,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unlimit:{
mod:{
cardUsable:function(card,player){
var list=lib.skill.lkbushi.getBushi(player);
var list=lib.skill.lkbushi.getBushi(player);
if(list[0]==get.suit(card)) return Infinity;
},
},
@ -2210,7 +2210,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
next.set('filterButton',function(button){
if(button.link==0){
return _status.event.bool1;
};
}
return true;
});
next.set('bool1',lib.skill.xinbenxi.filterx(trigger,player));
@ -3151,7 +3151,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
for(var i=0;i<storage.length;i++){
str+='、';
str+=get.translation(storage[i]);
};
}
str=str.slice(1);
str2+=('<br><li>已对'+str+'发动过〖残韵〗');
}
@ -4167,7 +4167,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!player.storage.juexiang_lie){
event.finish();
return;
};
}
player.storage.juexiang_lie--;
}
player.chooseTarget(get.prompt2('juexiang_lie'),function(card,player,target){
@ -5407,8 +5407,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ai:{
skillTagFilter:function(player){
if(!player.countCards('hes')||player.hasSkill('taoluan3')) return false;
if(!player.storage.taoluan.contains('tao')){}
else if(player.isDying()&&!player.storage.taoluan.contains('jiu')){}
if(!player.storage.taoluan.contains('tao')){ /* empty */ }
else if(player.isDying()&&!player.storage.taoluan.contains('jiu')){ /* empty */ }
else return false;
},
order:4,
@ -6461,7 +6461,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return current!=player;
}).sortBySeat(player);
for(var target of players){
if(get.damageEffect(target,player,target,'fire')>=0){num=0;continue};
if(get.damageEffect(target,player,target,'fire')>=0){num=0;continue}
var shao=false;
num++;
if(target.countCards('he',function(card){
@ -8754,10 +8754,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
switch(button.link[2]){
case 'tao':return 5;
case 'jiu':return 3.01;
case 'shan':return 3.01;
case 'sha':
if(button.link[3]=='fire') return 2.95;
else if(button.link[3]=='fire') return 2.92;
else if(button.link[3]=='thunder') return 2.92;
else return 2.9;
case 'shan':return 1;
}
@ -10045,7 +10044,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return false;
},
filter:function(event,player){
return player!=event.player;
return player!=event.player;
},
logTarget:'player',
content:function(){
@ -11060,11 +11059,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
order:10,
result:{
target:function(player,target){
if(player!=target) return 0;
if(player.hasSkill('requanji')||(player.countCards('h')+2<=player.hp+player.getExpansions('quanji').length)) return 1;
return 0;
}
},
if(player!=target) return 0;
if(player.hasSkill('requanji')||(player.countCards('h')+2<=player.hp+player.getExpansions('quanji').length)) return 1;
return 0;
}
},
},
}
},
@ -13525,7 +13524,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
audioname:['xin_jushou'],
check:function(event,player){
return player.getHistory('damage').indexOf(event)==0;
return player.getHistory('damage').indexOf(event)==0;
},
content:function(){
if(player.getHistory('damage').indexOf(trigger)>0){

View File

@ -295,7 +295,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
},
logTarget:'target',
marktext:'嫕',
intro:{
markcount:'expansion',
@ -531,7 +530,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(trigger.name=='lose'){
for(var i in trigger.gaintag_map){
if(trigger.gaintag_map[i].contains('huaiyuanx')) num++;
};
}
}
else player.getHistory('lose',function(evt){
if(trigger!=evt.getParent()) return false;
@ -588,7 +587,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
forced:true,
locked:false,
filter:function(event,player){
return (event.name!='phase'||game.phaseNumber==0)&&player.countCards('h')>0;
return (event.name!='phase'||game.phaseNumber==0)&&player.countCards('h')>0;
},
content:function(){
var hs=player.getCards('h');
@ -2671,7 +2670,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var type=get.type(card);
return (type=='basic'||type=='trick');
},
log:false,
visible:true,
filterTarget:function(card,player,target){
return target!=player&&target.hasZhuSkill('ruilve',player)&&!target.hasSkill('ruilve3');
@ -3590,7 +3588,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wangxiang:'王祥184年一作180年268年4月30日字休徵。琅邪临沂今山东省临沂市西孝友村人。三国曹魏及西晋时大臣。王祥于东汉末隐居二十年在曹魏先后任县令、大司农、司空、太尉等职封爵睢陵侯。西晋建立拜太保进封睢陵公。泰始四年四月戊戌日268年4月30日去世年八十五一作八十九谥号“元”。有《训子孙遗令》一文传世。王祥侍奉后母朱氏极孝为传统文化中二十四孝之一“卧冰求鲤”的主人翁。',
},
characterTitle:{},
perfectPair:{},
characterFilter:{},
dynamicTranslate:{},
perfectPair:{

View File

@ -136,7 +136,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
});
},
content:function(){
for(var i=0;i<game.players.length;i++){
for(var i=0;i<game.players.length;i++){
if(game.players[i].hasSkill('yxs_menshen2')){
game.players[i].removeSkill('yxs_menshen2');
}
@ -149,14 +149,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:"phaseEnd",
},
priority:15,
group:'yxs_menshen3',
group:'yxs_menshen3',
onremove:true,
filter:function (event,player){
return game.players.length>1;
},
content:function(){
"step 0"
player.chooseTarget('选择【门神】的目标',lib.translate.yxs_menshen_info,true,function(card,player,target){
"step 0"
player.chooseTarget('选择【门神】的目标',lib.translate.yxs_menshen_info,true,function(card,player,target){
return target!=player;
}).set('ai',function(target){
return get.attitude(player,target);
@ -177,7 +177,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
expose:0.5,
},
},
yxs_menshen2:{
yxs_menshen2:{
audio:2,
mark:'character',
intro:{
@ -188,7 +188,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{
target:["shaBegin","juedouBegin"],
},
forced:true,
forced:true,
popup:false,
filter:function(event,player){
return player.isAlive();
@ -197,10 +197,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var target=player.storage.yxs_menshen2;
trigger.player.line(target,'green');
trigger.targets.remove(player);
trigger.targets.push(target);
trigger.targets.push(target);
trigger.target = target;
},
},
},
guimian:{
trigger:{source:'damageEnd'},
forced:true,

View File

@ -6511,7 +6511,7 @@
else{
lib.codeMirrorReady(node,editor);
}
};
}
},
},
reset_character_three:{
@ -6603,7 +6603,7 @@
else{
lib.codeMirrorReady(node,editor);
}
};
}
},
},
reset_character_four:{
@ -7057,7 +7057,7 @@
else{
lib.codeMirrorReady(node,editor);
}
};
}
},
},
reset_character:{
@ -7694,9 +7694,9 @@
}else if(newMessage.includes("Invalid regular expression flags")){
newMessage="无效的正则表达式的标记";
}else if(newMessage.includes("missing ) after argument list")){
newMessage="参数列表后面缺少 \')\' (丢失运算符或者转义字符等)";
newMessage="参数列表后面缺少 ')' (丢失运算符或者转义字符等)";
}else if(newMessage.includes("Invalid shorthand property initializer")){
newMessage="在定义一个{}对象时,应该使用\':\'而不是\'=\'";
newMessage="在定义一个{}对象时,应该使用':'而不是'='";
}else if(newMessage.includes("Missing initializer in const declaration")){
newMessage="在使用const定义一个对象时必须指定初始值";
}else if(newMessage.includes("Unexpected number")||newMessage.includes("Unexpected string")){
@ -7723,11 +7723,11 @@
}else if(newMessage.includes("Cannot read property")){
messageName=newMessage.replace('TypeError: Cannot read property ', '').replace(' of null', '').replace(' of undefined', '');
let ofName=newMessage.slice(newMessage.indexOf(" of ")+4);
newMessage="无法读取\'"+ofName+"\'的属性值"+messageName;
newMessage="无法读取'"+ofName+"'的属性值"+messageName;
}else if(newMessage.includes("Cannot read properties")){
messageName=newMessage.slice(newMessage.indexOf("reading '")+9,-2);
let ofName=newMessage.slice(newMessage.indexOf(" of ")+4,newMessage.indexOf("(")-1);
newMessage="无法读取\'"+ofName+"\'的属性值"+messageName;
newMessage="无法读取'"+ofName+"'的属性值"+messageName;
}else if(newMessage.includes("Property description must be an object")){
messageName=newMessage.replace('TypeError: Property description must be an object: ', '');
newMessage=messageName+"是非对象类型的值";
@ -7740,7 +7740,7 @@
messageName=newMessage.slice(newMessage.indexOf('\'')+1);
messageName=messageName.slice(0,messageName.indexOf('\''));
let obj=newMessage.slice(newMessage.indexOf(messageName)+16);
newMessage=obj+"不能添加或修改\'"+messageName+"\'属性,任何 Primitive 值都不允许有property";
newMessage=obj+"不能添加或修改'"+messageName+"'属性,任何 Primitive 值都不允许有property";
}else if(newMessage.includes("Can't add property")&&newMessage.includes("is not extensible")){
newMessage="对象不可添加属性(不可扩展)";
}else if(newMessage.includes("Cannot redefine property")){
@ -7810,10 +7810,10 @@
code=node.editor.getValue();
}else if(node.textarea){
code=node.textarea.value;
};
}
//动态绑定文本
if(code.length&&change.origin=="+input" &&
/{|}|\s|=|;|:|,||。|||\!|\?|&|#|%|@|||/.test(change.text[0])==false&&
/{|}|\s|=|;|:|,||。|||!|\?|&|#|%|@|||/.test(change.text[0])==false&&
change.text.length==1) {
//输入了代码,并且不包括空格,{}= ; : 逗号等,才可以自动提示
node.editor.showHint();
@ -7942,7 +7942,7 @@
}
function javascriptHint(editor,options){
return scriptHint(editor,javascriptKeywords,function(e,cur){return e.getTokenAt(cur);},options);
};
}
//覆盖原本的javascript提示
CodeMirror.registerHelper("hint","javascript",javascriptHint);
const stringProps=Object.getOwnPropertyNames(String.prototype);
@ -8136,7 +8136,7 @@
run:function(time){
lib.status.time=time;
for(var i=0;i<lib.updates.length;i++){
if(!lib.updates[i].hasOwnProperty('_time')){
if(!Object.prototype.hasOwnProperty.call(lib.updates[i], '_time')){
lib.updates[i]._time=time;
}
if(lib.updates[i](time-lib.updates[i]._time-lib.status.delayed)===false){
@ -9006,7 +9006,7 @@
str+=`\n行号: ${line}`;
str+=`\n列号: ${column}`;
const version=lib.version||'';
const reg=/[^\d\.]/;
const reg=/[^\d.]/;
const match=version.match(reg)!=null;
str+='\n'+`${match?'游戏':'无名杀'}版本: ${version||'未知版本'}`;
if(match) str+='\n⚠您使用的游戏代码不是源于libccy/noname无名杀官方仓库请自行寻找您所使用的游戏版本开发者反馈';
@ -9045,7 +9045,7 @@
}
str+='\n-------------';
if(typeof line=='number'&&(typeof game.readFile=='function'||location.origin!='file://')){
function createShowCode(lines){
const createShowCode=function(lines){
let showCode='';
if(lines.length>=10){
if(line>4){
@ -11368,7 +11368,7 @@
function Legacy(func){
//Remove all comments
//移除所有注释
let str=func.toString().replace(/((?:(?:^[ \t]*)?(?:\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\/(?:[ \t]*\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/)))?|\/\/(?:[^\\]|\\(?:\r?\n)?)*?(?:\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/))|(?=\r?\n))))+)|("(?:\\[\s\S]|[^"\\])*"|'(?:\\[\s\S]|[^'\\])*'|(?:\r?\n|[\s\S])[^\/"'\\\s]*)/mg,'$2').trim();
let str=func.toString().replace(/((?:(?:^[ \t]*)?(?:\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\/(?:[ \t]*\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/)))?|\/\/(?:[^\\]|\\(?:\r?\n)?)*?(?:\r?\n(?=[ \t]*(?:\r?\n|\/\*|\/\/))|(?=\r?\n))))+)|("(?:\\[\s\S]|[^"\\])*"|'(?:\\[\s\S]|[^'\\])*'|(?:\r?\n|[\s\S])[^/"'\\\s]*)/mg,'$2').trim();
//获取第一个 { 后的所有字符
str=str.slice(str.indexOf('{')+1);
//判断代码中是否有debugger
@ -11492,6 +11492,7 @@
}
}
}
// falls through
default:
return Legacy(item);
}
@ -11502,7 +11503,7 @@
}
else if(typeof func=='object'){
for(var i in func){
if(func.hasOwnProperty(i)){
if(Object.prototype.hasOwnProperty.call(func, i)){
func[i]=lib.init.eval(func[i]);
}
}
@ -14469,7 +14470,7 @@
event.finish();
return;
}
};
}
event.doing=event.map.shift();
'step 3'
event.num=0;
@ -14588,11 +14589,11 @@
event._result={bool:true};
event._direct=true;
}
else if(info.direct){
else if(info.direct&&player.isOnline()){
event._result={bool:true};
event._direct=true;
}
else if(info.direct&&player.isOnline()){
else if(info.direct){
event._result={bool:true};
event._direct=true;
}
@ -15021,7 +15022,7 @@
current.getHistory().isRound=true;
current.getStat().isRound=true;
}
};
}
if(isRound){
game.getGlobalHistory().isRound=true;
}
@ -16185,7 +16186,7 @@
result[0].cards=lib.skill[result[0].skill].onCompare(player)
}
else lose_list.push([player,result[0].cards]);
};
}
for(var j=0; j<targets.length; j++){
if(event.list.contains(targets[j])){
var i=event.list.indexOf(targets[j]);
@ -16350,7 +16351,7 @@
result[0].cards=lib.skill[result[0].skill].onCompare(player)
}
else lose_list.push([player,result[0].cards]);
};
}
for(var j=0;j<targets.length;j++){
if(event.list.contains(targets[j])){
var i=event.list.indexOf(targets[j]);
@ -16541,7 +16542,7 @@
}
else event.lose_list.push([player,event.resultOL[player.playerid].cards[0]]);
event.card1=event.resultOL[player.playerid].cards[0];
};
}
if(!event.card2){
if(event.resultOL[target.playerid].skill&&lib.skill[event.resultOL[target.playerid].skill]&&lib.skill[event.resultOL[target.playerid].skill].onCompare){
target.logSkill(event.resultOL[target.playerid].skill);
@ -18681,7 +18682,7 @@
next.cards=cards;
next.player=player;
return;
};
}
var next=game.createEvent(card.name);
next.setContent(info.content);
next.targets=targets;
@ -19730,14 +19731,14 @@
cards[i].recheck();
var info=lib.card[cards[i].name];
if(cards[i].hasOwnProperty('_destroy')){
if(Object.prototype.hasOwnProperty.call(cards[i], '_destroy')){
if(cards[i]._destroy){
cards[i].delete();
cards[i].destroyed=cards[i]._destroy;
continue;
}
}
else if(cards[i].hasOwnProperty('destroyed')){
else if(Object.prototype.hasOwnProperty.call(cards[i], 'destroyed')){
if(event.getlx!==false&&event.position&&cards[i].willBeDestroyed(event.position.id,null,event)){
cards[i].selfDestroy(event);
continue;
@ -20552,7 +20553,7 @@
if(event.judge2){
var judge2=event.judge2(event.result);
if(typeof judge2=='boolean') player.tryJudgeAnimate(judge2);
};
}
if(event.clearArena!=false){
game.broadcastAll(ui.clear);
}
@ -21244,9 +21245,9 @@
if(type=='horse'||type=='equip3_4'){
return player.hasEnabledSlot(3)&&(get.is.mountCombined()||player.hasEnabledSlot(4));
}
else if(type=='equip3_4'){
type='equip3';
}
// else if(type=='equip3_4'){
// type='equip3';
// }
else if(get.is.mountCombined()&&type=='equip4'){
return false;
}
@ -21980,7 +21981,7 @@
txy=to.getXY();
n=Math.abs(fxy[0]-txy[0])+Math.abs(fxy[1]-txy[1]);
}
else if(to.isMin(true)||from.isMin(true)){}
else if(to.isMin(true)||from.isMin(true)){/* empty */}
else{
var length=game.players.length;
var totalPopulation=game.players.length+game.dead.length+1;
@ -22248,7 +22249,7 @@
default:{
this.maxHp=maxHp1+maxHp2-3;
this.hp=hp1+hp2-3;
};
}
}
if(info2[4].contains('hiddenSkill')&&!this.noclick){
if(!this.hiddenSkills) this.hiddenSkills=[];
@ -24082,19 +24083,19 @@
var player=_status.event.player;
var event=_status.event.getParent();
var getn=function(card){
if(player.hasSkill('tianbian')&&get.suit(card)=='heart') return 13*(Boolean(event.small)?-1:1);
return get.number(card)*(Boolean(event.small)?-1:1);
if(player.hasSkill('tianbian')&&get.suit(card)=='heart') return 13*(event.small?-1:1);
return get.number(card)*(event.small?-1:1);
}
if(source&&source!=player){
if(get.attitude(player,source)>1){
if(Boolean(event.small)) return getn(card)-get.value(card)/2+addi;
if(event.small) return getn(card)-get.value(card)/2+addi;
return -getn(card)-get.value(card)/2+addi;
}
if(Boolean(event.small)) return -getn(card)-get.value(card)/2+addi;
if(event.small) return -getn(card)-get.value(card)/2+addi;
return getn(card)-get.value(card)/2+addi;
}
else{
if(Boolean(event.small)) return -getn(card)-get.value(card)/2+addi;
if(event.small) return -getn(card)-get.value(card)/2+addi;
return getn(card)-get.value(card)/2+addi;
}
}
@ -24118,7 +24119,7 @@
var addi=(get.value(card)>=8&&get.type(card)!='equip')?-6:0;
if(card.name=='du') addi-=5;
if(player==event.player){
if(Boolean(event.small)){
if(event.small){
return -getn(card)-get.value(card)/2+addi;
}
return getn(card)-get.value(card)/2+addi;
@ -25346,7 +25347,7 @@
}
}
if(next.animate=='gain2'||next.animate=='draw2'){
if(!next.hasOwnProperty('log')){
if(!Object.prototype.hasOwnProperty.call(next, 'log')){
next.log=true;
}
}
@ -25433,7 +25434,7 @@
}
}
if(next.animate=='gain2'||next.animate=='draw2'||next.animate=='give'){
if(!next.hasOwnProperty('log')){
if(!Object.prototype.hasOwnProperty.call(next, 'log')){
next.log=true;
}
}
@ -25751,7 +25752,7 @@
case 1:this.draw(nodelay?'nodelay':1);break;
case 2:this.recover();break;
case 3:this.changeHujia();break;
case 4:this.tempHide();
case 4:this.tempHide();break;
case 5:this.discard(this.getCards('j')).delay=(!nodelay);break;
case 6:{
if(this.isLinked()) this.link();
@ -26056,7 +26057,7 @@
const position=get.position(card,true);
return position!='j'&&position!='o';
})){
game.log(card,'已被移出处理区,无法置入判定区');
game.log(card,'已被移出处理区,无法置入判定区');
return;
}
for(let iwhile=0;iwhile<20;iwhile++){
@ -26237,7 +26238,7 @@
}
clearTimeout(lib.node.torespondtimeout[this.playerid]);
delete lib.node.torespondtimeout[this.playerid];
if(!lib.node.torespond.hasOwnProperty(this.playerid)){
if(!Object.prototype.hasOwnProperty.call(lib.node.torespond, this.playerid)){
return;
}
var noresume=false;
@ -26264,7 +26265,7 @@
else if(_status.paused&&!noresume) game.resume();
}
tempUnwait(result){
if(!lib.node.torespond.hasOwnProperty(this.playerid)){
if(!Object.prototype.hasOwnProperty.call(lib.node.torespond, this.playerid)){
return;
}
var proceed;
@ -31289,7 +31290,6 @@
parent=parent.parent;
if(historys.contains(parent)) return toreturn;
}
if(!parent) return toreturn;
}
if(toreturn===null){
return null;
@ -31521,7 +31521,7 @@
for(var i=0;i<map.list2.length;i++){
if(map.list2[i][0]==toadd[0]&&map.list2[i][1]==toadd[1]) return;
}
};
}
for(var i=0;i<map.list.length;i++){
if(map.list[i][0]==toadd[0]&&map.list[i][1]==toadd[1]) return;
}
@ -31534,43 +31534,6 @@
func(skill[j]);
}
}
return this;
}
removeTrigger(skill,player){
if(!player||!skill) return;
var evt=this;
if(typeof skill=='string') skill=[skill];
game.expandSkills(skill);
while(true){
var evt=evt.getParent('arrangeTrigger');
if(!evt||evt.name!='arrangeTrigger'||!evt.map) return;
var filter=function(content){
if(typeof content=='string') return content==triggername;
return content.contains(triggername);
};
var trigger=evt._trigger;
var triggername=evt.triggername;
var map=false;
if(evt.doing&&evt.doing.player==player) map=evt.doing;
else{
for(var i=0;i<evt.map.length;i++){
if(evt.map[i].player==player){
map=evt.map[i];
break;
}
}
}
if(!map) return;
var func=function(skillx){
var toremove=map.list.filter(i=>{
return i[0]==skillx&&i[1]==player;
});
if(toremove.length>0) map.list.removeArray(toremove);
}
for(var j=0;j<skill.length;j++){
func(skill[j]);
}
}
}
removeTrigger(skill,player){
if(!player||!skill) return;
@ -31814,7 +31777,7 @@
}
evt.list=[];
if(evt.doing) evt.doing.list=[];
};
}
this._triggered=5;
}
else if(player){
@ -37580,7 +37543,7 @@
}
const blob=zip.generate({
type:'blob'
}),fileNameToSaveAs=`${exportExtension.replace(/\\|\/|\:|\?|\"|\*|<|>|\|/g,'-')}.zip`;
}),fileNameToSaveAs=`${exportExtension.replace(/\\|\/|:|\?|"|\*|<|>|\|/g,'-')}.zip`;
if(lib.device){
const directory=lib.device=='android'?cordova.file.externalDataDirectory:cordova.file.documentsDirectory;
@ -37626,7 +37589,7 @@
const config=game.importedPack.config;
Object.keys(config).forEach(value=>{
const configObject=config[value];
if(configObject&&configObject.hasOwnProperty('init')) game.saveConfig(`extension_${extensionName}_${value}`,configObject.init);
if(configObject&&Object.prototype.hasOwnProperty.call(configObject, 'init')) game.saveConfig(`extension_${extensionName}_${value}`,configObject.init);
});
if(game.download){
const files=zip.files,hiddenFileFlags=['.','_'],fileList=Object.keys(files).filter(key=>!files[key].dir&&!hiddenFileFlags.includes(key[0])).reverse();
@ -37704,7 +37667,7 @@
export:function(textToWrite,name){
var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'});
var fileNameToSaveAs = name||'noname';
fileNameToSaveAs=fileNameToSaveAs.replace(/\\|\/|\:|\?|\"|\*|<|>|\|/g,'.');
fileNameToSaveAs=fileNameToSaveAs.replace(/\\|\/|:|\?|"|\*|<|>|\|/g,'.');
if(lib.device){
var directory;
@ -42066,7 +42029,7 @@
config.num=config.num||num||3;
config.ratio=config.ratio||ratio||1.2;
config.update=config.update||update;
if(!config.hasOwnProperty('first')){
if(!Object.prototype.hasOwnProperty.call(config, 'first')){
if(typeof first=='boolean'){
config.first=first;
}
@ -42680,10 +42643,10 @@
}
if(info.marktext) lib.translate[`${i}_bg`]=info.marktext;
if(info.silent){
if(!info.hasOwnProperty('forced')) info.forced=true;
if(!info.hasOwnProperty('popup')) info.popup=false;
if(!Object.prototype.hasOwnProperty.call(info, 'forced')) info.forced=true;
if(!Object.prototype.hasOwnProperty.call(info, 'popup')) info.popup=false;
}
if(!info.hasOwnProperty('_priority')){
if(!Object.prototype.hasOwnProperty.call(info, '_priority')){
let priority=0;
if(info.priority){
priority=info.priority*100;
@ -43102,7 +43065,7 @@
game.reload2();
reject(event);
}
};;
};
record.onsuccess=event=>{
if(typeof onSuccess=='function'){
_status.dburgent=true;
@ -43142,7 +43105,7 @@
game.reload2();
reject(event);
}
};;
};
idbRequest.onsuccess=event=>{
const result=event.target.result;
if(typeof onSuccess=='function'){
@ -43166,7 +43129,7 @@
game.reload2();
reject(event);
}
};;
};
idbRequest.onsuccess=event=>{
const result=event.target.result;
if(result){
@ -43227,7 +43190,7 @@
request.onerror=event=>{
game.reload2();
reject(event);
};;
};
request.onsuccess=event=>{
game.reload2();
resolve(event);
@ -44980,7 +44943,7 @@
var cfg=copyObj(infoconfig[j]);
cfg._name=j;
cfg.mode=mode;
if(!config.hasOwnProperty(j)){
if(!Object.prototype.hasOwnProperty.call(config, j)){
game.saveConfig(j,cfg.init,mode);
}
else{
@ -45448,7 +45411,7 @@
}
var cfg=copyObj(info.config[j]);
cfg._name=j;
if(!config.hasOwnProperty(j)){
if(!Object.prototype.hasOwnProperty.call(config, j)){
if(cfg.type!='autoskill'&&cfg.type!='banskill'){
game.saveConfig(j,cfg.init);
}
@ -45566,7 +45529,7 @@
}
var link=(game.writeFile?'cdv_':'custom_')+name;
if(lib.config.customBackgroundMusic[link]){
if(!confirm('已经存在文件名称相同的背景音乐,是否仍然要继续导入?')){_status.music_importing=false;return};
if(!confirm('已经存在文件名称相同的背景音乐,是否仍然要继续导入?')){_status.music_importing=false;return}
for(var i=1;i<1000;i++){
if(!lib.config.customBackgroundMusic[link+'_'+i]){
link=link+'_'+i;break;
@ -47322,7 +47285,7 @@
j=mode+'_'+i+'_playpackconfig';
}
cfg._name=j;
if(!lib.config.hasOwnProperty(j)){
if(!Object.prototype.hasOwnProperty.call(lib.config, j)){
game.saveConfig(j,cfg.init);
}
else{
@ -48575,7 +48538,7 @@
editnode.classList.add('disabled');
delnode.innerHTML='取消';
delete delnode.button;
container.code='card={\n \n}\n\n\/*\n示例\ncard={\n type:"basic",\n enable:true,\n filterTarget:true,\n content:function(){\n target.draw()\n },\n ai:{\n order:1,\n result:{\n target:1\n }\n }\n}\n此例的效果为目标摸一张牌\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
container.code='card={\n \n}\n\n/*\n示例\ncard={\n type:"basic",\n enable:true,\n filterTarget:true,\n content:function(){\n target.draw()\n },\n ai:{\n order:1,\n result:{\n target:1\n }\n }\n}\n此例的效果为目标摸一张牌\n导出时本段代码中的换行、缩进以及注释将被清除\n*/';
}
newCard=ui.create.div('.new_character',page);
@ -48774,7 +48737,7 @@
delete window.saveNonameInput;
};
var editor=ui.create.editor(container,saveInput);
container.code='card={\n \n}\n\n\/*\n示例\ncard={\n type:"basic",\n enable:true,\n filterTarget:true,\n content:function(){\n target.draw()\n },\n ai:{\n order:1,\n result:{\n target:1\n }\n }\n}\n此例的效果为目标摸一张牌\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
container.code='card={\n \n}\n\n/*\n示例\ncard={\n type:"basic",\n enable:true,\n filterTarget:true,\n content:function(){\n target.draw()\n },\n ai:{\n order:1,\n result:{\n target:1\n }\n }\n}\n此例的效果为目标摸一张牌\n导出时本段代码中的换行、缩进以及注释将被清除\n*/';
var editnode=ui.create.div('.menubutton.large.new_card.disabled','创建卡牌',newCard,function(){
var name=page.querySelector('input.new_name').value;
@ -49125,7 +49088,7 @@
editnode.classList.add('disabled');
delnode.innerHTML='取消';
delete delnode.button;
container.code='skill={\n \n}\n\n\/*\n示例\nskill={\n trigger:{player:"phaseJieshuBegin"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
container.code='skill={\n \n}\n\n/*\n示例\nskill={\n trigger:{player:"phaseJieshuBegin"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*/';
if(page.fromchar=='add'){
page.fromchar=true;
}
@ -49211,7 +49174,7 @@
delete window.saveNonameInput;
};
var editor=ui.create.editor(container,saveInput);
container.code='skill={\n \n}\n\n\/*\n示例\nskill={\n trigger:{player:"phaseJieshuBegin"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
container.code='skill={\n \n}\n\n/*\n示例\nskill={\n trigger:{player:"phaseJieshuBegin"},\n frequent:true,\n content:function(){\n player.draw()\n }\n}\n此例为闭月代码\n导出时本段代码中的换行、缩进以及注释将被清除\n*/';
var citebutton=document.createElement('button');
citebutton.innerHTML='引用代码';
@ -49439,10 +49402,10 @@
}
}
else{
dashes.content.node.code='function(config,pack){\n \n}\n\n\/*\n函数执行时机为游戏数据加载之后、界面加载之前\n参数1扩展选项见选项代码参数2为扩展定义的武将、卡牌和技能等可在此函数中修改\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
dashes.precontent.node.code='function(){\n \n}\n\n\/*\n函数执行时机为游戏数据加载之前且不受禁用扩展的限制\n除添加模式外请慎用\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
dashes.config.node.code='config={\n \n}\n\n\/*\n示例\nconfig={\n switcher_example:{\n name:"示例列表选项",\n init:"3",\n item:{"1":"一","2":"二","3":"三"}\n },\n toggle_example:{\n name:"示例开关选项",\n init:true\n }\n}\n此例中传入的主代码函数的默认参数为{switcher_example:"3",toggle_example:true}\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
dashes.help.node.code='help={\n \n}\n\n\/*\n示例\nhelp={\n "帮助条目":"<ul><li>列表1-条目1<li>列表1-条目2</ul><ol><li>列表2-条目1<li>列表2-条目2</ul>"\n}\n帮助内容将显示在菜单选项帮助中\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/';
dashes.content.node.code='function(config,pack){\n \n}\n\n/*\n函数执行时机为游戏数据加载之后、界面加载之前\n参数1扩展选项见选项代码参数2为扩展定义的武将、卡牌和技能等可在此函数中修改\n导出时本段代码中的换行、缩进以及注释将被清除\n*/';
dashes.precontent.node.code='function(){\n \n}\n\n/*\n函数执行时机为游戏数据加载之前且不受禁用扩展的限制\n除添加模式外请慎用\n导出时本段代码中的换行、缩进以及注释将被清除\n*/';
dashes.config.node.code='config={\n \n}\n\n/*\n示例\nconfig={\n switcher_example:{\n name:"示例列表选项",\n init:"3",\n item:{"1":"一","2":"二","3":"三"}\n },\n toggle_example:{\n name:"示例开关选项",\n init:true\n }\n}\n此例中传入的主代码函数的默认参数为{switcher_example:"3",toggle_example:true}\n导出时本段代码中的换行、缩进以及注释将被清除\n*/';
dashes.help.node.code='help={\n \n}\n\ns/*\n示例\nhelp={\n "帮助条目":"<ul><li>列表1-条目1<li>列表1-条目2</ul><ol><li>列表2-条目1<li>列表2-条目2</ul>"\n}\n帮助内容将显示在菜单选项帮助中\n导出时本段代码中的换行、缩进以及注释将被清除\n*/';
}
};
var dashes={};
@ -49548,10 +49511,10 @@
}
};
page.content={}
createCode('主','主代码',page,clickCode,'content','function(config,pack){\n \n}\n\n\/*\n函数执行时机为游戏数据加载之后、界面加载之前\n参数1扩展选项见选项代码参数2为扩展定义的武将、卡牌和技能等可在此函数中修改\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/');
createCode('启','启动代码',page,clickCode,'precontent','function(){\n \n}\n\n\/*\n函数执行时机为游戏数据加载之前且不受禁用扩展的限制\n除添加模式外请慎用\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/');
createCode('选','选项代码',page,clickCode,'config','config={\n \n}\n\n\/*\n示例\nconfig={\n switcher_example:{\n name:"示例列表选项",\n init:"3",\n item:{"1":"一","2":"二","3":"三"}\n },\n toggle_example:{\n name:"示例开关选项",\n init:true\n }\n}\n此例中传入的主代码函数的默认参数为{switcher_example:"3",toggle_example:true}\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/');
createCode('帮','帮助代码',page,clickCode,'help','help={\n \n}\n\n\/*\n示例\nhelp={\n "帮助条目":"<ul><li>列表1-条目1<li>列表1-条目2</ul><ol><li>列表2-条目1<li>列表2-条目2</ul>"\n}\n帮助内容将显示在菜单选项帮助中\n导出时本段代码中的换行、缩进以及注释将被清除\n*\/');
createCode('主','主代码',page,clickCode,'content','function(config,pack){\n \n}\n\n/*\n函数执行时机为游戏数据加载之后、界面加载之前\n参数1扩展选项见选项代码参数2为扩展定义的武将、卡牌和技能等可在此函数中修改\n导出时本段代码中的换行、缩进以及注释将被清除\n*/');
createCode('启','启动代码',page,clickCode,'precontent','function(){\n \n}\n\n/*\n函数执行时机为游戏数据加载之前且不受禁用扩展的限制\n除添加模式外请慎用\n导出时本段代码中的换行、缩进以及注释将被清除\n*/');
createCode('选','选项代码',page,clickCode,'config','config={\n \n}\n\n/*\n示例\nconfig={\n switcher_example:{\n name:"示例列表选项",\n init:"3",\n item:{"1":"一","2":"二","3":"三"}\n },\n toggle_example:{\n name:"示例开关选项",\n init:true\n }\n}\n此例中传入的主代码函数的默认参数为{switcher_example:"3",toggle_example:true}\n导出时本段代码中的换行、缩进以及注释将被清除\n*/');
createCode('帮','帮助代码',page,clickCode,'help','help={\n \n}\n\n/*\n示例\nhelp={\n "帮助条目":"<ul><li>列表1-条目1<li>列表1-条目2</ul><ol><li>列表2-条目1<li>列表2-条目2</ul>"\n}\n帮助内容将显示在菜单选项帮助中\n导出时本段代码中的换行、缩进以及注释将被清除\n*/');
return page;
}());
@ -49715,7 +49678,7 @@
game.saveConfig('extension_'+extname+'_enable',true);
game.saveConfig('extension_'+extname+'_version',that.info.version);
for(var i in game.importedPack.config){
if(game.importedPack.config[i]&&game.importedPack.config[i].hasOwnProperty('init')){
if(game.importedPack.config[i]&&Object.prototype.hasOwnProperty.call(game.importedPack.config[i], 'init')){
game.saveConfig('extension_'+extname+'_'+i,game.importedPack.config[i].init);
}
}
@ -56956,7 +56919,7 @@
if(!information) {
resolve(`${lib.assetURL}image/card/${imageName}.png`)
return;
};
}
const image=information.image;
if(!image) resolve(`${lib.assetURL}image/card/${imageName}.png`);
else if(image.startsWith('db:')) game.getDB('image',image.slice(3)).then(resolve,reject);
@ -58335,7 +58298,7 @@
priority:skill=>{
const info=get.info(skill);
if(!info) return 0;
if(info.hasOwnProperty('_priority')) return info._priority;
if(Object.prototype.hasOwnProperty.call(info, '_priority')) return info._priority;
let priority=0;
if(info.priority){
priority=info.priority*100;
@ -58983,7 +58946,7 @@
character:(name,num)=>{
let info=lib.character[name];
if(!info){
const pack=Object.keys(lib.characterPack).find(pack=>lib.characterPack[pack].hasOwnProperty(name));
const pack=Object.keys(lib.characterPack).find(pack=>Object.prototype.hasOwnProperty.call(lib.characterPack[pack], name));
if(pack) info=lib.characterPack[pack][name];
}
if(info){
@ -59182,7 +59145,7 @@
}
num=Math.floor(num/4);
for(i=0;i<num-level;i++){
str=str.replace(/\n /g,'\n');
str=str.replace(/\n {4}/g,'\n');
}
}
else{
@ -59355,7 +59318,6 @@
case 'purple':return '三对三对二';
case 'zhong':return (config.double_character?'双将':'')+'忠胆英杰';
case 'stratagem':return get.cnNumber(parseInt(config.number))+'人'+(config.double_character?'双将':'')+'谋攻';
debugger
default:return `${get.cnNumber(parseInt(config.number))}${config.double_nei?'双内':''}${config.enable_commoner?'带民':''}${config.double_character?'双将':''}身份`;
}
}
@ -60042,7 +60004,7 @@
if(card.length==1) return get.suit(card[0],player);
return 'none';
}
else if(!card.hasOwnProperty('suit')&&Array.isArray(card.cards)){
else if(!Object.prototype.hasOwnProperty.call(card, 'suit')&&Array.isArray(card.cards)){
return get.suit(card.cards,player);
}
else{
@ -60094,7 +60056,7 @@
if(!card) return;
//狗卡你是真敢出啊
var number=null;
if(card.hasOwnProperty('number')){
if(Object.prototype.hasOwnProperty.call(card, 'number')){
number=card.number;
if(typeof number!='number') number=null;
}
@ -60627,7 +60589,7 @@
var result=function(){
if(filter==arguments[i]) return true;
for(var j in filter){
if(filter.hasOwnProperty(j)){
if(Object.prototype.hasOwnProperty.call(filter, j)){
if(get.itemtype(arguments[i])=='card'){
if(j=='name'){
if(Array.isArray(filter[j])){
@ -61074,7 +61036,12 @@
for(i=0;i<skills.length;i++){
if(lib.skill[skills[i]]&&(lib.skill[skills[i]].nopop||lib.skill[skills[i]].equipSkill)) continue;
if(lib.translate[skills[i]+'_info']){
translation=lib.translate[skills[i]+'_ab']||get.translation(skills[i]).slice(0,2);
if(lib.translate[skills[i]+'_ab']) translation=lib.translate[skills[i]+'_ab'];
else{
translation=get.translation(skills[i]);
if(!lib.skill[skills[i]].nobracket) translation=translation.slice(0,2);
}
if(node.forbiddenSkills[skills[i]]){
var forbidstr='<div style="opacity:0.5"><div class="skill">【'+translation+'】</div><div>';
if(node.forbiddenSkills[skills[i]].length){
@ -61158,9 +61125,6 @@
intronode.listen(ui.click.skillbutton);
}
}
else if(lib.skill[skills[i]].nobracket){
uiintro.add('<div><div class="skilln">'+get.translation(skills[i])+'</div><div>'+get.skillInfoTranslation(skills[i],node)+'</div></div>');
}
else{
uiintro.add('<div><div class="skill">【'+translation+'】</div><div>'+get.skillInfoTranslation(skills[i],node)+'</div></div>');
}
@ -61856,13 +61820,14 @@
var skills=infoitem[3];
for(i=0;i<skills.length;i++){
if(lib.translate[skills[i]+'_info']){
translation=lib.translate[skills[i]+'_ab']||get.translation(skills[i]).slice(0,2);
if(lib.skill[skills[i]]&&lib.skill[skills[i]].nobracket){
uiintro.add('<div><div class="skilln">'+get.translation(skills[i])+'</div><div>'+get.skillInfoTranslation(skills[i])+'</div></div>');
}
if(lib.translate[skills[i]+'_ab']) translation=lib.translate[skills[i]+'_ab'];
else{
uiintro.add('<div><div class="skill">【'+translation+'】</div><div>'+get.skillInfoTranslation(skills[i])+'</div></div>');
translation=get.translation(skills[i]);
if(!lib.skill[skills[i]].nobracket) translation=translation.slice(0,2);
}
uiintro.add('<div><div class="skill">【'+translation+'】</div><div>'+get.skillInfoTranslation(skills[i])+'</div></div>');
if(lib.translate[skills[i]+'_append']){
uiintro._place_text=uiintro.add('<div class="text">'+lib.translate[skills[i]+'_append']+'</div>')
}

View File

@ -2172,21 +2172,21 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
player.chooseToDiscard('he',get.prompt('noda_axe',trigger.target),2,'弃置两张牌,令'+get.translation(trigger.target)+'本回合内不能使用或打出牌且防具技能无效。',function(card,player){
return card!=player.getEquip(1);
}).set('logSkill',['noda_axe',trigger.target]).set('goon',function(event,player){
if(player.hasSkill('noda_axe2')) return false;
if(event.getParent().excluded.contains(player)) return false;
if(get.attitude(event.player,player)>0){
return false;
}
if(get.type(event.card)=='trick'&&event.player.hasWuxie()) return true;
if(get.tag(event.card,'respondSha')){
if(!player.hasSha()) return false;
return true;
}
else if(get.tag(event.card,'respondShan')){
if(!player.hasShan()) return false;
return true;
}
return false;
if(player.hasSkill('noda_axe2')) return false;
if(event.getParent().excluded.contains(player)) return false;
if(get.attitude(event.player,player)>0){
return false;
}
if(get.type(event.card)=='trick'&&event.player.hasWuxie()) return true;
if(get.tag(event.card,'respondSha')){
if(!player.hasSha()) return false;
return true;
}
else if(get.tag(event.card,'respondShan')){
if(!player.hasShan()) return false;
return true;
}
return false;
}(trigger,trigger.target)).set('ai',function(card){
if(_status.event.goon) return 7.5-get.value(card);
return 0;
@ -2268,7 +2268,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(current!=player&&current.countCards('e')){
player.line(current);
current.discard(current.getCards('e'));
};
}
});
},
},
@ -8266,7 +8266,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(target.classList.contains('turnedover')) return -1;
return 5-target.getDamagedHp();
}
return 1;
}
"step 1"
if(result.bool){

File diff suppressed because it is too large Load Diff

View File

@ -5435,7 +5435,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
init:function(player){
for(var i=1;i<6;i++){
player.$disableEquip('equip'+i);
};
}
},
check:function(card){
var player=_status.currentPhase;

View File

@ -50,7 +50,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
event.textnode.textContent='正在连接...';
clearTimeout(event.timeout);
if(e) e.preventDefault();
game.saveConfig('last_ip',node.textContent=node.textContent);
game.saveConfig('last_ip',node.textContent);
game.connect(node.textContent,function(success){
if(!success&&event.textnode){
alert('连接失败');

View File

@ -2103,7 +2103,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
forced:true,
equipSkill:true,
filter:function(event,player){
return lib.skill.toushiche_skill.logTarget(null,player).length>0;
return lib.skill.toushiche_skill.logTarget(null,player).length>0;
},
logTarget:function(event,player){
var hs=player.countCards('h');

View File

@ -365,7 +365,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
mode_guozhan:{
guozhan_default:["gz_caocao","gz_simayi","gz_xiahoudun","gz_zhangliao","gz_xuzhu","gz_guojia","gz_zhenji","gz_xiahouyuan","gz_zhanghe","gz_xuhuang","gz_caoren","gz_dianwei","gz_xunyu","gz_caopi","gz_yuejin","gz_liubei","gz_guanyu","gz_zhangfei","gz_zhugeliang","gz_zhaoyun","gz_machao","gz_huangyueying","gz_huangzhong","gz_weiyan","gz_pangtong","gz_sp_zhugeliang","gz_liushan","gz_menghuo","gz_zhurong","gz_ganfuren","gz_sunquan","gz_ganning","gz_lvmeng","gz_huanggai","gz_zhouyu","gz_daqiao","gz_luxun","gz_sunshangxiang","gz_sunjian","gz_xiaoqiao","gz_taishici","gz_zhoutai","gz_re_lusu","gz_zhangzhang","gz_dingfeng","gz_huatuo","gz_lvbu","gz_diaochan","gz_re_yuanshao","gz_yanwen","gz_jiaxu","gz_pangde","gz_zhangjiao","gz_caiwenji","gz_mateng","gz_kongrong","gz_jiling","gz_tianfeng","gz_panfeng","gz_zoushi",],
guozhan_zhen:["gz_dengai","gz_caohong","gz_jiangfei","gz_jiangwei","gz_xusheng","gz_jiangqing","gz_hetaihou","gz_yuji"],
guozhan_shi:[,"gz_re_lidian","gz_zangba","gz_madai","gz_mifuren","gz_sunce","gz_chendong","gz_sp_dongzhuo","gz_zhangren"],
guozhan_shi:["gz_re_lidian","gz_zangba","gz_madai","gz_mifuren","gz_sunce","gz_chendong","gz_sp_dongzhuo","gz_zhangren"],
guozhan_bian:["gz_liqueguosi","gz_zuoci","gz_bianfuren","gz_xunyou","gz_lingtong","gz_lvfan","gz_masu","gz_shamoke",],
guozhan_quan:["gz_cuimao","gz_yujin","gz_wangping","gz_fazheng","gz_wuguotai","gz_lukang","gz_yuanshu","gz_zhangxiu"],
guozhan_jun:["gz_jun_caocao","gz_jun_sunquan","gz_jun_liubei","gz_jun_zhangjiao"],
@ -1485,7 +1485,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
group:'gzgongjian_gain',
subSkill:{
gain:{
audio:'gongjian',
audio:'gongjian',
trigger:{
global:['loseAfter','loseAsyncAfter'],
},
@ -1911,7 +1911,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return get.suit(card)=='diamond'&&get.type2(card)!='trick'&&player.canUse(get.autoViewAs({name:'lebu'},[card]),event.target);
},'he')||player.hasCard(function(card){
return get.suit(card)=='club'&&get.type2(card)!='trick'&&player.canUse(get.autoViewAs({name:'bingliang'},[card]),event.target,false);
}),'he') return true;
},'he')) return true;
return false;
},
check:function(event,player){
@ -2427,8 +2427,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
mark:{
marktext:'祸',
intro:{
content:'mark',
onunmark:true,
content:'mark',
onunmark:true,
},
},
},
@ -2809,25 +2809,25 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(double) groups=double.slice(0);
else groups=[lib.character[character][1]];
event.groups=groups;
event.videoId=lib.status.videoId++;
game.broadcastAll(function(player,id,character){
ui.create.dialog(get.translation(player)+'发动了【博览】',[[character],'character']).videoId=id;
},player,event.videoId,character);
game.delay(3);
'step 1'
game.broadcastAll('closeDialog',event.videoId);
var list1=['wei','shu','wu','qun','jin'],list2=['gzqice','tiaoxin','gzzhiheng','new_chuli','gzsanchen'];
var skills=[];
for(var i=0;i<list1.length;i++){
if(event.groups.contains(list1[i])) skills.push(list2[i]);
}
if(!skills.length) event.finish();
else if(skills.length==1) event._result={control:skills[0]};
else player.chooseControl(skills).set('prompt','选择获得一个技能直到回合结束');
'step 2'
var skill=result.control;
player.addTempSkill(skill);
game.log(player,'获得了技能','#g【'+get.translation(skill)+'】');
event.videoId=lib.status.videoId++;
game.broadcastAll(function(player,id,character){
ui.create.dialog(get.translation(player)+'发动了【博览】',[[character],'character']).videoId=id;
},player,event.videoId,character);
game.delay(3);
'step 1'
game.broadcastAll('closeDialog',event.videoId);
var list1=['wei','shu','wu','qun','jin'],list2=['gzqice','tiaoxin','gzzhiheng','new_chuli','gzsanchen'];
var skills=[];
for(var i=0;i<list1.length;i++){
if(event.groups.contains(list1[i])) skills.push(list2[i]);
}
if(!skills.length) event.finish();
else if(skills.length==1) event._result={control:skills[0]};
else player.chooseControl(skills).set('prompt','选择获得一个技能直到回合结束');
'step 2'
var skill=result.control;
player.addTempSkill(skill);
game.log(player,'获得了技能','#g【'+get.translation(skill)+'】');
},
derivation:['gzqice','tiaoxin','gzzhiheng','new_chuli','gzsanchen'],
ai:{
@ -4103,9 +4103,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return '没有“戮”';
}
},
content:function(storage,player){
return '共有'+get.cnNumber(storage.length)+'张“戮”';
},
// content:function(storage,player){
// return '共有'+get.cnNumber(storage.length)+'张“戮”';
// },
},
group:'gzshilu_zhiheng',
subSkill:{
@ -4853,7 +4853,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
});
},
selectTarget:-1,
filterTarget:function(card,player,target){;
filterTarget:function(card,player,target){
if(player==target) return true;
if(player.identity=='unknown'){
var group='shu';
@ -7806,7 +7806,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
trigger.source.chooseJunlingControl(player,result.junling,result.targets).set('prompt','补益').set('choiceList',choiceList).set('ai',function(){
if(get.recoverEffect(trigger.player,player,_status.event.player)>0) return 1;
return (get.attitude(trigger.source,trigger.player)<0&&get.junlingEffect(player,result.junling,trigger.source,result.targets,trigger.source)>=-2)?1:0;
return 0;
});
'step 2'
if(result.index==0) trigger.source.carryOutJunling(player,event.junling,targets);
@ -8800,8 +8799,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.log(player,'获得了技能','#g【'+get.translation(result.control)+'】');
game.delay();
},
forceaudio:true,
audio:['xuanhuo',2],
// forceaudio:true,
// audio:['xuanhuo',2],
ai:{
order:8,
result:{player:1},
@ -8809,7 +8808,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
},
//used:{},
},
audio:['xuanhuo',2],
// audio:['xuanhuo',2],
},
fz_gzpaoxiao:{
audio:true,
@ -10383,8 +10382,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
case '珠联(桃)': return get.copy(lib.skill._zhulianbihe_mark_tao);
case '珠联(摸牌)': return {
content:function(){
player.draw(2);
player.removeMark(player.hasMark('zhulianbihe_mark')?'zhulianbihe_mark':'yexinjia_mark',1);
player.draw(2);
player.removeMark(player.hasMark('zhulianbihe_mark')?'zhulianbihe_mark':'yexinjia_mark',1);
},
};
case '阴阳鱼': return {
@ -11132,7 +11131,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
backup:function(links,player){
return {
filterCard:true,
audio:"qice",
audio:'qice_backup',
selectCard:-1,
position:'h',
selectTarget:function(){
@ -11154,7 +11153,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
return lib.filter.filterTarget(card,player,target);
},
audio:'qice_backup',
popname:true,
viewAs:{name:links[0][2]},
ai1:function(){
@ -11887,7 +11885,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
return false;
})
};
}
if(trigger.name=='lose'){
for(var i of trigger.cards){
if(i.name=='feilongduofeng'&&get.position(i,true)=='d') cards.push(i);
@ -12342,7 +12340,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
return player.siege(event.target)&&event.player.siege(event.target);
},
forced:true,
audio:'zniaoxiang',
forceaudio:true,
logTarget:'target',
content:function(){
@ -12661,7 +12658,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
for(var i=0;i<skills.length;i++){
list.add(skills[i]);
var info=lib.skill[skills[i]];
if(info.charlotte){list.splice(i--);continue};
if (info.charlotte) {
list.splice(i--);
continue;
}
if(typeof info.derivation=='string'){
list.add(info.derivation);
}
@ -14219,13 +14219,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.me.chooseButtonOL(chosen,function(player,result){
if(player==game.me) player.trueIdentity=result.links[0][2].slice(6);
}).set('switchToAuto',function(){
_status.event.result='ai';
}).set('processAI',function(){
return {
bool:true,
links:[_status.event.dialog.buttons.randomGet().link],
}
});
_status.event.result='ai';
}).set('processAI',function(){
return {
bool:true,
links:[_status.event.dialog.buttons.randomGet().link],
}
});
}
else event._result={};
'step 2'

View File

@ -592,9 +592,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
switch(_status.mode){
case 'purple':str2='3v3v2 - '+(game.me.identity.indexOf('r')==0?'暖色':'冷色')+lib.translate[game.me.identity+'2'];break;
case 'zhong':str2='忠胆英杰 - '+lib.translate[game.me.identity+'2'];break;
case 'stratagem':str2=get.cnNumber(get.playerNumber())+'人谋攻'+'-'+lib.translate[game.me.identity+'2'];
default:str2=get.cnNumber(get.playerNumber())+'人'+
get.translation(lib.config.mode)+' - '+lib.translate[game.me.identity+'2']
case 'stratagem':str2=get.cnNumber(get.playerNumber())+'人谋攻'+'-'+lib.translate[game.me.identity+'2'];break;
default:str2=get.cnNumber(get.playerNumber())+'人'+get.translation(lib.config.mode)+' - '+lib.translate[game.me.identity+'2']
}
}
var name=[
@ -809,24 +808,24 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
players.push(players.shift());
}
game.broadcastAll(function(players,identityList,list){
_status.mode='purple';
if(game.online) ui.arena.classList.add('choose-character');
for(var i=0;i<players.length;i++){
players[i].node.identity.classList.add('guessing');
players[i].identity=identityList[i];
players[i].setIdentity(list.contains(identityList[i])?'cai2':'cai');
if(['rZhu','bZhu'].contains(identityList[i])){
game[identityList[i]]=players[i];
players[i].setIdentity(identityList[i]);
players[i].identityShown=true;
players[i].node.identity.classList.remove('guessing');
}
}
game.zhu=game.rZhu;
game.rZhu.isZhu=true;
game.bZhu.isZhu=true;
game.me.setIdentity();
game.me.node.identity.classList.remove('guessing');
_status.mode='purple';
if(game.online) ui.arena.classList.add('choose-character');
for(var i=0;i<players.length;i++){
players[i].node.identity.classList.add('guessing');
players[i].identity=identityList[i];
players[i].setIdentity(list.contains(identityList[i])?'cai2':'cai');
if(['rZhu','bZhu'].contains(identityList[i])){
game[identityList[i]]=players[i];
players[i].setIdentity(identityList[i]);
players[i].identityShown=true;
players[i].node.identity.classList.remove('guessing');
}
}
game.zhu=game.rZhu;
game.rZhu.isZhu=true;
game.bZhu.isZhu=true;
game.me.setIdentity();
game.me.node.identity.classList.remove('guessing');
},players,identityList,list);
players.sortBySeat(game.zhu);
for(var i=0;i<players.length;i++){
@ -889,15 +888,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var players=[game.rZhu,game.bZhu];
var list=[];
for(var i=0;i<players.length;i++){
if(true){
var group=event[players[i].identity];
var str='选择角色';
var list2=event.map[group].randomGets(4);
if(event.map_zhu[group]) list2.addArray(event.map_zhu[group].randomGets(2));
event.map[players[i].playerid]=list2;
list.push([players[i],[str,[list2,'character']],true]);
}
}
var group=event[players[i].identity];
var str='选择角色';
var list2=event.map[group].randomGets(4);
if(event.map_zhu[group]) list2.addArray(event.map_zhu[group].randomGets(2));
event.map[players[i].playerid]=list2;
list.push([players[i],[str,[list2,'character']],true]);
}
game.me.chooseButtonOL(list,function(player,result){
if(game.online||player==game.me){
player.init(result.links[0]);
@ -935,13 +932,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var players=game.players.slice(0);
players.removeArray([game.rZhu,game.bZhu]);
for(var i=0;i<players.length;i++){
if(true){
var group=event[players[i].identity.slice(0,1)+'Zhu'];
var str='选择角色';
var list2=event.map[group].randomRemove(event.mapNum[group]);
event.map[players[i].playerid]=list2;
list.push([players[i],[str,[list2,'character']],true]);
}
var group=event[players[i].identity.slice(0,1)+'Zhu'];
var str='选择角色';
var list2=event.map[group].randomRemove(event.mapNum[group]);
event.map[players[i].playerid]=list2;
list.push([players[i],[str,[list2,'character']],true]);
}
game.me.chooseButtonOL(list,function(player,result){
if(game.online||player==game.me){
@ -1007,8 +1002,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
game.zhu=game.rZhu;
game.rZhu.isZhu=true;
game.bZhu.isZhu=true;
game.rZhu.isZhu=true;
game.bZhu.isZhu=true;
game.me.setIdentity();
game.me.node.identity.classList.remove('guessing');
players.sortBySeat(game.zhu);
@ -1264,8 +1259,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else{
result[i]=result[i].links;
}
if(get.is.double(result[i][0])||
lib.character[result[i][0]]&&lib.character[result[i][0]][1]=='shen'&&!lib.character[result[i][0]][4].contains('hiddenSkill')) shen.push(lib.playerOL[i]);
if(get.is.double(result[i][0])||lib.character[result[i][0]]&&lib.character[result[i][0]][1]=='shen'&&!lib.character[result[i][0]][4].contains('hiddenSkill')) shen.push(lib.playerOL[i]);
}
event.result2=result;
if(shen.length){
@ -1286,13 +1280,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.me.chooseButtonOL(shen,function(player,result){
if(player==game.me) player.changeGroup(result.links[0][2].slice(6),false,false);
}).set('switchToAuto',function(){
_status.event.result='ai';
}).set('processAI',function(){
return {
bool:true,
links:[_status.event.dialog.buttons.randomGet().link],
}
});
_status.event.result='ai';
}).set('processAI',function(){
return {
bool:true,
links:[_status.event.dialog.buttons.randomGet().link],
}
});
}
else event._result={};
'step 3'
@ -1817,7 +1811,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
else{
list3.push(i);
}
};
}
var getZhuList=function(){
if(stratagemMode){
list2.sort(lib.sort.character);
@ -2446,7 +2440,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
result[i]=result[i].links;
}
if(get.is.double(result[i][0])||
lib.character[result[i][0]]&&lib.character[result[i][0]][1]=='shen'&&!lib.character[result[i][0]][4].contains('hiddenSkill')) shen.push(lib.playerOL[i]);
lib.character[result[i][0]]&&lib.character[result[i][0]][1]=='shen'&&!lib.character[result[i][0]][4].contains('hiddenSkill')) shen.push(lib.playerOL[i]);
}
event.result2=result;
if(shen.length){
@ -2467,13 +2461,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.me.chooseButtonOL(shen,function(player,result){
if(player==game.me) player.changeGroup(result.links[0][2].slice(6),false,false);
}).set('switchToAuto',function(){
_status.event.result='ai';
}).set('processAI',function(){
return {
bool:true,
links:[_status.event.dialog.buttons.randomGet().link],
}
});
_status.event.result='ai';
}).set('processAI',function(){
return {
bool:true,
links:[_status.event.dialog.buttons.randomGet().link],
}
});
}
else event._result={};
"step 5"
@ -2481,23 +2475,23 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
for(var i in result){
if(result[i]&&result[i].links) result[i]=result[i].links[0][2].slice(6);
else if(result[i]=='ai') result[i]=function(){
var player=lib.playerOL[i];
var list=['wei','shu','wu','qun','jin','key'];
var player=lib.playerOL[i];
var list=['wei','shu','wu','qun','jin','key'];
for(var ix=0;ix<list.length;ix++){
if(!lib.group.contains(list[ix])) list.splice(ix--,1);
}
if(_status.mode!='zhong'&&game.zhu&&game.zhu.group){
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo','jin_simashi','caomao'].contains(game.zhu.name)) return game.zhu.group;
if(game.zhu.name=='yl_yuanshu'){
if(player.identity=='zhong') list.remove('qun');
else return 'qun';
}
if(['sunhao','xin_yuanshao','re_yuanshao','re_sunce','ol_yuanshao','yuanshu','jin_simazhao','liubian'].contains(game.zhu.name)){
if(player.identity!='zhong') list.remove(game.zhu.group);
else return game.zhu.group;
}
}
return list.randomGet();
if(_status.mode!='zhong'&&game.zhu&&game.zhu.group){
if(['re_zhangjiao','liubei','re_liubei','caocao','re_caocao','sunquan','re_sunquan','zhangjiao','sp_zhangjiao','caopi','re_caopi','liuchen','caorui','sunliang','sunxiu','sunce','re_sunben','ol_liushan','re_liushan','key_akane','dongzhuo','re_dongzhuo','ol_dongzhuo','jin_simashi','caomao'].contains(game.zhu.name)) return game.zhu.group;
if(game.zhu.name=='yl_yuanshu'){
if(player.identity=='zhong') list.remove('qun');
else return 'qun';
}
if(['sunhao','xin_yuanshao','re_yuanshao','re_sunce','ol_yuanshao','yuanshu','jin_simazhao','liubian'].contains(game.zhu.name)){
if(player.identity!='zhong') list.remove(game.zhu.group);
else return game.zhu.group;
}
}
return list.randomGet();
}();
}
var result2=event.result2;
@ -2665,16 +2659,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
if(_status.mode=='stratagem') return;
if(_status.mode=='purple'){
if(source){
if(this.identity=='rZhu'||this.identity=='bZhu'){
if(this.identity.slice(0,1)!=source.identity.slice(0,1)) source.recover();
}
else if(this.identity=='rZhong'||this.identity=='bZhong'){
if(this.identity.slice(0,1)!=source.identity.slice(0,1)) source.draw(2);
else if(source.identity.indexOf('Zhu')==1) source.discard(source.getCards('h'));
}
else if(this.identity=='rNei'||this.identity=='bNei'){
if(this.identity.slice(0,1)==source.identity.slice(0,1)) source.draw(3);
}
if(this.identity=='rZhu'||this.identity=='bZhu'){
if(this.identity.slice(0,1)!=source.identity.slice(0,1)) source.recover();
}
else if(this.identity=='rZhong'||this.identity=='bZhong'){
if(this.identity.slice(0,1)!=source.identity.slice(0,1)) source.draw(2);
else if(source.identity.indexOf('Zhu')==1) source.discard(source.getCards('h'));
}
else if(this.identity=='rNei'||this.identity=='bNei'){
if(this.identity.slice(0,1)==source.identity.slice(0,1)) source.draw(3);
}
}
if(!_status.yeconfirm){
_status.yeconfirm=true;
@ -2686,7 +2680,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
});
if(player){
player.showIdentity();
};
}
}
});
}
@ -2738,7 +2732,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
});
if(red.length<=1&&blue.length<=1) game.broadcastAll(game.showIdentity);
return;
};
}
if(game.zhu&&game.zhu.isZhu){
if((get.population('zhong')+get.population('nei')==0||
get.population('zhong')+get.population('fan')==0)&&get.population('commoner')==0){
@ -3692,6 +3686,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
case 'commoner':
return 2*get.population('fan')-2;
}
break;
case 'commoner':
switch(identity2){
case 'zhu':
@ -3716,6 +3711,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
case 'commoner':
return from==to?10:(to.hp<=2?-2:0);
}
break;
}
},
situation:function(absolute){

View File

@ -612,16 +612,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var str2;
if(game.versusVideoName) str2=game.versusVideoName;
else{
switch(_status.mode){
case 'two':str2='欢乐成双';break;
case 'endless':str2='无尽模式';break;
case 'three':str2='统率三军';break;
case 'siguo':str2='同舟共济';break;
case 'jiange':str2='守卫剑阁';break;
case 'four':str2='对决 - 4v4';break;
case 'guandu':str2='官渡之战';break;
default:str2='对决 - '+lib.storage.number+'v'+lib.storage.number
}
switch(_status.mode){
case 'two':str2='欢乐成双';break;
case 'endless':str2='无尽模式';break;
case 'three':str2='统率三军';break;
case 'siguo':str2='同舟共济';break;
case 'jiange':str2='守卫剑阁';break;
case 'four':str2='对决 - 4v4';break;
case 'guandu':str2='官渡之战';break;
default:str2='对决 - '+lib.storage.number+'v'+lib.storage.number
}
}
return [str,str2];
},
@ -2551,33 +2551,33 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
next.setContent(function(){
"step 0"
var list=[
['zhu','ezhu','ezhong','zhong','ezhong','zhong','zhong','ezhong'],
['zhu','ezhong','zhong','ezhu','ezhong','zhong','ezhong','zhong'],
['zhu','ezhong','zhong','ezhong','zhong','ezhong','zhong','ezhu'],
['zhu','ezhu','zhong','ezhong','zhong','ezhong','zhong','ezhong'],
['zhu','ezhong','zhong','ezhong','zhong','ezhu','zhong','ezhong'],
].randomGet();
['zhu','ezhu','ezhong','zhong','ezhong','zhong','zhong','ezhong'],
['zhu','ezhong','zhong','ezhu','ezhong','zhong','ezhong','zhong'],
['zhu','ezhong','zhong','ezhong','zhong','ezhong','zhong','ezhu'],
['zhu','ezhu','zhong','ezhong','zhong','ezhong','zhong','ezhong'],
['zhu','ezhong','zhong','ezhong','zhong','ezhu','zhong','ezhong'],
].randomGet();
var side=true;
var num=Math.floor(Math.random()*8);
list=list.splice(8-num).concat(list);
for(var i=0;i<8;i++){
if(list[i][0]=='e'){
game.players[i].side=side;
game.players[i].identity=list[i].slice(1);
}
else{
game.players[i].side=!side;
game.players[i].identity=list[i];
}
if(game.players[i].identity=='zhu'){
game[game.players[i].side+'Zhu']=game.players[i];
game.players[i].isZhu=true;
}
game.players[i].setIdentity(game.players[i].identity);
game.players[i].node.identity.dataset.color=get.translation(game.players[i].side+'Color');
game.players[i].getId();
}
var side=true;
var num=Math.floor(Math.random()*8);
list=list.splice(8-num).concat(list);
for(var i=0;i<8;i++){
if(list[i][0]=='e'){
game.players[i].side=side;
game.players[i].identity=list[i].slice(1);
}
else{
game.players[i].side=!side;
game.players[i].identity=list[i];
}
if(game.players[i].identity=='zhu'){
game[game.players[i].side+'Zhu']=game.players[i];
game.players[i].isZhu=true;
}
game.players[i].setIdentity(game.players[i].identity);
game.players[i].node.identity.dataset.color=get.translation(game.players[i].side+'Color');
game.players[i].getId();
}
var side=true;
var map={};
@ -2611,27 +2611,27 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}
}
}
game.falseZhu.init('re_caocao');
game.trueZhu.init('ol_yuanshao');
game.trueZhu.hp++;
game.trueZhu.maxHp++;
game.falseZhu.hp++;
game.falseZhu.maxHp++;
game.trueZhu.update();
game.falseZhu.update();
game.falseZhu.init('re_caocao');
game.trueZhu.init('ol_yuanshao');
game.trueZhu.hp++;
game.trueZhu.maxHp++;
game.falseZhu.hp++;
game.falseZhu.maxHp++;
game.trueZhu.update();
game.falseZhu.update();
ui.arena.classList.add('choose-character');
if(get.is.phoneLayout()){
ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window);
}
else{
ui.guanduInfo=ui.create.div(ui.gameinfo);
}
ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt);
var dialog=ui.create.dialog('本局特殊事件:'+get.translation(evt));
dialog.addText(get.translation(evt+'_info'),false);
setTimeout(function(){
dialog.close();
},5000)
ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window);
}
else{
ui.guanduInfo=ui.create.div(ui.gameinfo);
}
ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt);
var dialog=ui.create.dialog('本局特殊事件:'+get.translation(evt));
dialog.addText(get.translation(evt+'_info'),false);
setTimeout(function(){
dialog.close();
},5000)
};
game.broadcastAll(func,map,evt);
_status.firstAct=game.falseZhu;
@ -2704,12 +2704,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
game.addGlobalSkill(evt);
game.broadcastAll(function(evt){
if(get.is.phoneLayout()){
ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window);
}
else{
ui.guanduInfo=ui.create.div(ui.gameinfo);
}
ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt);
ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window);
}
else{
ui.guanduInfo=ui.create.div(ui.gameinfo);
}
ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt);
},evt);
game.me.chooseControl('ok').set('prompt','###本局特殊事件:'+get.translation(evt)+'###'+get.translation(evt+'_info'));
'step 1'
@ -5164,7 +5164,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
content:function(){
"step 0"
event.players=game.filterPlayer(function(current){
return current.isEnemyOf(player);
return current.isEnemyOf(player);
});
"step 1"
if(event.players.length){