Reincarnation
|
@ -271,8 +271,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
chongzhu:true,
|
chongzhu:true,
|
||||||
ai:{
|
ai:{
|
||||||
wuxie:function(){
|
wuxie:function(target,card,player,viewer){
|
||||||
if(_status.event.getRand()<0.5) return 0;
|
if(_status.event.getRand()<0.5) return 0;
|
||||||
|
if(player==game.me&&get.attitude(viewer,player)>0){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
basic:{
|
basic:{
|
||||||
useful:4,
|
useful:4,
|
||||||
|
|
|
@ -526,6 +526,10 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
filterTarget:true,
|
filterTarget:true,
|
||||||
contentBefore:function(){
|
contentBefore:function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
|
if(!targets.length){
|
||||||
|
event.finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
if(get.is.versus()){
|
if(get.is.versus()){
|
||||||
player.chooseControl('顺时针','逆时针',function(event,player){
|
player.chooseControl('顺时针','逆时针',function(event,player){
|
||||||
if(player.next.side==player.side) return '逆时针';
|
if(player.next.side==player.side) return '逆时针';
|
||||||
|
@ -1218,6 +1222,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
|
wuxie:function(target,card,player,viewer){
|
||||||
|
if(player==game.me&&get.attitude(viewer,player)>0){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
},
|
||||||
basic:{
|
basic:{
|
||||||
order:8,
|
order:8,
|
||||||
value:2,
|
value:2,
|
||||||
|
|
|
@ -3602,7 +3602,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
return player.hasShan()&&player.hp>=event.player.hp;
|
return player.hasShan()&&player.hp>=event.player.hp;
|
||||||
},
|
},
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
return player!=event.player&&event.result.length>0;
|
return player!=event.player&&Array.isArray(event.result)&&event.result.length>0;
|
||||||
},
|
},
|
||||||
logTarget:'player',
|
logTarget:'player',
|
||||||
content:function(){
|
content:function(){
|
||||||
|
|
|
@ -6,12 +6,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
connect:true,
|
connect:true,
|
||||||
characterSort:{
|
characterSort:{
|
||||||
mobile:{
|
mobile:{
|
||||||
mobile_default:["miheng","taoqian","liuzan","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui"],
|
mobile_default:["miheng","taoqian","liuzan","lingcao","sunru","lifeng","zhuling","liuye","zhaotongzhaoguang","majun","simazhao","wangyuanji","pangdegong","shenpei","hujinding","zhangyì","jiakui","yangbiao","chendeng"],
|
||||||
mobile_others:["re_jikang","old_bulianshi","old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","xin_yuanshao","re_liushan","xin_xiahoudun","re_sp_zhugeliang"],
|
mobile_others:["re_jikang","old_bulianshi","old_yuanshu","re_wangyun","re_baosanniang","re_weiwenzhugezhi","re_zhanggong","re_xugong","xin_yuanshao","re_liushan","xin_xiahoudun","re_sp_zhugeliang","re_heqi"],
|
||||||
mobile_sunben:["re_sunben"],
|
mobile_sunben:["re_sunben"],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
character:{
|
character:{
|
||||||
|
chendeng:['male','qun',3,['zhouxuan','fengji']],
|
||||||
|
re_heqi:['male','wu',4,['reqizhou','reshanxi']],
|
||||||
|
yangbiao:['male','qun',3,['zhaohan','rangjie','yizheng']],
|
||||||
re_sp_zhugeliang:["male","shu",3,["bazhen","rehuoji","rekanpo"],[]],
|
re_sp_zhugeliang:["male","shu",3,["bazhen","rehuoji","rekanpo"],[]],
|
||||||
xin_xiahoudun:['male','wei',4,['reganglie','xinqingjian']],
|
xin_xiahoudun:['male','wei',4,['reganglie','xinqingjian']],
|
||||||
zhangyì:['male','shu',4,['zhiyi']],
|
zhangyì:['male','shu',4,['zhiyi']],
|
||||||
|
@ -48,6 +51,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
re_sunben:['male','wu',4,['jiang','rehunzi','zhiba'],['zhu']],
|
re_sunben:['male','wu',4,['jiang','rehunzi','zhiba'],['zhu']],
|
||||||
},
|
},
|
||||||
characterIntro:{
|
characterIntro:{
|
||||||
|
chendeng:'陈登(163—201),字元龙,下邳淮浦(今江苏涟水西)人。东汉末年将领、官员。沛相陈珪之子。为人爽朗,性格沈静,智谋过人,少年时有扶世济民之志,并且博览群书,学识渊博。二十五岁时,举孝廉,任东阳县长。虽然年轻,但他能够体察民情,抚弱育孤,深得百姓敬重。后来,徐州牧陶谦提拔他为典农校尉,主管一州农业生产。他亲自考察徐州的土壤状况,开发水利,发展农田灌溉,使汉末迭遭破坏的徐州农业得到一定程度的恢复,百姓们安居乐业,“秔稻丰积”。建安初奉使赴许,向曹操献灭吕布之策,被授广陵太守。以灭吕布有功,加伏波将军。又迁东城太守。年三十九卒。其子陈肃,魏文帝时追陈登之功,为郎中。',
|
||||||
|
yangbiao:'杨彪(142年-225年),字文先。弘农郡华阴县(今陕西华阴)人。东汉末年名臣,太尉杨赐之子、名士杨修之父。杨彪少年时受家学熏陶,初举孝廉、茂才。其后征拜为议郎,参与续写《东观汉记》。任京兆尹时,揭发黄门令王甫的贪赃行为,使其被定罪诛杀。累任侍中、五官中郎将、卫尉等职。汉献帝时,遍历三公(司空、司徒、太尉)之职。权臣董卓意图迁都时,他据理力争。献帝东迁时,杨彪尽节护主。曹操挟献帝定都许县后,将杨彪下狱,获释后又任太常。他见汉室衰微,便诈称脚疾,不理世事。曹魏建立后,拒绝出任太尉,改光禄大夫,待以客礼。黄初六年(225年),杨彪去世,年八十四。其著作现仅存《答曹公书》一篇。',
|
||||||
zhangyì:'张翼(?-264年),字伯恭,益州犍为郡武阳县人。三国时期蜀汉将领。历任梓潼、广汉、蜀郡三郡太守,出任庲降都督,后随诸葛亮和姜维北伐,官至左车骑将军,领冀州刺史。初封关内侯,进爵都亭侯。蜀汉灭亡后,魏将钟会密谋造反,成都大乱,张翼亦为乱兵所杀。张翼是蜀汉第三任庲降都督,由于执法严厉,不得南夷欢心。在北伐上,张翼认为国小民疲,不应滥用武力,是蜀汉朝廷当时极少敢当朝和姜维争辩北伐问题的大臣。',
|
zhangyì:'张翼(?-264年),字伯恭,益州犍为郡武阳县人。三国时期蜀汉将领。历任梓潼、广汉、蜀郡三郡太守,出任庲降都督,后随诸葛亮和姜维北伐,官至左车骑将军,领冀州刺史。初封关内侯,进爵都亭侯。蜀汉灭亡后,魏将钟会密谋造反,成都大乱,张翼亦为乱兵所杀。张翼是蜀汉第三任庲降都督,由于执法严厉,不得南夷欢心。在北伐上,张翼认为国小民疲,不应滥用武力,是蜀汉朝廷当时极少敢当朝和姜维争辩北伐问题的大臣。',
|
||||||
jiakui:'贾逵(174年—228年),本名贾衢,字梁道,河东襄陵人(今山西临汾县)。汉末三国时期魏国名臣,西晋开国功臣贾充父亲。初为并州郡吏,迁渑池县令,拜弘农太守,历仕曹操、曹丕、曹叡三世,是曹魏政权中具有军政才干的人物,终其一生为魏国统一事业作出卓越贡献。担任豫州刺史期间,兴修水利,凿通运河二百余里,时称“贾侯渠”,便利民生。随同曹丕伐吴,进封阳里亭侯,加号建威将军。石亭之战,率军救出曹休。太和二年,去世,赠本官,谥号为肃,《唐会要》将其尊为魏晋八君子之一。',
|
jiakui:'贾逵(174年—228年),本名贾衢,字梁道,河东襄陵人(今山西临汾县)。汉末三国时期魏国名臣,西晋开国功臣贾充父亲。初为并州郡吏,迁渑池县令,拜弘农太守,历仕曹操、曹丕、曹叡三世,是曹魏政权中具有军政才干的人物,终其一生为魏国统一事业作出卓越贡献。担任豫州刺史期间,兴修水利,凿通运河二百余里,时称“贾侯渠”,便利民生。随同曹丕伐吴,进封阳里亭侯,加号建威将军。石亭之战,率军救出曹休。太和二年,去世,赠本官,谥号为肃,《唐会要》将其尊为魏晋八君子之一。',
|
||||||
shenpei:'审配(?-204年),字正南,魏郡阴安(今河北清丰北)人。为人正直, 袁绍领冀州,审配被委以腹心之任,并总幕府。河北平定,袁绍以审配、逢纪统军事,审配恃其强盛,力主与曹操决战。曾率领弓弩手大破曹军于官渡。官渡战败,审配二子被俘,反因此受谮见疑,幸得逢纪力保。袁绍病死,审配等矫诏立袁尚为嗣,导致兄弟相争,被曹操各个击破。曹操围邺,审配死守数月,终城破被擒,拒不投降,慷慨受死。',
|
shenpei:'审配(?-204年),字正南,魏郡阴安(今河北清丰北)人。为人正直, 袁绍领冀州,审配被委以腹心之任,并总幕府。河北平定,袁绍以审配、逢纪统军事,审配恃其强盛,力主与曹操决战。曾率领弓弩手大破曹军于官渡。官渡战败,审配二子被俘,反因此受谮见疑,幸得逢纪力保。袁绍病死,审配等矫诏立袁尚为嗣,导致兄弟相争,被曹操各个击破。曹操围邺,审配死守数月,终城破被擒,拒不投降,慷慨受死。',
|
||||||
|
@ -261,6 +266,418 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
characterFilter:{},
|
characterFilter:{},
|
||||||
skill:{
|
skill:{
|
||||||
|
fengji:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:'phaseBegin'},
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return typeof player.storage.fengji=='number'&&player.countCards('h')>=player.storage.fengji;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.draw(2);
|
||||||
|
player.addTempSkill('fengji3');
|
||||||
|
},
|
||||||
|
group:'fengji2',
|
||||||
|
intro:{
|
||||||
|
content:'上回合结束时的手牌数:#',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fengji2:{
|
||||||
|
trigger:{player:'phaseEnd'},
|
||||||
|
silent:true,
|
||||||
|
content:function(){
|
||||||
|
player.storage.fengji=player.countCards('h');
|
||||||
|
if(player.hasSkill('fengji')) player.markSkill('fengji');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fengji3:{
|
||||||
|
mod:{
|
||||||
|
maxHandcard:function(player,num){
|
||||||
|
return num+player.getDamagedHp();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
zhouxuan:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:'phaseJieshuBegin'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('he')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseCardTarget({
|
||||||
|
prompt:get.prompt2('zhouxuan'),
|
||||||
|
filterCard:lib.filter.cardDiscardable,
|
||||||
|
filterTarget:lib.filter.notMe,
|
||||||
|
position:'he',
|
||||||
|
ai1:function(card){
|
||||||
|
return 6-get.value(card);
|
||||||
|
},
|
||||||
|
ai2:function(target){
|
||||||
|
var player=_status.event.player;
|
||||||
|
if(get.attitude(player,target)>0) return Math.max(1,target.hp)*target.countCards('h',function(card){
|
||||||
|
return target.getUseValue(card)>0;
|
||||||
|
});
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
player.logSkill('zhouxuan',result.targets[0]);
|
||||||
|
player.discard(result.cards);
|
||||||
|
player.addSkill('zhouxuan2');
|
||||||
|
result.targets[0].addTempSkill('zhouxuan_ai',{player:'phaseUseAfter'});
|
||||||
|
player.storage.zhouxuan2={};
|
||||||
|
player.storage.zhouxuan2.player=result.targets[0];
|
||||||
|
var list=[];
|
||||||
|
var basic=[];
|
||||||
|
for(var i=0;i<lib.inpile.length;i++){
|
||||||
|
var name=lib.inpile[i];
|
||||||
|
var type=get.type(name,'trick');
|
||||||
|
if(type=='basic'){
|
||||||
|
list.push(name);
|
||||||
|
basic.push(name);
|
||||||
|
}
|
||||||
|
else list.add(type);
|
||||||
|
}
|
||||||
|
event.basic=basic;
|
||||||
|
player.chooseControl(list).set('prompt','请选择一种基本牌的名称或非基本牌的类别').set('ai',function(){
|
||||||
|
var player=_status.event.player;
|
||||||
|
var target=player.storage.zhouxuan2.player;
|
||||||
|
var cards=target.getCards('h',function(card){
|
||||||
|
return target.hasUseTarget(card);
|
||||||
|
});
|
||||||
|
var map={};
|
||||||
|
for(var i=0;i<cards.length;i++){
|
||||||
|
var type=get.type(cards[i],'trick');
|
||||||
|
map[type=='basic'?get.name(cards[i]):type]=true;
|
||||||
|
}
|
||||||
|
if(map.equip) return 'equip';
|
||||||
|
if(map.trick) return 'trick';
|
||||||
|
if(map.sha) return 'sha';
|
||||||
|
if(map.tao) return 'tao';
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
player.storage.zhouxuan2.card=result.control;
|
||||||
|
if(event.basic.contains(result.control)) player.storage.zhouxuan2.isbasic=true;
|
||||||
|
player.markSkill('zhouxuan2');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
zhouxuan_ai:{
|
||||||
|
mod:{
|
||||||
|
aiOrder:function(player,card,num){
|
||||||
|
if(game.hasPlayer(function(current){
|
||||||
|
return current.storage.zhouxuan2&¤t.storage.zhouxuan2.player==player&&get.attitude(player,current)>0&&(current.storage.zhouxuan2.isbasic?card.name:get.type(card,'trick'))==current.storage.zhouxuan2.card;
|
||||||
|
})) return num+10;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
zhouxuan2:{
|
||||||
|
intro:{
|
||||||
|
mark:function(player,storage){
|
||||||
|
return get.translation(storage.player)+'使用或打出下一张牌时,若此牌为'+get.translation(storage.card)+(storage.isbasic?'':'牌')+',你观看牌堆顶的三张牌并分配给任意角色';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
audio:'zhouxuan',
|
||||||
|
forced:true,
|
||||||
|
charlotte:true,
|
||||||
|
trigger:{global:['useCard','respond']},
|
||||||
|
filter:function(event,player){
|
||||||
|
if(event.zhouxuanable) return true;
|
||||||
|
if(player.storage.zhouxuan2){
|
||||||
|
var map=player.storage.zhouxuan2;
|
||||||
|
if(map.player!=event.player) return false;
|
||||||
|
delete player.storage.zhouxuan2;
|
||||||
|
player.unmarkSkill('zhouxuan2');
|
||||||
|
if(map.card!=(map.isbasic?event.card.name:get.type(event.card,'trick'))) return false;
|
||||||
|
event.zhouxuanable=true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
logTarget:'player',
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
event.cards=game.cardsGotoOrdering(get.cards(3)).cards;
|
||||||
|
"step 1"
|
||||||
|
if(event.cards.length>1){
|
||||||
|
player.chooseCardButton('周旋:请选择要分配的牌',true,event.cards,[1,event.cards.length]).set('ai',function(button){
|
||||||
|
if(ui.selected.buttons.length==0) return 1;
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else if(event.cards.length==1){
|
||||||
|
event._result={links:event.cards.slice(0),bool:true};
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.finish();
|
||||||
|
}
|
||||||
|
"step 2"
|
||||||
|
if(result.bool){
|
||||||
|
for(var i=0;i<result.links.length;i++){
|
||||||
|
event.cards.remove(result.links[i]);
|
||||||
|
}
|
||||||
|
event.togive=result.links.slice(0);
|
||||||
|
player.chooseTarget('将'+get.translation(result.links)+'交给一名角色',true).set('ai',function(target){
|
||||||
|
var att=get.attitude(_status.event.player,target);
|
||||||
|
if(_status.event.enemy){
|
||||||
|
return -att;
|
||||||
|
}
|
||||||
|
else if(att>0){
|
||||||
|
return att/(1+target.countCards('h'));
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return att/100;
|
||||||
|
}
|
||||||
|
}).set('enemy',get.value(event.togive[0],player,'raw')<0);
|
||||||
|
}
|
||||||
|
"step 3"
|
||||||
|
if(result.targets.length){
|
||||||
|
result.targets[0].gain(event.togive,'draw');
|
||||||
|
player.line(result.targets[0],'green');
|
||||||
|
game.log(result.targets[0],'获得了'+get.cnNumber(event.togive.length)+'张牌');
|
||||||
|
event.goto(1);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reshanxi:{
|
||||||
|
audio:'shanxi',
|
||||||
|
trigger:{player:'phaseUseBegin'},
|
||||||
|
direct:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.hp>0&&player.countCards('h',function(card){
|
||||||
|
if(_status.connectMode) return true;
|
||||||
|
return get.color(card)=='red'&&get.type(card)=='basic';
|
||||||
|
})>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseCardTarget({
|
||||||
|
filterCard:function(card){
|
||||||
|
return get.color(card)=='red'&&get.type(card)=='basic'&&lib.filter.cardDiscardable.apply(this,arguments);
|
||||||
|
},
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return player!=target&&target.countCards('he')>0;
|
||||||
|
},
|
||||||
|
prompt:get.prompt('reshanxi'),
|
||||||
|
prompt2:'弃置一张红色基本牌并选择一名其他角色,将其的至多X张牌置于其武将牌上直到回合结束。(X为你的体力值)',
|
||||||
|
ai1:function(){return -1},
|
||||||
|
});
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
event.target=result.targets[0];
|
||||||
|
player.logSkill('reshanxi',event.target);
|
||||||
|
player.discard(result.cards);
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 2'
|
||||||
|
var max=Math.min(player.hp,target.countCards('he'));
|
||||||
|
if(max>0){
|
||||||
|
player.choosePlayerCard('he',target,true,[1,max]).set('forceAuto',true).set('prompt','将'+get.translation(target)+'的至多'+get.cnNumber(max)+'张牌置于其武将牌上');
|
||||||
|
}
|
||||||
|
else event.finish();
|
||||||
|
'step 3'
|
||||||
|
target.addSkill('reshanxi2');
|
||||||
|
target.storage.reshanxi2.addArray(result.cards);
|
||||||
|
target.lose(result.cards,ui.special,'toStorage');
|
||||||
|
game.log(target,'失去了'+get.cnNumber(result.cards.length)+'张牌');
|
||||||
|
target.markSkill('reshanxi2');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reshanxi2:{
|
||||||
|
init:function(player,skill){
|
||||||
|
if(!player.storage[skill]) player.storage[skill]=[];
|
||||||
|
},
|
||||||
|
trigger:{global:'phaseEnd'},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
charlotte:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.storage.reshanxi2&&player.storage.reshanxi2.length>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
game.log(player,'收回了'+get.cnNumber(player.gain(player.storage.reshanxi2,'draw','fromStorage').cards.length)+'张〖闪袭〗牌');
|
||||||
|
player.storage.reshanxi2.length=0;
|
||||||
|
player.removeSkill('reshanxi2');
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
onunmark:'throw',
|
||||||
|
content:'cardCount',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
reqizhou:{
|
||||||
|
trigger:{player:['equipEnd','loseEnd']},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
derivation:['reyingzi','qixi','xuanfeng'],
|
||||||
|
filter:function(event,player){
|
||||||
|
if(player.equiping) return false;
|
||||||
|
var suits=[];
|
||||||
|
var es=player.getCards('e');
|
||||||
|
for(var i=0;i<es.length;i++){
|
||||||
|
suits.add(get.suit(es[i]));
|
||||||
|
}
|
||||||
|
if(suits.length>3) suits.length=3;
|
||||||
|
if(player.additionalSkills.reqizhou){
|
||||||
|
return player.additionalSkills.reqizhou.length!=suits.length;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return suits.length>0;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
lib.skill.reqizhou.init(player,'reqizhou');
|
||||||
|
},
|
||||||
|
init:function(player,skill){
|
||||||
|
var suits=[];
|
||||||
|
var es=player.getCards('e');
|
||||||
|
for(var i=0;i<es.length;i++){
|
||||||
|
suits.add(get.suit(es[i]));
|
||||||
|
}
|
||||||
|
if(suits.length>3) suits.length=3;
|
||||||
|
player.removeAdditionalSkill(skill);
|
||||||
|
switch(suits.length){
|
||||||
|
case 1:player.addAdditionalSkill(skill,['reyingzi']);break;
|
||||||
|
case 2:player.addAdditionalSkill(skill,['reyingzi','qixi']);break;
|
||||||
|
case 3:player.addAdditionalSkill(skill,['reyingzi','qixi','xuanfeng']);break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
threaten:1.2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
zhaohan:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:'phaseZhunbeiBegin'},
|
||||||
|
forced:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.phaseNumber<8;
|
||||||
|
},
|
||||||
|
check:function(event,player){
|
||||||
|
return player.phaseNumber<3;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
if(player.phaseNumber<5){
|
||||||
|
player.gainMaxHp();
|
||||||
|
player.recover();
|
||||||
|
}
|
||||||
|
else player.loseMaxHp();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
rangjie:{
|
||||||
|
audio:2,
|
||||||
|
trigger:{player:'damageEnd'},
|
||||||
|
direct:true,
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
event.count=trigger.num;
|
||||||
|
'step 1'
|
||||||
|
event.count--;
|
||||||
|
var choiceList=['获得一张指定类型的牌'];
|
||||||
|
if(player.canMoveCard()) choiceList.push('移动场上的一张牌');
|
||||||
|
player.chooseControl('cancel2').set('choiceList',choiceList).set('prompt',get.prompt('rangjie')).set('ai',function(){
|
||||||
|
var player=_status.event.player;
|
||||||
|
if(player.canMoveCard(true)) return 1;
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
'step 2'
|
||||||
|
if(result.control=='cancel2') event.finish();
|
||||||
|
else{
|
||||||
|
player.logSkill('rangjie');
|
||||||
|
player.draw();
|
||||||
|
if(result.index==0){
|
||||||
|
player.chooseControl('basic','trick','equip').set('prompt','选择获得一种类型的牌').set('ai',function(){
|
||||||
|
var player=_status.event.player;
|
||||||
|
if(player.hp<=3&&!player.countCards('h',{name:['shan','tao']})) return 'basic';
|
||||||
|
if(player.countCards('he',{type:'equip'})<2) return 'equip';
|
||||||
|
return 'trick';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.moveCard(true);
|
||||||
|
event.goto(4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'step 3'
|
||||||
|
var card=get.cardPile2(function(card){
|
||||||
|
return get.type(card,'trick')==result.control;
|
||||||
|
});
|
||||||
|
if(card) player.gain(card,'gain2','log');
|
||||||
|
'step 4'
|
||||||
|
if(event.count>0) event.goto(1);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
maixie:true,
|
||||||
|
"maixie_hp":true,
|
||||||
|
effect:{
|
||||||
|
target:function (card,player,target){
|
||||||
|
if(get.tag(card,'damage')){
|
||||||
|
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
|
||||||
|
if(!target.hasFriend()) return;
|
||||||
|
var num=1;
|
||||||
|
if(get.attitude(player,target)>0){
|
||||||
|
if(player.needsToDiscard()){
|
||||||
|
num=0.7;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
num=0.5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(target.hp>=4) return [1,num*2];
|
||||||
|
if(target.hp==3) return [1,num*1.5];
|
||||||
|
if(target.hp==2) return [1,num*0.5];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
yizheng:{
|
||||||
|
audio:2,
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filter:function(event,player){
|
||||||
|
return game.hasPlayer(function(current){
|
||||||
|
return current.hp<=player.hp&&player.canCompare(current);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
filterTarget:function(card,player,current){
|
||||||
|
return current.hp<=player.hp&&player.canCompare(current);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.chooseToCompare(target);
|
||||||
|
'step 1'
|
||||||
|
if(result.bool){
|
||||||
|
target.skip('phaseDraw');
|
||||||
|
target.addTempSkill('yizheng2',{player:'phaseDrawSkipped'});
|
||||||
|
}
|
||||||
|
else player.loseMaxHp();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:1,
|
||||||
|
result:{
|
||||||
|
target:function(player,target){
|
||||||
|
if(target.skipList.contains('phaseDraw')||target.hasSkill('pingkou')) return 0;
|
||||||
|
var hs=player.getCards('h').sort(function(a,b){
|
||||||
|
return b.number-a.number;
|
||||||
|
});
|
||||||
|
var ts=target.getCards('h').sort(function(a,b){
|
||||||
|
return b.number-a.number;
|
||||||
|
});
|
||||||
|
if(hs[0].number>ts[0].number) return -1;
|
||||||
|
return 0;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
yizheng2:{
|
||||||
|
mark:true,
|
||||||
|
intro:{content:'跳过下回合的摸牌阶段'},
|
||||||
|
},
|
||||||
rw_zhuge_skill:{
|
rw_zhuge_skill:{
|
||||||
equipSkill:true,
|
equipSkill:true,
|
||||||
audio:true,
|
audio:true,
|
||||||
|
@ -2778,6 +3195,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
trigger:{player:'useCard'},
|
trigger:{player:'useCard'},
|
||||||
forced:true,
|
forced:true,
|
||||||
|
charlotte:true,
|
||||||
//audio:'kuangcai',
|
//audio:'kuangcai',
|
||||||
silent:true,
|
silent:true,
|
||||||
popup:false,
|
popup:false,
|
||||||
|
@ -2807,6 +3225,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
trigger:{player:'phaseUseEnd'},
|
trigger:{player:'phaseUseEnd'},
|
||||||
priority:50,
|
priority:50,
|
||||||
silent:true,
|
silent:true,
|
||||||
|
charlotte:true,
|
||||||
content:function(){
|
content:function(){
|
||||||
game.broadcastAll(function(player){
|
game.broadcastAll(function(player){
|
||||||
delete player.forceCountChoose;
|
delete player.forceCountChoose;
|
||||||
|
@ -3362,6 +3781,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
//仲村 ゆり
|
//仲村 ゆり
|
||||||
mobile_sunben:'那个男人',
|
mobile_sunben:'那个男人',
|
||||||
//孙笨
|
//孙笨
|
||||||
|
|
||||||
|
yangbiao:'杨彪',
|
||||||
|
zhaohan:'昭汉',
|
||||||
|
zhaohan_info:'锁定技,你的第1-4个准备阶段开始时,你加1点体力上限并回复1点体力,你的第5-7个准备阶段开始时,你减1点体力上限。',
|
||||||
|
rangjie:'让节',
|
||||||
|
rangjie_info:'当你受到1点伤害后,你可以选择一项并摸一张牌:获得牌堆里你选择的类型的一张牌,或移动场上的一张牌。',
|
||||||
|
yizheng:'义争',
|
||||||
|
yizheng2:'义争',
|
||||||
|
yizheng_info:'出牌阶段限一次,你可以和一名体力值不大于你的其他角色拼点。若你赢,其跳过下个摸牌阶段。若你没赢,你减1点体力上限。',
|
||||||
|
re_heqi:'手杀贺齐',
|
||||||
|
reqizhou:'绮胄',
|
||||||
|
reqizhou_info:'锁定技,你根据装备区里牌的花色数获得以下技能:1种或以上:〖英姿〗;2种或以上:〖奇袭〗;3种或以上:〖旋风〗。',
|
||||||
|
reshanxi:'闪袭',
|
||||||
|
reshanxi2:'闪袭',
|
||||||
|
reshanxi_info:'出牌阶段开始时,你可以弃置一张红色基本牌并选择一名有牌的其他角色,将其的至多X张牌置于其的武将牌上(X为你的体力值)。回合结束时,该角色获得这些牌。',
|
||||||
|
chendeng:'陈登',
|
||||||
|
zhouxuan:'周旋',
|
||||||
|
zhouxuan2:'周旋',
|
||||||
|
zhouxuan_info:'结束阶段,你可以弃置一张牌并指定一名角色,然后选择一个基本牌的名称或非基本牌的类型。其使用或打出下一张牌时,若此牌的名称或类型和你选择的相同,则你观看牌堆顶的三张牌,然后将这些牌分配给任意角色。',
|
||||||
|
fengji:'丰积',
|
||||||
|
fengji_info:'锁定技,回合结束时,你记录你的手牌数。回合开始时,若你的手牌数不小于你记录的手牌数,则你摸两张牌且本回合手牌上限+X。(X为你的体力值)',
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -9,11 +9,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","re_pangtong","ol_yuanshao","re_pangde"],
|
refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","re_pangtong","ol_yuanshao","re_pangde"],
|
||||||
refresh_lin:['re_zhurong','re_menghuo','re_dongzhuo','re_sunjian','re_caopi','re_xuhuang'],
|
refresh_lin:['re_zhurong','re_menghuo','re_dongzhuo','re_sunjian','re_caopi','re_xuhuang'],
|
||||||
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'],
|
refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'],
|
||||||
refresh_yijiang:['re_xusheng','re_wuguotai','re_gaoshun'],
|
refresh_yijiang:['re_xusheng','re_wuguotai','re_gaoshun','re_zhangyi'],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
connect:true,
|
connect:true,
|
||||||
character:{
|
character:{
|
||||||
|
re_zhangyi:['male','shu',4,['rewurong','shizhi']],
|
||||||
re_xusheng:['male','wu',4,['repojun']],
|
re_xusheng:['male','wu',4,['repojun']],
|
||||||
re_wuguotai:['female','wu',3,['reganlu','buyi']],
|
re_wuguotai:['female','wu',3,['reganlu','buyi']],
|
||||||
re_gaoshun:['male','qun',4,['rexianzhen','rejinjiu']],
|
re_gaoshun:['male','qun',4,['rexianzhen','rejinjiu']],
|
||||||
|
@ -92,6 +93,168 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sunben:['zhouyu','taishici','daqiao'],
|
sunben:['zhouyu','taishici','daqiao'],
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
|
rewurong:{
|
||||||
|
enable:'phaseUse',
|
||||||
|
usable:1,
|
||||||
|
filter:function(event,player){
|
||||||
|
return player.countCards('h')>0;
|
||||||
|
},
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return target!=player&&target.countCards('h')>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
if(target.countCards('h')==0||player.countCards('h')==0){
|
||||||
|
event.finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
"step 1"
|
||||||
|
var sendback=function(){
|
||||||
|
if(_status.event!=event){
|
||||||
|
return function(){
|
||||||
|
event.resultOL=_status.event.resultOL;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if(player.isOnline()){
|
||||||
|
player.wait(sendback);
|
||||||
|
event.ol=true;
|
||||||
|
player.send(function(){
|
||||||
|
game.me.chooseCard(true).set('glow_result',true).ai=function(){
|
||||||
|
return Math.random();
|
||||||
|
};
|
||||||
|
game.resume();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.localPlayer=true;
|
||||||
|
player.chooseCard(true).set('glow_result',true).ai=function(){
|
||||||
|
return Math.random();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
if(target.isOnline()){
|
||||||
|
target.wait(sendback);
|
||||||
|
event.ol=true;
|
||||||
|
target.send(function(){
|
||||||
|
var rand=Math.random()<0.4;
|
||||||
|
game.me.chooseCard(true).set('glow_result',true).ai=function(card){
|
||||||
|
if(rand) return card.name=='shan'?1:0;
|
||||||
|
return card.name=='shan'?0:1;
|
||||||
|
};
|
||||||
|
game.resume();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
event.localTarget=true;
|
||||||
|
}
|
||||||
|
"step 2"
|
||||||
|
if(event.localPlayer){
|
||||||
|
event.card1=result.cards[0];
|
||||||
|
}
|
||||||
|
if(event.localTarget){
|
||||||
|
var rand=Math.random()<0.4;
|
||||||
|
target.chooseCard(true).set('glow_result',true).ai=function(card){
|
||||||
|
if(rand) return card.name=='shan'?1:0;
|
||||||
|
return card.name=='shan'?0:1;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
"step 3"
|
||||||
|
if(event.localTarget){
|
||||||
|
event.card2=result.cards[0];
|
||||||
|
}
|
||||||
|
if(!event.resultOL&&event.ol){
|
||||||
|
game.pause();
|
||||||
|
}
|
||||||
|
"step 4"
|
||||||
|
try{
|
||||||
|
if(!event.card1) event.card1=event.resultOL[player.playerid].cards[0];
|
||||||
|
if(!event.card2) event.card2=event.resultOL[target.playerid].cards[0];
|
||||||
|
if(!event.card1||!event.card2){
|
||||||
|
throw('err');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(e){
|
||||||
|
console.log(e);
|
||||||
|
event.finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(event.card2.number>=10||event.card2.number<=4){
|
||||||
|
if(target.countCards('h')>2){
|
||||||
|
event.addToAI=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
game.broadcastAll(function(card1,card2){
|
||||||
|
card1.classList.remove('glow');
|
||||||
|
card2.classList.remove('glow');
|
||||||
|
},event.card1,event.card2);
|
||||||
|
"step 5"
|
||||||
|
game.broadcastAll(function(){
|
||||||
|
ui.arena.classList.add('thrownhighlight');
|
||||||
|
});
|
||||||
|
game.addVideo('thrownhighlight1');
|
||||||
|
player.$compare(event.card1,target,event.card2);
|
||||||
|
game.delay(4);
|
||||||
|
"step 6"
|
||||||
|
game.log(player,'展示了',event.card1);
|
||||||
|
game.log(target,'展示了',event.card2);
|
||||||
|
var name1=get.name(event.card1);
|
||||||
|
var name2=get.name(event.card2);
|
||||||
|
if(name1=='sha'&&name2!='shan'){
|
||||||
|
//player.discard(event.card1).set('animate',false);
|
||||||
|
target.$gain2(event.card2);
|
||||||
|
var clone=event.card1.clone;
|
||||||
|
if(clone){
|
||||||
|
clone.style.transition='all 0.5s';
|
||||||
|
clone.style.transform='scale(1.2)';
|
||||||
|
clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([clone]));
|
||||||
|
}
|
||||||
|
game.broadcast(function(card){
|
||||||
|
var clone=card.clone;
|
||||||
|
if(clone){
|
||||||
|
clone.style.transition='all 0.5s';
|
||||||
|
clone.style.transform='scale(1.2)';
|
||||||
|
clone.delete();
|
||||||
|
}
|
||||||
|
},event.card1);
|
||||||
|
target.damage('nocard');
|
||||||
|
}
|
||||||
|
else if(name1!='sha'&&name2=='shan'){
|
||||||
|
//player.discard(event.card1).set('animate',false);
|
||||||
|
target.$gain2(event.card2);
|
||||||
|
var clone=event.card1.clone;
|
||||||
|
if(clone){
|
||||||
|
clone.style.transition='all 0.5s';
|
||||||
|
clone.style.transform='scale(1.2)';
|
||||||
|
clone.delete();
|
||||||
|
game.addVideo('deletenode',player,get.cardsInfo([clone]));
|
||||||
|
}
|
||||||
|
game.broadcast(function(card){
|
||||||
|
var clone=card.clone;
|
||||||
|
if(clone){
|
||||||
|
clone.style.transition='all 0.5s';
|
||||||
|
clone.style.transform='scale(1.2)';
|
||||||
|
clone.delete();
|
||||||
|
}
|
||||||
|
},event.card1);
|
||||||
|
player.gainPlayerCard(target,true,'he');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.$gain2(event.card1);
|
||||||
|
target.$gain2(event.card2);
|
||||||
|
}
|
||||||
|
game.broadcastAll(function(){
|
||||||
|
ui.arena.classList.remove('thrownhighlight');
|
||||||
|
});
|
||||||
|
game.addVideo('thrownhighlight2');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:6,
|
||||||
|
result:{
|
||||||
|
target:-1,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
cangzhuo:{
|
cangzhuo:{
|
||||||
trigger:{player:'phaseDiscardBegin'},
|
trigger:{player:'phaseDiscardBegin'},
|
||||||
frequent:true,
|
frequent:true,
|
||||||
|
@ -3643,7 +3806,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
reyingzi:{
|
reyingzi:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['heqi','sunce','gexuan','re_sunben','re_sunce'],
|
audioname:['heqi','sunce','gexuan','re_sunben','re_sunce','re_heqi'],
|
||||||
trigger:{player:'phaseDrawBegin2'},
|
trigger:{player:'phaseDrawBegin2'},
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
@ -5435,7 +5598,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
re_gaoshun:'界高顺',
|
re_gaoshun:'界高顺',
|
||||||
re_xusheng:'界徐盛',
|
re_xusheng:'界徐盛',
|
||||||
reganlu:'甘露',
|
reganlu:'甘露',
|
||||||
reganlu_info:'出牌阶段限一次,你可以选择装备区牌数之差不小于X的两名角色或包含你在内的两名角色,然后交换这两名角色装备区内的牌。',
|
reganlu_info:'出牌阶段限一次,你可以选择装备区牌数之差的绝对值不小于X的两名角色或包含你在内的两名角色,然后交换这两名角色装备区内的牌。(X为你已损失的体力值)',
|
||||||
repojun:'破军',
|
repojun:'破军',
|
||||||
repojun2:'破军',
|
repojun2:'破军',
|
||||||
repojun3:'破军',
|
repojun3:'破军',
|
||||||
|
@ -5451,6 +5614,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
shebian_info:'当你的武将牌翻面后,你可以移动场上的一张装备牌。',
|
shebian_info:'当你的武将牌翻面后,你可以移动场上的一张装备牌。',
|
||||||
cangzhuo:'藏拙',
|
cangzhuo:'藏拙',
|
||||||
cangzhuo_info:'弃牌阶段开始时,若你本回合内没有使用过锦囊牌,则你的锦囊牌不计入手牌上限。',
|
cangzhuo_info:'弃牌阶段开始时,若你本回合内没有使用过锦囊牌,则你的锦囊牌不计入手牌上限。',
|
||||||
|
re_zhangyi:'界张嶷',
|
||||||
|
rewurong:'怃戎',
|
||||||
|
rewurong_info:'出牌阶段限一次,你可以令一名其他角色与你同时展示一张手牌:若你展示的是【杀】且该角色展示的不是【闪】,则你对其造成1点伤害;若你展示的不是【杀】且该角色展示的是【闪】,则你获得其一张牌',
|
||||||
|
|
||||||
refresh_standard:'界限突破·标',
|
refresh_standard:'界限突破·标',
|
||||||
refresh_feng:'界限突破·风',
|
refresh_feng:'界限突破·风',
|
||||||
|
|
|
@ -916,7 +916,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
order:13,
|
order:13,
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:function(player,target){
|
||||||
var hs=player.countCards('h',{name:['sha','juedou']});
|
if(target.getEquip('bagua')||target.getEquip('rewrite_bagua')) return 0;
|
||||||
|
var hs=player.countCards('h',function(card){
|
||||||
|
return ['sha','juedou'].contains(card.name)&&get.effect(target,card,player,player)!=0;
|
||||||
|
});
|
||||||
var ts=target.hp;
|
var ts=target.hp;
|
||||||
if(hs>=ts&&ts>1) return -1;
|
if(hs>=ts&&ts>1) return -1;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2994,6 +2997,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
"step 2"
|
"step 2"
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
|
result.targets.sortBySeat();
|
||||||
player.line(result.targets,'green');
|
player.line(result.targets,'green');
|
||||||
event.targets=result.targets;
|
event.targets=result.targets;
|
||||||
if(!event.targets.length) event.finish();
|
if(!event.targets.length) event.finish();
|
||||||
|
|
|
@ -23,7 +23,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
character:{
|
character:{
|
||||||
//wangshuang:['male','wei',5,['spzhuilie']],
|
wangshuang:['male','wei',5,['spzhuilie'],['unseen']],
|
||||||
sp_gongsunzan:['male','qun',4,['spyicong','sptuji']],
|
sp_gongsunzan:['male','qun',4,['spyicong','sptuji']],
|
||||||
sp_simazhao:['male','wei',3,['spzhaoxin','splanggu']],
|
sp_simazhao:['male','wei',3,['spzhaoxin','splanggu']],
|
||||||
sp_wangyuanji:['female','wei',3,['spfuluan','spshude']],
|
sp_wangyuanji:['female','wei',3,['spfuluan','spshude']],
|
||||||
|
@ -3361,9 +3361,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 0'
|
'step 0'
|
||||||
player.line(trigger.target,{color:[220, 90, 139]});
|
player.line(trigger.target,{color:[220, 90, 139]});
|
||||||
player.chooseControl(['basic','trick','equip']).set('ai',function(){
|
player.chooseControl(['basic','trick','equip']).set('ai',function(){
|
||||||
if(!trigger.target.countCards('h','sha')&&trigger.target.countCards('h','shan')) return 'trick';
|
var player=_status.event.target;
|
||||||
|
if(!player.countCards('h','sha')&&player.countCards('h','shan')) return 'trick';
|
||||||
return 'basic';
|
return 'basic';
|
||||||
}).set('prompt','请选择一种牌的类别');
|
}).set('prompt','请选择一种牌的类别').set('target',trigger.target);
|
||||||
'step 1'
|
'step 1'
|
||||||
trigger.target.chooseCard('he','交给'+get.translation(player)+'一张'+get.translation(result.control)+'牌,否则此【杀】不可被闪避。',function(card){
|
trigger.target.chooseCard('he','交给'+get.translation(player)+'一张'+get.translation(result.control)+'牌,否则此【杀】不可被闪避。',function(card){
|
||||||
return get.type(card,'trick')==result.control;
|
return get.type(card,'trick')==result.control;
|
||||||
|
@ -4631,7 +4632,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
if(_status.currentPhase!=player){
|
if(_status.currentPhase!=player){
|
||||||
var he=player.getCards('he');
|
var he=player.getCards('h');
|
||||||
var bool=false;
|
var bool=false;
|
||||||
player.getHistory('gain',function(evt){
|
player.getHistory('gain',function(evt){
|
||||||
if(!bool&&evt&&evt.cards){
|
if(!bool&&evt&&evt.cards){
|
||||||
|
@ -8132,14 +8133,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
game.delay(2);
|
trigger.targets.length=0;
|
||||||
trigger.cancel();
|
trigger.all_excluded=true;
|
||||||
}
|
}
|
||||||
else{
|
|
||||||
event.finish();
|
|
||||||
}
|
|
||||||
"step 2"
|
|
||||||
game.broadcastAll(ui.clear);
|
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
threaten:1.8,
|
threaten:1.8,
|
||||||
|
@ -8672,7 +8668,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
mod:{
|
mod:{
|
||||||
maxHandcard:function(player,num){
|
maxHandcard:function(player,num){
|
||||||
if(player.getEquip(3)||player.getEquip(4)) return;
|
if(player.getEquip(3)||player.getEquip(4)||player.getEquip(6)) return;
|
||||||
return num+1;
|
return num+1;
|
||||||
},
|
},
|
||||||
targetInRange:function(card,player,target,now){
|
targetInRange:function(card,player,target,now){
|
||||||
|
@ -11211,7 +11207,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
var suits=['club','spade','heart','diamond']
|
var suits=['club','spade','heart','diamond']
|
||||||
for(var i=0;i<trigger.cards2.length;i++){
|
for(var i=0;i<trigger.cards2.length;i++){
|
||||||
if(get.position(trigger.cards2[i],true)=='d'){
|
if(get.position(trigger.cards2[i],true)=='d'){
|
||||||
cards.push(trigger.cards2[i],true);
|
cards.push(trigger.cards2[i]);
|
||||||
suits.remove(get.suit(trigger.cards2[i]));
|
suits.remove(get.suit(trigger.cards2[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13825,6 +13821,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
thisTarget.draw();event.finish();
|
thisTarget.draw();event.finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
case 'equip5':{
|
||||||
|
event.finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
default:{
|
default:{
|
||||||
thisTarget.recover();
|
thisTarget.recover();
|
||||||
event.finish();
|
event.finish();
|
||||||
|
@ -15024,9 +15024,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
frequent:true,
|
frequent:true,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(!event.targets||!event.targets.length||
|
if(!event.targets||!event.targets.length||
|
||||||
event.getParent().triggeredTargets3.length>1||!event.isPhaseUsing()) return false;
|
event.getParent().triggeredTargets3.length>1||!event.isPhaseUsing(player)) return false;
|
||||||
var evt=player.getLastUsed(1);
|
var evt=player.getLastUsed(1);
|
||||||
if(!evt||!evt.targets||!evt.targets.length||!evt.isPhaseUsing()) return false;
|
if(!evt||!evt.targets||!evt.targets.length||!evt.isPhaseUsing(player)) return false;
|
||||||
for(var i=0;i<event.targets.length;i++){
|
for(var i=0;i<event.targets.length;i++){
|
||||||
if(evt.targets.contains(event.targets[i])) return true;
|
if(evt.targets.contains(event.targets[i])) return true;
|
||||||
}
|
}
|
||||||
|
@ -15059,7 +15059,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
aiOrder:function(player,card,num){
|
aiOrder:function(player,card,num){
|
||||||
if(player.isPhaseUsing()&&(!player.storage.counttrigger||!player.storage.counttrigger.xinfu_lianpian||!player.storage.counttrigger.xinfu_lianpian<3)){
|
if(player.isPhaseUsing()&&(!player.storage.counttrigger||!player.storage.counttrigger.xinfu_lianpian||!player.storage.counttrigger.xinfu_lianpian<3)){
|
||||||
var evt=player.getLastUsed();
|
var evt=player.getLastUsed();
|
||||||
if(evt&&evt.targets&&evt.targets.length&&evt.isPhaseUsing()&&game.hasPlayer(function(current){
|
if(evt&&evt.targets&&evt.targets.length&&evt.isPhaseUsing(player)&&game.hasPlayer(function(current){
|
||||||
return evt.targets.contains(current)&&player.canUse(card,current)&&get.effect(current,card,player,player)>0;
|
return evt.targets.contains(current)&&player.canUse(card,current)&&get.effect(current,card,player,player)>0;
|
||||||
})){
|
})){
|
||||||
return num+10;
|
return num+10;
|
||||||
|
@ -15071,7 +15071,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
effect:{
|
effect:{
|
||||||
player:function(card,player,target){
|
player:function(card,player,target){
|
||||||
var evt=player.getLastUsed();
|
var evt=player.getLastUsed();
|
||||||
if(evt&&evt.targets.contains(target)&&(!player.storage.counttrigger||!player.storage.counttrigger.xinfu_lianpian||!player.storage.counttrigger.xinfu_lianpian<3)&&player.isPhaseUsing()) return [1.5,0];
|
if(evt&&evt.targets.contains(target)&&(!player.storage.counttrigger||!player.storage.counttrigger.xinfu_lianpian||!player.storage.counttrigger.xinfu_lianpian<3)&&player.isPhaseUsing(player)) return [1.5,0];
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -15407,16 +15407,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
"xinfu_jianjie":{
|
"xinfu_jianjie":{
|
||||||
derivation:["jianjie_faq"],
|
derivation:["jianjie_faq"],
|
||||||
group:["xinfu_jianjie1","xinfu_jianjie2"],
|
group:["xinfu_jianjie1","xinfu_jianjie2"],
|
||||||
subSkill:{
|
|
||||||
phase:{
|
|
||||||
charlotte:true,
|
|
||||||
sub:true,
|
|
||||||
},
|
|
||||||
off:{
|
|
||||||
charlotte:true,
|
|
||||||
sub:true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
audio:3,
|
audio:3,
|
||||||
trigger:{
|
trigger:{
|
||||||
player:"phaseZhunbeiBegin",
|
player:"phaseZhunbeiBegin",
|
||||||
|
@ -15424,15 +15414,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
forced:true,
|
forced:true,
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
if(player.hasSkill('xinfu_jianjie_off')) return false;
|
if(player.phaseNumber>1) return false;
|
||||||
return !game.hasPlayer(function(current){
|
return !game.hasPlayer(function(current){
|
||||||
return current.hasSkill('smh_huoji')||current.hasSkill('smh_lianhuan');
|
return current.hasSkill('smh_huoji')||current.hasSkill('smh_lianhuan');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
"step 0"
|
"step 0"
|
||||||
player.addTempSkill('xinfu_jianjie_phase');
|
|
||||||
player.addSkill('xinfu_jianjie_off');
|
|
||||||
player.chooseTarget('请将「龙印」交给一名角色',true,function(card,player,target){
|
player.chooseTarget('请将「龙印」交给一名角色',true,function(card,player,target){
|
||||||
return target!=player;
|
return target!=player;
|
||||||
}).set('ai',function(target){
|
}).set('ai',function(target){
|
||||||
|
@ -15473,10 +15461,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
enable:"phaseUse",
|
enable:"phaseUse",
|
||||||
usable:1,
|
usable:1,
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
|
if(player.phaseNumber==1) return false;
|
||||||
if(!game.hasPlayer(function(current){
|
if(!game.hasPlayer(function(current){
|
||||||
return current.hasSkill('smh_huoji')||current.hasSkill('smh_lianhuan');
|
return current.hasSkill('smh_huoji')||current.hasSkill('smh_lianhuan');
|
||||||
})) return false;
|
})) return false;
|
||||||
return !player.hasSkill('xinfu_jianjie_phase');
|
return true;
|
||||||
},
|
},
|
||||||
filterTarget:function (card,player,target){
|
filterTarget:function (card,player,target){
|
||||||
if(ui.selected.targets.length==1){
|
if(ui.selected.targets.length==1){
|
||||||
|
@ -16986,7 +16975,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
jici_info:'当你因发动〖鼓舌〗而扣置的拼点牌亮出后,若点数小于X,你可令点数+X;若点数等于X,你可令你本回合发动〖鼓舌〗的次数上限+1。(X为你“饶舌”标记的数量)',
|
jici_info:'当你因发动〖鼓舌〗而扣置的拼点牌亮出后,若点数小于X,你可令点数+X;若点数等于X,你可令你本回合发动〖鼓舌〗的次数上限+1。(X为你“饶舌”标记的数量)',
|
||||||
shefu:'设伏',
|
shefu:'设伏',
|
||||||
shefu_bg:'伏',
|
shefu_bg:'伏',
|
||||||
shefu_info:'结束阶段开始时,你可以将一张手牌移出游戏,称为「伏兵」。然后为「伏兵」记录一个基本牌或锦囊牌的名称(须与其他「伏兵」记录的名称均不同)。你的回合外,当有其他角色使用与你记录的「伏兵」牌名相同的牌时,你可以令此牌无效,然后移去该「伏兵」',
|
shefu_info:'结束阶段开始时,你可以将一张手牌移出游戏,称为「伏兵」。然后为「伏兵」记录一个基本牌或锦囊牌的名称(须与其他「伏兵」记录的名称均不同)。你的回合外,当有其他角色使用与你记录的「伏兵」牌名相同的牌时,你可以取消此牌的所有目标,然后移去该「伏兵」',
|
||||||
benyu:'贲育',
|
benyu:'贲育',
|
||||||
benyu2:'贲育',
|
benyu2:'贲育',
|
||||||
benyu_info:'当你受到伤害后,若你的手牌数不大于伤害来源的手牌数,你可以将手牌摸至与伤害来源手牌数相同(至多摸至5张);否则你可以弃置大于伤害来源手牌数的手牌,然后对其造成1点伤害。',
|
benyu_info:'当你受到伤害后,若你的手牌数不大于伤害来源的手牌数,你可以将手牌摸至与伤害来源手牌数相同(至多摸至5张);否则你可以弃置大于伤害来源手牌数的手牌,然后对其造成1点伤害。',
|
||||||
|
@ -17291,7 +17280,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
shushen_info:'当你回复1点体力时,你可以令一名其他角色选择回复1点体力或摸两张牌。',
|
shushen_info:'当你回复1点体力时,你可以令一名其他角色选择回复1点体力或摸两张牌。',
|
||||||
wuji_info:'觉醒技,结束阶段开始时,若你于此回合内造成过3点或更多伤害,你加1点体力上限并回复1点体力,失去〖虎啸〗,然后从场上、牌堆或弃牌堆中获得【青龙偃月刀】',
|
wuji_info:'觉醒技,结束阶段开始时,若你于此回合内造成过3点或更多伤害,你加1点体力上限并回复1点体力,失去〖虎啸〗,然后从场上、牌堆或弃牌堆中获得【青龙偃月刀】',
|
||||||
xueji_info:'出牌阶段限一次,你可以弃置一张红色牌,然后选择至多X名角色,横置这些角色并对其中一名角色造成1点火焰伤害。(X为你已损失的体力值且至少为1)',
|
xueji_info:'出牌阶段限一次,你可以弃置一张红色牌,然后选择至多X名角色,横置这些角色并对其中一名角色造成1点火焰伤害。(X为你已损失的体力值且至少为1)',
|
||||||
huxiao_info:'锁定技,当你造成火属性伤害时,该角色摸一张牌。然后,你于此回合内对其使用牌没有次数和距离限制。',
|
huxiao_info:'锁定技,当你造成火属性伤害时,该角色摸一张牌。然后,你于此回合内对其使用牌没有次数限制。',
|
||||||
aocai_info:'当你于回合外需要使用或打出一张基本牌时,你可以观看牌堆顶的两张牌。若你观看的牌中有此牌,你可以使用打出之。',
|
aocai_info:'当你于回合外需要使用或打出一张基本牌时,你可以观看牌堆顶的两张牌。若你观看的牌中有此牌,你可以使用打出之。',
|
||||||
hongyuan_info:'摸牌阶段,你可以少摸一张牌并指定至多两名其他角色。若如此做,这些角色各摸一张牌。',
|
hongyuan_info:'摸牌阶段,你可以少摸一张牌并指定至多两名其他角色。若如此做,这些角色各摸一张牌。',
|
||||||
hongyuan_info_combat:'摸牌阶段,你可以少摸一张牌。若如此做,其他友方角色各摸一张牌。',
|
hongyuan_info_combat:'摸牌阶段,你可以少摸一张牌。若如此做,其他友方角色各摸一张牌。',
|
||||||
|
|
|
@ -1759,7 +1759,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
qixi:{
|
qixi:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['re_ganning'],
|
audioname:['re_ganning','re_heqi'],
|
||||||
enable:'chooseToUse',
|
enable:'chooseToUse',
|
||||||
filterCard:function(card){
|
filterCard:function(card){
|
||||||
return get.color(card)=='black';
|
return get.color(card)=='black';
|
||||||
|
|
|
@ -8311,9 +8311,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
player.syncStorage('quanji');
|
player.syncStorage('quanji');
|
||||||
game.delayx();
|
game.delayx();
|
||||||
"step 2"
|
"step 1"
|
||||||
target.draw(2);
|
target.draw(2);
|
||||||
"step 3"
|
"step 2"
|
||||||
if(target.countCards('h')>player.countCards('h')){
|
if(target.countCards('h')>player.countCards('h')){
|
||||||
target.damage();
|
target.damage();
|
||||||
}
|
}
|
||||||
|
@ -8599,10 +8599,23 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
target:function(card,player,target){
|
target:function(card,player,target){
|
||||||
if(card.name!='sha') return;
|
if(card.name!='sha') return;
|
||||||
var players=game.filterPlayer();
|
var players=game.filterPlayer();
|
||||||
|
if(get.attitude(player,target)<=0){
|
||||||
for(var i=0;i<players.length;i++){
|
for(var i=0;i<players.length;i++){
|
||||||
var target2=players[i];
|
var target2=players[i];
|
||||||
if(player!=target2&&target!=target2&&player.canUse(card,target2,false)&&
|
if(player!=target2&&target!=target2&&player.canUse(card,target2,false)&&
|
||||||
get.effect(target2,{name:'shacopy',nature:card.nature,suit:card.suit},player,target)<0){
|
get.effect(target2,{name:'shacopy',nature:card.nature,suit:card.suit},player,target)>0&&
|
||||||
|
get.effect(target2,{name:'shacopy',nature:card.nature,suit:card.suit},player,player)<0){
|
||||||
|
if(target.hp==target.maxHp) return 0.3;
|
||||||
|
return 0.6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
for(var i=0;i<players.length;i++){
|
||||||
|
var target2=players[i];
|
||||||
|
if(player!=target2&&target!=target2&&player.canUse(card,target2,false)&&
|
||||||
|
get.effect(target2,{name:'shacopy',nature:card.nature,suit:card.suit},player,player)>0){
|
||||||
|
if(player.canUse(card,target2)) return;
|
||||||
if(target.hp==target.maxHp) return [0,1];
|
if(target.hp==target.maxHp) return [0,1];
|
||||||
return [0,0];
|
return [0,0];
|
||||||
}
|
}
|
||||||
|
@ -8610,6 +8623,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
gongji:{
|
gongji:{
|
||||||
enable:'phaseUse',
|
enable:'phaseUse',
|
||||||
|
@ -9826,7 +9840,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
xuanfeng:{
|
xuanfeng:{
|
||||||
audio:2,
|
audio:2,
|
||||||
audioname:['boss_lvbu3'],
|
audioname:['boss_lvbu3','re_heqi'],
|
||||||
trigger:{player:['loseAfter','phaseDiscardEnd']},
|
trigger:{player:['loseAfter','phaseDiscardEnd']},
|
||||||
direct:true,
|
direct:true,
|
||||||
filter:function(event,player){
|
filter:function(event,player){
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
window.noname_asset_list=[
|
window.noname_asset_list=[
|
||||||
'My Song Special Ver',
|
'v1.9.98.6',
|
||||||
'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',
|
||||||
|
@ -551,6 +551,8 @@ window.noname_asset_list=[
|
||||||
'audio/die/jiakui.mp3',
|
'audio/die/jiakui.mp3',
|
||||||
'audio/die/ol_sp_zhugeliang.mp3',
|
'audio/die/ol_sp_zhugeliang.mp3',
|
||||||
'audio/die/ol_xiahouyuan.mp3',
|
'audio/die/ol_xiahouyuan.mp3',
|
||||||
|
'audio/die/chendeng.mp3',
|
||||||
|
'audio/die/yangbiao.mp3',
|
||||||
|
|
||||||
'audio/skill/anguo1.mp3',
|
'audio/skill/anguo1.mp3',
|
||||||
'audio/skill/anguo2.mp3',
|
'audio/skill/anguo2.mp3',
|
||||||
|
@ -2387,6 +2389,29 @@ window.noname_asset_list=[
|
||||||
'audio/skill/jianshu2.mp3',
|
'audio/skill/jianshu2.mp3',
|
||||||
'audio/skill/yongdi1.mp3',
|
'audio/skill/yongdi1.mp3',
|
||||||
'audio/skill/yongdi2.mp3',
|
'audio/skill/yongdi2.mp3',
|
||||||
|
'audio/skill/boss_bufo.mp3',
|
||||||
|
'audio/skill/boss_dayuan.mp3',
|
||||||
|
'audio/skill/boss_diting.mp3',
|
||||||
|
'audio/skill/boss_shiyou.mp3',
|
||||||
|
'audio/skill/boss_wanghun.mp3',
|
||||||
|
'audio/skill/boss_wangshi.mp3',
|
||||||
|
'audio/skill/boss_wuliang.mp3',
|
||||||
|
'audio/skill/fengji1.mp3',
|
||||||
|
'audio/skill/fengji2.mp3',
|
||||||
|
'audio/skill/qixi_re_heqi1.mp3',
|
||||||
|
'audio/skill/qixi_re_heqi2.mp3',
|
||||||
|
'audio/skill/rangjie1.mp3',
|
||||||
|
'audio/skill/rangjie2.mp3',
|
||||||
|
'audio/skill/reyingzi_re_heqi1.mp3',
|
||||||
|
'audio/skill/reyingzi_re_heqi2.mp3',
|
||||||
|
'audio/skill/xuanfeng_re_heqi1.mp3',
|
||||||
|
'audio/skill/xuanfeng_re_heqi2.mp3',
|
||||||
|
'audio/skill/yizheng1.mp3',
|
||||||
|
'audio/skill/yizheng2.mp3',
|
||||||
|
'audio/skill/zhaohan1.mp3',
|
||||||
|
'audio/skill/zhaohan2.mp3',
|
||||||
|
'audio/skill/zhouxuan1.mp3',
|
||||||
|
'audio/skill/zhouxuan2.mp3',
|
||||||
|
|
||||||
'font/huangcao.ttf',
|
'font/huangcao.ttf',
|
||||||
'font/shousha.ttf',
|
'font/shousha.ttf',
|
||||||
|
@ -2890,6 +2915,10 @@ window.noname_asset_list=[
|
||||||
'image/character/key_iwasawa.jpg',
|
'image/character/key_iwasawa.jpg',
|
||||||
'image/character/key_kengo.jpg',
|
'image/character/key_kengo.jpg',
|
||||||
'image/character/ol_sp_zhugeliang.jpg',
|
'image/character/ol_sp_zhugeliang.jpg',
|
||||||
|
'image/character/chendeng.jpg',
|
||||||
|
'image/character/re_heqi.jpg',
|
||||||
|
'image/character/re_zhangyi.jpg',
|
||||||
|
'image/character/yangbiao.jpg',
|
||||||
|
|
||||||
'image/character/baiwuchang.jpg',
|
'image/character/baiwuchang.jpg',
|
||||||
'image/character/baosanniang.jpg',
|
'image/character/baosanniang.jpg',
|
||||||
|
@ -3829,6 +3858,7 @@ window.noname_asset_list=[
|
||||||
'image/mode/boss/card/yihuajiemu.png',
|
'image/mode/boss/card/yihuajiemu.png',
|
||||||
'image/mode/boss/card/qicaishenlu.png',
|
'image/mode/boss/card/qicaishenlu.png',
|
||||||
'image/mode/boss/card/longfenghemingjian.png',
|
'image/mode/boss/card/longfenghemingjian.png',
|
||||||
|
'image/mode/boss/card/boss_mengpohuihun.png',
|
||||||
|
|
||||||
'image/mode/boss/character/boss_bianchengwang.jpg',
|
'image/mode/boss/character/boss_bianchengwang.jpg',
|
||||||
'image/mode/boss/character/boss_chujiangwang.jpg',
|
'image/mode/boss/character/boss_chujiangwang.jpg',
|
||||||
|
@ -3840,6 +3870,8 @@ window.noname_asset_list=[
|
||||||
'image/mode/boss/character/boss_wuguanwang.jpg',
|
'image/mode/boss/character/boss_wuguanwang.jpg',
|
||||||
'image/mode/boss/character/boss_yanluowang.jpg',
|
'image/mode/boss/character/boss_yanluowang.jpg',
|
||||||
'image/mode/boss/character/boss_zhuanlunwang.jpg',
|
'image/mode/boss/character/boss_zhuanlunwang.jpg',
|
||||||
|
'image/mode/boss/character/boss_dizangwang.jpg',
|
||||||
|
'image/mode/boss/character/boss_mengpo.jpg',
|
||||||
|
|
||||||
'image/mode/boss/character/boss_xiangliu.jpg',
|
'image/mode/boss/character/boss_xiangliu.jpg',
|
||||||
'image/mode/boss/character/boss_zhuyan.jpg',
|
'image/mode/boss/character/boss_zhuyan.jpg',
|
||||||
|
|
73
game/game.js
|
@ -1490,6 +1490,8 @@
|
||||||
glass:'勾玉',
|
glass:'勾玉',
|
||||||
round:'国战',
|
round:'国战',
|
||||||
ol:'手杀',
|
ol:'手杀',
|
||||||
|
xinglass:'双鱼',
|
||||||
|
xinround:'OL',
|
||||||
custom:'自定',
|
custom:'自定',
|
||||||
},
|
},
|
||||||
visualBar:function(node,item,create,switcher){
|
visualBar:function(node,item,create,switcher){
|
||||||
|
@ -10226,6 +10228,7 @@
|
||||||
_status.currentPhase=player;
|
_status.currentPhase=player;
|
||||||
_status.discarded=[];
|
_status.discarded=[];
|
||||||
game.phaseNumber++;
|
game.phaseNumber++;
|
||||||
|
player.phaseNumber++;
|
||||||
game.syncState();
|
game.syncState();
|
||||||
game.addVideo('phaseChange',player);
|
game.addVideo('phaseChange',player);
|
||||||
if(game.phaseNumber==1&&lib.configOL.observe){
|
if(game.phaseNumber==1&&lib.configOL.observe){
|
||||||
|
@ -13353,7 +13356,11 @@
|
||||||
var sgnatt=get.sgn(att);
|
var sgnatt=get.sgn(att);
|
||||||
if(ui.selected.targets.length==0){
|
if(ui.selected.targets.length==0){
|
||||||
if(att>0){
|
if(att>0){
|
||||||
if(!_status.event.nojudge&&target.countCards('j')) return 14;
|
if(!_status.event.nojudge&&target.countCards('j',function(card){
|
||||||
|
return game.hasPlayer(function(current){
|
||||||
|
return !current.hasJudge(card);
|
||||||
|
})
|
||||||
|
})) return 14;
|
||||||
if(target.countCards('e',function(card){
|
if(target.countCards('e',function(card){
|
||||||
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
return get.value(card,target)<0&&game.hasPlayer(function(current){
|
||||||
return current!=target&&get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))
|
return current!=target&&get.attitude(player,current)<0&¤t.isEmpty(get.subtype(card))
|
||||||
|
@ -13376,13 +13383,18 @@
|
||||||
}
|
}
|
||||||
var es=ui.selected.targets[0].getCards('e');
|
var es=ui.selected.targets[0].getCards('e');
|
||||||
var i;
|
var i;
|
||||||
var att2=get.attitude(player,ui.selected.targets[0]);
|
var att2=get.sgn(get.attitude(player,ui.selected.targets[0]));
|
||||||
for(i=0;i<es.length;i++){
|
for(i=0;i<es.length;i++){
|
||||||
if(sgnatt!=0&&att2!=0&get.sgn(get.value(es[i]))==sgnatt&&target.isEmpty(get.subtype(es[i]))){
|
if(sgnatt!=0&&att2!=0&&
|
||||||
|
get.sgn(get.value(es[i],ui.selected.targets[0]))==-att2&&
|
||||||
|
get.sgn(get.value(es[i],target))==sgnatt&&
|
||||||
|
target.isEmpty(get.subtype(es[i]))){
|
||||||
return Math.abs(att);
|
return Math.abs(att);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(i==es.length){
|
if(i==es.length&&(_status.event.nojudge||!ui.selected.targets[0].countCards('j',function(card){
|
||||||
|
return !target.hasJudge(card);
|
||||||
|
}))){
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return -att*get.attitude(player,ui.selected.targets[0]);
|
return -att*get.attitude(player,ui.selected.targets[0]);
|
||||||
|
@ -13409,7 +13421,9 @@
|
||||||
var targets0=_status.event.targets0;
|
var targets0=_status.event.targets0;
|
||||||
var targets1=_status.event.targets1;
|
var targets1=_status.event.targets1;
|
||||||
if(get.attitude(player,targets0)>get.attitude(player,targets1)){
|
if(get.attitude(player,targets0)>get.attitude(player,targets1)){
|
||||||
return (get.position(button.link)=='j'||get.value(button.link)<0)?10:0;
|
if(get.position(button.link)=='j') return 12;
|
||||||
|
if(get.value(button.link,targets0)<0) return 10;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(get.position(button.link)=='j') return -10;
|
if(get.position(button.link)=='j') return -10;
|
||||||
|
@ -13677,6 +13691,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"step 4"
|
"step 4"
|
||||||
|
if(event.all_excluded) return;
|
||||||
if(!event.triggeredTargets1) event.triggeredTargets1=[];
|
if(!event.triggeredTargets1) event.triggeredTargets1=[];
|
||||||
var target=event.getTriggerTarget(targets,event.triggeredTargets1);
|
var target=event.getTriggerTarget(targets,event.triggeredTargets1);
|
||||||
if(target){
|
if(target){
|
||||||
|
@ -13696,6 +13711,7 @@
|
||||||
event.redo();
|
event.redo();
|
||||||
}
|
}
|
||||||
"step 5"
|
"step 5"
|
||||||
|
if(event.all_excluded) return;
|
||||||
if(!event.triggeredTargets2) event.triggeredTargets2=[];
|
if(!event.triggeredTargets2) event.triggeredTargets2=[];
|
||||||
var target=event.getTriggerTarget(targets,event.triggeredTargets2);
|
var target=event.getTriggerTarget(targets,event.triggeredTargets2);
|
||||||
if(target){
|
if(target){
|
||||||
|
@ -13715,6 +13731,7 @@
|
||||||
event.redo();
|
event.redo();
|
||||||
}
|
}
|
||||||
"step 6"
|
"step 6"
|
||||||
|
if(event.all_excluded) return;
|
||||||
if(!event.triggeredTargets3) event.triggeredTargets3=[];
|
if(!event.triggeredTargets3) event.triggeredTargets3=[];
|
||||||
var target=event.getTriggerTarget(targets,event.triggeredTargets3);
|
var target=event.getTriggerTarget(targets,event.triggeredTargets3);
|
||||||
if(target){
|
if(target){
|
||||||
|
@ -13734,6 +13751,7 @@
|
||||||
event.redo();
|
event.redo();
|
||||||
}
|
}
|
||||||
"step 7"
|
"step 7"
|
||||||
|
if(event.all_excluded) return;
|
||||||
if(!event.triggeredTargets4) event.triggeredTargets4=[];
|
if(!event.triggeredTargets4) event.triggeredTargets4=[];
|
||||||
var target=event.getTriggerTarget(targets,event.triggeredTargets4);
|
var target=event.getTriggerTarget(targets,event.triggeredTargets4);
|
||||||
if(target){
|
if(target){
|
||||||
|
@ -13775,6 +13793,7 @@
|
||||||
if(event.forceDie) next.forceDie=true;
|
if(event.forceDie) next.forceDie=true;
|
||||||
}
|
}
|
||||||
"step 9"
|
"step 9"
|
||||||
|
if(event.all_excluded) return;
|
||||||
if(num==0&&targets.length>1){
|
if(num==0&&targets.length>1){
|
||||||
event.sortTarget(true);
|
event.sortTarget(true);
|
||||||
}
|
}
|
||||||
|
@ -13838,6 +13857,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"step 10"
|
"step 10"
|
||||||
|
if(event.all_excluded) return;
|
||||||
if(!get.info(event.card,false).multitarget&&num<targets.length-1&&!event.cancelled){
|
if(!get.info(event.card,false).multitarget&&num<targets.length-1&&!event.cancelled){
|
||||||
event.num++;
|
event.num++;
|
||||||
event.goto(9);
|
event.goto(9);
|
||||||
|
@ -16068,6 +16088,7 @@
|
||||||
this.hiddenSkills=[];
|
this.hiddenSkills=[];
|
||||||
this.awakenedSkills=[];
|
this.awakenedSkills=[];
|
||||||
this.forbiddenSkills={};
|
this.forbiddenSkills={};
|
||||||
|
this.phaseNumber=0;
|
||||||
this.stat=[{card:{},skill:{}}];
|
this.stat=[{card:{},skill:{}}];
|
||||||
this.tempSkills={};
|
this.tempSkills={};
|
||||||
this.storage={};
|
this.storage={};
|
||||||
|
@ -16261,6 +16282,7 @@
|
||||||
dead:this.isDead(),
|
dead:this.isDead(),
|
||||||
linked:this.isLinked(),
|
linked:this.isLinked(),
|
||||||
turnedover:this.isTurnedOver(),
|
turnedover:this.isTurnedOver(),
|
||||||
|
phaseNumber:this.phaseNumber,
|
||||||
}
|
}
|
||||||
for(var i=0;i<state.judges.length;i++){
|
for(var i=0;i<state.judges.length;i++){
|
||||||
state.views[i]=state.judges[i].viewAs;
|
state.views[i]=state.judges[i].viewAs;
|
||||||
|
@ -20958,7 +20980,7 @@
|
||||||
}
|
}
|
||||||
var range=get.subtype(name);
|
var range=get.subtype(name);
|
||||||
if(this.isDisabled(range)) return false;
|
if(this.isDisabled(range)) return false;
|
||||||
if(['equip3','equip4'].contains(range)&&!this.isDisabled(6)) return false;
|
if(['equip3','equip4'].contains(range)&&(!this.isDisabled(6)||this.getEquip(6))) return false;
|
||||||
if(!replace&&!this.isEmpty(range)) return false;
|
if(!replace&&!this.isEmpty(range)) return false;
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
@ -23526,7 +23548,7 @@
|
||||||
if(item.indexOf('###')==0){
|
if(item.indexOf('###')==0){
|
||||||
var items=item.slice(3).split('###');
|
var items=item.slice(3).split('###');
|
||||||
this.add(items[0],noclick,zoom);
|
this.add(items[0],noclick,zoom);
|
||||||
this.addText(items[1],noclick,zoom);
|
this.addText(items[1],items[1].length<=20,zoom);
|
||||||
}
|
}
|
||||||
else if(noclick){
|
else if(noclick){
|
||||||
var strstr=item;
|
var strstr=item;
|
||||||
|
@ -25788,6 +25810,7 @@
|
||||||
player.hujia=info.hujia;
|
player.hujia=info.hujia;
|
||||||
player.sex=info.sex;
|
player.sex=info.sex;
|
||||||
player.side=info.side;
|
player.side=info.side;
|
||||||
|
player.phaseNumber=info.phaseNumber,
|
||||||
player.setNickname();
|
player.setNickname();
|
||||||
if(info.dead){
|
if(info.dead){
|
||||||
player.classList.add('dead');
|
player.classList.add('dead');
|
||||||
|
@ -28670,7 +28693,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
prompt:function(){
|
prompt:function(){
|
||||||
var str,forced,callback,noinput=false;
|
var str,forced,callback,noinput=false,str2='';
|
||||||
for(var i=0;i<arguments.length;i++){
|
for(var i=0;i<arguments.length;i++){
|
||||||
if(arguments[i]=='alert'){
|
if(arguments[i]=='alert'){
|
||||||
forced=true;
|
forced=true;
|
||||||
|
@ -28678,7 +28701,12 @@
|
||||||
noinput=true;
|
noinput=true;
|
||||||
}
|
}
|
||||||
else if(typeof arguments[i]=='string'){
|
else if(typeof arguments[i]=='string'){
|
||||||
str=arguments[i];
|
if(arguments[i].indexOf('###')==0){
|
||||||
|
var list=arguments[i].slice(3).split('###');
|
||||||
|
str=list[0];
|
||||||
|
str2=list[1];
|
||||||
|
}
|
||||||
|
else str=arguments[i];
|
||||||
}
|
}
|
||||||
else if(typeof arguments[i]=='boolean'){
|
else if(typeof arguments[i]=='boolean'){
|
||||||
forced=arguments[i];
|
forced=arguments[i];
|
||||||
|
@ -28690,14 +28718,14 @@
|
||||||
if(!callback){
|
if(!callback){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try{
|
//try{
|
||||||
if(noinput){
|
// if(noinput){
|
||||||
throw('e');
|
// throw('e');
|
||||||
}
|
// }
|
||||||
var result=prompt(str);
|
// var result=prompt(str);
|
||||||
callback(result);
|
// callback(result);
|
||||||
}
|
//}
|
||||||
catch(e){
|
//catch(e){
|
||||||
var promptContainer=ui.create.div('.popup-container',ui.window,function(){
|
var promptContainer=ui.create.div('.popup-container',ui.window,function(){
|
||||||
if(this.clicked){
|
if(this.clicked){
|
||||||
this.clicked=false;
|
this.clicked=false;
|
||||||
|
@ -28712,6 +28740,7 @@
|
||||||
});
|
});
|
||||||
var strnode=ui.create.div('',str||'',dialog);
|
var strnode=ui.create.div('',str||'',dialog);
|
||||||
var input=ui.create.node('input',ui.create.div(dialog));
|
var input=ui.create.node('input',ui.create.div(dialog));
|
||||||
|
input.value=str2;
|
||||||
if(noinput){
|
if(noinput){
|
||||||
input.style.display='none';
|
input.style.display='none';
|
||||||
}
|
}
|
||||||
|
@ -28757,7 +28786,7 @@
|
||||||
}
|
}
|
||||||
input.focus();
|
input.focus();
|
||||||
}
|
}
|
||||||
}
|
//}
|
||||||
},
|
},
|
||||||
alert:function(str){
|
alert:function(str){
|
||||||
game.prompt(str,'alert');
|
game.prompt(str,'alert');
|
||||||
|
@ -34732,8 +34761,10 @@
|
||||||
var nodexx=ui.background_music_setting;
|
var nodexx=ui.background_music_setting;
|
||||||
var nodeyy=nodexx._link.menu;
|
var nodeyy=nodexx._link.menu;
|
||||||
var nodezz=nodexx._link.config;
|
var nodezz=nodexx._link.config;
|
||||||
var musicname=lib.device=='android'?prompt('请给这首音乐起个名字'):false;
|
var musicname=link.slice(link.indexOf('_')+1);
|
||||||
lib.config.customBackgroundMusic[link]=musicname?musicname:link.slice(link.indexOf('_')+1);
|
game.prompt('###请输入音乐的名称###'+musicname,true,function(str){
|
||||||
|
if(str) musicname=str;
|
||||||
|
lib.config.customBackgroundMusic[link]=musicname;
|
||||||
lib.config.background_music=link;
|
lib.config.background_music=link;
|
||||||
lib.config.all.background_music.add(link);
|
lib.config.all.background_music.add(link);
|
||||||
game.saveConfig('background_music',link);
|
game.saveConfig('background_music',link);
|
||||||
|
@ -34744,6 +34775,7 @@
|
||||||
nodezz.updatex.call(nodexx,[]);
|
nodezz.updatex.call(nodexx,[]);
|
||||||
_status.music_importing=false;
|
_status.music_importing=false;
|
||||||
if(!_status._aozhan) game.playBackgroundMusic();
|
if(!_status._aozhan) game.playBackgroundMusic();
|
||||||
|
});
|
||||||
};
|
};
|
||||||
if(game.writeFile){
|
if(game.writeFile){
|
||||||
game.writeFile(fileToLoad,'audio/background',link+'.mp3',callback);
|
game.writeFile(fileToLoad,'audio/background',link+'.mp3',callback);
|
||||||
|
@ -42493,6 +42525,7 @@
|
||||||
}
|
}
|
||||||
node.node.action=ui.create.div('.action',node.node.avatar);
|
node.node.action=ui.create.div('.action',node.node.avatar);
|
||||||
|
|
||||||
|
node.phaseNumber=0;
|
||||||
node.skipList=[];
|
node.skipList=[];
|
||||||
node.skills=[];
|
node.skills=[];
|
||||||
node.initedSkills=[];
|
node.initedSkills=[];
|
||||||
|
|
|
@ -128,6 +128,8 @@ window.noname_source_list=[
|
||||||
'theme/style/hp/official.css',
|
'theme/style/hp/official.css',
|
||||||
'theme/style/hp/ol.css',
|
'theme/style/hp/ol.css',
|
||||||
'theme/style/hp/round.css',
|
'theme/style/hp/round.css',
|
||||||
|
'theme/style/hp/xinglass.css',
|
||||||
|
'theme/style/hp/xinround.css',
|
||||||
'theme/style/hp/image/emotion1.png',
|
'theme/style/hp/image/emotion1.png',
|
||||||
'theme/style/hp/image/emotion2.png',
|
'theme/style/hp/image/emotion2.png',
|
||||||
'theme/style/hp/image/emotion3.png',
|
'theme/style/hp/image/emotion3.png',
|
||||||
|
@ -148,6 +150,14 @@ window.noname_source_list=[
|
||||||
'theme/style/hp/image/round2.png',
|
'theme/style/hp/image/round2.png',
|
||||||
'theme/style/hp/image/round3.png',
|
'theme/style/hp/image/round3.png',
|
||||||
'theme/style/hp/image/round4.png',
|
'theme/style/hp/image/round4.png',
|
||||||
|
'theme/style/hp/image/xinglass1.png',
|
||||||
|
'theme/style/hp/image/xinglass2.png',
|
||||||
|
'theme/style/hp/image/xinglass3.png',
|
||||||
|
'theme/style/hp/image/xinglass4.png',
|
||||||
|
'theme/style/hp/image/xinround1.png',
|
||||||
|
'theme/style/hp/image/xinround2.png',
|
||||||
|
'theme/style/hp/image/xinround3.png',
|
||||||
|
'theme/style/hp/image/xinround4.png',
|
||||||
'node_modules/ws/index.js',
|
'node_modules/ws/index.js',
|
||||||
'node_modules/ws/package.json',
|
'node_modules/ws/package.json',
|
||||||
'node_modules/ws/lib/BufferPool.js',
|
'node_modules/ws/lib/BufferPool.js',
|
||||||
|
|
|
@ -1,14 +1,16 @@
|
||||||
window.noname_update={
|
window.noname_update={
|
||||||
version:'1.9.98.5.1',
|
version:'1.9.98.6',
|
||||||
update:'1.9.98.5',
|
update:'1.9.98.5.1',
|
||||||
changeLog:[
|
changeLog:[
|
||||||
'The final...「My Song」...',
|
'杨彪,陈登,界张嶷',
|
||||||
|
'地藏王,孟婆',
|
||||||
|
'bug修复',
|
||||||
],
|
],
|
||||||
files:[
|
files:[
|
||||||
//'card/extra.js',
|
'card/extra.js',
|
||||||
//'card/huanlekapai.js',
|
//'card/huanlekapai.js',
|
||||||
//'card/sp.js',
|
//'card/sp.js',
|
||||||
//'card/standard.js',
|
'card/standard.js',
|
||||||
//'card/swd.js',
|
//'card/swd.js',
|
||||||
//'card/mtg.js',
|
//'card/mtg.js',
|
||||||
//'card/guozhan.js',
|
//'card/guozhan.js',
|
||||||
|
@ -22,7 +24,7 @@ window.noname_update={
|
||||||
//'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/refresh.js',
|
'character/refresh.js',
|
||||||
|
@ -38,8 +40,8 @@ window.noname_update={
|
||||||
//'extension/boss/extension.js',
|
//'extension/boss/extension.js',
|
||||||
//'layout/default/layout.css',
|
//'layout/default/layout.css',
|
||||||
//'layout/nova/layout.css',
|
//'layout/nova/layout.css',
|
||||||
'mode/identity.js',
|
//'mode/identity.js',
|
||||||
//'mode/doudizhu.js',
|
'mode/doudizhu.js',
|
||||||
'mode/guozhan.js',
|
'mode/guozhan.js',
|
||||||
//'mode/chess.js',
|
//'mode/chess.js',
|
||||||
//'mode/tafang.js',
|
//'mode/tafang.js',
|
||||||
|
@ -47,12 +49,22 @@ window.noname_update={
|
||||||
//'mode/stone.js',
|
//'mode/stone.js',
|
||||||
//'mode/brawl.js',
|
//'mode/brawl.js',
|
||||||
//'mode/versus.js',
|
//'mode/versus.js',
|
||||||
//'mode/boss.js',
|
'mode/boss.js',
|
||||||
'game/game.js',
|
'game/game.js',
|
||||||
//'game/NoSleep.js',
|
//'game/NoSleep.js',
|
||||||
//'game/config.js',
|
//'game/config.js',
|
||||||
//'game/package.js',
|
//'game/package.js',
|
||||||
//'game/asset.js',
|
//'game/asset.js',
|
||||||
//'game/source.js',
|
//'game/source.js',
|
||||||
|
'theme/style/hp/xinglass.css',
|
||||||
|
'theme/style/hp/xinround.css',
|
||||||
|
'theme/style/hp/image/xinglass1.png',
|
||||||
|
'theme/style/hp/image/xinglass2.png',
|
||||||
|
'theme/style/hp/image/xinglass3.png',
|
||||||
|
'theme/style/hp/image/xinglass4.png',
|
||||||
|
'theme/style/hp/image/xinround1.png',
|
||||||
|
'theme/style/hp/image/xinround2.png',
|
||||||
|
'theme/style/hp/image/xinround3.png',
|
||||||
|
'theme/style/hp/image/xinround4.png',
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
After Width: | Height: | Size: 198 KiB |
After Width: | Height: | Size: 250 KiB |
After Width: | Height: | Size: 214 KiB |
After Width: | Height: | Size: 192 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 60 KiB |
872
mode/boss.js
|
@ -472,6 +472,45 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
card:{
|
card:{
|
||||||
|
"boss_mengpohuihun":{
|
||||||
|
mode:['boss'],
|
||||||
|
type:"trick",
|
||||||
|
modeimage:"boss",
|
||||||
|
fullskin:true,
|
||||||
|
selectTarget:-1,
|
||||||
|
enable:true,
|
||||||
|
toself:true,
|
||||||
|
multitarget:true,
|
||||||
|
global:['boss_mengpohuihun1'],
|
||||||
|
modTarget:true,
|
||||||
|
filterTarget:function(card,player,target){
|
||||||
|
return player==target;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
game.countPlayer2(function(current){
|
||||||
|
current.enableSkill('boss_wanghun');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
basic:{
|
||||||
|
order:function(){
|
||||||
|
return 11;
|
||||||
|
},
|
||||||
|
useful:[3,1],
|
||||||
|
value:10
|
||||||
|
},
|
||||||
|
result:{
|
||||||
|
player:function(player,target){
|
||||||
|
if(player==game.boss){
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return 5;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
"wushuangfangtianji":{
|
"wushuangfangtianji":{
|
||||||
type:"equip",
|
type:"equip",
|
||||||
modeimage:'boss',
|
modeimage:'boss',
|
||||||
|
@ -849,7 +888,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
boss_wang:['male','shen',5,['boss_guimei','boss_luolei','huilei','boss_bianshen2'],['shu','hiddenboss','bossallowed']],
|
boss_wang:['male','shen',5,['boss_guimei','boss_luolei','huilei','boss_bianshen2'],['shu','hiddenboss','bossallowed']],
|
||||||
boss_liang:['female','shen',5,['boss_guimei','boss_guihuo','boss_minbao','boss_bianshen2'],['shu','hiddenboss','bossallowed']],
|
boss_liang:['female','shen',5,['boss_guimei','boss_guihuo','boss_minbao','boss_bianshen2'],['shu','hiddenboss','bossallowed']],
|
||||||
|
|
||||||
boss_qinguangwang:['male','qun',3,['boss_panguan','boss_juhun','boss_wangxiang','boss_xhuanren'],['shu','boss','bossallowed'],'shu'],
|
boss_qinguangwang:['male','qun',3,['boss_panguan','boss_juhun','boss_wangxiang','boss_newhuanren'],['shu','boss','bossallowed'],'shu'],
|
||||||
boss_chujiangwang:['male','qun',4,['weimu','refankui','boss_bingfeng'],['shu','hiddenboss','bossallowed']],
|
boss_chujiangwang:['male','qun',4,['weimu','refankui','boss_bingfeng'],['shu','hiddenboss','bossallowed']],
|
||||||
boss_songdiwang:['male','qun',4,['boss_heisheng','boss_shengfu','enyuan'],['shu','hiddenboss','bossallowed']],
|
boss_songdiwang:['male','qun',4,['boss_heisheng','boss_shengfu','enyuan'],['shu','hiddenboss','bossallowed']],
|
||||||
boss_wuguanwang:['male','qun',4,['boss_zhiwang','boss_gongzheng','boss_xuechi'],['shu','hiddenboss','bossallowed']],
|
boss_wuguanwang:['male','qun',4,['boss_zhiwang','boss_gongzheng','boss_xuechi'],['shu','hiddenboss','bossallowed']],
|
||||||
|
@ -859,6 +898,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
boss_dushiwang:['male','qun',4,['boss_remen','boss_zhifen','boss_huoxing'],['shu','hiddenboss','bossallowed']],
|
boss_dushiwang:['male','qun',4,['boss_remen','boss_zhifen','boss_huoxing'],['shu','hiddenboss','bossallowed']],
|
||||||
boss_pingdengwang:['male','qun',4,['boss_suozu','boss_abi','boss_pingdeng'],['shu','hiddenboss','bossallowed']],
|
boss_pingdengwang:['male','qun',4,['boss_suozu','boss_abi','boss_pingdeng'],['shu','hiddenboss','bossallowed']],
|
||||||
boss_zhuanlunwang:['male','qun',6,['boss_modao','boss_lunhui','boss_wangsheng','boss_zlfanshi'],['shu','hiddenboss','bossallowed']],
|
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_lvbu1:['male','shen',8,['mashu','wushuang','boss_baonu','boss_jingjia','boss_aozhan'],['qun','boss','bossallowed'],'wei'],
|
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'],
|
boss_lvbu2:['male','shen',6,['mashu','wushuang','xiuluo','shenwei','shenji'],['qun','hiddenboss','bossallowed'],'qun'],
|
||||||
|
@ -894,7 +935,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
cardPack:{
|
cardPack:{
|
||||||
mode_boss:['honghuangzhili','sadouchengbing','yihuajiemu','guilongzhanyuedao','guofengyupao','chiyanzhenhunqin','qimenbagua','xuwangzhimian','juechenjinge','xiuluolianyuji','chixueqingfeng','longfenghemingjian','qicaishenlu','wushuangfangtianji','shufazijinguan','hongmianbaihuapao','linglongshimandai']
|
mode_boss:['honghuangzhili','sadouchengbing','yihuajiemu','guilongzhanyuedao','guofengyupao','chiyanzhenhunqin','qimenbagua','xuwangzhimian','juechenjinge','xiuluolianyuji','chixueqingfeng','longfenghemingjian','qicaishenlu','wushuangfangtianji','shufazijinguan','hongmianbaihuapao','linglongshimandai','boss_mengpohuihun']
|
||||||
},
|
},
|
||||||
init:function(){
|
init:function(){
|
||||||
for(var i in lib.characterPack.mode_boss){
|
for(var i in lib.characterPack.mode_boss){
|
||||||
|
@ -1683,10 +1724,17 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
init:function(){
|
init:function(){
|
||||||
_status.shidianyanluo_level=0;
|
_status.shidianyanluo_level=0;
|
||||||
|
lib.inpile.remove('muniu');
|
||||||
|
for(var i=0;i<ui.cardPile.childElementCount;i++){
|
||||||
|
if(ui.cardPile.childNodes[i].name=='muniu'){
|
||||||
|
ui.cardPile.childNodes[i].remove();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
_status.additionalReward=function(){
|
_status.additionalReward=function(){
|
||||||
return 500;
|
return 500;
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
boss_nianshou:{
|
boss_nianshou:{
|
||||||
chongzheng:0,
|
chongzheng:0,
|
||||||
|
@ -1915,6 +1963,138 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
game.changeBoss(result.control);
|
game.changeBoss(result.control);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
boss_newhuanren:{
|
||||||
|
nobracket:true,
|
||||||
|
global:'boss_newhuanren2',
|
||||||
|
trigger:{global:'gameStart'},
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
superCharlotte:true,
|
||||||
|
charlotte:true,
|
||||||
|
fixed:true,
|
||||||
|
content:function(){
|
||||||
|
if(get.mode()!='boss') return;
|
||||||
|
//孟婆
|
||||||
|
if(!_status.shidianyanluo_mengpo&&Math.random()<=0.4){
|
||||||
|
if(game.me!=game.boss){
|
||||||
|
game.boss.changeSeat(6);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.boss.nextSeat.changeSeat(3);
|
||||||
|
game.boss.previousSeat.changeSeat(5);
|
||||||
|
}
|
||||||
|
// game.addBossFellow(game.me==game.boss?1:7,'boss_mengpo');
|
||||||
|
var fellow=game.addFellow(game.me==game.boss?1:7,'boss_mengpo','zoominanim');
|
||||||
|
if(_status.shidianyanluo_level!=0){
|
||||||
|
fellow.directgain(get.cards(4));
|
||||||
|
}
|
||||||
|
fellow.side=true;
|
||||||
|
fellow.identity='zhong';
|
||||||
|
fellow.setIdentity('zhong');
|
||||||
|
game.addVideo('setIdentity',fellow,'zhong');
|
||||||
|
_status.shidianyanluo_mengpo=true;
|
||||||
|
}
|
||||||
|
var list=['luxun','re_luxun','zhangchunhua','zuoci','re_zuoci','re_yuji','xin_yuji','jiangfei','kongrong'];//禁将
|
||||||
|
game.countPlayer(function(current){
|
||||||
|
if(current!=game.boss){
|
||||||
|
for(var i=0;i<list.length;i++){
|
||||||
|
if(current.name==list[i]||current.name2==list[i]){current.init('sunce');}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
boss_newhuanren2:{
|
||||||
|
trigger:{global:['die']},
|
||||||
|
forced:true,
|
||||||
|
priority:-10,
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forceDie:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(lib.config.mode!='boss') return false;
|
||||||
|
if(_status.shidianyanluo_level==undefined) return false;
|
||||||
|
return player==game.boss&&event.player==player;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
var next=game.createEvent('shidianyanluo_huanren',false,trigger.getParent());
|
||||||
|
next.player=player;
|
||||||
|
next.forceDie=true;
|
||||||
|
next.setContent(lib.skill.boss_newhuanren2.contentx);
|
||||||
|
},
|
||||||
|
contentx:function(){
|
||||||
|
'step 0'
|
||||||
|
game.delay();
|
||||||
|
var list=game.filterPlayer();
|
||||||
|
for(var x=0;x<list.length;x++){
|
||||||
|
list[x].removeSkill('diaohulishan');
|
||||||
|
list[x].removeSkill('guogong2');
|
||||||
|
}
|
||||||
|
var list=game.boss.getEnemies();
|
||||||
|
for(var x=0;x<list.length;x++){
|
||||||
|
list[x].removeSkill('boss_wangshi2');
|
||||||
|
}
|
||||||
|
'step 1'
|
||||||
|
var list=[
|
||||||
|
['boss_chujiangwang','boss_songdiwang','boss_wuguanwang','boss_yanluowang'],
|
||||||
|
['boss_bianchengwang','boss_taishanwang','boss_dushiwang','boss_pingdengwang'],
|
||||||
|
['boss_zhuanlunwang'],
|
||||||
|
][_status.shidianyanluo_level];
|
||||||
|
//如果mengpo死亡且50回合内通过第三关,list[2]变成地藏王
|
||||||
|
if(game.phaseNumber<=50&&_status.shidianyanluo_level==2&&_status.shidianyanluo_mengpodie==true){
|
||||||
|
list=['boss_dizangwang'];
|
||||||
|
}
|
||||||
|
if(list.length==1) event._result={control:list[0]};
|
||||||
|
else{
|
||||||
|
player.chooseControl(list).set('forceDie',true).set('choice',list.randomGet()).set('ai',function(){return _status.event.choice}).prompt='选择下一个登场的武将';
|
||||||
|
}
|
||||||
|
'step 2'
|
||||||
|
_status.shidianyanluo_level++;
|
||||||
|
game.changeBoss(result.control);
|
||||||
|
//地藏王登场摸3
|
||||||
|
if(result.control=='boss_dizangwang'){game.boss.draw(3);}
|
||||||
|
//计回合数
|
||||||
|
var level=_status.shidianyanluo_level;
|
||||||
|
//孟婆
|
||||||
|
if(!_status.shidianyanluo_mengpo){
|
||||||
|
if(Math.random()<=0.5||level==2){
|
||||||
|
if(game.me!=game.boss){
|
||||||
|
game.boss.changeSeat(6);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.boss.nextSeat.changeSeat(3);
|
||||||
|
game.boss.previousSeat.changeSeat(5);
|
||||||
|
}
|
||||||
|
//game.addBossFellow();
|
||||||
|
var fellow=game.addFellow(game.me==game.boss?1:7,'boss_mengpo','zoominanim');
|
||||||
|
if(_status.shidianyanluo_level!=0){
|
||||||
|
fellow.directgain(get.cards(4));
|
||||||
|
}
|
||||||
|
fellow.side=true;
|
||||||
|
fellow.identity='zhong';
|
||||||
|
fellow.setIdentity('zhong');
|
||||||
|
game.addVideo('setIdentity',fellow,'zhong');
|
||||||
|
_status.shidianyanluo_mengpo=true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
//移除孟婆
|
||||||
|
game.countPlayer2(function(current){
|
||||||
|
if(current.name=='boss_mengpo'){
|
||||||
|
current.removed=true;
|
||||||
|
current.classList.add('dead');
|
||||||
|
current.remove();
|
||||||
|
game.players.remove(current);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//然后是boss进行回合
|
||||||
|
game.phaseLoop(game.boss);
|
||||||
|
}
|
||||||
|
},
|
||||||
boss_bingfeng:{
|
boss_bingfeng:{
|
||||||
trigger:{player:'die'},
|
trigger:{player:'die'},
|
||||||
forceDie:true,
|
forceDie:true,
|
||||||
|
@ -2116,7 +2296,33 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
boss_remen:{
|
boss_remen:{
|
||||||
inherit:'boss_manjia',
|
equipSkill:true,
|
||||||
|
trigger:{target:['useCardToBefore']},
|
||||||
|
forced:true,
|
||||||
|
priority:6,
|
||||||
|
audio:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(!player.isEmpty('equip2')) return false;
|
||||||
|
if(event.card.name=='nanman') return true;
|
||||||
|
if(event.card.name=='wanjian') return true;
|
||||||
|
return event.card.name=='sha'&&!get.nature(event.card);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.cancel();
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
effect:{
|
||||||
|
target:function(card,player,target,current){
|
||||||
|
if(!target.isEmpty('equip2')) return;
|
||||||
|
if(card.name=='nanman'||card.name=='wanjian') return 'zerotarget';
|
||||||
|
if(card.name=='sha'){
|
||||||
|
var equip1=player.getEquip(1);
|
||||||
|
if(equip1&&equip1.name=='zhuque') return 1.9;
|
||||||
|
if(!card.nature) return 'zerotarget';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
boss_zhifen:{
|
boss_zhifen:{
|
||||||
trigger:{player:'phaseZhunbeiBegin'},
|
trigger:{player:'phaseZhunbeiBegin'},
|
||||||
|
@ -2261,7 +2467,610 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
boss_zlfanshi_terra:{charlotte:true},
|
boss_zlfanshi_terra:{charlotte:true},
|
||||||
|
//孟婆:
|
||||||
|
"boss_shiyou":{
|
||||||
|
audio:true,
|
||||||
|
trigger:{global:'loseEnd'},
|
||||||
|
filter:function(event,player){
|
||||||
|
var evt=event.getParent(3);
|
||||||
|
return event.type=='discard'&&evt.name=='phaseDiscard'&&evt.player==event.player&&evt.player!=player&&event.cards2&&event.cards2.filterInD('d').length>0;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
"step 0"
|
||||||
|
event.cards=trigger.cards2.filterInD('d');
|
||||||
|
"step 1"
|
||||||
|
var next=player.chooseCardButton(get.prompt('boss_shiyou'),event.cards,[1,event.cards.length]).set('ai',function(button){
|
||||||
|
return get.value(button.link,player);
|
||||||
|
}).set('filterButton',function(button){
|
||||||
|
for(var i=0;i<ui.selected.buttons.length;i++){
|
||||||
|
if(get.suit(ui.selected.buttons[i].link)==get.suit(button.link)) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
"step 2"
|
||||||
|
if(result.bool){
|
||||||
|
player.gain(result.links,'gain2','log');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_wangshi":{
|
||||||
|
trigger:{global:'phaseZhunbeiBegin'},
|
||||||
|
forced:true,
|
||||||
|
audio:true,
|
||||||
|
filter:function(event,player){
|
||||||
|
if(player.getEnemies().contains(event.player)){return true;}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
logTarget:'player',
|
||||||
|
content:function(){
|
||||||
|
var list=['basic','trick','equip'].randomGet();
|
||||||
|
trigger.player.addTempSkill('boss_wangshi2');
|
||||||
|
trigger.player.storage.boss_wangshi2=[list];
|
||||||
|
game.log(trigger.player,'本回合不能使用或打出',list,'牌');
|
||||||
|
trigger.player.markSkill('boss_wangshi2');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_wangshi2":{
|
||||||
|
unique:true,
|
||||||
|
charlotte:true,
|
||||||
|
intro:{
|
||||||
|
content:function(storage){
|
||||||
|
return '不能使用或打出'+get.translation(storage)+'牌';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
init:function(player,skill){
|
||||||
|
if(!player.storage[skill]) player.storage[skill]=[];
|
||||||
|
},
|
||||||
|
//mark:true,
|
||||||
|
onremove:true,
|
||||||
|
mod:{
|
||||||
|
cardEnabled2:function(card,player){
|
||||||
|
if(player.storage.boss_wangshi2.contains(get.type(card,'trick'))) return false;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_mengpohuihun1":{
|
||||||
|
mode:['boss'],
|
||||||
|
trigger:{
|
||||||
|
player:'loseEnd',
|
||||||
|
global:'cardsDiscardEnd',
|
||||||
|
},
|
||||||
|
filter:function(event,player){
|
||||||
|
for(var i=0;i<event.cards.length;i++){
|
||||||
|
if(event.cards[i].name=='boss_mengpohuihun'&&get.position(event.cards[i],true)=='d'){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
forced:true,
|
||||||
|
popup:false,
|
||||||
|
content:function(){
|
||||||
|
var cards=[];
|
||||||
|
for(var i=0;i<trigger.cards.length;i++){
|
||||||
|
if(trigger.cards[i].name=='boss_mengpohuihun'&&get.position(trigger.cards[i])=='d'){
|
||||||
|
cards.push(trigger.cards[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(cards.length){
|
||||||
|
game.cardsGotoSpecial(cards);
|
||||||
|
game.log(cards,'已被移出游戏');
|
||||||
|
player.popup('回魂');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_wanghun":{
|
||||||
|
audio:true,
|
||||||
|
forced:true,
|
||||||
|
trigger:{player:'die'},
|
||||||
|
forceDie:true,
|
||||||
|
content:function(){
|
||||||
|
_status.shidianyanluo_mengpodie=true;
|
||||||
|
var list=player.getEnemies();
|
||||||
|
if(list.length>0){
|
||||||
|
for(var x=0;x<list.length;x++){
|
||||||
|
list[x].removeSkill('boss_wangshi2');
|
||||||
|
}
|
||||||
|
var ran1=list.randomGet();//第一个角色
|
||||||
|
list.remove(ran1);//移除
|
||||||
|
var skills1=ran1.getSkills(true,false);
|
||||||
|
if(skills1.length){
|
||||||
|
for(var i=0;i<skills1.length;i++){
|
||||||
|
if(get.skills[i]||lib.skill[skills1[i]].charlotte||!lib.translate[skills1[i]+'_info']||lib.skill[skills1[i]].zhuSkill==true){
|
||||||
|
skills1.splice(i--,1);
|
||||||
|
}
|
||||||
|
}//排除技能,然后随机失去一个可以失去的技能
|
||||||
|
if(skills1.length>0){
|
||||||
|
skills1=skills1.randomGet();
|
||||||
|
ran1.disableSkill('boss_wanghun',skills1);
|
||||||
|
game.log(ran1,'失去了',skills1);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.log(ran1,'没有技能可失去');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(list.length>0){
|
||||||
|
var ran2=list.randomGet();//第二个角色
|
||||||
|
list.remove(ran2);//移除
|
||||||
|
var skills2=ran2.getSkills(true,false);
|
||||||
|
if(skills2.length){
|
||||||
|
for(var i=0;i<skills2.length;i++){
|
||||||
|
if(get.skills[i]||lib.skill[skills2[i]].charlotte||!lib.translate[skills2[i]+'_info']||lib.skill[skills2[i]].zhuSkill==true){
|
||||||
|
skills2.splice(i--,1);
|
||||||
|
}
|
||||||
|
}//排除技能,然后随机失去一个可以失去的技能
|
||||||
|
if(skills2.length>0){
|
||||||
|
skills2=skills2.randomGet();
|
||||||
|
ran2.disableSkill('boss_wanghun',skills2);
|
||||||
|
game.log(ran2,'失去了',skills2);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.log(ran2,'没有技能可失去');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//添加两张回魂
|
||||||
|
if(get.mode()=='boss'){
|
||||||
|
var card1=game.createCard('boss_mengpohuihun','heart',3,null);
|
||||||
|
var card2=game.createCard('boss_mengpohuihun','club',4,null);
|
||||||
|
var a=[];
|
||||||
|
if(ui.cardPile.childElementCount<3){
|
||||||
|
game.boss.getCards(4);
|
||||||
|
}
|
||||||
|
for(var i=0;i<ui.cardPile.childElementCount;i++){
|
||||||
|
a.push(i);
|
||||||
|
}
|
||||||
|
ui.cardPile.insertBefore(card1,ui.cardPile.childNodes[a.randomGet()]);
|
||||||
|
a.push(a.length);
|
||||||
|
ui.cardPile.insertBefore(card2,ui.cardPile.childNodes[a.randomGet()]);
|
||||||
|
game.log('牌堆中添加了',card1,card2);
|
||||||
|
game.updateRoundNumber();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
//地藏王:
|
||||||
|
"boss_bufo":{
|
||||||
|
audio:true,
|
||||||
|
forced:true,
|
||||||
|
trigger:{
|
||||||
|
player:['damageBegin4','phaseZhunbeiBegin'],
|
||||||
|
},
|
||||||
|
filter:function(event,player,name){
|
||||||
|
if(name=='damageBegin4'){return event.num&&event.num>1;}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
var name=event.triggername;
|
||||||
|
if(name=='damageBegin4'){
|
||||||
|
trigger.num--;return;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.countPlayer(function(target){
|
||||||
|
if(player!=target&&get.distance(target,player)<=1){
|
||||||
|
target.damage(1,player,'fire');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_wuliang":{
|
||||||
|
forced:true,
|
||||||
|
audio:true,
|
||||||
|
trigger:{
|
||||||
|
global:"gameDrawAfter",
|
||||||
|
player:['phaseZhunbeiBegin','phaseJieshuBegin','enterGame'],
|
||||||
|
},
|
||||||
|
filter:function(event,player,name){
|
||||||
|
if(name=='gameDrawAfter'||name=='enterGame'){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if(name=='phaseZhunbeiBegin'){
|
||||||
|
return player.hp<3;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
var name=event.triggername;
|
||||||
|
if(name=='phaseZhunbeiBegin'){
|
||||||
|
player.recover(3-player.hp);return;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
player.draw((name=='gameDrawAfter'||name=='enterGame')?3:2);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_dayuan":{
|
||||||
|
trigger:{
|
||||||
|
global:"judge",
|
||||||
|
},
|
||||||
|
audio:true,
|
||||||
|
direct:true,
|
||||||
|
lastDo:true,
|
||||||
|
content:function (){
|
||||||
|
'step 0'
|
||||||
|
var card=trigger.player.judging[0];
|
||||||
|
var judge0=trigger.judge(card);
|
||||||
|
var judge1=0;
|
||||||
|
var choice='cancel2';
|
||||||
|
event.suitchoice='cancel2';
|
||||||
|
var attitude=get.attitude(player,trigger.player);
|
||||||
|
var list=[];
|
||||||
|
event.suitx=['heart','diamond','club','spade'];
|
||||||
|
for(var x=0;x<4;x++){
|
||||||
|
for(var i=1;i<14;i++){
|
||||||
|
list.add(i);
|
||||||
|
var judge2=(trigger.judge({
|
||||||
|
name:get.name(card),
|
||||||
|
suit:event.suitx[x],
|
||||||
|
number:i,
|
||||||
|
nature:get.nature(card),
|
||||||
|
})-judge0)*attitude;
|
||||||
|
if(judge2>judge1){
|
||||||
|
choice=i;
|
||||||
|
event.suitchoice=event.suitx[x];
|
||||||
|
judge1=judge2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
list.push('cancel2');
|
||||||
|
event.suitx.push('cancel2');
|
||||||
|
player.chooseControl(list).set('ai',function(){
|
||||||
|
return _status.event.choice;
|
||||||
|
}).set('choice',choice).prompt=get.prompt2(event.name);
|
||||||
|
'step 1'
|
||||||
|
if(result.control!='cancel2'){
|
||||||
|
if(!event.logged){
|
||||||
|
event.logged=true;
|
||||||
|
player.logSkill(event.name,trigger.player);
|
||||||
|
}
|
||||||
|
game.log(trigger.player,'判定结果点数为','#g'+result.control);
|
||||||
|
player.popup(result.control,'fire');
|
||||||
|
if(!trigger.fixedResult) trigger.fixedResult={};
|
||||||
|
trigger.fixedResult.number=result.control;
|
||||||
|
}
|
||||||
|
player.chooseControl(event.suitx).set('ai',function(){
|
||||||
|
return _status.event.choice;
|
||||||
|
}).set('choice',event.suitchoice).prompt=get.prompt2(event.name);
|
||||||
|
'step 2'
|
||||||
|
if(result.control!='cancel2'){
|
||||||
|
if(!event.logged){
|
||||||
|
event.logged=true;
|
||||||
|
player.logSkill(event.name,trigger.player);
|
||||||
|
}
|
||||||
|
game.log(trigger.player,'判定结果花色为','#g'+result.control);
|
||||||
|
player.popup(result.control,'fire');
|
||||||
|
if(!trigger.fixedResult) trigger.fixedResult={};
|
||||||
|
trigger.fixedResult.suit=result.control;
|
||||||
|
if(result.control=='club'||result.control=='spade'){
|
||||||
|
trigger.fixedResult.color='black';
|
||||||
|
}
|
||||||
|
else if(result.control=='heart'||result.control=='diamond'){
|
||||||
|
trigger.fixedResult.color='red';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_diting":{
|
||||||
|
audio:true,
|
||||||
|
mod:{
|
||||||
|
globalFrom:function (from,to,distance){
|
||||||
|
return distance-1;
|
||||||
|
},
|
||||||
|
globalTo:function (from,to,distance){
|
||||||
|
return distance+1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
init:function(player){
|
||||||
|
player.$disableEquip('equip3');
|
||||||
|
player.$disableEquip('equip4');
|
||||||
|
},
|
||||||
|
enable:"phaseUse",
|
||||||
|
position:'h',
|
||||||
|
filter:function (event,player){
|
||||||
|
return player.countCards('he',{subtype:['equip3','equip4','equip6']})>0;
|
||||||
|
},
|
||||||
|
filterCard:function (card){
|
||||||
|
return get.subtype(card)=='equip3'||get.subtype(card)=='equip4'||get.subtype(card)=='equip6';
|
||||||
|
},
|
||||||
|
check:function (card){
|
||||||
|
if(_status.event.player.isDisabled(get.subtype(card))) return 5;
|
||||||
|
return 3-get.value(card);
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
player.draw();
|
||||||
|
},
|
||||||
|
discard:false,
|
||||||
|
visible:true,
|
||||||
|
loseTo:'discardPile',
|
||||||
|
prompt:"将一张坐骑牌置入弃牌堆并摸一张牌",
|
||||||
|
delay:0.5,
|
||||||
|
prepare:function (cards,player){
|
||||||
|
player.$throw(cards,1000);
|
||||||
|
game.log(player,'将',cards,'置入了弃牌堆');
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:10,
|
||||||
|
result:{
|
||||||
|
player:1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
/*
|
||||||
|
"boss_sdyl_level":{
|
||||||
|
trigger:{global:'gameStart'},
|
||||||
|
forced:true,
|
||||||
|
superCharlotte:true,
|
||||||
|
charlotte:true,
|
||||||
|
fixed:true,
|
||||||
|
content:function(){},
|
||||||
|
contentplayer:function(player){
|
||||||
|
var list=[1,2,3,4,5];
|
||||||
|
var list2=["boss_sdyl_playerlevel1","boss_sdyl_playerlevel2","boss_sdyl_playerlevel3","boss_sdyl_playerlevel4","boss_sdyl_playerlevel5"];
|
||||||
|
player.removeAdditionalSkill('boss_sdyl_level');
|
||||||
|
var num=list.randomGet();
|
||||||
|
player.storage.boss_sdyl_level=num;
|
||||||
|
var list3=list2.concat();
|
||||||
|
list3.length=num;
|
||||||
|
player.addAdditionalSkill('boss_sdyl_level',list3);
|
||||||
|
game.log(player,'的等阶为',num);
|
||||||
|
if(num>1){
|
||||||
|
var a=function(card){
|
||||||
|
return get.type(card)=='equip';
|
||||||
|
};
|
||||||
|
for(var i=0;i<ui.cardPile.childNodes.length;i++){
|
||||||
|
if(a(ui.cardPile.childNodes[i])){
|
||||||
|
player.chooseUseTarget(ui.cardPile.childNodes[i],'noanimate','nopopup',true);
|
||||||
|
ui.cardPile.removeChild(ui.cardPile.childNodes[i]);
|
||||||
|
player.update();
|
||||||
|
game.delay(2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
contentboss:function(boss){
|
||||||
|
var list=[1,2,3,4,5];
|
||||||
|
var list2=["boss_sdyl_bosslevel1","boss_sdyl_bosslevel2","boss_sdyl_bosslevel3","boss_sdyl_bosslevel4","boss_sdyl_bosslevel5"];
|
||||||
|
boss.removeAdditionalSkill('boss_sdyl_level');
|
||||||
|
var num=list.randomGet();
|
||||||
|
boss.storage.boss_sdyl_level=num;
|
||||||
|
var list3=list2.concat();
|
||||||
|
list3.length=num;
|
||||||
|
boss.addAdditionalSkill('boss_sdyl_level',list3);
|
||||||
|
game.log(boss,'的等阶为',num);
|
||||||
|
if(num>1){
|
||||||
|
var a=function(card){
|
||||||
|
return get.type(card)=='equip';
|
||||||
|
};
|
||||||
|
for(var i=0;i<ui.cardPile.childNodes.length;i++){
|
||||||
|
if(a(ui.cardPile.childNodes[i])){
|
||||||
|
boss.chooseUseTarget(ui.cardPile.childNodes[i],'noanimate','nopopup',true);
|
||||||
|
ui.cardPile.removeChild(ui.cardPile.childNodes[i]);
|
||||||
|
boss.update();
|
||||||
|
game.delay(2);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_sdyl_playerlevel1":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
},
|
||||||
|
"boss_sdyl_playerlevel3":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
init:function(player){
|
||||||
|
player.maxHp++;
|
||||||
|
player.hp++;
|
||||||
|
player.update();
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
cardUsable:function (card,player,num){
|
||||||
|
if(card.name=='sha') return num+=1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_sdyl_playerlevel2":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
},
|
||||||
|
"boss_sdyl_playerlevel4":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
trigger:{player:'phaseDrawBegin2'},
|
||||||
|
forced:true,
|
||||||
|
filter:function (event,player){
|
||||||
|
return !event.numFixed;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.num++;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_sdyl_playerlevel5":{
|
||||||
|
init:function(player){
|
||||||
|
player.storage.boss_sdyl_playerlevel5=false;
|
||||||
|
player.maxHp++;
|
||||||
|
player.hp++;
|
||||||
|
player.update();
|
||||||
|
},
|
||||||
|
audio:'niepan',
|
||||||
|
unique:true,
|
||||||
|
enable:'chooseToUse',
|
||||||
|
mark:true,
|
||||||
|
skillAnimation:true,
|
||||||
|
animationStr:'重生',
|
||||||
|
limited:true,
|
||||||
|
animationColor:'orange',
|
||||||
|
filter:function(event,player){
|
||||||
|
if(player.storage.boss_sdyl_playerlevel5) return false;
|
||||||
|
if(event.type=='dying'){
|
||||||
|
if(player!=event.dying) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
'step 0'
|
||||||
|
player.awakenSkill('boss_sdyl_playerlevel5');
|
||||||
|
player.storage.boss_sdyl_playerlevel5=true;
|
||||||
|
player.discard(player.getCards('j'));
|
||||||
|
'step 1'
|
||||||
|
player.link(false);
|
||||||
|
'step 2'
|
||||||
|
player.turnOver(false);
|
||||||
|
'step 3'
|
||||||
|
player.drawTo(Math.min(5,player.maxHp));
|
||||||
|
'step 4'
|
||||||
|
player.recover(player.maxHp-player.hp);
|
||||||
|
},
|
||||||
|
ai:{
|
||||||
|
order:1,
|
||||||
|
skillTagFilter:function(player){
|
||||||
|
if(player.storage.boss_sdyl_playerlevel5) return false;
|
||||||
|
if(player.hp>0) return false;
|
||||||
|
},
|
||||||
|
save:true,
|
||||||
|
result:{
|
||||||
|
player:function(player){
|
||||||
|
if(player.hp<=0) return 10;
|
||||||
|
if(player.hp<=2&&player.countCards('he')<=1) return 10;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
threaten:function(player,target){
|
||||||
|
if(!target.storage.boss_sdyl_playerlevel5) return 0.6;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
intro:{
|
||||||
|
content:'limited'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"boss_sdyl_bosslevel1":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
},
|
||||||
|
"boss_sdyl_bosslevel3":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
init:function(player){
|
||||||
|
player.maxHp++;
|
||||||
|
player.hp++;
|
||||||
|
player.update();
|
||||||
|
},
|
||||||
|
trigger:{player:'phaseZhunbeiBegin'},
|
||||||
|
forced:true,
|
||||||
|
content:function(){
|
||||||
|
var card=get.cardPile('sha');
|
||||||
|
if(card){
|
||||||
|
player.gain(card);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
cardUsable:function (card,player,num){
|
||||||
|
if(card.name=='sha') return num+=1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_sdyl_bosslevel2":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
},
|
||||||
|
"boss_sdyl_bosslevel4":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
trigger:{player:'phaseDrawBegin2'},
|
||||||
|
forced:true,
|
||||||
|
filter:function (event,player){
|
||||||
|
return !event.numFixed;
|
||||||
|
},
|
||||||
|
content:function(){
|
||||||
|
trigger.num++;
|
||||||
|
},
|
||||||
|
mod:{
|
||||||
|
maxHandcard:function (player,num){
|
||||||
|
return num+=1;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"boss_sdyl_bosslevel5":{
|
||||||
|
fixed:true,
|
||||||
|
globalFixed:true,
|
||||||
|
charlotte:true,
|
||||||
|
silent:true,
|
||||||
|
popup:false,
|
||||||
|
forced:true,
|
||||||
|
init:function(player){
|
||||||
|
player.maxHp++;
|
||||||
|
player.hp++;
|
||||||
|
player.update();
|
||||||
|
if(_status.shidianyanluo_level&&_status.shidianyanluo_level>0){
|
||||||
|
var players=game.filterPlayer(function(current){return current!=player;});
|
||||||
|
player.useCard({name:'nanman'},false,players);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger:{
|
||||||
|
source:"damageBegin4",
|
||||||
|
player:"useCardAfter",
|
||||||
|
global:'gameDrawAfter',
|
||||||
|
},
|
||||||
|
filter:function (event,player,name){
|
||||||
|
if(name=='gameDrawAfter'){
|
||||||
|
if(!_status.shidianyanluo_level||_status.shidianyanluo_level==0){
|
||||||
|
var players=game.filterPlayer(function(current){return current!=player;});
|
||||||
|
player.useCard({name:'nanman'},false,players);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(player.storage.boss_sdyl_bosslevel5) return false;
|
||||||
|
if(name=='damageBegin4'){
|
||||||
|
if(!event.card||event.card.name!='nanman') return false;
|
||||||
|
return true;
|
||||||
|
}else if(name=='useCardAfter'){
|
||||||
|
if(!event.card||event.card.name!='nanman') return false;
|
||||||
|
player.storage.boss_sdyl_bosslevel5=true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
content:function (){
|
||||||
|
trigger.num++;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
*/
|
||||||
"boss_jingjia":{},
|
"boss_jingjia":{},
|
||||||
"boss_aozhan":{
|
"boss_aozhan":{
|
||||||
forced:true,
|
forced:true,
|
||||||
|
@ -7783,14 +8592,14 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
charlotte:true,
|
charlotte:true,
|
||||||
locked:true,
|
locked:true,
|
||||||
init:function(player){
|
init:function(player){
|
||||||
window.setInterval(function(){
|
var a=window.setInterval(function(){
|
||||||
if(player.hasSkill('boss_jiang')){
|
if(player.hasSkill('boss_jiang')){
|
||||||
player.storage.boss_jiang=true;
|
player.storage.boss_jiang=true;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
game.addGlobalSkill('boss_jiang');
|
game.addGlobalSkill('boss_jiang');
|
||||||
game.addGlobalSkill('boss_jiang_use');
|
game.addGlobalSkill('boss_jiang_use');
|
||||||
window.clearInterval(this);
|
window.clearInterval(a);
|
||||||
}
|
}
|
||||||
},1000);
|
},1000);
|
||||||
},
|
},
|
||||||
|
@ -8096,7 +8905,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
longfenghemingjian_info:'你使用的【雷杀】或【火杀】指定目标后,可令对方选择弃置一张牌或令你摸一张牌',
|
longfenghemingjian_info:'你使用的【雷杀】或【火杀】指定目标后,可令对方选择弃置一张牌或令你摸一张牌',
|
||||||
qicaishenlu:'七彩神鹿',
|
qicaishenlu:'七彩神鹿',
|
||||||
qicaishenlu_info:'锁定技,你计算与其他角色的距离时-1,当你造成属性伤害时,你令此伤害+1。',
|
qicaishenlu_info:'锁定技,你计算与其他角色的距离时-1,当你造成属性伤害时,你令此伤害+1。',
|
||||||
|
boss_mengpohuihun:'回魂',
|
||||||
|
boss_mengpohuihun_info:'若场上有角色在本局游戏中因孟婆的【忘魂】失去过技能,则令其恢复该技能;此牌进入弃牌堆后,会被销毁。',
|
||||||
honghuangzhili:'洪荒之力',
|
honghuangzhili:'洪荒之力',
|
||||||
honghuangzhili_cbg:'洪',
|
honghuangzhili_cbg:'洪',
|
||||||
honghuangzhili_info:'若该角色的势力是神,你获得其一张牌,其【神裔】无效直到其下家的回合(这个下家是动态变化的,会随着一个人的死或者复活而变化)开始;若该角色的势力不是神,其翻面。',
|
honghuangzhili_info:'若该角色的势力是神,你获得其一张牌,其【神裔】无效直到其下家的回合(这个下家是动态变化的,会随着一个人的死或者复活而变化)开始;若该角色的势力不是神,其翻面。',
|
||||||
|
@ -8503,7 +9313,49 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
boss_wangsheng_info:'锁定技,你的出牌阶段开始时,视为你随机使用一张【南蛮入侵】或【万箭齐发】。',
|
boss_wangsheng_info:'锁定技,你的出牌阶段开始时,视为你随机使用一张【南蛮入侵】或【万箭齐发】。',
|
||||||
boss_zlfanshi:'反噬',
|
boss_zlfanshi:'反噬',
|
||||||
boss_zlfanshi_info:'锁定技,每个回合你受到第一次伤害后,若再次受到伤害,则对随机一名其他角色造成1点伤害。',
|
boss_zlfanshi_info:'锁定技,每个回合你受到第一次伤害后,若再次受到伤害,则对随机一名其他角色造成1点伤害。',
|
||||||
|
//孟婆:
|
||||||
|
"boss_mengpo":"孟婆",
|
||||||
|
"boss_shiyou":"拾忧",
|
||||||
|
"boss_shiyou_info":"其他角色于弃牌阶段弃置的牌进入弃牌堆前,你可以选择其中任意张花色各不相同的牌获得之。",
|
||||||
|
"boss_wanghun":"忘魂",
|
||||||
|
"boss_wanghun_info":"锁定技,你死亡时,令随机两名敌方角色各随机失去一个技能(主公技除外),并在牌堆中加入2张回魂。(回魂只能在挑战模式出现)",
|
||||||
|
"boss_wangshi":"往事",
|
||||||
|
"boss_wangshi_info":"锁定技,你存活时,敌方角色的回合开始时,令其于本回合不能使用或打出随机一种类型的牌(基本、锦囊、装备)。",
|
||||||
|
"boss_wangshi2":"往事",
|
||||||
|
"boss_wangshi2_info":"",
|
||||||
|
//地藏王:
|
||||||
|
"boss_dizangwang":"地藏王",
|
||||||
|
"boss_bufo":"不佛",
|
||||||
|
"boss_bufo_info":"锁定技,你的回合开始时,你对所有至你距离为1的其他角色造成1点火焰伤害;你受到大于等于2的伤害时,令此伤害-1。",
|
||||||
|
"boss_wuliang":"无量",
|
||||||
|
"boss_wuliang_info":"锁定技,你登场时额外摸3张牌;结束阶段开始时,你摸两张牌;你的回合开始时,若你当前体力小于3,则回复至3。",
|
||||||
|
"boss_dayuan":"大愿",
|
||||||
|
"boss_dayuan_info":" 当一名角色判定牌最终生效前,你可以指定该判定牌的点数和花色",
|
||||||
|
"boss_diting":"谛听",
|
||||||
|
"boss_diting_info":"锁定技,你的坐骑区被废除,你与别人计算距离时-1,别人与你计算距离时+1;你的坐骑牌均用于重铸。",
|
||||||
|
/* //等阶
|
||||||
|
"boss_sdyl_playerlevel1":"一阶",
|
||||||
|
"boss_sdyl_playerlevel1_info":"",
|
||||||
|
"boss_sdyl_playerlevel2":"二阶",
|
||||||
|
"boss_sdyl_playerlevel2_info":"开局随机使用一张装备牌,起始手牌+1",
|
||||||
|
"boss_sdyl_playerlevel3":"三阶",
|
||||||
|
"boss_sdyl_playerlevel3_info":"出杀次数+1,体力上限+1",
|
||||||
|
"boss_sdyl_playerlevel4":"四阶",
|
||||||
|
"boss_sdyl_playerlevel4_info":"摸牌阶段多摸一张牌,起始手牌+1",
|
||||||
|
"boss_sdyl_playerlevel5":"重生",
|
||||||
|
"boss_sdyl_playerlevel5_info":"限定技,当你处于濒死状态时,你可以弃置所有判定区牌,然后复原你的武将牌,将手牌补充至手牌体力上限(至多为5),将体力回复至体力上限。",
|
||||||
|
|
||||||
|
"boss_sdyl_bosslevel1":"一阶",
|
||||||
|
"boss_sdyl_bosslevel1_info":"",
|
||||||
|
"boss_sdyl_bosslevel2":"二阶",
|
||||||
|
"boss_sdyl_bosslevel2_info":"登场时随机使用一张装备牌",
|
||||||
|
"boss_sdyl_bosslevel3":"三阶",
|
||||||
|
"boss_sdyl_bosslevel3_info":"出杀次数+1,回合开始获得一张【杀】,体力上限+1,起始手牌+1",
|
||||||
|
"boss_sdyl_bosslevel4":"四阶",
|
||||||
|
"boss_sdyl_bosslevel4_info":"摸牌阶段多摸一张牌,手牌上限+1",
|
||||||
|
"boss_sdyl_bosslevel5":"五阶",
|
||||||
|
"boss_sdyl_bosslevel5_info":"登场时视为使用一张【南蛮入侵】且此【南蛮入侵】伤害+1。体力上限+1,起始手牌+1",
|
||||||
|
*/
|
||||||
"boss_sunce":"那个男人",
|
"boss_sunce":"那个男人",
|
||||||
"boss_hunzi":"魂姿",
|
"boss_hunzi":"魂姿",
|
||||||
"boss_hunzi_info":"觉醒技,准备阶段,若你的体力值为1,你减1点体力上限,失去技能【魂佑】并获得技能【英姿】和【英魂】。",
|
"boss_hunzi_info":"觉醒技,准备阶段,若你的体力值为1,你减1点体力上限,失去技能【魂佑】并获得技能【英姿】和【英魂】。",
|
||||||
|
@ -8518,6 +9370,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
boss_xhuanren_info:'',
|
boss_xhuanren_info:'',
|
||||||
boss_xhuanren_info_boss:'第一关:挑战秦广王。<br>第二关:挑战楚江王,宋帝王,五官王,阎罗王中的一个。<br>第三关:挑战卞城王,泰山王,都市王,平等王中的一个。<br>第四关:挑战转轮王。',
|
boss_xhuanren_info_boss:'第一关:挑战秦广王。<br>第二关:挑战楚江王,宋帝王,五官王,阎罗王中的一个。<br>第三关:挑战卞城王,泰山王,都市王,平等王中的一个。<br>第四关:挑战转轮王。',
|
||||||
|
|
||||||
|
boss_newhuanren:'关卡说明',
|
||||||
|
boss_newhuanren_info:'',
|
||||||
|
boss_newhuanren_info_boss:'第一关:挑战秦广王。<br>第二关:挑战楚江王,宋帝王,五官王,阎罗王中的一个。<br>第三关:挑战卞城王,泰山王,都市王,平等王中的一个。<br>第四关:挑战转轮王。<br>注:孟婆将在每局前三个阶段随机一个阶段登场<br>地藏王登场规则为,50回合内通过第三关,并且在前三关中成功击杀孟婆。<li>选陆逊左慈张春华于吉蒋费孔融自动变孙笨',
|
||||||
|
|
||||||
mode_boss_card_config:'挑战卡牌',
|
mode_boss_card_config:'挑战卡牌',
|
||||||
mode_boss_character_config:'挑战武将',
|
mode_boss_character_config:'挑战武将',
|
||||||
},
|
},
|
||||||
|
|
|
@ -80,6 +80,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
game.gameDraw(game.zhu||_status.firstAct||game.me);
|
game.gameDraw(game.zhu||_status.firstAct||game.me);
|
||||||
if(_status.connectMode&&lib.configOL.change_card) game.replaceHandcards(game.players.slice(0));
|
if(_status.connectMode&&lib.configOL.change_card) game.replaceHandcards(game.players.slice(0));
|
||||||
game.phaseLoop(game.zhu||_status.firstAct||game.me);
|
game.phaseLoop(game.zhu||_status.firstAct||game.me);
|
||||||
|
game.zhu.showGiveup();
|
||||||
},
|
},
|
||||||
game:{
|
game:{
|
||||||
addRecord:function(bool){
|
addRecord:function(bool){
|
||||||
|
@ -830,6 +831,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
content:function(){
|
content:function(){
|
||||||
player.chooseDrawRecover(2);
|
player.chooseDrawRecover(2);
|
||||||
|
player.showGiveup();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -2277,62 +2277,24 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"new_keji":{
|
"new_keji":{
|
||||||
audio:"keji",
|
|
||||||
group:["new_keji_count","new_keji_reset","new_keji_judge"],
|
|
||||||
subSkill:{
|
|
||||||
reset:{
|
|
||||||
trigger:{
|
|
||||||
player:"phaseAfter",
|
|
||||||
},
|
|
||||||
priority:1,
|
|
||||||
silent:true,
|
|
||||||
content:function (){
|
|
||||||
player.storage.keji_type=[];
|
|
||||||
player.storage.keji_color=[];
|
|
||||||
player.storage.keji_suit=[];
|
|
||||||
},
|
|
||||||
sub:true,
|
|
||||||
forced:true,
|
|
||||||
popup:false,
|
|
||||||
},
|
|
||||||
count:{
|
|
||||||
trigger:{
|
|
||||||
player:"useCard",
|
|
||||||
},
|
|
||||||
silent:true,
|
|
||||||
content:function (){
|
|
||||||
if(!player.storage.keji_type){
|
|
||||||
player.storage.keji_type=[];
|
|
||||||
}
|
|
||||||
if(!player.storage.keji_color){
|
|
||||||
player.storage.keji_color=[];
|
|
||||||
}
|
|
||||||
if(!player.storage.keji_suit){
|
|
||||||
player.storage.keji_suit=[];
|
|
||||||
}
|
|
||||||
player.storage.keji_type.add(get.type(trigger.card));
|
|
||||||
player.storage.keji_color.add(get.color(trigger.card));
|
|
||||||
player.storage.keji_suit.add(get.suit(trigger.card));
|
|
||||||
},
|
|
||||||
sub:true,
|
|
||||||
forced:true,
|
|
||||||
popup:false,
|
|
||||||
},
|
|
||||||
judge:{
|
|
||||||
audio:"keji",
|
audio:"keji",
|
||||||
forced:true,
|
forced:true,
|
||||||
trigger:{
|
trigger:{
|
||||||
player:"phaseDiscardBefore",
|
player:"phaseDiscardBegin",
|
||||||
},
|
},
|
||||||
filter:function (event,player){
|
filter:function (event,player){
|
||||||
return !player.storage.keji_color||player.storage.keji_color.length<2;
|
var list=[];
|
||||||
|
player.getHistory('useCard',function(evt){
|
||||||
|
if(evt.isPhaseUsing(player)){
|
||||||
|
var color=get.color(evt.card);
|
||||||
|
if(color!='nocolor') list.add(color);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return list.length<=1;
|
||||||
},
|
},
|
||||||
content:function (){
|
content:function (){
|
||||||
player.addTempSkill('keji_add','phaseAfter');
|
player.addTempSkill('keji_add','phaseAfter');
|
||||||
},
|
},
|
||||||
sub:true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
"keji_add":{
|
"keji_add":{
|
||||||
mod:{
|
mod:{
|
||||||
|
@ -6230,6 +6192,18 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
player.reinit(from,to,4);
|
player.reinit(from,to,4);
|
||||||
if(lib.skill[to]) game.trySkillAudio(to,player);
|
if(lib.skill[to]) game.trySkillAudio(to,player);
|
||||||
player.showCharacter(0);
|
player.showCharacter(0);
|
||||||
|
var yelist=[];
|
||||||
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
if(game.players[i].identity=='ye'&&game.players[i]._group==player.group){
|
||||||
|
yelist.push(game.players[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
game.broadcastAll(function(list,group){
|
||||||
|
for(var i=0;i<list.length;i++){
|
||||||
|
list[i].identity=group;
|
||||||
|
list[i].setIdentity();
|
||||||
|
}
|
||||||
|
},yelist,player.group);
|
||||||
}
|
}
|
||||||
else event.finish();
|
else event.finish();
|
||||||
'step 2'
|
'step 2'
|
||||||
|
@ -8076,18 +8050,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
|
||||||
this.group=lib.character[this.name1][1];
|
this.group=lib.character[this.name1][1];
|
||||||
if(get.is.jun(this.name1)&&this.isAlive()){
|
if(get.is.jun(this.name1)&&this.isAlive()){
|
||||||
this.identity=this.group;
|
this.identity=this.group;
|
||||||
var yelist=[];
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
if(game.players[i].identity=='ye'&&game.players[i]._group==this.group){
|
|
||||||
yelist.push(game.players[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
game.broadcastAll(function(list,group){
|
|
||||||
for(var i=0;i<list.length;i++){
|
|
||||||
list[i].identity=group;
|
|
||||||
list[i].setIdentity();
|
|
||||||
}
|
|
||||||
},yelist,this.group);
|
|
||||||
}
|
}
|
||||||
else if(this.wontYe()){
|
else if(this.wontYe()){
|
||||||
this.identity=this.group;
|
this.identity=this.group;
|
||||||
|
|
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 963 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
|
@ -0,0 +1,52 @@
|
||||||
|
.hp:not(.text):not(.actcount):not(.treasure)[data-condition="high"]>div:not(.lost){
|
||||||
|
background: url('image/xinglass1.png');
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: scale(1.4);
|
||||||
|
-webkit-filter:none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
.hp:not(.text):not(.actcount):not(.treasure)[data-condition="mid"]>div:not(.lost){
|
||||||
|
background: url('image/xinglass2.png');
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: scale(1.4);
|
||||||
|
-webkit-filter:none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
.hp:not(.text):not(.actcount):not(.treasure)[data-condition="low"]>div:not(.lost){
|
||||||
|
background: url('image/xinglass3.png');
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: scale(1.4);
|
||||||
|
-webkit-filter:none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
.hp:not(.text):not(.actcount):not(.treasure)>.lost{
|
||||||
|
background: url('image/xinglass4.png');
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: scale(1.4);
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#arena.oldlayout .player .hp:not(.text):not(.actcount):not(.treasure)[data-condition="high"]>div:not(.lost){
|
||||||
|
transform: scale(1.6);
|
||||||
|
}
|
||||||
|
#arena.oldlayout .player .hp:not(.text):not(.actcount):not(.treasure)[data-condition="mid"]>div:not(.lost){
|
||||||
|
transform: scale(1.6);
|
||||||
|
}
|
||||||
|
#arena.oldlayout .player .hp:not(.text):not(.actcount):not(.treasure)[data-condition="low"]>div:not(.lost){
|
||||||
|
transform: scale(1.6);
|
||||||
|
}
|
||||||
|
#arena.oldlayout .player .hp:not(.text):not(.actcount):not(.treasure)>.lost{
|
||||||
|
transform: scale(1.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.button.newstyle>.hp>.text{
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
.hp:not(.text):not(.actcount):not(.treasure)[data-condition="high"]>div:not(.lost){
|
||||||
|
background: url('image/xinround1.png');
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: scale(1.4);
|
||||||
|
-webkit-filter:none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
.hp:not(.text):not(.actcount):not(.treasure)[data-condition="mid"]>div:not(.lost){
|
||||||
|
background: url('image/xinround2.png');
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: scale(1.4);
|
||||||
|
-webkit-filter:none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
.hp:not(.text):not(.actcount):not(.treasure)[data-condition="low"]>div:not(.lost){
|
||||||
|
background: url('image/xinround3.png');
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: scale(1.4);
|
||||||
|
-webkit-filter:none;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
.hp:not(.text):not(.actcount):not(.treasure)>.lost{
|
||||||
|
background: url('image/xinround4.png');
|
||||||
|
box-shadow: none;
|
||||||
|
border: none;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
transform: scale(1.4);
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#arena.oldlayout .player .hp:not(.text):not(.actcount):not(.treasure)[data-condition="high"]>div:not(.lost){
|
||||||
|
transform: scale(1.6);
|
||||||
|
}
|
||||||
|
#arena.oldlayout .player .hp:not(.text):not(.actcount):not(.treasure)[data-condition="mid"]>div:not(.lost){
|
||||||
|
transform: scale(1.6);
|
||||||
|
}
|
||||||
|
#arena.oldlayout .player .hp:not(.text):not(.actcount):not(.treasure)[data-condition="low"]>div:not(.lost){
|
||||||
|
transform: scale(1.6);
|
||||||
|
}
|
||||||
|
#arena.oldlayout .player .hp:not(.text):not(.actcount):not(.treasure)>.lost{
|
||||||
|
transform: scale(1.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.button.newstyle>.hp>.text{
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|