Merge pull request #615 from kuangshen04/PR-Branch
eslint格式化,修复nobracket冲突
This commit is contained in:
commit
d7c6f2734e
|
@ -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] */
|
||||
}
|
||||
}
|
|
@ -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')
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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:{
|
||||
|
|
|
@ -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':{
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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:{
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:{
|
||||
|
|
|
@ -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:'屯田',
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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};
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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&¤t!=target&¤t.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&¤t!=target&¤t.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,
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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'},
|
||||
|
|
|
@ -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]);
|
||||
}
|
||||
|
|
102
character/tw.js
102
character/tw.js
|
@ -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;
|
||||
}
|
||||
},
|
||||
},
|
||||
|
|
|
@ -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&¤t.countCards('hes')<3)<=1) return 0;
|
||||
!game.hasPlayer(current=>current.hp<=1)&&game.countPlayer(current=>current.hp===2&¤t.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'],
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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:{
|
||||
|
|
|
@ -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,
|
||||
|
|
223
game/game.js
223
game/game.js
|
@ -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>')
|
||||
}
|
||||
|
|
33
mode/boss.js
33
mode/boss.js
|
@ -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&¤t.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){
|
||||
|
|
2306
mode/brawl.js
2306
mode/brawl.js
File diff suppressed because it is too large
Load Diff
|
@ -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;
|
||||
|
|
|
@ -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('连接失败');
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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'
|
||||
|
|
162
mode/identity.js
162
mode/identity.js
|
@ -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){
|
||||
|
|
124
mode/versus.js
124
mode/versus.js
|
@ -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){
|
||||
|
|
Loading…
Reference in New Issue