厕所通通通

This commit is contained in:
Spmario233 2020-11-13 15:36:36 +08:00
parent e16c401511
commit f8d218f952
17 changed files with 2006 additions and 845 deletions

View File

@ -1512,7 +1512,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
//priority:1, //priority:1,
check:function(event,player){ check:function(event,player){
var target=event.player; var target=event.player;
var eff=get.damageEffect(target,player,player); var eff=get.damageEffect(target,player,player,event.nature);
if(get.attitude(player,target)>0){ if(get.attitude(player,target)>0){
if(eff>=0) return false; if(eff>=0) return false;
return true; return true;
@ -1596,15 +1596,25 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}, },
mod:{ mod:{
cardUsable:function(card,player,num){ cardUsable:function(card,player,num){
if(card.name=='sha'){ var cardx=player.getEquip('zhuge');
if(card.name=='sha'&&(!cardx||player.hasSkill('zhuge_skill',null,false)||(!_status.zhuge_temp&&!ui.selected.cards.contains(cardx)))){
if(get.is.versus()||get.is.changban()){ if(get.is.versus()||get.is.changban()){
return num+3; return num+3;
} }
return Infinity; return Infinity;
} }
},
cardEnabled2:function(card,player){
if(!_status.event.addCount_extra||player.hasSkill('zhuge_skill',null,false)) return;
if(card&&card==player.getEquip('zhuge')){
_status.zhuge_temp=true;
var bool=lib.filter.cardUsable(get.autoViewAs({name:'sha'},ui.selected.cards.concat([card])),player);
delete _status.zhuge_temp;
if(!bool) return false;
} }
}, },
}, },
},
cixiong_skill:{ cixiong_skill:{
equipSkill:true, equipSkill:true,
trigger:{player:'useCardToPlayered'}, trigger:{player:'useCardToPlayered'},

View File

@ -3507,10 +3507,12 @@ game.import('card',function(lib,game,ui,get,ai,_status){
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target!=player&&target.countCards('h'); return player.canCompare(target);
}, },
filter:function(event,player){ filter:function(event,player){
return player.countCards('h')?true:false; return player.countCards('h')&&game.hasPlayer(function(current){
return player.canCompare(current);
});
}, },
content:function(){ content:function(){
"step 0" "step 0"

View File

@ -264,7 +264,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
fullskin:true, fullskin:true,
type:'trick', type:'trick',
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return target!=player&&target.countCards('h')>0; if(target==player) return false;
if(!ui.selected.targets.length) return target.countCards('h')>0&&game.hasPlayer(function(current){
return target.canCompare(current);
});
return ui.selected.targets[0].canCompare(target);
}, },
enable:function(){ enable:function(){
return game.countPlayer()>2; return game.countPlayer()>2;
@ -280,6 +284,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
multitarget:true, multitarget:true,
multiline:true, multiline:true,
singleCard:true, singleCard:true,
complexSelect:true,
content:function(){ content:function(){
'step 0' 'step 0'
target.chooseToCompare(event.addedTarget); target.chooseToCompare(event.addedTarget);
@ -326,7 +331,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
content:function(){ content:function(){
'step 0' 'step 0'
var list=game.filterPlayer(function(current){ var list=game.filterPlayer(function(current){
return current!=target&&current.countCards('h'); return current!=target&&target.canCompare(current);
}); });
if(!list.length){ if(!list.length){
target.draw(3); target.draw(3);
@ -550,7 +555,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
type:'trick', type:'trick',
enable:true, enable:true,
filterTarget:function(card,player,target){ filterTarget:function(card,player,target){
return player!=target&&target.countCards('h'); return player.canCompare(target);
}, },
content:function(){ content:function(){
"step 0" "step 0"

View File

@ -61,6 +61,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_yuu:['male','key',3,['yuu_lveduo']], key_yuu:['male','key',3,['yuu_lveduo']],
key_ryoichi:['male','key',4,['ryoichi_baoyi','ryoichi_tuipi']], key_ryoichi:['male','key',4,['ryoichi_baoyi','ryoichi_tuipi']],
key_kotori:['female','key',3,['kotori_yumo','kotori_huazhan']], key_kotori:['female','key',3,['kotori_yumo','kotori_huazhan']],
key_jojiro:['male','key',4,['jojiro_shensu','jojiro_shunying']],
key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']], key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']],
key_misuzu:['female','key',3,['misuzu_hengzhou','misuzu_nongyin','misuzu_zhongxing']], key_misuzu:['female','key',3,['misuzu_hengzhou','misuzu_nongyin','misuzu_zhongxing']],
@ -137,8 +138,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
old_jiakui:['male','wei',4,['tongqu','xinwanlan']], old_jiakui:['male','wei',4,['tongqu','xinwanlan']],
ol_guohuai:['male','wei',3,['rejingce']], ol_guohuai:['male','wei',3,['rejingce']],
junk_zhangrang:['male','qun',3,['junktaoluan']],
}, },
characterFilter:{ characterFilter:{
key_jojiro:function(mode){
return mode=='chess'||mode=='tafang';
},
key_yuu:function(mode){ key_yuu:function(mode){
return mode=='identity'||mode=='doudizhu'||mode=='single'||(mode=='versus'&&_status.mode!='standard'&&_status.mode!='three'); return mode=='identity'||mode=='doudizhu'||mode=='single'||(mode=='versus'&&_status.mode!='standard'&&_status.mode!='three');
}, },
@ -162,9 +167,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tieba:["ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua"], diy_tieba:["ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua"],
diy_fakenews:["diy_wenyang","ns_zhangwei"], diy_fakenews:["diy_wenyang","ns_zhangwei"],
diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"], diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"],
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori"], diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro"],
diy_yongjian:["ns_chendao","yj_caoang"], diy_yongjian:["ns_chendao","yj_caoang"],
diy_trashbin:['old_jiakui','ol_guohuai'], diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang'],
}, },
}, },
characterIntro:{ characterIntro:{
@ -179,6 +184,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。', diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
}, },
characterTitle:{ characterTitle:{
key_jojiro:'#bCharlotte<br>战棋专属角色',
key_kotori:'#bRewrite', key_kotori:'#bRewrite',
key_ryoichi:'#bSummer Pockets', key_ryoichi:'#bSummer Pockets',
key_yuu:'#bCharlotte', key_yuu:'#bCharlotte',
@ -335,6 +341,110 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_lucia:['key_shizuru'], key_lucia:['key_shizuru'],
}, },
skill:{ skill:{
jojiro_shensu:{
group:['jojiro_shensu1','jojiro_shensu2','jojiro_shensu4'],
charlotte:true,
},
jojiro_shensu1:{
trigger:{player:'phaseJudgeBefore'},
direct:true,
content:function(){
"step 0"
var check= player.countCards('h')>2;
player.chooseTarget(get.prompt("jojiro_shensu"),"跳过判定阶段和摸牌阶段,视为对一名其他角色使用一张【杀】",function(card,player,target){
if(player==target) return false;
return player.canUse({name:'sha'},target,false);
}).set('check',check).set('ai',function(target){
if(!_status.event.check) return 0;
return get.effect(target,{name:'sha'},_status.event.player);
});
"step 1"
if(result.bool){
player.logSkill('jojiro_shensu',result.targets);
player.useCard({name:'sha',isCard:true},result.targets[0],false);
trigger.cancel();
player.skip('phaseDraw');
}
}
},
jojiro_shensu2:{
trigger:{player:'phaseUseBefore'},
direct:true,
filter:function(event,player){
return player.countCards('he',{type:'equip'})>0;
},
content:function(){
"step 0"
var check=player.needsToDiscard();
player.chooseCardTarget({
prompt:get.prompt('jojiro_shensu'),
prompt2:"弃置一张装备牌并跳过出牌阶段,视为对一名其他角色使用一张【杀】",
filterCard:function(card,player){
return get.type(card)=='equip'&&lib.filter.cardDiscardable(card,player)
},
position:'he',
filterTarget:function(card,player,target){
if(player==target) return false;
return player.canUse({name:'sha'},target,false);
},
ai1:function(card){
if(_status.event.check) return 0;
return 6-get.value(card);
},
ai2:function(target){
if(_status.event.check) return 0;
return get.effect(target,{name:'sha'},_status.event.player);
},
check:check
});
"step 1"
if(result.bool){
player.logSkill('jojiro_shensu',result.targets);
player.discard(result.cards[0]);
player.useCard({name:'sha',isCard:true},result.targets[0]);
trigger.cancel();
}
}
},
jojiro_shensu4:{
trigger:{player:'phaseDiscardBefore'},
direct:true,
content:function(){
"step 0"
var check=player.needsToDiscard()||player.isTurnedOver()||(player.hasSkill('shebian')&&player.canMoveCard(true,true));
player.chooseTarget(get.prompt('jojiro_shensu'),"跳过弃牌阶段并将武将牌翻面,视为对一名其他角色使用一张【杀】",function(card,player,target){
if(player==target) return false;
return player.canUse({name:'sha'},target,false);
}).set('check',check).set('ai',function(target){
if(!_status.event.check) return 0;
return get.effect(target,{name:'sha'},_status.event.player,_status.event.player);
});
"step 1"
if(result.bool){
player.logSkill('jojiro_shensu',result.targets);
player.turnOver();
player.useCard({name:'sha',isCard:true},result.targets[0],false);
trigger.cancel();
}
}
},
jojiro_shunying:{
trigger:{player:'phaseEnd'},
forced:true,
charlotte:true,
filter:function(event,player){
return player.getHistory('skipped').length>0;
},
content:function(){
'step 0'
var num=player.getHistory('skipped').length;
event.num=num;
player.chooseToMove(num,'瞬影:移动至多'+get.cnNumber(num)+'格或失去1点体力');
'step 1'
if(!result.bool) player.loseHp();
else player.draw(num);
},
},
kotori_yumo:{ kotori_yumo:{
trigger:{ trigger:{
global:'gameDrawAfter', global:'gameDrawAfter',
@ -3637,12 +3747,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else return event.cards.filterInD('od').length>0; else return event.cards.filterInD('od').length>0;
}, },
logTarget:'player', logTarget:'player',
check:function(event,player){
if(get.attitude(player,event.player)>=0) return true;
if(player.hasSkill('sasami_funan_jiexun')) return true;
if(event.cards.length>1) return true;
return get.value(event.cards[0])>get.value(event.respondTo[1]);
},
content:function(){ content:function(){
'step 0' 'step 0'
if(!player.hasSkill('sasami_funan_jiexun')){ if(!player.hasSkill('sasami_funan_jiexun')){
@ -6029,6 +6133,259 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
junktaoluan:{
audio:'taoluan',
enable:'chooseToUse',
filter:function(event,player){
return event.type!='wuxie'&&event.type!='respondShan'&&!player.hasSkill('junktaoluan3')&&player.countCards('he',function(card){
return !player.storage.junktaoluan2.contains(get.suit(card));
})>0;
},
init:function(player){
if(!player.storage.junktaoluan) player.storage.junktaoluan=[];
if(!player.storage.junktaoluan2) player.storage.junktaoluan2=[];
},
chooseButton:{
dialog:function(event,player){
var list=[];
for(var i=0;i<lib.inpile.length;i++){
var name=lib.inpile[i];
if(player.storage.junktaoluan.contains(name)) continue;
if(name=='sha'){
list.push(['基本','','sha']);
list.push(['基本','','sha','fire']);
list.push(['基本','','sha','thunder']);
}
else if(get.type(name)=='trick') list.push(['锦囊','',name]);
else if(get.type(name)=='basic') list.push(['基本','',name]);
}
if(list.length==0){
return ui.create.dialog('滔乱已无可用牌');
}
return ui.create.dialog('滔乱',[list,'vcard']);
},
filter:function(button,player){
return _status.event.getParent().filterCard({name:button.link[2]},player,_status.event.getParent());
},
check:function(button){
var player=_status.event.player;
if(player.countCards('h',button.link[2])>0) return 0;
if(button.link[2]=='wugu') return;
var effect=player.getUseValue(button.link[2]);
if(effect>0) return effect;
return 0;
},
backup:function(links,player){
return {
filterCard:function(card,player){
return !player.storage.junktaoluan2.contains(get.suit(card));
},
audio:'taoluan',
selectCard:1,
popname:true,
check:function(card){
return 6-get.value(card);
},
position:'he',
viewAs:{name:links[0][2],nature:links[0][3]},
onuse:function(result,player){
player.storage.junktaoluan2.add(get.suit(result.cards[0],player));
var evt=_status.event.getParent('phase');
if(evt&&evt.name=='phase'&&!evt.junktaoluan){
evt.junktaoluan=true;
var next=game.createEvent('taoluan_clear');
_status.event.next.remove(next);
evt.after.push(next);
next.player=player;
next.setContent(function(){
player.storage.junktaoluan=[];
player.storage.junktaoluan2=[];
});
}
player.storage.junktaoluan.add(result.card.name);
},
}
},
prompt:function(links,player){
return '将一张牌当做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用';
}
},
ai:{
order:4,
result:{
player:function(player){
if(!player.storage.junktaoluan2) player.storage.junktaoluan2=0;
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(players[i]!=player&&players[i].countCards('he')>((player.storage.junktaoluan2+1)*2)&&get.attitude(player,players[i])>0){
return 1;
}
}
return 0;
}
},
threaten:1.9,
},
group:['junktaoluan2','junktaoluan4','junktaoluan5']
},
junktaoluan2:{
trigger:{player:['useCardAfter','respondAfter']},
forced:true,
popup:false,
filter:function(event,player){
return event.skill=='junktaoluan_backup'||event.skill=='junktaoluan5'||event.skill=='junktaoluan4';
},
content:function(){
'step 0'
player.chooseTarget(true,function(card,player,target){
return target!=player;
},'###滔乱###令一名其他角色选择一项1.交给你一张与你以此法使用的牌类别不同的牌2.你失去1点体力').set('ai',function(target){
var player=_status.event.player;
if(get.attitude(player,target)>0){
if(get.attitude(target,player)>0){
return target.countCards('h');
}
return target.countCards('h')/2;
}
return 0;
});
'step 1'
var target=result.targets[0];
event.target=target;
player.line(target,'green');
var type=get.type(trigger.card,'trick');
target.chooseCard('###滔乱###交给'+get.translation(player)+'一张不为'+get.translation(type)+'牌的牌或令其失去1点体力且滔乱无效直到回合结束','he',num,function(card,player,target){
return get.type(card,'trick')!=_status.event.cardType;
}).set('cardType',type).set('ai',function(card){
if(_status.event.att){
return 11-get.value(card);
}
return 0;
}).set('att',get.attitude(target,player)>0);
'step 2'
if(result.bool){
player.gain(result.cards,target,'give');
}
else{
player.addTempSkill('junktaoluan3');
}
}
},
junktaoluan3:{
trigger:{player:'phaseEnd'},
forced:true,
popup:false,
content:function(){
player.loseHp();
},
},
junktaoluan4:{
audio:'taoluan',
prompt:'将一张牌当做闪使用',
enable:'chooseToUse',
filter:function(event,player){
return player.countCards('he',function(card){
return !player.storage.junktaoluan2.contains(get.suit(card));
})&&!player.storage.junktaoluan.contains('shan')&&!player.hasSkill('junktaoluan3');
},
onuse:function(result,player){
player.storage.junktaoluan2.add(get.suit(result.cards[0],player));
var evt=_status.event.getParent('phase');
if(evt&&evt.name=='phase'&&!evt.junktaoluan){
var next=game.createEvent('taoluan_clear');
_status.event.next.remove(next);
evt.after.push(next);
evt.junktaoluan=true;
next.player=player;
next.setContent(function(){
player.storage.junktaoluan=[];
player.storage.junktaoluan2=[];
});
}
player.storage.junktaoluan.add('shan');
},
filterCard:function(card,player){
return !player.storage.junktaoluan2.contains(get.suit(card));
},
position:'he',
selectCard:1,
viewAs:{name:'shan'},
check:function(card){
var player=_status.event.player;
if(!player.storage.junktaoluan2) player.storage.junktaoluan2=0;
var allshown=true,players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(players[i].ai.shown==0){
allshown=false;
}
if(players[i]!=player&&players[i].countCards('he')>((player.storage.junktaoluan2+1)*2)&&get.attitude(player,players[i])>0){
return 6-get.value(card);
}
}
return 0;
},
ai:{
skillTagFilter:function(player){
return player.countCards('he')&&!player.storage.junktaoluan.contains('shan')&&!player.hasSkill('junktaoluan3');
},
threaten:1.5,
respondShan:true,
}
},
junktaoluan5:{
audio:'taoluan',
enable:'chooseToUse',
prompt:'将一张牌当做无懈可击使用',
filter:function(event,player){
return player.countCards('he',function(card){
return !player.storage.junktaoluan2.contains(get.suit(card));
})&&(!player.storage.junktaoluan.contains('wuxie'))&&!player.hasSkill('junktaoluan3');
},
viewAsFilter:function(player){
return player.countCards('he',function(card){
return !player.storage.junktaoluan2.contains(get.suit(card));
})&&(!player.storage.junktaoluan.contains('wuxie'))&&!player.hasSkill('junktaoluan3');
},
onuse:function(result,player){
player.storage.junktaoluan2.add(get.suit(result.cards[0],player));
var evt=_status.event.getParent('phase');
if(evt&&evt.name=='phase'&&!evt.junktaoluan){
evt.junktaoluan=true;
var next=game.createEvent('taoluan_clear');
_status.event.next.remove(next);
evt.after.push(next);
next.player=player;
next.setContent(function(){
player.storage.junktaoluan=[];
player.storage.junktaoluan2=[];
});
}
player.storage.junktaoluan.add('wuxie');
},
filterCard:function(card,player){
return !player.storage.junktaoluan2.contains(get.suit(card));
},
position:'he',
selectCard:1,
viewAs:{name:'wuxie'},
check:function(card){
var player=_status.event.player;
if(player.isPhaseUsing()) return 0;
if(!player.storage.junktaoluan2) player.storage.junktaoluan2=0;
var allshown=true,players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(players[i].ai.shown==0){
allshown=false;
}
if(players[i]!=player&&players[i].countCards('he')>((player.storage.junktaoluan2+1)*2)&&get.attitude(player,players[i])>0){
return 6-get.value(card);
}
}
return 0;
},
},
junktaoluan_backup:{},
yjxuepin:{ yjxuepin:{
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
@ -10858,6 +11215,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
key_yuu:'乙坂有宇', key_yuu:'乙坂有宇',
key_ryoichi:'三谷良一', key_ryoichi:'三谷良一',
key_kotori:'神户小鸟', key_kotori:'神户小鸟',
key_jojiro:'高城丈士朗',
lucia_duqu:'毒躯', lucia_duqu:'毒躯',
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。', lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
lucia_zhenren:'振刃', lucia_zhenren:'振刃',
@ -11134,6 +11492,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
kotori_yumo_key:'<span class="legendtext">魔物</span>', kotori_yumo_key:'<span class="legendtext">魔物</span>',
kotori_huazhan:'花绽', kotori_huazhan:'花绽',
kotori_huazhan_info:'每回合每种魔物限一次,你可将一个蓝色/红色/绿色/黄色/紫色魔物当做【树上开花】使用。', kotori_huazhan_info:'每回合每种魔物限一次,你可将一个蓝色/红色/绿色/黄色/紫色魔物当做【树上开花】使用。',
jojiro_shensu:'神速',
jojiro_shensu_info:'你可以选择一至三项1. 跳过判定阶段和摸牌阶段2. 跳过出牌阶段并弃置一张装备牌3. 跳过弃牌阶段并将你的武将牌翻面。你每选择一项,视为你对一名其他角色使用一张没有距离限制的【杀】',
jojiro_shensu1:'神速',
jojiro_shensu2:'神速',
jojiro_shensu4:'神速',
jojiro_shunying:'瞬影',
jojiro_shunying_info:'锁定技回合结束时若你本回合内跳过了阶段则你选择一项1.失去1点体力。2.移动至多X格并摸X张牌X为你本回合内跳过的阶段数。',
key_kud:'库特莉亚芙卡', key_kud:'库特莉亚芙卡',
kud_qiaoshou:'巧手', kud_qiaoshou:'巧手',
@ -11432,6 +11797,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
moshou_info:'锁定技,你不能成为乐不思蜀和兵粮寸断的目标。', moshou_info:'锁定技,你不能成为乐不思蜀和兵粮寸断的目标。',
xicai_info:'你可以立即获得对你造成伤害的牌', xicai_info:'你可以立即获得对你造成伤害的牌',
diyjianxiong_info:'锁定技,在身份局中,在你回合内死亡的角色均视为反贼,国战中,在你回合内死亡的角色若与你势力相同则随机改为另一个势力', diyjianxiong_info:'锁定技,在身份局中,在你回合内死亡的角色均视为反贼,国战中,在你回合内死亡的角色若与你势力相同则随机改为另一个势力',
junk_zhangrang:'四花张让',
junktaoluan:'滔乱',
junktaoluan3:'滔乱',
junktaoluan4:'滔乱',
junktaoluan5:'滔乱',
junktaoluan_backup:'滔乱',
junktaoluan_info:'你可将一张牌当做任意一张基本牌或普通锦囊牌使用此牌不得是本局游戏你以此法使用过的牌且每回合每种花色限一次然后你令一名其他角色选择一项1.交给你一张与“滔乱”声明的牌类别不同的牌2.本回合“滔乱”失效且回合结束时你失去1点体力。',
diy_tieba:'吧友设计', diy_tieba:'吧友设计',
diy_default:'常规', diy_default:'常规',
diy_key:'论外', diy_key:'论外',

View File

@ -242,7 +242,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
fullskin:true, fullskin:true,
type:"equip", type:"equip",
subtype:"equip2", subtype:"equip2",
cardnature:"fire", //cardnature:"fire",
ai:{ ai:{
equipValue:function(card,player){ equipValue:function(card,player){
if(player.hasSkillTag('maixie')&&player.hp>1) return 0; if(player.hasSkillTag('maixie')&&player.hp>1) return 0;
@ -713,7 +713,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
//苏飞,新贾逵 //苏飞,新贾逵
tongqu:{ tongqu:{
audio:'zhongzuo', audio:2,
trigger:{ trigger:{
global:['gameDrawAfter','dying','phaseDrawBegin2'], global:['gameDrawAfter','dying','phaseDrawBegin2'],
player:['enterGame','phaseZhunbeiBegin'], player:['enterGame','phaseZhunbeiBegin'],
@ -1915,6 +1915,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.countCards('he')>0; return player.countCards('he')>0;
}, },
filterCard:true, filterCard:true,
position:'he',
filterTarget:lib.filter.notMe, filterTarget:lib.filter.notMe,
check:function(card){ check:function(card){
return 6-get.value(card); return 6-get.value(card);
@ -2297,12 +2298,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
mod:{ mod:{
cardUsable:function(card,player,num){ cardUsable:function(card,player,num){
if(card.name=='sha'){ var cardx=player.getEquip('rewrite_zhuge');
if(card.name=='sha'&&(!cardx||player.hasSkill('rw_zhuge_skill',null,false)||(!_status.rw_zhuge_temp&&!ui.selected.cards.contains(cardx)))){
return Infinity; return Infinity;
} }
},
cardEnabled2:function(card,player){
if(!_status.event.addCount_extra||player.hasSkill('rw_zhuge_skill',null,false)) return;
if(card&&card==player.getEquip('rewrite_zhuge')){
_status.rw_zhuge_temp=true;
var bool=lib.filter.cardUsable(get.autoViewAs({name:'sha'},ui.selected.cards.concat([card])),player);
delete _status.rw_zhuge_temp;
if(!bool) return false;
} }
}, },
}, },
},
xinqingjian:{ xinqingjian:{
audio:'qingjian', audio:'qingjian',
trigger:{player:'gainEnd'}, trigger:{player:'gainEnd'},
@ -2585,12 +2596,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qiaosi_c6:0, qiaosi_c6:0,
} }
event.map={ event.map={
qiaosi_c1:[10,15], qiaosi_c1:[40,60],
qiaosi_c2:[20,35], qiaosi_c2:[80,120],
qiaosi_c3:[40,60], qiaosi_c3:[90,110],
qiaosi_c4:[40,60], qiaosi_c4:[90,110],
qiaosi_c5:[20,35], qiaosi_c5:[80,120],
qiaosi_c6:[10,15], qiaosi_c6:[40,60],
} }
event.finishedx=[]; event.finishedx=[];
event.str='请开始你的表演<br><img src="'+lib.assetURL+'image/card/qiaosi_card1.png" width="60" height="60">qiaosi_c1% <img src="'+lib.assetURL+'image/card/qiaosi_card2.png" width="60" height="60">qiaosi_c2% <img src="'+lib.assetURL+'image/card/qiaosi_card3.png" width="60" height="60">qiaosi_c3%<br><img src="'+lib.assetURL+'image/card/qiaosi_card4.png" width="60" height="60">qiaosi_c4%<img src="'+lib.assetURL+'image/card/qiaosi_card5.png" width="60" height="60">qiaosi_c5% <img src="'+lib.assetURL+'image/card/qiaosi_card6.png" width="60" height="60">qiaosi_c6%'; event.str='请开始你的表演<br><img src="'+lib.assetURL+'image/card/qiaosi_card1.png" width="60" height="60">qiaosi_c1% <img src="'+lib.assetURL+'image/card/qiaosi_card2.png" width="60" height="60">qiaosi_c2% <img src="'+lib.assetURL+'image/card/qiaosi_card3.png" width="60" height="60">qiaosi_c3%<br><img src="'+lib.assetURL+'image/card/qiaosi_card4.png" width="60" height="60">qiaosi_c4%<img src="'+lib.assetURL+'image/card/qiaosi_card5.png" width="60" height="60">qiaosi_c5% <img src="'+lib.assetURL+'image/card/qiaosi_card6.png" width="60" height="60">qiaosi_c6%';
@ -4042,6 +4053,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1' 'step 1'
if(result.bool&&result.targets.length){ if(result.bool&&result.targets.length){
player.line(result.targets,'fire'); player.line(result.targets,'fire');
result.targets.sortBySeat();
for(var i=0;i<result.targets.length;i++){ for(var i=0;i<result.targets.length;i++){
result.targets[i].damage('fire'); result.targets[i].damage('fire');
} }
@ -4063,6 +4075,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1' 'step 1'
if(result.bool&&result.targets.length){ if(result.bool&&result.targets.length){
player.line(result.targets,'green'); player.line(result.targets,'green');
result.targets.sortBySeat();
for(var i=0;i<result.targets.length;i++){ for(var i=0;i<result.targets.length;i++){
result.targets[i].link(); result.targets[i].link();
} }
@ -5943,7 +5956,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rw_zhuge_skill_info:'锁定技,你于出牌阶段内使用【杀】无次数限制。', rw_zhuge_skill_info:'锁定技,你于出牌阶段内使用【杀】无次数限制。',
takaramono:"宝物", takaramono:"宝物",
"wolong_card":"卧龙", "wolong_card":"卧龙",
"wolong_card_info":"对一名角色造成1点火焰伤害。若场上有存活的诸葛亮(火),则改为对至多两名角色各造成点火焰伤害。", "wolong_card_info":"对一名角色造成1点火焰伤害。若场上有存活的诸葛亮(火),则改为对至多两名角色各造成1点火焰伤害。",
"fengchu_card":"凤雏", "fengchu_card":"凤雏",
"fengchu_card_info":"横置至多三名角色。若场上有存活的庞统(火),则改为横置至多四名角色。", "fengchu_card_info":"横置至多三名角色。若场上有存活的庞统(火),则改为横置至多四名角色。",
"xuanjian_card":"玄剑", "xuanjian_card":"玄剑",

View File

@ -706,4 +706,518 @@ window.noname_character_rank={
'zhangfei', 'zhangfei',
'old_huaxiong', 'old_huaxiong',
], ],
rarity:{
legend:[
'swd_muyun',
'swd_zhaoyun',
'swd_septem',
'swd_yuwentuo',
'swd_duguningke',
'swd_guyue',
'swd_yuxiaoxue',
'swd_huanglei',
'swd_xuanyuanjianxian',
'swd_qi',
'swd_huzhongxian',
'swd_murongshi',
'swd_huiyan',
'gjqt_aruan',
'hs_neptulon',
'hs_sthrall',
'hs_malorne',
'hs_medivh',
'hs_pyros',
'hs_siwangzhiyi',
'hs_aya',
'hs_kazhakusi',
'hs_malygos',
'hs_ysera',
'pal_liumengli',
'pal_yuntianhe',
'gw_jieluote',
'gw_yenaifa',
'gw_telisi',
'gw_xili',
'yxs_wuzetian',
'diy_caiwenji',
'shen_caocao',
'shen_lvbu',
'shen_zhaoyun',
'shen_simayi',
'shen_liubei',
'shen_luxun',
'shen_zhangliao',
'shen_ganning',
'shen_caopi',
'shen_zhenji',
'key_shiki',
'key_kagari',
'ol_zhangliao',
'shen_diaochan',
'guansuo',
'xin_baosanniang',
're_baosanniang',
'baosanniang',
'caoying',
'caoshuang',
'caochun',
'wanglang',
'yuantanyuanshang',
'xurong',
're_liuzan',
'zhaoxiang',
'liuyan',
'miheng',
'majun',
'pangdegong',
'yangbiao',
'zhangqiying',
'chunyuqiong',
'lingju',
'simahui',
'sp_xiahoushi',
'sp_pangtong',
'shixie',
'guohuai',
're_zuoci',
'ns_zhangwei',
'ol_yuanshao',
'key_yuri',
'key_yuzuru',
'sp_key_kanade',
'key_iwasawa',
'key_yui',
'key_misuzu',
'key_nagisa',
'key_kud',
'key_saya',
'key_kyousuke',
'key_umi',
'key_nao',
'key_yuu',
'sp_key_yuri',
'key_abyusa',
'key_ayato',
'key_godan',
're_machao',
're_sunben',
'key_tomoya',
'key_masato',
'key_shiorimiyuki',
'key_hisako',
'key_hinata',
'key_kotori',
'key_inari',
'key_kamome',
'key_noda',
'key_shiina',
],
epic:[
'pal_yueqi',
'pal_yuejinzhao',
'pal_mingxiu',
'pal_xuanxiao',
'pal_zixuan',
'pal_xuejian',
'pal_murongziying',
'pal_lixiaoyao',
'pal_xingxuan',
'hs_tyrande',
'hs_amala',
'hs_alextrasza',
'hs_totemic',
'hs_bchillmaw',
'hs_aedwin',
'hs_antonidas',
'hs_wvelen',
'hs_alakir',
'hs_xsylvanas',
'hs_blingtron',
'hs_fuding',
'hs_lafamu',
'hs_nozdormu',
'hs_jiaziruila',
'hs_yelise',
'hs_xuefashi',
'hs_liadrin',
'yxs_libai',
'yxs_luban',
'yxs_yangyuhuan',
'yxs_guiguzi',
'yxs_aijiyanhou',
'swd_shuwaner',
'swd_kendi',
'swd_weida',
'swd_lilian',
'swd_jipeng',
'swd_cheyun',
'swd_tuobayuer',
'swd_jiliang',
'swd_muyue',
'swd_lanyin',
'swd_chenjingchou',
'swd_kama',
'swd_anka',
'swd_huanyuanzhi',
'swd_kangnalishi',
'swd_zhiyin',
'swd_xiarou',
'swd_wangsiyue',
'swd_qiner',
'gjqt_fanglansheng',
'gjqt_fengqingxue',
'gjqt_xiayize',
'gjqt_bailitusu',
'gjqt_ouyangshaogong',
'gjqt_xunfang',
'diy_zhenji',
'ow_yuanshi',
'ow_tianshi',
'ow_zhixuzhiguang',
'gw_aisinie',
'gw_falanxisika',
'shen_guanyu',
'shen_lvmeng',
'shen_zhugeliang',
'shen_zhouyu',
'chenlin',
'yangxiu',
'chengyu',
'zhugeke',
'guyong',
'litong',
'mazhong',
'simazhao',
'sp_sufei',
'taoqian',
'zhengxuan',
'yj_ganning',
're_xusheng',
'liuzan',
'lijue',
'beimihu',
'zhangchangpu',
'ol_zhangchangpu',
'guanlu',
'gexuan',
'puyuan',
'xushao',
'wenyang',
'huaman',
'wangshuang',
'xizhicai',
'mayunlu',
'zhugeguo',
'sunhao',
'wangyun',
'zhangbao',
'huangfusong',
'huangjinleishi',
'sp_liuxie',
'shamoke',
'jianggan',
'wangyuanji',
're_heqi',
'tw_beimihu',
'sp_machao',
'wutugu',
'yj_jushou',
'zhangrang',
'jikang',
'xushi',
'machao',
'sunce',
're_wangyun',
'zuoci',
'xuyou',
'zhangxiu',
're_zhangjiao',
're_yuanshao',
'zhugedan',
'leitong',
'wulan',
'diy_wenyang',
'ns_caoshuang',
'ns_huangchengyan',
'ns_sunchensunjun',
'ns_yuanxi',
'key_haruko',
'key_akiko',
'key_sunohara',
'key_yukine',
'key_komari',
'key_rin',
'key_kengo',
'key_harukakanata',
'key_mio',
'key_midori',
'key_sasami',
'key_riki',
'key_kaori',
'key_shiori',
'key_yuiko',
'key_lucia',
'key_akane',
'key_shizuru',
'key_ao',
'key_tsumugi',
'key_kyoko',
'key_miki',
'key_rei',
'key_yusa',
'key_misa',
'kaisa',
],
rare:[
'pal_shenqishuang',
'hs_selajin',
'hs_enzoth',
'hs_yashaji',
'hs_yogg',
'hs_kcthun',
'pal_nangonghuang',
'pal_wangpengxu',
'gw_yioufeisi',
'gw_luoqi',
'swd_xiyan',
'ow_falaozhiying',
'yxs_kaisa',
'yxs_napolun',
'hs_nate',
'yxs_jinke',
'yxs_yuefei',
'hs_anomalus',
'hs_jinglinglong',
'hs_alleria',
'hs_lreno',
'hs_zhouzhuo',
'hs_loatheb',
'hs_finley',
'ow_chanyata',
'yxs_huamulan',
'swd_quxian',
'ow_liekong',
'ow_zhixuzhiguang',
'hs_xialikeer',
'hs_sainaliusi',
'hs_lrhonin',
'yxs_diaochan',
'hs_anduin',
'swd_hengai',
'hs_wuther',
'swd_shuijing',
'swd_sikongyu',
'diy_yuji',
'hs_zhishigushu',
'pal_jingtian',
'swd_shanxiaoxiao',
'yxs_caocao',
'swd_linyue',
'swd_xuanyuanjiantong',
'swd_maixing',
'diy_xuhuang',
'hs_jaina',
'gjqt_xiangling',
'swd_jiuyou',
'diy_zhouyu',
'pal_changqing',
'swd_yuchiyanhong',
'swd_duopeng',
'swd_yuli',
'swd_rongshuang',
'pal_zhaoliner',
'swd_situqiang',
'hs_malfurion',
'yxs_bole',
'gjqt_yuewuyi',
'hs_mijiaojisi',
'yxs_mozi',
'gjqt_hongyu',
'hs_waleera',
'swd_chunyuheng',
'swd_jiangziya',
'swd_nicole',
'swd_zhuoshanzhu',
'swd_shaowei',
'pal_linyueru',
'swd_jialanduo',
'hs_yngvar',
're_wuyi',
're_zhuran',
'key_yoshino',
'key_kyoko',
'jiakui',
'hujinding',
'zhangyì',
'lingcao',
'sunru',
'zhaotongzhaoguang',
'yj_xuhuang',
'yuanshu',
'guosi',
'zhangji',
're_panfeng',
'gaolan',
'xunchen',
'caobuxing',
're_maliang',
'sp_caiwenji',
'luzhi',
'guanyinping',
'zhangxingcai',
'xiahouba',
'sunluyu',
'zhugejin',
'liuxie',
'sp_zhaoyun',
'sp_simazhao',
'sp_wangyuanji',
'sp_xinxianying',
'liuye',
'zhuling',
'lifeng',
'chendeng',
'shenpei',
'xin_liaohua',
'nashime',
'caoang',
'sp_caoren',
'sp_jiangwei',
'zhanggong',
'xugong',
'sp_shenpei',
'dongyun',
'maliang',
'mizhu',
'buzhi',
'dongbai',
'jsp_huangyueying',
'quyi',
'yanbaihu',
'zhanglu',
'jsp_zhaoyun',
'ganfuren',
'xin_masu',
'xunyou',
'caochong',
'liufeng',
'zhuhuan',
'caifuren',
'zhangsong',
'caorui',
'zhongyao',
'liuchen',
'zhuzhi',
'gongsunyuan',
'liuyu',
'xinxianying',
'qinmi',
'wuxian',
'lvdai',
're_jsp_pangtong',
'zhoufang',
'panjun',
'yanjun',
're_yuanshu',
're_zhanggong',
'xf_yiji',
'xf_tangzi',
'sp_liuqi',
'sp_diaochan',
'dianwei',
're_lusu',
'caopi',
'jiaxu',
'kuailiangkuaiyue',
'wangji',
'wangping',
'luji',
'haozhao',
'zhugezhan',
'zhoufei',
'lukang',
'guanqiujian',
're_caocao',
're_guojia',
're_xiahoudun',
're_zhangliao',
're_zhenji',
're_guanyu',
're_huangyueying',
're_liubei',
're_zhangfei',
're_zhaoyun',
're_zhugeliang',
're_daqiao',
're_huanggai',
're_sunquan',
're_sunshangxiang',
're_diaochan',
're_lvbu',
'caoren',
'ol_weiyan',
'ol_xiahouyuan',
're_huangzhong',
'ol_xiaoqiao',
'xin_yuji',
'zhoutai',
're_xunyu',
'ol_pangde',
're_taishici',
're_yanwen',
're_caopi',
're_xuhuang',
're_menghuo',
're_zhurong',
'ol_sunjian',
'ol_dongzhuo',
're_jiangwei',
'ol_liushan',
're_zhangzhang',
're_caiwenji',
're_caozhi',
'yujin_yujin',
're_yujin',
'gaoshun',
're_zhonghui',
'old_madai',
're_bulianshi',
're_liubiao',
'liubiao',
're_chengpu',
're_manchong',
're_yufan',
're_liru',
're_jianyong',
're_sunluban',
're_sunxiu',
'xiahoushi',
'guotufengji',
'ns_chendao',
'old_jiakui',
'caozhang',
'key_jojiro',
'key_doruji',
'key_ryoichi',
'tw_maliang',
'tw_dingfeng',
'tw_xiahouba',
],
junk:[
'sunshao',
'duji',
'yl_luzhi',
'ol_guohuai',
'gongsunzan',
're_sunce',
'chengpu',
'zangba',
'tianfeng',
'zhangwen',
'dingyuan',
'caiyong',
'xin_chengpu',
'junk_zhangrang',
],
}
}; };

View File

@ -382,6 +382,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
viewAsFilter:function(player){ viewAsFilter:function(player){
return !player.isLinked(); return !player.isLinked();
}, },
filter:function(event,player){
return !player.isLinked();
},
filterCard:function(){return false}, filterCard:function(){return false},
selectCard:-1, selectCard:-1,
precontent:function(){ precontent:function(){
@ -403,9 +406,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
source:'damageSource', source:'damageSource',
player:'damageEnd', player:'damageEnd',
}, },
prompt:'是否发动【醇醪】将武将牌置?', prompt:'是否发动【醇醪】将武将牌置?',
filter:function(event,player){ filter:function(event,player){
return player.isLinked()&event.num>1; return player.isLinked()&&event.num>1;
}, },
content:function(){ content:function(){
player.link(); player.link();
@ -3058,7 +3061,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.finish(); event.finish();
} }
'step 1' 'step 1'
player.chooseToCompare(target).set('small',target==source&&get.attitude(player,target)>0); player.chooseToCompare(target).set('small',target==source&&get.attitude(player,target)>0).clear=false;
'step 2' 'step 2'
if(player==source&&result.bool||target==source&&!result.bool){ if(player==source&&result.bool||target==source&&!result.bool){
event.cards=[result.player,result.target].filterInD('d'); event.cards=[result.player,result.target].filterInD('d');
@ -3071,6 +3074,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else event.finish(); else event.finish();
'step 3' 'step 3'
if(result.control!='cancel2') source.gain(event.cards,'gain2','log'); if(result.control!='cancel2') source.gain(event.cards,'gain2','log');
else ui.clear();
}, },
}, },
olzhiba3:{}, olzhiba3:{},
@ -7471,10 +7475,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//priority:5, //priority:5,
content:function(){ content:function(){
"step 0" "step 0"
player.chooseToCompare(trigger.target); player.chooseToCompare(trigger.target).clear=false;
"step 1" "step 1"
if(result.bool){ if(result.bool){
if(trigger.target.countGainableCards(player,'he')) player.gainPlayerCard(trigger.target,true,'he'); if(trigger.target.countGainableCards(player,'he')) player.gainPlayerCard(trigger.target,true,'he');
ui.clear();
} }
else{ else{
var card1=result.player; var card1=result.player;
@ -7847,13 +7852,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_wuguotai:'界吴国太', re_wuguotai:'界吴国太',
re_gaoshun:'界高顺', re_gaoshun:'界高顺',
reganlu:'甘露', reganlu:'甘露',
reganlu_info:'出牌阶段限一次,你可以选择装备区牌数之差的绝对值不于X的两名角色或包含你在内的两名角色然后交换这两名角色装备区内的牌。X为你已损失的体力值', reganlu_info:'出牌阶段限一次,你可以选择装备区牌数之差的绝对值不于X的两名角色或包含你在内的两名角色然后交换这两名角色装备区内的牌。X为你已损失的体力值',
repojun:'破军', repojun:'破军',
repojun2:'破军', repojun2:'破军',
repojun3:'破军', repojun3:'破军',
repojun_info:'当你使用【杀】指定目标后你可以将其的至多X张牌置于其武将牌上X为其体力值然后其于当前回合结束时获得这些牌。当你因执行【杀】的效果而对一名角色造成伤害时若该角色的手牌数和装备区内的牌数均不大于你则此伤害+1。', repojun_info:'当你使用【杀】指定目标后你可以将其的至多X张牌置于其武将牌上X为其体力值然后其于当前回合结束时获得这些牌。当你因执行【杀】的效果而对一名角色造成伤害时若该角色的手牌数和装备区内的牌数均不大于你则此伤害+1。',
rexianzhen:'陷阵', rexianzhen:'陷阵',
rexianzhen_info:'出牌阶段限一次,你可以和一名其他角色拼点。若你赢,你本回合内对其使用牌没有次数和距离限制。若你没赢,你本回合内不能使用【杀】。若你以此法失去的拼点牌为【杀】,则你的【杀】不计入本回合的手牌上限。', rexianzhen_info:'出牌阶段限一次,你可以和一名其他角色拼点。若你赢,你本回合内对其使用牌没有次数和距离限制且无视其防具。若你没赢,你本回合内不能使用【杀】。若你以此法失去的拼点牌为【杀】,则你的【杀】不计入本回合的手牌上限。',
rejinjiu:'禁酒', rejinjiu:'禁酒',
rejinjiu_info:'锁定技,你的【酒】均视为【杀】。其他角色不能于你的回合内使用【酒】。当你受到酒【杀】的伤害时,你令此伤害-XX为影响过此【杀】的伤害值的【酒】的数量', rejinjiu_info:'锁定技,你的【酒】均视为【杀】。其他角色不能于你的回合内使用【酒】。当你受到酒【杀】的伤害时,你令此伤害-XX为影响过此【杀】的伤害值的【酒】的数量',
rejinjiu2:'禁酒', rejinjiu2:'禁酒',

View File

@ -5804,7 +5804,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'phaseUseBefore'}, trigger:{player:'phaseUseBefore'},
direct:true, direct:true,
filter:function(event,player){ filter:function(event,player){
return player.countCards('he',{type:'equip'})>0; return player.countCards('he',function(card){
if(_status.connectMode) return true;
return get.type(card)=='equip';
})>0;
}, },
content:function(){ content:function(){
"step 0" "step 0"
@ -5834,7 +5837,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(result.bool){ if(result.bool){
player.logSkill('shensu2',result.targets); player.logSkill('shensu2',result.targets);
player.discard(result.cards[0]); player.discard(result.cards[0]);
player.useCard({name:'sha',isCard:true},result.targets[0]); player.useCard({name:'sha',isCard:true},result.targets[0],false);
trigger.cancel(); trigger.cancel();
} }
} }

View File

@ -2164,7 +2164,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
audio:2, audio:2,
content:function(){ content:function(){
player.draw(player.getAttackRange()); player.draw(player.getHistory('useCard').length+player.getHistory('respond').length);
}, },
ai:{ ai:{
threaten:1.8, threaten:1.8,
@ -5302,7 +5302,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
group:['fanghun_sha','fanghun_draw'], group:['fanghun_sha','fanghun_draw'],
subSkill:{ subSkill:{
draw:{ draw:{
trigger:{player:['useCard','respond']}, trigger:{player:['useCardAfter','respondAfter']},
forced:true, forced:true,
popup:false, popup:false,
filter:function(event){ filter:function(event){
@ -5313,6 +5313,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
}, },
sha:{ sha:{
audio:'fanghun',
enable:['chooseToUse','chooseToRespond'], enable:['chooseToUse','chooseToRespond'],
prompt:'弃置一枚【梅影】标记,将杀当做闪,或将闪当做杀,或将桃当做酒,或将酒当做桃使用或打出', prompt:'弃置一枚【梅影】标记,将杀当做闪,或将闪当做杀,或将桃当做酒,或将酒当做桃使用或打出',
viewAs:function(cards,player){ viewAs:function(cards,player){
@ -14101,6 +14102,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!player.hasMark('xinfu_falu_'+suit)) player.addMark('xinfu_falu_'+suit); if(!player.hasMark('xinfu_falu_'+suit)) player.addMark('xinfu_falu_'+suit);
} }
}, },
ai:{threaten:1.4},
}, },
"xinfu_dianhua":{ "xinfu_dianhua":{
trigger:{ trigger:{
@ -14120,16 +14122,189 @@ game.import('character',function(lib,game,ui,get,ai,_status){
for(var i=0;i<lib.suit.length;i++){ for(var i=0;i<lib.suit.length;i++){
if(player.hasMark('xinfu_falu_'+lib.suit[i])) num++; if(player.hasMark('xinfu_falu_'+lib.suit[i])) num++;
} }
player.chooseCardButton(num,true,get.cards(num),'【点化】:按顺将卡牌置于牌堆顶(先选择的在上)').set('ai',function(button){ if(player.isUnderControl()){
return get.value(button.link); game.swapPlayerAuto(player);
}
var cards=get.cards(num);
event.cards=cards;
var switchToAuto=function(){
_status.imchoosing=false;
if(event.dialog) event.dialog.close();
if(event.control) event.control.close();
var top=[];
var judges=player.getCards('j');
var stopped=false;
if(!player.hasWuxie()){
for(var i=0;i<judges.length;i++){
var judge=get.judge(judges[i]);
cards.sort(function(a,b){
return judge(b)-judge(a);
}); });
'step 1' if(judge(cards[0])<0){
if(result.bool){ stopped=true;break;
var list=result.links.slice(0); }
while(list.length){ else{
ui.cardPile.insertBefore(list.pop(),ui.cardPile.firstChild); top.unshift(cards.shift());
} }
} }
}
var bottom;
if(!stopped){
cards.sort(function(a,b){
return get.value(b,player)-get.value(a,player);
});
while(cards.length){
if(get.value(cards[0],player)<=5) break;
top.unshift(cards.shift());
}
}
bottom=cards;
for(var i=0;i<top.length;i++){
ui.cardPile.insertBefore(top[i],ui.cardPile.firstChild);
}
for(i=0;i<bottom.length;i++){
ui.cardPile.appendChild(bottom[i]);
}
player.popup(get.cnNumber(top.length)+'上'+get.cnNumber(bottom.length)+'下');
game.log(player,'将'+get.cnNumber(top.length)+'张牌置于牌堆顶');
game.delay(2);
};
var chooseButton=function(online,player,cards){
var event=_status.event;
player=player||event.player;
cards=cards||event.cards;
event.top=[];
event.bottom=[];
event.status=true;
event.dialog=ui.create.dialog('按顺序选择置于牌堆顶的牌(先选择的在上)',cards);
for(var i=0;i<event.dialog.buttons.length;i++){
event.dialog.buttons[i].classList.add('pointerdiv');
}
event.switchToAuto=function(){
event._result='ai';
event.dialog.close();
event.control.close();
_status.imchoosing=false;
},
event.control=ui.create.control('ok','pileTop','pileBottom',function(link){
var event=_status.event;
if(link=='ok'){
if(online){
event._result={
top:[],
bottom:[]
}
for(var i=0;i<event.top.length;i++){
event._result.top.push(event.top[i].link);
}
for(var i=0;i<event.bottom.length;i++){
event._result.bottom.push(event.bottom[i].link);
}
}
else{
var i;
for(i=0;i<event.top.length;i++){
ui.cardPile.insertBefore(event.top[i].link,ui.cardPile.firstChild);
}
for(i=0;i<event.bottom.length;i++){
ui.cardPile.appendChild(event.bottom[i].link);
}
for(i=0;i<event.dialog.buttons.length;i++){
if(event.dialog.buttons[i].classList.contains('glow')==false&&
event.dialog.buttons[i].classList.contains('target')==false)
ui.cardPile.appendChild(event.dialog.buttons[i].link);
}
player.popup(get.cnNumber(event.top.length)+'上'+get.cnNumber(event.cards.length-event.top.length)+'下');
game.log(player,'将'+get.cnNumber(event.top.length)+'张牌置于牌堆顶');
}
event.dialog.close();
event.control.close();
game.resume();
_status.imchoosing=false;
}
else if(link=='pileTop'){
event.status=true;
event.dialog.content.childNodes[0].innerHTML='按顺序选择置于牌堆顶的牌';
}
else{
event.status=false;
event.dialog.content.childNodes[0].innerHTML='按顺序选择置于牌堆底的牌';
}
})
for(var i=0;i<event.dialog.buttons.length;i++){
event.dialog.buttons[i].classList.add('selectable');
}
event.custom.replace.button=function(link){
var event=_status.event;
if(link.classList.contains('target')){
link.classList.remove('target');
event.top.remove(link);
}
else if(link.classList.contains('glow')){
link.classList.remove('glow');
event.bottom.remove(link);
}
else if(event.status){
link.classList.add('target');
event.top.unshift(link);
}
else{
link.classList.add('glow');
event.bottom.push(link);
}
}
event.custom.replace.window=function(){
for(var i=0;i<_status.event.dialog.buttons.length;i++){
_status.event.dialog.buttons[i].classList.remove('target');
_status.event.dialog.buttons[i].classList.remove('glow');
_status.event.top.length=0;
_status.event.bottom.length=0;
}
}
game.pause();
game.countChoose();
};
event.switchToAuto=switchToAuto;
if(event.isMine()){
chooseButton();
event.finish();
}
else if(event.isOnline()){
event.player.send(chooseButton,true,event.player,event.cards);
event.player.wait();
game.pause();
}
else{
event.switchToAuto();
event.finish();
}
"step 1"
if(event.result=='ai'||!event.result){
event.switchToAuto();
}
else{
var top=event.result.top||[];
var bottom=event.result.bottom||[];
for(var i=0;i<top.length;i++){
ui.cardPile.insertBefore(top[i],ui.cardPile.firstChild);
}
for(i=0;i<bottom.length;i++){
ui.cardPile.appendChild(bottom[i]);
}
for(i=0;i<event.cards.length;i++){
if(!top.contains(event.cards[i])&&!bottom.contains(event.cards[i])){
ui.cardPile.appendChild(event.cards[i]);
}
}
player.popup(get.cnNumber(top.length)+'上'+get.cnNumber(event.cards.length-top.length)+'下');
game.log(player,'将'+get.cnNumber(top.length)+'张牌置于牌堆顶');
game.updateRoundNumber();
game.delay(2);
}
},
ai:{
threaten:2.2
}, },
}, },
"xinfu_zhenyi":{ "xinfu_zhenyi":{
@ -14139,7 +14314,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
audio:2, audio:2,
filter:function (event,player){ filter:function (event,player){
if(!event.nature) return false; //if(!event.nature) return false;
return player.hasMark('xinfu_falu_diamond'); return player.hasMark('xinfu_falu_diamond');
}, },
prompt2:'弃置「勾陈♦」标记,从牌堆中获得每种类型的牌各一张。', prompt2:'弃置「勾陈♦」标记,从牌堆中获得每种类型的牌各一张。',
@ -14178,49 +14353,42 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"step 0" "step 0"
var str=get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+ var str=get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+
get.translation(trigger.player.judging[0])+',是否发动【真仪】,弃置「紫薇♠」标记并修改判定结果?'; get.translation(trigger.player.judging[0])+',是否发动【真仪】,弃置「紫薇♠」标记并修改判定结果?';
player.chooseControl('黑桃5','红桃5','取消').set('prompt',str).set('ai',function(){ player.chooseControl('spade','heart','diamond','club','cancel2').set('prompt',str).set('ai',function(){
//return '取消'; //return '取消';
var judging=_status.event.judging; var judging=_status.event.judging;
var cards={name:judging.name,suit:"spade",number:5}; var trigger=_status.event.getTrigger();
var cardh={name:judging.name,suit:"heart",number:5}; var res1=trigger.judge(judging);
var results=trigger.judge(cards)-trigger.judge(judging); var list=lib.suit.slice(0);
var resulth=trigger.judge(cardh)-trigger.judge(judging);
var attitude=get.attitude(player,trigger.player); var attitude=get.attitude(player,trigger.player);
if(attitude==0||(resulth==0&&results==0)) return '取消'; if(attitude==0) return 0;
if(attitude>0){ var getj=function(suit){
if(results>0){ return trigger.judge({
if(resulth>results) return '红桃5'; name:get.name(judging),
return '黑桃5'; nature:get.nature(judging),
} suit:suit,
else if(resulth>0) return '红桃5'; number:2,
return '取消'; })
} };
else{ list.sort(function(a,b){
if(results<0){ return (getj(b)-getj(a))*get.sgn(attitude);
if(resulth<results) return '红桃5'; });
return '黑桃5'; if((getj(list[0])-res1)*attitude>0) return list[0];
} return 'cancel2';
else if(resulth<0) return '红桃5';
return '取消';
}
}).set('judging',trigger.player.judging[0]); }).set('judging',trigger.player.judging[0]);
"step 1" "step 1"
if(['黑桃5','红桃5'].contains(result.control)){ if(result.control!='cancel2'){
player.addExpose(0.25); player.addExpose(0.25);
player.removeMark('xinfu_falu_spade'); player.removeMark('xinfu_falu_spade');
player.logSkill('xinfu_zhenyi',trigger.player); player.logSkill('xinfu_zhenyi',trigger.player);
//player.line(trigger.player); //player.line(trigger.player);
player.popup(result.control); player.popup(result.control);
game.log(player,'将判定结果改为了','#y'+result.control); game.log(player,'将判定结果改为了','#y'+get.translation(result.control+2)+5);
trigger.fixedResult={ trigger.fixedResult={
suit:result.control=='黑桃5'?'spade':'heart', suit:result.control,
color:result.control=='黑桃5'?'black':'red', color:get.color({name:result.control}),
number:5, number:5,
}; };
} }
else{
event.finish();
}
}, },
ai:{ ai:{
rejudge:true, rejudge:true,
@ -14233,9 +14401,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"zhenyi_club":{ "zhenyi_club":{
audio:'xinfu_zhenyi', audio:'xinfu_zhenyi',
enable:"chooseToUse", enable:"chooseToUse",
filter:function (event,player){ viewAsFilter:function(player){
if(!player.isDying()) return false; if(player==_status.currentPhase) return false;
return player.hasMark('xinfu_falu_club'); return player.hasMark('xinfu_falu_club')&&player.countCards('h')>0;
}, },
filterCard:true, filterCard:true,
position:"h", position:"h",
@ -14249,14 +14417,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
ai:{ ai:{
skillTagFilter:function(player){ skillTagFilter:function(player){
if(!player.isDying()) return false; if(player==_status.currentPhase) return false;
return player.hasMark('xinfu_falu_club'); return player.hasMark('xinfu_falu_club')&&player.countCards('h')>0;
}, },
save:true, save:true,
respondTao:true,
}, },
}, },
"zhenyi_heart":{ zhenyi_heart:{
trigger:{ trigger:{
source:"damageBegin1", source:"damageBegin1",
}, },
@ -14270,23 +14437,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:player, player:player,
card:event.card, card:event.card,
})) return false; })) return false;
return player.hasMark('xinfu_falu_spade')||get.color(ui.cardPile.firstChild)=='black'; return true;
//return player.hasMark('xinfu_falu_spade')||get.color(ui.cardPile.firstChild)=='black';
}, },
prompt2:function(event){ prompt2:function(event){
return '弃置「玉清♥」标记,然后进行判定。若结果为黑色,则对'+get.translation(event.player)+'即将造成的伤害+1。'; return '弃置「玉清♥」标记,对'+get.translation(event.player)+'即将造成的伤害+1。';
}, },
logTarget:"player", logTarget:"player",
content:function(){ content:function(){
"step 0" player.removeMark('xinfu_falu_heart');
player.removeMark('xinfu_falu_heart')
player.judge(function(card){
if(get.color(card)=='black') return 4;
return -1;
});
"step 1"
if(result.bool==true){
trigger.num++; trigger.num++;
}
}, },
}, },
"xinfu_zhennan":{ "xinfu_zhennan":{
@ -14552,9 +14712,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"xinfu_falu":"法箓", "xinfu_falu":"法箓",
"xinfu_falu_info":"锁定技游戏开始时你获得「紫薇」「后土」「玉清」「勾陈」标记各一个。当你的牌因弃置而进入弃牌堆后根据这些牌的花色你获得对应的标记黑桃你获得1枚「紫薇」梅花你获得1枚「后土」红桃你获得1枚「玉清」方块你获得1枚「勾陈」。每种标记限拥有1个", "xinfu_falu_info":"锁定技游戏开始时你获得「紫薇」「后土」「玉清」「勾陈」标记各一个。当你的牌因弃置而进入弃牌堆后根据这些牌的花色你获得对应的标记黑桃你获得1枚「紫薇」梅花你获得1枚「后土」红桃你获得1枚「玉清」方块你获得1枚「勾陈」。每种标记限拥有1个",
"xinfu_dianhua":"点化", "xinfu_dianhua":"点化",
"xinfu_dianhua_info":"准备阶段或结束阶段你可以观看牌堆顶的X张牌X为你的「紫薇」「后土」「玉清」「勾陈」标记数的总和。若如此做你将这些牌以任意顺序放回牌堆顶。", "xinfu_dianhua_info":"准备阶段或结束阶段你可以观看牌堆顶的X张牌X为你的「紫薇」「后土」「玉清」「勾陈」标记数的总和。若如此做你将这些牌以任意顺序放回牌堆顶或牌堆底。",
"xinfu_zhenyi":"真仪", "xinfu_zhenyi":"真仪",
"xinfu_zhenyi_info":"你可以在以下时机弃置相应的标记来发动以下效果:一名角色的判定牌生效前,你可以弃置一枚「紫薇」,然后将判定结果改为黑桃5或红桃5当你处于濒死状态时,你可以弃置一枚「后土」,然后将你的一张手牌当【桃】使用;当你造成伤害时,你可以弃置一枚「玉清」,然后你进行一次判定。若结果为黑色,此伤害+1当你受到属性伤害后,你可以弃置一张「勾陈」,然后你从牌堆中随机获得三种类型的牌各一张。", "xinfu_zhenyi_info":"你可以在以下时机弃置相应的标记来发动以下效果:一名角色的判定牌生效前,你可以弃置一枚「紫薇」,然后将判定结果改为任意花色且点数为5你的回合外,你可以弃置一枚「后土」,然后将你的一张手牌当【桃】使用;当你造成伤害时,你可以弃置一枚「玉清」,然后令此伤害+1当你受到伤害后,你可以弃置一张「勾陈」,然后你从牌堆中随机获得三种类型的牌各一张。",
"zhenyi_spade":"真仪", "zhenyi_spade":"真仪",
"zhenyi_spade_info":"", "zhenyi_spade_info":"",
"zhenyi_club":"真仪", "zhenyi_club":"真仪",

View File

@ -3727,7 +3727,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){
equipSkill:true, equipSkill:true,
mod:{ mod:{
cardUsable:function(card,player,num){ cardUsable:function(card,player,num){
if(card.name=='sha') return num+1; var cardx=player.getEquip('pyzhuren_diamond');
if(card.name=='sha'&&(!cardx||player.hasSkill('pyzhuren_diamond',null,false)||(!_status.pyzhuren_diamond_temp&&!ui.selected.cards.contains(cardx)))){
return num+1;
}
},
cardEnabled2:function(card,player){
if(!_status.event.addCount_extra||player.hasSkill('pyzhuren_diamond',null,false)) return;
if(card&&card==player.getEquip('pyzhuren_diamond')){
_status.pyzhuren_diamond_temp=true;
var bool=lib.filter.cardUsable(get.autoViewAs({name:'sha'},ui.selected.cards.concat([card])),player);
delete _status.pyzhuren_diamond_temp;
if(!bool) return false;
}
}, },
}, },
filter:function(event,player){ filter:function(event,player){
@ -3819,7 +3831,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addTempSkill('pyzhuren_spade2'); player.addTempSkill('pyzhuren_spade2');
player.addMark('pyzhuren_spade2',1,false); player.addMark('pyzhuren_spade2',1,false);
//trigger.target.gain(trigger.cards.filterInD(),'gain2','log'); //trigger.target.gain(trigger.cards.filterInD(),'gain2','log');
trigger.target.loseHp(Math.min(player.countMark('pyzhuren_spade2'),5)).set('source',player); trigger.target.loseHp(Math.min(player.countMark('pyzhuren_spade2'),5));//.set('source',player);
}, },
ai:{ ai:{
jueqing:true, jueqing:true,

View File

@ -77,7 +77,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhenji:['caopi'], zhenji:['caopi'],
caocao:['xuzhu','dianwei','bianfuren'], caocao:['xuzhu','dianwei','bianfuren'],
huangzhong:['weiyan'], huangzhong:['weiyan'],
zhugeliang:['jiangwei','jiangfei'], zhugeliang:['jiangwei','jiangfei','huangyueying'],
liubei:['guanyu','zhangfei','ganfuren'], liubei:['guanyu','zhangfei','ganfuren'],
zhaoyun:['liushan'], zhaoyun:['liushan'],
daqiao:['xiaoqiao'], daqiao:['xiaoqiao'],

View File

@ -6109,7 +6109,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(get.color(trigger.card)=='red'){ if(get.color(trigger.card)=='red'){
go=true; go=true;
} }
else if(trigger.addCount===false) go=false; else if(trigger.addCount===false||!trigger.player.isPhaseUsing()) go=false;
else if(!trigger.player.hasSkill('paoxiao')&& else if(!trigger.player.hasSkill('paoxiao')&&
!trigger.player.hasSkill('tanlin3')&& !trigger.player.hasSkill('tanlin3')&&
!trigger.player.hasSkill('zhaxiang2')&& !trigger.player.hasSkill('zhaxiang2')&&

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[ window.noname_asset_list=[
'v1.9.105.8', 'v1.9.105.9.1',
'audio/background/aozhan_chaoming.mp3', 'audio/background/aozhan_chaoming.mp3',
'audio/background/aozhan_online.mp3', 'audio/background/aozhan_online.mp3',
'audio/background/aozhan_rewrite.mp3', 'audio/background/aozhan_rewrite.mp3',
@ -2797,6 +2797,8 @@ window.noname_asset_list=[
'audio/skill/rexingxue2.mp3', 'audio/skill/rexingxue2.mp3',
'audio/skill/reyanzhu1.mp3', 'audio/skill/reyanzhu1.mp3',
'audio/skill/reyanzhu2.mp3', 'audio/skill/reyanzhu2.mp3',
'audio/skill/tongqu1.mp3',
'audio/skill/tongqu2.mp3',
'font/huangcao.ttf', 'font/huangcao.ttf',
'font/shousha.ttf', 'font/shousha.ttf',
@ -3441,6 +3443,8 @@ window.noname_asset_list=[
'image/character/re_hejin.jpg', 'image/character/re_hejin.jpg',
'image/character/re_sunxiu.jpg', 'image/character/re_sunxiu.jpg',
'image/character/xin_baosanniang.jpg', 'image/character/xin_baosanniang.jpg',
'image/character/key_jojiro.jpg',
'image/character/junk_zhangrang.jpg',
'image/character/baiwuchang.jpg', 'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg', 'image/character/baosanniang.jpg',

View File

@ -3192,6 +3192,15 @@
} }
} }
}, },
show_rarity:{
name:'显示武将评级',
init:false,
intro:'仅供娱乐,重启后生效',
unfrequent:true,
onclick:function(bool){
game.saveConfig('show_rarity',bool);
}
},
mark_identity_style:{ mark_identity_style:{
name:'标记身份操作', name:'标记身份操作',
intro:'设置单击身份按钮时的操作', intro:'设置单击身份按钮时的操作',
@ -5791,11 +5800,13 @@
if(config.chess_mode=='leader'){ if(config.chess_mode=='leader'){
map.chess_leader_save.show(); map.chess_leader_save.show();
map.chess_leader_clear.show(); map.chess_leader_clear.show();
map.chess_leader_allcharacter.show();
map.chess_character.hide(); map.chess_character.hide();
} }
else{ else{
map.chess_leader_save.hide(); map.chess_leader_save.hide();
map.chess_leader_clear.hide(); map.chess_leader_clear.hide();
map.chess_leader_allcharacter.hide();
map.chess_character.show(); map.chess_character.show();
} }
if(config.chess_mode=='combat'){ if(config.chess_mode=='combat'){
@ -5832,12 +5843,25 @@
restart:true, restart:true,
frequent:true, frequent:true,
}, },
chess_leader_allcharacter:{
name:'启用全部角色',
init:true,
onclick:function(bool){
if(confirm('调整该设置将清除所有进度,是否继续?')){
for(var i=1;i<6;i++) game.save('save'+i,null);
game.saveConfig('chess_leader_allcharacter',bool,this._link.config.mode)
game.reload();
return;
}
else this.classList.toggle('on');
},
},
chess_leader_clear:{ chess_leader_clear:{
name:'清除进度', name:'清除进度',
onclick:function(){ onclick:function(){
var node=this; var node=this;
if(node._clearing){ if(node._clearing){
game.save(get.config('chess_leader_save'),null); for(var i=1;i<6;i++) game.save('save'+i,null);
game.reload(); game.reload();
return; return;
} }
@ -8198,7 +8222,7 @@
continue; continue;
} }
if(j=='character'&&!lib.config.characters.contains(i)&&lib.config.mode!='connect'){ if(j=='character'&&!lib.config.characters.contains(i)&&lib.config.mode!='connect'){
if(lib.config.mode=='chess'&&get.config('chess_mode')=='leader'){ if(lib.config.mode=='chess'&&get.config('chess_mode')=='leader'&&get.config('chess_leader_allcharacter')){
for(k in character[i][j]){ for(k in character[i][j]){
lib.hiddenCharacters.push(k); lib.hiddenCharacters.push(k);
} }
@ -9750,6 +9774,11 @@
}, },
}, },
translate:{ translate:{
junk:'平凡',
common:'普通',
rare:'精品',
epic:'史诗',
legend:'传说',
'default':"默认", 'default':"默认",
special:'特殊', special:'特殊',
zhenfa:'阵法', zhenfa:'阵法',
@ -9943,6 +9972,7 @@
next.set('selectTarget',event.selectTarget||lib.filter.selectTarget); next.set('selectTarget',event.selectTarget||lib.filter.selectTarget);
if(event.nodistance) next.set('nodistance',true); if(event.nodistance) next.set('nodistance',true);
if(event.forced) next.set('forced',true); if(event.forced) next.set('forced',true);
if(event.addCount!==false) next.set('addCount_extra',true);
next.set('targets',targets); next.set('targets',targets);
next.set('prompt',event.prompt||('选择'+get.translation(card)+'的目标')); next.set('prompt',event.prompt||('选择'+get.translation(card)+'的目标'));
if(event.prompt2) next.set('prompt2',event.prompt2); if(event.prompt2) next.set('prompt2',event.prompt2);
@ -24465,12 +24495,13 @@
cardUsable:function(card,player,event){ cardUsable:function(card,player,event){
card=get.autoViewAs(card,null,player); card=get.autoViewAs(card,null,player);
var info=get.info(card); var info=get.info(card);
if(info.updateUsable=='phaseUse'){
event=event||_status.event; event=event||_status.event;
if(player!=_status.event.player) return true; if(player!=_status.event.player) return true;
if(info.updateUsable=='phaseUse'){
if(event.getParent().name!='phaseUse') return true; if(event.getParent().name!='phaseUse') return true;
if(event.getParent().player!=player) return true; if(event.getParent().player!=player) return true;
} }
event.addCount_extra=true;
var num=info.usable; var num=info.usable;
if(typeof num=='function') num=num(card,player); if(typeof num=='function') num=num(card,player);
num=game.checkMod(card,player,num,'cardUsable',player); num=game.checkMod(card,player,num,'cardUsable',player);
@ -24479,7 +24510,6 @@
if(game.hasPlayer(function(current){ if(game.hasPlayer(function(current){
return game.checkMod(card,player,current,false,'cardUsableTarget',player); return game.checkMod(card,player,current,false,'cardUsableTarget',player);
})){ })){
_status.event.addCount_extra=true;
return true; return true;
} }
return false; return false;
@ -26553,6 +26583,14 @@
phaseName:['phaseZhunbei','phaseJudge','phaseDraw','phaseUse','phaseDiscard','phaseJieshu'], phaseName:['phaseZhunbei','phaseJudge','phaseDraw','phaseUse','phaseDiscard','phaseJieshu'],
}; };
var game={ var game={
getRarity:function(name){
var rank=lib.rank.rarity;
if(rank.legend.contains(name)) return 'legend';
if(rank.epic.contains(name)) return 'epic';
if(rank.rare.contains(name)) return 'rare';
if(get.mode()!='chess'&&rank.junk.contains(name)) return 'junk';
return 'common';
},
getGlobalHistory:function(key,filter){ getGlobalHistory:function(key,filter){
if(!key) return _status.globalHistory[_status.globalHistory.length-1]; if(!key) return _status.globalHistory[_status.globalHistory.length-1];
if(!filter) return _status.globalHistory[_status.globalHistory.length-1][key]; if(!filter) return _status.globalHistory[_status.globalHistory.length-1][key];
@ -33877,6 +33915,24 @@
void window.getComputedStyle(node, null).getPropertyValue("opacity"); void window.getComputedStyle(node, null).getPropertyValue("opacity");
}, },
create:{ create:{
rarity:function(button){
var rarity=game.getRarity(button.link);
if(rarity!='common'){
var intro=button.node.intro;
intro.classList.add('showintro');
intro.style.fontFamily='yuanli';
intro.style.fontSize='16px';
intro.style.bottom='6px';
intro.style.left='6px';
switch(rarity){
case 'rare':intro.dataset.nature='thunderm';break;
case 'epic':intro.dataset.nature='metalm';break;
case 'legend':intro.dataset.nature='orangem';break;
case 'junk':intro.dataset.nature='woodm';break;
}
intro.innerHTML=get.translation(rarity);
}
},
div:function(){ div:function(){
var str,innerHTML,position,position2,style,divposition,listen; var str,innerHTML,position,position2,style,divposition,listen;
for(var i=0;i<arguments.length;i++){ for(var i=0;i<arguments.length;i++){
@ -36267,6 +36323,7 @@
for(var i=0;i<buttons.length;i++){ for(var i=0;i<buttons.length;i++){
buttons[i].classList.add('noclick'); buttons[i].classList.add('noclick');
buttons[i].listen(banCharacter); buttons[i].listen(banCharacter);
if(lib.config.show_rarity) ui.create.rarity(buttons[i]);
buttons[i].node.hp.style.transition='all 0s'; buttons[i].node.hp.style.transition='all 0s';
buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML; buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML;
if(mode!='mode_banned'){ if(mode!='mode_banned'){
@ -36286,6 +36343,7 @@
for(var i=0;i<buttons.length;i++){ for(var i=0;i<buttons.length;i++){
buttons[i].classList.add('noclick'); buttons[i].classList.add('noclick');
buttons[i].listen(banCharacter); buttons[i].listen(banCharacter);
if(lib.config.show_rarity) ui.create.rarity(buttons[i]);
buttons[i].node.hp.style.transition='all 0s'; buttons[i].node.hp.style.transition='all 0s';
buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML; buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML;
if(mode!='mode_banned'){ if(mode!='mode_banned'){
@ -36298,6 +36356,7 @@
var buttons=ui.create.buttons(list,'character',page); var buttons=ui.create.buttons(list,'character',page);
for(var i=0;i<buttons.length;i++){ for(var i=0;i<buttons.length;i++){
buttons[i].classList.add('noclick'); buttons[i].classList.add('noclick');
if(lib.config.show_rarity) ui.create.rarity(buttons[i]);
buttons[i].listen(banCharacter); buttons[i].listen(banCharacter);
buttons[i].node.hp.style.transition='all 0s'; buttons[i].node.hp.style.transition='all 0s';
buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML; buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML;
@ -49506,6 +49565,7 @@
var list=[]; var list=[];
for(var i in lib.character){ for(var i in lib.character){
var info=lib.character[i]; var info=lib.character[i];
if(!info) continue;
if(typeof func=='function'&&!func(info,i)) continue; if(typeof func=='function'&&!func(info,i)) continue;
if(lib.filter.characterDisabled(i)) continue; if(lib.filter.characterDisabled(i)) continue;
if(lib.filter.characterDisabled2(i)) continue; if(lib.filter.characterDisabled2(i)) continue;

View File

@ -1,26 +1,26 @@
window.noname_update={ window.noname_update={
version:'1.9.105.8.1', version:'1.9.105.9.1',
update:'1.9.105.8', update:'1.9.105.9',
changeLog:[ changeLog:[
'界于吉解禁', '四花张让',
'张翼技能调整', '修复飞弩bug',
'bug修复', '其他bug修复',
], ],
files:[ files:[
'card/extra.js', //'card/extra.js',
//'card/huanlekapai.js', //'card/huanlekapai.js',
//'card/sp.js', //'card/sp.js',
'card/standard.js', 'card/standard.js',
//'card/swd.js', 'card/swd.js',
//'card/mtg.js', //'card/mtg.js',
//'card/gujian.js', //'card/gujian.js',
//'card/guozhan.js', //'card/guozhan.js',
//'card/gwent.js', //'card/gwent.js',
//'card/yunchou.js', 'card/yunchou.js',
//'card/zhenfa.js', //'card/zhenfa.js',
//'card/zhulu.js', //'card/zhulu.js',
'character/diy.js', 'character/diy.js',
'character/extra.js', //'character/extra.js',
//'character/hearth.js', //'character/hearth.js',
//'character/gujian.js', //'character/gujian.js',
//'character/gwent.js', //'character/gwent.js',
@ -28,12 +28,13 @@ window.noname_update={
'character/mobile.js', 'character/mobile.js',
//'character/mtg.js', //'character/mtg.js',
//'character/old.js', //'character/old.js',
'character/rank.js',
'character/refresh.js', 'character/refresh.js',
'character/shenhua.js', 'character/shenhua.js',
'character/sp.js', 'character/sp.js',
'character/sp2.js', 'character/sp2.js',
//'character/tw.js', //'character/tw.js',
//'character/standard.js', 'character/standard.js',
//'character/swd.js', //'character/swd.js',
//'character/xianjian.js', //'character/xianjian.js',
//'character/xinghuoliaoyuan.js', //'character/xinghuoliaoyuan.js',
@ -50,13 +51,13 @@ window.noname_update={
//'mode/single.js', //'mode/single.js',
//'mode/stone.js', //'mode/stone.js',
//'mode/brawl.js', //'mode/brawl.js',
//'mode/versus.js', 'mode/versus.js',
//'mode/boss.js', //'mode/boss.js',
'game/game.js', 'game/game.js',
//'game/keyWords.js', //'game/keyWords.js',
//'game/server.js', //'game/server.js',
//'game/NoSleep.js', //'game/NoSleep.js',
'game/config.js', //'game/config.js',
//'game/package.js', //'game/package.js',
//'game/asset.js', //'game/asset.js',
//'game/source.js', //'game/source.js',

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

View File

@ -3869,14 +3869,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
["diamond",13,"hualiu"], ["diamond",13,"hualiu"],
["club",1,"baiyin"], ["club",1,"baiyin"],
["spade",2,"tengjia",'fire'], ["spade",2,"tengjia"],
["club",2,"tengjia",'fire'], ["club",2,"tengjia"],
["spade",1,"guding"], ["spade",1,"guding"],
["diamond",1,"zhuque",'fire'], ["diamond",1,"zhuque"],
["heart",2,"huogong","fire"], ["heart",2,"huogong"],
["heart",3,"huogong","fire"], ["heart",3,"huogong"],
["diamond",12,"huogong","fire"], ["diamond",12,"huogong"],
["spade",11,"tiesuo"], ["spade",11,"tiesuo"],
["spade",12,"tiesuo"], ["spade",12,"tiesuo"],
["club",10,"tiesuo"], ["club",10,"tiesuo"],
@ -4033,13 +4033,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
["diamond",13,"hualiu"], ["diamond",13,"hualiu"],
["club",1,"baiyin"], ["club",1,"baiyin"],
["spade",2,"tengjia",'fire'], ["spade",2,"tengjia",],
["spade",1,"guding"], ["spade",1,"guding"],
["diamond",1,"zhuque",'fire'], ["diamond",1,"zhuque"],
["heart",2,"huogong","fire"], ["heart",2,"huogong"],
["heart",3,"huogong","fire"], ["heart",3,"huogong"],
["diamond",12,"huogong","fire"], ["diamond",12,"huogong"],
["spade",11,"tiesuo"], ["spade",11,"tiesuo"],
["spade",12,"tiesuo"], ["spade",12,"tiesuo"],
["club",10,"tiesuo"], ["club",10,"tiesuo"],