This commit is contained in:
Spmario233 2021-03-20 21:29:25 +08:00
parent 6c0aab6e54
commit 7a81e7630d
41 changed files with 1991 additions and 308 deletions

BIN
audio/die/ol_dengai.mp3 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
audio/skill/oltuntian1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/oltuntian2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/olzaoxian1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/olzaoxian2.mp3 Normal file

Binary file not shown.

View File

@ -208,9 +208,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
yingbian_prompt:'此牌的效果改为依次执行所有选项', yingbian_prompt:'此牌的效果改为依次执行所有选项',
content:function(){ content:function(){
'step 0' 'step 0'
if((get.mode()!='guozhan'||_status.mode=='yingbian'||_status.mode=='free')&&!get.is.single()) event.goto(2); if(event.card.yingbian){
target.discard(target.getCards('e',function(card){
return lib.filter.cardDiscardable(card,target,'shuiyanqijunx');
}));
target.damage('thunder');
event.finish();
}
else if(!target.countCards('e',function(card){ else if(!target.countCards('e',function(card){
return lib.filter.cardDiscardable(card,target); return lib.filter.cardDiscardable(card,target,'shuiyanqijunx');
})){ })){
var next=target.damage(); var next=target.damage();
if(!get.is.single()) next.nature='thunder'; if(!get.is.single()) next.nature='thunder';
@ -228,28 +234,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}); });
'step 1' 'step 1'
if(result.control=='discard_card'){ if(result.control=='discard_card'){
target.discard(target.getCards('e')); target.discard(target.getCards('e',function(card){
return lib.filter.cardDiscardable(card,target,'shuiyanqijunx');
}));
} }
else{ else{
var next=target.damage(); var next=target.damage();
if(!get.is.single()) next.nature='thunder' if(!get.is.single()) next.nature='thunder'
} }
event.finish(); event.finish();
'step 2'
var next=target.chooseToDiscard(2,'e').set('ai',function(card){
var player=_status.event.player;
var source=_status.event.getParent().player;
if(get.damageEffect(player,source,player,'thunder')>=0){
return 0;
}
if(player.hp>=3){
return 4-get.value(card);
}
return 8-get.value(card);
});
if(card.yingbian) next.set('forced',true);
'step 3'
if(card.yingbian||!result.bool) target.damage('thunder');
}, },
ai:{ ai:{
order:6, order:6,
@ -274,14 +267,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){
}, },
result:{ result:{
target:function(player,target){ target:function(player,target){
if(!get.is.single()&&(get.mode()!='guozhan'||_status.mode=='yingbian'||_status.mode=='free')){
if(target.countCards('e',function(card){
return get.value(card,target)<=0;
})>1) return 1;
var es=target.countCards('e');
if(es<2) return -1.5;
return -3/es;
}
return -1-target.countCards('e'); return -1-target.countCards('e');
} }
} }
@ -1422,8 +1407,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){
xietianzi_info:'出牌阶段,对自己使用。你结束出牌阶段,若如此做,弃牌阶段结束时,你可以弃置一张手牌,获得一个额外的回合', xietianzi_info:'出牌阶段,对自己使用。你结束出牌阶段,若如此做,弃牌阶段结束时,你可以弃置一张手牌,获得一个额外的回合',
xietianzi_info_guozhan:'出牌阶段,对为大势力角色的你使用。你结束出牌阶段,若如此做,弃牌阶段结束时,你可以弃置一张手牌,获得一个额外的回合', xietianzi_info_guozhan:'出牌阶段,对为大势力角色的你使用。你结束出牌阶段,若如此做,弃牌阶段结束时,你可以弃置一张手牌,获得一个额外的回合',
shuiyanqijunx:'水淹七军', shuiyanqijunx:'水淹七军',
shuiyanqijunx_info:'出牌阶段对一名其他角色使用。目标角色选择一项1、弃置装备区里的所有牌至少一张2、受到你造成的1点雷电伤害',
shuiyanqijunx_info_guozhan:'出牌阶段对一名装备区里有牌的其他角色使用。目标角色选择一项1、弃置装备区里的所有牌2、受到你造成的1点雷电伤害', shuiyanqijunx_info_guozhan:'出牌阶段对一名装备区里有牌的其他角色使用。目标角色选择一项1、弃置装备区里的所有牌2、受到你造成的1点雷电伤害',
shuiyanqijunx_info:'出牌阶段对一名其他角色使用。目标角色选择一项1、弃置装备区内的两张牌2、受到你造成的1点雷电伤害',
lulitongxin:'勠力同心', lulitongxin:'勠力同心',
lulitongxin_info:'出牌阶段,对所有大势力角色或所有小势力角色使用。若目标角色:不处于“连环状态”,其横置;处于“连环状态”,其摸一张牌', lulitongxin_info:'出牌阶段,对所有大势力角色或所有小势力角色使用。若目标角色:不处于“连环状态”,其横置;处于“连环状态”,其摸一张牌',
lulitongxin_info_versus:'出牌阶段,对所有敌方角色或所有己方角色使用。若目标角色:为敌方角色且不处于“连环状态”,其横置;为己方角色且处于“连环状态”,其摸一张牌。', lulitongxin_info_versus:'出牌阶段,对所有敌方角色或所有己方角色使用。若目标角色:为敌方角色且不处于“连环状态”,其横置;为己方角色且处于“连环状态”,其摸一张牌。',

View File

@ -749,7 +749,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
['spade',10,'sha',null,['yingbian_canqu']], ['spade',10,'sha',null,['yingbian_canqu']],
['spade',10,'bingliang'], ['spade',10,'bingliang'],
['spade',11,'wuxie'], ['spade',11,'wuxie'],
['spade',11,'shuiyanqijunx'], ['spade',11,'shunshou'],
['spade',11,'tiesuo'], ['spade',11,'tiesuo'],
['spade',12,'zhujinqiyuan',null,['yingbian_zhuzhan']], ['spade',12,'zhujinqiyuan',null,['yingbian_zhuzhan']],
['spade',12,'tiesuo'], ['spade',12,'tiesuo'],
@ -763,13 +763,13 @@ game.import('card',function(lib,game,ui,get,ai,_status){
['heart',1,'wuxie'], ['heart',1,'wuxie'],
['heart',2,'shan',null,['yingbian_kongchao']], ['heart',2,'shan',null,['yingbian_kongchao']],
['heart',2,'shan',null,['yingbian_kongchao']], ['heart',2,'shan',null,['yingbian_kongchao']],
['heart',2,'chuqibuyi',null,['yingbian_zhuzhan']], ['heart',2,'guohe'],
['heart',3,'wugu'], ['heart',3,'wugu'],
['heart',3,'tao'], ['heart',3,'tao'],
['heart',3,'chuqibuyi',null,['yingbian_zhuzhan']], ['heart',3,'chuqibuyi',null,['yingbian_zhuzhan']],
['heart',4,'sha','fire'], ['heart',4,'sha','fire'],
['heart',4,'tao'], ['heart',4,'tao'],
['heart',4,'suijiyingbian'], ['heart',4,'wugu'],
['heart',5,'chitu'], ['heart',5,'chitu'],
['heart',5,'tao'], ['heart',5,'tao'],
['heart',5,'qilin'], ['heart',5,'qilin'],

View File

@ -273,7 +273,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
order:10, order:10,
tag:{ tag:{
gain:1, gain:1,
loseCard:1, //loseCard:1,
}, },
basic:{ basic:{
useful:0.5, useful:0.5,

View File

@ -1935,7 +1935,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
abyusa_jueqing:{ abyusa_jueqing:{
audio:'jueqing',
trigger:{source:'damageBegin2'}, trigger:{source:'damageBegin2'},
skillAnimation:true, skillAnimation:true,
animationColor:'water', animationColor:'water',
@ -1964,7 +1963,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{source:'damageBefore'}, trigger:{source:'damageBefore'},
forced:true, forced:true,
charlotte:true, charlotte:true,
audio:'jueqing',
filter:function(event,player){ filter:function(event,player){
return player.hasSkill('abyusa_jueqing'); return player.hasSkill('abyusa_jueqing');
}, },

View File

@ -14,7 +14,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
extra_lei:['shen_ganning','shen_zhangliao'], extra_lei:['shen_ganning','shen_zhangliao'],
extra_key:['key_kagari','key_shiki','key_hina'], extra_key:['key_kagari','key_shiki','key_hina'],
extra_ol:['ol_zhangliao','shen_caopi','shen_zhenji'], extra_ol:['ol_zhangliao','shen_caopi','shen_zhenji'],
extra_offline:['shen_diaochan'], extra_offline:['shen_diaochan','boss_zhaoyun'],
extra_mini:['mini_zhugeliang','mini_lvbu','mini_lvmeng'], extra_mini:['mini_zhugeliang','mini_lvbu','mini_lvmeng'],
}, },
}, },
@ -40,6 +40,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_zhangliao:['male','shen',4,['olduorui','olzhiti'],['wei']], ol_zhangliao:['male','shen',4,['olduorui','olzhiti'],['wei']],
shen_caopi:['male','shen',5,['chuyuan','dengji'],['wei']], shen_caopi:['male','shen',5,['chuyuan','dengji'],['wei']],
shen_zhenji:['female','shen',4,['shenfu','qixian'],['wei']], shen_zhenji:['female','shen',4,['shenfu','qixian'],['wei']],
boss_zhaoyun:['male','shen',1,['boss_juejing','xinlonghun','zhanjiang'],['shu']],
mini_zhugeliang:['male','shen',3,['qixing','minikuangfeng','minidawu'],['shu']], mini_zhugeliang:['male','shen',3,['qixing','minikuangfeng','minidawu'],['shu']],
mini_lvbu:['male','shen',6,['miniwuqian','minishenfen']], mini_lvbu:['male','shen',6,['miniwuqian','minishenfen']],
@ -59,6 +60,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shen_zhugeliang:['shen_zhugeliang','mini_zhugeliang'], shen_zhugeliang:['shen_zhugeliang','mini_zhugeliang'],
shen_lvbu:['shen_lvbu','mini_lvbu'], shen_lvbu:['shen_lvbu','mini_lvbu'],
shen_lvmeng:['shen_lvmeng','mini_lvmeng'], shen_lvmeng:['shen_lvmeng','mini_lvmeng'],
shen_zhaoyun:['shen_zhaoyun','boss_zhaoyun'],
}, },
characterFilter:{ characterFilter:{
shen_diaochan:function(mode){ shen_diaochan:function(mode){
@ -226,6 +228,64 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.turnOver(); player.turnOver();
}, },
}, },
zhanjiang:{
trigger:{player:'phaseZhunbeiBegin'},
filter:function(event,player){
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(players[i]!=player&&players[i].getEquip('qinggang')){
return true;
}
}
},
content:function(){
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(players[i]!=player){
var e=players[i].getEquip('qinggang');
if(e){
player.line(players[i],'green');
players[i].give(e,player);
}
}
}
}
},
boss_juejing:{
trigger:{player:'phaseDrawBefore'},
forced:true,
content:function(){
trigger.cancel();
},
ai:{
noh:true,
nogain:true,
},
group:'boss_juejing2'
},
boss_juejing2:{
trigger:{
player:'loseAfter',
global:['equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter'],
},
forced:true,
filter:function(event,player){
if(event.name=='gain'&&event.player==player) return player.countCards('h')>4;
var evt=event.getl(player);
if(!evt||!evt.hs||evt.hs.length==0||player.countCards('h')>=4) return false;
var evt=event;
for(var i=0;i<4;i++){
evt=evt.getParent('boss_juejing2');
if(evt.name!='boss_juejing2') return true;
}
return false;
},
content:function(){
var num=4-player.countCards('h');
if(num>0) player.draw(num);
else player.chooseToDiscard('h',true,-num);
},
},
miniwuqian:{ miniwuqian:{
audio:'wuqian', audio:'wuqian',
trigger:{ trigger:{
@ -2837,31 +2897,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(name=='wuxie') return player.countCards('he',{suit:'spade'})>0; if(name=='wuxie') return player.countCards('he',{suit:'spade'})>0;
if(name=='tao') return player.countCards('he',{suit:'heart'})>0; if(name=='tao') return player.countCards('he',{suit:'heart'})>0;
}, },
group:['xinlonghun_num','xinlonghun_discard'], group:['relonghun_num','relonghun_discard'],
},
xinlonghun:{
group:['xinlonghun1','xinlonghun2','xinlonghun3','xinlonghun4','xinlonghun_num','xinlonghun_discard'],
ai:{
skillTagFilter:function(player,tag){
switch(tag){
case 'respondSha':{
if(player.countCards('he',{suit:'diamond'})==0) return false;
break;
}
case 'respondShan':{
if(player.countCards('he',{suit:'club'})==0) return false;
break;
}
case 'save':{
if(player.countCards('he',{suit:'heart'})==0) return false;
break;
}
}
},
respondSha:true,
respondShan:true,
threaten:1.8
},
subSkill:{ subSkill:{
num:{ num:{
trigger:{player:'useCard'}, trigger:{player:'useCard'},
@ -2869,7 +2905,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
popup:false, popup:false,
filter:function(event){ filter:function(event){
var evt=event; var evt=event;
return (evt.skill=='xinlonghun1'||evt.skill=='xinlonghun2'||(['sha','tao'].contains(evt.card.name)&&evt.skill=='relonghun'))&&evt.cards&&evt.cards.length==2; return ['sha','tao'].contains(evt.card.name)&&evt.skill=='relonghun'&&evt.cards&&evt.cards.length==2;
}, },
content:function(){ content:function(){
trigger.baseDamage++; trigger.baseDamage++;
@ -2886,7 +2922,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return event.name=='respond'?0.5:false; return event.name=='respond'?0.5:false;
}, },
filter:function(evt,player){ filter:function(evt,player){
return (evt.skill=='xinlonghun3'||evt.skill=='xinlonghun4'||(['shan','wuxie'].contains(evt.card.name)&&evt.skill=='relonghun'))&& return ['shan','wuxie'].contains(evt.card.name)&&evt.skill=='relonghun'&&
evt.cards&&evt.cards.length==2&&_status.currentPhase&&_status.currentPhase!=player&&_status.currentPhase.countDiscardableCards(player,'he'); evt.cards&&evt.cards.length==2&&_status.currentPhase&&_status.currentPhase!=player&&_status.currentPhase.countDiscardableCards(player,'he');
}, },
content:function(){ content:function(){
@ -2896,85 +2932,102 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
} }
}, },
xinlonghun1:{ xinlonghun:{
audio:'longhun1', audio:'longhun',
enable:['chooseToUse','chooseToRespond'], enable:['chooseToUse','chooseToRespond'],
prompt:function(){ prompt:'将♦牌当做杀,♥牌当做桃,♣牌当做闪,♠牌当做无懈可击使用或打出',
return '将至多两张红桃牌当作桃使用'; viewAs:function(cards,player){
var name=false;
var nature=null;
switch(get.suit(cards[0],player)){
case 'club':name='shan';break;
case 'diamond':name='sha';nature='fire';break;
case 'spade':name='wuxie';break;
case 'heart':name='tao';break;
}
if(name) return {name:name,nature:nature};
return null;
}, },
position:'he', check:function(card){
check:function(card,event){ var player=_status.event.player;
if(ui.selected.cards.length) return 0; if(_status.event.type=='phase'){
return 10-get.value(card); var max=0;
var name2;
var list=['sha','tao'];
var map={sha:'diamond',tao:'heart'}
for(var i=0;i<list.length;i++){
var name=list[i];
if(player.countCards('h',function(card){
return (name!='sha'||get.value(card)<5)&&get.suit(card,player)==map[name];
})>0&&player.getUseValue({name:name,nature:name=='sha'?'fire':null})>0){
var temp=get.order({name:name,nature:name=='sha'?'fire':null});
if(temp>max){
max=temp;
name2=map[name];
}
}
}
if(name2==get.suit(card,player)) return (name2=='diamond'?(5-get.value(card)):20-get.value(card));
return 0;
}
return 1;
},
position:'h',
filterCard:function(card,player,event){
event=event||_status.event;
var filter=event._backup.filterCard;
var name=get.suit(card,player);
if(name=='club'&&filter({name:'shan',cards:[card]},player,event)) return true;
if(name=='diamond'&&filter({name:'sha',cards:[card],nature:'fire'},player,event)) return true;
if(name=='spade'&&filter({name:'wuxie',cards:[card]},player,event)) return true;
if(name=='heart'&&filter({name:'tao',cards:[card]},player,event)) return true;
return false;
}, },
selectCard:[1,2],
viewAs:{name:'tao'},
filter:function(event,player){ filter:function(event,player){
return player.countCards('he',{suit:'heart'})>0; var filter=event.filterCard;
if(filter({name:'sha',nature:'fire'},player,event)&&player.countCards('h',{suit:'diamond'})) return true;
if(filter({name:'shan'},player,event)&&player.countCards('h',{suit:'club'})) return true;
if(filter({name:'tao'},player,event)&&player.countCards('h',{suit:'heart'})) return true;
if(filter({name:'wuxie'},player,event)&&player.countCards('h',{suit:'spade'})) return true;
return false;
}, },
filterCard:function(card){ ai:{
return get.suit(card)=='heart'; respondSha:true,
respondShan:true,
skillTagFilter:function(player,tag){
var name;
switch(tag){
case 'respondSha':name='diamond';break;
case 'respondShan':name='club';break;
case 'save':name='heart';break;
} }
if(!player.countCards('h',{suit:name})) return false;
}, },
xinlonghun2:{ order:function(item,player){
audio:'longhun2', if(player&&_status.event.type=='phase'){
enable:['chooseToUse','chooseToRespond'], var max=0;
prompt:function(){ var list=['sha','tao'];
return '将至多两张方片牌当作火杀使用或打出'; var map={sha:'diamond',tao:'heart'}
}, for(var i=0;i<list.length;i++){
position:'he', var name=list[i];
check:function(card,event){ if(player.countCards('h',function(card){
if(ui.selected.cards.length) return 0; return (name!='sha'||get.value(card)<5)&&get.suit(card,player)==map[name];
return 10-get.value(card); })>0&&player.getUseValue({name:name,nature:name=='sha'?'fire':null})>0){
}, var temp=get.order({name:name,nature:name=='sha'?'fire':null});
selectCard:[1,2], if(temp>max) max=temp;
viewAs:{name:'sha',nature:'fire'},
filter:function(event,player){
return player.countCards('he',{suit:'diamond'})>0;
},
filterCard:function(card){
return get.suit(card)=='diamond';
} }
},
xinlonghun3:{
audio:'longhun3',
enable:['chooseToUse','chooseToRespond'],
prompt:function(){
return '将至多两张黑桃牌当作无懈可击使用';
},
position:'he',
check:function(card,event){
if(ui.selected.cards.length) return 0;
return 7-get.value(card);
},
selectCard:[1,2],
viewAs:{name:'wuxie'},
viewAsFilter:function(player){
return player.countCards('he',{suit:'spade'})>0;
},
filterCard:function(card){
return get.suit(card)=='spade';
} }
}, max/=1.1;
xinlonghun4:{ return max;
audio:'longhun4',
enable:['chooseToUse','chooseToRespond'],
prompt:function(){
return '将至多两张梅花牌当作闪使用或打出';
},
position:'he',
check:function(card,event){
if(ui.selected.cards.length) return 0;
return 10-get.value(card);
},
selectCard:[1,2],
viewAs:{name:'shan'},
filter:function(event,player){
return player.countCards('he',{suit:'club'})>0;
},
filterCard:function(card){
return get.suit(card)=='club';
} }
return 2;
},
},
hiddenCard:function(player,name){
if(name=='wuxie'&&_status.connectMode&&player.countCards('h')>0) return true;
if(name=='wuxie') return player.countCards('h',{suit:'spade'})>0;
if(name=='tao') return player.countCards('h',{suit:'heart'})>0;
},
}, },
xinjuejing:{ xinjuejing:{
mod:{ mod:{
@ -3587,10 +3640,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
}, },
"drlt_zhiti":{ drlt_zhiti:{
audio:2, audio:2,
locked:true, locked:true,
group:["drlt_zhiti_1","drlt_zhiti_2","drlt_zhiti_3","drlt_zhiti_4","drlt_zhiti_5"], group:["drlt_zhiti_1","drlt_zhiti_2","drlt_zhiti_3","drlt_zhiti_4","drlt_zhiti_5"],
global:'g_drlt_zhiti',
subSkill:{ subSkill:{
'1':{ '1':{
audio:"drlt_zhiti", audio:"drlt_zhiti",
@ -3660,7 +3714,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
}, },
"_drlt_zhiti":{ g_drlt_zhiti:{
mod:{ mod:{
maxHandcard:function (player,num){ maxHandcard:function (player,num){
if(player.maxHp>player.hp&&game.countPlayer(function(current){ if(player.maxHp>player.hp&&game.countPlayer(function(current){
@ -3951,11 +4005,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
relonghun:'龙魂', relonghun:'龙魂',
relonghun_info:'你可以将同花色的一至两张牌按下列规则使用或打出:红桃当【桃】,方块当火【杀】,梅花当【闪】,黑桃当普【无懈可击】。若你以此法使用了两张红色牌,则此牌回复值或伤害值+1。若你以此法使用了两张黑色牌则你弃置当前回合角色一张牌。', relonghun_info:'你可以将同花色的一至两张牌按下列规则使用或打出:红桃当【桃】,方块当火【杀】,梅花当【闪】,黑桃当普【无懈可击】。若你以此法使用了两张红色牌,则此牌回复值或伤害值+1。若你以此法使用了两张黑色牌则你弃置当前回合角色一张牌。',
xinlonghun:'龙魂', xinlonghun:'龙魂',
xinlonghun1:'龙魂♥︎', xinlonghun_info:'你可以将你的手牌按下列规则使用或打出:红桃当【桃】,方块当火【杀】,梅花当【闪】,黑桃当普【无懈可击】。',
xinlonghun2:'龙魂♦︎',
xinlonghun3:'龙魂♠︎',
xinlonghun4:'龙魂♣︎',
xinlonghun_info:'你可以将同花色的一至两张牌按下列规则使用或打出:红桃当【桃】,方块当火【杀】,梅花当【闪】,黑桃当普【无懈可击】。若你以此法使用了两张红色牌,则此牌回复值或伤害值+1。若你以此法使用了两张黑色牌则你弃置当前回合角色一张牌。',
longhun:'龙魂', longhun:'龙魂',
longhun1:'龙魂♥︎', longhun1:'龙魂♥︎',
longhun2:'龙魂♦︎', longhun2:'龙魂♦︎',
@ -4077,6 +4127,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mini_lvmeng:'SP神吕蒙', mini_lvmeng:'SP神吕蒙',
minigongxin:'攻心', minigongxin:'攻心',
minigongxin_info:'每回合限一次,当你使用牌指定其他角色为唯一目标后,或成为其他角色使用牌的唯一目标后,你可观看对方的手牌。然后你可以展示其中的一张红色牌并选择一项:①获得此牌。②将此牌置于牌堆顶。', minigongxin_info:'每回合限一次,当你使用牌指定其他角色为唯一目标后,或成为其他角色使用牌的唯一目标后,你可观看对方的手牌。然后你可以展示其中的一张红色牌并选择一项:①获得此牌。②将此牌置于牌堆顶。',
boss_zhaoyun:'高达一号',
boss_zhaoyun_ab:'神赵云',
boss_juejing:'绝境',
boss_juejing2:'绝境',
boss_juejing_info:'锁定技,摸牌阶段开始前,你跳过此阶段。当你获得牌/失去手牌后若你的手牌数大于4/小于4则你将手牌摸至4张/弃置至4张。',
zhanjiang:'斩将',
zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之',
key_kagari:'篝', key_kagari:'篝',
kagari_zongsi:'纵丝', kagari_zongsi:'纵丝',
@ -4093,6 +4150,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
hina_mashu_info:'锁定技,你计算于其他角色的距离时始终-1。', hina_mashu_info:'锁定技,你计算于其他角色的距离时始终-1。',
hina_tieji:'铁骑', hina_tieji:'铁骑',
hina_tieji_info:'当你使用【杀】指定目标后,你可进行判定。你令目标角色的所有非锁定技失效直到回合结束。除非其弃置一张与判定结果花色相同的牌,则其不能响应此【杀】。若判定结果为♠,则此【杀】对其的伤害+1。', hina_tieji_info:'当你使用【杀】指定目标后,你可进行判定。你令目标角色的所有非锁定技失效直到回合结束。除非其弃置一张与判定结果花色相同的牌,则其不能响应此【杀】。若判定结果为♠,则此【杀】对其的伤害+1。',
hina_tieji_append:'<span style="font-family: yuanli">她成为神明的那一天,世界走向毁灭。</span>',
hina_shenji:'神机', hina_shenji:'神机',
hina_shenji_info:'若你拥有技能〖神现〗,则你可以于准备阶段发动〖归心〗,并可于结束阶段发动〖神愤〗。', hina_shenji_info:'若你拥有技能〖神现〗,则你可以于准备阶段发动〖归心〗,并可于结束阶段发动〖神愤〗。',

View File

@ -896,8 +896,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gwjingshi:{ gwjingshi:{
enable:'phaseUse', enable:'phaseUse',
usable:1, usable:1,
direct:true, //direct:true,
delay:0, //delay:0,
filter:function(event,player){ filter:function(event,player){
return game.hasPlayer(function(current){ return game.hasPlayer(function(current){
return current.countCards('h'); return current.countCards('h');
@ -942,7 +942,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1' 'step 1'
if(event.targets.contains(result.targets[0])){ if(event.targets.contains(result.targets[0])){
player.popup('成功'); player.popup('成功');
game.log(player,'发动','【镜师】','成功'); game.log(player,'发动','【血契】','成功');
var dialog=ui.create.dialog('hidden'); var dialog=ui.create.dialog('hidden');
dialog.add('获得任意一名角色的一张手牌'); dialog.add('获得任意一名角色的一张手牌');
var list=game.filterPlayer(function(current){ var list=game.filterPlayer(function(current){
@ -959,7 +959,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
else{ else{
player.popup('失败'); player.popup('失败');
game.log(player,'发动','【镜师】','失败'); game.log(player,'发动','【血契】','失败');
event.finish(); event.finish();
} }
'step 2' 'step 2'

View File

@ -8025,6 +8025,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
position:'he', position:'he',
filter:function(event,player){ filter:function(event,player){
if(player.storage.tuteng_awake) return true;
var rand=['tuteng1','tuteng2','tuteng3','tuteng4']; var rand=['tuteng1','tuteng2','tuteng3','tuteng4'];
for(var i=0;i<rand.length;i++){ for(var i=0;i<rand.length;i++){
if(!player.hasSkill(rand[i])) return true; if(!player.hasSkill(rand[i])) return true;

View File

@ -10,12 +10,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning"], mobile_yijiang:["yj_zhanghe","yj_zhangliao","yj_xuhuang","yj_ganning"],
mobile_sunben:["re_sunben"], mobile_sunben:["re_sunben"],
mobile_standard:["xin_xiahoudun","xin_zhangfei"], mobile_standard:["xin_xiahoudun","xin_zhangfei"],
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian"], mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian","re_dengai"],
mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu","xin_jianyong","xin_gongsunzan","xin_zhuran","re_lingtong","re_liubiao","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou"], mobile_yijiang1:["re_jikang","old_bulianshi","xin_liaohua","xin_caozhang","re_xusheng","xin_chengpu","xin_jianyong","xin_gongsunzan","xin_zhuran","re_lingtong","re_liubiao","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou"],
mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan","xin_hansui"], mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan","xin_hansui"],
}, },
}, },
character:{ character:{
re_dengai:['male','wei',4,['retuntian','zaoxian']],
xin_fuhuanghou:['female','qun',3,['xinzhuikong','xinqiuyuan']], xin_fuhuanghou:['female','qun',3,['xinzhuikong','xinqiuyuan']],
xin_panzhangmazhong:['male','wu',4,['xinduodao','xinanjian']], xin_panzhangmazhong:['male','wu',4,['xinduodao','xinanjian']],
xin_guohuai:['male','wei',4,['mobilejingce']], xin_guohuai:['male','wei',4,['mobilejingce']],
@ -7066,6 +7067,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mobile_yijiang1:'手杀异构·一将成名', mobile_yijiang1:'手杀异构·一将成名',
mobile_sp:'手杀异构·SP', mobile_sp:'手杀异构·SP',
xin_gongsunzan:'手杀公孙瓒', xin_gongsunzan:'手杀公孙瓒',
re_dengai:'手杀邓艾',
} }
}; };
}); });

View File

@ -37,6 +37,7 @@ window.noname_character_rank={
'sp_key_kanade', 'sp_key_kanade',
'key_shizuru', 'key_shizuru',
'key_sakuya', 'key_sakuya',
'boss_zhaoyun',
], ],
ap:[ ap:[
'gjqt_aruan', 'gjqt_aruan',
@ -450,6 +451,7 @@ window.noname_character_rank={
'mini_lvbu', 'mini_lvbu',
're_fazheng', 're_fazheng',
'huaxin', 'huaxin',
're_chunyuqiong',
], ],
bp:[ bp:[
'chess_diaochan', 'chess_diaochan',
@ -640,6 +642,8 @@ window.noname_character_rank={
'mini_zuoci', 'mini_zuoci',
'mini_jiangwei', 'mini_jiangwei',
're_fuhuanghou', 're_fuhuanghou',
're_gongsunyuan',
're_caozhen',
], ],
b:[ b:[
'diy_feishi', 'diy_feishi',
@ -811,6 +815,7 @@ window.noname_character_rank={
'yanghuiyu', 'yanghuiyu',
'xin_panzhangmazhong', 'xin_panzhangmazhong',
're_xiaoqiao', 're_xiaoqiao',
'caoanmin',
], ],
bm:[ bm:[
'diy_xizhenxihong', 'diy_xizhenxihong',
@ -1091,6 +1096,7 @@ window.noname_character_rank={
'ol_yuanshao', 'ol_yuanshao',
'guozhao', 'guozhao',
'mini_lvmeng', 'mini_lvmeng',
'boss_zhaoyun',
'key_yuri', 'key_yuri',
'key_yuzuru', 'key_yuzuru',
'sp_key_kanade', 'sp_key_kanade',
@ -1558,6 +1564,11 @@ window.noname_character_rank={
're_fuhuanghou', 're_fuhuanghou',
'gongsunkang', 'gongsunkang',
'xin_panzhangmazhong', 'xin_panzhangmazhong',
'ol_dengai',
'caoanmin',
're_gongsunyuan',
're_caozhen',
're_chunyuqiong',
], ],
junk:[ junk:[
'sunshao', 'sunshao',

View File

@ -8,23 +8,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','ol_weiyan','ol_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'], refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','ol_weiyan','ol_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'],
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","ol_pangde","re_taishici"], refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","ol_pangde","re_taishici"],
refresh_lin:['re_zhurong','re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo'], refresh_lin:['re_zhurong','re_menghuo','ol_sunjian','re_caopi','re_xuhuang','ol_dongzhuo'],
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'], refresh_shan:['re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce','ol_dengai'],
refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_masu','xin_xusheng','re_fazheng','xin_lingtong'], refresh_yijiang1:['re_wuguotai','re_gaoshun','re_caozhi','yujin_yujin','re_masu','xin_xusheng','re_fazheng','xin_lingtong'],
refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'], refresh_yijiang2:['old_madai','wangyi','guanzhang','re_handang','re_zhonghui','re_liaohua','re_chengpu','re_caozhang','re_bulianshi','xin_liubiao'],
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','re_yufan','re_liru','re_manchong','re_fuhuanghou'], refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','re_yufan','re_liru','re_manchong','re_fuhuanghou'],
refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan'], refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan','re_caozhen'],
refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu'], refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu','re_gongsunyuan'],
}, },
}, },
connect:true, connect:true,
character:{ character:{
re_gongsunyuan:['male','qun',4,['rehuaiyi']],
re_caozhen:['male','wei',4,['residi']],
re_fuhuanghou:['female','qun',3,['rezhuikong','reqiuyuan']], re_fuhuanghou:['female','qun',3,['rezhuikong','reqiuyuan']],
re_fazheng:['male','shu',3,['reenyuan','rexuanhuo']], re_fazheng:['male','shu',3,['reenyuan','rexuanhuo']],
xin_lingtong:['male','wu',4,['decadexuanfeng','yongjin']], xin_lingtong:['male','wu',4,['decadexuanfeng','yongjin']],
xin_liubiao:['male','qun',3,['decadezishou','decadezongshi']], xin_liubiao:['male','qun',3,['decadezishou','decadezongshi']],
re_caoxiu:['male','wei',4,['qianju','reqingxi']], re_caoxiu:['male','wei',4,['qianju','reqingxi']],
re_sunxiu:['male','wu',3,['reyanzhu','rexingxue','zhaofu'],['zhu']], re_sunxiu:['male','wu',3,['reyanzhu','rexingxue','zhaofu'],['zhu']],
ol_dengai:['male','wei',4,['oltuntian','olzaoxian'],['unseen']], ol_dengai:['male','wei',4,['oltuntian','olzaoxian']],
re_gongsunzan:['male','qun',4,['reqiaomeng','reyicong']], re_gongsunzan:['male','qun',4,['reqiaomeng','reyicong']],
re_manchong:['male','wei',3,['rejunxing','yuce']], re_manchong:['male','wei',3,['rejunxing','yuce']],
re_liru:['male','qun',3,['rejuece','remieji','xinfencheng']], re_liru:['male','qun',3,['rejuece','remieji','xinfencheng']],
@ -105,7 +107,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_dongzhuo:['male','qun',8,['oljiuchi','roulin','benghuai','olbaonue'],['zhu']], ol_dongzhuo:['male','qun',8,['oljiuchi','roulin','benghuai','olbaonue'],['zhu']],
ol_sunjian:['male','wu','4/5',['gzyinghun','wulie']], ol_sunjian:['male','wu','4/5',['gzyinghun','wulie']],
re_caopi:['male','wei',3,['rexingshang','refangzhu','songwei'],['zhu']], re_caopi:['male','wei',3,['rexingshang','refangzhu','songwei'],['zhu']],
re_dengai:['male','wei',4,['retuntian','zaoxian']],
re_jiangwei:['male','shu',4,['retiaoxin','zhiji']], re_jiangwei:['male','shu',4,['retiaoxin','zhiji']],
re_caiwenji:['female','qun',3,['rebeige','duanchang']], re_caiwenji:['female','qun',3,['rebeige','duanchang']],
ol_liushan:['male','shu',3,['xiangle','olfangquan','olruoyu'],['zhu']], ol_liushan:['male','shu',3,['xiangle','olfangquan','olruoyu'],['zhu']],
@ -128,6 +129,196 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sunben:['zhouyu','taishici','daqiao'], sunben:['zhouyu','taishici','daqiao'],
}, },
skill:{ skill:{
residi:{
trigger:{player:'phaseJieshuBegin'},
direct:true,
audio:2,
filter:function(event,player){
return player.countCards('he',function(card){
if(_status.connectMode) return true;
return get.type(card)!='basic';
})>0;
},
content:function(){
'step 0'
player.chooseCard('he',get.prompt('residi'),'将一张非基本牌置于武将牌上作为“司”',function(card,player){
return get.type(card)!='basic';
}).set('ai',function(card){
if(get.position(card)=='e') return 5+player.hp-get.value(card);
return 7-get.value(card);
});
'step 1'
if(result.bool){
player.logSkill('residi');
var cards=result.cards;
player.markAuto('residi',cards);
game.log(player,'将',cards[0],'放在了武将牌上');
player.lose(cards,ui.special,'toStorage');
}
},
intro:{
content:'cards',
onunmark:true,
},
group:'residi_push',
},
residi_push:{
trigger:{global:'phaseUseBegin'},
direct:true,
filter:function(event,player){
return event.player!=player&&player.getStorage('residi').length>0;
},
content:function(){
'step 0'
player.chooseButton([get.prompt('residi',trigger.player),player.getStorage('residi')]).set('ai',function(button){
var player=_status.event.player;
var target=_status.event.getTrigger().player;
if(get.attitude(player,target)>-1) return 0;
var card=button.link;
var color=get.color(button.link,false);
var eff=target.countCards('h',function(card){
return get.color(card,target)==color&&target.hasValueTarget(card);
});
if(!target.countCards('h',function(card){
return get.color(card,target)==color&&get.name(card,target)=='sha'&&target.hasValueTarget(card);
})) eff+=1.5;
if(!target.countCards('h',function(card){
return get.color(card,target)==color&&get.type2(card,target)=='trick'&&target.hasValueTarget(card);
})) eff+=1.5;
return eff-1;
});
'step 1'
if(result.bool){
if(!trigger.residi) trigger.residi=[];
trigger.residi.push(player);
var card=result.links[0];
var target=trigger.player;
player.logSkill('residi',target);
player.unmarkAuto('residi',result.links);
player.$throw(card,1000);
game.log(player,'将',card,'置入了弃牌堆');
game.cardsDiscard(card);
var color=get.color(card,false);
if(!target.storage.residi2) target.storage.residi2=[];
target.storage.residi2.add(color);
target.addTempSkill('residi2','phaseUseAfter');
target.markSkill('residi2');
player.addTempSkill('residi3','phaseUseAfter');
}
},
},
residi2:{
onremove:true,
mod:{
cardEnabled2:function(card,player){
if(player.getStorage('residi2').contains(get.color(card,player))) return false;
},
},
intro:{
content:'不能使用$的牌',
},
marktext:'敌',
},
residi3:{
audio:'residi',
trigger:{global:'phaseUseEnd'},
forced:true,
filter:function(event,player){
if(!event.residi||!event.residi.contains(player)) return false;
var sha=(player.canUse('sha',event.player,false)),trick=true;
event.player.getHistory('useCard',function(evt){
if(evt.getParent('phaseUse')!=event) return false;
if(sha&&evt.card.name=='sha') sha=false;
if(trick&&get.type2(evt.card,false)=='trick') trick=false;
});
return sha||trick;
},
content:function(){
var sha=(player.canUse('sha',trigger.player,false)),trick=true;
trigger.player.getHistory('useCard',function(evt){
if(evt.getParent('phaseUse')!=trigger) return false;
if(sha&&evt.card.name=='sha') sha=false;
if(trick&&get.type2(evt.card,false)=='trick') trick=false;
});
if(sha) player.useCard({name:'sha',isCard:true},trigger.player);
if(trick) player.draw(2);
},
},
rehuaiyi:{
audio:2,
enable:'phaseUse',
usable:2,
delay:false,
filter:function(event,player){
return player.countCards('h')>0&&(!player.getStat('skill').rehuaiyi||player.hasSkill('rehuaiyi2'));
},
content:function(){
'step 0'
player.showHandcards();
if(get.color(player.getCards('h'))!='none'){
player.draw();
player.addTempSkill('rehuaiyi2','phaseUseEnd');
event.finish();
}
'step 1'
player.chooseControl('红色','黑色').set('ai',function(){
var player=_status.event.player;
if(player.countCards('h',{color:'red'})==1&&
player.countCards('h',{color:'black'})>1) return '红色';
return '黑色';
});
'step 2'
event.control=result.control;
var cards;
if(event.control=='红色'){
cards=player.getCards('h',{color:'red'});
}
else{
cards=player.getCards('h',{color:'black'});
}
player.discard(cards);
event.num=cards.length;
'step 3'
player.chooseTarget('请选择至多'+get.cnNumber(event.num)+'名有牌的其他角色,获得这些角色的各一张牌。',[1,event.num],function(card,player,target){
return target!=player&&target.countCards('he')>0;
}).set('ai',function(target){
return -get.attitude(_status.event.player,target)+0.5;
});
'step 4'
if(result.bool&&result.targets){
player.line(result.targets,'green');
event.targets=result.targets;
event.targets.sort(lib.sort.seat);
event.gained=0;
}
else{
event.finish();
}
'step 5'
if(player.isAlive()&&event.targets.length){
player.gainPlayerCard(event.targets.shift(),'he',true);
}
else event.finish();
'step 6'
if(result.bool){
event.gained+=result.cards.length;
}
if(event.targets.length) event.goto(5);
'step 7'
if(event.gained>1) player.loseHp();
},
ai:{
order:function(item,player){
if(player.countCards('h',{color:'red'})==0) return 10;
if(player.countCards('h',{color:'black'})==0) return 10;
return 1;
},
result:{
player:1
}
}
},
rehuaiyi2:{},
rezhuikong:{ rezhuikong:{
audio:2, audio:2,
trigger:{global:'phaseZhunbeiBegin'}, trigger:{global:'phaseZhunbeiBegin'},
@ -766,8 +957,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
inherit:'tuntian', inherit:'tuntian',
filter:function(event,player){ filter:function(event,player){
if(player==_status.currentPhase){ if(player==_status.currentPhase){
return event.name=='lose'&&event.type=='discard'&&event.getParent('phaseDiscard').player==player&& return event.name=='lose'&&event.type=='discard'&&event.cards2.filter(function(card){
event.cards2.filter(function(card){
return get.name(card,event.hs.contains(card)?player:false)=='sha'; return get.name(card,event.hs.contains(card)?player:false)=='sha';
}).length>0; }).length>0;
}; };
@ -8453,7 +8643,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
relieren_info:'当你使用【杀】指定目标后,你可以和目标角色进行拼点。若你赢,你获得其一张牌。若你没赢,你获得对方的拼点牌,其获得你的拼点牌。', relieren_info:'当你使用【杀】指定目标后,你可以和目标角色进行拼点。若你赢,你获得其一张牌。若你没赢,你获得对方的拼点牌,其获得你的拼点牌。',
rezaiqi:'再起', rezaiqi:'再起',
rezaiqi_info:'弃牌阶段结束时你可以令至多X名角色选择一项1.摸一张牌2.令你回复1点体力X为本回合进入弃牌堆的红色牌数', rezaiqi_info:'弃牌阶段结束时你可以令至多X名角色选择一项1.摸一张牌2.令你回复1点体力X为本回合进入弃牌堆的红色牌数',
re_dengai:'界邓艾',
re_jiangwei:'界姜维', re_jiangwei:'界姜维',
re_caiwenji:'界蔡文姬', re_caiwenji:'界蔡文姬',
re_baosanniang:'手杀鲍三娘', re_baosanniang:'手杀鲍三娘',
@ -8568,7 +8757,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
guanzhang:'界关兴张苞', guanzhang:'界关兴张苞',
rezishou:'自守', rezishou:'自守',
rezishou2:'自守', rezishou2:'自守',
//rezishou_info:'摸牌阶段你可以多摸X张牌。若如此做本回合你对其他角色造成伤害时防止此伤害且结束阶段若你本回合没有使用牌指定其他角色为目标则你可以将场上的一张装备牌移动到自己的装备区。X为场上势力数',
rezishou_info:'摸牌阶段你可以多摸X张牌。若如此做本回合你对其他角色造成伤害时防止此伤害。', rezishou_info:'摸牌阶段你可以多摸X张牌。若如此做本回合你对其他角色造成伤害时防止此伤害。',
rezongshi:'宗室', rezongshi:'宗室',
rezongshi_info:'锁定技,你的手牌上限+XX为势力数。准备阶段若你的手牌数大于体力值则你本回合内使用【杀】无次数限制。', rezongshi_info:'锁定技,你的手牌上限+XX为势力数。准备阶段若你的手牌数大于体力值则你本回合内使用【杀】无次数限制。',
@ -8613,7 +8801,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_dengai:'界邓艾', ol_dengai:'界邓艾',
oltuntian:'屯田', oltuntian:'屯田',
olzaoxian:'凿险', olzaoxian:'凿险',
oltuntian_info:'当你于回合外失去牌后,或于弃牌阶段因弃置而失去【杀】后,你可以进行判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-XX为你武将牌上【田】的数目', oltuntian_info:'当你于回合外失去牌后,或于回合内因弃置而失去【杀】后,你可以进行判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-XX为你武将牌上【田】的数目',
olzaoxian_info:'觉醒技准备阶段若你武将牌上【田】的数量达到3张或更多则你减1点体力上限并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。', olzaoxian_info:'觉醒技准备阶段若你武将牌上【田】的数量达到3张或更多则你减1点体力上限并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。',
re_sunxiu:'界孙休', re_sunxiu:'界孙休',
re_caoxiu:'界曹休', re_caoxiu:'界曹休',
@ -8628,9 +8816,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
decadezishou_info:'摸牌阶段你可以多摸X张牌,然后本回合你对其他角色造成伤害时,防止此伤害。结束阶段,若你本回合没有使用牌指定其他角色为目标,你可以弃置任意张花色不同的手牌,然后摸等量的牌。', decadezishou_info:'摸牌阶段你可以多摸X张牌,然后本回合你对其他角色造成伤害时,防止此伤害。结束阶段,若你本回合没有使用牌指定其他角色为目标,你可以弃置任意张花色不同的手牌,然后摸等量的牌。',
decadezongshi:'宗室', decadezongshi:'宗室',
decadezongshi_info:'锁定技,你的手牌上限+XX为现存势力数。你的回合外若你的手牌数大于等于手牌上限则当你成为延时类锦囊牌或无颜色的牌的目标后你令此牌对你无效。', decadezongshi_info:'锁定技,你的手牌上限+XX为现存势力数。你的回合外若你的手牌数大于等于手牌上限则当你成为延时类锦囊牌或无颜色的牌的目标后你令此牌对你无效。',
re_caozhen:'界曹真',
residi:'司敌',
residi_info:'结束阶段你可以摸一张牌并将一张牌置于你的武将牌上称为“司”。其他角色的出牌阶段开始时你可以移去任意张“司”。若如此做其本阶段内不能使用或打出与这些“司”颜色相同的牌且此阶段结束时若X不大于2你视为对其使用【杀】不大于1你摸两张牌不大于0你将牌堆顶的一张牌置于你的武将牌上称为“司”。X为该角色本阶段内使用过牌的类型数',
re_fazheng:'界法正', re_fazheng:'界法正',
reenyuan:'恩怨', reenyuan:'恩怨',
reenyuan1:'恩怨', reenyuan1:'恩怨',
@ -8643,6 +8828,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
reqiuyuan_info:'当你成为【杀】的目标时,你可选择另一名其他角色。除非该角色交给你一张除【杀】以外的基本牌,否则其也成为此【杀】的目标且该角色不能响应此【杀】。', reqiuyuan_info:'当你成为【杀】的目标时,你可选择另一名其他角色。除非该角色交给你一张除【杀】以外的基本牌,否则其也成为此【杀】的目标且该角色不能响应此【杀】。',
rezhuikong:'惴恐', rezhuikong:'惴恐',
rezhuikong_info:'其他角色的回合开始时,若你已受伤,你可与其拼点:若你赢,本回合该角色只能对自己使用牌;若你没赢,你获得其拼点的牌,然后其视为对你使用一张【杀】。', rezhuikong_info:'其他角色的回合开始时,若你已受伤,你可与其拼点:若你赢,本回合该角色只能对自己使用牌;若你没赢,你获得其拼点的牌,然后其视为对你使用一张【杀】。',
re_gongsunyuan:'界公孙渊',
rehuaiyi:'怀异',
tehuaiyi_info:'出牌阶段限一次你可以展示所有手牌若这些牌的颜色全部相同你摸一张牌并将此技能于本阶段内改为“限两次”然后终止此技能的结算流程不全部相同则你选择一种颜色并弃置该颜色的所有手牌然后你可以获得至多X名角色的各一张牌X为你以此法弃置的手牌数。若你以此法获得的牌不少于两张则你失去1点体力。',
re_caozhen:'界曹真',
residi:'司敌',
residi_push:'司敌',
residi2:'司敌',
residi3:'司敌',
residi_info:'结束阶段,你可以将一张非基本牌置于武将牌上,称为“司”。其他角色的出牌阶段开始时,你可以移去一张“司”。若如此做,其本阶段内不能使用或打出与“司”颜色相同的牌。此阶段结束时,若其于此阶段内未使用过:【杀】,你视为对其使用一张【杀】。锦囊牌,你摸两张牌。',
refresh_standard:'界限突破·标', refresh_standard:'界限突破·标',
refresh_feng:'界限突破·风', refresh_feng:'界限突破·风',

View File

@ -1661,7 +1661,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
filter:function(event,player){ filter:function(event,player){
if(event.card.name!='sha') return false; if(event.card.name!='sha') return false;
if(player.hasSkill('nzry_lijun2')) return false; //if(player.hasSkill('nzry_lijun2')) return false;
if(player.group!='wu') return false; if(player.group!='wu') return false;
if(_status.currentPhase!=player) return false; if(_status.currentPhase!=player) return false;
if(!game.hasPlayer(function(target){ if(!game.hasPlayer(function(target){
@ -1688,7 +1688,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1' 'step 1'
if(!result.bool) event.finish(); if(!result.bool) event.finish();
else{ else{
player.addTempSkill('nzry_lijun2','phaseUseEnd'); //player.addTempSkill('nzry_lijun2','phaseUseEnd');
var zhu=result.targets[0]; var zhu=result.targets[0];
player.line(zhu,'green'); player.line(zhu,'green');
zhu.logSkill('nzry_lijun'); zhu.logSkill('nzry_lijun');
@ -7394,7 +7394,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"nzry_zhizheng_info":"锁定技,你的出牌阶段内,攻击范围内不包含你的其他角色不能成为你使用牌的目标。出牌阶段结束时,若你本阶段内使用的牌数小于这些角色的数量,则你弃置其中一名角色的一张牌。", "nzry_zhizheng_info":"锁定技,你的出牌阶段内,攻击范围内不包含你的其他角色不能成为你使用牌的目标。出牌阶段结束时,若你本阶段内使用的牌数小于这些角色的数量,则你弃置其中一名角色的一张牌。",
"nzry_lijun1":"立军", "nzry_lijun1":"立军",
"nzry_lijun":"立军", "nzry_lijun":"立军",
"nzry_lijun_info":"主公技,其他吴势力角色的回合限一次,其使用的【杀】结算后,可以将此【杀】交给你,然后你可以令其摸一张牌", "nzry_lijun_info":"主公技,其他吴势力角色于回合内使用的【杀】结算后,可以将此【杀】对应的实体牌交给你,然后你可以令其摸一张牌",
"nzry_huaiju":"怀橘", "nzry_huaiju":"怀橘",
"nzry_huaiju_info":"锁定技游戏开始时你获得3个“橘”标记。有“橘”的角色受到伤害时防止此伤害然后移去一个“橘”有“橘”的角色摸牌阶段额外摸一张牌", "nzry_huaiju_info":"锁定技游戏开始时你获得3个“橘”标记。有“橘”的角色受到伤害时防止此伤害然后移去一个“橘”有“橘”的角色摸牌阶段额外摸一张牌",
"tachibana_effect":"怀橘", "tachibana_effect":"怀橘",

View File

@ -9632,16 +9632,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
content:function(){ content:function(){
player.loseHp(player.countMark('ranshang')); player.loseHp(player.countMark('ranshang'));
if(player.countMark('ranshang')>=2){
player.loseMaxHp(2);
player.draw(2);
}
} }
}, },
hanyong:{ hanyong:{
trigger:{player:'useCard'}, trigger:{player:'useCard'},
filter:function(event,player){ filter:function(event,player){
return game.roundNumber>player.hp&&event.card&& return event.card&&(event.card.name=='nanman'||event.card.name=='wanjian'||(event.card.name=='sha'&&get.color(event.card)=='black'));
(event.card.name=='nanman'||event.card.name=='wanjian');
}, },
content:function(){ content:function(){
trigger.baseDamage++; trigger.baseDamage++;
if(game.roundNumber<=player.hp) player.addMark('ranshang',1);
}, },
}, },
hanyong3:{ hanyong3:{
@ -15745,9 +15749,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mozhi_info:'结束阶段开始时,你可以将一张手牌当作你本回合出牌阶段内使用的第一张基本或普通锦囊牌使用。然后,你可以将一张手牌当做你本回合出牌阶段内使用的第二张基本或普通锦囊牌使用。(你不能通过此技能使用【酒】)', mozhi_info:'结束阶段开始时,你可以将一张手牌当作你本回合出牌阶段内使用的第一张基本或普通锦囊牌使用。然后,你可以将一张手牌当做你本回合出牌阶段内使用的第二张基本或普通锦囊牌使用。(你不能通过此技能使用【酒】)',
ranshang:'燃殇', ranshang:'燃殇',
ranshang2:'燃殇', ranshang2:'燃殇',
ranshang_info:'锁定技当你受到1点火焰伤害后你获得1枚“燃”标记结束阶段开始时你失去X点体力X为“燃”标记的数量', ranshang_info:'锁定技当你受到1点火焰伤害后你获得1枚“燃”标记结束阶段开始时你失去X点体力。若X不小于2则你减2点体力上限并摸两张牌。X为“燃”标记的数量',
hanyong:'悍勇', hanyong:'悍勇',
hanyong_info:'当你使用【南蛮入侵】或【万箭齐发】时,若你的体力值小于游戏轮数,你可以令此牌的伤害值基数+1。', hanyong_info:'当你使用【南蛮入侵】或【万箭齐发】或黑色【杀】时,若你的体力值小于游戏轮数,你可以令此牌的伤害值基数+1。然后若你的体力值不小于游戏轮数,则你获得一枚“燃”标记。',
yicong:'义从', yicong:'义从',
yongsi:'庸肆', yongsi:'庸肆',

View File

@ -4,6 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'sp2', name:'sp2',
connect:true, connect:true,
character:{ character:{
jin_yanghuiyu:['female','jin',3,['huirong','ciwei','caiyuan'],['hiddenSkill','unseen']],
shibao:['male','jin',4,['shibao_skill'],['unseen']], shibao:['male','jin',4,['shibao_skill'],['unseen']],
jin_zhangchunhua:['female','jin',3,['huishi','qingleng','xuanmu'],['hiddenSkill']], jin_zhangchunhua:['female','jin',3,['huishi','qingleng','xuanmu'],['hiddenSkill']],
jin_simayi:['male','jin',3,['buchen','smyyingshi','xiongzhi','quanbian'],['hiddenSkill']], jin_simayi:['male','jin',3,['buchen','smyyingshi','xiongzhi','quanbian'],['hiddenSkill']],
@ -13,6 +14,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jin_simashi:['male','jin','3/4',['taoyin','yimie','ruilve','tairan'],['hiddenSkill','zhu']], jin_simashi:['male','jin','3/4',['taoyin','yimie','ruilve','tairan'],['hiddenSkill','zhu']],
zhanghuyuechen:['male','jin',4,['xijue']], zhanghuyuechen:['male','jin',4,['xijue']],
duyu:['male','jin',4,['sanchen','zhaotao']], duyu:['male','jin',4,['sanchen','zhaotao']],
re_chunyuqiong:['male','qun',4,['recangchu','reliangying','reshishou']],
guozhao:['female','wei',3,['pianchong','zunwei']], guozhao:['female','wei',3,['pianchong','zunwei']],
hanfu:['male','qun',4,['hfjieying','weipo']], hanfu:['male','qun',4,['hfjieying','weipo']],
re_quyi:['male','qun',4,['refuqi','jiaozi']], re_quyi:['male','qun',4,['refuqi','jiaozi']],
@ -81,17 +83,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
mini_jiangwei:['male','shu',4,['minitiaoxin','zhiji']], mini_jiangwei:['male','shu',4,['minitiaoxin','zhiji']],
mini_diaochan:['female','qun',3,['minilijian','rebiyue']], mini_diaochan:['female','qun',3,['minilijian','rebiyue']],
mini_zhangchunhua:['female','wei',3,['jueqing','minishangshi']], mini_zhangchunhua:['female','wei',3,['jueqing','minishangshi']],
ns_caoanmin:['male','wei',4,['nskuishe']],
}, },
characterSort:{ characterSort:{
sp2:{ sp2:{
sp_yingbian:['jin_zhangchunhua','jin_simayi','jin_wangyuanji','jin_simazhao','jin_xiahouhui','jin_simashi','duyu','zhanghuyuechen','shibao'], sp_yingbian:['jin_zhangchunhua','jin_simayi','jin_wangyuanji','jin_simazhao','jin_xiahouhui','jin_yanghuiyu','jin_simashi','duyu','zhanghuyuechen','shibao'],
sp_whlw:["xurong","lijue","zhangji","fanchou","guosi"], sp_whlw:["xurong","lijue","zhangji","fanchou","guosi"],
sp_zlzy:["zhangqiying","lvkai","zhanggong","weiwenzhugezhi","beimihu"], sp_zlzy:["zhangqiying","lvkai","zhanggong","weiwenzhugezhi","beimihu"],
sp_longzhou:["xf_tangzi","xf_huangquan","xf_sufei","sp_liuqi"], sp_longzhou:["xf_tangzi","xf_huangquan","xf_sufei","sp_liuqi"],
sp_zizouqi:["mangyachang","xugong","zhangchangpu"], sp_zizouqi:["mangyachang","xugong","zhangchangpu"],
sp_sbfm:["lisu","xinpi","zhangwen"], sp_sbfm:["lisu","xinpi","zhangwen"],
sp_shengun:["puyuan","guanlu","gexuan","xushao"], sp_shengun:["puyuan","guanlu","gexuan","xushao"],
sp_baigei:['re_panfeng','xingdaorong','caoxing'], sp_baigei:['re_panfeng','xingdaorong','caoxing','re_chunyuqiong'],
sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou"], sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou"],
sp_huangjin:['liuhong','zhujun','re_hejin','re_hansui','liubian'], sp_huangjin:['liuhong','zhujun','re_hejin','re_hansui','liubian'],
sp_fadong:['ol_dingyuan','wangrong','re_quyi','hanfu'], sp_fadong:['ol_dingyuan','wangrong','re_quyi','hanfu'],
@ -99,10 +102,312 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_mini:["mini_sunquan","mini_zuoci","mini_jiangwei","mini_diaochan","mini_zhangchunhua"], sp_mini:["mini_sunquan","mini_zuoci","mini_jiangwei","mini_diaochan","mini_zhangchunhua"],
sp_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"], sp_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"],
sp_yongjian:["ns_chendao","yj_caoang"], sp_yongjian:["ns_chendao","yj_caoang"],
sp_s:["ns_jiaxu"], sp_s:["ns_jiaxu","ns_caoanmin"],
} }
}, },
skill:{ skill:{
recangchu:{
audio:2,
trigger:{
global:'gameStart',
player:'enterGame',
},
marktext:'粮',
forced:true,
filter:function(event,player){
return player.countMark('recangchu')<game.countPlayer();
},
content:function(){
player.addMark('recangchu',Math.min(3,game.countPlayer()-player.countMark('recangchu')));
},
intro:{content:'mark',name:'粮'},
mod:{
maxHandcard:function(player,num){
return num+player.countMark('recangchu');
},
},
group:'recangchu2',
},
recangchu2:{
audio:'recangchu',
trigger:{
player:'gainAfter',
global:'die',
},
forced:true,
filter:function(event,player){
if(event.name=='die') return player.countMark('recangchu')>game.countPlayer();
return player!=_status.currentPhase&&player.countMark('recangchu')<game.countPlayer();
},
content:function(){
if(trigger.name=='die') player.removeMark('recangchu',player.countMark('recangchu')-game.countPlayer());
else player.addMark('recangchu',1);
},
},
reliangying:{
audio:2,
trigger:{player:'phaseDiscardBegin'},
direct:true,
content:function(){
'step 0'
var map={};
var list=[];
for(var i=1;i<=player.countMark('recangchu');i++){
var cn=get.cnNumber(i,true);
map[cn]=i;
list.push(cn);
}
list.push('cancel2');
event.map=map;
player.chooseControl(list).set('prompt',get.prompt('reliangying')).set('prompt2','摸至多'+get.cnNumber(player.countMark('recangchu'))+'张牌,然后交给等量的其他角色各一张牌').set('ai',function(){
var player=_status.event.player;
var num=Math.min(player.countMark('recangchu'),game.countPlayer(function(current){
return current!=player&&get.attitude(player,current)>0;
}));
if(num) return get.cnNumber(num);
return 'cancel2';
});
'step 1'
if(result.control=='cancel2'){event.finish();return;}
player.logSkill('reliangying');
var num=event.map[result.control]||1;
event.num=num;
player.draw(num);
'step 2'
var num=Math.min(event.num,player.countCards('he'),game.countPlayer(function(target){
return target!=player;
}));
if(num){
player.chooseCardTarget({
prompt:'将'+get.cnNumber(num)+'张牌交给其他角色',
prompt2:'操作提示:先按顺序选中所有要给出的牌,然后再按顺序选择等量的目标角色',
selectCard:num,
selectTarget:num,
filterTarget:function(card,player,target){
return target!=player;
},
complexSelect:true,
position:'he',
ai1:function(card){
if(card.name=='shan') return 1;
return Math.random();
},
ai2:function(target){
return get.attitude(_status.event.player,target)+(5-Math.max(4,target.countCards('h')));
},
forced:true,
});
}
else event.finish();
'step 3'
if(result.bool){
while(result.cards.length){
var target=result.targets.shift();
var card=result.cards.shift();
target.gain(card,player);
player.$giveAuto(card,target);
}
event.next.sort(function(a,b){
return lib.sort.seat(a.player,b.player);
});
}
else event.finish();
'step 4'
game.delay();
},
},
reshishou:{
audio:2,
trigger:{player:['useCard','damageEnd']},
forced:true,
filter:function(event,player){
if(!player.countMark('recangchu')) return false;
return (event.name=='damage')?(event.nature=='fire'):(event.card&&event.card.name=='jiu');
},
content:function(){
player.removeMark('recangchu',1);
},
group:'reshishou2',
},
reshishou2:{
audio:'reshishou',
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
filter:function(event,player){
return !player.countMark('recangchu');
},
content:function(){
player.loseHp();
},
},
nskuishe:{
enable:'phaseUse',
usable:1,
filterTarget:function(card,player,target){
return target!=player&&target.countCards('he')>0;
},
content:function(){
'step 0'
player.choosePlayerCard(target,'he',true).set('ai',get.buttonValue);
'step 1'
if(result.bool){
var card=result.cards[0];
event.card=card;
player.chooseTarget('将'+get.translation(target)+'的'+(get.position(card)=='h'&&!player.hasSkillTag('viewHandcard',null,target,true)?'手牌':get.translation(card))+'交给一名角色',true,function(target){
return target!=_status.event.getParent().target;
}).set('ai',function(target){
var att=get.attitude(_status.event.player,target);
if(_status.event.du){
if(target.hasSkillTag('nodu')) return 0;
return -att;
}
if(target.hasSkillTag('nogain')) return 0.1;
if(att>0){
return att+Math.max(0,5-target.countCards('h'));
}
return att;
}).set('du',event.card.name=='du');
}
else event.finish();
'step 2'
if(result.bool){
var target2=result.targets[0];
target.line(target2,'green');
target2.gain(target,card,'giveAuto','bySelf');
}
else event.finish();
'step 3'
target.chooseToUse(function(card,player,event){
if(get.name(card)!='sha') return false;
return lib.filter.filterCard.apply(this,arguments);
},'是否对'+get.translation(player)+'使用一张杀?').set('targetRequired',true).set('complexSelect',true).set('filterTarget',function(card,player,target){
if(target!=_status.event.sourcex&&!ui.selected.targets.contains(_status.event.sourcex)) return false;
return lib.filter.filterTarget.apply(this,arguments);
}).set('sourcex',player);
},
ai:{
order:6,
expose:0.2,
result:{
target:-1.5,
player:function(player,target){
if(!target.canUse('sha',player)) return 0;
if(target.countCards('h')==1) return 0.1;
if(player.hasShan()) return -0.5;
if(player.hp<=1) return -2;
if(player.hp<=2) return -1;
return 0;
}
},
},
},
huirong:{
trigger:{player:'showCharacterAfter'},
forced:true,
filter:function(event,player){
return event.toShow&&event.toShow.contains('jin_yanghuiyu')&&game.hasPlayer(function(target){
var num=target.countCards('h');
return num>target.hp||Math.min(5,target.hp);
});
},
content:function(){
'step 0'
player.chooseTarget('请选择【慧容】的目标','令一名角色将手牌数摸至/弃置至与其体力值相同(至多摸至五张)',true,function(card,player,target){
var num=target.countCards('h');
return num>target.hp||Math.min(5,target.hp);
}).set('ai',function(target){
var att=get.attitude(_status.event.player,target);
var num=target.countCards('h');
if(num>target.hp) return -att*(num-target.hp);
return att*Math.max(0,Math.min(5,target.hp)-target.countCards('h'));
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.line(target,'green');
if(target.countCards('h')<target.hp) target.drawTo(Math.min(5,target.hp));
else target.chooseToDiscard('h',true,target.countCards('h')-target.hp);
}
},
},
ciwei:{
trigger:{global:'useCard'},
direct:true,
filter:function(event,player){
if(event.all_excluded||event.player==player||event.player!=_status.currentPhase||!player.countCards('he')) return false;
return event.player.getHistory('useCard').indexOf(event)==1&&['basic','trick'].contains(get.type(event.card));
},
content:function(){
'step 0'
player.chooseToDiscard(get.prompt('ciwei',trigger.player),'弃置一张牌,取消'+get.translation(trigger.card)+'的所有目标','he').set('ai',function(card){
return (_status.event.goon/1.4)-get.value(card);
}).set('goon',function(){
if(!trigger.targets.length) return -get.attitude(player,trigger.player);
var num=0;
for(var i of trigger.targets){
num-=get.effect(i,trigger.card,trigger.player,player)
}
return num;
}()).logSkill=['ciwei',trigger.player];
'step 1'
if(result.bool){
trigger.targets.length=0;
trigger.all_excluded=true;
}
},
global:'ciwei_ai',
},
ciwei_ai:{
mod:{
aiOrder:function(player,card,num){
if(player!=_status.currentPhase||player.getHistory('useCard').length>1||!game.hasPlayer(function(current){
return current!=player&&(get.realAttitude||get.attitude)(current,player)<0&&current.hasSkill('ciwei')&&current.countCards('he')>0;
})) return;
if(player.getHistory('useCard').length==0){
if(['basic','trick'].contains(get.type(card))) return num+10;
return;
}
if(!['basic','trick'].contains(get.type(card))) return num+10;
if(!player._ciwei_temp){
player._ciwei_temp=true;
num/=Math.max(1,player.getUseValue(card));
}
delete player._ciwei_temp;
return num;
},
},
},
caiyuan:{
trigger:{player:'phaseJieshuBegin'},
forced:true,
filter:function(event,player){
return !player.hasSkill('caiyuan_mark')&&player.phaseNumber>1;
},
content:function(){
player.draw(2);
},
group:'caiyuan_count',
subSkill:{
mark:{
//mark:true,
marktext:'媛',
charlotte:true,
intro:{content:'已扣减过体力'},
},
count:{
trigger:{player:'changeHp'},
silent:true,
charlotte:true,
filter:function(event,player){
return event.num<0&&!player.hasSkill('caiyuan_mark');
},
content:function(){
player.addTempSkill('caiyuan_mark',{player:'phaseAfter'});
if(player.hasSkill('caiyuan')) player.markSkill('caiyuan_mark');
},
},
},
},
shibao_skill:{ shibao_skill:{
locked:false, locked:false,
onremove:function(player){ onremove:function(player){
@ -870,13 +1175,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 1' 'step 1'
player.showCards(result.cards); player.showCards(result.cards);
var type=get.type2(result.cards[0],target); var type=get.type2(result.cards[0],target);
var cards=target.getCards('h',function(card){ target.storage.choufa2=type;
return get.type2(card,target)!=type;
});
if(cards.length){
target.addTempSkill('choufa2',{player:'phaseAfter'}); target.addTempSkill('choufa2',{player:'phaseAfter'});
target.addGaintag(cards,'choufa');
}
}, },
ai:{ ai:{
order:9, order:9,
@ -888,16 +1188,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
choufa2:{ choufa2:{
onremove:function(player){ onremove:true,
player.removeGaintag('choufa');
},
charlotte:true, charlotte:true,
mark:true,
intro:{content:'手牌中的非$牌均视为杀'},
mod:{ mod:{
cardname:function(card,player){ cardname:function(card,player){
if(card.hasGaintag('choufa')) return 'sha'; if(get.type2(card,false)!=player.storage.choufa2) return 'sha';
}, },
cardnature:function(card,player){ cardnature:function(card,player){
if(card.hasGaintag('choufa')) return false; if(get.type2(card,false)!=player.storage.choufa2) return false;
}, },
}, },
}, },
@ -4314,7 +4614,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
qingjiao:{ qingjiao:{
trigger:{player:'phaseUseBegin'}, trigger:{player:'phaseUseBegin'},
filter:function(event,player){ filter:function(event,player){
return player.countCards('h')&&(ui.cardPile.hasChildNodes()||ui.discardPile.hasChildNodes()); return (ui.cardPile.hasChildNodes()||ui.discardPile.hasChildNodes());
}, },
//check:function(event,player){ //check:function(event,player){
// return player.countCards('h')<=player.hp; // return player.countCards('h')<=player.hp;
@ -8535,6 +8835,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xiahouhui:'夏侯徽211年234年字媛容沛国谯县今安徽亳州司马师第一任妻子。征南大将军夏侯尚之女母德阳乡主为大司马曹真之妹。夏侯徽与司马师之间生有五个女儿。夏侯徽很有见识器度每当司马师有什么想法时都由她从旁策划协助。当时司马师之父司马懿位居上将重位而他的儿子们都有雄才大略。夏侯徽深知司马师绝非曹魏忠臣而司马师对出身曹魏家族的夏侯徽也非常顾忌。青龙二年234年正逢“大疫”、“大病”之年夏侯徽被司马师毒杀时年二十四岁死后葬于峻平陵。西晋建国后追谥夏侯徽为景怀皇后。', xiahouhui:'夏侯徽211年234年字媛容沛国谯县今安徽亳州司马师第一任妻子。征南大将军夏侯尚之女母德阳乡主为大司马曹真之妹。夏侯徽与司马师之间生有五个女儿。夏侯徽很有见识器度每当司马师有什么想法时都由她从旁策划协助。当时司马师之父司马懿位居上将重位而他的儿子们都有雄才大略。夏侯徽深知司马师绝非曹魏忠臣而司马师对出身曹魏家族的夏侯徽也非常顾忌。青龙二年234年正逢“大疫”、“大病”之年夏侯徽被司马师毒杀时年二十四岁死后葬于峻平陵。西晋建国后追谥夏侯徽为景怀皇后。',
guozhao:'郭照,电视剧《军师联盟》中的女主角之一,由唐艺昕饰演。原型为文德皇后郭氏(字女王),魏国皇后,张春华的义妹,深爱曹丕,替甄宓抚育曹叡,因甄宓之死被曹叡记恨,曹丕死后,成为皇太后,被曹叡逼上死路。自尽身亡。', guozhao:'郭照,电视剧《军师联盟》中的女主角之一,由唐艺昕饰演。原型为文德皇后郭氏(字女王),魏国皇后,张春华的义妹,深爱曹丕,替甄宓抚育曹叡,因甄宓之死被曹叡记恨,曹丕死后,成为皇太后,被曹叡逼上死路。自尽身亡。',
shibao:'石苞273年字仲容渤海南皮今河北省南皮县人。三国时曹魏至西晋重要将领西晋开国功臣。西晋建立后历任大司马、侍中、司徒等职封乐陵郡公卒后谥号为“武”。', shibao:'石苞273年字仲容渤海南皮今河北省南皮县人。三国时曹魏至西晋重要将领西晋开国功臣。西晋建立后历任大司马、侍中、司徒等职封乐陵郡公卒后谥号为“武”。',
caoanmin:'曹安民(?-197年沛国谯县今安徽亳州字安民。东汉时期人物曹德之子曹操之侄曹昂的堂兄弟曹丕的堂兄死于宛城之战。按曹丕《典论》记载的“亡兄孝廉子脩、从兄安民遇害。”等情况来看安民应该是曹操侄子错不了曹丕是他们属于兄弟关系肯定不会弄错。另外从典论的记载来看安民是和子脩并提的子脩是曹昂的字安民则肯定也是字不是名至于三国志中记载则应取自曹丕之《典论》但陈寿又不知曹安民其名故写为“长子昂、弟子安民”。',
}, },
characterTitle:{ characterTitle:{
wulan:'#b对决限定武将', wulan:'#b对决限定武将',
@ -8597,6 +8898,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
quyi:['quyi','re_quyi'], quyi:['quyi','re_quyi'],
hansui:['xin_hansui','re_hansui'], hansui:['xin_hansui','re_hansui'],
jin_simashi:['jin_simashi','simashi'], jin_simashi:['jin_simashi','simashi'],
jin_yanghuiyu:['jin_yanghuiyu','yanghuiyu'],
chunyuqiong:['chunyuqiong','re_chunyuqiong'],
}, },
translate:{ translate:{
lijue:"李傕", lijue:"李傕",
@ -8915,7 +9218,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
panshi:'叛弑', panshi:'叛弑',
panshi_info:'锁定技,准备阶段,你交给有“慈孝”技能的角色一张手牌;当你于出牌阶段因使用【杀】对其他角色造成伤害时,若其拥有技能“慈孝”,则此伤害+1且你结束出牌阶段。', panshi_info:'锁定技,准备阶段,你交给有“慈孝”技能的角色一张手牌;当你于出牌阶段因使用【杀】对其他角色造成伤害时,若其拥有技能“慈孝”,则此伤害+1且你结束出牌阶段。',
xianshuai:'先率', xianshuai:'先率',
xianshuai_info:'锁定技,有角色造成伤害后,若此伤害是本轮第一次造成伤害:你摸一张牌;若伤害来源是你,则你对受伤角再造成1点伤害。', xianshuai_info:'锁定技,有角色造成伤害后,若此伤害是本轮第一次造成伤害:你摸一张牌;若伤害来源是你,则你对受伤角再造成1点伤害。',
luyusheng:'陆郁生', luyusheng:'陆郁生',
wangrong:'王荣', wangrong:'王荣',
minsi:'敏思', minsi:'敏思',
@ -9033,7 +9336,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
tuishi_info:'隐匿技你于其他角色A的回合内登场时可于此回合结束时选择其攻击范围内的一名角色B。A选择一项①对B使用一张【杀】。②你对A造成1点伤害。', tuishi_info:'隐匿技你于其他角色A的回合内登场时可于此回合结束时选择其攻击范围内的一名角色B。A选择一项①对B使用一张【杀】。②你对A造成1点伤害。',
choufa:'筹伐', choufa:'筹伐',
choufa2:'筹伐', choufa2:'筹伐',
choufa_info:'出牌阶段限一次,你可展示一名其他角色的一张手牌。你令其手牌中原类型与此牌不同的手牌的牌名均视为【杀】且均视为无属性,直到其回合结束。', choufa_info:'出牌阶段限一次,你可展示一名其他角色的一张手牌并记录其类型A。你令其原类型不为A的手牌的牌名均视为【杀】且均视为无属性,直到其回合结束。',
zhaoran:'昭然', zhaoran:'昭然',
zhaoran2:'昭然', zhaoran2:'昭然',
zhaoran_info:'出牌阶段开始时,你可令你的手牌对其他角色可见直到出牌阶段结束。若如此做,当你于此阶段内失去一张手牌后,若你的手牌里没有与此牌花色相同的牌且你本回合内未因该花色的牌触发过此效果,则你选择一项:①摸一张牌。②弃置一名其他角色的一张牌。', zhaoran_info:'出牌阶段开始时,你可令你的手牌对其他角色可见直到出牌阶段结束。若如此做,当你于此阶段内失去一张手牌后,若你的手牌里没有与此牌花色相同的牌且你本回合内未因该花色的牌触发过此效果,则你选择一项:①摸一张牌。②弃置一名其他角色的一张牌。',
@ -9079,6 +9382,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shibao:'石苞', shibao:'石苞',
shibao_skill:'石苞1', shibao_skill:'石苞1',
shibao_skill_info:'出牌阶段你使用本轮获得的牌时以此技能获得的牌除外根据类型执行以下效果1.基本牌不计入次数且无距离限制2.锦囊牌,此牌目标+1或-13.装备牌摸1张牌。', shibao_skill_info:'出牌阶段你使用本轮获得的牌时以此技能获得的牌除外根据类型执行以下效果1.基本牌不计入次数且无距离限制2.锦囊牌,此牌目标+1或-13.装备牌摸1张牌。',
jin_yanghuiyu:'晋羊徽瑜',
jin_yanghuiyu_ab:'羊徽瑜',
huirong:'慧容',
huirong_info:'隐匿技,锁定技。当你登场后,你令一名角色将手牌数摸至/弃至与体力值相同(至多摸至五张)。',
ciwei:'慈威',
ciwei_info:'一名角色于其回合内使用第二张牌时,若此牌为基本牌或普通锦囊牌,则你可以弃置一张牌,取消此牌的所有目标。',
caiyuan:'才媛',
caiyuan_info:'锁定技,当你扣减体力时,你获得一枚“才媛”标记直到你的下回合结束。结束阶段开始时,若你没有“才媛”标记且此回合不是你的第一个回合 ,则你摸两张牌。',
ns_caoanmin:'曹安民',
nskuishe:'窥舍',
nskuishe_info:'出牌阶段限一次你可以选择一名其他角色A的一张牌并将此牌交给不为A的一名角色。然后A可以对你使用一张【杀】。',
re_chunyuqiong:'淳于琼',
recangchu:'仓储',
recangchu2:'仓储',
recangchu_info:'锁定技游戏开始时你获得3个“粮”。你的手牌上限+XX为“粮”数。当你于回合外获得牌时你获得一个“粮”。你的“粮”数不能超过存活角色数',
reliangying:'粮营',
reliangying_info:'弃牌阶段开始时你可以摸至多X张牌然后交给等量的角色各一张牌。X为你的“粮”数',
reshishou:'失守',
reshishou2:'失守',
reshishou_info:'锁定技当你使用【酒】时或受到火焰伤害后你移去一个“粮”。准备阶段若你没有“粮”你失去1点体力。',
sp_yingbian:'文德武备', sp_yingbian:'文德武备',
sp_whlw:"文和乱武", sp_whlw:"文和乱武",

View File

@ -12082,7 +12082,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
fuhuanghou:['re_fuhuanghou','xin_fuhuanghou','fuhuanghou','old_fuhuanghou'], fuhuanghou:['re_fuhuanghou','xin_fuhuanghou','fuhuanghou','old_fuhuanghou'],
chenqun:['chenqun','old_chenqun'], chenqun:['chenqun','old_chenqun'],
hanhaoshihuan:['re_hanhaoshihuan','hanhaoshihuan'], hanhaoshihuan:['re_hanhaoshihuan','hanhaoshihuan'],
caozhen:['caozhen','old_caozhen'], caozhen:['re_caozhen','caozhen','old_caozhen'],
wuyi:['re_wuyi','wuyi'], wuyi:['re_wuyi','wuyi'],
sunluban:['re_sunluban','sunluban'], sunluban:['re_sunluban','sunluban'],
zhuhuan:['zhuhuan','old_zhuhuan'], zhuhuan:['zhuhuan','old_zhuhuan'],
@ -12096,6 +12096,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhangrang:['zhangrang','ol_zhangrang','junk_zhangrang'], zhangrang:['zhangrang','ol_zhangrang','junk_zhangrang'],
jikang:['re_jikang','jikang'], jikang:['re_jikang','jikang'],
xinxianying:['re_xinxianying','xinxianying','ol_xinxianying','sp_xinxianying'], xinxianying:['re_xinxianying','xinxianying','ol_xinxianying','sp_xinxianying'],
gongsunyuan:['re_gongsunyuan','gongsunyuan'],
}, },
translate:{ translate:{
old_huaxiong:'华雄', old_huaxiong:'华雄',

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[ window.noname_asset_list=[
'v1.9.108.5', 'v1.9.109',
'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',
@ -680,6 +680,7 @@ window.noname_asset_list=[
'audio/die/huaxin.mp3', 'audio/die/huaxin.mp3',
'audio/die/guozhao.mp3', 'audio/die/guozhao.mp3',
'audio/die/wolongfengchu.mp3', 'audio/die/wolongfengchu.mp3',
'audio/die/ol_dengai.mp3',
'audio/skill/decadezishou1.mp3', 'audio/skill/decadezishou1.mp3',
'audio/skill/decadezishou2.mp3', 'audio/skill/decadezishou2.mp3',
@ -2982,6 +2983,12 @@ window.noname_asset_list=[
'audio/skill/yingyang2.mp3', 'audio/skill/yingyang2.mp3',
'audio/skill/youlong1.mp3', 'audio/skill/youlong1.mp3',
'audio/skill/youlong2.mp3', 'audio/skill/youlong2.mp3',
'audio/skill/jixi_ol_dengai1.mp3',
'audio/skill/jixi_ol_dengai2.mp3',
'audio/skill/oltuntian1.mp3',
'audio/skill/oltuntian2.mp3',
'audio/skill/olzaoxian1.mp3',
'audio/skill/olzaoxian2.mp3',
'audio/voice/male/0.mp3', 'audio/voice/male/0.mp3',
'audio/voice/male/1.mp3', 'audio/voice/male/1.mp3',
@ -3449,6 +3456,11 @@ window.noname_asset_list=[
'image/card/wutiesuolian.png', 'image/card/wutiesuolian.png',
'image/card/wuxinghelingshan.png', 'image/card/wuxinghelingshan.png',
'image/card/zhujinqiyuan.png', 'image/card/zhujinqiyuan.png',
'image/card/diqi.png',
'image/card/gongshoujianbei.png',
'image/card/jintuiziru.png',
'image/card/jiwangkailai.png',
'image/card/zhadan.png',
'image/character/shenpei.jpg', 'image/character/shenpei.jpg',
'image/character/re_menghuo.jpg', 'image/character/re_menghuo.jpg',
@ -3747,6 +3759,12 @@ window.noname_asset_list=[
'image/character/xin_guohuai.jpg', 'image/character/xin_guohuai.jpg',
'image/character/xin_panzhangmazhong.jpg', 'image/character/xin_panzhangmazhong.jpg',
'image/character/mini_lvmeng.jpg', 'image/character/mini_lvmeng.jpg',
'image/character/boss_zhaoyun.jpg',
'image/character/chunyuqiong.jpg',
'image/character/ns_caoanmin.jpg',
'image/character/ol_dengai.jpg',
'image/character/re_caozhen.jpg',
'image/character/re_gongsunyuan.jpg',
'image/character/baiwuchang.jpg', 'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg', 'image/character/baosanniang.jpg',
@ -4854,7 +4872,6 @@ window.noname_asset_list=[
'image/mode/boss/character/boss_yuji.jpg', 'image/mode/boss/character/boss_yuji.jpg',
'image/mode/boss/character/boss_zhangchunhua.jpg', 'image/mode/boss/character/boss_zhangchunhua.jpg',
'image/mode/boss/character/boss_zhangjiao.jpg', 'image/mode/boss/character/boss_zhangjiao.jpg',
'image/mode/boss/character/boss_zhaoyun.jpg',
'image/mode/boss/character/boss_zhenji.jpg', 'image/mode/boss/character/boss_zhenji.jpg',
'image/mode/boss/character/boss_zhouyu.jpg', 'image/mode/boss/character/boss_zhouyu.jpg',
'image/mode/boss/character/boss_zhuanxu.jpg', 'image/mode/boss/character/boss_zhuanxu.jpg',

View File

@ -4299,6 +4299,7 @@
else{ else{
map.double_hp.hide(); map.double_hp.hide();
} }
map.continue_game.show();
} }
else if(config.identity_mode=='purple'){ else if(config.identity_mode=='purple'){
map.player_number.hide(); map.player_number.hide();
@ -4321,8 +4322,10 @@
map.change_choice.hide(); map.change_choice.hide();
map.free_choose.hide(); map.free_choose.hide();
map.change_identity.hide(); map.change_identity.hide();
map.continue_game.hide();
} }
else{ else{
map.continue_game.show();
map.player_number.show(); map.player_number.show();
map.enhance_zhu.show(); map.enhance_zhu.show();
map.auto_identity.show(); map.auto_identity.show();
@ -4548,7 +4551,7 @@
onclick:function(bool){ onclick:function(bool){
game.saveConfig('continue_game',bool,this._link.config.mode); game.saveConfig('continue_game',bool,this._link.config.mode);
if(get.config('continue_game')){ if(get.config('continue_game')){
if(!ui.continue_game&&_status.over&&!_status.brawl){ if(!ui.continue_game&&_status.over&&!_status.brawl&&!game.no_continue_game){
ui.continue_game=ui.create.control('再战',game.reloadCurrent); ui.continue_game=ui.create.control('再战',game.reloadCurrent);
} }
} }
@ -4987,7 +4990,7 @@
onclick:function(bool){ onclick:function(bool){
game.saveConfig('continue_game',bool,this._link.config.mode); game.saveConfig('continue_game',bool,this._link.config.mode);
if(get.config('continue_game')){ if(get.config('continue_game')){
if(!ui.continue_game&&_status.over&&!_status.brawl){ if(!ui.continue_game&&_status.over&&!_status.brawl&&!game.no_continue_game){
ui.continue_game=ui.create.control('再战',game.reloadCurrent); ui.continue_game=ui.create.control('再战',game.reloadCurrent);
} }
} }
@ -5546,7 +5549,13 @@
name:'斗地主', name:'斗地主',
connect:{ connect:{
update:function(config,map){ update:function(config,map){
if(config.connect_doudizhu_mode=='kaihei'||config.connect_doudizhu_mode=='huanle'){ if(config.connect_doudizhu_mode=='online'){
map.connect_change_card.hide();
}
else{
map.connect_change_card.show();
}
if(config.connect_doudizhu_mode=='kaihei'||config.connect_doudizhu_mode=='huanle'||config.connect_doudizhu_mode=='online'){
map.connect_double_character.hide(); map.connect_double_character.hide();
} }
else{ else{
@ -5560,6 +5569,7 @@
normal:'休闲', normal:'休闲',
kaihei:'开黑', kaihei:'开黑',
huanle:'欢乐', huanle:'欢乐',
online:'智斗',
}, },
restart:true, restart:true,
frequent:true, frequent:true,
@ -5579,11 +5589,37 @@
}, },
config:{ config:{
update:function(config,map){ update:function(config,map){
if(config.doudizhu_mode=='kaihei'||config.doudizhu_mode=='huanle'){ if(config.doudizhu_mode=='online'){
map.change_card.hide();
map.edit_character.show();
map.reset_character.show();
}
else{
map.change_card.show();
map.edit_character.hide();
map.reset_character.hide();
}
if(config.doudizhu_mode=='kaihei'||config.doudizhu_mode=='huanle'||config.doudizhu_mode=='online'){
map.double_character.hide(); map.double_character.hide();
map.free_choose.hide();
map.change_identity.hide();
map.change_choice.hide();
map.continue_game.hide();
map.dierestart.hide();
map.choice_zhu.hide();
map.choice_fan.hide();
map.revive.hide();
} }
else{ else{
map.double_character.show(); map.double_character.show();
map.free_choose.show();
map.change_identity.show();
map.change_choice.show();
map.continue_game.show();
map.dierestart.show();
map.choice_zhu.show();
map.choice_fan.show();
map.revive.show();
} }
if(config.double_character&&config.doudizhu_mode!='kaihei'&&config.doudizhu_mode!='huanle'){ if(config.double_character&&config.doudizhu_mode!='kaihei'&&config.doudizhu_mode!='huanle'){
map.double_hp.show(); map.double_hp.show();
@ -5599,6 +5635,7 @@
normal:'休闲', normal:'休闲',
kaihei:'开黑', kaihei:'开黑',
huanle:'欢乐', huanle:'欢乐',
online:'智斗',
}, },
restart:true, restart:true,
frequent:true, frequent:true,
@ -5679,7 +5716,7 @@
onclick:function(bool){ onclick:function(bool){
game.saveConfig('continue_game',bool,this._link.config.mode); game.saveConfig('continue_game',bool,this._link.config.mode);
if(get.config('continue_game')){ if(get.config('continue_game')){
if(!ui.continue_game&&_status.over&&!_status.brawl){ if(!ui.continue_game&&_status.over&&!_status.brawl&&!game.no_continue_game){
ui.continue_game=ui.create.control('再战',game.reloadCurrent); ui.continue_game=ui.create.control('再战',game.reloadCurrent);
} }
} }
@ -5748,6 +5785,124 @@
'10':'十', '10':'十',
}, },
}, },
edit_character:{
name:'编辑将池',
clear:true,
onclick:function(){
if(get.mode()!='doudizhu'){
alert('请进入斗地主模式,然后再编辑将池');
return;
}
var container=ui.create.div('.popup-container.editor');
var editorpage=ui.create.div(container);
var discardConfig=ui.create.div('.editbutton','取消',editorpage,function(){
ui.window.classList.remove('shortcutpaused');
ui.window.classList.remove('systempaused');
container.delete(null);
delete window.saveNonameInput;
});
var node=container;
var map=get.config('character_online')||lib.characterOnline;
node.code='character='+get.stringify(map)+'\n/*\n 这里是智斗三国模式的武将将池。\n 您可以在这里编辑对武将将池进行编辑,然后点击“保存”按钮即可保存。\n 将池中的Key势力武将仅同时在没有被禁用的情况下才会出现在选将框中。\n 而非Key势力的武将只要所在的武将包没有被隐藏即可出现在选将框中。\n 该将池为单机模式/联机模式通用将池。在这里编辑后,即使进入联机模式,也依然会生效。\n 但联机模式本身禁用的武将(如神貂蝉)不会出现在联机模式的选将框中。\n*/';
ui.window.classList.add('shortcutpaused');
ui.window.classList.add('systempaused');
var saveInput=function(){
var code;
if(container.editor){
code=container.editor.getValue();
}
else if(container.textarea){
code=container.textarea.value;
}
try{
var character=null;
eval(code);
if(!get.is.object(character)){
throw('err');
}
var groups=[];
for(var i in character){
if(!Array.isArray(character[i])) throw('type');
if(character[i].length>=3) groups.push(i);
}
if(groups.length<3) throw('enough');
}
catch(e){
if(e=='type'){
alert('请严格按照格式填写,不要写入不为数组的数据');
}
else if(e=='enough'){
alert('请保证至少写入了3个势力且每个势力至少有3个武将');
}
else if(e=='err'){
alert('代码格式有错误,请对比示例代码仔细检查');
}
else{
alert('代码语法有错误,请仔细检查('+e+'')
}
return;
}
game.saveConfig('character_online',character,'doudizhu');
ui.window.classList.remove('shortcutpaused');
ui.window.classList.remove('systempaused');
container.delete();
container.code=code;
delete window.saveNonameInput;
};
window.saveNonameInput=saveInput;
var saveConfig=ui.create.div('.editbutton','保存',editorpage,saveInput);
var editor=ui.create.div(editorpage);
if(node.aced){
ui.window.appendChild(node);
node.editor.setValue(node.code,1);
}
else if(lib.device=='ios'){
ui.window.appendChild(node);
if(!node.textarea){
var textarea=document.createElement('textarea');
editor.appendChild(textarea);
node.textarea=textarea;
lib.setScroll(textarea);
}
node.textarea.value=node.code;
}
else{
var aceReady=function(){
ui.window.appendChild(node);
var mirror = window.CodeMirror(editor, {
value:node.code,
mode:"javascript",
lineWrapping:!lib.config.touchscreen&&lib.config.mousewheel,
lineNumbers:true,
indentUnit:4,
autoCloseBrackets:true,
theme:'mdn-like'
});
lib.setScroll(editor.querySelector('.CodeMirror-scroll'));
node.aced=true;
node.editor=mirror;
}
if(!window.ace){
lib.init.js(lib.assetURL+'game','codemirror',aceReady);
lib.init.css(lib.assetURL+'layout/default','codemirror');
}
else{
aceReady();
}
};
},
},
reset_character:{
name:'重置将池',
intro:'将智斗三国模式下的将池重置为默认将池',
clear:true,
onclick:function(){
if(confirm('该操作不可撤销!是否清除智斗三国模式的自定义将池,并将其重置为默认将池?')){
game.saveConfig('character_online',null,'doudizhu');
alert('将池已重置');
}
},
},
} }
}, },
single:{ single:{
@ -10644,15 +10799,16 @@
if(typeof num=='function'){ if(typeof num=='function'){
numx=num(player); numx=num(player);
} }
player.directgain(get.cards(numx)); if(player.getTopCards) player.directgain(player.getTopCards(numx));
if(player.singleHp===true&&get.mode()!='guozhan'){ else player.directgain(get.cards(numx));
if(player.singleHp===true&&get.mode()!='guozhan'&&(lib.config.mode!='doudizhu'||_status.mode!='online')){
player.doubleDraw(); player.doubleDraw();
} }
player=player.next; player=player.next;
} }
while(player!=end); while(player!=end);
event.changeCard=get.config('change_card'); event.changeCard=get.config('change_card');
if(_status.connectMode||lib.config.mode!='identity'&&lib.config.mode!='guozhan'&&lib.config.mode!='doudizhu'){ if(_status.connectMode||(lib.config.mode=='doudizhu'&&_status.mode=='online')||lib.config.mode!='identity'&&lib.config.mode!='guozhan'&&lib.config.mode!='doudizhu'){
event.changeCard='disabled'; event.changeCard='disabled';
} }
"step 1" "step 1"
@ -14300,7 +14456,7 @@
var losecard=player.lose(cards,ui.special); var losecard=player.lose(cards,ui.special);
if(info.visible) losecard.visible=true; if(info.visible) losecard.visible=true;
if(info.loseTo) losecard.position=ui[info.loseTo]; if(info.loseTo) losecard.position=ui[info.loseTo];
if(info.insert) losecard.insert=true; if(info.insert) losecard.insert_card=true;
if(losecard.position==ui.special&&info.toStorage) losecard.toStorage=true; if(losecard.position==ui.special&&info.toStorage) losecard.toStorage=true;
} }
} }
@ -14521,6 +14677,7 @@
var cards; var cards;
if(num>0){ if(num>0){
if(event.bottom) cards=get.bottomCards(num); if(event.bottom) cards=get.bottomCards(num);
else if(player.getTopCards) cards=player.getTopCards(num);
else cards=get.cards(num); else cards=get.cards(num);
} }
else{ else{
@ -15448,7 +15605,7 @@
if(get.config('revive')&&lib.mode[lib.config.mode].config.revive&&!ui.revive){ if(get.config('revive')&&lib.mode[lib.config.mode].config.revive&&!ui.revive){
ui.revive=ui.create.control('revive',ui.click.dierevive); ui.revive=ui.create.control('revive',ui.click.dierevive);
} }
if(get.config('continue_game')&&!ui.continue_game&&lib.mode[lib.config.mode].config.continue_game&&!_status.brawl){ if(get.config('continue_game')&&!ui.continue_game&&lib.mode[lib.config.mode].config.continue_game&&!_status.brawl&&!game.no_continue_game){
ui.continue_game=ui.create.control('再战',game.reloadCurrent); ui.continue_game=ui.create.control('再战',game.reloadCurrent);
} }
if(get.config('dierestart')&&lib.mode[lib.config.mode].config.dierestart&&!ui.restart){ if(get.config('dierestart')&&lib.mode[lib.config.mode].config.dierestart&&!ui.restart){
@ -15666,7 +15823,11 @@
"step 0" "step 0"
var judgestr=get.translation(player)+'的'+event.judgestr+'判定'; var judgestr=get.translation(player)+'的'+event.judgestr+'判定';
event.videoId=lib.status.videoId++; event.videoId=lib.status.videoId++;
var cardj=event.directresult||get.cards()[0]; var cardj=event.directresult;
if(!cardj){
if(player.getTopCards) cardj=player.getTopCards()[0];
else cardj=get.cards()[0];
}
var nextj=game.cardsGotoOrdering(cardj); var nextj=game.cardsGotoOrdering(cardj);
if(event.position!=ui.discardPile) nextj.noOrdering=true; if(event.position!=ui.discardPile) nextj.noOrdering=true;
player.judging.unshift(cardj); player.judging.unshift(cardj);
@ -26818,6 +26979,11 @@
lib.skill[i]=mode.skill[i]; lib.skill[i]=mode.skill[i];
} }
} }
if(mode.card){
for(var i in mode.card){
lib.card[i]=mode.card[i];
}
}
game.finishCards(); game.finishCards();
if(mode.characterPack){ if(mode.characterPack){
for(var i in mode.characterPack){ for(var i in mode.characterPack){
@ -31609,7 +31775,7 @@
}); });
} }
} }
else if(!_status.connectMode&&get.config('continue_game')&&!ui.continue_game&&!_status.brawl){ else if(!_status.connectMode&&get.config('continue_game')&&!ui.continue_game&&!_status.brawl&&!game.no_continue_game){
ui.continue_game=ui.create.control('再战',game.reloadCurrent); ui.continue_game=ui.create.control('再战',game.reloadCurrent);
} }
} }
@ -32744,6 +32910,7 @@
if(num==undefined) next.num=4; if(num==undefined) next.num=4;
else next.num=num; else next.num=num;
next.setContent('gameDraw'); next.setContent('gameDraw');
return next;
}, },
chooseCharacterDouble:function(){ chooseCharacterDouble:function(){
var next=game.createEvent('chooseCharacter',false); var next=game.createEvent('chooseCharacter',false);
@ -49261,6 +49428,7 @@
switch(config.doudizhu_mode){ switch(config.doudizhu_mode){
case 'kaihei':return '开黑斗地主'; case 'kaihei':return '开黑斗地主';
case 'huanle':return '欢乐斗地主'; case 'huanle':return '欢乐斗地主';
case 'online':return '智斗三国';
default:return '休闲斗地主'; default:return '休闲斗地主';
} }
} }

View File

@ -160,25 +160,4 @@ window.noname_source_list=[
'theme/style/hp/image/xinround2.png', 'theme/style/hp/image/xinround2.png',
'theme/style/hp/image/xinround3.png', 'theme/style/hp/image/xinround3.png',
'theme/style/hp/image/xinround4.png', 'theme/style/hp/image/xinround4.png',
'node_modules/ws/index.js',
'node_modules/ws/package.json',
'node_modules/ws/lib/BufferPool.js',
'node_modules/ws/lib/BufferUtil.fallback.js',
'node_modules/ws/lib/BufferUtil.js',
'node_modules/ws/lib/ErrorCodes.js',
'node_modules/ws/lib/Extensions.js',
'node_modules/ws/lib/PerMessageDeflate.js',
'node_modules/ws/lib/Receiver.hixie.js',
'node_modules/ws/lib/Receiver.js',
'node_modules/ws/lib/Sender.hixie.js',
'node_modules/ws/lib/Sender.js',
'node_modules/ws/lib/Validation.fallback.js',
'node_modules/ws/lib/Validation.js',
'node_modules/ws/lib/WebSocket.js',
'node_modules/ws/lib/WebSocketServer.js',
'node_modules/ultron/index.js',
'node_modules/ultron/package.json',
'node_modules/ultron/test.js',
'node_modules/options/package.json',
'node_modules/options/lib/options.js',
]; ];

View File

@ -1,15 +1,17 @@
window.noname_update={ window.noname_update={
version:'1.9.108.6', version:'1.9.109',
update:'1.9.108.5.1', update:'1.9.108.6',
changeLog:[ changeLog:[
'微信小程序版神吕蒙', '全新“智斗三国”模式来袭',
'loseAsync式多人同步失去牌', '界邓艾、界曹真、界公孙渊、淳于琼、兀突骨、曹安民',
'高达一号下放',
'水淹七军、应变牌堆调整',
'bug修复', 'bug修复',
], ],
files:[ files:[
//'card/extra.js', //'card/extra.js',
//'card/gujian.js', //'card/gujian.js',
//'card/guozhan.js', 'card/guozhan.js',
//'card/gwent.js', //'card/gwent.js',
//'card/huanlekapai.js', //'card/huanlekapai.js',
//'card/mtg.js', //'card/mtg.js',
@ -17,16 +19,16 @@ window.noname_update={
//'card/standard.js', //'card/standard.js',
//'card/swd.js', //'card/swd.js',
//'card/yunchou.js', //'card/yunchou.js',
//'card/yingbian.js', 'card/yingbian.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',
//'character/hearth.js', //'character/hearth.js',
//'character/mobile.js', 'character/mobile.js',
//'character/mtg.js', //'character/mtg.js',
//'character/old.js', //'character/old.js',
//'character/ow.js', //'character/ow.js',
@ -36,7 +38,7 @@ window.noname_update={
'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',
@ -46,16 +48,16 @@ window.noname_update={
//'layout/default/layout.css', //'layout/default/layout.css',
//'layout/default/menu.css', //'layout/default/menu.css',
//'layout/nova/layout.css', //'layout/nova/layout.css',
//'mode/identity.js', 'mode/boss.js',
//'mode/doudizhu.js', 'mode/brawl.js',
//'mode/guozhan.js',
//'mode/chess.js', //'mode/chess.js',
//'mode/tafang.js', 'mode/doudizhu.js',
'mode/guozhan.js',
'mode/identity.js',
//'mode/single.js', //'mode/single.js',
//'mode/stone.js', //'mode/stone.js',
//'mode/brawl.js', //'mode/tafang.js',
//'mode/versus.js', //'mode/versus.js',
//'mode/boss.js',
'game/game.js', 'game/game.js',
//'game/keyWords.js', //'game/keyWords.js',
//'game/NoSleep.js', //'game/NoSleep.js',

BIN
image/card/diqi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
image/card/jintuiziru.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
image/card/jiwangkailai.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
image/card/zhadan.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 KiB

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View File

@ -1869,6 +1869,7 @@ div:not(.handcards)>.card>.info>span,
} }
.skill { .skill {
font-size: 5px;
left: 0 !important; left: 0 !important;
width: 70px !important; width: 70px !important;
white-space: nowrap; white-space: nowrap;

View File

@ -1025,7 +1025,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_zhugeliang:['male','shen',Infinity,['xiangxing','yueyin','fengqi','gaiming'],['shu','boss','bossallowed'],'qun'], boss_zhugeliang:['male','shen',Infinity,['xiangxing','yueyin','fengqi','gaiming'],['shu','boss','bossallowed'],'qun'],
boss_huangyueying:['female','shen',4,['boss_gongshen','boss_jizhi','qicai','boss_guiyin'],['shu','boss','bossallowed'],'wei'], boss_huangyueying:['female','shen',4,['boss_gongshen','boss_jizhi','qicai','boss_guiyin'],['shu','boss','bossallowed'],'wei'],
boss_pangtong:['male','shen',4,['boss_tianyu','qiwu','niepan','boss_yuhuo'],['shu','boss','bossallowed'],'zhu'], boss_pangtong:['male','shen',4,['boss_tianyu','qiwu','niepan','boss_yuhuo'],['shu','boss','bossallowed'],'zhu'],
boss_zhaoyun:['male','shen',1,['boss_juejing','longhun','zhanjiang'],['shu','boss','bossallowed'],'qun'],
boss_zhouyu:['male','shen',6,['huoshen','boss_honglian','boss_xianyin'],['wu','boss','bossallowed'],'zhu'], boss_zhouyu:['male','shen',6,['huoshen','boss_honglian','boss_xianyin'],['wu','boss','bossallowed'],'zhu'],
@ -1950,9 +1949,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
loopType:2, loopType:2,
chongzheng:12 chongzheng:12
}, },
boss_zhaoyun:{
chongzheng:12
},
boss_zhenji:{ boss_zhenji:{
chongzheng:4, chongzheng:4,
}, },
@ -7860,50 +7856,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_xuanlin_intro2:{nobracket:true}, boss_xuanlin_intro2:{nobracket:true},
boss_xuanlin_intro3:{nobracket:true}, boss_xuanlin_intro3:{nobracket:true},
boss_xuanlin_intro4:{nobracket:true}, boss_xuanlin_intro4:{nobracket:true},
zhanjiang:{
trigger:{player:'phaseZhunbeiBegin'},
filter:function(event,player){
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(players[i]!=player&&players[i].getEquip('qinggang')){
return true;
}
}
},
content:function(){
var players=game.filterPlayer();
for(var i=0;i<players.length;i++){
if(players[i]!=player){
var e=players[i].getEquip('qinggang');
if(e){
player.line(players[i],'green');
players[i].give(e,player);
}
}
}
}
},
boss_juejing:{
trigger:{player:'phaseDrawBefore'},
forced:true,
content:function(){
trigger.cancel();
},
ai:{
noh:true,
},
group:'boss_juejing2'
},
boss_juejing2:{
trigger:{player:'loseEnd'},
forced:true,
filter:function(event,player){
return player.countCards('h')<4;
},
content:function(){
player.draw(4-player.countCards('h'));
}
},
boss_leiji:{ boss_leiji:{
audio:2, audio:2,
trigger:{player:['respond','useCard']}, trigger:{player:['respond','useCard']},
@ -9223,7 +9175,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_luxun:'蹁跹君子', boss_luxun:'蹁跹君子',
boss_zhenji:'洛水仙子', boss_zhenji:'洛水仙子',
boss_diaochan:'绝代妖姬', boss_diaochan:'绝代妖姬',
boss_zhaoyun:'高达一号',
boss_guojia:'世之奇士', boss_guojia:'世之奇士',
boss_caocao:'魏武大帝', boss_caocao:'魏武大帝',
@ -9566,9 +9517,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
// boss_bianshen4:'后援', // boss_bianshen4:'后援',
// boss_bianshen4_info:'你死亡后,随机召唤罗刹、夜叉中的一个', // boss_bianshen4_info:'你死亡后,随机召唤罗刹、夜叉中的一个',
zhanjiang:'斩将',
zhanjiang_info:'准备阶段开始时,如果其他角色的装备区内有【青釭剑】,你可以获得之',
boss_qiangzheng:'强征', boss_qiangzheng:'强征',
boss_qiangzheng_info:'锁定技,结束阶段,你获得每个敌方角色的一张手牌', boss_qiangzheng_info:'锁定技,结束阶段,你获得每个敌方角色的一张手牌',
boss_baolin:'暴凌', boss_baolin:'暴凌',
@ -9614,10 +9562,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
boss_tianyu:'天狱', boss_tianyu:'天狱',
boss_tianyu_info:'锁定技,结束阶段,你解除横置状态,除你之外的所有角色进入横置状态', boss_tianyu_info:'锁定技,结束阶段,你解除横置状态,除你之外的所有角色进入横置状态',
boss_juejing:'绝境',
boss_juejing2:'绝境',
boss_juejing_info:'锁定技摸牌阶段开始时你不摸牌锁定技若你的手牌数小于4你将手牌补至四张',
boss_jizhi:'集智', boss_jizhi:'集智',
boss_jizhi_info:'每当你使用一张非转化的非基本牌,你可以摸一张牌并展示之', boss_jizhi_info:'每当你使用一张非转化的非基本牌,你可以摸一张牌并展示之',
boss_guiyin:'归隐', boss_guiyin:'归隐',

View File

@ -452,6 +452,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
var skillsx=lib.character[name][3].slice(0); var skillsx=lib.character[name][3].slice(0);
lib.character[name][2]=4; lib.character[name][2]=4;
lib.character[name][3]=[]; lib.character[name][3]=[];
if(lib.character[name][4]) lib.character[name][4].remove('hiddenSkill');
characters.push(name); characters.push(name);
var list=skillsx.slice(0); var list=skillsx.slice(0);
for(var j=0;j<skillsx.length;j++){ for(var j=0;j<skillsx.length;j++){

File diff suppressed because it is too large Load Diff

View File

@ -857,6 +857,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
next.setContent(function(){ next.setContent(function(){
"step 0" "step 0"
ui.arena.classList.add('choose-character'); ui.arena.classList.add('choose-character');
game.no_continue_game=true;
lib.init.onfree(); lib.init.onfree();
"step 1" "step 1"
var list=['rZhu','rZhong','rNei','rYe']; var list=['rZhu','rZhong','rNei','rYe'];