v1.9.112.1
|
@ -549,7 +549,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
trigger:{global:'useCard'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.card.name=='qizhengxiangsheng'||get.zhinangs().contains(event.card.name)||player.getStorage('dinghan').contains(event.card.name);
|
||||
return (event.card.name=='qizhengxiangsheng'||get.zhinangs().contains(event.card.name)||player.getStorage('dinghan').contains(event.card.name))&&event.card.isCard&&event.cards.length==1;
|
||||
},
|
||||
content:function(){player.draw()},
|
||||
},
|
||||
|
@ -4857,7 +4857,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tianzuo:'天佐',
|
||||
tianzuo_info:'①游戏开始时,你将8张【奇正相生】加入牌堆。②当一名角色成为【奇正相生】的目标后,你可观看其手牌,然后可以更改其标记。',
|
||||
lingce:'灵策',
|
||||
lingce_info:'锁定技。当有【奇正相生】或智囊或〖定汉①〗记录过的锦囊牌被使用时,你摸一张牌。',
|
||||
lingce_info:'锁定技。当有【奇正相生】或智囊或〖定汉①〗记录过的锦囊牌被使用时,若此牌不为转化牌且对应实体牌数量为1,则你摸一张牌。',
|
||||
dinghan:'定汉',
|
||||
dinghan_info:'①当你成为未记录过的锦囊牌的目标时,你记录此牌名并取消之。②准备阶段,你可在〖定汉①〗的记录中添加或减少一种锦囊牌的牌名。',
|
||||
shen_sunce:'神孙策',
|
||||
|
|
|
@ -18,13 +18,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
mobile_shenhua:["re_pangtong","re_guanqiujian","xin_yuanshao","re_liushan","re_dongzhuo","re_sp_zhugeliang","re_sunjian","re_dengai","re_jiangwei","re_zhurong"],
|
||||
mobile_yijiang1:["re_xusheng","re_lingtong","ol_yujin"],
|
||||
mobile_yijiang2:["old_bulianshi","xin_liaohua","xin_caozhang","re_liubiao","re_handang","xin_chengpu","xin_gongsunzan","re_zhonghui"],
|
||||
mobile_yijiang3:["xin_jianyong","xin_zhuran","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou"],
|
||||
mobile_yijiang3:["xin_jianyong","xin_zhuran","xin_guohuai","xin_panzhangmazhong","xin_fuhuanghou","re_yufan"],
|
||||
mobile_yijiang4:["xin_zhoucang","xin_caifuren","xin_guyong","xin_sunluban","xin_caozhen"],
|
||||
mobile_yijiang67:["re_jikang"],
|
||||
mobile_sp:["old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","re_heqi","liuzan","xin_hansui"],
|
||||
},
|
||||
},
|
||||
character:{
|
||||
re_yufan:['male','wu',3,['zhiyan','rezongxuan']],
|
||||
sunhanhua:['female','wu',3,['chongxu','miaojian','shhlianhua']],
|
||||
sp_jiangqing:['male','wu',4,['spjianyi','spshangyi']],
|
||||
sp_jiangwan:['male','shu',3,['spzhenting','spjincui']],
|
||||
|
@ -594,6 +595,39 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
//虞翻
|
||||
rezongxuan:{
|
||||
inherit:'zongxuan',
|
||||
group:'rezongxuan_place',
|
||||
},
|
||||
rezongxuan_place:{
|
||||
audio:'rezongxuan',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.draw();
|
||||
'step 1'
|
||||
player.chooseCard('he',true,'将一张牌置于牌堆顶');
|
||||
'step 2'
|
||||
if(result&&result.cards){
|
||||
event.card=result.cards[0];
|
||||
player.lose(result.cards,ui.cardPile,'insert');
|
||||
game.log(player,'将',(get.position(event.card)=='h'?'一张牌':event.card),'置于牌堆顶');
|
||||
game.broadcastAll(function(player){
|
||||
var cardx=ui.create.card();
|
||||
cardx.classList.add('infohidden');
|
||||
cardx.classList.add('infoflip');
|
||||
player.$throw(cardx,1000,'nobroadcast');
|
||||
},player);
|
||||
}
|
||||
else event.finish();
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
result:{player:1},
|
||||
},
|
||||
},
|
||||
//孙寒华
|
||||
chongxu:{
|
||||
enable:'phaseUse',
|
||||
|
@ -1438,7 +1472,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.getHistory('gain',function(evt){
|
||||
hs.removeArray(evt.cards);
|
||||
});
|
||||
if(hs.length) player.addGaintag(cards,'zaoli');
|
||||
if(hs.length) player.addGaintag(hs,'zaoli');
|
||||
}
|
||||
},
|
||||
onremove:function(player){
|
||||
|
@ -2486,7 +2520,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
if(!player.storage.fengjie2||!player.storage.fengjie2.isIn()) return false;
|
||||
var num1=player.countCards('h'),num2=player.storage.fengjie2.hp;
|
||||
return num1>num2||num1<Math.min(4,num2);
|
||||
return num1!=num2;
|
||||
},
|
||||
logTarget:(event,player)=>player.storage.fengjie2,
|
||||
content:function(){
|
||||
|
@ -15183,7 +15217,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jutu:'据土',
|
||||
jutu_info:'锁定技,准备阶段,你获得所有你武将牌上的“生”,然后摸X+1张牌,然后将X张牌置于你的武将牌上,称为“生”(X为你因〖邀虎〗选择势力的角色数量)。',
|
||||
yaohu:'邀虎',
|
||||
yaohu_info:'每轮限一次,你的回合开始时,你须选择场上一个势力。该势力其他角色的出牌阶段开始时,其可以获得你的一张“生”,然后其须选择一项:①对你指定的另一名的其他角色使用一张【杀】(无距离和次数限制);②交给你两张牌。',
|
||||
yaohu_info:'每轮限一次,你的回合开始时,你须选择场上一个势力。该势力其他角色的出牌阶段开始时,其获得你的一张“生”,然后其须选择一项:①对你指定的另一名的其他角色使用一张【杀】(无距离和次数限制);②交给你两张牌。',
|
||||
rehuaibi:'怀璧',
|
||||
rehuaibi_info:'主公技,锁定技,你的手牌上限+X(X为你因〖邀虎〗选择势力的角色数量)。',
|
||||
simafu:'司马孚',
|
||||
|
@ -15260,6 +15294,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
shhlianhua1_info:'当你成为【杀】的目标后,你摸一张牌。然后你进行判定,若结果为黑桃,则此【杀】对你无效。',
|
||||
shhlianhua2:'莲华·极',
|
||||
shhlianhua2_info:'当你成为【杀】的目标后,你摸一张牌。然后此【杀】的使用者选择一项:①弃置一张牌。②令此【杀】对你无效。',
|
||||
re_yufan:'手杀虞翻',
|
||||
rezongxuan:'纵玄',
|
||||
rezongxuan_place:'纵玄',
|
||||
rezongxuan_info:'当你的牌因弃置而进入弃牌堆后,你可以将其以任意顺序置于牌堆顶。出牌阶段限一次,你可以摸一张牌,然后将一张牌置于牌堆顶。',
|
||||
|
||||
mobile_standard:'手杀异构·标准包',
|
||||
mobile_shenhua:'手杀异构·神话再临',
|
||||
|
|
|
@ -28,6 +28,7 @@ window.noname_character_rank={
|
|||
'sp_xiahoushi',
|
||||
'ns_zhangwei',
|
||||
'wanglang',
|
||||
'caojinyu',
|
||||
'key_mio',
|
||||
'key_midori',
|
||||
'key_yuri',
|
||||
|
@ -489,6 +490,7 @@ window.noname_character_rank={
|
|||
'qiaozhou',
|
||||
're_xunchen',
|
||||
'sp_cuiyan',
|
||||
'ol_dongzhao',
|
||||
],
|
||||
bp:[
|
||||
'chess_diaochan',
|
||||
|
@ -724,6 +726,11 @@ window.noname_character_rank={
|
|||
'ol_yangyi',
|
||||
'sp_zhangchangpu',
|
||||
'sp_jiangwan',
|
||||
'xinchang',
|
||||
'xin_yufan',
|
||||
'tw_re_caohong',
|
||||
'tw_mayunlu',
|
||||
'tw_hucheer',
|
||||
],
|
||||
b:[
|
||||
'diy_feishi',
|
||||
|
@ -930,6 +937,8 @@ window.noname_character_rank={
|
|||
'sp_wangshuang',
|
||||
'yanpu',
|
||||
'sp_jiangqing',
|
||||
'tw_hejin',
|
||||
'xuangongzhu',
|
||||
],
|
||||
bm:[
|
||||
'diy_xizhenxihong',
|
||||
|
@ -1082,6 +1091,7 @@ window.noname_character_rank={
|
|||
'yuejiu',
|
||||
'xin_sunluban',
|
||||
'ol_bianfuren',
|
||||
'sp_ol_zhanghe',
|
||||
],
|
||||
c:[
|
||||
'xiahoudun',
|
||||
|
@ -1234,6 +1244,7 @@ window.noname_character_rank={
|
|||
're_nanhualaoxian',
|
||||
'shen_sunce',
|
||||
'sunhanhua',
|
||||
'caojinyu',
|
||||
'key_yuri',
|
||||
'key_yuzuru',
|
||||
'sp_key_kanade',
|
||||
|
@ -1798,6 +1809,13 @@ window.noname_character_rank={
|
|||
'ol_yangyi',
|
||||
'sp_cuiyan',
|
||||
'sp_zhangchangpu',
|
||||
'ol_dongzhao',
|
||||
'xin_yufan',
|
||||
'xuangongzhu',
|
||||
'xinchang',
|
||||
'tw_mayunlu',
|
||||
'tw_re_caohong',
|
||||
'tw_hucheer',
|
||||
],
|
||||
junk:[
|
||||
'sunshao',
|
||||
|
@ -1815,6 +1833,7 @@ window.noname_character_rank={
|
|||
'junk_simayi',
|
||||
'wolongfengchu',
|
||||
're_chenqun',
|
||||
'sp_ol_zhanghe',
|
||||
'key_youta',
|
||||
],
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
refresh_shan:['ol_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','re_zhangchunhua'],
|
||||
refresh_yijiang2:['old_madai','re_wangyi','guanzhang','xin_handang','xin_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','re_guanping'],
|
||||
refresh_yijiang3:['re_jianyong','re_guohuai','re_zhuran','re_panzhangmazhong','xin_yufan','re_liru','re_manchong','re_fuhuanghou','re_guanping'],
|
||||
refresh_yijiang4:['re_sunluban','re_wuyi','re_hanhaoshihuan','re_caozhen','re_zhoucang','re_chenqun','re_caifuren','re_guyong'],
|
||||
refresh_yijiang5:['re_zhangyi','re_quancong','re_caoxiu','re_sunxiu','re_gongsunyuan','re_guotufengji'],
|
||||
},
|
||||
|
@ -41,7 +41,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
re_gongsunzan:['male','qun',4,['reqiaomeng','reyicong']],
|
||||
re_manchong:['male','wei',3,['rejunxing','yuce']],
|
||||
re_liru:['male','qun',3,['rejuece','remieji','xinfencheng']],
|
||||
re_yufan:['male','wu',3,['zhiyan','rezongxuan']],
|
||||
xin_yufan:['male','wu',3,['xinzhiyan','xinzongxuan']],
|
||||
re_bulianshi:['female','wu',3,['reanxu','zhuiyi']],
|
||||
re_hanhaoshihuan:['male','wei',4,['reshenduan','reyonglve']],
|
||||
re_panzhangmazhong:['male','wu',4,['reduodao','reanjian']],
|
||||
|
@ -139,6 +139,173 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
re_xushu:['zhaoyun','sp_zhugeliang'],
|
||||
},
|
||||
skill:{
|
||||
//虞翻
|
||||
xinzongxuan:{
|
||||
audio:2,
|
||||
trigger:{player:'loseAfter'},
|
||||
filter:function(event,player){
|
||||
if(event.type!='discard') return false;
|
||||
for(var i=0;i<event.cards2.length;i++){
|
||||
if(get.position(event.cards2[i])=='d'){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
check:function(trigger,player){
|
||||
if(trigger.getParent(3).name=='phaseDiscard') return true;
|
||||
if(!game.hasPlayer(function(current){
|
||||
return current!=player&&get.attitude(player,current)>0&&!current.hasSkillTag('nogain');
|
||||
})) return false;
|
||||
for(var i=0;i<trigger.cards2.length;i++){
|
||||
if(get.position(trigger.cards2[i],true)=='d'&&get.type2(trigger.cards2[i],false)=='trick'){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var cards=[];
|
||||
for(var i=0;i<trigger.cards2.length;i++){
|
||||
if(get.position(trigger.cards2[i],true)=='d'){
|
||||
cards.push(trigger.cards2[i]);
|
||||
}
|
||||
}
|
||||
var next=player.chooseToMove('纵玄:将任意张牌置于牌堆顶',true);
|
||||
next.set('list',[
|
||||
['本次弃置的牌(请将要给出的锦囊牌留在这里)',cards],
|
||||
['牌堆顶'],
|
||||
]);
|
||||
next.set('filterOk',function(moved){
|
||||
if(moved[0].length==1&&get.type2(moved[0][0],false)=='trick') return true;
|
||||
return moved[1].length>0;
|
||||
});
|
||||
next.set('processAI',function(list){
|
||||
var cards=list[0][1].slice(0),player=_status.event.player;
|
||||
var result=[[],[]];
|
||||
if(game.hasPlayer(function(current){
|
||||
return current!=player&&get.attitude(player,current)>0&&!current.hasSkillTag('nogain');
|
||||
})){
|
||||
var max_val=0;
|
||||
var max_card=false;
|
||||
for(var i of cards){
|
||||
if(get.type2(i,false)=='trick'){
|
||||
var val=get.value(i,'raw');
|
||||
if(val>max_val){
|
||||
max_card=i;
|
||||
max_val=val;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(max_card){
|
||||
result[0].push(max_card);
|
||||
cards.remove(max_card);
|
||||
}
|
||||
}
|
||||
if(cards.length){
|
||||
var max_val=0;
|
||||
var max_card=false;
|
||||
var equip=game.hasPlayer(function(current){
|
||||
return current.isDamaged()&&get.recoverEffect(current,player,player)>0;
|
||||
})
|
||||
for(var i of cards){
|
||||
var val=get.value(i);
|
||||
var type=get.type2(i,false);
|
||||
if(type=='basic') val+=3;
|
||||
if(type=='equip'&&equip) val+=9;
|
||||
if(max_val==0||val>max_val){
|
||||
max_card=i;
|
||||
max_val=val;
|
||||
}
|
||||
}
|
||||
if(max_card){
|
||||
result[1].push(max_card);
|
||||
cards.remove(max_card);
|
||||
}
|
||||
result[0].addArray(cards);
|
||||
}
|
||||
return result;
|
||||
})
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var cards=result.moved[1].slice(0);
|
||||
if(cards.length){
|
||||
game.log(player,'将',cards,'置于了牌堆顶');
|
||||
while(cards.length) ui.cardPile.insertBefore(cards.pop().fix(),ui.cardPile.firstChild);
|
||||
}
|
||||
var list=result.moved[0].filter(function(i){
|
||||
return get.type2(i,false)=='trick';
|
||||
});
|
||||
if(list.length&&game.hasPlayer((current)=>(current!=player))){
|
||||
var next=player.chooseButton(['是否将一张锦囊牌交给一名其他角色?',list]).set('ai',function(button){
|
||||
return get.value(button.link,'raw');
|
||||
});
|
||||
if(!result.moved[1].length) next.set('forced',true);
|
||||
}
|
||||
else event.finish();
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
var card=result.links[0];
|
||||
event.card=card;
|
||||
player.chooseTarget(lib.filter.notMe,true,'令一名其他角色获得'+get.translation(card)).set('card',card).set('ai',function(target){
|
||||
var card=_status.event.card,player=_status.event.player;
|
||||
var eff=get.value(card,target)*get.attitude(player,target);
|
||||
if(target.hasSkill('nogain')) eff/=10;
|
||||
return eff;
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.line(target,'green');
|
||||
target.gain(card,'gain2');
|
||||
}
|
||||
},
|
||||
},
|
||||
xinzhiyan:{
|
||||
audio:'zhiyan',
|
||||
audioname:['gexuan','re_yufan','xin_yufan'],
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget(get.prompt('zhiyan'),'令一名角色摸一张牌并展示之。若为基本牌则你摸一张牌;若为装备牌,则其回复1点体力').set('ai',function(target){
|
||||
return get.attitude(_status.event.player,target)*(target.isDamaged()?2:1);
|
||||
});
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
event.target=result.targets[0];
|
||||
player.logSkill('zhiyan',result.targets);
|
||||
event.bool=false;
|
||||
event.target.draw('visible');
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
var card=result[0];
|
||||
event.card=card;
|
||||
if(get.type(card)=='basic') player.draw();
|
||||
"step 3"
|
||||
if(get.type(card)=='equip'){
|
||||
if(target.getCards('h').contains(card)&&target.hasUseTarget(card)){
|
||||
event.target.chooseUseTarget(card,true,'nopopup');
|
||||
game.delay();
|
||||
}
|
||||
event.bool=true;
|
||||
}
|
||||
"step 4"
|
||||
if(event.bool) target.recover();
|
||||
},
|
||||
ai:{
|
||||
expose:0.2,
|
||||
threaten:1.2
|
||||
}
|
||||
},
|
||||
//新主公技
|
||||
xinhuangtian:{
|
||||
unique:true,
|
||||
|
@ -3044,38 +3211,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
}
|
||||
},
|
||||
rezongxuan:{
|
||||
inherit:'zongxuan',
|
||||
group:'rezongxuan_place',
|
||||
},
|
||||
rezongxuan_place:{
|
||||
audio:'rezongxuan',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.draw();
|
||||
'step 1'
|
||||
player.chooseCard('he',true,'将一张牌置于牌堆顶');
|
||||
'step 2'
|
||||
if(result&&result.cards){
|
||||
event.card=result.cards[0];
|
||||
player.lose(result.cards,ui.cardPile,'insert');
|
||||
game.log(player,'将',(get.position(event.card)=='h'?'一张牌':event.card),'置于牌堆顶');
|
||||
game.broadcastAll(function(player){
|
||||
var cardx=ui.create.card();
|
||||
cardx.classList.add('infohidden');
|
||||
cardx.classList.add('infoflip');
|
||||
player.$throw(cardx,1000,'nobroadcast');
|
||||
},player);
|
||||
}
|
||||
else event.finish();
|
||||
},
|
||||
ai:{
|
||||
order:1,
|
||||
result:{player:1},
|
||||
},
|
||||
},
|
||||
decadelihuo:{
|
||||
trigger:{player:'useCard1'},
|
||||
filter:function(event,player){
|
||||
|
@ -9949,7 +10084,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return lib.skill.rezaiqi.count()>0;
|
||||
},
|
||||
trigger:{
|
||||
player:'phaseDiscardEnd'
|
||||
player:'phaseJieshuBegin'
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -9984,36 +10119,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
game.delay();
|
||||
if(targets.length) event.goto(2);
|
||||
},
|
||||
group:'rezaiqi_count',
|
||||
},
|
||||
rezaiqi_count:{
|
||||
trigger:{
|
||||
global:["loseEnd","cardsDiscardEnd"],
|
||||
player:'phaseAfter',
|
||||
},
|
||||
silent:true,
|
||||
forced:true,
|
||||
popup:false,
|
||||
filter:function (event,player,name){
|
||||
if(name=='phaseAfter') return true;
|
||||
if(_status.currentPhase!=player) return false;
|
||||
var evt=event.getParent();
|
||||
if(evt&&evt.name=='useCard'&&evt.card&&['equip','delay'].contains(get.type(evt.card))) return false;
|
||||
var cards=event.cards;
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(get.color(cards[i])=='red'&&get.position(cards[i],true)=='d') return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
if(event.triggername=='phaseAfter') player.storage.rezaiqi=0;
|
||||
else{
|
||||
var cards=trigger.cards;
|
||||
for(var i=0;i<cards.length;i++){
|
||||
if(get.color(cards[i])=='red'&&get.position(cards[i],true)=='d') player.storage.rezaiqi++;
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
dynamicTranslate:{
|
||||
|
@ -10267,9 +10372,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
refangzhu:'放逐',
|
||||
refangzhu_info:'当你受到伤害后,你可以令一名其他角色选择一项:摸X张牌并将武将牌翻面,或弃置X张牌并失去1点体力。(X为你已损失的体力值)',
|
||||
rezaiqi:'再起',
|
||||
rezaiqi_info:'弃牌阶段结束时,你可以令至多X名角色选择一项:1.摸一张牌,2.令你回复1点体力(X为本回合进入弃牌堆的红色牌数)',
|
||||
rezaiqi_info:'结束阶段开始时,你可以令至多X名角色选择一项:1.摸一张牌,2.令你回复1点体力(X为本回合进入弃牌堆的红色牌数)',
|
||||
ol_jiangwei:'界姜维',
|
||||
re_caiwenji:'界蔡文姬',
|
||||
re_caiwenji:'界蔡琰',
|
||||
re_baosanniang:'手杀鲍三娘',
|
||||
retuntian:'屯田',
|
||||
rebeige:'悲歌',
|
||||
|
@ -10401,10 +10506,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
decadechunlao:'醇醪',
|
||||
decadechunlao2:'醇醪',
|
||||
decadechunlao_info:'你可以对其他角色使用【酒(使用方法②)】。当你需要使用【酒】时,若你的武将牌未横置,则你可以将武将牌横置,然后视为使用【酒】。当你受到或造成伤害后,若伤害值大于1且你的武将牌横置,则你可以重置武将牌。',
|
||||
re_yufan:'界虞翻',
|
||||
rezongxuan:'纵玄',
|
||||
rezongxuan_place:'纵玄',
|
||||
rezongxuan_info:'当你的牌因弃置而进入弃牌堆后,你可以将其以任意顺序置于牌堆顶。出牌阶段限一次,你可以摸一张牌,然后将一张牌置于牌堆顶。',
|
||||
re_liru:'界李儒',
|
||||
rejuece:'绝策',
|
||||
rejuece_info:'结束阶段,你可以对一名本回合内失去过牌的角色造成1点伤害。',
|
||||
|
@ -10541,7 +10642,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
rejijiang1:'激将',
|
||||
rejijiang2:'激将',
|
||||
rejijiang_info:'主公技。①当你需要使用或打出【杀】时,你可以令其他蜀势力角色依次选择是否打出一张【杀】。若有角色响应,则你视为使用或打出了此【杀】。②每回合限一次。当有蜀势力角色于回合外使用或打出【杀】时,其可以令你摸一张牌。',
|
||||
|
||||
xin_yufan:'界虞翻',
|
||||
xinzongxuan:'纵玄',
|
||||
xinzongxuan_info:'当你的牌因弃置而进入弃牌堆后,你可将其中的任意张牌置于牌堆顶。若剩余的牌中有锦囊牌,则你可以令一名其他角色获得其中的一张。',
|
||||
xinzhiyan:'直言',
|
||||
xinzhiyan_info:'结束阶段开始时,你可令一名角色摸一张牌(正面朝上移动)。若此牌为基本牌,则你摸一张牌。若此牌为装备牌,则其回复1点体力并使用此装备牌。',
|
||||
|
||||
refresh_standard:'界限突破·标',
|
||||
refresh_feng:'界限突破·风',
|
||||
|
|
|
@ -7407,7 +7407,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jiaxu:['re_jiaxu','jiaxu','ns_jiaxu'],
|
||||
dongzhuo:['ol_dongzhuo','sp_dongzhuo','re_dongzhuo','dongzhuo'],
|
||||
dengai:['re_dengai','ol_dengai','dengai'],
|
||||
sp_zhanghe:['sp_zhanghe','yj_zhanghe'],
|
||||
sp_ol_zhanghe:['sp_ol_zhanghe','yj_zhanghe','sp_zhanghe'],
|
||||
jiangwei:['ol_jiangwei','re_jiangwei','jiangwei'],
|
||||
liushan:['ol_liushan','re_liushan','liushan'],
|
||||
sunce:['re_sunben','re_sunce','sunce'],
|
||||
|
@ -7610,7 +7610,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dengai:'邓艾',
|
||||
sunce:'孙策',
|
||||
zhangzhang:'张昭张紘',
|
||||
caiwenji:'蔡文姬',
|
||||
caiwenji:'蔡琰',
|
||||
zuoci:'左慈',
|
||||
|
||||
zhurong:'祝融',
|
||||
|
|
299
character/sp.js
|
@ -6,13 +6,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
characterSort:{
|
||||
sp:{
|
||||
sp_tianji:["sunhao","liuxie","caoang","hetaihou","sunluyu",'ol_wangrong',"zuofen","ganfuren","ol_bianfuren"],
|
||||
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi'],
|
||||
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao'],
|
||||
sp_tianzhu:["wutugu","yanbaihu","shamoke","panfeng","zhugedan",'huangzu','gaogan',"tadun"],
|
||||
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao"],
|
||||
sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan'],
|
||||
sp_huben:["caohong","xiahouba","zhugeke","zumao","wenpin","litong","mazhong","heqi","quyi","luzhi","zangba","yuejin","dingfeng"],
|
||||
sp_liesi:['mizhu'],
|
||||
sp_default:["sp_diaochan","sp_zhaoyun","sp_sunshangxiang","sp_caoren","sp_jiangwei","sp_machao","sp_caiwenji","jsp_guanyu","jsp_huangyueying","sp_pangde","sp_jiaxu","yuanshu",'sp_zhangliao'],
|
||||
sp_default:["sp_diaochan","sp_zhaoyun","sp_sunshangxiang","sp_caoren","sp_jiangwei","sp_machao","sp_caiwenji","jsp_guanyu","jsp_huangyueying","sp_pangde","sp_jiaxu","yuanshu",'sp_zhangliao','sp_ol_zhanghe'],
|
||||
sp_qifu:["caoying",'panshu',"caochun","yuantanyuanshang",'caoshuang','wolongfengchu','guansuo','baosanniang','fengfangnv'],
|
||||
sp_wanglang:['wanglang'],
|
||||
sp_tongque:["sp_fuwan","sp_fuhuanghou","sp_jiben"],
|
||||
|
@ -24,6 +24,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
characterFilter:{},
|
||||
character:{
|
||||
sp_ol_zhanghe:['male','qun',4,['spolzhouxuan']],
|
||||
ol_dongzhao:['male','wei',3,['olxianlve','olzaowang']],
|
||||
fengfangnv:['female','qun',3,['zhuangshu','chuiti']],
|
||||
ol_yangyi:['male','shu',3,['oljuanxia','oldingcuo']],
|
||||
zuofen:['female','jin',3,['zhaosong','lisi']],
|
||||
|
@ -462,6 +464,284 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
//新SP张郃
|
||||
spolzhouxuan:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseDiscardBegin'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return player.getStorage('spolzhouxuan').length<5&&player.countCards('h')>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=Math.min(5-player.getStorage('spolzhouxuan').length,player.countCards('h'));
|
||||
player.chooseCard('h',get.prompt('spolzhouxuan'),[1,num],'将任意张牌置于武将牌上作为“旋”').set('ai',function(card){
|
||||
if(ui.selected.cards.length>=player.needsToDiscard()) return 0;
|
||||
return 100-get.useful(card);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var cards=result.cards;
|
||||
player.logSkill('spolzhouxuan');
|
||||
player.markAuto('spolzhouxuan',cards);
|
||||
player.lose(cards,ui.special,'toStorage');
|
||||
game.log(player,'将',cards,'置于了武将牌上');
|
||||
}
|
||||
},
|
||||
marktext:'旋',
|
||||
intro:{
|
||||
content:'cards',
|
||||
onunmark:'throw',
|
||||
},
|
||||
group:['spolzhouxuan_use','spolzhouxuan_discard'],
|
||||
subSkill:{
|
||||
use:{
|
||||
audio:'spolzhouxuan',
|
||||
trigger:{player:'useCard'},
|
||||
forced:true,
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return player.getStorage('spolzhouxuan').length>0;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseButton(['选择移去一张“旋”',player.getStorage('spolzhouxuan')],true);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var card=result.links[0];
|
||||
player.$throw(card,1000);
|
||||
game.cardsDiscard(card);
|
||||
var num=player.isMaxHandcard(true)?1:player.getStorage('spolzhouxuan').length-1;
|
||||
if(num>0) player.draw(num);
|
||||
player.unmarkAuto('spolzhouxuan',[card]);
|
||||
game.log(card,'进入了弃牌堆');
|
||||
game.delayx();
|
||||
}
|
||||
},
|
||||
},
|
||||
discard:{
|
||||
trigger:{player:'phaseUseEnd'},
|
||||
forced:true,
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return player.getStorage('spolzhouxuan').length>0;
|
||||
},
|
||||
content:function(){
|
||||
player.unmarkSkill('spolzhouxuan');
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
//董昭
|
||||
olxianlve:{
|
||||
audio:2,
|
||||
mode:['identity'],
|
||||
trigger:{
|
||||
global:'phaseZhunbeiBegin',
|
||||
},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return event.player==game.zhu&&event.player.isZhu;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=lib.inpile.filter(function(i){
|
||||
return get.type2(i)=='trick';
|
||||
}).map(function(i){
|
||||
return ['锦囊','',i];
|
||||
});
|
||||
if(!list.length) event.finish();
|
||||
else player.chooseButton([get.prompt('olxianlve'),[list,'vcard']]).set('ai',function(button){
|
||||
switch(button.link[2]){
|
||||
case 'wuxie': return 0.6+Math.random();
|
||||
case 'wuzhong': case 'dongzhuxianji':return 0.5+Math.random();
|
||||
case 'guohe': case 'zhujinqiyuan': return 0.4+Math.random();
|
||||
default: return Math.random();
|
||||
}
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var name=result.links[0][2];
|
||||
player.logSkill('olxianlve');
|
||||
player.storage.olxianlve=name;
|
||||
player.markSkill('olxianlve');
|
||||
game.log(player,'声明了','#g'+get.translation(name));
|
||||
}
|
||||
},
|
||||
intro:{content:'已声明【$】'},
|
||||
group:'olxianlve_use',
|
||||
subSkill:{
|
||||
use:{
|
||||
audio:'olxianlve',
|
||||
trigger:{global:'useCardAfter'},
|
||||
forced:true,
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return event.player!=player&&event.card.name==player.storage.olxianlve;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.draw(2);
|
||||
'step 1'
|
||||
var cards=result;
|
||||
if(get.itemtype(cards)!='cards'){
|
||||
event.goto(5);
|
||||
return;
|
||||
}
|
||||
var hs=player.getCards('h');
|
||||
cards=cards.filter(function(card){
|
||||
return hs.contains(card);
|
||||
});
|
||||
if(!cards.length){
|
||||
event.goto(5);
|
||||
return;
|
||||
}
|
||||
event.cards=cards;
|
||||
if(_status.connectMode) game.broadcastAll(function(){_status.noclearcountdown=true});
|
||||
event.given_map={};
|
||||
event.ai_list=[];
|
||||
'step 2'
|
||||
player.chooseCardTarget({
|
||||
filterCard:function(card){
|
||||
return _status.event.cards.contains(card)&&!card.hasGaintag('olxianlve');
|
||||
},
|
||||
cards:cards,
|
||||
filterTarget:lib.filter.notMe,
|
||||
selectCard:[1,cards.length],
|
||||
prompt:'是否将获得的牌分配给其他角色?',
|
||||
ai1:function(card){
|
||||
if(!ui.selected.cards.length) return 1;
|
||||
return 0;
|
||||
},
|
||||
ai2:function(target){
|
||||
var player=_status.event.player,card=ui.selected.cards[0];
|
||||
var val=target.getUseValue(card);
|
||||
if(target.isPhaseUsing()&&get.type2(card)=='trick') val*=3;
|
||||
if(val>0) return val*get.attitude(player,target)*2;
|
||||
return get.value(card,target)*get.attitude(player,target);
|
||||
},
|
||||
});
|
||||
'step 3'
|
||||
if(result.bool){
|
||||
var res=result.cards,target=result.targets[0].playerid;
|
||||
player.addGaintag(res,'olxianlve');
|
||||
cards.removeArray(res);
|
||||
if(!event.given_map[target]) event.given_map[target]=[];
|
||||
event.given_map[target].addArray(res);
|
||||
if(result.targets[0].isPhaseUsing()&&get.type2(res[0])=='trick') event.ai_list.push(res[0].name);
|
||||
if(cards.length) event.goto(2);
|
||||
}
|
||||
'step 4'
|
||||
if(_status.connectMode){
|
||||
game.broadcastAll(function(){delete _status.noclearcountdown});
|
||||
game.stopCountChoose();
|
||||
}
|
||||
for(var i in event.given_map){
|
||||
var source=(_status.connectMode?lib.playerOL:game.playerMap)[i];
|
||||
player.line(source,'green');
|
||||
source.gain(event.given_map[i],player,'giveAuto');
|
||||
}
|
||||
event.next.sort(function(a,b){
|
||||
return lib.sort.seat(a.player,b.player);
|
||||
});
|
||||
'step 5'
|
||||
var list=lib.inpile.filter(function(i){
|
||||
return get.type2(i)=='trick';
|
||||
}).map(function(i){
|
||||
return ['锦囊','',i];
|
||||
});
|
||||
if(!list.length) event.finish();
|
||||
else player.chooseButton([get.prompt('olxianlve'),[list,'vcard']]).set('list',event.ai_list).set('ai',function(button){
|
||||
if(_status.event.list.contains(button.link[2])) return 2+Math.random();
|
||||
switch(button.link[2]){
|
||||
case 'wuxie': return 0.6+Math.random();
|
||||
case 'wuzhong': case 'dongzhuxianji':return 0.5+Math.random();
|
||||
case 'guohe': case 'zhujinqiyuan': return 0.4+Math.random();
|
||||
default: return Math.random();
|
||||
}
|
||||
});
|
||||
'step 6'
|
||||
if(result.bool){
|
||||
var name=result.links[0][2];
|
||||
player.storage.olxianlve=name;
|
||||
player.markSkill('olxianlve');
|
||||
game.log(player,'声明了','#g'+get.translation(name));
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
olzaowang:{
|
||||
mode:['identity'],
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
limited:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'water',
|
||||
filterTarget:true,
|
||||
content:function(){
|
||||
player.awakenSkill('olzaowang');
|
||||
target.gainMaxHp();
|
||||
target.recover();
|
||||
target.draw(3);
|
||||
target.addSkill('olzaowang2');
|
||||
},
|
||||
ai:{
|
||||
order:2,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
if(player.hasUnknown(2)) return 0;
|
||||
if(target.identity=='zhong') return 20;
|
||||
if(target.identity=='zhu') return 10;
|
||||
if(target.identity=='nei') return 5;
|
||||
if(!target.hasFriend()) return 5;
|
||||
return 0;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
olzaowang2:{
|
||||
charlotte:true,
|
||||
trigger:{global:'dieBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.player.identity=='zhu'&&(player.identity=='zhong'||player.identity=='mingzhong');
|
||||
},
|
||||
logTarget:'player',
|
||||
skillAnimation:true,
|
||||
animationColor:'orange',
|
||||
content:function(){
|
||||
game.broadcastAll(function(player,target){
|
||||
target.identity=player.identity;
|
||||
if(player.identity=='mingzhong') game.zhong=target;
|
||||
delete target.isZhu;
|
||||
player.identity='zhu';
|
||||
game.zhu=player;
|
||||
player.showIdentity();
|
||||
target.showIdentity();
|
||||
},player,trigger.player);
|
||||
event.trigger('zhuUpdate');
|
||||
},
|
||||
mark:true,
|
||||
marktext:'王',
|
||||
intro:{content:'造了个王'},
|
||||
group:'olzaowang2_kill',
|
||||
subSkill:{
|
||||
kill:{
|
||||
trigger:{player:'die'},
|
||||
forced:true,
|
||||
forceDie:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'wood',
|
||||
filter:function(event,player){
|
||||
return player.identity=='fan'&&event.source&&(event.source.identity=='zhu'||event.source.identity=='zhong'||event.source.identity=='mingzhong');
|
||||
},
|
||||
content:function(){
|
||||
game.over((game.me.identity=='zhu'||game.me.identity=='zhong'||game.me.identity=='mingzhong'));
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
//冯方女
|
||||
zhuangshu:{
|
||||
audio:2,
|
||||
|
@ -15477,7 +15757,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
characterReplace:{
|
||||
caoshuang:['caoshuang','ns_caoshuang'],
|
||||
caoang:['caoang','yj_caoang','tw_caoang'],
|
||||
caohong:['caohong','tw_caohong'],
|
||||
caohong:['tw_re_caohong','caohong','tw_caohong'],
|
||||
xiahouba:['xiahouba','tw_xiahouba'],
|
||||
maliang:['maliang','re_maliang','tw_maliang','ol_maliang','old_maliang'],
|
||||
dingfeng:['dingfeng','tw_dingfeng'],
|
||||
|
@ -15500,6 +15780,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
dengzhi:['ol_dengzhi','dengzhi'],
|
||||
wangrong:['wangrong','ol_wangrong'],
|
||||
zongyu:['sp_zongyu','zongyu'],
|
||||
ol_dongzhao:['ol_dongzhao','tw_dongzhao'],
|
||||
mayunlu:['tw_mayunlu','mayunlu'],
|
||||
},
|
||||
translate:{
|
||||
"xinfu_lingren":"凌人",
|
||||
|
@ -15613,7 +15895,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhanglu:'张鲁',
|
||||
wutugu:'兀突骨',
|
||||
mateng:'马腾',
|
||||
sp_caiwenji:'SP蔡文姬',
|
||||
sp_caiwenji:'SP蔡琰',
|
||||
zhugeguo:'诸葛果',
|
||||
lingcao:'凌操',
|
||||
sunru:'孙茹',
|
||||
|
@ -16359,6 +16641,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhuangshu_equip:'金梳',
|
||||
zhuangshu_equip_bg:'金',
|
||||
zhuangshu_equip_info:'锁定技。出牌阶段结束时,你将手牌摸至手牌上限(至多摸五张)。当此牌不因交换装备或移动至其他装备区而离开你的装备区后,销毁之。',
|
||||
ol_dongzhao:'董昭',
|
||||
olxianlve:'先略',
|
||||
olxianlve_info:'①主公的回合开始时,你可声明并记录一个锦囊牌的名称并移除先前的记录。②其他角色使用〖先略〗记录过的锦囊牌后,你可摸两张牌并可以分配给任意其他角色,然后你可声明并记录一个锦囊牌的名称并移除先前的记录。',
|
||||
olzaowang:'造王',
|
||||
olzaowang2:'造王',
|
||||
olzaowang_info:'限定技。出牌阶段,你可以令一名角色加1点体力上限,回复1点体力并摸三张牌,且获得如下效果:主公死亡时,若其身份为忠臣,则其和主公交换身份牌;其死亡时,若其身份为反贼且伤害来源的身份为主公或忠臣,则以主忠胜利结束本局游戏。',
|
||||
sp_ol_zhanghe:'SP张郃',
|
||||
spolzhouxuan:'周旋',
|
||||
spolzhouxuan_info:'①弃牌阶段开始时,你可将任意张手牌置于武将牌上,称为“旋”(上限为5)。②当你使用牌时,你将一张“旋”置入弃牌堆并摸一张牌(若你的手牌数不为全场唯一最多则改为摸X张牌,X为“旋”数)。③出牌阶段结束时,你将所有“旋”置入弃牌堆。',
|
||||
|
||||
sp_tianji:'天极·皇室宗亲',
|
||||
sp_sibi:'四弼·辅国文曲',
|
||||
|
|
193
character/sp2.js
|
@ -4,6 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
name:'sp2',
|
||||
connect:true,
|
||||
character:{
|
||||
caojinyu:['female','wei',3,['yuqi','shanshen','xianjing']],
|
||||
hanmeng:['male','qun',4,['jieliang','quanjiu']],
|
||||
xinping:['male','qun',3,['fuyuan','zhongjie','yongdi']],
|
||||
wanniangongzhu:['female','qun',3,['zhenge','xinghan']],
|
||||
|
@ -109,17 +110,175 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_shengun:["puyuan","guanlu","gexuan","xushao"],
|
||||
sp_baigei:['re_panfeng','xingdaorong','caoxing','re_chunyuqiong','xiahoujie'],
|
||||
sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan","lvkuanglvxiang","chunyuqiong","sp_xuyou","xinping","hanmeng"],
|
||||
sp_caizijiaren:['re_dongbai','re_sunluyu','huaxin','luyusheng'],
|
||||
sp_huangjin:['liuhong','zhujun','re_hejin','re_hansui'],
|
||||
sp_qihuan:['liubian','zhaozhong'],
|
||||
sp_caizijiaren:['re_dongbai','re_sunluyu','huaxin','luyusheng','re_xunchen','heyan'],
|
||||
sp_huangjin:['liuhong','zhujun','re_hansui'],
|
||||
sp_qihuan:['liubian','zhaozhong','re_hejin'],
|
||||
sp_fadong:['ol_dingyuan','wangrong','re_quyi','hanfu'],
|
||||
sp_xuzhou:['re_taoqian','caosong','zhangmiao','qiuliju'],
|
||||
sp_zhongyuan:['re_hucheer','re_zoushi','caoanmin'],
|
||||
sp_zhongyuan:['re_hucheer','re_zoushi','caoanmin','re_dongcheng'],
|
||||
sp_binglin:['re_niujin',"sp_mifangfushiren"],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','caobuxing','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','ruanyu','liangxing','re_dongzhao','re_dongcheng','yangwan','heyan','re_panshu','zhanghu','dufuren','zhouyi','re_nanhualaoxian','lvlingqi','re_kanze','re_xunchen','wanniangongzhu','tongyuan','liuyong','zhangning'],
|
||||
sp_zhilan:['liuyong','wanniangongzhu','zhanghu'],
|
||||
sp_fenghuo:['re_nanhualaoxian','tongyuan','zhangning'],
|
||||
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','caobuxing','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','ruanyu','liangxing','re_dongzhao','yangwan','re_panshu','dufuren','zhouyi','lvlingqi','re_kanze','caojinyu'],
|
||||
}
|
||||
},
|
||||
skill:{
|
||||
//曹金玉
|
||||
yuqi:{
|
||||
audio:2,
|
||||
trigger:{global:'damageEnd'},
|
||||
init:function(player){
|
||||
if(!player.storage.yuqi) player.storage.yuqi=[0,3,1,1];
|
||||
},
|
||||
getInfo:function(player){
|
||||
if(!player.storage.yuqi) player.storage.yuqi=[0,3,1,1];
|
||||
return player.storage.yuqi;
|
||||
},
|
||||
onremove:true,
|
||||
usable:2,
|
||||
filter:function(event,player){
|
||||
var list=lib.skill.yuqi.getInfo(player);
|
||||
return event.player.isIn()&&get.distance(player,event.player)<=list[0];
|
||||
},
|
||||
logTarget:'player',
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.list=lib.skill.yuqi.getInfo(player);
|
||||
var cards=get.cards(event.list[1]);
|
||||
event.cards=cards;
|
||||
game.cardsGotoOrdering(cards);
|
||||
var next=player.chooseToMove(true,'隅泣(若对话框显示不完整,可下滑操作)');
|
||||
next.set('list',[
|
||||
['牌堆顶的牌',cards],
|
||||
['交给'+get.translation(trigger.player)+'(至少一张'+(event.list[2]>1?(',至多'+get.cnNumber(event.list[2])+'张'):'')+')'],
|
||||
['交给自己(至多'+get.cnNumber(event.list[3])+'张)'],
|
||||
]);
|
||||
next.set('filterMove',function(from,to,moved){
|
||||
var info=lib.skill.yuqi.getInfo(_status.event.player);
|
||||
if(to==1) return moved[1].length<info[2];
|
||||
if(to==2) return moved[2].length<info[3];
|
||||
return true;
|
||||
});
|
||||
next.set('processAI',function(list){
|
||||
var cards=list[0][1].slice(0).sort(function(a,b){
|
||||
return get.value(b,'raw')-get.value(a,'raw');
|
||||
}),player=_status.event.player,target=_status.event.getTrigger().player;
|
||||
var info=lib.skill.yuqi.getInfo(_status.event.player);
|
||||
var cards1=cards.splice(0,Math.min(info[3],cards.length-1));
|
||||
var card2;
|
||||
if(get.attitude(player,target)>0) card2=cards.shift();
|
||||
else card2=cards.pop();
|
||||
return [cards,[card2],cards1];
|
||||
});
|
||||
next.set('filterOk',function(moved){
|
||||
return moved[1].length>0;
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var moved=result.moved;
|
||||
cards.removeArray(moved[1]);
|
||||
cards.removeArray(moved[2]);
|
||||
while(cards.length){
|
||||
ui.cardPile.insertBefore(cards.pop().fix(),ui.cardPile.firstChild);
|
||||
}
|
||||
trigger.player.gain(moved[1],'gain2');
|
||||
if(moved[2].length) player.gain(moved[2],'gain2');
|
||||
game.updateRoundNumber();
|
||||
}
|
||||
},
|
||||
mark:true,
|
||||
intro:{
|
||||
content:function(storage,player){
|
||||
var info=lib.skill.yuqi.getInfo(player);
|
||||
return '<div class="text center"><span class=thundertext>蓝色:'+info[0]+'</span> <span class=firetext>红色:'+info[1]+'</span><br><span class=greentext>绿色:'+info[2]+'</span> <span class=yellowtext>黄色:'+info[3]+'</span></div>'
|
||||
},
|
||||
},
|
||||
ai:{
|
||||
threaten:8.8,
|
||||
},
|
||||
},
|
||||
shanshen:{
|
||||
audio:2,
|
||||
trigger:{global:'die'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.goon=!player.hasAllHistory('sourceDamage',function(evt){
|
||||
return evt.player==trigger.player;
|
||||
});
|
||||
player.chooseControl('<span class=thundertext>蓝色</span>','<span class=firetext>红色</span>','<span class=greentext>绿色</span>','<span class=yellowtext>黄色</span>','cancel2').set('prompt',get.prompt('shanshen')).set('prompt2','令〖隅泣〗中的一个数字+2'+(event.goon?'并回复1点体力':'')).set('ai',function(){
|
||||
var player=_status.event.player,info=lib.skill.yuqi.getInfo(player);
|
||||
if(info[0]<info[3]&&game.countPlayer(function(current){
|
||||
return get.distance(player,current)<=info[0];
|
||||
})<Math.min(3,game.countPlayer())) return 0;
|
||||
if(info[3]<info[1]-1) return 3;
|
||||
if(info[1]<5) return 1;
|
||||
if(info[0]<5&&game.hasPlayer(function(current){
|
||||
return current!=player&&get.distance(player,current)>info[0];
|
||||
})) return 0;
|
||||
return 2;
|
||||
});
|
||||
'step 1'
|
||||
if(result.control!='cancel2'){
|
||||
player.logSkill('shanshen',trigger.player);
|
||||
var list=lib.skill.yuqi.getInfo(player);
|
||||
list[result.index]=Math.min(5,list[result.index]+2);
|
||||
game.log(player,'将',result.control,'数字改为','#y'+list[result.index])
|
||||
player.markSkill('yuqi');
|
||||
if(event.goon) player.recover();
|
||||
}
|
||||
},
|
||||
},
|
||||
xianjing:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseControl('<span class=thundertext>蓝色</span>','<span class=firetext>红色</span>','<span class=greentext>绿色</span>','<span class=yellowtext>黄色</span>','cancel2').set('prompt',get.prompt('xianjing')).set('prompt2','令〖隅泣〗中的一个数字+1').set('ai',function(){
|
||||
var player=_status.event.player,info=lib.skill.yuqi.getInfo(player);
|
||||
if(info[0]<info[3]&&game.countPlayer(function(current){
|
||||
return get.distance(player,current)<=info[0];
|
||||
})<Math.min(3,game.countPlayer())) return 0;
|
||||
if(info[3]<info[1]-1) return 3;
|
||||
if(info[1]<5) return 1;
|
||||
if(info[0]<5&&game.hasPlayer(function(current){
|
||||
return current!=player&&get.distance(player,current)>info[0];
|
||||
})) return 0;
|
||||
return 2;
|
||||
});
|
||||
'step 1'
|
||||
if(result.control!='cancel2'){
|
||||
player.logSkill('xianjing');
|
||||
var list=lib.skill.yuqi.getInfo(player);
|
||||
list[result.index]=Math.min(5,list[result.index]+1);
|
||||
game.log(player,'将',result.control,'数字改为','#y'+list[result.index])
|
||||
player.markSkill('yuqi');
|
||||
if(player.isDamaged()) event.finish();
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
player.chooseControl('<span class=thundertext>蓝色</span>','<span class=firetext>红色</span>','<span class=greentext>绿色</span>','<span class=yellowtext>黄色</span>','cancel2').set('prompt','是否令〖隅泣〗中的一个数字+1?').set('ai',function(){
|
||||
var player=_status.event.player,info=lib.skill.yuqi.getInfo(player);
|
||||
if(info[0]<info[3]&&game.countPlayer(function(current){
|
||||
return get.distance(player,current)<=info[0];
|
||||
})<Math.min(3,game.countPlayer())) return 0;
|
||||
if(info[3]<info[1]-1) return 3;
|
||||
if(info[1]<5) return 1;
|
||||
if(info[0]<5&&game.hasPlayer(function(current){
|
||||
return current!=player&&get.distance(player,current)>info[0];
|
||||
})) return 0;
|
||||
return 2;
|
||||
});
|
||||
'step 3'
|
||||
if(result.control!='cancel2'){
|
||||
var list=lib.skill.yuqi.getInfo(player);
|
||||
list[result.index]=Math.min(5,list[result.index]+1);
|
||||
game.log(player,'将',result.control,'数字改为','#y'+list[result.index])
|
||||
player.markSkill('yuqi');
|
||||
}
|
||||
},
|
||||
},
|
||||
//韩猛
|
||||
jieliang:{
|
||||
trigger:{global:'phaseDrawBegin2'},
|
||||
|
@ -1510,6 +1669,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
return player.countCards('h')>0;
|
||||
},
|
||||
preHidden:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var hs=player.getCards('h');
|
||||
|
@ -3873,7 +4033,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.countCards('e')>trigger.player.countCards('e')) num++;
|
||||
if(num){
|
||||
player.draw(num);
|
||||
if(num==3) player.gainMaxHp();
|
||||
if(num==3&&player.maxHp<8) player.gainMaxHp();
|
||||
}
|
||||
else{
|
||||
player.addMark('liedan',1);
|
||||
|
@ -3975,7 +4135,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return 0;
|
||||
},
|
||||
ai2:function(target){
|
||||
return Math.sqrt(5-Math.max(4,target.countCards('h')))*get.attitude(_status.event.player,target);
|
||||
return Math.sqrt(5-Math.min(4,target.countCards('h')))*get.attitude(_status.event.player,target);
|
||||
},
|
||||
goon:function(){
|
||||
if(!game.hasPlayer(function(current){
|
||||
|
@ -11328,6 +11488,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wanniangongzhu:'刘氏(生卒年不详),河南郡雒阳县(今河南省洛阳市)人,汉灵帝刘宏之女,汉少帝刘辩与汉献帝刘协的姐妹,封万年公主。',
|
||||
xinping:'辛评(?-204年),字仲治,颍川阳翟人,东汉末年人物。曹魏卫尉辛毗之兄。原是韩馥部下,韩馥逃亡后转而辅佐袁绍。袁绍死后,辛评、郭图欲立袁谭为主,与审配等不和。后来曹操破邺,其弟辛毗在城下劝降。审配怒遣手下将辛评全家杀害。',
|
||||
hanmeng:'韩猛,又名韩若、韩荀、韩泣(上荀下大) ,东汉末年袁绍帐下名将,或与《曹瞒传》所言韩莒子为同一人。公元200年,官渡之战爆发。袁绍派遣韩猛劫掠曹操军的西道,被曹军部将曹仁击破于鸡洛山。袁绍又派韩猛前去运送粮车,因为轻敌被曹军部将徐晃、史涣击退。',
|
||||
caojinyu:'金乡公主,本姓曹氏,名字不详,沛国谯县(今安徽省亳州市)人。魏武帝曹操的女儿,母为杜夫人。适婚的时候,嫁给曹操的养子何晏。高平陵之变,何晏作为大将军曹爽的党羽,遭到太傅司马懿处死。在何晏母亲尹夫人苦苦哀求下,何晏的儿子得以保全。',
|
||||
},
|
||||
characterTitle:{
|
||||
wulan:'#b对决限定武将',
|
||||
|
@ -11383,6 +11544,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
cuijian:function(player){
|
||||
return '出牌阶段限一次,你可以选择一名有手牌的其他角色。若其手牌中有【闪】,则其将所有【闪】和防具牌交给你'+(player.hasMark('zhtongyuan_basic')?'':',然后你交给其等量的牌')+'。'+(player.hasMark('zhtongyuan_trick')?'若其手牌中没有【闪】,则你摸两张牌。':'');
|
||||
},
|
||||
yuqi:function(player){
|
||||
var info=lib.skill.yuqi.getInfo(player);
|
||||
return '每回合限两次。当有角色受到伤害后,若你至其的距离不大于<span class=thundertext>'+info[0]+'</span>,则你可以观看牌堆顶的<span class=firetext>'+info[1]+'</span>张牌。你将其中至多<span class=greentext>'+info[2]+'</span>张牌交给受伤角色,然后可以获得剩余牌中的至多<span class=yellowtext>'+info[3]+'</span>张牌,并将其余牌以原顺序放回牌堆顶。(所有具有颜色的数字至多为5)';
|
||||
},
|
||||
},
|
||||
perfectPair:{
|
||||
},
|
||||
|
@ -11402,7 +11567,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
taoqian:['taoqian','re_taoqian'],
|
||||
sp_liubei:['sp_liubei','jsp_liubei'],
|
||||
dongcheng:['re_dongcheng','dongcheng'],
|
||||
hucheer:['re_hucheer','hucheer'],
|
||||
hucheer:['tw_hucheer','re_hucheer','hucheer'],
|
||||
dongbai:['re_dongbai','dongbai'],
|
||||
gexuan:['gexuan','tw_gexuan'],
|
||||
panshu:['panshu','re_panshu'],
|
||||
|
@ -11818,7 +11983,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
reyirang_info:'出牌阶段开始时,你可以将所有非基本牌交给一名其他角色。若其体力上限大于你,则你将体力上限调整至与其相同。然后你回复X点体力(X为你以此法交给其的牌数)。',
|
||||
xiahoujie:'夏侯杰',
|
||||
liedan:'裂胆',
|
||||
liedan_info:'锁定技,其他角色的准备阶段开始时,若X大于0,则你摸X张牌。若X等于3,则你加1点体力上限。若X为0,则你失去1点体力并获得一枚“裂”(X为你的手牌数,体力值,装备区牌数中大于其的数量)。准备阶段,若“裂”数大于4,则你死亡。',
|
||||
liedan_info:'锁定技,其他角色的准备阶段开始时,若X大于0,则你摸X张牌。若X等于3,则你加1点体力上限(至多加到8)。若X为0,则你失去1点体力并获得一枚“裂”(X为你的手牌数,体力值,装备区牌数中大于其的数量)。准备阶段,若“裂”数大于4,则你死亡。',
|
||||
zhuangdan:'壮胆',
|
||||
zhuangdan_mark:'壮胆',
|
||||
zhuangdan_info:'锁定技,其他角色的回合结束时,若你的手牌数为全场唯一最多,则你令〖裂胆〗失效直到你下回合结束。',
|
||||
|
@ -12011,6 +12176,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
jieliang_info:'其他角色的摸牌阶段开始时,你可弃置一张牌,令其本阶段的摸牌数和本回合的手牌上限-1。然后当其于本回合的弃牌阶段内因弃置而失去牌后,你可获得其中的一张。',
|
||||
quanjiu:'劝酒',
|
||||
quanjiu_info:'锁定技。①你手牌区中的【酒】的牌名视为【杀】。②你使用对应的实体牌为一张【酒】的非转化【杀】不计入次数限制。',
|
||||
caojinyu:'曹金玉',
|
||||
yuqi:'隅泣',
|
||||
yuqi_info:'每回合限两次。当有角色受到伤害后,若你至其的距离不大于<span class=thundertext>0</span>,则你可以观看牌堆顶的<span class=firetext>3</span>张牌。你将其中至多<span class=greentext>1</span>张牌交给受伤角色,然后可以获得剩余牌中的至多<span class=yellowtext>1</span>张牌,并将其余牌以原顺序放回牌堆顶。(所有具有颜色的数字至多为5)',
|
||||
shanshen:'善身',
|
||||
shanshen_info:'当有角色死亡时,你可令你的〖隅泣〗中的一个具有颜色的数字+2。然后若你未对该角色造成过伤害,则你回复1点体力。',
|
||||
xianjing:'娴静',
|
||||
xianjing_info:'准备阶段,你可令你的〖隅泣〗中的一个具有颜色的数字+1。若你的体力值等于体力上限,则你可以重复一次此流程。',
|
||||
|
||||
sp_whlw:"文和乱武",
|
||||
sp_zlzy:"逐鹿中原",
|
||||
|
@ -12028,7 +12200,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_zhongyuan:'中原狼烟',
|
||||
sp_binglin:'兵临城下',
|
||||
sp_yinyu:'隐玉包',
|
||||
sp_zhilan:'芝兰包',
|
||||
sp_zhilan:'芝兰玉树',
|
||||
sp_fenghuo:'烽火连天',
|
||||
sp_decade:'其他新服武将',
|
||||
},
|
||||
};
|
||||
|
|
|
@ -83,7 +83,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
daqiao:['xiaoqiao'],
|
||||
zhouyu:['huanggai','xiaoqiao','zhouyi'],
|
||||
sunquan:['zhoutai'],
|
||||
lvbu:['diaochan'],
|
||||
lvbu:['diaochan','lvlingqi'],
|
||||
machao:['madai','mayunlu'],
|
||||
zhangliao:['zangba'],
|
||||
ganning:['lingtong','xf_sufei'],
|
||||
|
|
433
character/tw.js
|
@ -5,12 +5,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
connect:true,
|
||||
characterSort:{
|
||||
tw:{
|
||||
tw_mobile:['tw_beimihu','nashime','tw_gexuan','tw_dongzhao','jiachong','duosidawang','wuban','yuejiu','tw_fuwan','tw_yujin','tw_zhaoxiang'],
|
||||
tw_mobile:['tw_beimihu','nashime','tw_gexuan','tw_dongzhao','jiachong','duosidawang','wuban','yuejiu','tw_fuwan','tw_yujin','tw_zhaoxiang','tw_hucheer','tw_hejin','tw_mayunlu','tw_re_caohong'],
|
||||
tw_yijiang:['tw_caoang','tw_caohong','tw_zumao','tw_dingfeng','tw_maliang','tw_xiahouba'],
|
||||
tw_english:['kaisa'],
|
||||
},
|
||||
},
|
||||
character:{
|
||||
tw_re_caohong:['male','wei',4,['twyuanhu','twjuezhu']],
|
||||
tw_mayunlu:['female','shu',4,['mashu','twfengpo']],
|
||||
tw_hejin:['male','qun',4,['twmouzhu','twyanhuo']],
|
||||
tw_hucheer:['male','qun',4,['twshenxing','twdaoji']],
|
||||
tw_yujin:['male','qun',4,['xinzhenjun']],
|
||||
tw_fuwan:['male','qun',4,['twmoukui']],
|
||||
tw_zhaoxiang:['female','shu',4,['refanghun','twfuhan','twqueshi']],
|
||||
|
@ -149,6 +153,406 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
twyuanhu:{
|
||||
audio:'yuanhu',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.hasCard({type:'equip'},'eh');
|
||||
},
|
||||
filterCard:{type:'equip'},
|
||||
filterTarget:function(card,player,target){
|
||||
var card=ui.selected.cards[0];
|
||||
return target.isEmpty(get.subtype(card));
|
||||
},
|
||||
discard:false,
|
||||
lose:false,
|
||||
prepare:'give',
|
||||
position:'he',
|
||||
check:function(card){
|
||||
if(get.position(card)=='h') return 9-get.value(card);
|
||||
return 7-get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
target.equip(cards[0]);
|
||||
'step 1'
|
||||
event.goto(3);
|
||||
switch(get.subtype(cards[0])){
|
||||
case 'equip1':
|
||||
if(game.hasPlayer(function(current){
|
||||
return current!=target&&get.distance(target,current)==1&¤t.countCards('hej')>0;
|
||||
})){
|
||||
player.chooseTarget(true,'弃置一名距离'+get.translation(target)+'为1的角色区域内的一张牌',function(card,player,target){
|
||||
var current=_status.event.current;
|
||||
return current!=target&&get.distance(current,target)==1&¤t.countCards('hej')>0;
|
||||
}).set('current',target).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return get.effect(target,{name:'guohe_copy'},player,player);
|
||||
});
|
||||
event.goto(2);
|
||||
}
|
||||
break;
|
||||
case 'equip2':
|
||||
target.draw();
|
||||
break;
|
||||
case 'equip3':
|
||||
target.recover();
|
||||
break;
|
||||
}
|
||||
'step 2'
|
||||
var target=result.targets[0];
|
||||
player.line(target);
|
||||
player.discardPlayerCard(target,true,'hej');
|
||||
'step 3'
|
||||
if(target.hp<=player.hp||target.countCards('h')<=player.countCards('h')){
|
||||
player.draw();
|
||||
player.addTempSkill('twyuanhu_end');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:10,
|
||||
result:{
|
||||
player:function(player,target){
|
||||
if(get.attitude(player,target)==0) return 0;
|
||||
if(!ui.selected.cards.length) return;
|
||||
var eff=get.effect(target,ui.selected.cards[0],player,player),sub=get.subtype(ui.selected.cards[0],false);
|
||||
if(target==player) eff+=4;
|
||||
else{
|
||||
var hp=player.hp,hs=player.countCards('h',(card)=>card!=ui.selected.cards[0]);
|
||||
var tp=target.hp,ts=target.countCards('h');
|
||||
if(sub=='equip2') ts++;
|
||||
if(tp<target.maxHp&&(sub=='equip3'||sub=='equip4')) tp++;
|
||||
if(tp<=hp||ts<=hs) eff+=2;
|
||||
}
|
||||
if(sub=='equip1'){
|
||||
var list=game.filterPlayer(function(current){
|
||||
return current!=target&&get.distance(target,current)==1&¤t.countCards('hej')<0;
|
||||
}).map(function(i){
|
||||
return get.effect(i,{name:'guohe_copy'},player,player);
|
||||
}).sort((a,b)=>b-a);
|
||||
if(list.length) eff+=list[0];
|
||||
}
|
||||
return eff;
|
||||
},
|
||||
target:function(player,target){
|
||||
if(!ui.selected.cards.length) return 0;
|
||||
var sub=get.subtype(ui.selected.cards[0],false);
|
||||
var eff=get.effect(target,ui.selected.cards[0],player,target);
|
||||
if(sub=='equip2') eff+=(get.effect(target,{name:'wuzhong'},target,target)/2);
|
||||
if(target.isDamaged()&&(sub=='equip3'||sub=='equip4')) eff+=get.recoverEffect(target,player,player);
|
||||
return eff;
|
||||
},
|
||||
},
|
||||
},
|
||||
subSkill:{
|
||||
end:{
|
||||
trigger:{player:'phaseJieshuBegin'},
|
||||
direct:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
return player.hasSkill('twyuanhu')&&player.hasCard({type:'equip'},'eh');
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseCardTarget({
|
||||
prompt:get.prompt('twyuanhu'),
|
||||
prompt2:'将一张装备牌置入一名角色的装备区内。若此牌为:武器牌,你弃置与其距离为1的另一名角色区域的一张牌;防具牌,其摸一张牌;坐骑牌,其回复1点体力。若其的体力值或手牌数不大于你,则你可摸一张牌。',
|
||||
filterCard:lib.skill.twyuanhu.filterCard,
|
||||
filterTarget:lib.skill.twyuanhu.filterTarget,
|
||||
position:'he',
|
||||
ai1:lib.skill.twyuanhu.check,
|
||||
ai2:function(target){
|
||||
var player=_status.event.player;
|
||||
return get.effect(target,'twyuanhu',player,player);
|
||||
},
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
result.skill='twyuanhu';
|
||||
player.useResult(result,event);
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
twjuezhu:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return !player.isDisabled('equip3')||!player.isDisabled('equip4');
|
||||
},
|
||||
skillAnimation:true,
|
||||
animationColor:'water',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt2('twjuezhu'),[1,2],function(card,player,target){
|
||||
return !ui.selected.targets.length&&!target.hasSkill('feiying');
|
||||
}).set('promptbar','none').set('ai',function(target){
|
||||
if(player.hasUnknown()) return false;
|
||||
return get.attitude(player,target);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
event.target=result.targets[0];
|
||||
var list=[];
|
||||
if(!player.isDisabled(3)) list.push('equip3');
|
||||
if(!player.isDisabled(4)) list.push('equip4');
|
||||
if(list.length==1) event._result={control:list[0]};
|
||||
else player.chooseControl(list).set('prompt','选择废除一个坐骑栏');
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
player.logSkill('twjuezhu',target);
|
||||
player.awakenSkill('twjuezhu');
|
||||
player.disableEquip(result.control);
|
||||
target.disableJudge();
|
||||
player.markAuto('twjuezhu_restore',[[target,result.control]]);
|
||||
player.addSkill('twjuezhu_restore');
|
||||
target.addSkill('feiying');
|
||||
},
|
||||
subSkill:{
|
||||
restore:{
|
||||
trigger:{global:'die'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
filter:function(event,player){
|
||||
for(var i of player.getStorage('twjuezhu_restore')){
|
||||
if(i[0]==event.player&&player.isDisabled(i[1])) return true;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
var list=[];
|
||||
for(var i of player.getStorage('twjuezhu_restore')){
|
||||
if(i[0]==trigger.player&&player.isDisabled(i[1])) list.add(i[1]);
|
||||
}
|
||||
for(var i of list) player.enableEquip(i);
|
||||
},
|
||||
},
|
||||
},
|
||||
derivation:'feiying',
|
||||
},
|
||||
twfengpo:{
|
||||
audio:'fengpo',
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
logTarget:'target',
|
||||
filter:function(event,player){
|
||||
return (event.card.name=='sha'||event.card.name=='juedou')&&event.targets.length==1&&event.target.countCards('h')>0;
|
||||
},
|
||||
onremove:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.target=trigger.target;
|
||||
player.viewHandcards(trigger.target);
|
||||
'step 1'
|
||||
var num=target.countCards('h',player.storage.twfengpo?{color:'red'}:{suit:'diamond'});
|
||||
if(!num){
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
event.num=num;
|
||||
player.chooseControl().set('choiceList',[
|
||||
'摸'+num+'张牌',
|
||||
'令'+get.translation(trigger.card)+'的伤害值基数+'+num,
|
||||
]);
|
||||
'step 2'
|
||||
if(result.index==0) player.draw(num);
|
||||
else trigger.getParent().baseDamage+=num;
|
||||
},
|
||||
group:'twfengpo_kill',
|
||||
subSkill:{
|
||||
kill:{
|
||||
trigger:{source:'die'},
|
||||
forced:true,
|
||||
filter:(event,player)=>!player.storage.twfengpo,
|
||||
skillAnimation:true,
|
||||
animationColor:'fire',
|
||||
content:function(){
|
||||
player.storage.twfengpo=true;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
twmouzhu:{
|
||||
audio:'mouzhu',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filterTarget:lib.filter.notMe,
|
||||
contentBefore:function(){
|
||||
var target=targets[0],evt=event.getParent();
|
||||
evt._target=target;
|
||||
var list=game.filterPlayer(function(current){
|
||||
return current!=player&¤t!=target&¤t.hp<=target.hp;
|
||||
});
|
||||
if(!list.length){
|
||||
player.loseHp();
|
||||
evt.finish();
|
||||
}
|
||||
else{
|
||||
evt.targets=list.sortBySeat();
|
||||
player.line(list);
|
||||
}
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
target.chooseCard('he','是否交给'+get.translation(player)+'一张牌?').set('ai',function(card){
|
||||
if(_status.event.goon) return 7-get.value(card);
|
||||
return 0;
|
||||
}).set('goon',get.attitude(target,player)>0||Math.random()<num/(1+targets.length));
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.gain(result.cards,target,'giveAuto');
|
||||
}
|
||||
else{
|
||||
game.log(target,'拒绝给牌');
|
||||
}
|
||||
},
|
||||
contentAfter:function(){
|
||||
'step 0'
|
||||
var num=0,par=event.getParent();
|
||||
player.getHistory('gain',function(evt){
|
||||
if(evt.getParent(2)==par) num+=evt.cards.length;
|
||||
});
|
||||
if(!num){
|
||||
player.loseHp();
|
||||
for(var i of targets) i.loseHp();
|
||||
event.finish();
|
||||
}
|
||||
else{
|
||||
var target=event.getParent()._target;
|
||||
event.target=target;
|
||||
event.num=num;
|
||||
var bool1=target.canUse('sha',player,false),bool2=target.canUse('juedou',player,false);
|
||||
if(bool1&&bool2) target.chooseControl('sha','juedou').set('prompt','谋诛:视为对'+get.translation(player)+'使用一张…').set('prompt2','(伤害值基数:'+num+')').set('ai',function(){
|
||||
var player=_status.event.player,target=_status.event.getParent().player;
|
||||
if(!target.hasShan()&&get.effect(target,{name:'sha'},player,player)>0) return 'sha';
|
||||
if(get.effect(target,{name:'juedou'},player,player)>0) return 'juedou';
|
||||
return 'sha';
|
||||
});
|
||||
else if(bool1) event._result={control:'sha'};
|
||||
else if(bool2) event._result={control:'juedou'};
|
||||
else event.finish();
|
||||
}
|
||||
'step 1'
|
||||
if(result.control&&lib.card[result.control]) target.useCard({
|
||||
name:result.control,
|
||||
isCard:true,
|
||||
},false,player).baseDamage=num;
|
||||
},
|
||||
},
|
||||
twyanhuo:{
|
||||
audio:'yanhuo',
|
||||
trigger:{player:'die'},
|
||||
direct:true,
|
||||
forceDie:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'thunder',
|
||||
filter:function(event,player){
|
||||
return player.countCards('he')>0&&game.hasPlayer(function(current){
|
||||
return current!=player&¤t.countCards('h')>0;
|
||||
});
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=player.countCards('he'),str=get.cnNumber(num);
|
||||
event.num1=num;
|
||||
event.num2=1;
|
||||
var list=['令一名其他角色弃置'+str+'张牌'];
|
||||
if(num>1){
|
||||
list.push('令至多'+str+'名其他角色各弃置一张牌');
|
||||
}
|
||||
player.chooseControl('cancel2').set('choiceList',list).set('prompt',get.prompt('twyanhuo')).set('forceDie',true);
|
||||
'step 1'
|
||||
if(result.control!='cancel2'){
|
||||
if(result.index==0){
|
||||
event.num2=event.num1;
|
||||
event.num1=1;
|
||||
}
|
||||
player.chooseTarget([1,event.num1],true,'请选择【延祸】的目标',function(card,player,target){
|
||||
return target!=player&&target.countCards('he')>0;
|
||||
}).set('forceDie',true).set('ai',function(target){
|
||||
return -get.attitude(_status.event.player,target)
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
var targets=result.targets.sortBySeat();
|
||||
player.logSkill('twyanhuo',targets);
|
||||
for(var i of targets) i.chooseToDiscard(true,'he',event.num2);
|
||||
}
|
||||
},
|
||||
},
|
||||
twshenxing:{
|
||||
mod:{
|
||||
globalFrom:function(player,target,distance){
|
||||
var es=player.getCards('e',function(card){
|
||||
return !ui.selected.cards.contains(card);
|
||||
});
|
||||
for(var i of es){
|
||||
var type=get.subtype(i);
|
||||
if(type=='equip3'||type=='equip4'||type=='equip6') return distance;
|
||||
}
|
||||
return distance-1;
|
||||
},
|
||||
maxHandcard:function(player,distance){
|
||||
var es=player.getCards('e',function(card){
|
||||
return !ui.selected.cards.contains(card);
|
||||
});
|
||||
for(var i of es){
|
||||
var type=get.subtype(i);
|
||||
if(type=='equip3'||type=='equip4'||type=='equip6') return distance;
|
||||
}
|
||||
return distance+1;
|
||||
},
|
||||
},
|
||||
},
|
||||
twdaoji:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.hasCard(lib.skill.twdaoji.filterCard,'he');
|
||||
},
|
||||
filterCard:function(card){
|
||||
return get.type(card)!='basic';
|
||||
},
|
||||
position:'he',
|
||||
filterTarget:function(card,player,target){
|
||||
return target!=player&&player.inRange(target)&&target.hasCard((card)=>lib.filter.canBeGained(card,target,player),'he');
|
||||
},
|
||||
check:function(card){
|
||||
return 8-get.value(card);
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.gainPlayerCard(target,'he',true);
|
||||
'step 1'
|
||||
if(result.bool&&result.cards&&result.cards.length==1){
|
||||
var card=result.cards[0];
|
||||
if(player.getCards('h').contains(card)){
|
||||
var type=get.type(card);
|
||||
if(type=='basic') player.draw();
|
||||
else if(type=='equip'){
|
||||
if(player.hasUseTarget(card)) player.chooseUseTarget(card,'nopopup',true);
|
||||
target.damage('nocard');
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
order:6,
|
||||
result:{
|
||||
target:function(player,target){
|
||||
var eff=get.effect(target,{name:'shunshou_copy2'},player,target);
|
||||
if(target.countCards('e')>0) eff+=get.damageEffect(target,player,target);
|
||||
return eff;
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
xinzhenjun:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
|
@ -799,7 +1203,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
var suit=get.suit(trigger.card);
|
||||
var num=trigger.target.countCards('h','shan');
|
||||
var next=trigger.target.chooseToDiscard('弃置一张牌,或不能响应'+get.translation(trigger.card)).set('ai','he',function(card){
|
||||
var next=trigger.target.chooseToDiscard('弃置一张牌,或不能响应'+get.translation(trigger.card),'he').set('ai',function(card){
|
||||
var num=_status.event.num;
|
||||
if(num==0) return 0;
|
||||
if(card.name=='shan') return num>1?2:0;
|
||||
|
@ -1645,6 +2049,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
},
|
||||
dynamicTranslate:{
|
||||
twfengpo:function(player){
|
||||
if(player.storage.twfengpo) return '当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的红色牌数)。';
|
||||
return '①当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的♦数)。②当你杀死一名角色后,你将〖凤魄①〗中的“♦数”改为“红色牌数”。';
|
||||
},
|
||||
},
|
||||
translate:{
|
||||
tw_beimihu:'TW卑弥呼',
|
||||
nashime:'难升米',
|
||||
|
@ -1731,6 +2141,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tw_yujin:'SP于禁',
|
||||
xinzhenjun:'镇军',
|
||||
xinzhenjun_info:'出牌阶段开始时,你可以将一张牌交给一名其他角色,令其选择是否使用一张不为黑色的【杀】。若其选择是,则你于此【杀】结算完成后摸1+X张牌(X为此【杀】造成的伤害总点数)。若其选择否,则你对其或其攻击范围内的一名其他角色造成1点伤害。',
|
||||
tw_hucheer:'TW胡车儿',
|
||||
twshenxing:'神行',
|
||||
twshenxing_info:'锁定技。若你的装备区内没有坐骑牌,则你至其他角色的距离-1且手牌上限+1。',
|
||||
twdaoji:'盗戟',
|
||||
twdaoji_info:'出牌阶段限一次,你可以弃置一张非基本牌并选择一名攻击范围内的角色,获得其一张牌。若你以此法获得的牌为:基本牌,你摸一张牌;装备牌,你使用此牌并对其造成1点伤害。',
|
||||
tw_hejin:'TW何进',
|
||||
twmouzhu:'谋诛',
|
||||
twmouzhu_info:'出牌阶段限一次,你可以选择一名其他角色A。你令除A外所有体力值小于等于A的其他角色依次选择是否交给你一张牌。若你以此法获得的牌数X:等于0,你和所有进行选择的角色依次失去1点体力。大于0,你令A选择视为对你使用一张伤害值基数为X的【杀】或【决斗】。',
|
||||
twyanhuo:'延祸',
|
||||
twyanhuo_info:'当你死亡时,你可以选择一项:①令一名其他角色弃置X张牌。②令X名其他角色依次弃置一张牌。(X为你的牌数)',
|
||||
tw_mayunlu:'TW马云禄',
|
||||
twfengpo:'凤魄',
|
||||
twfengpo_info:'①当你使用【杀】或【决斗】指定唯一目标后,你可观看目标角色的手牌并选择一项:⒈摸X张牌。⒉令此牌的伤害值基数+X(X为其手牌中的♦数)。②当你杀死一名角色后,你将〖凤魄①〗中的“♦数”改为“红色牌数”。',
|
||||
tw_re_caohong:'TW手杀曹洪',
|
||||
tw_re_caohong_ab:'曹洪',
|
||||
twyuanhu:'援护',
|
||||
twyuanhu_info:'出牌阶段限一次。你可将一张装备牌置入一名角色的装备区内。若此牌为:武器牌,你弃置与其距离为1的另一名角色区域的一张牌;防具牌,其摸一张牌;坐骑牌,其回复1点体力。若其的体力值或手牌数不大于你,则你可摸一张牌,且可以于本回合的结束阶段再发动一次〖援护〗。',
|
||||
twjuezhu:'决助',
|
||||
twjuezhu_info:'限定技。准备阶段,你可废除一个坐骑栏,令一名角色获得〖飞影〗并废除判定区。该角色死亡后,你恢复以此法废除的装备栏。',
|
||||
tw_mobile:'移动版',
|
||||
tw_yijiang:'一将成名TW',
|
||||
tw_english:'英文版',
|
||||
|
|
|
@ -10169,7 +10169,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
"step 2"
|
||||
var card=result[0];
|
||||
if(get.type(card)=='equip'){
|
||||
if(!event.target.isDisabled(get.subtype(card))){
|
||||
if(target.getCards('h').contains(card)&&target.hasUseTarget(card)){
|
||||
event.target.chooseUseTarget(card,true,'nopopup');
|
||||
game.delay();
|
||||
}
|
||||
|
@ -12192,7 +12192,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
guohuai:['guohuai','re_guohuai','xin_guohuai','ol_guohuai'],
|
||||
jianyong:['re_jianyong','xin_jianyong','jianyong'],
|
||||
panzhangmazhong:['xin_panzhangmazhong','re_panzhangmazhong','panzhangmazhong'],
|
||||
yufan:['re_yufan','yufan'],
|
||||
yufan:['xin_yufan','re_yufan','yufan'],
|
||||
zhuran:['re_zhuran','xin_zhuran','zhuran','old_zhuran'],
|
||||
liru:['re_liru','xin_liru','liru'],
|
||||
fuhuanghou:['re_fuhuanghou','xin_fuhuanghou','fuhuanghou','old_fuhuanghou'],
|
||||
|
|
|
@ -4,6 +4,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
name:'yingbian',
|
||||
connect:true,
|
||||
character:{
|
||||
xuangongzhu:['female','jin',3,['gaoling','qimei','ybzhuiji'],['hiddenSkill']],
|
||||
xinchang:['male','jin',3,['canmou','congjian']],
|
||||
yangzhi:['female','jin',3,['wanyi','maihuo']],
|
||||
yangyan:['female','jin',3,['xuanbei','xianwan']],
|
||||
ol_huaxin:['male','wei',3,['caozhao','olxibing']],
|
||||
|
@ -27,12 +29,218 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
yingbian:{
|
||||
yingbian_pack1:['jin_simayi','jin_zhangchunhua','ol_lisu','simazhou','cheliji','ol_huaxin'],
|
||||
yingbian_pack2:['jin_simashi','jin_xiahouhui','zhanghuyuechen','shibao','jin_yanghuiyu'],
|
||||
yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan'],
|
||||
yingbian_pack4:['zhongyan'],
|
||||
yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan','xuangongzhu'],
|
||||
yingbian_pack4:['zhongyan','xinchang'],
|
||||
yingbian_pack5:['yangyan','yangzhi'],
|
||||
},
|
||||
},
|
||||
skill:{
|
||||
gaoling:{
|
||||
audio:2,
|
||||
trigger:{player:'showCharacterAfter'},
|
||||
hiddenSkill:true,
|
||||
filter:function(event,player){
|
||||
return event.toShow.contains('xuangongzhu')&&player!=_status.currentPhase&&game.hasPlayer(function(current){
|
||||
return current.isDamaged();
|
||||
});
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt('gaoling'),'令一名角色回复1点体力',function(card,player,target){
|
||||
return target.isDamaged();
|
||||
}).set('ai',function(target){
|
||||
var player=_status.event.player;
|
||||
return get.recoverEffect(target,player,player);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('gaoling',target);
|
||||
target.recover();
|
||||
}
|
||||
},
|
||||
},
|
||||
qimei:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseTarget(get.prompt('qimei'),'选择一名其他角色并获得“齐眉”效果',lib.filter.notMe).set('',function(target){
|
||||
var player=_status.event.player;
|
||||
return get.attitude(player,target)/(Math.abs(player.countCards('h')+2-target.countCards('h'))+1)
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
player.logSkill('qimei',target);
|
||||
player.storage.qimei_draw=target;
|
||||
player.addTempSkill('qimei_draw',{player:'phaseBegin'});
|
||||
game.delayx();
|
||||
}
|
||||
},
|
||||
subSkill:{
|
||||
draw:{
|
||||
audio:'qimei',
|
||||
charlotte:true,
|
||||
forced:true,
|
||||
trigger:{global:['equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter','loseAfter','gainAfter']},
|
||||
logTarget:function(event,player){
|
||||
return player.storage.qimei_draw;
|
||||
},
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
var target=player.storage.qimei_draw;
|
||||
if(!target||!target.isIn()) return false;
|
||||
if(event.name!='gain'||(event.player!=player&&event.player!=target)){
|
||||
var evt1=event.getl(player);
|
||||
if(!evt1||!evt1.hs||!evt1.hs.length){
|
||||
var evt2=event.getl(target);
|
||||
if(!evt2||!evt2.hs||!evt2.hs.length) return false;
|
||||
}
|
||||
}
|
||||
return player.countCards('h')==target.countCards('h');
|
||||
},
|
||||
content:function(){
|
||||
if(trigger.delay===false) game.delayx();
|
||||
player.storage.qimei_draw.draw();
|
||||
},
|
||||
group:'qimei_hp',
|
||||
onremove:true,
|
||||
mark:'character',
|
||||
intro:{content:'已和$组成齐眉组合'},
|
||||
},
|
||||
hp:{
|
||||
audio:'qimei',
|
||||
trigger:{global:'changeHp'},
|
||||
charlotte:true,
|
||||
forced:true,
|
||||
logTarget:function(event,player){
|
||||
return player.storage.qimei_draw;
|
||||
},
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
var target=player.storage.qimei_draw;
|
||||
if(!target||!target.isIn()) return false;
|
||||
if(player!=event.player&&target!=event.player) return false;
|
||||
return player.hp==target.hp;
|
||||
},
|
||||
content:function(){
|
||||
game.delayx();
|
||||
player.storage.qimei_draw.draw();
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
ybzhuiji:{
|
||||
audio:2,
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=['摸两张牌,并于出牌阶段结束时失去1点体力'];
|
||||
if(player.isDamaged()) list.push('回复1点体力,并于出牌阶段结束时弃置两张牌');
|
||||
player.chooseControl('cancel2').set('choiceList',list).set('prompt',get.prompt('ybzhuiji')).set('ai',function(){
|
||||
var player=_status.event.player;
|
||||
if(player.isDamaged()&&player.countCards('h','tao')<player.getDamagedHp()) return 1;
|
||||
return 'cancel2';
|
||||
});
|
||||
'step 1'
|
||||
if(result.control!='cancel2'){
|
||||
if(result.index==0) player.draw(2);
|
||||
else player.recover();
|
||||
player.addTempSkill('ybzhuiji_'+result.index,'phaseUseAfter');
|
||||
}
|
||||
},
|
||||
subSkill:{
|
||||
0:{
|
||||
trigger:{player:'phaseUseEnd'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
content:function(){
|
||||
player.loseHp();
|
||||
},
|
||||
},
|
||||
1:{
|
||||
trigger:{player:'phaseUseEnd'},
|
||||
forced:true,
|
||||
charlotte:true,
|
||||
content:function(){
|
||||
player.chooseToDiscard('he',2,true);
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
canmou:{
|
||||
audio:2,
|
||||
trigger:{global:'useCardToPlayer'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
if(!event.player.isMaxHandcard(true)||!event.isFirstTarget||get.type(event.card,null,false)!='trick') return false;
|
||||
var info=get.info(event.card);
|
||||
if(info.allowMultiple==false) return false;
|
||||
if(event.targets&&!info.multitarget){
|
||||
if(game.hasPlayer(function(current){
|
||||
return !event.targets.contains(current)&&lib.filter.targetEnabled2(event.card,event.player,current);//&&lib.filter.targetInRange(event.card,event.player,current);
|
||||
})){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
var prompt2='为'+get.translation(trigger.card)+'增加一个目标'
|
||||
player.chooseTarget(get.prompt('canmou'),function(card,player,target){
|
||||
var player=_status.event.source;
|
||||
return !_status.event.targets.contains(target)&&lib.filter.targetEnabled2(_status.event.card,player,target);//&&lib.filter.targetInRange(_status.event.card,player,target);
|
||||
}).set('prompt2',prompt2).set('ai',function(target){
|
||||
var trigger=_status.event.getTrigger();
|
||||
var player=_status.event.source;
|
||||
return get.effect(target,trigger.card,player,_status.event.player);
|
||||
}).set('targets',trigger.targets).set('card',trigger.card).set('source',trigger.player);
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
if(!event.isMine()&&!event.isOnline()) game.delayx();
|
||||
event.targets=result.targets;
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
'step 2'
|
||||
if(event.targets){
|
||||
player.logSkill('canmou',event.targets);
|
||||
trigger.targets.addArray(event.targets);
|
||||
game.log(event.targets,'也成为了',trigger.card,'的目标');
|
||||
}
|
||||
},
|
||||
},
|
||||
congjian:{
|
||||
audio:2,
|
||||
trigger:{global:'useCardToTarget'},
|
||||
logTarget:'target',
|
||||
filter:function(event,player){
|
||||
return event.target!=player&&event.targets.length==1&&get.type(event.card,null,false)=='trick'
|
||||
&&event.target.isMaxHp(true)&&lib.filter.targetEnabled2(event.card,event.player,player);
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.effect(player,event.card,event.player,player)>0;
|
||||
},
|
||||
content:function(){
|
||||
trigger.targets.push(player);
|
||||
game.log(player,'也成为了',trigger.card,'的目标');
|
||||
var next=game.createEvent('congjian_draw',false);
|
||||
next.player=player;
|
||||
event.next.remove(next);
|
||||
trigger.getParent().after.push(next);
|
||||
next.setContent(function(){
|
||||
if(player.hasHistory('damage',function(evt){
|
||||
return evt.card==event.parent.card;
|
||||
})) player.draw(2);
|
||||
});
|
||||
},
|
||||
},
|
||||
wanyi:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
|
@ -612,7 +820,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
hiddenSkill:true,
|
||||
filter:function(event,player){
|
||||
var target=_status.currentPhase;
|
||||
return target&&target!=player&&target.countGainableCards(player,'he')>0;
|
||||
return event.toShow.contains('jin_simayi')&&target&&target!=player&&target.countGainableCards(player,'he')>0;
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
|
@ -2543,6 +2751,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhongyan:' 钟琰 (?—?年)颍川人,王浑之妻。生卒年不详,约魏末晋初间前后在世。王浑的妻子钟琰,是颍川人,为魏太傅钟繇的曾孙女,父亲钟徽,为黄门郎。她平时广泛阅读各种书籍,因此几岁的时候就能撰写文章。她聪慧弘雅,善于啸咏,她的礼仪法度,为中表所推崇,她写有文集五卷。',
|
||||
yangyan:'杨艳(238年-274年8月25日),字琼芝,弘农郡华阴县(今陕西省华阴市)人,晋武帝司马炎第一任皇后,曹魏通事郎杨炳之女。自幼父母双亡,为舅舅赵俊所养,跟随继母段氏生活。聪明贤慧,善于书法,天生丽质,娴熟女红,嫁给了世子司马炎。泰始元年(265年),晋武帝即位,建立西晋。泰始二年(266年),杨艳受册为皇后,深得晋武帝宠幸,生下三子三女,包括晋惠帝司马衷。泰始十年(274年),去世,时年三十七,陪葬于峻阳陵,谥号武元皇后。',
|
||||
yangzhi:'杨芷(259年-292年3月6日),字季兰,小字男胤,弘农郡华阴县(今陕西省华阴市)人,晋武帝司马炎第二任皇后,东汉太尉杨震幼子杨奉后裔,东汉末年东莱太守、蓩亭侯杨众曾孙女,西晋太傅杨骏与嫡妻庞氏之女,武元皇后杨艳堂妹。咸宁二年(276年),立为皇后,史称“婉嫕有妇德, 美映椒房”,得宠于晋武帝。生渤海殇王,早薨,之后再无生育。其父杨骏擅权引起皇后贾南风忌恨,贾南风联络汝南王司马亮、楚王司马玮发动政变,杀死杨骏,并唆使大臣上书状告杨芷谋反,让晋惠帝司马衷将其贬为庶人,押到金墉城居住。元康二年(292年),杨芷冻饿而死,谥号武悼皇后。',
|
||||
xinchang:'辛敞(生卒年不详),字泰雍,陇西人氏,是曹魏时代官员。卫尉辛毗之子,辛宪英之弟。',
|
||||
xuangongzhu:'高陵宣公主(?—?)司马氏,晋宣帝司马懿第二女。司马氏下嫁杜预。其兄弟司马炎登基时,司马氏已经去世。泰始年间(265年—274年)追赠高陵公主。',
|
||||
},
|
||||
characterTitle:{},
|
||||
perfectPair:{},
|
||||
|
@ -2704,6 +2914,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
wanyi_info:'每回合每项限一次。出牌阶段,你可以将一张具有应变效果的牌当做【逐近弃远】/【出其不意】/【水淹七军】/【洞烛先机】使用。',
|
||||
maihuo:'埋祸',
|
||||
maihuo_info:'①当你成为其他角色使用【杀】的目标后,若此【杀】不为转化牌且有对应的实体牌且其武将牌上没有“祸”且你是此牌的唯一目标,则你可以令此牌对你无效,并将此【杀】置于其武将牌上,称为“祸”。②一名其他角色的出牌阶段开始时,若其武将牌上有“祸”,则其对你使用此“祸”(有距离限制且计入次数限制)。③当你对有“祸”的其他角色造成伤害后,你移去其“祸”。',
|
||||
xinchang:'辛敞',
|
||||
canmou:'参谋',
|
||||
canmou_info:'一名角色使用普通锦囊牌指定第一个目标时,若其手牌数为全场唯一最多,则你可以为此牌增加一个额外目标。',
|
||||
congjian:'从鉴',
|
||||
congjian_info:'一名其他角色成为普通锦囊牌的唯一目标时,若其体力值为全场唯一最多,则你也可以成为此牌的目标。此牌结算结束后,若你受到过渠道为此牌的伤害,则你摸两张牌。',
|
||||
xuangongzhu:'宣公主',
|
||||
gaoling:'高陵',
|
||||
gaoling_info:'隐匿技。当你于回合外明置此武将牌时,你可以令一名角色回复1点体力。',
|
||||
qimei:'齐眉',
|
||||
qimei_info:'准备阶段,你可以选择一名其他角色。你获得如下效果直到下回合开始:①每回合限一次,当你或其获得牌/失去手牌后,若你与其手牌数相等,则其摸一张牌。②每回合限一次,当你或其的体力值变化后,若你与其体力值相等,则其摸一张牌。',
|
||||
ybzhuiji:'追姬',
|
||||
ybzhuiji_info:'出牌阶段开始时,你可选择一项:①摸两张牌,并于出牌阶段结束时失去1点体力;②回复1点体力,并于出牌阶段结束时弃置两张牌。',
|
||||
|
||||
yingbian_pack1:'文德武备·理',
|
||||
yingbian_pack2:'文德武备·备',
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
window.noname_asset_list=[
|
||||
'v1.9.112',
|
||||
'v1.9.112.1',
|
||||
'audio/background/aozhan_chaoming.mp3',
|
||||
'audio/background/aozhan_online.mp3',
|
||||
'audio/background/aozhan_rewrite.mp3',
|
||||
|
@ -4777,6 +4777,16 @@ window.noname_asset_list=[
|
|||
'image/character/sunhanhua.jpg',
|
||||
'image/character/xinping.jpg',
|
||||
'image/character/yj_caocao.jpg',
|
||||
'image/character/caojinyu.jpg',
|
||||
'image/character/ol_dongzhao.jpg',
|
||||
'image/character/sp_ol_zhanghe.jpg',
|
||||
'image/character/tw_hejin.jpg',
|
||||
'image/character/tw_hucheer.jpg',
|
||||
'image/character/tw_mayunlu.jpg',
|
||||
'image/character/tw_re_caohong.jpg',
|
||||
'image/character/xin_yufan.jpg',
|
||||
'image/character/xinchang.jpg',
|
||||
'image/character/xuangongzhu.jpg',
|
||||
|
||||
'image/character/baiwuchang.jpg',
|
||||
'image/character/baosanniang.jpg',
|
||||
|
|
49
game/game.js
|
@ -10619,6 +10619,7 @@
|
|||
},event.chooseTime);
|
||||
}
|
||||
if(event.isMine()){
|
||||
delete ui.selected.guanxing_button;
|
||||
var list=event.list,filterMove=event.filterMove,filterOk=event.filterOk;
|
||||
_status.imchoosing=true;
|
||||
var event=_status.event;
|
||||
|
@ -14941,18 +14942,6 @@
|
|||
}
|
||||
return null;
|
||||
}
|
||||
var info=get.info(card,false);
|
||||
if(!info.nodelay&&event.animate!=false){
|
||||
if(event.delayx!==false){
|
||||
if(event.waitingForTransition){
|
||||
_status.waitingForTransition=event.waitingForTransition;
|
||||
game.pause();
|
||||
}
|
||||
else{
|
||||
game.delayx();
|
||||
}
|
||||
}
|
||||
}
|
||||
"step 4"
|
||||
if(event.all_excluded) return;
|
||||
if(!event.triggeredTargets1) event.triggeredTargets1=[];
|
||||
|
@ -14994,6 +14983,19 @@
|
|||
event.redo();
|
||||
}
|
||||
"step 6"
|
||||
var info=get.info(card,false);
|
||||
if(!info.nodelay&&event.animate!=false){
|
||||
if(event.delayx!==false){
|
||||
if(event.waitingForTransition){
|
||||
_status.waitingForTransition=event.waitingForTransition;
|
||||
game.pause();
|
||||
}
|
||||
else{
|
||||
game.delayx();
|
||||
}
|
||||
}
|
||||
}
|
||||
"step 7"
|
||||
if(event.all_excluded) return;
|
||||
if(!event.triggeredTargets3) event.triggeredTargets3=[];
|
||||
var target=event.getTriggerTarget(targets,event.triggeredTargets3);
|
||||
|
@ -15013,7 +15015,7 @@
|
|||
if(event.forceDie) next.forceDie=true;
|
||||
event.redo();
|
||||
}
|
||||
"step 7"
|
||||
"step 8"
|
||||
if(event.all_excluded) return;
|
||||
if(!event.triggeredTargets4) event.triggeredTargets4=[];
|
||||
var target=event.getTriggerTarget(targets,event.triggeredTargets4);
|
||||
|
@ -15036,7 +15038,7 @@
|
|||
}
|
||||
event.redo();
|
||||
}
|
||||
"step 8"
|
||||
"step 9"
|
||||
var info=get.info(card,false);
|
||||
if(info.contentBefore){
|
||||
var next=game.createEvent(card.name+'ContentBefore');
|
||||
|
@ -15058,7 +15060,7 @@
|
|||
next.type='precard';
|
||||
if(event.forceDie) next.forceDie=true;
|
||||
}
|
||||
"step 9"
|
||||
"step 10"
|
||||
if(event.all_excluded) return;
|
||||
var info=get.info(card,false);
|
||||
if(num==0&&targets.length>1){
|
||||
|
@ -15122,13 +15124,13 @@
|
|||
game.delayx(0.5);
|
||||
}
|
||||
}
|
||||
"step 10"
|
||||
"step 11"
|
||||
if(event.all_excluded) return;
|
||||
if(!get.info(event.card,false).multitarget&&num<targets.length-1&&!event.cancelled){
|
||||
event.num++;
|
||||
event.goto(9);
|
||||
event.goto(10);
|
||||
}
|
||||
"step 11"
|
||||
"step 12"
|
||||
if(get.info(card,false).contentAfter){
|
||||
var next=game.createEvent(card.name+'ContentAfter');
|
||||
next.setContent(get.info(card,false).contentAfter);
|
||||
|
@ -15140,7 +15142,7 @@
|
|||
next.type='postcard';
|
||||
if(event.forceDie) next.forceDie=true;
|
||||
}
|
||||
"step 12"
|
||||
"step 13"
|
||||
if(event.postAi){
|
||||
event.player.logAi(event.targets,event.card);
|
||||
}
|
||||
|
@ -15154,7 +15156,7 @@
|
|||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 13"
|
||||
"step 14"
|
||||
event._oncancel();
|
||||
},
|
||||
useSkill:function(){
|
||||
|
@ -46235,8 +46237,8 @@
|
|||
};
|
||||
ui.click.touchpop();
|
||||
ui.click.intro.call(this,{
|
||||
clientX:(rect.left+rect.width)*game.documentZoom,
|
||||
clientY:(rect.top)*game.documentZoom
|
||||
clientX:(rect.left+rect.width),
|
||||
clientY:(rect.top)
|
||||
});
|
||||
// var nodes=[];
|
||||
// _status.clickingidentity=[this.parentNode,nodes];
|
||||
|
@ -51497,7 +51499,8 @@
|
|||
}
|
||||
}
|
||||
if(method=='attack') return m;
|
||||
return n;
|
||||
if(method=='unchecked') return n;
|
||||
return Math.max(1,n);
|
||||
},
|
||||
info:function(item,player){
|
||||
if(typeof item=='string'){
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
window.noname_update={
|
||||
version:'1.9.112.0.1',
|
||||
update:'1.9.112',
|
||||
version:'1.9.112.1',
|
||||
update:'1.9.112.0.1',
|
||||
changeLog:[
|
||||
'新武将',
|
||||
'bug修复',
|
||||
],
|
||||
files:[
|
||||
|
@ -16,11 +17,11 @@ window.noname_update={
|
|||
//'card/swd.js',
|
||||
//'card/yunchou.js',
|
||||
//'card/yingbian.js',
|
||||
'card/yongjian.js',
|
||||
//'card/yongjian.js',
|
||||
//'card/zhenfa.js',
|
||||
//'card/zhulu.js',
|
||||
//'character/diy.js',
|
||||
//'character/extra.js',
|
||||
'character/extra.js',
|
||||
//'character/hearth.js',
|
||||
//'character/gujian.js',
|
||||
//'character/gwent.js',
|
||||
|
@ -30,18 +31,18 @@ window.noname_update={
|
|||
//'character/offline.js',
|
||||
//'character/old.js',
|
||||
//'character/ow.js',
|
||||
//'character/rank.js',
|
||||
//'character/refresh.js',
|
||||
//'character/shenhua.js',
|
||||
'character/rank.js',
|
||||
'character/refresh.js',
|
||||
'character/shenhua.js',
|
||||
'character/sp.js',
|
||||
'character/sp2.js',
|
||||
//'character/tw.js',
|
||||
//'character/standard.js',
|
||||
'character/tw.js',
|
||||
'character/standard.js',
|
||||
//'character/swd.js',
|
||||
//'character/xianjian.js',
|
||||
//'character/xinghuoliaoyuan.js',
|
||||
//'character/yingbian.js',
|
||||
//'character/yijiang.js',
|
||||
'character/yingbian.js',
|
||||
'character/yijiang.js',
|
||||
//'character/yxs.js',
|
||||
//'extension/boss/extension.js',
|
||||
//'layout/default/layout.css',
|
||||
|
@ -49,13 +50,13 @@ window.noname_update={
|
|||
//'layout/default/menu.css',
|
||||
//'layout/nova/layout.css',
|
||||
//'layout/mobile/equip.css',
|
||||
//'mode/boss.js',
|
||||
'mode/boss.js',
|
||||
//'mode/brawl.js',
|
||||
//'mode/chess.js',
|
||||
//'mode/connect.js',
|
||||
//'mode/doudizhu.js',
|
||||
//'mode/guozhan.js',
|
||||
//'mode/identity.js',
|
||||
'mode/guozhan.js',
|
||||
'mode/identity.js',
|
||||
//'mode/single.js',
|
||||
//'mode/stone.js',
|
||||
//'mode/tafang.js',
|
||||
|
|
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 144 KiB |
After Width: | Height: | Size: 144 KiB |
After Width: | Height: | Size: 166 KiB |
After Width: | Height: | Size: 195 KiB |
After Width: | Height: | Size: 164 KiB |
After Width: | Height: | Size: 221 KiB |
After Width: | Height: | Size: 136 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 138 KiB |
38
mode/boss.js
|
@ -1011,6 +1011,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
boss_zhuanlunwang:['male','qun',6,['boss_modao','boss_lunhui','boss_wangsheng','boss_zlfanshi'],['shu','hiddenboss','bossallowed']],
|
||||
boss_mengpo:['female','qun',3,['boss_shiyou','boss_wanghun','boss_wangshi'],['shu','hiddenboss','bossallowed']],
|
||||
boss_dizangwang:['male','qun',8,['boss_bufo','boss_wuliang','boss_dayuan','boss_diting'],['shu','hiddenboss','bossallowed']],
|
||||
//boss_shikieiki:['female','qun',8,['boss_yingzhong'],['qun','hiddenboss','bossallowed']],
|
||||
|
||||
boss_lvbu1:['male','shen',8,['mashu','wushuang','boss_baonu','boss_jingjia','boss_aozhan'],['qun','boss','bossallowed'],'wei'],
|
||||
boss_lvbu2:['male','shen',6,['mashu','wushuang','xiuluo','shenwei','shenji'],['qun','hiddenboss','bossallowed'],'qun'],
|
||||
|
@ -2042,6 +2043,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
boss_yingzhong:{
|
||||
//Unfinished
|
||||
},
|
||||
niaobaidaowenha_skill:{
|
||||
trigger:{player:'loseMaxHpAfter'},
|
||||
direct:true,
|
||||
|
@ -9612,22 +9616,25 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
"linglongshimandai":"玲珑狮蛮带",
|
||||
"linglongshimandai_info":"当其他角色使用牌指定你为唯一目标后,你可以进行一次判定,若判定结果为红桃,则此牌对你无效。",
|
||||
|
||||
boss_qinguangwang:'秦广王',
|
||||
boss_qinguangwang_ab:'秦广王',
|
||||
boss_qinguangwang:'秦广王·蒋子文',
|
||||
boss_panguan:'判官',
|
||||
boss_panguan_info:' 锁定技,你不能成为延时类锦囊的目标。',
|
||||
boss_juhun:'拘魂',
|
||||
boss_juhun_info:'锁定技,结束阶段,你令随机一名其他角色的武将牌翻面或横置。',
|
||||
boss_wangxiang:'望乡',
|
||||
boss_wangxiang_info:'锁定技,当你死亡时,你令所有其他角色弃置其装备区内的所有牌。',
|
||||
boss_chujiangwang:'楚江王',
|
||||
boss_chujiangwang_ab:'楚江王',
|
||||
boss_chujiangwang:'楚江王·厉温',
|
||||
boss_bingfeng:'冰封',
|
||||
boss_bingfeng_info:'锁定技,你死亡时,若杀死你的角色武将牌是正面朝上, 你令其翻面。',
|
||||
boss_songdiwang:'宋帝王',
|
||||
boss_songdiwang:'余懃',
|
||||
boss_heisheng:'黑绳',
|
||||
boss_heisheng_info:'锁定技,你死亡时,横置所有场上角色。',
|
||||
boss_shengfu:'绳缚',
|
||||
boss_shengfu_info:'锁定技,你的回合结束时,随机弃置一张场上其他角色的坐骑牌。',
|
||||
boss_wuguanwang:'五官王',
|
||||
boss_wuguanwang_ab:'五官王',
|
||||
boss_wuguanwang:'五官王·吕岱',
|
||||
boss_zhiwang:'治妄',
|
||||
boss_zhiwang_info:'锁定技,当其他角色于摸牌阶段外获得牌时,你随机弃置其一张手牌。',
|
||||
boss_zhiwang_planetarian:'注意事项',
|
||||
|
@ -9636,48 +9643,59 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
boss_gongzheng_info:'锁定技,准备阶段,若你判定区有牌,你随机弃置一张你判定区的牌。',
|
||||
boss_xuechi:'血池',
|
||||
boss_xuechi_info:'锁定技,你的回合结束时,令随机一名其他角色失去2点体力。',
|
||||
boss_yanluowang:'阎罗王',
|
||||
boss_yanluowang_ab:'阎罗王',
|
||||
boss_yanluowang:'阎罗王·包拯',
|
||||
boss_tiemian:'铁面',
|
||||
boss_tiemian_info:'锁定技,你的防具区没有牌时,视为你装备【仁王盾】。',
|
||||
boss_zhadao:'铡刀',
|
||||
boss_zhadao_info:'锁定技,你使用【杀】指定目标后,你令目标角色防具无效。',
|
||||
boss_zhuxin:'诛心',
|
||||
boss_zhuxin_info:'锁定技,你死亡时,你令场上血量最少的一名其他角色受到2点伤害。',
|
||||
boss_bianchengwang:'卞城王',
|
||||
boss_bianchengwang_ab:'卞城王',
|
||||
boss_bianchengwang:'卞城王·毕元宾',
|
||||
boss_leizhou:'雷咒',
|
||||
boss_leizhou_info:'锁定技,准备阶段,你对随机一名其他角色造成1点雷属性伤害',
|
||||
boss_leifu:'雷缚',
|
||||
boss_leifu_info:'锁定技,你的回合结束时,随机横置一名其他角色。',
|
||||
boss_leizhu:'雷诛',
|
||||
boss_leizhu_info:'锁定技,你死亡时,对所有其他角色造成依次造成1点雷属性伤害。',
|
||||
boss_taishanwang:'泰山王',
|
||||
boss_taishanwang_ab:'泰山王',
|
||||
boss_taishanwang:'泰山王·董和',
|
||||
boss_fudu:'服毒',
|
||||
boss_fudu_info:'锁定技,其他角色使用【桃】时,你令随机另一名其他角色失去1点体力。',
|
||||
boss_kujiu:'苦酒',
|
||||
boss_kujiu_info:'锁定技,其他角色准备阶段,你令其失去1点体力,然后该角色视为使用一张【酒】。',
|
||||
boss_renao:'热恼',
|
||||
boss_renao_info:'锁定技,你死亡时,你令随机一名其他角色受到3点火属性伤害。',
|
||||
boss_dushiwang:'都市王',
|
||||
boss_dushiwang_ab:'都市王',
|
||||
boss_dushiwang:'都市王·黄中庸',
|
||||
boss_remen:'热闷',
|
||||
boss_remen_info:'锁定技,若你的装备区内没有防具牌,则【南蛮入侵】、【万箭齐发】和普通【杀】对你无效。',
|
||||
boss_zhifen:'炙焚',
|
||||
boss_zhifen_info:'锁定技,准备阶段,你随机选择一名其他角色,获得其1张手牌(没有则不获得),并对其造成1点火属性伤害。',
|
||||
boss_huoxing:'火刑',
|
||||
boss_huoxing_info:'锁定技,你死亡时,你对所有其他角色造成1点火属性伤害。',
|
||||
boss_pingdengwang:'平等王',
|
||||
boss_pingdengwang_ab:'平等王',
|
||||
boss_pingdengwang:'平等王·陆游',
|
||||
boss_suozu:'锁足',
|
||||
boss_suozu_info:'锁定技,准备阶段,你令所有其他角色横置。',
|
||||
boss_abi:'阿鼻',
|
||||
boss_abi_info:'锁定技,锁定技,你受到伤害时,你对伤害来源造成伤害的角色造成1点随机属性伤害(雷或火随机)。',
|
||||
boss_pingdeng:'平等',
|
||||
boss_pingdeng_info:'锁定技,你死亡时,你对体力最多的一名其他角色造成2点随机属性伤害(属性随机),然后再对一名体力最多的其他角色造成1点随机属性伤害(属性随机)。',
|
||||
boss_zhuanlunwang:'转轮王',
|
||||
boss_zhuanlunwang_ab:'转轮王',
|
||||
boss_zhuanlunwang:'转轮王·薛礼',
|
||||
boss_lunhui:'轮回',
|
||||
boss_lunhui_info:'锁定技,准备阶段,若你的体力小于等于2,则你与场上除你以外体力最高且大于2的角色交换体力值。',
|
||||
boss_wangsheng:'往生',
|
||||
boss_wangsheng_info:'锁定技,你的出牌阶段开始时,视为你随机使用一张【南蛮入侵】或【万箭齐发】。',
|
||||
boss_zlfanshi:'反噬',
|
||||
boss_zlfanshi_info:'锁定技,每个回合你受到第一次伤害后,若再次受到伤害,则对随机一名其他角色造成1点伤害。',
|
||||
boss_shikieiki_ab:'四季映姫',
|
||||
boss_shikieiki:'四季映姬·夜魔仙那度',
|
||||
boss_yingzhong:'映冢',
|
||||
boss_yingzhong_info:'锁定技。你登场后的第一个回合开始时,你随机获得两个“阴间武将”的全部技能。',
|
||||
boss_yingzhong_append:'<span style="font-family:yuanli">四季映姬到阴曹地府<br>——阴(映)到家了!</span>',
|
||||
//孟婆:
|
||||
"boss_mengpo":"孟婆",
|
||||
"boss_shiyou":"拾忧",
|
||||
|
|
|
@ -361,7 +361,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
guozhan_double:['gz_tangzi','gz_liuqi','gz_mengda','gz_mifangfushiren','gz_zhanglu','gz_shixie','gz_xuyou','gz_xiahouba','gz_panjun','gz_xf_sufei','gz_wenqin','gz_pengyang'],
|
||||
guozhan_yexinjia:['gz_zhonghui','gz_simazhao','gz_gongsunyuan','gz_sunchen'],
|
||||
guozhan_zongheng:['gz_huaxin','gz_luyusheng','gz_zongyu','gz_miheng','gz_fengxi','gz_dengzhi','gz_re_xunchen'],
|
||||
guozhan_others:["gz_lingcao","gz_lifeng","gz_beimihu","gz_jianggan","gz_key_ushio","gz_sp_duyu","gz_re_nanhualaoxian","gz_zhouyi"],
|
||||
guozhan_others:["gz_lingcao","gz_lifeng","gz_beimihu","gz_jianggan","gz_key_ushio","gz_sp_duyu","gz_re_nanhualaoxian","gz_zhouyi","gz_lvlingqi"],
|
||||
}
|
||||
},
|
||||
characterPack:{
|
||||
|
@ -515,6 +515,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
gz_re_nanhualaoxian:['male','qun',4,['gzgongxiu','gzjinghe']],
|
||||
gz_zhouyi:['female','wu',3,['gzzhukou','gzduannian','gzlianyou']],
|
||||
gz_re_xunchen:['male','qun',3,['gzfenglve','gzanyong']],
|
||||
gz_lvlingqi:['female','qun',4,['guowu','gzshenwei','gzzhuangrong']],
|
||||
|
||||
gz_cuimao:['male','wei',3,['gzzhengbi','gzfengying'],[]],
|
||||
gz_yujin:['male','wei',4,['gzjieyue'],['gzskin']],
|
||||
|
@ -544,6 +545,42 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
skill:{
|
||||
//吕玲绮
|
||||
gzshenwei:{
|
||||
audio:'llqshenwei',
|
||||
mainSkill:true,
|
||||
init:function(player){
|
||||
if(player.checkMainSkill('gzshenwei')){
|
||||
player.removeMaxHp();
|
||||
}
|
||||
},
|
||||
trigger:{player:'phaseDrawBegin2'},
|
||||
forced:true,
|
||||
filter:(event)=>!event.numFixed,
|
||||
preHidden:true,
|
||||
content:function(){
|
||||
trigger.num+=2;
|
||||
},
|
||||
mod:{
|
||||
maxHandcard:(player,num)=>num+2,
|
||||
},
|
||||
},
|
||||
gzzhuangrong:{
|
||||
audio:'zhuangrong',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return !player.hasSkill('wushuang')&&player.hasCard(function(card){
|
||||
return get.type(card,player)=='trick';
|
||||
},'h');
|
||||
},
|
||||
filterCard:function(card,player){
|
||||
return get.type(card,player)=='trick';
|
||||
},
|
||||
content:function(){
|
||||
player.addTempSkill('wushuang','phaseUseEnd');
|
||||
},
|
||||
},
|
||||
//荀谌
|
||||
gzfenglve:{
|
||||
audio:'refenglve',
|
||||
|
@ -11068,6 +11105,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
pengyang:'彭羕',
|
||||
sunchen:'孙綝',
|
||||
gz_dengzhi:'邓芝',
|
||||
gzshenwei:'神威',
|
||||
gzshenwei_info:'主将技,此武将牌的阴阳鱼个数减0.5。摸牌阶段,你令额定摸牌数+2。你的手牌上限+2。',
|
||||
gzzhuangrong:'妆戎',
|
||||
gzzhuangrong_info:'出牌阶段限一次。你可弃置一张锦囊牌并获得〖无双〗至出牌阶段结束。',
|
||||
gzfenglve:'锋略',
|
||||
gzfenglve_info:'出牌阶段限一次,你可以和一名其他角色进行拼点。若你赢,其将区域内的两张牌交给你;若你输,你交给其一张牌。',
|
||||
gzfenglve_zongheng:'锋略·纵横',
|
||||
|
|
|
@ -2474,7 +2474,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
|||
this.ai.shown=1;
|
||||
this.setIdentity();
|
||||
if(this.special_identity){
|
||||
this.node.identity.firstChild.innerHTML=get.translation(game.players[i].special_identity+'_bg');
|
||||
this.node.identity.firstChild.innerHTML=get.translation(this.special_identity+'_bg');
|
||||
}
|
||||
if(this.identity=='zhu'){
|
||||
this.isZhu=true;
|
||||
|
|