rename Disabled to DisabledSlot, removed isEmpty
This commit is contained in:
parent
6919fc6a5e
commit
322b7ec991
|
@ -3447,10 +3447,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return !player.isDisabled(1);
|
return player.hasEnabledSlot(1);
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
if(player.isEmpty(1)){
|
if(player.hasEmptySlot(1)){
|
||||||
var card=get.cardPile2(function(card){
|
var card=get.cardPile2(function(card){
|
||||||
return get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')&&player.canUse(card,player);
|
return get.subtype(card)=='equip1'&&!get.cardtag(card,'gifts')&&player.canUse(card,player);
|
||||||
});
|
});
|
||||||
|
@ -4176,12 +4176,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filterCard:function(card,player){
|
filterCard:function(card,player){
|
||||||
if(!player) player=_status.event.player;
|
if(!player) player=_status.event.player;
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current!=player&¤t.isEmpty(get.subtype(card,false));
|
return current!=player&¤t.canEquip(card);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
position:'e',
|
position:'e',
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target!=player&&target.isEmpty(get.subtype(ui.selected.cards[0],false));
|
return target!=player&&target.canEquip(ui.selected.cards[0]);
|
||||||
},
|
},
|
||||||
check:function(card){
|
check:function(card){
|
||||||
if(get.value(card)<=0) return 10;
|
if(get.value(card)<=0) return 10;
|
||||||
|
@ -6536,7 +6536,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(player==target) return false;
|
if(player==target) return false;
|
||||||
var card=ui.selected.cards[0];
|
var card=ui.selected.cards[0];
|
||||||
if(get.type(card,false)=='delay') return target.canAddJudge({name:card.name});
|
if(get.type(card,false)=='delay') return target.canAddJudge({name:card.name});
|
||||||
return target.isEmpty(get.subtype(card,false));
|
return target.canEquip(card);
|
||||||
},
|
},
|
||||||
discard:false,
|
discard:false,
|
||||||
lose:false,
|
lose:false,
|
||||||
|
@ -10200,16 +10200,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 0'
|
'step 0'
|
||||||
var list=['equip1','equip2','equip3','equip4','equip5'];
|
var list=['equip1','equip2','equip3','equip4','equip5'];
|
||||||
for(var i=0;i<list.length;i++){
|
for(var i=0;i<list.length;i++){
|
||||||
if(player.isDisabled(list[i])||player.storage.kengo_guidui2&&player.storage.kengo_guidui2.contains(list[i])) list.splice(i--,1);
|
if(!player.hasEnabledSlot(list[i])||player.storage.kengo_guidui2&&player.storage.kengo_guidui2.contains(list[i])) list.splice(i--,1);
|
||||||
}
|
}
|
||||||
player.chooseControl(list).set('prompt','请选择废除一个装备栏').ai=function(){
|
player.chooseControl(list).set('prompt','请选择废除一个装备栏').ai=function(){
|
||||||
if(list.contains('equip1')&&player.isEmpty('equip1')&&player.countCards('h',function(card){
|
if(list.contains('equip1')&&player.hasEmptySlot('equip1')&&player.countCards('h',function(card){
|
||||||
return card.name=='sha'&&player.getUseValue(card)>0
|
return card.name=='sha'&&player.getUseValue(card)>0
|
||||||
})) return 'equip1';
|
})) return 'equip1';
|
||||||
if(list.contains('equip3')&&player.isEmpty('equip3')) return 'equip3';
|
if(list.contains('equip3')&&player.hasEmptySlot('equip3')) return 'equip3';
|
||||||
if(list.contains('equip4')&&player.isEmpty('equip4')) return 'equip4';
|
if(list.contains('equip4')&&player.hasEmptySlot('equip4')) return 'equip4';
|
||||||
if(list.contains('equip5')&&player.isEmpty('equip5')) return 'equip5';
|
if(list.contains('equip5')&&player.hasEmptySlot('equip5')) return 'equip5';
|
||||||
if(list.contains('equip2')&&player.isEmpty('equip2')) return 'equip2';
|
if(list.contains('equip2')&&player.hasEmptySlot('equip2')) return 'equip2';
|
||||||
return list.randomGet();
|
return list.randomGet();
|
||||||
};
|
};
|
||||||
'step 1'
|
'step 1'
|
||||||
|
|
|
@ -3734,7 +3734,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
else{
|
else{
|
||||||
event.target2=result.targets[0];
|
event.target2=result.targets[0];
|
||||||
var list=['手牌区'];
|
var list=['手牌区'];
|
||||||
if(lib.card[card.name].type=='equip'&&event.target2.isEmpty(lib.card[card.name].subtype)) list.push('装备区');
|
if(lib.card[card.name].type=='equip'&&event.target2.canEquip(card)) list.push('装备区');
|
||||||
if(lib.card[card.name].type=='delay'&&!event.target2.storage._disableJudge&&!event.target2.hasJudge(card.name)) list.push('判定区');
|
if(lib.card[card.name].type=='delay'&&!event.target2.storage._disableJudge&&!event.target2.hasJudge(card.name)) list.push('判定区');
|
||||||
if(list.length==1) event._result={control:list[0]};
|
if(list.length==1) event._result={control:list[0]};
|
||||||
else{
|
else{
|
||||||
|
@ -4011,7 +4011,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
var num=event.name=='phase'?5:3;
|
var num=event.name=='phase'?5:3;
|
||||||
if(num==3?event.numFixed:!game.hasPlayer(function(current){
|
if(num==3?event.numFixed:!game.hasPlayer(function(current){
|
||||||
return current.countDisabled()<5;
|
return current.hasEnabledSlot();
|
||||||
})) return false;
|
})) return false;
|
||||||
return game.countPlayer(function(current){
|
return game.countPlayer(function(current){
|
||||||
return current.isDamaged();
|
return current.isDamaged();
|
||||||
|
@ -4027,7 +4027,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
player.chooseTarget(get.prompt('olzhiti'),'废除一名角色的一个随机装备栏',function(card,player,target){
|
player.chooseTarget(get.prompt('olzhiti'),'废除一名角色的一个随机装备栏',function(card,player,target){
|
||||||
return target.countDisabled()<5;
|
return target.hasEnabledSlot();
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
return -get.attitude(_status.event.player,target)*(target.countCards('e')+1)
|
return -get.attitude(_status.event.player,target)*(target.countCards('e')+1)
|
||||||
});
|
});
|
||||||
|
@ -4038,13 +4038,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
player.logSkill('olzhiti',target);
|
player.logSkill('olzhiti',target);
|
||||||
var list=[];
|
var list=[];
|
||||||
for(var i=1;i<6;i++){
|
for(var i=1;i<6;i++){
|
||||||
if(!target.isDisabled(i)) list.add((i==3||i==4)?6:i);
|
if(target.hasEnabledSlot(i)) list.add((i==3||i==4)?6:i);
|
||||||
}
|
}
|
||||||
var num=list.randomGet();
|
var num=list.randomGet();
|
||||||
if(num!=6) target.disableEquip(num);
|
if(num!=6) target.disableEquip(num);
|
||||||
else{
|
else{
|
||||||
target.disableEquip(3);
|
target.disableEquip(3,4);
|
||||||
target.disableEquip(4);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -6401,7 +6400,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return player!=event.player&&event.player.isIn()&&_status.currentPhase==player;
|
return player!=event.player&&event.player.isIn()&&_status.currentPhase==player;
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(player.countDisabled()<5&&player.isDisabled(5)) return false;
|
if(player.hasEnabledSlot()&&!player.hasEnabledSlot(5)) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
bannedList:[
|
bannedList:[
|
||||||
|
@ -6425,7 +6424,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(func(listm[i])) list.add(listm[i]);
|
if(func(listm[i])) list.add(listm[i]);
|
||||||
}
|
}
|
||||||
event.skills=list;
|
event.skills=list;
|
||||||
if(player.countDisabled()<5){
|
if(player.hasEnabledSlot()){
|
||||||
player.chooseToDisable().ai=function(event,player,list){
|
player.chooseToDisable().ai=function(event,player,list){
|
||||||
if(list.contains('equip5')) return 'equip5';
|
if(list.contains('equip5')) return 'equip5';
|
||||||
return list.randomGet();
|
return list.randomGet();
|
||||||
|
|
|
@ -4704,9 +4704,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:2,
|
audio:2,
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
usable:1,
|
usable:1,
|
||||||
isDisabled:function(player,pos){
|
|
||||||
return pos>0?player.isDisabled(pos):player.storage._disableJudge;
|
|
||||||
},
|
|
||||||
chooseButton:{
|
chooseButton:{
|
||||||
dialog:function(event,player){
|
dialog:function(event,player){
|
||||||
var dialog=ui.create.dialog('弥笃:选择要废除或恢复的装备栏或判定区','hidden');
|
var dialog=ui.create.dialog('弥笃:选择要废除或恢复的装备栏或判定区','hidden');
|
||||||
|
@ -4714,10 +4711,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
dialog.noforcebutton=true;
|
dialog.noforcebutton=true;
|
||||||
var list1=[],list2=[];
|
var list1=[],list2=[];
|
||||||
for(var i=1;i<6;i++){
|
for(var i=1;i<6;i++){
|
||||||
(player.isDisabled(i)?list2:list1).push(i);
|
for(var j=0;j<player.countEnabledSlot(i);j++){
|
||||||
|
list1.push(i);
|
||||||
}
|
}
|
||||||
(player.storage._disableJudge?list2:list1).push(-1);
|
if(player.isDisabled(i)) list2.push(i);
|
||||||
var addTable=function(list){
|
}
|
||||||
|
(player.isDisabledJudge()?list2:list1).push(-1);
|
||||||
|
var addTable=function(list,bool){
|
||||||
var table=document.createElement('div');
|
var table=document.createElement('div');
|
||||||
table.classList.add('add-setting');
|
table.classList.add('add-setting');
|
||||||
table.style.margin='0';
|
table.style.margin='0';
|
||||||
|
@ -4726,7 +4726,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
for(var i of list){
|
for(var i of list){
|
||||||
var td=ui.create.div('.shadowed.reduce_radius.pointerdiv.tdnode');
|
var td=ui.create.div('.shadowed.reduce_radius.pointerdiv.tdnode');
|
||||||
td.innerHTML='<span>'+(i>0?get.translation('equip'+i)+'栏':'判定区')+'</span>';
|
td.innerHTML='<span>'+(i>0?get.translation('equip'+i)+'栏':'判定区')+'</span>';
|
||||||
td.link=i;
|
td.link=[i,bool];
|
||||||
td.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.button);
|
td.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.button);
|
||||||
for(var j in lib.element.button){
|
for(var j in lib.element.button){
|
||||||
td[j]=lib.element.button[j];
|
td[j]=lib.element.button[j];
|
||||||
|
@ -4738,43 +4738,43 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
if(list1.length){
|
if(list1.length){
|
||||||
dialog.addText('未废除');
|
dialog.addText('未废除');
|
||||||
addTable(list1);
|
addTable(list1,true);
|
||||||
}
|
}
|
||||||
if(list2.length){
|
if(list2.length){
|
||||||
dialog.addText('已废除');
|
dialog.addText('已废除');
|
||||||
addTable(list2);
|
addTable(list2,false);
|
||||||
}
|
}
|
||||||
return dialog;
|
return dialog;
|
||||||
},
|
},
|
||||||
filter:function(button,player){
|
filter:function(button,player){
|
||||||
if(!ui.selected.buttons.length) return true;
|
if(!ui.selected.buttons.length) return true;
|
||||||
if(lib.skill.midu.isDisabled(player,ui.selected.buttons[0].link)) return false;
|
if(!ui.selected.buttons[0].link[1]) return false;
|
||||||
return !player.isDisabled(button.link);
|
return button.link[1]
|
||||||
},
|
},
|
||||||
check:function(button){
|
check:function(button){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
if(lib.skill.midu.isDisabled(player,button.link)){
|
if(!button.link[1]){
|
||||||
if(button.link<=0) return -10;
|
if(button.link[0]<=0) return -10;
|
||||||
if(player.hasCard(function(card){
|
if(player.hasCard(function(card){
|
||||||
return get.subtype(card)==('equip'+button.link);
|
return get.subtype(card)==('equip'+button.link[0]);
|
||||||
},'hs')) return 15;
|
},'hs')) return 15;
|
||||||
return 10;
|
return 10;
|
||||||
}
|
}
|
||||||
if(button.link<=0||player.isEmpty(button.link)&&!player.hasCard(function(card){
|
if(button.link[0]<=0||player.hasEmptySlot(button.link[0])&&!player.hasCard(function(card){
|
||||||
return get.subtype(card)==('equip'+button.link)&&player.canUse(card,player)&&get.effect(player,card,player,player)>0;
|
return get.subtype(card)==('equip'+button.link[0])&&player.canUse(card,player)&&get.effect(player,card,player,player)>0;
|
||||||
},'hs')) return 5;
|
},'hs')) return 5;
|
||||||
return 0;
|
return 0;
|
||||||
},
|
},
|
||||||
select:[1,6],
|
select:[1,Infinity],
|
||||||
backup:function(links,player){
|
backup:function(links,player){
|
||||||
if(lib.skill.midu.isDisabled(player,links[0])){
|
if(!links[0][1]){
|
||||||
return {
|
return {
|
||||||
audio:'midu',
|
audio:'midu',
|
||||||
selectCard:-1,
|
selectCard:-1,
|
||||||
selectTarget:-1,
|
selectTarget:-1,
|
||||||
filterCard:()=>false,
|
filterCard:()=>false,
|
||||||
filterTarget:()=>false,
|
filterTarget:()=>false,
|
||||||
equip:links[0],
|
equip:links[0][0],
|
||||||
content:function(){
|
content:function(){
|
||||||
var pos=lib.skill.midu_backup.equip;
|
var pos=lib.skill.midu_backup.equip;
|
||||||
if(pos<=0) player.enableJudge();
|
if(pos<=0) player.enableJudge();
|
||||||
|
@ -4789,15 +4789,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
selectCard:-1,
|
selectCard:-1,
|
||||||
filterCard:()=>false,
|
filterCard:()=>false,
|
||||||
filterTarget:true,
|
filterTarget:true,
|
||||||
equip:links.sort(),
|
equip:links.map(i=>i[0]).sort(),
|
||||||
content:function(){
|
content:function(){
|
||||||
var list=lib.skill.midu_backup.equip,bool=false;
|
var list=lib.skill.midu_backup.equip,num=list.length,bool=false;
|
||||||
for(var i of list){
|
if(list.contains(-1)){
|
||||||
if(i<=0) bool=true;
|
list.remove(-1);
|
||||||
else player.disableEquip(i);
|
bool=true;
|
||||||
}
|
}
|
||||||
|
if(list.length>0) player.disableEquip(list);
|
||||||
if(bool) player.disableJudge();
|
if(bool) player.disableJudge();
|
||||||
target.draw(list.length)
|
target.draw(num)
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
tag:{
|
tag:{
|
||||||
|
@ -4811,7 +4812,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
prompt:function(links,player){
|
prompt:function(links,player){
|
||||||
if(lib.skill.midu.isDisabled(player,links[0])){
|
if(!links[0][1]){
|
||||||
return '恢复一个装备栏或判定区并获得〖活墨〗';
|
return '恢复一个装备栏或判定区并获得〖活墨〗';
|
||||||
}
|
}
|
||||||
var numc=get.cnNumber(links.length);
|
var numc=get.cnNumber(links.length);
|
||||||
|
@ -4828,11 +4829,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
xianwang:{
|
xianwang:{
|
||||||
mod:{
|
mod:{
|
||||||
globalTo:function(source,player,distance){
|
globalTo:function(source,player,distance){
|
||||||
var num=player.countDisabled();
|
var num=player.countDisabledSlot();
|
||||||
if(num>0) return distance+(num>2?2:1);
|
if(num>0) return distance+(num>2?2:1);
|
||||||
},
|
},
|
||||||
globalFrom:function(source,player,distance){
|
globalFrom:function(source,player,distance){
|
||||||
var num=source.countDisabled();
|
var num=source.countDisabledSlot();
|
||||||
if(num>0) return distance-(num>2?2:1);
|
if(num>0) return distance-(num>2?2:1);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -5513,7 +5514,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var info=get.info(i);
|
var info=get.info(i);
|
||||||
return info&&!get.is.locked(i)&&!info.limited&&!info.juexingji&&!info.zhuSkill&&!info.charlotte;
|
return info&&!get.is.locked(i)&&!info.limited&&!info.juexingji&&!info.zhuSkill&&!info.charlotte;
|
||||||
});
|
});
|
||||||
if(!skills.length&&target.isEmpty(2)) return 1;
|
if(!skills.length&&target.hasEmptySlot(2)) return 1;
|
||||||
return -0.5*skills.length;
|
return -0.5*skills.length;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -6458,7 +6459,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
mod:{
|
mod:{
|
||||||
targetInRange:function(card,player,target){
|
targetInRange:function(card,player,target){
|
||||||
if(player.countDisabled()>=5) return true;
|
for(var i=1;i<=5;i++){
|
||||||
|
if(!player.hasDisabledSlot(i)) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
marktext:'萍',
|
marktext:'萍',
|
||||||
|
@ -6469,7 +6473,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{global:'useCardAfter'},
|
trigger:{global:'useCardAfter'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player!=event.player&&event.targets.contains(player)&&
|
return player!=event.player&&event.targets.contains(player)&&
|
||||||
player.countDisabled()<5&&!player.getStorage('fuping').contains(event.card.name);
|
player.hasEnabledSlot()&&!player.getStorage('fuping').contains(event.card.name);
|
||||||
},
|
},
|
||||||
logTarget:'player',
|
logTarget:'player',
|
||||||
prompt2:(event)=>('废除一个装备栏并记录【'+get.translation(event.card.name)+'】'),
|
prompt2:(event)=>('废除一个装备栏并记录【'+get.translation(event.card.name)+'】'),
|
||||||
|
@ -7273,14 +7277,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(num>=5) return false;
|
if(num>=5) return false;
|
||||||
var num2=0;
|
var num2=0;
|
||||||
for(var i=1;i<=5;i++){
|
for(var i=1;i<=5;i++){
|
||||||
if(event.player.isEmpty(i)) num2++;
|
num2+=event.player.countEmptySlot(i);
|
||||||
}
|
}
|
||||||
return num<num2;
|
return num<num2;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
var num2=0;
|
var num2=0;
|
||||||
for(var i=1;i<=5;i++){
|
for(var i=1;i<=5;i++){
|
||||||
if(trigger.player.isEmpty(i)) num2++;
|
num2+=trigger.player.countEmptySlot(i);
|
||||||
}
|
}
|
||||||
player.drawTo(num2);
|
player.drawTo(num2);
|
||||||
},
|
},
|
||||||
|
|
|
@ -11151,7 +11151,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var next=player.chooseTarget(2,function(card,player,target){
|
var next=player.chooseTarget(2,function(card,player,target){
|
||||||
if(ui.selected.targets.length){
|
if(ui.selected.targets.length){
|
||||||
if(!_status.event.ingame){
|
if(!_status.event.ingame){
|
||||||
return target.isEmpty(2)?true:false;
|
var cards=ui.selected.targets[0].getEquip(2);
|
||||||
|
return target.canEquip(card)
|
||||||
}
|
}
|
||||||
var from=ui.selected.targets[0];
|
var from=ui.selected.targets[0];
|
||||||
if(target.isMin()) return false;
|
if(target.isMin()) return false;
|
||||||
|
@ -11159,7 +11160,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(['equip3','equip4'].contains(get.subtype(es[i]))&&target.getEquip('liulongcanjia')) continue;
|
if(['equip3','equip4'].contains(get.subtype(es[i]))&&target.getEquip('liulongcanjia')) continue;
|
||||||
if(es[i].name=='liulongcanjia'&&target.countCards('e',{subtype:['equip3','equip4']})>1) continue;
|
if(es[i].name=='liulongcanjia'&&target.countCards('e',{subtype:['equip3','equip4']})>1) continue;
|
||||||
if(target.isEmpty(get.subtype(es[i]))) return true;
|
if(target.canEquip(es[i])) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -11183,7 +11184,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(['equip3','equip4'].contains(get.subtype(es[i]))&¤t.getEquip('liulongcanjia')) continue;
|
if(['equip3','equip4'].contains(get.subtype(es[i]))&¤t.getEquip('liulongcanjia')) continue;
|
||||||
else if(es[i].name=='liulongcanjia'&&target.countCards('e',{subtype:['equip3','equip4']})>1) continue;
|
else if(es[i].name=='liulongcanjia'&&target.countCards('e',{subtype:['equip3','equip4']})>1) continue;
|
||||||
else if(current.isEmpty(get.subtype(es[i]))) return true;
|
else if(current.canEquip(es[i])) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -11197,7 +11198,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
for(i=0;i<es.length;i++){
|
for(i=0;i<es.length;i++){
|
||||||
if(['equip3','equip4'].contains(get.subtype(es[i]))&&target.getEquip('liulongcanjia')) continue;
|
if(['equip3','equip4'].contains(get.subtype(es[i]))&&target.getEquip('liulongcanjia')) continue;
|
||||||
if(es[i].name=='liulongcanjia'&&target.countCards('e',{subtype:['equip3','equip4']})>1) continue;
|
if(es[i].name=='liulongcanjia'&&target.countCards('e',{subtype:['equip3','equip4']})>1) continue;
|
||||||
if(target.isEmpty(get.subtype(es[i]))) break;
|
if(target.canEquip(es[i])) break;
|
||||||
}
|
}
|
||||||
if(i==es.length) return 0;
|
if(i==es.length) return 0;
|
||||||
}
|
}
|
||||||
|
@ -12440,7 +12441,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(target.isMin()) return false;
|
if(target.isMin()) return false;
|
||||||
var es=from.getCards('e');
|
var es=from.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(target.isEmpty(get.subtype(es[i]))) return true;
|
if(target.canEquip(es[i])) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -12464,7 +12465,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
})) return 14;
|
})) return 14;
|
||||||
if(target.countCards('e',function(card){
|
if(target.countCards('e',function(card){
|
||||||
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
||||||
return current!=target&&get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))
|
return current!=target&&get.attitude(player,current)<0&¤t.canEquip(card)
|
||||||
});
|
});
|
||||||
})>0) return 9;
|
})>0) return 9;
|
||||||
}
|
}
|
||||||
|
@ -12473,7 +12474,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(current!=target&&get.attitude(player,current)>0){
|
if(current!=target&&get.attitude(player,current)>0){
|
||||||
var es=target.getCards('e');
|
var es=target.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(get.value(es[i],target)>0&¤t.isEmpty(get.subtype(es[i]))&&get.value(es[i],current)>0) return true;
|
if(get.value(es[i],target)>0&¤t.canEquip(es[i])&&get.value(es[i],current)>0) return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})){
|
})){
|
||||||
|
@ -12489,7 +12490,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(sgnatt!=0&&att2!=0&&
|
if(sgnatt!=0&&att2!=0&&
|
||||||
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
||||||
get.sgn(get.value(es[i],target))==sgnatt&&
|
get.sgn(get.value(es[i],target))==sgnatt&&
|
||||||
target.isEmpty(get.subtype(es[i]))){
|
target.canEquip(es[i])){
|
||||||
return Math.abs(att);
|
return Math.abs(att);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12538,7 +12539,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return targets1.canAddJudge(button.link);
|
return targets1.canAddJudge(button.link);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return targets1.isEmpty(get.subtype(button.link));
|
return targets1.canEquip(button.link);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1666,7 +1666,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(current.isMin()) return false;
|
if(current.isMin()) return false;
|
||||||
var es=target.getCards('e');
|
var es=target.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(current.isEmpty(get.subtype(es[i]))) return true;
|
if(current.canEquip(es[i])) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
@ -1688,7 +1688,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
||||||
get.sgn(get.value(es[i],from))==-att2&&
|
get.sgn(get.value(es[i],from))==-att2&&
|
||||||
get.sgn(get.effect(target,es[i],player,target))==sgnatt&&
|
get.sgn(get.effect(target,es[i],player,target))==sgnatt&&
|
||||||
target.isEmpty(get.subtype(es[i]))){
|
target.canEquip(es[i])){
|
||||||
return Math.abs(att);
|
return Math.abs(att);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1740,7 +1740,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return targets1.canAddJudge(button.link);
|
return targets1.canAddJudge(button.link);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return targets1.isEmpty(get.subtype(button.link));
|
return targets1.canEquip(button.link);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -3181,7 +3181,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
trigger:{target:'useCardToTargeted'},
|
trigger:{target:'useCardToTargeted'},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!player.isEmpty(2)) return false;
|
if(!player.hasEmptySlot(2)) return false;
|
||||||
if(event.card.name!='sha') return false;
|
if(event.card.name!='sha') return false;
|
||||||
return event.nature;
|
return event.nature;
|
||||||
},
|
},
|
||||||
|
@ -8773,7 +8773,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zyshangyi:'尚义',
|
zyshangyi:'尚义',
|
||||||
zyshangyi_info:'出牌阶段限一次。你可以令一名其他角色观看你的手牌,然后你观看其手牌并可以弃置其中一张牌。',
|
zyshangyi_info:'出牌阶段限一次。你可以令一名其他角色观看你的手牌,然后你观看其手牌并可以弃置其中一张牌。',
|
||||||
zymingshi:'名士',
|
zymingshi:'名士',
|
||||||
zymingshi_info:'锁定技。若你的防具栏为空且未废除,属性【杀】对你无效。',
|
zymingshi_info:'锁定技。若你有空置的防具栏,属性【杀】对你无效。',
|
||||||
gzsuishi:'随势',
|
gzsuishi:'随势',
|
||||||
gzsuishi2:'随势',
|
gzsuishi2:'随势',
|
||||||
gzsuishi_info:'锁定技,其他角色进入濒死状态时,若伤害来源与你势力相同,你摸一张牌;其他角色死亡时,若其与你势力相同,你失去1点体力。',
|
gzsuishi_info:'锁定技,其他角色进入濒死状态时,若伤害来源与你势力相同,你摸一张牌;其他角色死亡时,若其与你势力相同,你失去1点体力。',
|
||||||
|
|
|
@ -740,7 +740,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
old_fuyin:{
|
old_fuyin:{
|
||||||
mod:{
|
mod:{
|
||||||
targetEnabled:function(card,player,target){
|
targetEnabled:function(card,player,target){
|
||||||
if((card.name=='juedou'||card.name=='sha'||card.name=='huogong')&&player!=target&&player.countCards('h')>=target.countCards('h')&&target.isEmpty(2)) return false;
|
if((card.name=='juedou'||card.name=='sha'||card.name=='huogong')&&player!=target&&player.countCards('h')>=target.countCards('h')&&target.hasEmptySlot(2)) return false;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -3057,7 +3057,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(get.sgn(get.value(es[i],current))!=-att||get.value(es[i],current)<5) return false;
|
if(get.sgn(get.value(es[i],current))!=-att||get.value(es[i],current)<5) return false;
|
||||||
var att2=get.sgn(get.attitude(player,current2));
|
var att2=get.sgn(get.attitude(player,current2));
|
||||||
if(att==att2||att2!=get.sgn(get.effect(current2,es[i],player,current2))) return false;
|
if(att==att2||att2!=get.sgn(get.effect(current2,es[i],player,current2))) return false;
|
||||||
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
return current!=current2&&!current2.isMin()&¤t2.canEquip(es[i]);
|
||||||
})){
|
})){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -5083,7 +5083,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(!target.getHistory('sourceDamage').length){
|
if(!target.getHistory('sourceDamage').length){
|
||||||
var cards=target.getCards('e');
|
var cards=target.getCards('e');
|
||||||
for(var i of cards){
|
for(var i of cards){
|
||||||
if(player.isEmpty(get.subtype(i))) return true;
|
if(player.canEquip(i)) return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return target.getHistory('useCard',function(evt){
|
return target.getHistory('useCard',function(evt){
|
||||||
|
@ -5102,7 +5102,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(!target.getHistory('sourceDamage').length){
|
if(!target.getHistory('sourceDamage').length){
|
||||||
var cards=target.getCards('e');
|
var cards=target.getCards('e');
|
||||||
for(var i of cards){
|
for(var i of cards){
|
||||||
if(player.isEmpty(get.subtype(i))) list.push(i);
|
if(player.canEquip(i)) list.push(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(list.length){
|
if(list.length){
|
||||||
|
@ -6735,7 +6735,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
});
|
});
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(game.hasPlayer(function(current2){
|
if(game.hasPlayer(function(current2){
|
||||||
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
return current!=current2&&!current2.isMin()&¤t2.canEquip(es[i]);
|
||||||
})){
|
})){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -6761,7 +6761,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return !_status.event.cards.contains(card);
|
return !_status.event.cards.contains(card);
|
||||||
});
|
});
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(target.isEmpty(get.subtype(es[i]))) return true;
|
if(target.canEquip(es[i])) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -6779,7 +6779,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(target==player&&player.hasSkill('decadexuanfeng')){
|
if(target==player&&player.hasSkill('decadexuanfeng')){
|
||||||
if(player.countCards('e',function(card){
|
if(player.countCards('e',function(card){
|
||||||
return !_status.event.cards.contains(card)&&game.hasPlayer(function(current){
|
return !_status.event.cards.contains(card)&&game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(get.subtype(card))&&get.effect(current,card,player,player)<0;
|
return current!=target&¤t.canEquip(card)&&get.effect(current,card,player,player)<0;
|
||||||
});
|
});
|
||||||
})>0) return 18;
|
})>0) return 18;
|
||||||
return 7;
|
return 7;
|
||||||
|
@ -6787,7 +6787,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
else if(att>0){
|
else if(att>0){
|
||||||
if(target.countCards('e',function(card){
|
if(target.countCards('e',function(card){
|
||||||
return get.value(card,target)<0&&!_status.event.cards.contains(card)&&game.hasPlayer(function(current){
|
return get.value(card,target)<0&&!_status.event.cards.contains(card)&&game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(get.subtype(card))&&get.effect(current,card,player,player)<0;
|
return current!=target&¤t.canEquip(card)&&get.effect(current,card,player,player)<0;
|
||||||
});
|
});
|
||||||
})>0) return 9;
|
})>0) return 9;
|
||||||
}
|
}
|
||||||
|
@ -6798,7 +6798,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return !_status.event.cards.contains(card);
|
return !_status.event.cards.contains(card);
|
||||||
});
|
});
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(get.value(es[i],target)>0&¤t.isEmpty(get.subtype(es[i]))&&get.effect(current,es[i],player,current)>0) return true;
|
if(get.value(es[i],target)>0&¤t.canEquip(card)&&get.effect(current,es[i],player,current)>0) return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})){
|
})){
|
||||||
|
@ -6818,7 +6818,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return get.attitude(player,current)<0&¤t.countDiscardableCards(player,'he')>0&&get.damageEffect(current,player,player)>0;
|
return get.attitude(player,current)<0&¤t.countDiscardableCards(player,'he')>0&&get.damageEffect(current,player,player)>0;
|
||||||
});
|
});
|
||||||
if(bool&&player.countCards('e',function(card){
|
if(bool&&player.countCards('e',function(card){
|
||||||
return !_status.event.cards.contains(card)&&target.isEmpty(get.subtype(card))&&get.effect(target,card,player,player)>0;
|
return !_status.event.cards.contains(card)&&target.canEquip(card)&&get.effect(target,card,player,player)>0;
|
||||||
})) return 2.5*Math.abs(att);
|
})) return 2.5*Math.abs(att);
|
||||||
else if(bool) return 1/Math.max(1,Math.abs(att));
|
else if(bool) return 1/Math.max(1,Math.abs(att));
|
||||||
else return get.damageEffect(target,player,player);
|
else return get.damageEffect(target,player,player);
|
||||||
|
@ -6826,7 +6826,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
||||||
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
||||||
get.sgn(get.effect(target,es[i],player,target))==sgnatt&&
|
get.sgn(get.effect(target,es[i],player,target))==sgnatt&&
|
||||||
target.isEmpty(get.subtype(es[i]))){
|
target.canEquip(es[i])){
|
||||||
return Math.abs(att);
|
return Math.abs(att);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6865,7 +6865,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},targets[0]).set('nojudge',event.nojudge||false).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
},targets[0]).set('nojudge',event.nojudge||false).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
||||||
if(_status.event.cards.contains(button.link)) return false;
|
if(_status.event.cards.contains(button.link)) return false;
|
||||||
var targets1=_status.event.targets1;
|
var targets1=_status.event.targets1;
|
||||||
return targets1.isEmpty(get.subtype(button.link));
|
return targets1.canEquip(button.link);
|
||||||
}).set('cards',cards);
|
}).set('cards',cards);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -6900,7 +6900,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
};
|
};
|
||||||
for(var i=0;i<friends.length;i++){
|
for(var i=0;i<friends.length;i++){
|
||||||
for(var j=1;j<=5;j++){
|
for(var j=1;j<=5;j++){
|
||||||
if(friends[i].isEmpty(j)){
|
if(friends[i].hasEmptySlot(j)){
|
||||||
vacancies['equip'+j]++;
|
vacancies['equip'+j]++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7566,7 +7566,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
else{
|
else{
|
||||||
var filterTarget=function(card,player,target){
|
var filterTarget=function(card,player,target){
|
||||||
return target!=player&&target.countCards('e',function(card){
|
return target!=player&&target.countCards('e',function(card){
|
||||||
return player.isEmpty(get.subtype(card));
|
return player.canEquip(card);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if(game.hasPlayer(function(current){
|
if(game.hasPlayer(function(current){
|
||||||
|
@ -7577,7 +7577,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(att>0&&!target.hasSkillTag('noe')) return 0;
|
if(att>0&&!target.hasSkillTag('noe')) return 0;
|
||||||
var num=0;
|
var num=0;
|
||||||
target.countCards('e',function(card){
|
target.countCards('e',function(card){
|
||||||
if(player.isEmpty(get.subtype(card))){
|
if(player.canEquip(card)){
|
||||||
var eff=get.effect(player,card,player,player);
|
var eff=get.effect(player,card,player,player);
|
||||||
if(eff>num) num=eff;
|
if(eff>num) num=eff;
|
||||||
}
|
}
|
||||||
|
@ -7594,7 +7594,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.target=target;
|
event.target=target;
|
||||||
player.logSkill('rezishou',target);
|
player.logSkill('rezishou',target);
|
||||||
player.choosePlayerCard(target,'e','将一张装备牌移至你的装备区').set('filterButton',function(button){
|
player.choosePlayerCard(target,'e','将一张装备牌移至你的装备区').set('filterButton',function(button){
|
||||||
return _status.event.player.isEmpty(get.subtype(button.link));
|
return _status.event.player.canEquip(button.link);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else event.finish();
|
else event.finish();
|
||||||
|
@ -8325,7 +8325,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(target.isMin()) return false;
|
if(target.isMin()) return false;
|
||||||
var es=from.getCards('e');
|
var es=from.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(target.isEmpty(get.subtype(es[i]))) return true;
|
if(target.canEquip(es[i])) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -8341,7 +8341,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(att>0){
|
if(att>0){
|
||||||
if(target.countCards('e',function(card){
|
if(target.countCards('e',function(card){
|
||||||
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
||||||
return current!=player&¤t!=target&&get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))&&get.effect(current,card,player,player)>0;
|
return current!=player&¤t!=target&&get.attitude(player,current)<0&¤t.canEquip(card)&&get.effect(current,card,player,player)>0;
|
||||||
});
|
});
|
||||||
})>0) return 9;
|
})>0) return 9;
|
||||||
}
|
}
|
||||||
|
@ -8350,7 +8350,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(current!=target&¤t!=player&&get.attitude(player,current)>0){
|
if(current!=target&¤t!=player&&get.attitude(player,current)>0){
|
||||||
var es=target.getCards('e');
|
var es=target.getCards('e');
|
||||||
for(var i=0;i<es.length;i++){
|
for(var i=0;i<es.length;i++){
|
||||||
if(get.value(es[i],target)>0&¤t.isEmpty(get.subtype(es[i]))&&get.effect(current,es[i],player,player)>0) return true;
|
if(get.value(es[i],target)>0&¤t.canEquip(es[i])&&get.effect(current,es[i],player,player)>0) return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})){
|
})){
|
||||||
|
@ -8366,7 +8366,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
if(sgnatt!=0&&att2!=0&&sgnatt!=att2&&
|
||||||
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
||||||
get.sgn(get.value(es[i],target))==sgnatt&&
|
get.sgn(get.value(es[i],target))==sgnatt&&
|
||||||
target.isEmpty(get.subtype(es[i]))){
|
target.canEquip(es[i])){
|
||||||
return Math.abs(att);
|
return Math.abs(att);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8404,7 +8404,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},targets[0]).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
},targets[0]).set('targets0',targets[0]).set('targets1',targets[1]).set('filterButton',function(button){
|
||||||
var targets1=_status.event.targets1;
|
var targets1=_status.event.targets1;
|
||||||
return targets1.isEmpty(get.subtype(button.link));
|
return targets1.canEquip(button.link);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
@ -8433,7 +8433,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var att2=get.sgn(get.attitude(player,current2));
|
var att2=get.sgn(get.attitude(player,current2));
|
||||||
if(att==att2||att2!=get.sgn(get.value(es[i],current2))) return false;
|
if(att==att2||att2!=get.sgn(get.value(es[i],current2))) return false;
|
||||||
}
|
}
|
||||||
return current!=current2&&!current2.isMin()&¤t2.isEmpty(get.subtype(es[i]));
|
return current!=current2&&!current2.isMin()&¤t2.canEquip(es[i]);
|
||||||
})){
|
})){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -11709,7 +11709,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(!target.hasSex('male')) return false;
|
if(!target.hasSex('male')) return false;
|
||||||
var card=ui.selected.cards[0];
|
var card=ui.selected.cards[0];
|
||||||
if(!card) return false;
|
if(!card) return false;
|
||||||
if(get.position(card)=='e'&&!target.isEmpty(get.subtype(card))) return false;
|
if(get.position(card)=='e'&&!target.canEquip(card)) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
discard:false,
|
discard:false,
|
||||||
|
@ -11718,7 +11718,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
if(get.position(cards[0])=='e') event._result={index:0};
|
if(get.position(cards[0])=='e') event._result={index:0};
|
||||||
else if(get.type(cards[0])!='equip'||!target.isEmpty(get.subtype(cards[0]))) event._result={index:1};
|
else if(get.type(cards[0])!='equip'||!target.canEquip(cards[0])) event._result={index:1};
|
||||||
else player.chooseControl().set('choiceList',[
|
else player.chooseControl().set('choiceList',[
|
||||||
'将'+get.translation(cards[0])+'置入'+get.translation(target)+'的装备区',
|
'将'+get.translation(cards[0])+'置入'+get.translation(target)+'的装备区',
|
||||||
'弃置'+get.translation(cards[0]),
|
'弃置'+get.translation(cards[0]),
|
||||||
|
|
|
@ -3976,8 +3976,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
if(target.isMin()) return false;
|
if(target.isMin()) return false;
|
||||||
var type=get.subtype(card);
|
return player!=target&&target.canEquip(card);
|
||||||
return player!=target&&target.isEmpty(type);
|
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
target.equip(cards[0]);
|
target.equip(cards[0]);
|
||||||
|
@ -5418,7 +5417,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
inherit:'bagua_skill',
|
inherit:'bagua_skill',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!lib.skill.bagua_skill.filter(event,player)) return false;
|
if(!lib.skill.bagua_skill.filter(event,player)) return false;
|
||||||
if(!player.isEmpty(2)) return false;
|
if(!player.hasEmptySlot(2)) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -5428,7 +5427,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(player==target&&get.subtype(card)=='equip2'){
|
if(player==target&&get.subtype(card)=='equip2'){
|
||||||
if(get.equipValue(card)<=7.5) return 0;
|
if(get.equipValue(card)<=7.5) return 0;
|
||||||
}
|
}
|
||||||
if(!target.isEmpty(2)) return;
|
if(!target.hasEmptySlot(2)) return;
|
||||||
return lib.skill.bagua_skill.ai.effect.target.apply(this,arguments);
|
return lib.skill.bagua_skill.ai.effect.target.apply(this,arguments);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
game.import('character',function(lib,game,ui,get,ai,_status){
|
game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return {
|
return {
|
||||||
name:'shiji',
|
name:'shiji',
|
||||||
|
@ -402,21 +403,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(att>0){
|
if(att>0){
|
||||||
if(target.hasCard(function(card){
|
if(target.hasCard(function(card){
|
||||||
if(get.value(card,target)<=0&&game.hasPlayer(function(current){
|
if(get.value(card,target)<=0&&game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(get.subtype(card,false))&&get.effect(current,card,player,player)>0;
|
return current!=target&¤t.canEquip(card,false)&&get.effect(current,card,player,player)>0;
|
||||||
})) return true;
|
})) return true;
|
||||||
return false;
|
return false;
|
||||||
},'e')) return 2*att;
|
},'e')) return 2*att;
|
||||||
if(!target.hasCard(function(card){
|
if(!target.hasCard(function(card){
|
||||||
var sub=get.subtype(card,false);
|
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(sub);
|
return current!=target&¤t.canEquip(card);
|
||||||
})
|
})
|
||||||
},'e')) return 1;
|
},'e')) return 1;
|
||||||
}
|
}
|
||||||
else if(att<0){
|
else if(att<0){
|
||||||
if(target.hasCard(function(card){
|
if(target.hasCard(function(card){
|
||||||
if(get.value(card,target)>=4.5&&game.hasPlayer(function(current){
|
if(get.value(card,target)>=4.5&&game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(get.subtype(card,false))&&get.effect(current,card,player,player)>0;
|
return current!=target&¤t.canEquip(card)&&get.effect(current,card,player,player)>0;
|
||||||
})) return true;
|
})) return true;
|
||||||
return false;
|
return false;
|
||||||
},'e')) return -att;
|
},'e')) return -att;
|
||||||
|
@ -433,9 +433,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
else event.finish();
|
else event.finish();
|
||||||
'step 2'
|
'step 2'
|
||||||
var es=target.getCards('e',function(card){
|
var es=target.getCards('e',function(card){
|
||||||
var sub=get.subtype(card,false);
|
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(sub);
|
return current!=target&¤t.canEquip(card);
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
if(es.length){
|
if(es.length){
|
||||||
|
@ -443,7 +442,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
else player.chooseButton(['移动'+get.translation(target)+'的一张装备牌',es],true).set('ai',function(button){
|
else player.chooseButton(['移动'+get.translation(target)+'的一张装备牌',es],true).set('ai',function(button){
|
||||||
var player=_status.event.player,target=_status.event.getParent().target,card=button.link;
|
var player=_status.event.player,target=_status.event.getParent().target,card=button.link;
|
||||||
if(game.hasPlayer(function(current){
|
if(game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(get.subtype(card,false))&&get.effect(current,card,player,player)>0;
|
return current!=target&¤t.canEquip(card)&&get.effect(current,card,player,player)>0;
|
||||||
})) return -get.value(card,target)*get.attitude(player,target);
|
})) return -get.value(card,target)*get.attitude(player,target);
|
||||||
return 0;
|
return 0;
|
||||||
});
|
});
|
||||||
|
@ -453,8 +452,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
event.card=result.links[0];
|
event.card=result.links[0];
|
||||||
player.chooseTarget(true,'选择'+get.translation(event.card)+'的移动目标',function(card,player,target){
|
player.chooseTarget(true,'选择'+get.translation(event.card)+'的移动目标',function(card,player,target){
|
||||||
return target.isEmpty(_status.event.subtype);
|
return target.canEquip(_status.event.card);
|
||||||
}).set('subtype',get.subtype(event.card)).set('ai',function(target){
|
}).set('card',event.card).set('ai',function(target){
|
||||||
var evt=_status.event;
|
var evt=_status.event;
|
||||||
return get.effect(target,evt.getParent().card,evt.player,evt.player);
|
return get.effect(target,evt.getParent().card,evt.player,evt.player);
|
||||||
});
|
});
|
||||||
|
@ -1999,15 +1998,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(event.player!=player.storage.chuhai2) return false;
|
if(event.player!=player.storage.chuhai2) return false;
|
||||||
for(var i=1;i<6;i++){
|
for(var i=1;i<6;i++){
|
||||||
if(player.isEmpty(i)) return true;
|
if(player.hasEmptySlot(i)) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
for(var i=1;i<7;i++){
|
for(var i=1;i<7;i++){
|
||||||
if(player.isEmpty(i)){
|
if(player.hasEmptySlot(i)){
|
||||||
var sub='equip'+i,card=get.cardPile(function(card){
|
var sub='equip'+i,card=get.cardPile(function(card){
|
||||||
return get.subtype(card,false)==sub&&!get.cardtag(card,'gifts');
|
return get.subtype(card,false)==sub&&!get.cardtag(card,'gifts')&&player.canEquip(card);
|
||||||
});
|
});
|
||||||
if(card){
|
if(card){
|
||||||
player.$gain2(card);
|
player.$gain2(card);
|
||||||
|
@ -2994,16 +2993,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
for(var i=1;i<6;i++){
|
for(var i=1;i<6;i++){
|
||||||
if(target.isEmpty(i)) return true;
|
if(target.hasEmptySlot(i)) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
event.num=0;
|
event.num=1;
|
||||||
player.awakenSkill('rongbei');
|
player.awakenSkill('rongbei');
|
||||||
'step 1'
|
'step 1'
|
||||||
while(!target.isEmpty(event.num)){
|
while(!target.hasEmptySlot(event.num)){
|
||||||
event.num++;
|
event.num++;
|
||||||
if(event.num>5){
|
if(event.num>5){
|
||||||
event.finish();
|
event.finish();
|
||||||
|
@ -4602,7 +4601,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
audio:'muzhen',
|
audio:'muzhen',
|
||||||
filterTarget:[
|
filterTarget:[
|
||||||
function(card,player,target){
|
function(card,player,target){
|
||||||
return target.countCards('h')>0&&target.isEmpty(ui.selected.cards[0]);
|
return target.countCards('h')>0&&target.canEquip(ui.selected.cards[0]);
|
||||||
},
|
},
|
||||||
function(card,player,target){
|
function(card,player,target){
|
||||||
return target.countCards('e')>0;
|
return target.countCards('e')>0;
|
||||||
|
@ -4610,9 +4609,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
][links[0]],
|
][links[0]],
|
||||||
filterCard:[
|
filterCard:[
|
||||||
function(card,player){
|
function(card,player){
|
||||||
if(ui.selected.targets.length) return ui.selected.targets[0].isEmpty(card);
|
if(ui.selected.targets.length) return ui.selected.targets[0].canEquip(card);
|
||||||
return game.hasPlayer(function(current){
|
return game.hasPlayer(function(current){
|
||||||
return current.countCards('h')>0&¤t.isEmpty(card);
|
return current.countCards('h')>0&¤t.canEquip(card);
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
true,
|
true,
|
||||||
|
|
|
@ -5901,16 +5901,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return !event.numFixed&&event.num>0;
|
return !event.numFixed&&event.num>0;
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
if(player.isEmpty(2)||player.isEmpty(5)||player.isEmpty(1)) return true;
|
if(player.hasEmptySlot(2)||player.hasEmptySlot(5)||player.hasEmptySlot(1)) return true;
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
prompt2:'摸牌阶段开始时,你可以少摸一张牌并声明一种装备牌的副类别,然后从牌堆或弃牌堆中获得一张该副类别的牌。',
|
prompt2:'摸牌阶段开始时,你可以少摸一张牌并声明一种装备牌的副类别,然后从牌堆或弃牌堆中获得一张该副类别的牌。',
|
||||||
content:function(){
|
content:function(){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.chooseControl('equip1','equip2','equip6','equip5').set('prompt','选择获得一种副类别的装备牌').set('ai',function(card){
|
player.chooseControl('equip1','equip2','equip6','equip5').set('prompt','选择获得一种副类别的装备牌').set('ai',function(card){
|
||||||
if(player.isEmpty(2)) return 'equip2';
|
if(player.hasEmptySlot(2)) return 'equip2';
|
||||||
if(player.isEmpty(5)) return 'equip5';
|
if(player.hasEmptySlot(5)) return 'equip5';
|
||||||
if(player.isEmpty(1)) return 'equip1';
|
if(player.hasEmptySlot(1)) return 'equip1';
|
||||||
return 'equip6';
|
return 'equip6';
|
||||||
});
|
});
|
||||||
'step 1'
|
'step 1'
|
||||||
|
@ -7818,7 +7818,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{global:'phaseBegin'},
|
trigger:{global:'phaseBegin'},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return event.player.isIn()&&event.player.isEmpty(5)&&player.hasCard(lib.skill.zhuangshu.filterCard,'he');
|
return event.player.isIn()&&event.player.hasEmptySlot(5)&&player.hasCard(lib.skill.zhuangshu.filterCard,'he');
|
||||||
},
|
},
|
||||||
filterCard:function(card){
|
filterCard:function(card){
|
||||||
if(_status.connectMode) return true;
|
if(_status.connectMode) return true;
|
||||||
|
@ -7842,7 +7842,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
var name='zhuangshu_'+get.type2(result.cards[0],result.cards[0].original=='h'?player:false);
|
var name='zhuangshu_'+get.type2(result.cards[0],result.cards[0].original=='h'?player:false);
|
||||||
if(lib.card[name]&&trigger.player.isIn&&trigger.player.isEmpty(5)){
|
if(lib.card[name]&&trigger.player.isIn&&trigger.player.hasEmptySlot(5)){
|
||||||
var target=game.findPlayer(function(current){
|
var target=game.findPlayer(function(current){
|
||||||
var equip=current.getEquip(5);
|
var equip=current.getEquip(5);
|
||||||
return equip&&equip.name==name;
|
return equip&&equip.name==name;
|
||||||
|
@ -11880,7 +11880,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
var player=_status.event.player;
|
var player=_status.event.player;
|
||||||
var att=get.attitude(player,target)
|
var att=get.attitude(player,target)
|
||||||
if(target.getEquip(2)&&player.isEmpty(2)){
|
if(target.getEquip(2)&&player.hasEmptySlot(2)){
|
||||||
return -2*att;
|
return -2*att;
|
||||||
}
|
}
|
||||||
return -att;
|
return -att;
|
||||||
|
@ -16154,7 +16154,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
inherit:'bagua_skill',
|
inherit:'bagua_skill',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!lib.skill.bagua_skill.filter(event,player)) return false;
|
if(!lib.skill.bagua_skill.filter(event,player)) return false;
|
||||||
if(!player.isEmpty(2)) return false;
|
if(!player.hasEmptySlot(2)) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
@ -20901,7 +20901,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
position:'he',
|
position:'he',
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target.isEmpty(get.subtype(card));
|
return target.canEquip(card);
|
||||||
},
|
},
|
||||||
ai1:function(card){
|
ai1:function(card){
|
||||||
return 6-get.value(card);
|
return 6-get.value(card);
|
||||||
|
@ -21160,7 +21160,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 1"
|
"step 1"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
event.card=result.links[0];
|
event.card=result.links[0];
|
||||||
if(player.isEmpty(get.subtype(event.card))){
|
if(player.canEquip(event.card)){
|
||||||
player.chooseBool('是否将'+get.translation(event.card)+'置入自己的装备区?').ai=function(){
|
player.chooseBool('是否将'+get.translation(event.card)+'置入自己的装备区?').ai=function(){
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
@ -21870,7 +21870,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
//priority:15,
|
//priority:15,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(player.hasSkill('smh_huoji')||player.hasSkill('smh_lianhuan')) return false;
|
if(player.hasSkill('smh_huoji')||player.hasSkill('smh_lianhuan')) return false;
|
||||||
if(!player.isEmpty(2)) return false;
|
if(!player.hasEmptySlot(2)) return false;
|
||||||
if(event.nature) return true;
|
if(event.nature) return true;
|
||||||
return get.type(event.card,'trick')=='trick';
|
return get.type(event.card,'trick')=='trick';
|
||||||
},
|
},
|
||||||
|
@ -21887,7 +21887,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(player==target&&get.subtype(card)=='equip2'){
|
if(player==target&&get.subtype(card)=='equip2'){
|
||||||
if(get.equipValue(card)<=8) return 0;
|
if(get.equipValue(card)<=8) return 0;
|
||||||
}
|
}
|
||||||
if(!target.isEmpty(2)) return;
|
if(!target.hasEmptySlot(2)) return;
|
||||||
if(get.tag(card,'natureDamage')) return 'zerotarget';
|
if(get.tag(card,'natureDamage')) return 'zerotarget';
|
||||||
if(get.type(card)=='trick'&&get.tag(card,'damage')){
|
if(get.type(card)=='trick'&&get.tag(card,'damage')){
|
||||||
return 'zeroplayertarget';
|
return 'zeroplayertarget';
|
||||||
|
|
|
@ -1139,7 +1139,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.num=target.countCards('e');
|
event.num=target.countCards('e');
|
||||||
var subtypes=[];
|
var subtypes=[];
|
||||||
for(var i=1;i<7;i++){
|
for(var i=1;i<7;i++){
|
||||||
if(target.isEmpty(i)) subtypes.push('equip'+i);
|
if(target.hasEmptySlot(i)) subtypes.push('equip'+i);
|
||||||
}
|
}
|
||||||
if(subtypes.length){
|
if(subtypes.length){
|
||||||
subtypes.randomSort();
|
subtypes.randomSort();
|
||||||
|
@ -5890,7 +5890,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
check:function(event,player){
|
check:function(event,player){
|
||||||
for(var i=5;i>0;i--){
|
for(var i=5;i>0;i--){
|
||||||
if(player.isEmpty(i)) return ('equip'+i);
|
if(player.hasEmptySlot(i)) return ('equip'+i);
|
||||||
}
|
}
|
||||||
return 'cancel2';
|
return 'cancel2';
|
||||||
},
|
},
|
||||||
|
@ -8986,7 +8986,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
for(var i=0;i<event.toequip.length;i++){
|
for(var i=0;i<event.toequip.length;i++){
|
||||||
if(get.type(card)=='equip'&&get.subtype(card)==get.subtype(event.toequip[i])) bool1=false;
|
if(get.type(card)=='equip'&&get.subtype(card)==get.subtype(event.toequip[i])) bool1=false;
|
||||||
}
|
}
|
||||||
return (get.type(card)=='equip'&&!event.toequip.contains(card)&&target.isEmpty(get.subtype(card))&&bool1);
|
return (get.type(card)=='equip'&&!event.toequip.contains(card)&&target.hasEmptySlot(card)&&bool1);
|
||||||
});
|
});
|
||||||
if(equip) event.toequip.push(equip);
|
if(equip) event.toequip.push(equip);
|
||||||
else event.num=0;
|
else event.num=0;
|
||||||
|
|
|
@ -8483,7 +8483,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
usable:1,
|
usable:1,
|
||||||
content:function(){
|
content:function(){
|
||||||
var card=get.cardPile(function(card){
|
var card=get.cardPile(function(card){
|
||||||
return get.type(card)=='equip'&&player.isEmpty(get.subtype(card));
|
return get.type(card)=='equip'&&player.canEquip(card);
|
||||||
});
|
});
|
||||||
if(card){
|
if(card){
|
||||||
player.$gain2(card);
|
player.$gain2(card);
|
||||||
|
@ -9013,12 +9013,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var val=get.value(i);
|
var val=get.value(i);
|
||||||
if(att>0){
|
if(att>0){
|
||||||
if(val<=Math.min(0,equip)&&game.hasPlayer(function(current){
|
if(val<=Math.min(0,equip)&&game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(get.subtype(i))&&get.effect(current,i,player,player)>0;
|
return current!=target&¤t.canEquip(i)&&get.effect(current,i,player,player)>0;
|
||||||
})) equip=val;
|
})) equip=val;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(val>Math.max(0,equip)&&game.hasPlayer(function(current){
|
if(val>Math.max(0,equip)&&game.hasPlayer(function(current){
|
||||||
return current!=target&¤t.isEmpty(get.subtype(i))&&get.effect(current,i,player,player)>0;
|
return current!=target&¤t.canEquip(i)&&get.effect(current,i,player,player)>0;
|
||||||
})) equip=val;
|
})) equip=val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9121,7 +9121,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return targets1.canAddJudge(button.link);
|
return targets1.canAddJudge(button.link);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return targets1.isEmpty(get.subtype(button.link));
|
return targets1.canEquip(button.link);
|
||||||
}
|
}
|
||||||
}).set('ai',function(button){
|
}).set('ai',function(button){
|
||||||
var player=_status.event.player,target=_status.event.targets1,source=_status.event.targets0;
|
var player=_status.event.player,target=_status.event.targets1,source=_status.event.targets0;
|
||||||
|
@ -11538,7 +11538,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
filterCard:{type:'equip'},
|
filterCard:{type:'equip'},
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
var card=ui.selected.cards[0];
|
var card=ui.selected.cards[0];
|
||||||
return target.isEmpty(get.subtype(card));
|
return target.canEquip(card);
|
||||||
},
|
},
|
||||||
discard:false,
|
discard:false,
|
||||||
lose:false,
|
lose:false,
|
||||||
|
|
|
@ -8645,7 +8645,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
event.num=1;
|
event.num=1;
|
||||||
'step 1'
|
'step 1'
|
||||||
var type='equip'+num;
|
var type='equip'+num;
|
||||||
if(!player.isEmpty(type)) return;
|
if(!player.hasEmptySlot(type)) return;
|
||||||
var card=get.cardPile2(function(card){
|
var card=get.cardPile2(function(card){
|
||||||
return get.subtype(card,false)==type&&player.canUse(card,player);
|
return get.subtype(card,false)==type&&player.canUse(card,player);
|
||||||
});
|
});
|
||||||
|
|
|
@ -10835,7 +10835,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"step 0"
|
"step 0"
|
||||||
var next;
|
var next;
|
||||||
if(trigger.player.hasCard(function(card){
|
if(trigger.player.hasCard(function(card){
|
||||||
return player.isEmpty(get.subtype(card));
|
return player.canEquip(card);
|
||||||
},'e')){
|
},'e')){
|
||||||
next=player.chooseControl('移动装备','draw_card','cancel2',function(event,player){
|
next=player.chooseControl('移动装备','draw_card','cancel2',function(event,player){
|
||||||
var source=_status.event.sourcex;
|
var source=_status.event.sourcex;
|
||||||
|
@ -10865,7 +10865,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
if(result.control=='移动装备'){
|
if(result.control=='移动装备'){
|
||||||
player.logSkill('qieting',trigger.player);
|
player.logSkill('qieting',trigger.player);
|
||||||
player.choosePlayerCard(trigger.player,'e','将一张装备牌移至你的装备区',true).set('filterButton',function(button){
|
player.choosePlayerCard(trigger.player,'e','将一张装备牌移至你的装备区',true).set('filterButton',function(button){
|
||||||
return _status.event.player.isEmpty(get.subtype(button.link));
|
return _status.event.player.canEquip(button.link);
|
||||||
}).set('ai',function(button){
|
}).set('ai',function(button){
|
||||||
return get.effect(player,button.link,player,player);
|
return get.effect(player,button.link,player,player);
|
||||||
});
|
});
|
||||||
|
|
40
game/game.js
40
game/game.js
|
@ -10761,7 +10761,7 @@
|
||||||
if(!event.slots.length) return;
|
if(!event.slots.length) return;
|
||||||
var slotsx=[...new Set(event.slots)].sort();
|
var slotsx=[...new Set(event.slots)].sort();
|
||||||
for(var slot of slotsx){
|
for(var slot of slotsx){
|
||||||
var lost=player.countDisabled(slot),gain=Math.min(lost,get.numOf(event.slots,slot));
|
var lost=player.countDisabledSlot(slot),gain=Math.min(lost,get.numOf(event.slots,slot));
|
||||||
if(lost<=0) continue;
|
if(lost<=0) continue;
|
||||||
else{
|
else{
|
||||||
game.log(player,'恢复了'+get.cnNumber(gain)+'个','#g'+get.translation(slot)+'栏');
|
game.log(player,'恢复了'+get.cnNumber(gain)+'个','#g'+get.translation(slot)+'栏');
|
||||||
|
@ -11827,7 +11827,7 @@
|
||||||
'step 0'
|
'step 0'
|
||||||
var list=[];
|
var list=[];
|
||||||
for(var i=1;i<=5;i++){
|
for(var i=1;i<=5;i++){
|
||||||
if(player.hasDisabled(i)) list.push('equip'+i);
|
if(player.hasDisabledSlot(i)) list.push('equip'+i);
|
||||||
}
|
}
|
||||||
if(!list.length) event.finish();
|
if(!list.length) event.finish();
|
||||||
else if(list.length==1){
|
else if(list.length==1){
|
||||||
|
@ -18133,20 +18133,20 @@
|
||||||
//装备栏相关
|
//装备栏相关
|
||||||
//判断一名角色的某个区域是否被废除
|
//判断一名角色的某个区域是否被废除
|
||||||
//type为要判断的区域 若为空 则判断玩家是否有任意一个被废除的区域
|
//type为要判断的区域 若为空 则判断玩家是否有任意一个被废除的区域
|
||||||
hasDisabled:function(type){
|
hasDisabledSlot:function(type){
|
||||||
var player=this;
|
var player=this;
|
||||||
if(type=='horse') return player.hasDisabled(3)&&player.hasDisabled(4);
|
if(type=='horse') return player.hasDisabledSlot(3)&&player.hasDisabledSlot(4);
|
||||||
return player.countDisabled(type)>0;
|
return player.countDisabledSlot(type)>0;
|
||||||
},
|
},
|
||||||
//判断一名角色的某个区域被废除的数量
|
//判断一名角色的某个区域被废除的数量
|
||||||
//用法同上
|
//用法同上
|
||||||
countDisabled:function(type){
|
countDisabledSlot:function(type){
|
||||||
var player=this;
|
var player=this;
|
||||||
var map=(player.disabledSlots||{});
|
var map=(player.disabledSlots||{});
|
||||||
if(type==undefined){
|
if(type==undefined){
|
||||||
num=0;
|
num=0;
|
||||||
for(var i=1;i<=5;i++){
|
for(var i=1;i<=5;i++){
|
||||||
num+=player.countDisabled(i);
|
num+=player.countDisabledSlot(i);
|
||||||
}
|
}
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
@ -18157,11 +18157,28 @@
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
//判断一名角色是否有某个装备栏空着
|
||||||
|
hasEmptySlot:function(type){
|
||||||
|
var player=this;
|
||||||
|
if(type=='horse') return player.hasEmptySlot(3)&&player.hasEmptySlot(4);
|
||||||
|
return player.countEmptySlot(type)>0;
|
||||||
|
},
|
||||||
|
//判断一名角色的某个装备栏空位的数量
|
||||||
|
countEmptySlot:function(type){
|
||||||
|
if(!type) return 0;
|
||||||
|
var player=this;
|
||||||
|
if(typeof type=='number') type=('equip'+type);
|
||||||
|
return Math.max(0,player.countEnabledSlot(type)-player.getEquips(type).reduce(function(num,card){
|
||||||
|
var types=get.subtypes(card,false);
|
||||||
|
return num+get.numOf(types,type);
|
||||||
|
},0))
|
||||||
|
},
|
||||||
//判断一名角色是否有可以用于装备牌的区域(考虑金箍棒等“不可被替换装备”)
|
//判断一名角色是否有可以用于装备牌的区域(考虑金箍棒等“不可被替换装备”)
|
||||||
//用法同下
|
//用法同下
|
||||||
countEquipableSlot:function(type){
|
countEquipableSlot:function(type){
|
||||||
if(!type) return false;
|
if(!type) return 0;
|
||||||
var player=this;
|
var player=this;
|
||||||
|
if(typeof type=='number') type=('equip'+type);
|
||||||
return Math.max(0,player.countEnabledSlot(type)-player.getEquips(type).reduce(function(num,card){
|
return Math.max(0,player.countEnabledSlot(type)-player.getEquips(type).reduce(function(num,card){
|
||||||
var types=get.subtypes(card,false);
|
var types=get.subtypes(card,false);
|
||||||
if(!lib.filter.canBeReplaced(card,player)) num+=get.numOf(types,type);
|
if(!lib.filter.canBeReplaced(card,player)) num+=get.numOf(types,type);
|
||||||
|
@ -18192,7 +18209,7 @@
|
||||||
var slots=1;
|
var slots=1;
|
||||||
var num=map[type];
|
var num=map[type];
|
||||||
if(typeof num=='number'&&num>0) slots+=num;
|
if(typeof num=='number'&&num>0) slots+=num;
|
||||||
slots-=player.countDisabled(type);
|
slots-=player.countDisabledSlot(type);
|
||||||
return slots;
|
return slots;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -18396,8 +18413,11 @@
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
//以下函数将不再进行后续维护
|
//以下函数将不再进行后续维护
|
||||||
|
countDisabled:function(){
|
||||||
|
return this.countDisabledSlot.apply(this,arguments)
|
||||||
|
},
|
||||||
isDisabled:function(arg){
|
isDisabled:function(arg){
|
||||||
return this.hasDisabled(arg)&&!this.hasEnabledSlot(arg);
|
return this.hasDisabledSlot(arg)&&!this.hasEnabledSlot(arg);
|
||||||
},
|
},
|
||||||
isEmpty:function(num){
|
isEmpty:function(num){
|
||||||
return this.countEnabledSlot(num)>this.getEquips(num);
|
return this.countEnabledSlot(num)>this.getEquips(num);
|
||||||
|
|
|
@ -1890,7 +1890,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
event.num=1.5;
|
event.num=1.5;
|
||||||
'step 1'
|
'step 1'
|
||||||
var card=cards.shift();
|
var card=cards.shift();
|
||||||
if(player.isEmpty(get.subtype(card))&&Math.random()<event.num){
|
if(player.canEquip(card)&&Math.random()<event.num){
|
||||||
player.equip(card);
|
player.equip(card);
|
||||||
event.num=0.5;
|
event.num=0.5;
|
||||||
}
|
}
|
||||||
|
@ -2494,7 +2494,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
priority:-0.3,
|
priority:-0.3,
|
||||||
equipSkill:false,
|
equipSkill:false,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!player.isEmpty(2)) return false;
|
if(!player.hasEmptySlot(2)) return false;
|
||||||
return lib.skill.renwang_skill.filter.apply(this,arguments);
|
return lib.skill.renwang_skill.filter.apply(this,arguments);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -2615,7 +2615,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
priority:6,
|
priority:6,
|
||||||
audio:true,
|
audio:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!player.isEmpty('equip2')) return false;
|
if(!player.hasEmptySlot('equip2')) return false;
|
||||||
if(event.card.name=='nanman') return true;
|
if(event.card.name=='nanman') return true;
|
||||||
if(event.card.name=='wanjian') return true;
|
if(event.card.name=='wanjian') return true;
|
||||||
return event.card.name=='sha'&&!get.nature(event.card);
|
return event.card.name=='sha'&&!get.nature(event.card);
|
||||||
|
@ -2626,7 +2626,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
ai:{
|
ai:{
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target,current){
|
target:function(card,player,target,current){
|
||||||
if(!target.isEmpty('equip2')) return;
|
if(!target.hasEmptySlot('equip2')) return;
|
||||||
if(card.name=='nanman'||card.name=='wanjian') return 'zerotarget';
|
if(card.name=='nanman'||card.name=='wanjian') return 'zerotarget';
|
||||||
if(card.name=='sha'){
|
if(card.name=='sha'){
|
||||||
var equip1=player.getEquip(1);
|
var equip1=player.getEquip(1);
|
||||||
|
|
|
@ -966,7 +966,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
equipSkill:true,
|
equipSkill:true,
|
||||||
mod:{
|
mod:{
|
||||||
maxHandcard:function(player,num){
|
maxHandcard:function(player,num){
|
||||||
if(!player.isEmpty(2)) return;
|
if(!player.hasEmptySlot(2)) return;
|
||||||
if(player.hasSkill('huangjintianbingfu')){
|
if(player.hasSkill('huangjintianbingfu')){
|
||||||
num+=player.getExpansions('huangjintianbingfu').length;
|
num+=player.getExpansions('huangjintianbingfu').length;
|
||||||
}
|
}
|
||||||
|
@ -978,14 +978,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
audio:'tianshu',
|
audio:'tianshu',
|
||||||
inherit:'taipingyaoshu',
|
inherit:'taipingyaoshu',
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(!player.isEmpty(2)) return false;
|
if(!player.hasEmptySlot(2)) return false;
|
||||||
return lib.skill.taipingyaoshu.filter(event,player);
|
return lib.skill.taipingyaoshu.filter(event,player);
|
||||||
},
|
},
|
||||||
noHidden:true,
|
noHidden:true,
|
||||||
ai:{
|
ai:{
|
||||||
effect:{
|
effect:{
|
||||||
target:function(card,player,target){
|
target:function(card,player,target){
|
||||||
if(!target.isEmpty(2)) return;
|
if(!target.hasEmptySlot(2)) return;
|
||||||
if(player==target&&get.subtype(card)=='equip2'){
|
if(player==target&&get.subtype(card)=='equip2'){
|
||||||
if(get.equipValue(card)<=7.5) return 0;
|
if(get.equipValue(card)<=7.5) return 0;
|
||||||
}
|
}
|
||||||
|
@ -11987,7 +11987,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
if(player==target) return false;
|
if(player==target) return false;
|
||||||
var card=ui.selected.cards[0];
|
var card=ui.selected.cards[0];
|
||||||
if(get.type(card)!='equip') return true;
|
if(get.type(card)!='equip') return true;
|
||||||
return target.isEmpty(get.subtype(card));
|
return target.canEquip(card);
|
||||||
},
|
},
|
||||||
prompt:get.prompt2('gzhuyuan'),
|
prompt:get.prompt2('gzhuyuan'),
|
||||||
complexSelect:true,
|
complexSelect:true,
|
||||||
|
@ -12053,7 +12053,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
position:'he',
|
position:'he',
|
||||||
filterTarget:function(card,player,target){
|
filterTarget:function(card,player,target){
|
||||||
return target.isEmpty(get.subtype(card));
|
return target.canEquip(card);
|
||||||
},
|
},
|
||||||
ai1:function(card){
|
ai1:function(card){
|
||||||
return 6-get.value(card);
|
return 6-get.value(card);
|
||||||
|
|
Loading…
Reference in New Issue