どすこい
This commit is contained in:
parent
90ce65ea4a
commit
48fb28ec84
565
character/diy.js
565
character/diy.js
|
@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connectBanned:['diy_tianyu','diy_yangyi','diy_lukang','ns_huamulan','ns_yuji','ns_duangui','ns_liuzhang','key_yuu'],
|
||||
character:{
|
||||
sp_key_yuri:['female','qun',4,['mubing','ziqu','diaoling']],
|
||||
ns_zhangwei:['female','wei',3,['nsqiyue','nsxuezhu']],
|
||||
ns_zhangwei:['female','shu',3,['nsqiyue','nsxuezhu']],
|
||||
ns_chendao:['male','shu',4,['nsjianglie']],
|
||||
yj_caoang:['male','wei',4,['yjxuepin']],
|
||||
diy_wenyang:['male','wei','4/6',['lvli','choujue']],
|
||||
|
@ -62,6 +62,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_ryoichi:['male','key',4,['ryoichi_baoyi','ryoichi_tuipi']],
|
||||
key_kotori:['female','key',3,['kotori_yumo','kotori_huazhan']],
|
||||
key_jojiro:['male','key',4,['jojiro_shensu','jojiro_shunying']],
|
||||
key_shiroha:['female','key',3,['shiroha_yuzhao','shiroha_guying','shiroha_jiezhao']],
|
||||
|
||||
key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']],
|
||||
key_misuzu:['female','key',3,['misuzu_hengzhou','misuzu_nongyin','misuzu_zhongxing']],
|
||||
|
@ -135,6 +136,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
// ns_lisu:['male','qun',3,[]],
|
||||
// ns_sunhao:['male','qun',3,[]],
|
||||
ns_xinnanhua:['male','qun',3,['ns_xiandao','ns_xiuzheng','ns_chuanshu'],[]],
|
||||
ns_caimao:['male','qun',4,['nsdingzhou']],
|
||||
|
||||
old_jiakui:['male','wei',4,['tongqu','xinwanlan']],
|
||||
ol_guohuai:['male','wei',3,['rejingce']],
|
||||
|
@ -165,9 +167,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
diy_yijiang:["key_kud","key_misuzu","key_kamome","key_nao",
|
||||
"ns_huangchengyan","ns_sunchensunjun","ns_yuanxi","ns_caoshuang"],
|
||||
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","ns_caimao"],
|
||||
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","key_jojiro"],
|
||||
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","key_shiroha"],
|
||||
diy_yongjian:["ns_chendao","yj_caoang"],
|
||||
diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang'],
|
||||
},
|
||||
|
@ -184,6 +186,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。',
|
||||
},
|
||||
characterTitle:{
|
||||
key_shiroha:'#bSummer Pockets',
|
||||
key_jojiro:'#bCharlotte<br>战棋专属角色',
|
||||
key_kotori:'#bRewrite',
|
||||
key_ryoichi:'#bSummer Pockets',
|
||||
|
@ -244,6 +247,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ns_yuanxi:'#g食茸二十四',
|
||||
ns_caoshuang:'#g荬庀芬兰',
|
||||
|
||||
ns_caimao:'#gP尔号玩家◆',
|
||||
diy_wenyang:'#g最粗的梦想XD',
|
||||
ns_zuoci:'#bskystarwuwei',
|
||||
ns_lvzhi:'#bskystarwuwei',
|
||||
|
@ -341,6 +345,241 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_lucia:['key_shizuru'],
|
||||
},
|
||||
skill:{
|
||||
shiroha_yuzhao:{
|
||||
trigger:{
|
||||
global:'gameDrawAfter',
|
||||
player:'enterGame',
|
||||
},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
content:function(){
|
||||
player.markAuto('shiroha_yuzhao',game.cardsGotoSpecial(get.cards(game.countGroup())).cards);
|
||||
},
|
||||
marktext:'兆',
|
||||
intro:{
|
||||
onunmark:function(storage,player){
|
||||
if(storage&&storage.length){
|
||||
player.$throw(storage,1000);
|
||||
game.cardsDiscard(storage);
|
||||
game.log(storage,'被置入了弃牌堆');
|
||||
storage.length=0;
|
||||
}
|
||||
},
|
||||
mark:function(dialog,content,player){
|
||||
if(content&&content.length){
|
||||
if(player==game.me||player.isUnderControl()){
|
||||
dialog.addAuto(content);
|
||||
}
|
||||
else{
|
||||
return '共有'+get.cnNumber(content.length)+'张牌';
|
||||
}
|
||||
}
|
||||
},
|
||||
content:function(content,player){
|
||||
if(content&&content.length){
|
||||
if(player==game.me||player.isUnderControl()){
|
||||
return get.translation(content);
|
||||
}
|
||||
return '共有'+get.cnNumber(content.length)+'张牌';
|
||||
}
|
||||
}
|
||||
},
|
||||
group:'shiroha_yuzhao_umi',
|
||||
},
|
||||
shiroha_yuzhao_umi:{
|
||||
trigger:{global:'phaseBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.getStorage('shiroha_yuzhao').length>0&&get.distance(event.player,player)<=1;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.num=game.countGroup();
|
||||
player.markAuto('shiroha_yuzhao',game.cardsGotoSpecial(get.cards(event.num)).cards);
|
||||
if(window.decadeUI&&!_status.connectMode) event.goto(3);
|
||||
'step 1'
|
||||
player.chooseButton(['将'+get.cnNumber(num)+'张牌置于牌堆顶(先选择的在上)',player.getStorage('shiroha_yuzhao')],true,num).set('ai',function(button){
|
||||
var player=_status.event.player;
|
||||
var next=_status.event.getTrigger().player;
|
||||
var att=get.attitude(player,next);
|
||||
var card=button.link;
|
||||
var judge=next.getCards('j')[ui.selected.buttons.length];
|
||||
if(judge){
|
||||
return get.judge(judge)(card)*att;
|
||||
}
|
||||
return get.value(card)*att;
|
||||
});
|
||||
'step 2'
|
||||
player.unmarkAuto('shiroha_yuzhao',result.links);
|
||||
while(result.links.length){
|
||||
ui.cardPile.insertBefore(result.links.pop().fix(),ui.cardPile.firstChild);
|
||||
}
|
||||
game.updateRoundNumber();
|
||||
event.finish();
|
||||
'step 3'
|
||||
'短鸽自己八成不会写,我先写好算了';
|
||||
var cards=player.getStorage('shiroha_yuzhao');
|
||||
var yuzhao=decadeUI.content.chooseGuanXing(player,cards,cards.length,null,num);
|
||||
yuzhao.caption='【预兆】';
|
||||
yuzhao.header1='预兆';
|
||||
yuzhao.header2='牌堆顶';
|
||||
yuzhao.tip='将'+num+'张牌置于牌堆顶<br>'+yuzhao.tip;
|
||||
yuzhao.callback=function(){
|
||||
return this.cards[1].length==num;
|
||||
};
|
||||
event.switchToAuto=function(){
|
||||
var cheats=[];
|
||||
var cards=yuzhao.cards[0].slice(0);
|
||||
var stopped=false;
|
||||
|
||||
var next=trigger.player;
|
||||
var hasFriend=get.attitude(player,next)>0;
|
||||
|
||||
var judges=next.node.judges.childNodes;
|
||||
if(judges.length>0) cheats=decadeUI.get.cheatJudgeCards(cards,judges,hasFriend);
|
||||
if(hasFriend){
|
||||
cards=cards.sort(function(b,a){
|
||||
return get.value(b,next)-get.value(a,next);
|
||||
});
|
||||
}
|
||||
else{
|
||||
cards.sort(function(a,b){
|
||||
return get.value(b,next)-get.value(a,next);
|
||||
});
|
||||
}
|
||||
cards=cheats.concat(cards);
|
||||
var time=500;
|
||||
var gainNum=num;
|
||||
for(var i=cards.length-1;i>=0;i--){
|
||||
setTimeout(function(card,index,finished,moveDown){
|
||||
yuzhao.move(card,index,moveDown?1:0);
|
||||
if(finished) yuzhao.finishTime(1000);
|
||||
},time,cards[i],i,i==0,gainNum>0);
|
||||
time += 500;
|
||||
gainNum--;
|
||||
}
|
||||
};
|
||||
if(!event.isMine()){
|
||||
event.switchToAuto();
|
||||
}
|
||||
'step 4'
|
||||
var cards=event.cards2;
|
||||
if(event.result&&event.result.bool){
|
||||
player.unmarkAuto('shiroha_yuzhao',cards);
|
||||
var first=ui.cardPile.firstChild;
|
||||
while(cards.length){
|
||||
ui.cardPile.insertBefore(cards.pop().fix(),ui.cardPile.firstChild);
|
||||
}
|
||||
}
|
||||
game.updateRoundNumber();
|
||||
},
|
||||
},
|
||||
shiroha_guying:{
|
||||
derivation:'shiroha_guying_rewrite',
|
||||
trigger:{
|
||||
player:'damageBegin3',
|
||||
source:'damageBegin1',
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player,name){
|
||||
if(name=='damageBegin3') return true;
|
||||
if(!player.storage.shiroha_jiezhao&&player.hasSkill('shiroha_guying_temp')) return false;
|
||||
return player!=event.player;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=event.triggername=='damageBegin3'?-1:1;
|
||||
event.num=num;
|
||||
if(player.storage.shiroha_jiezhao||!player.hasSkill('shiroha_guying')){
|
||||
if(num>0) player.chooseBool(get.prompt('shiroha_guying',trigger.player),'进行判定。若判定结果为黑色,则即将对其造成的伤害+1');
|
||||
else player.chooseBool(get.prompt('shiroha_guying'),'进行判定。若判定结果为红色,则即将受到的伤害-1');
|
||||
}
|
||||
else event._result={bool:true};
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.addTempSkill('shiroha_guying_temp');
|
||||
player.judge(function(card){
|
||||
return (get.color(card)==(_status.event.getParent('shiroha_guying').num>0?'black':'red'))?2:0;
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(result.bool) trigger.num+=num;
|
||||
},
|
||||
},
|
||||
shiroha_guying_temp:{},
|
||||
shiroha_jiezhao:{
|
||||
trigger:{global:'judge'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.getStorage('shiroha_yuzhao').length&&event.player.isAlive();
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var list=player.storage.shiroha_yuzhao;
|
||||
player.chooseButton([get.translation(trigger.player)+'的'+(trigger.judgestr||'')+'判定为'+get.translation(trigger.player.judging[0])+
|
||||
','+get.prompt('shiroha_jiezhao'),list,'hidden'],function(button){
|
||||
var card=button.link;
|
||||
var trigger=_status.event.getTrigger();
|
||||
var player=_status.event.player;
|
||||
var judging=_status.event.judging;
|
||||
var result=trigger.judge(card)-trigger.judge(judging);
|
||||
var attitude=get.attitude(player,trigger.player);
|
||||
return result*attitude;
|
||||
}).set('judging',trigger.player.judging[0]).set('filterButton',function(button){
|
||||
var player=_status.event.player;
|
||||
var card=button.link;
|
||||
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
|
||||
if(mod2!='unchanged') return mod2;
|
||||
var mod=game.checkMod(card,player,'unchanged','cardRespondable',player);
|
||||
if(mod!='unchanged') return mod;
|
||||
return true;
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
event.forceDie=true;
|
||||
player.respond(result.links,'shiroha_jiezhao','highlight','noOrdering');
|
||||
result.cards=result.links;
|
||||
player.unmarkAuto('shiroha_yuzhao',result.cards);
|
||||
if(!player.storage.shiroha_yuzhao.length){
|
||||
player.storage.shiroha_jiezhao=true;
|
||||
player.gainMaxHp();
|
||||
player.recover();
|
||||
var list=['umi_chaofan','ao_xishi','tsumugi_mugyu','kamome_jieban'];
|
||||
var skill=list.randomGet();
|
||||
player.addSkillLog(skill);
|
||||
player.flashAvatar('shiroha_jiezhao','key_'+skill.split('_')[0])
|
||||
}
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
if(result.bool){
|
||||
if(trigger.player.judging[0].clone){
|
||||
trigger.player.judging[0].clone.classList.remove('thrownhighlight');
|
||||
game.broadcast(function(card){
|
||||
if(card.clone){
|
||||
card.clone.classList.remove('thrownhighlight');
|
||||
}
|
||||
},trigger.player.judging[0]);
|
||||
game.addVideo('deletenode',player,get.cardsInfo([trigger.player.judging[0].clone]));
|
||||
}
|
||||
game.cardsDiscard(trigger.player.judging[0]);
|
||||
trigger.player.judging[0]=result.cards[0];
|
||||
trigger.orderingCards.addArray(result.cards);
|
||||
game.log(trigger.player,'的判定牌改为',result.cards[0]);
|
||||
game.delay(2);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
rejudge:true,
|
||||
tag:{
|
||||
rejudge:0.6
|
||||
}
|
||||
},
|
||||
derivation:['umi_chaofan','ao_xishi','tsumugi_mugyu','kamome_jieban'],
|
||||
},
|
||||
jojiro_shensu:{
|
||||
group:['jojiro_shensu1','jojiro_shensu2','jojiro_shensu4'],
|
||||
charlotte:true,
|
||||
|
@ -520,9 +759,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
kotori_skill_wei:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')>0;
|
||||
},
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseCardTarget({
|
||||
|
@ -997,10 +1236,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.storage.zhibi.addArray(game.players);
|
||||
},
|
||||
ai:{
|
||||
viewHandcard:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(player==arg) return false;
|
||||
},
|
||||
viewHandcard:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(player==arg) return false;
|
||||
},
|
||||
},
|
||||
},
|
||||
abyusa_dunying:{
|
||||
|
@ -1241,10 +1480,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
miki_binoculars:{
|
||||
locked:true,
|
||||
ai:{
|
||||
viewHandcard:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(player==arg) return false;
|
||||
},
|
||||
viewHandcard:true,
|
||||
skillTagFilter:function(player,tag,arg){
|
||||
if(player==arg) return false;
|
||||
},
|
||||
},
|
||||
},
|
||||
kud_qiaoshou:{
|
||||
|
@ -2723,18 +2962,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
prompt:'是否交给一名其他角色两张牌?',
|
||||
position:'he',
|
||||
ai1:function(card){
|
||||
var player=_status.event.player;
|
||||
if(player.maxHp-player.hp==1&&card.name=='du') return 30;
|
||||
var check=player.countCards('h')-2;
|
||||
if(check<1) return 0;
|
||||
if(player.hp>1&&check<2) return 0;
|
||||
return get.unuseful(card)+9;
|
||||
},
|
||||
ai2:function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(ui.selected.cards.length==1&&ui.selected.cards[0].name=='du') return 1-att;
|
||||
return att-2;
|
||||
},
|
||||
var player=_status.event.player;
|
||||
if(player.maxHp-player.hp==1&&card.name=='du') return 30;
|
||||
var check=player.countCards('h')-2;
|
||||
if(check<1) return 0;
|
||||
if(player.hp>1&&check<2) return 0;
|
||||
return get.unuseful(card)+9;
|
||||
},
|
||||
ai2:function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(ui.selected.cards.length==1&&ui.selected.cards[0].name=='du') return 1-att;
|
||||
return att-2;
|
||||
},
|
||||
});
|
||||
}
|
||||
'step 2'
|
||||
|
@ -2981,73 +3220,73 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
var targets=game.players.slice(0);
|
||||
var info=get.info(card);
|
||||
var range;
|
||||
if(!info.notarget){
|
||||
var select=get.copy(info.selectTarget);
|
||||
if(select==undefined){
|
||||
range=[1,1];
|
||||
}
|
||||
else if(typeof select=='number') range=[select,select];
|
||||
else if(get.itemtype(select)=='select') range=select;
|
||||
else if(typeof select=='function') range=select(card,player);
|
||||
game.checkMod(card,target,range,'selectTarget',target);
|
||||
}
|
||||
if(info.notarget||range[1]==-1){
|
||||
if(range[1]==-1){
|
||||
for(var i=0;i<targets.length;i++){
|
||||
if(!target.canUse(card,targets[i])){
|
||||
targets.splice(i--,1);
|
||||
}
|
||||
}
|
||||
if(targets.length){
|
||||
event.targets2=targets;
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
}
|
||||
else event.targets2=[];
|
||||
var next=player.chooseBool();
|
||||
next.set('prompt',event.prompt||('是否令'+get.translation(target)+(event.targets2.length?'对':'')+get.translation(event.targets2)+'使用'+get.translation(card)+'?'));
|
||||
next.set('prompt2','或点「取消」,令其将此牌置入弃牌堆');
|
||||
next.ai=function(){
|
||||
var eff=0;
|
||||
for(var i=0;i<event.targets2.length;i++){
|
||||
eff+=get.effect(event.targets2[i],card,target,player);
|
||||
}
|
||||
return eff>0;
|
||||
};
|
||||
}
|
||||
else{
|
||||
var next=player.chooseTarget();
|
||||
next.set('_get_card',card);
|
||||
next.set('source',target);
|
||||
next.set('filterTarget',function(card,player,target){
|
||||
return lib.filter.filterTarget(_status.event._get_card,_status.event.source,target);
|
||||
});
|
||||
next.set('ai',function(target){
|
||||
var evt=_status.event;
|
||||
return get.effect(target,evt._get_card,evt.source,evt.player)
|
||||
});
|
||||
next.set('selectTarget',function(){
|
||||
var card=get.card(),player=_status.event.source;
|
||||
if(card==undefined) return;
|
||||
var range;
|
||||
var select=get.copy(get.info(card).selectTarget);
|
||||
if(select==undefined){
|
||||
if(get.info(card).filterTarget==undefined) return[0,0];
|
||||
range=[1,1];
|
||||
}
|
||||
else if(typeof select=='number') range=[select,select];
|
||||
else if(get.itemtype(select)=='select') range=select;
|
||||
else if(typeof select=='function') range=select(card,player);
|
||||
game.checkMod(card,player,range,'selectTarget',player);
|
||||
return range;
|
||||
});
|
||||
next.set('prompt',event.prompt||('选择'+get.translation(target)+'使用'+get.translation(card)+'的目标'));
|
||||
next.set('prompt2','或点「取消」令其将此牌置入弃牌堆');
|
||||
}
|
||||
var range;
|
||||
if(!info.notarget){
|
||||
var select=get.copy(info.selectTarget);
|
||||
if(select==undefined){
|
||||
range=[1,1];
|
||||
}
|
||||
else if(typeof select=='number') range=[select,select];
|
||||
else if(get.itemtype(select)=='select') range=select;
|
||||
else if(typeof select=='function') range=select(card,player);
|
||||
game.checkMod(card,target,range,'selectTarget',target);
|
||||
}
|
||||
if(info.notarget||range[1]==-1){
|
||||
if(range[1]==-1){
|
||||
for(var i=0;i<targets.length;i++){
|
||||
if(!target.canUse(card,targets[i])){
|
||||
targets.splice(i--,1);
|
||||
}
|
||||
}
|
||||
if(targets.length){
|
||||
event.targets2=targets;
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
}
|
||||
else event.targets2=[];
|
||||
var next=player.chooseBool();
|
||||
next.set('prompt',event.prompt||('是否令'+get.translation(target)+(event.targets2.length?'对':'')+get.translation(event.targets2)+'使用'+get.translation(card)+'?'));
|
||||
next.set('prompt2','或点「取消」,令其将此牌置入弃牌堆');
|
||||
next.ai=function(){
|
||||
var eff=0;
|
||||
for(var i=0;i<event.targets2.length;i++){
|
||||
eff+=get.effect(event.targets2[i],card,target,player);
|
||||
}
|
||||
return eff>0;
|
||||
};
|
||||
}
|
||||
else{
|
||||
var next=player.chooseTarget();
|
||||
next.set('_get_card',card);
|
||||
next.set('source',target);
|
||||
next.set('filterTarget',function(card,player,target){
|
||||
return lib.filter.filterTarget(_status.event._get_card,_status.event.source,target);
|
||||
});
|
||||
next.set('ai',function(target){
|
||||
var evt=_status.event;
|
||||
return get.effect(target,evt._get_card,evt.source,evt.player)
|
||||
});
|
||||
next.set('selectTarget',function(){
|
||||
var card=get.card(),player=_status.event.source;
|
||||
if(card==undefined) return;
|
||||
var range;
|
||||
var select=get.copy(get.info(card).selectTarget);
|
||||
if(select==undefined){
|
||||
if(get.info(card).filterTarget==undefined) return[0,0];
|
||||
range=[1,1];
|
||||
}
|
||||
else if(typeof select=='number') range=[select,select];
|
||||
else if(get.itemtype(select)=='select') range=select;
|
||||
else if(typeof select=='function') range=select(card,player);
|
||||
game.checkMod(card,player,range,'selectTarget',player);
|
||||
return range;
|
||||
});
|
||||
next.set('prompt',event.prompt||('选择'+get.translation(target)+'使用'+get.translation(card)+'的目标'));
|
||||
next.set('prompt2','或点「取消」令其将此牌置入弃牌堆');
|
||||
}
|
||||
}
|
||||
}
|
||||
else event.finish();
|
||||
|
@ -3272,10 +3511,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
respondSha:true,
|
||||
skillTagFilter:function(player){
|
||||
return player.countCards('he',function(card){
|
||||
return get.type(card)!='basic';
|
||||
})>0;
|
||||
},
|
||||
return player.countCards('he',function(card){
|
||||
return get.type(card)!='basic';
|
||||
})>0;
|
||||
},
|
||||
},
|
||||
},
|
||||
hinata_qiulve_clear:{
|
||||
|
@ -3530,21 +3769,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
group:'yuiko_dilve_gain',
|
||||
subSkill:{
|
||||
gain:{
|
||||
trigger:{
|
||||
player:['chooseToCompareAfter','compareMultipleAfter'],
|
||||
target:['chooseToCompareAfter','compareMultipleAfter']
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(event.preserve) return false;
|
||||
return [event.card1,event.card2].filterInD('od').length>0;
|
||||
},
|
||||
prompt2:function(event,player){
|
||||
return '获得'+get.translation([event.card1,event.card2].filterInD('od'));
|
||||
},
|
||||
content:function(){
|
||||
player.gain([trigger.card1,trigger.card2].filterInD('od'),'gain2','log');
|
||||
}
|
||||
gain:{
|
||||
trigger:{
|
||||
player:['chooseToCompareAfter','compareMultipleAfter'],
|
||||
target:['chooseToCompareAfter','compareMultipleAfter']
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(event.preserve) return false;
|
||||
return [event.card1,event.card2].filterInD('od').length>0;
|
||||
},
|
||||
prompt2:function(event,player){
|
||||
return '获得'+get.translation([event.card1,event.card2].filterInD('od'));
|
||||
},
|
||||
content:function(){
|
||||
player.gain([trigger.card1,trigger.card2].filterInD('od'),'gain2','log');
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -3739,10 +3978,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(event.player==player) return false;
|
||||
if(player!=event.respondTo[0]) return false;
|
||||
if(!player.hasSkill('sasami_funan_jiexun')){
|
||||
var cards=[]
|
||||
if(get.itemtype(event.respondTo[1])=='card') cards.push(event.respondTo[1]);
|
||||
else if(event.respondTo[1].cards) cards.addArray(event.respondTo[1].cards);
|
||||
return cards.filterInD('od').length>0;
|
||||
var cards=[]
|
||||
if(get.itemtype(event.respondTo[1])=='card') cards.push(event.respondTo[1]);
|
||||
else if(event.respondTo[1].cards) cards.addArray(event.respondTo[1].cards);
|
||||
return cards.filterInD('od').length>0;
|
||||
}
|
||||
else return event.cards.filterInD('od').length>0;
|
||||
},
|
||||
|
@ -3751,9 +3990,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
if(!player.hasSkill('sasami_funan_jiexun')){
|
||||
var cards=[]
|
||||
if(get.itemtype(trigger.respondTo[1])=='card') cards.push(trigger.respondTo[1]);
|
||||
else if(trigger.respondTo[1].cards) cards.addArray(trigger.respondTo[1].cards);
|
||||
cards=cards.filterInD('od');
|
||||
if(get.itemtype(trigger.respondTo[1])=='card') cards.push(trigger.respondTo[1]);
|
||||
else if(trigger.respondTo[1].cards) cards.addArray(trigger.respondTo[1].cards);
|
||||
cards=cards.filterInD('od');
|
||||
trigger.player.gain(cards,'gain2','log');
|
||||
trigger.player.addTempSkill('sasami_funan_use');
|
||||
if(!trigger.player.storage.sasami_funan_use){
|
||||
|
@ -5992,9 +6231,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
event.result.skill='nsdaizhan';
|
||||
},
|
||||
ai:{
|
||||
result:{
|
||||
target:1,
|
||||
},
|
||||
result:{
|
||||
target:1,
|
||||
},
|
||||
},
|
||||
};
|
||||
},
|
||||
|
@ -6445,29 +6684,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
ns_chuanshu:{
|
||||
audio:["xingshuai",2],
|
||||
trigger:{
|
||||
global:"dying",
|
||||
},
|
||||
priority:8,
|
||||
unique:true,
|
||||
skillAnimation:true,
|
||||
animationColor:"water",
|
||||
filter:function (event,player){
|
||||
return event.player.hp<=0&&event.player!=player;
|
||||
},
|
||||
check:function (event,player){
|
||||
return get.attitude(player,event.player)>0;
|
||||
},
|
||||
logTarget:"player",
|
||||
content:function (){
|
||||
audio:["xingshuai",2],
|
||||
trigger:{
|
||||
global:"dying",
|
||||
},
|
||||
priority:8,
|
||||
unique:true,
|
||||
skillAnimation:true,
|
||||
animationColor:"water",
|
||||
filter:function (event,player){
|
||||
return event.player.hp<=0&&event.player!=player;
|
||||
},
|
||||
check:function (event,player){
|
||||
return get.attitude(player,event.player)>0;
|
||||
},
|
||||
logTarget:"player",
|
||||
content:function (){
|
||||
'step 0'
|
||||
trigger.player.chooseControl('releiji','guidao').set('prompt',''+get.translation(trigger.player)+'获得一项技能');
|
||||
goon=true;
|
||||
if(!goon){
|
||||
event.finish();
|
||||
}
|
||||
'step 1'
|
||||
if(!goon){
|
||||
event.finish();
|
||||
}
|
||||
'step 1'
|
||||
trigger.player.addSkillLog(result.control);
|
||||
trigger.player.recover(1-trigger.player.hp);
|
||||
trigger.player.draw(2);
|
||||
|
@ -9695,7 +9934,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
},
|
||||
jugong:{
|
||||
jugong:{
|
||||
audio:["jingong",2],
|
||||
trigger:{
|
||||
global:"damageEnd",
|
||||
|
@ -11063,6 +11302,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
threaten:1.3
|
||||
},
|
||||
nsdingzhou:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterTarget:function(card,player,target){
|
||||
return target!=player&&target.countCards('hej')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var card=target.getCards('hej').randomGet();
|
||||
event.card=card;
|
||||
player.gain(card,target,'giveAuto','bySelf');
|
||||
player.draw();
|
||||
'step 1'
|
||||
if(Array.isArray(result)&&get.color(card)!=get.color(result[0])) player.loseHp();
|
||||
},
|
||||
ai:{
|
||||
order:7,
|
||||
result:{target:-1},
|
||||
},
|
||||
},
|
||||
},
|
||||
dynamicTranslate:{
|
||||
nsjiquan:function(player){
|
||||
|
@ -11093,6 +11352,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.storage.kamome_jieban) return '转换技。每回合限一次,当你受到或造成伤害后,阴:你可将两张牌交给一名其他角色,然后其交给你一张牌。<span class="bluetext">阳:你可将一张牌交给一名其他角色,然后其交给你两张牌。</span>';
|
||||
return '转换技。每回合限一次,当你受到或造成伤害后,<span class="bluetext">阴:你可将两张牌交给一名其他角色,然后其交给你一张牌。</span>阳:你可将一张牌交给一名其他角色,然后其交给你两张牌。';
|
||||
},
|
||||
shiroha_guying:function(player){
|
||||
var str='当你受到伤害/对其他角色造成伤害时,你';
|
||||
if(!player.storage.shiroha_jiezhao) str='锁定技,每回合限一次,'+str;
|
||||
if(player.storage.shiroha_jiezhao) str+='可';
|
||||
str+='进行判定。若结果为红色/黑色,此伤害-1/+1。';
|
||||
return str;
|
||||
},
|
||||
},
|
||||
translate:{
|
||||
diy_liufu:'刘馥',
|
||||
|
@ -11213,6 +11479,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
key_ryoichi:'三谷良一',
|
||||
key_kotori:'神户小鸟',
|
||||
key_jojiro:'高城丈士朗',
|
||||
key_shiroha:'鸣濑白羽',
|
||||
lucia_duqu:'毒躯',
|
||||
lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。<br>②当你因【毒】失去体力时,你改为回复等量的体力。<br>③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。',
|
||||
lucia_zhenren:'振刃',
|
||||
|
@ -11496,6 +11763,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jojiro_shensu4:'神速',
|
||||
jojiro_shunying:'瞬影',
|
||||
jojiro_shunying_info:'锁定技,回合结束时,若你本回合内跳过了阶段,则你选择一项:1.失去1点体力。2.移动至多X格并摸X张牌(X为你本回合内跳过的阶段数)。',
|
||||
shiroha_yuzhao:'预兆',
|
||||
shiroha_yuzhao_umi:'预兆',
|
||||
shiroha_yuzhao_info:'锁定技,游戏开始时,你将牌堆顶的X张牌扣置于你的武将牌上,称为「兆」。一名角色的回合开始时,若你有「兆」且其至你的距离不大于1,则你将牌堆顶的X张牌扣置为「兆」,然后将等量的「兆」置于牌堆顶。(X为势力数)',
|
||||
shiroha_guying:'孤影',
|
||||
shiroha_guying_info:'锁定技,每回合限一次,当你受到伤害/对其他角色造成伤害时,你进行判定。若结果为红色/黑色,此伤害-1/+1。',
|
||||
shiroha_guying_rewrite:'孤影·改',
|
||||
shiroha_guying_rewrite_info:'当你受到伤害/对其他角色造成伤害时,你可进行判定。若结果为红色/黑色,此伤害-1/+1。',
|
||||
shiroha_jiezhao:'解兆',
|
||||
shiroha_jiezhao_info:'一名角色的判定牌生效前,你可打出一张「兆」代替之。当你以此法移去最后一张「兆」后,你加1点体力上限并回复1点体力,然后修改〖孤影〗并随机获得以下技能中的一个:〖炒饭〗/〖习事〗/〖呣啾〗/〖结伴〗。',
|
||||
|
||||
key_kud:'库特莉亚芙卡',
|
||||
kud_qiaoshou:'巧手',
|
||||
|
@ -11801,6 +12077,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
junktaoluan5:'滔乱',
|
||||
junktaoluan_backup:'滔乱',
|
||||
junktaoluan_info:'你可将一张牌当做任意一张基本牌或普通锦囊牌使用(此牌不得是本局游戏你以此法使用过的牌,且每回合每种花色限一次),然后你令一名其他角色选择一项:1.交给你一张与“滔乱”声明的牌类别不同的牌;2.本回合“滔乱”失效且回合结束时你失去1点体力。',
|
||||
ns_caimao:'蔡瑁',
|
||||
nsdingzhou:'定州',
|
||||
nsdingzhou_info:'出牌阶段限一次,你可以选择一名区域内有牌的其他角色。你随机获得其区域内的一张牌,然后摸一张牌。若你以此法获得了两张颜色不同的牌,则你失去1点体力。',
|
||||
diy_tieba:'吧友设计',
|
||||
diy_default:'常规',
|
||||
diy_key:'论外',
|
||||
|
|
|
@ -811,6 +811,7 @@ window.noname_character_rank={
|
|||
'key_kamome',
|
||||
'key_noda',
|
||||
'key_shiina',
|
||||
'key_shiroha',
|
||||
],
|
||||
epic:[
|
||||
'pal_yueqi',
|
||||
|
|
|
@ -2271,9 +2271,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else{
|
||||
event.localPlayer=true;
|
||||
player.chooseCard(true).set('glow_result',true).ai=function(){
|
||||
var hasShan=!target.countCards('h','shan');
|
||||
player.chooseCard(true).set('glow_result',true).ai=function(card){
|
||||
if(hasShan&&get.name(card)=='sha') return 1;
|
||||
return Math.random();
|
||||
};
|
||||
}
|
||||
}
|
||||
if(target.isOnline()){
|
||||
target.wait(sendback);
|
||||
|
|
|
@ -1547,7 +1547,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var num=Math.min(5,player.countCards('h',function(cardx){
|
||||
return (name=='neifa_basic')!=(get.type(cardx,player)=='basic')
|
||||
}));
|
||||
player.addMark(name,num,false);
|
||||
if(num>0) player.addMark(name,num,false);
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
|
@ -1838,7 +1838,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
trigger:{global:'phaseJieshuBegin'},
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&(event.player.hp>player.hp||event.player.countUsed('sha'))
|
||||
return event.player!=player&&(event.player.hp>player.hp||event.player.getHistory('useCard',function(card){
|
||||
return card.name=='sha';
|
||||
}).length>0);
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
|
@ -1847,6 +1849,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
next.set('openskilldialog',get.prompt2('niluan'));
|
||||
next.set('norestore',true);
|
||||
next.set('_backupevent','niluanx');
|
||||
next.set('custom',{
|
||||
add:{},
|
||||
replace:{window:function(){}}
|
||||
});
|
||||
next.backup('niluanx');
|
||||
},
|
||||
},
|
||||
|
@ -8720,7 +8726,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
if(!player.countCards(player.hasSkill('fenxin_nei')?'he':'h',function(card){
|
||||
if(_status.connectMode&&get.position(card)=='h') return true;
|
||||
return get.color(card)=='black';
|
||||
return get.color(card)=='red';
|
||||
})) return false;
|
||||
return event.source&&(event.source.hp>=player.hp||player.hasSkill('fenxin_zhong'))&&player!=event.source;
|
||||
},
|
||||
|
@ -9140,6 +9146,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
next.set('openskilldialog','默识:将一张手牌当'+get.translation(card)+'使用');
|
||||
next.set('norestore',true);
|
||||
next.set('_backupevent','mozhix');
|
||||
next.set('custom',{
|
||||
add:{},
|
||||
replace:{window:function(){}}
|
||||
});
|
||||
next.backup('mozhix');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -852,7 +852,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
audioname:['sp_key_yuri'],
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
direct:true,
|
||||
//direct:true,
|
||||
frequent:true,
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')>0;
|
||||
},
|
||||
|
@ -4918,6 +4919,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
next.set('openskilldialog',get.prompt2('xinfu_sidao'));
|
||||
next.set('norestore',true);
|
||||
next.set('_backupevent','xinfu_sidaox');
|
||||
next.set('custom',{
|
||||
add:{},
|
||||
replace:{window:function(){}}
|
||||
});
|
||||
next.backup('xinfu_sidaox');
|
||||
},
|
||||
},
|
||||
|
|
|
@ -5024,8 +5024,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(!map[id]) map[id]={};
|
||||
if(!map[id].extraDamage) map[id].extraDamage=0;
|
||||
map[id].extraDamage++;
|
||||
player.judge(function(card){
|
||||
if(get.color(card)=='red') return 1;
|
||||
trigger.target.judge(function(card){
|
||||
if(get.color(card)=='red') return -1;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
|
|
@ -2775,6 +2775,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
next.set('openskilldialog','妙笔:将一张手牌当'+get.translation(card)+'使用');
|
||||
next.set('norestore',true);
|
||||
next.set('_backupevent','miaobix');
|
||||
next.set('custom',{
|
||||
add:{},
|
||||
replace:{window:function(){}}
|
||||
});
|
||||
next.backup('miaobix');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.105.9.1',
|
||||
'v1.9.105.10',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -3445,6 +3445,8 @@ window.noname_asset_list=[
|
|||
'image/character/xin_baosanniang.jpg',
|
||||
'image/character/key_jojiro.jpg',
|
||||
'image/character/junk_zhangrang.jpg',
|
||||
'image/character/key_shiroha.jpg',
|
||||
'image/character/ns_caimao.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
15
game/game.js
15
game/game.js
|
@ -33917,7 +33917,7 @@
|
|||
create:{
|
||||
rarity:function(button){
|
||||
var rarity=game.getRarity(button.link);
|
||||
if(rarity!='common'){
|
||||
if(rarity!='common'&&lib.config.show_rarity){
|
||||
var intro=button.node.intro;
|
||||
intro.classList.add('showintro');
|
||||
intro.style.fontFamily='yuanli';
|
||||
|
@ -33932,6 +33932,13 @@
|
|||
}
|
||||
intro.innerHTML=get.translation(rarity);
|
||||
}
|
||||
if((button.link=='xushu'||button.link=='xin_xushu')&&button.node&&button.node.name&&button.node.group){
|
||||
if(button.classList.contains('newstyle')){
|
||||
button.node.name.dataset.nature='watermm';
|
||||
button.node.group.dataset.nature='water';
|
||||
}
|
||||
else button.node.group.style.backgroundColor=get.translation('weiColor');
|
||||
}
|
||||
},
|
||||
div:function(){
|
||||
var str,innerHTML,position,position2,style,divposition,listen;
|
||||
|
@ -36323,7 +36330,7 @@
|
|||
for(var i=0;i<buttons.length;i++){
|
||||
buttons[i].classList.add('noclick');
|
||||
buttons[i].listen(banCharacter);
|
||||
if(lib.config.show_rarity) ui.create.rarity(buttons[i]);
|
||||
ui.create.rarity(buttons[i]);
|
||||
buttons[i].node.hp.style.transition='all 0s';
|
||||
buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML;
|
||||
if(mode!='mode_banned'){
|
||||
|
@ -36343,7 +36350,7 @@
|
|||
for(var i=0;i<buttons.length;i++){
|
||||
buttons[i].classList.add('noclick');
|
||||
buttons[i].listen(banCharacter);
|
||||
if(lib.config.show_rarity) ui.create.rarity(buttons[i]);
|
||||
ui.create.rarity(buttons[i]);
|
||||
buttons[i].node.hp.style.transition='all 0s';
|
||||
buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML;
|
||||
if(mode!='mode_banned'){
|
||||
|
@ -36356,7 +36363,7 @@
|
|||
var buttons=ui.create.buttons(list,'character',page);
|
||||
for(var i=0;i<buttons.length;i++){
|
||||
buttons[i].classList.add('noclick');
|
||||
if(lib.config.show_rarity) ui.create.rarity(buttons[i]);
|
||||
ui.create.rarity(buttons[i]);
|
||||
buttons[i].listen(banCharacter);
|
||||
buttons[i].node.hp.style.transition='all 0s';
|
||||
buttons[i].node.hp._innerHTML=buttons[i].node.hp.innerHTML;
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
window.noname_update={
|
||||
version:'1.9.105.9.1',
|
||||
update:'1.9.105.9',
|
||||
version:'1.9.105.10',
|
||||
update:'1.9.105.9.1',
|
||||
changeLog:[
|
||||
'四花张让',
|
||||
'修复飞弩bug',
|
||||
'鸣濑白羽',
|
||||
'3v3v2规则修复',
|
||||
'其他bug修复',
|
||||
],
|
||||
files:[
|
||||
//'card/extra.js',
|
||||
//'card/huanlekapai.js',
|
||||
//'card/sp.js',
|
||||
'card/standard.js',
|
||||
'card/swd.js',
|
||||
//'card/standard.js',
|
||||
//'card/swd.js',
|
||||
//'card/mtg.js',
|
||||
//'card/gujian.js',
|
||||
//'card/guozhan.js',
|
||||
//'card/gwent.js',
|
||||
'card/yunchou.js',
|
||||
//'card/yunchou.js',
|
||||
//'card/zhenfa.js',
|
||||
//'card/zhulu.js',
|
||||
'character/diy.js',
|
||||
|
@ -25,34 +25,34 @@ window.noname_update={
|
|||
//'character/gujian.js',
|
||||
//'character/gwent.js',
|
||||
//'character/hearth.js',
|
||||
'character/mobile.js',
|
||||
//'character/mobile.js',
|
||||
//'character/mtg.js',
|
||||
//'character/old.js',
|
||||
'character/rank.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
//'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
'character/standard.js',
|
||||
//'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
'character/yxs.js',
|
||||
//'extension/boss/extension.js',
|
||||
//'layout/default/layout.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'mode/identity.js',
|
||||
'mode/identity.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
//'mode/chess.js',
|
||||
'mode/guozhan.js',
|
||||
'mode/chess.js',
|
||||
//'mode/tafang.js',
|
||||
//'mode/single.js',
|
||||
//'mode/stone.js',
|
||||
//'mode/brawl.js',
|
||||
'mode/versus.js',
|
||||
//'mode/boss.js',
|
||||
//'mode/versus.js',
|
||||
'mode/boss.js',
|
||||
'game/game.js',
|
||||
//'game/keyWords.js',
|
||||
//'game/server.js',
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 149 KiB |
Binary file not shown.
After Width: | Height: | Size: 68 KiB |
24
mode/boss.js
24
mode/boss.js
|
@ -8876,7 +8876,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
if(player.countCards('h')==0) return false;
|
||||
if(!player.hasSkill('qiangxi')) return true;
|
||||
if(!player.hasSkill('qiangxix')) return true;
|
||||
if(!player.hasSkill('retieji')) return true;
|
||||
if(!player.hasSkill('rexuanfeng')) return true;
|
||||
if(!player.hasSkill('wansha')) return true;
|
||||
|
@ -8891,7 +8891,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
'step 0'
|
||||
var list=[];
|
||||
if(!player.hasSkill('qiangxi')) list.push('qiangxi');
|
||||
if(!player.hasSkill('qiangxix')) list.push('qiangxix');
|
||||
if(!player.hasSkill('retieji')) list.push('retieji');
|
||||
if(!player.hasSkill('rexuanfeng')) list.push('rexuanfeng');
|
||||
if(!player.hasSkill('wansha')) list.push('wansha');
|
||||
|
@ -8902,19 +8902,19 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
player.chooseControl(list,function(){
|
||||
if(list.contains('rexuanfeng')&&player.countCards('he',{type:'equip'})) return 'rexuanfeng';
|
||||
if(!player.getStat().skill.qiangxi){
|
||||
if(player.hasSkill('qiangxi')&&player.getEquip(1)&&list.contains('rexuanfeng')) return 'rexuanfeng';
|
||||
if(list.contains('wansha')||list.contains('qiangxi')){
|
||||
if(!player.getStat().skill.qiangxix){
|
||||
if(player.hasSkill('qiangxix')&&player.getEquip(1)&&list.contains('rexuanfeng')) return 'rexuanfeng';
|
||||
if(list.contains('wansha')||list.contains('qiangxix')){
|
||||
var players=game.filterPlayer();
|
||||
for(var i=0;i<players.length;i++){
|
||||
if(players[i].hp==1&&get.attitude(player,players[i])<0){
|
||||
if(list.contains('wansha')) return 'wansha';
|
||||
if(list.contains('qiangxi')) return 'qiangxi';
|
||||
if(list.contains('qiangxix')) return 'qiangxix';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(list.contains('qiangxi')) return 'qiangxi';
|
||||
if(list.contains('qiangxix')) return 'qiangxix';
|
||||
if(list.contains('wansha')) return 'wansha';
|
||||
if(list.contains('rexuanfeng')) return 'rexuanfeng';
|
||||
return 'retieji';
|
||||
|
@ -8928,8 +8928,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
order:function(){
|
||||
var player=_status.event.player;
|
||||
if(player.countCards('e',{type:'equip'})) return 10;
|
||||
if(!player.getStat().skill.qiangxi){
|
||||
if(player.hasSkill('qiangxi')&&player.getEquip(1)&&!player.hasSkill('rexuanfeng')) return 10;
|
||||
if(!player.getStat().skill.qiangxix){
|
||||
if(player.hasSkill('qiangxix')&&player.getEquip(1)&&!player.hasSkill('rexuanfeng')) return 10;
|
||||
if(player.hasSkill('wansha')) return 1;
|
||||
var players=game.filterPlayer();
|
||||
for(var i=0;i<players.length;i++){
|
||||
|
@ -8941,9 +8941,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
result:{
|
||||
player:function(player){
|
||||
if(player.countCards('e',{type:'equip'})) return 1;
|
||||
if(!player.getStat().skill.qiangxi){
|
||||
if(player.hasSkill('qiangxi')&&player.getEquip(1)&&!player.hasSkill('rexuanfeng')) return 1;
|
||||
if(!player.hasSkill('wansha')||!player.hasSkill('qiangxi')){
|
||||
if(!player.getStat().skill.qiangxix){
|
||||
if(player.hasSkill('qiangxix')&&player.getEquip(1)&&!player.hasSkill('rexuanfeng')) return 1;
|
||||
if(!player.hasSkill('wansha')||!player.hasSkill('qiangxix')){
|
||||
var players=game.filterPlayer();
|
||||
for(var i=0;i<players.length;i++){
|
||||
if(players[i].hp==1&&get.attitude(player,players[i])<0) return 1;
|
||||
|
|
438
mode/chess.js
438
mode/chess.js
|
@ -1915,8 +1915,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
else{
|
||||
str='选择一个已方角色摸一张牌'
|
||||
}
|
||||
var nevt=next.chooseTarget(str,function(card,player,target){
|
||||
return target.side==next.side;
|
||||
var nevt=player.chooseTarget(str,function(card,player,target){
|
||||
return target.side==player.side;
|
||||
},[1,num2-num1]);
|
||||
nevt.ai=function(target){
|
||||
return Math.max(1,10-target.countCards('h'));
|
||||
|
@ -2138,23 +2138,46 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
ui.money.childNodes[2].style.color='#FFE600';
|
||||
ui.money.childNodes[3].style.fontFamily='huangcao';
|
||||
ui.money.style.letterSpacing='4px';
|
||||
for(var i in lib.rank){
|
||||
if(Array.isArray(lib.rank[i])){
|
||||
for(var j=0;j<lib.rank[i].length;j++){
|
||||
if(!lib.character[lib.rank[i][j]]){
|
||||
lib.rank[i].splice(j--,1);
|
||||
if(get.config('chess_leader_allcharacter')){
|
||||
for(var i in lib.rank){
|
||||
if(Array.isArray(lib.rank[i])){
|
||||
for(var j=0;j<lib.rank[i].length;j++){
|
||||
if(!lib.character[lib.rank[i][j]]){
|
||||
lib.rank[i].splice(j--,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for(var i in lib.rank.rarity){
|
||||
if(Array.isArray(lib.rank.rarity[i])){
|
||||
for(var j=0;j<lib.rank.rarity[i].length;j++){
|
||||
if(!lib.character[lib.rank.rarity[i][j]]){
|
||||
lib.rank.rarity[i].splice(j--,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for(var i in lib.rank.rarity){
|
||||
if(Array.isArray(lib.rank.rarity[i])){
|
||||
for(var j=0;j<lib.rank.rarity[i].length;j++){
|
||||
if(!lib.character[lib.rank.rarity[i][j]]){
|
||||
lib.rank.rarity[i].splice(j--,1);
|
||||
else{
|
||||
var list=get.gainableCharacters().filter(function(i){
|
||||
return i.indexOf('leader_')!=0;
|
||||
});
|
||||
list.randomSort();
|
||||
for(var i in lib.rank.rarity){
|
||||
if(Array.isArray(lib.rank.rarity[i])){
|
||||
for(var j=0;j<lib.rank.rarity[i].length;j++){
|
||||
if(!list.contains(lib.rank.rarity[i][j])||!lib.character[lib.rank.rarity[i][j]]){
|
||||
lib.rank.rarity[i].splice(j--,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var length=Math.ceil(list.length/9);
|
||||
for(var i in lib.rank){
|
||||
if(Array.isArray(lib.rank[i])){
|
||||
lib.rank[i]=list.splice(0,length);
|
||||
}
|
||||
}
|
||||
}
|
||||
'step 1'
|
||||
lib.rank.all=lib.rank.s.
|
||||
|
@ -2269,11 +2292,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
node.node.intro.style.top='145px';
|
||||
}
|
||||
node.node.intro.style.fontSize='20px';
|
||||
node.node.intro.style.fontFamily='huangcao';
|
||||
node.node.intro.style.fontFamily='yuanli';
|
||||
switch(rarity){
|
||||
case 'rare':node.node.intro.dataset.nature='waterm';break;
|
||||
case 'epic':node.node.intro.dataset.nature='thunderm';break;
|
||||
case 'legend':node.node.intro.dataset.nature='metalm';break;
|
||||
case 'rare':node.node.intro.dataset.nature='thunderm';break;
|
||||
case 'epic':node.node.intro.dataset.nature='metalm';break;
|
||||
case 'legend':node.node.intro.dataset.nature='orangem';break;
|
||||
}
|
||||
}
|
||||
if(kaibao){
|
||||
|
@ -2323,6 +2346,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(lib.character[name][1]=='shu') return 1;
|
||||
if(lib.character[name][1]=='wu') return 2;
|
||||
if(lib.character[name][1]=='qun') return 3;
|
||||
if(lib.character[name][1]=='key') return 4;
|
||||
};
|
||||
game.data.character.sort(function(a,b){
|
||||
var del=groupSort(a)-groupSort(b);
|
||||
|
@ -2349,14 +2373,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
if(rarity!='common'){
|
||||
var intro=button.node.intro;
|
||||
intro.classList.add('showintro');
|
||||
intro.style.fontFamily='huangcao';
|
||||
intro.style.fontFamily='yuanli';
|
||||
intro.style.fontSize='20px';
|
||||
intro.style.top='82px';
|
||||
intro.style.left='2px';
|
||||
switch(rarity){
|
||||
case 'rare':intro.dataset.nature='waterm';break;
|
||||
case 'epic':intro.dataset.nature='thunderm';break;
|
||||
case 'legend':intro.dataset.nature='metalm';break;
|
||||
case 'rare':intro.dataset.nature='thunderm';break;
|
||||
case 'epic':intro.dataset.nature='metalm';break;
|
||||
case 'legend':intro.dataset.nature='orangem';break;
|
||||
}
|
||||
intro.innerHTML=get.translation(rarity);
|
||||
}
|
||||
|
@ -3597,13 +3621,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.saveData();
|
||||
ui.money.childNodes[1].innerHTML=game.data.dust;
|
||||
},
|
||||
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';
|
||||
return 'common';
|
||||
},
|
||||
chooseCharacter:function(){
|
||||
var next=game.createEvent('chooseCharacter',false);
|
||||
next.showConfig=true;
|
||||
|
@ -4523,7 +4540,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
leader_xiaoxiong:{
|
||||
unique:true,
|
||||
forced:true,
|
||||
trigger:{source:'damageEnd'},
|
||||
trigger:{source:'damageSource'},
|
||||
filter:function(event,player){
|
||||
return event.num>0;
|
||||
},
|
||||
|
@ -4855,7 +4872,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
cangming2:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
forced:true,
|
||||
popup:false,
|
||||
content:function(){
|
||||
|
@ -4883,7 +4900,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
inherit:'juece',
|
||||
},
|
||||
boss_stoneqiangzheng:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
forced:true,
|
||||
unique:true,
|
||||
filter:function(event,player){
|
||||
|
@ -4912,7 +4929,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
guanchuan:{
|
||||
trigger:{player:'shaBefore'},
|
||||
trigger:{player:'useCardToPlayer'},
|
||||
getTargets:function(player,target){
|
||||
var targets=[];
|
||||
var pxy=player.getXY();
|
||||
|
@ -4941,7 +4958,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return targets;
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(event.targets.length!=1) return false;
|
||||
if(event.targets.length!=1||event.card.name!='sha') return false;
|
||||
return lib.skill.guanchuan.getTargets(player,event.targets[0]).length>0;
|
||||
},
|
||||
check:function(event,player){
|
||||
|
@ -5019,7 +5036,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
zhiming:{
|
||||
trigger:{source:'damageBegin'},
|
||||
trigger:{source:'damageBegin1'},
|
||||
filter:function(event,player){
|
||||
return get.distance(event.player,player,'attack')>1&&event.card&&event.card.name=='sha';
|
||||
},
|
||||
|
@ -5032,25 +5049,27 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
mod:{
|
||||
cardUsable:function(card,player,num){
|
||||
if(card.name=='sha'){
|
||||
return num+player.countUsed()-player.countUsed('sha');
|
||||
return num+player.getHistory('useCard',function(evt){
|
||||
return evt.card.name!='sha';
|
||||
}).length;
|
||||
}
|
||||
},
|
||||
},
|
||||
trigger:{player:'useCard'},
|
||||
frequent:true,
|
||||
filter:function(event){
|
||||
return event.card&&event.card.name=='sha';
|
||||
return event.card&&event.card.name=='sha'&&player.getHistory('useCard',function(evt){
|
||||
return evt.card.name=='sha';
|
||||
})[0]==event;
|
||||
},
|
||||
usable:1,
|
||||
content:function(){
|
||||
player.draw();
|
||||
},
|
||||
ai:{
|
||||
threaten:1.5
|
||||
threaten:1.5,
|
||||
}
|
||||
},
|
||||
pianyi:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return !player.getStat('damage');
|
||||
|
@ -5065,14 +5084,18 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
lingdong:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.countUsed('sha')>0;
|
||||
return player.getHistory('useCard',function(evt){
|
||||
return evt.card.name=='sha';
|
||||
}).length>0;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseToMove(player.countUsed('sha'),get.prompt('lingdong'));
|
||||
player.chooseToMove(player.getHistory('useCard',function(evt){
|
||||
return evt.card.name=='sha';
|
||||
}).length,get.prompt('lingdong'));
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('lingdong');
|
||||
|
@ -5343,8 +5366,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
return current-2;
|
||||
},
|
||||
},
|
||||
trigger:{player:'phaseDrawBegin'},
|
||||
trigger:{player:'phaseDrawBegin2'},
|
||||
forced:true,
|
||||
filter:function(event){
|
||||
return !event.numFixed;
|
||||
},
|
||||
content:function(){
|
||||
trigger.num+=2;
|
||||
}
|
||||
|
@ -5381,7 +5407,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
position:'he',
|
||||
filterCard:{type:'equip'},
|
||||
init:function(player){
|
||||
player.forcemin=true;
|
||||
for(var i=1;i<6;i++){
|
||||
player.$disableEquip('equip'+i);
|
||||
};
|
||||
},
|
||||
check:function(card){
|
||||
var player=_status.currentPhase;
|
||||
|
@ -5419,7 +5447,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
boss_wushang:{
|
||||
trigger:{player:'phaseBegin'},
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
|
@ -5573,64 +5601,64 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
leader_liubei:'刘备',
|
||||
leader_sunquan:'孙权',
|
||||
leader_xiaoxiong:'枭雄',
|
||||
leader_xiaoxiong_info:'每当你造成伤害,获胜后会得到一定数量的额外金币奖励',
|
||||
leader_xiaoxiong_info:'当你造成伤害后,获胜后会得到一定数量的额外金币奖励。',
|
||||
leader_renyi:'仁义',
|
||||
leader_renyi_info:'你招降敌将的成功率大幅增加',
|
||||
leader_renyi_info:'你招降敌将的成功率大幅增加。',
|
||||
leader_mouduan:'谋断',
|
||||
leader_mouduan_info:'其他友方角色回合内的行动范围+1',
|
||||
leader_mouduan_info:'其他友方角色回合内的行动范围+1。',
|
||||
|
||||
tongshuai:'统率',
|
||||
tongshuai_info:'准备阶段和结束阶段,你可以选择一名未上场的已方武将的一个技能作为你的技能',
|
||||
leader_zhaoxiang:'招降',
|
||||
leader_zhaoxiang_info:'出牌阶段限一次,你可以尝试对相邻敌方武将进行招降,若成功,你获得该武将并立即结束本局游戏,若失败,你受到一点伤害。每发动一次消耗10招募令',
|
||||
leader_zhaoxiang_info:'出牌阶段限一次,你可以尝试对相邻敌方武将进行招降,若成功,你获得该武将并立即结束本局游戏,若失败,你受到一点伤害。每发动一次消耗10招募令。',
|
||||
|
||||
common:'普通',
|
||||
rare:'稀有',
|
||||
rare:'精品',
|
||||
epic:'史诗',
|
||||
legend:'传说',
|
||||
|
||||
chess_shezhang:'设置路障',
|
||||
chess_shezhang_info:'选择一名角色,在其四周设置临时路障,持续X回合(X为存活角色数)',
|
||||
chess_shezhang_info:'选择一名角色,在其四周设置临时路障,持续X回合(X为存活角色数)。',
|
||||
chess_chuzhang:'清除路障',
|
||||
chess_chuzhang_info:'将你相邻的路障而后推移一格,每影响一个路障你摸一张牌',
|
||||
chess_chuzhang_info:'将与你相邻的路障向后推移一格,每影响一个路障你摸一张牌。',
|
||||
|
||||
_chess_chuzhang:'除障',
|
||||
_chess_chuzhang_info:'出牌阶段限一次,若你周围四格至少有三个为障碍或在边缘外,你可以选择将其中一个障碍向后推移一格(若无法推移则改为清除之)',
|
||||
_chess_chuzhang_info:'出牌阶段限一次,若你周围四格至少有三个为障碍或在边缘外,你可以选择将其中一个障碍向后推移一格(若无法推移则改为清除之)。',
|
||||
|
||||
arenaAdd:'援军',
|
||||
arenaAdd_info:'出牌阶段限一次,你可以令一名未出场的已方角色加入战场。战斗结束后,该角色无论是否存活均不能再次出场',
|
||||
arenaAdd_info:'出牌阶段限一次,你可以令一名未出场的已方角色加入战场。战斗结束后,该角色无论是否存活均不能再次出场。',
|
||||
|
||||
pianyi:'翩仪',
|
||||
pianyi_info:'结束阶段,若你没有于本回合内造成伤害,你获得一次移动机会',
|
||||
pianyi_info:'结束阶段,若你于本回合内未造成过伤害,你获得一次移动机会。',
|
||||
lingdong:'灵动',
|
||||
lingdong_info:'结束阶段,你可以移动X个格,X为你回合内出杀的次数',
|
||||
lingdong_info:'结束阶段,你可以移动至多X格(X为你本回合内使用【杀】的次数)。',
|
||||
lianshe:'箭舞',
|
||||
lianshe_info:'当你于一个回合中首次使用杀时,你可以摸一张牌;在你的回合内,每当你使用一张不是杀的牌,你可以额外使用一张杀',
|
||||
lianshe_info:'当你于一回合内首次使用【杀】时,你可以摸一张牌;你的回合内,当你使用一张不为【杀】的牌时,你令本回合内使用【杀】的次数上限+1。',
|
||||
zhiming:'穿杨',
|
||||
zhiming_info:'锁定技,当你使用杀造成伤害时,若你不在目标的攻击范围内,此伤害+1',
|
||||
zhiming_info:'锁定技,当你使用【杀】造成伤害时,若你不在目标角色的攻击范围内,此伤害+1。',
|
||||
sanjiansheji:'散箭',
|
||||
sanjiansheji_info:'你可以将两张杀当杀使用,此杀可以指定距离你5格以内任意名目标',
|
||||
sanjiansheji_info:'你可以将两张【杀】当做【杀】使用,你以此法使用的【杀】可以指定距离5格内的角色为目标。',
|
||||
guanchuan:'强弩',
|
||||
guanchuan_info:'当你使用杀指定惟一的目标后,可将攻击射线内的其他角色也加入目标',
|
||||
guanchuan_info:'当你使用【杀】指定唯一目标后,你可令攻击射线内的其他角色也成为此【杀】的目标。',
|
||||
|
||||
boss_stoneqiangzheng:'强征',
|
||||
boss_stoneqiangzheng_info:'锁定技,结束阶段,你获得每个其他角色的一张手牌',
|
||||
boss_stoneqiangzheng_info:'锁定技,结束阶段,你获得所有其他角色的各一张手牌。',
|
||||
boss_stonebaolin:'暴凌',
|
||||
boss_moyan:'魔焰',
|
||||
boss_moyan_info:'锁定技,结束阶段,你对场上所有角色造成一点火焰伤害',
|
||||
boss_moyan_info:'锁定技,结束阶段,你对场上所有角色造成1点火焰伤害。',
|
||||
|
||||
cangming:'颠动沧溟',
|
||||
cangming_info:'出牌阶段限一次,你可弃置四张花色不同的手牌并将武将牌翻至背面,然后令所有其他角色进入混乱状态直到你的下一回合开始',
|
||||
cangming_info:'出牌阶段限一次,你可弃置四张花色不同的手牌并将武将牌翻至背面,然后令所有其他角色进入混乱状态直到你的下一回合开始。',
|
||||
boss_bfengxing:'风行',
|
||||
boss_bfengxing_info:'锁定技,你摸牌阶段摸牌数+2;你的攻击范围+2;你回合内的移动距离+2',
|
||||
boss_bfengxing_info:'锁定技,摸牌阶段,你多摸两张牌;你的攻击范围+2;你回合内的移动距离+2。',
|
||||
boss_chiyu:'炽羽',
|
||||
boss_chiyu_info:'出牌阶段限一次,你可以弃置一张红色牌对距离5以内的所有其他角色造成一点火焰伤害',
|
||||
boss_chiyu_info:'出牌阶段限一次,你可以弃置一张红色牌,对距离5以内的所有其他角色各造成一点火焰伤害。',
|
||||
boss_tenglong:'腾龙八齐',
|
||||
boss_tenglong_info:'你没有装备区;出牌阶段限一次,你可以弃置一张装备牌对一名距离你2以内的其他角色造成3点火焰伤害',
|
||||
boss_tenglong_info:'锁定技,你废除你的装备区;出牌阶段限一次,你可以弃置一张装备牌并对一名距离你2以内的其他角色造成3点火焰伤害。',
|
||||
boss_wushang:'神天并地',
|
||||
boss_wushang_info:'锁定技,准备阶段,距离你5以内的所有其他角色需交给你一张手牌',
|
||||
boss_wushang_info:'锁定技,准备阶段,距离你5以内的所有其他角色需交给你一张手牌。',
|
||||
boss_wuying:'无影',
|
||||
boss_wuying_info:'锁定技,你回合内的移动距离-1;你的防御距离+2',
|
||||
boss_wuying_info:'锁定技,你回合内的移动距离-1;其他角色至你的距离+2。',
|
||||
|
||||
mode_chess_character_config:'战棋模式',
|
||||
mode_chess_card_config:'战棋模式',
|
||||
|
@ -6011,7 +6039,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
//
|
||||
// chess_lvbu:['male','qun',3,['']],
|
||||
chess_sunshangxiang:['female','wu',3,['lingdong','lianshe','gongji']],
|
||||
chess_diaochan:['female','qun',3,['xingzhui','pianyi','biyue']],
|
||||
chess_diaochan:['female','qun',3,['xingzhui','pianyi','rebiyue']],
|
||||
// chess_huatuo:['male','qun',3,['zhenjiu','mazui']],
|
||||
// chess_zhangjiao:['male','qun',3,['']],
|
||||
// chess_menghuo:['male','qun',3,['']],
|
||||
|
@ -6033,280 +6061,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
['spade',1,'chess_chuzhang']
|
||||
],
|
||||
rank:{
|
||||
rarity:{
|
||||
legend:[
|
||||
'swd_muyun',
|
||||
'shen_caocao',
|
||||
'swd_zhaoyun',
|
||||
'swd_septem',
|
||||
'hs_sthrall',
|
||||
'hs_malorne',
|
||||
'swd_yuwentuo',
|
||||
'swd_duguningke',
|
||||
'swd_guyue',
|
||||
'swd_yuxiaoxue',
|
||||
'swd_huanglei',
|
||||
'pal_liumengli',
|
||||
'pal_yuntianhe',
|
||||
'swd_xuanyuanjianxian',
|
||||
'diaochan',
|
||||
'gjqt_aruan',
|
||||
'hs_neptulon',
|
||||
'shen_lvbu',
|
||||
'swd_qi',
|
||||
'swd_huzhongxian',
|
||||
'hs_medivh',
|
||||
'shen_zhugeliang',
|
||||
'yxs_wuzetian',
|
||||
'sp_pangtong',
|
||||
'swd_murongshi',
|
||||
'shen_lvmeng',
|
||||
'chenlin',
|
||||
'diy_caiwenji',
|
||||
're_luxun',
|
||||
'shen_zhaoyun',
|
||||
'zhangchunhua',
|
||||
'shen_zhouyu',
|
||||
'shen_simayi',
|
||||
'shen_guanyu',
|
||||
'hs_siwangzhiyi',
|
||||
'chengyu',
|
||||
'yangxiu',
|
||||
'hs_malygos',
|
||||
'hs_ysera',
|
||||
'hanba',
|
||||
'hs_aya',
|
||||
'hs_kazhakusi',
|
||||
'gw_jieluote',
|
||||
'gw_yenaifa',
|
||||
'gw_telisi',
|
||||
'gw_xili',
|
||||
'swd_huiyan',
|
||||
'hs_pyros',
|
||||
],
|
||||
epic:[
|
||||
'pal_yueqi',
|
||||
'pal_yuejinzhao',
|
||||
'pal_mingxiu',
|
||||
'hs_tyrande',
|
||||
'hs_amala',
|
||||
'yxs_libai',
|
||||
'swd_shuwaner',
|
||||
'swd_kendi',
|
||||
'lingju',
|
||||
'daxiaoqiao',
|
||||
'sunxiu',
|
||||
'swd_weida',
|
||||
'swd_lilian',
|
||||
'yxs_luban',
|
||||
'hs_alextrasza',
|
||||
'zhugeguo',
|
||||
'sp_caiwenji',
|
||||
'ow_yuanshi',
|
||||
'diy_zhenji',
|
||||
'swd_jipeng',
|
||||
'swd_cheyun',
|
||||
'pal_xuanxiao',
|
||||
'old_zhonghui',
|
||||
'swd_tuobayuer',
|
||||
'gjqt_bailitusu',
|
||||
'xunyu',
|
||||
'swd_jiliang',
|
||||
'liuxie',
|
||||
'hs_totemic',
|
||||
'zhangxingcai',
|
||||
'swd_muyue',
|
||||
'pal_zixuan',
|
||||
'hs_bchillmaw',
|
||||
'swd_lanyin',
|
||||
'gjqt_xiayize',
|
||||
'hs_aedwin',
|
||||
'hs_antonidas',
|
||||
'swd_chenjingchou',
|
||||
'yxs_yangyuhuan',
|
||||
'gjqt_fengqingxue',
|
||||
'pal_xuejian',
|
||||
'xunyou',
|
||||
're_daqiao',
|
||||
're_zhouyu',
|
||||
'hs_wvelen',
|
||||
'zhugeke',
|
||||
'swd_kama',
|
||||
'swd_anka',
|
||||
'caozhi',
|
||||
'wuguotai',
|
||||
'yxs_aijiyanhou',
|
||||
'swd_zhiyin',
|
||||
're_guanyu',
|
||||
'sp_diaochan',
|
||||
'swd_huanyuanzhi',
|
||||
'swd_kangnalishi',
|
||||
're_huanggai',
|
||||
'hs_alakir',
|
||||
'swd_xiarou',
|
||||
'pal_murongziying',
|
||||
'swd_wangsiyue',
|
||||
'gjqt_fanglansheng',
|
||||
'swd_qiner',
|
||||
'hs_xsylvanas',
|
||||
'zhongyao',
|
||||
'hs_blingtron',
|
||||
'hs_fuding',
|
||||
'shixie',
|
||||
'hs_lafamu',
|
||||
'hs_nozdormu',
|
||||
'ow_tianshi',
|
||||
'yxs_guiguzi',
|
||||
'ow_zhixuzhiguang',
|
||||
'hs_jiaziruila',
|
||||
'hs_yelise',
|
||||
'hs_xuefashi',
|
||||
'hs_liadrin',
|
||||
'yxs_libai',
|
||||
'gw_aisinie',
|
||||
'gw_falanxisika',
|
||||
'pal_lixiaoyao',
|
||||
'pal_xingxuan',
|
||||
'gjqt_ouyangshaogong',
|
||||
'gjqt_xunfang',
|
||||
],
|
||||
rare:[
|
||||
'pal_shenqishuang',
|
||||
'hs_selajin',
|
||||
'hs_enzoth',
|
||||
'hs_yashaji',
|
||||
'hs_yogg',
|
||||
'hs_kcthun',
|
||||
'pal_nangonghuang',
|
||||
'pal_wangpengxu',
|
||||
'gw_yioufeisi',
|
||||
'gw_luoqi',
|
||||
'sunluban',
|
||||
'sunluyu',
|
||||
'zhangliang',
|
||||
'zhangbao',
|
||||
'sp_zhangjiao',
|
||||
'swd_xiyan',
|
||||
'sunluban',
|
||||
'ow_falaozhiying',
|
||||
'yxs_kaisa',
|
||||
'yxs_napolun',
|
||||
'hs_nate',
|
||||
'yxs_jinke',
|
||||
'yxs_yuefei',
|
||||
'guyong',
|
||||
'hs_anomalus',
|
||||
'hs_jinglinglong',
|
||||
'jiangqing',
|
||||
'mayunlu',
|
||||
're_liubei',
|
||||
're_lidian',
|
||||
'swd_xiaohuanglong',
|
||||
'hs_alleria',
|
||||
'jsp_huangyueying',
|
||||
'hs_lreno',
|
||||
'hs_zhouzhuo',
|
||||
'cenhun',
|
||||
'hs_loatheb',
|
||||
'sunziliufang',
|
||||
'hs_finley',
|
||||
'ow_chanyata',
|
||||
'yxs_huamulan',
|
||||
'cuiyan',
|
||||
'wangji',
|
||||
'xin_liru',
|
||||
'swd_quxian',
|
||||
'caorui',
|
||||
'ow_liekong',
|
||||
'ow_zhixuzhiguang',
|
||||
'lifeng',
|
||||
'sundeng',
|
||||
'hs_xialikeer',
|
||||
'hs_sainaliusi',
|
||||
'hs_lrhonin',
|
||||
'yxs_diaochan',
|
||||
'hs_anduin',
|
||||
'swd_hengai',
|
||||
'hs_wuther',
|
||||
'lusu',
|
||||
'bulianshi',
|
||||
'swd_shuijing',
|
||||
'swd_sikongyu',
|
||||
'zhangliao',
|
||||
'liufeng',
|
||||
'diy_yuji',
|
||||
're_zhangliao',
|
||||
'caoang',
|
||||
'hs_zhishigushu',
|
||||
'pal_jingtian',
|
||||
'swd_shanxiaoxiao',
|
||||
'yxs_caocao',
|
||||
'jianyong',
|
||||
'manchong',
|
||||
'swd_linyue',
|
||||
'swd_xuanyuanjiantong',
|
||||
'swd_maixing',
|
||||
'diy_xuhuang',
|
||||
'dengai',
|
||||
'hs_jaina',
|
||||
'zhonghui',
|
||||
'gjqt_xiangling',
|
||||
'zhugejin',
|
||||
'swd_jiuyou',
|
||||
'diy_zhouyu',
|
||||
'pal_changqing',
|
||||
'swd_yuchiyanhong',
|
||||
'swd_duopeng',
|
||||
'swd_yuli',
|
||||
'swd_rongshuang',
|
||||
'taishici',
|
||||
'pal_zhaoliner',
|
||||
're_machao',
|
||||
'zhanghe',
|
||||
'zhangzhang',
|
||||
'xin_fazheng',
|
||||
'caochong',
|
||||
'caifuren',
|
||||
'xin_masu',
|
||||
'swd_situqiang',
|
||||
'hs_malfurion',
|
||||
'yxs_bole',
|
||||
'yj_jushou',
|
||||
'gjqt_yuewuyi',
|
||||
'hs_mijiaojisi',
|
||||
'yxs_mozi',
|
||||
'gjqt_hongyu',
|
||||
'hs_waleera',
|
||||
'zhangsong',
|
||||
'sp_dongzhuo',
|
||||
'jiangwei',
|
||||
'swd_chunyuheng',
|
||||
'hetaihou',
|
||||
'swd_jiangziya',
|
||||
'liushan',
|
||||
'zhugedan',
|
||||
'sp_zhaoyun',
|
||||
're_huatuo',
|
||||
'swd_nicole',
|
||||
'sp_jiangwei',
|
||||
'swd_zhuoshanzhu',
|
||||
'swd_shaowei',
|
||||
'caopi',
|
||||
'jiaxu',
|
||||
'maliang',
|
||||
'lingtong',
|
||||
'wangyi',
|
||||
'chenqun',
|
||||
'mifuren',
|
||||
'pal_linyueru',
|
||||
'swd_jialanduo',
|
||||
'sp_machao',
|
||||
'caiwenji',
|
||||
'hs_yngvar',
|
||||
're_xushu',
|
||||
're_huangyueying',
|
||||
],
|
||||
}
|
||||
},
|
||||
posmap:{},
|
||||
help:{
|
||||
|
|
|
@ -1202,7 +1202,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
maixie_defend:true,
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(get.tag(card,'damage')){
|
||||
if(get.tag(card,'damage')&&target.hp>1){
|
||||
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
|
||||
if(!target.countCards('h')) return [1,-1];
|
||||
if(game.countPlayer(function(current){return current.isFriendOf(player)&¤t.hp>=target.hp-1})) return [1,0,0,-2];
|
||||
|
|
|
@ -550,19 +550,19 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
game.countPlayer2(function(current){
|
||||
switch(current.identity){
|
||||
case 'rZhu':
|
||||
if(blue.length+ye.length==0) winner.push(current);
|
||||
if(ye.length==0&&game.bZhu.isDead()) winner.push(current);
|
||||
if(current.isDead()) loser.push(current);
|
||||
break;
|
||||
case 'rZhong': case 'bNei':
|
||||
if(blue.length+ye.length==0) winner.push(current);
|
||||
if(ye.length==0&&game.bZhu.isDead()) winner.push(current);
|
||||
if(game.rZhu.isDead()) loser.push(current);
|
||||
break;
|
||||
case 'bZhu':
|
||||
if(red.length+ye.length==0) winner.push(current);
|
||||
if(ye.length==0&&game.rZhu.isDead()) winner.push(current);
|
||||
if(current.isDead()) loser.push(current);
|
||||
break;
|
||||
case 'bZhong': case 'rNei':
|
||||
if(red.length+ye.length==0) winner.push(current);
|
||||
if(ye.length==0&&game.rZhu.isDead()) winner.push(current);
|
||||
if(game.bZhu.isDead()) loser.push(current);
|
||||
break;
|
||||
default:
|
||||
|
@ -2139,7 +2139,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
else if(this.identity=='rZhong'||this.identity=='bZhong'){
|
||||
if(this.identity.slice(0,1)!=source.identity.slice(0,1)) source.draw(2);
|
||||
else if(this.identity.indexOf('Zhu')==1) this.discard(this.getCards('h'));
|
||||
else if(source.identity.indexOf('Zhu')==1) source.discard(source.getCards('h'));
|
||||
}
|
||||
else if(this.identity=='rNei'||this.identity=='bNei'){
|
||||
if(this.identity.slice(0,1)==source.identity.slice(0,1)) source.draw(3);
|
||||
|
@ -3080,7 +3080,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
'亮出身份牌的忠臣增加1点体力上限。角色濒死和死亡的结算及胜利条件与普通身份局相同。',
|
||||
'3v3v2':'<div style="margin:10px">3v3v2模式</div><ul style="margin-top:0"><li>游戏准备<br>本模式需要8名玩家进行游戏。游戏开始前,所有玩家随机分成两组,每组四人,分别称为「冷色阵营」和「暖色阵营」,然后分发身份牌,抽取到「主帅」身份的玩家亮出身份牌。'+
|
||||
'<li>身份牌<br>每组的身份分为四种。<br>主帅(主)和前锋(忠):联合对方阵营的细作,击杀己方细作,对方阵营的主帅和前锋以及所有的野心家。<br>细作(内):帮助对方阵营的主帅和前锋,击杀对方细作,己方阵营的主帅和前锋以及所有的野心家。<br>野心家(野):联合对方阵营中的野心家,击杀所有其他角色,成为最后的生还者。<br>'+
|
||||
'<li>胜负判定<br>冷色主帅,先锋和暖色细作在所有其他角色全部阵亡后视为胜利,在冷色主帅阵亡后视为游戏失败。<br>暖色主帅,先锋和冷色细作在所有其他角色阵亡后视为胜利,在暖色主帅阵亡后视为失败。<br>野心家在所有不为野心家的角色阵亡后视为胜利,在双方主帅全部阵亡而有非野心家角色存活时失败。<br>当有角色阵亡后,若有角色满足胜利条件,游戏结束。若所有角色均满足失败条件,则游戏平局。若一名角色满足失败条件,即使其满足胜利条件,也视为游戏失败。<br>'+
|
||||
'<li>胜负判定<br>冷色主帅,先锋和暖色细作在所有野心家和对方主帅全部阵亡后视为胜利,在冷色主帅阵亡后视为游戏失败。<br>暖色主帅,先锋和冷色细作在所有野心家和对方主帅阵亡后视为胜利,在暖色主帅阵亡后视为失败。<br>野心家在所有不为野心家的角色阵亡后视为胜利,在双方主帅全部阵亡而有非野心家角色存活时失败。<br>当有角色阵亡后,若有角色满足胜利条件,游戏结束。若所有角色均满足失败条件,则游戏平局。若一名角色满足失败条件,即使其满足胜利条件,也视为游戏失败。<br>'+
|
||||
'<li>游戏流程<br>在「游戏准备」中的工作完成后,冷色主帅选择一个势力,然后暖色主帅选择一个其他势力,作为双方各自的势力将池。<br>双方主帅从各自的势力将池中获得两张常备主公武将牌和四张非常备主公武将牌,然后选择一张作为武将牌,将其他的武将牌放回势力将池并洗混。然后双方的其他玩家从各自的势力将池中随机获得五张武将牌,选择一张作为自己的武将牌。<br>暖色主帅成为游戏的一号位,双方主帅各加1点体力和体力上限。七号位和八号位的起始手牌+1。<br>当场上第一次有玩家死亡时,野心家确认彼此的身份牌,然后获得技能〖野心毕露〗:出牌阶段,你可以明置身份牌,加1点体力上限和体力值。若如此做,所有的野心家失去技能〖野心毕露〗<br>'+'<li>击杀奖惩<br>杀死颜色不同的主帅的角色回复1点体力,杀死颜色不同的先锋的角色摸两张牌,杀死颜色相同的细作的角色摸三张牌,杀死颜色相同的先锋的主帅弃置所有手牌。<br>'+
|
||||
'<li>制作团队<br>游戏出品:紫星居<br>游戏设计:食茸貳拾肆<br>游戏开发:食茸貳拾肆、紫髯的小乔、聆星Mine、空城琴音依旧弥漫、丽景原同志、雪之彩翼、拉普拉斯、明月照沟渠<br>程序化:无名杀<br>鸣谢:荆哲、魔风、萨巴鲁酱、这就是秋夜</ul></ul>',
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue