commit
78f04bea7f
469
character/sp.js
469
character/sp.js
|
@ -13,7 +13,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
sp_huben:['duanjiong','ol_mengda',"caohong","xiahouba","zhugeke","zumao","wenpin","litong","mazhong","heqi","quyi","luzhi","zangba","yuejin","dingfeng","wuyan","ol_zhuling","tianyu","huojun",'zhaoyǎn','dengzhong','ol_furong','macheng','ol_zhangyì','ol_zhujun','maxiumatie','luoxian','ol_huban','haopu','ol_qianzhao'],
|
||||
sp_liesi:['mizhu','weizi','ol_liuba','zhangshiping'],
|
||||
sp_default:["sp_diaochan","sp_zhaoyun","sp_sunshangxiang","sp_caoren","sp_jiangwei","sp_machao","sp_caiwenji","jsp_guanyu","jsp_huangyueying","sp_pangde","sp_jiaxu","yuanshu",'sp_zhangliao','sp_ol_zhanghe','sp_menghuo'],
|
||||
sp_waitforsort:['ol_luyusheng','ol_pengyang'],
|
||||
sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_feiyi','ol_lvboshe'],
|
||||
sp_qifu:["caoying",'panshu',"caochun","yuantanyuanshang",'caoshuang','wolongfengchu','guansuo','baosanniang','fengfangnv','jin_zhouchu'],
|
||||
sp_wanglang:['ol_wanglang','ol_puyuan','ol_zhouqun'],
|
||||
sp_zhongdan:["cuiyan","huangfusong"],
|
||||
|
@ -25,8 +25,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
tianyu:function(mode){
|
||||
return mode!='chess'&&mode!='tafang'&&mode!='stone';
|
||||
},
|
||||
ol_dongzhao:function(mode){
|
||||
return mode=='identity'&&['normal','zhong'].contains(_status.mode);
|
||||
},
|
||||
ol_lvboshe:function(mode){
|
||||
return mode=='doudizhu';
|
||||
},
|
||||
},
|
||||
character:{
|
||||
ol_tw_zhangji:['male','wei',3,['skill_zhangji_A','skill_zhangji_B'],['unseen']],
|
||||
ol_feiyi:['male','shu',3,['skill_feiyi_A','skill_feiyi_B'],['unseen']],
|
||||
ol_lvboshe:['male','qun',4,['skill_lvboshe'],['unseen']],
|
||||
ol_luyusheng:['female','wu',3,['olcangxin','olrunwei']],
|
||||
caoxi:['male','wei',3,['olgangshu','oljianxuan']],
|
||||
ol_pengyang:['male','shu',3,['olqifan','oltuishi','nzry_cunmu']],
|
||||
|
@ -195,6 +204,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
luzhi:['male','wei',3,['qingzhong','weijing']]
|
||||
},
|
||||
characterIntro:{
|
||||
lvboshe:'吕伯奢,东汉成皋(今河南荥阳)人,曹操父亲曹嵩的故友。曹操与陈宫在逃离董卓避祸,返回乡里的途中借宿于吕伯奢家,未伤其人,有贼八人欲捉曹操,曹操杀之,明罗贯中在历史小说《三国演义》中将这段历史进行了丑化加工,也成为小说中曹操名言“宁教我负天下人,休教天下人负我”的出处。',
|
||||
caoxi:'曹羲(?-249年),字昭叔。曹真之子,曹爽之弟。为人有学识,明律法。司马懿曾组织朝议改革九品中正制废除九品而留中正,曹羲认为此举并无区别,最终都是决定于人的人治。曹爽掌权后,受封中领军,掌握禁兵,封安乡侯。曹爽及诸兄弟轻视司马懿,恣意妄为,经常外出狩猎,曹羲屡次劝谏,不被采纳。249年,司马懿发动高平陵政变,被夷三族。',
|
||||
duanjiong:'段颎(?-179年),字纪明,武威姑臧(今甘肃省武威市)人。东汉名将,西域都护段会宗从曾孙,与皇甫规(字威明)、张奂(字然明)并称“凉州三明”。段颎少时学习骑射,有文武智略,最初被举为孝廉,为宪陵园丞、阳陵令,有治理之才。汉桓帝时入军旅,先破鲜卑,后讨平东郭窦、公孙举起事,以功封列侯。延熹二年(159年)起戍边征战十余年,百战羌人,至永康元年(167年)平定西羌,建宁二年(169年)平定东羌,前后斩东西羌六万余级。累功封新丰县侯。建宁三年(170年),段颎被征入朝,历任侍中、执金吾、河南尹、司隶校尉等职,他党附宦官、捕杀太学生,因而得保富贵,两度出任太尉。光和二年(179年),权宦王甫罪行被揭发,段颎受牵连下狱,其后在狱中饮鸩而死。',
|
||||
haopu:'郝普,字子太,义阳(治所在今湖北枣阳东南)人。刘备入川后,郝普为零陵太守。建安二十年(215年),吴将吕蒙进攻荆州三郡,唯有郝普坚守待援。但援兵久久不至,其挚友邓玄之又被吕蒙所骗,郝普也因此上当,投降吴国。湘水划界后,郝普回归刘备。建安二十四年(219年),吕蒙再次袭击荆州,击败关羽,郝普再次投降,最终归顺吴国并官至廷尉。郝普与隐蕃亲善,隐蕃蓄谋叛变事情败露,他受到牵连,因此自杀。在刘备集团的5个荆州郡守中,郝普是唯一一个抵抗过东吴的荆州郡守。',
|
||||
|
@ -694,64 +704,427 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
},
|
||||
skill:{
|
||||
//张既
|
||||
skill_zhangji_A:{
|
||||
audio:2,
|
||||
trigger:{player:'useCardToPlayered'},
|
||||
filter:function(event,player){
|
||||
if(player.countMark('skill_zhangji_A_count')>=player.hp) return false;
|
||||
return event.target!=player&&event.target.countCards('h')&&player.isPhaseUsing();
|
||||
},
|
||||
check:function(event,player){
|
||||
return get.attitude(player,event.target)<0;
|
||||
},
|
||||
logTarget:'target',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.addTempSkill('skill_zhangji_A_count','phaseUseAfter');
|
||||
player.addMark('skill_zhangji_A_count',1,false);
|
||||
player.viewHandcards(trigger.target);
|
||||
var list=[],choiceList=[
|
||||
'弃置'+get.translation(trigger.target)+'的一张牌,然后若弃置的牌的是能造成火焰伤害的牌,你摸一张牌',
|
||||
'重铸'+get.translation(trigger.target)+'手牌中的所有【杀】和【决斗】',
|
||||
'你与'+get.translation(trigger.target)+'互相对对方造成1点伤害',
|
||||
];
|
||||
list.push('选项一');
|
||||
if(trigger.target.countCards('h',{name:['sha','juedou']})) list.push('选项二');
|
||||
else choiceList[1]='<span style="opacity:0.5">'+choiceList[1]+'</span>';
|
||||
if(!trigger.target.countCards('h',{name:'shan'})) list.push('选项三');
|
||||
else choiceList[2]='<span style="opacity:0.5">'+choiceList[2]+'</span>';
|
||||
player.chooseControl(list).set('prompt',get.prompt('tspowei',target)).set('choiceList',choiceList).set('ai',function(){
|
||||
var player=_status.event.player,target=_status.event.target;
|
||||
if(list.contains('选项三')&&player.hp+player.countCards('hs',{name:'tao'})>2) return '选项三';
|
||||
if(list.contains('选项二')&&target.countCards('h',{name:['sha','juedou']})>1) return'选项二';
|
||||
return '选项一';
|
||||
}).set('target',trigger.target);
|
||||
'step 1'
|
||||
game.log(player,'选择了','#y'+result.control);
|
||||
switch(result.control){
|
||||
case '选项一':
|
||||
player.discardPlayerCard('he',trigger.target,'visible',true);
|
||||
break;
|
||||
case '选项二':
|
||||
var cards=trigger.target.getCards('h',{name:['sha','juedou']}).filter(card=>trigger.target.canRecast(card));
|
||||
trigger.target.recast(cards);
|
||||
event.finish();
|
||||
break;
|
||||
case '选项三':
|
||||
trigger.target.damage(player);
|
||||
player.damage(trigger.target);
|
||||
event.finish();
|
||||
break;
|
||||
}
|
||||
'step 2'
|
||||
if(result.bool&&get.tag(result.cards[0],'fireDamage')) player.draw();
|
||||
},
|
||||
subSkill:{
|
||||
count:{
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
},
|
||||
},
|
||||
},
|
||||
skill_zhangji_B:{
|
||||
getNum:function(name){
|
||||
var num=0;
|
||||
if(name=='litong') num=1;
|
||||
else switch(game.getRarity(name)){
|
||||
case 'junk':num=1;break;
|
||||
case 'rare':num=2;break;
|
||||
case 'epic':num=3;break;
|
||||
case 'legend':num=4;break;
|
||||
}
|
||||
return num;
|
||||
},
|
||||
getCharacter:function(list){
|
||||
var listx=[],num=0;
|
||||
for(var name of list){
|
||||
var numx=lib.skill.skill_zhangji_B.getNum(name);
|
||||
if(numx>num){
|
||||
num=numx;
|
||||
listx=[name];
|
||||
}
|
||||
else if(numx==num) listx.push(name);
|
||||
}
|
||||
return listx;
|
||||
},
|
||||
group:'skill_zhangji_B_jieming',
|
||||
audio:2,
|
||||
trigger:{player:'dying'},
|
||||
skillAnimation:true,
|
||||
animationColor:'water',
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
if(!_status.characterlist) lib.skill.pingjian.initList();
|
||||
player.chooseTarget(get.prompt('skill_zhangji_B'),'令一名其他角色选择是否更换武将牌',lib.filter.notMe).set('ai',function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
var num=lib.skill.skill_zhangji_B.getNum(target.name);
|
||||
if(target.name2!=undefined) num=Math.min(num,lib.skill.skill_zhangji_B.getNum(target.name2));
|
||||
return att*(4-num);
|
||||
});
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
var num=target.maxHp;
|
||||
event.num=num;
|
||||
player.logSkill('skill_zhangji_B',target);
|
||||
var list=[];
|
||||
for(var i=0;i<_status.characterlist.length;i++){
|
||||
if(lib.character[_status.characterlist[i]][1]=='wei') list.push(_status.characterlist[i]);
|
||||
}
|
||||
list=list.randomGets(5);
|
||||
var bolDialog=['请选择替换的武将',[list,'character']];
|
||||
target.chooseButton(bolDialog).set('ai',function(button){
|
||||
var target=_status.event.player;
|
||||
var num=lib.skill.skill_zhangji_B.getNum(target.name);
|
||||
if(target.name2!=undefined) num=Math.min(num,lib.skill.skill_zhangji_B.getNum(target.name2));
|
||||
return lib.skill.skill_zhangji_B.getNum(button.link)-num;
|
||||
});
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
event.character=result.links[0];
|
||||
if(target.name2!=undefined) target.chooseControl(target.name,target.name2).set('prompt','请选择要更换的武将牌').set('ai',function(){
|
||||
return lib.skill.skill_zhangji_B.getNum(target.name)<lib.skill.skill_zhangji_B.getNum(target.name2)?target.name:target.name2;
|
||||
});
|
||||
else result.control=target.name;
|
||||
}
|
||||
else{
|
||||
target.chat('拒绝');
|
||||
game.log('但',target,'拒绝更换其武将牌');
|
||||
event.finish();
|
||||
}
|
||||
'step 3'
|
||||
if(result.control==target.name) target.changeGroup('wei',false);
|
||||
game.log(target,'将','#g'+get.translation(result.control),'替换为了','#g'+get.translation(event.character));
|
||||
target.reinit(result.control,event.character,false);
|
||||
target.maxHp=num;
|
||||
target.update();
|
||||
},
|
||||
subSkill:{
|
||||
jieming:{
|
||||
audio:'skill_zhangji_B',
|
||||
trigger:{player:'damageEnd'},
|
||||
filter:function(event,player){
|
||||
return game.hasPlayer(function(current){
|
||||
return current.countCards('h')<current.maxHp;
|
||||
});
|
||||
},
|
||||
direct:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
event.count=trigger.num;
|
||||
'step 1'
|
||||
event.count--;
|
||||
player.chooseTarget(get.prompt('skill_zhangji_B'),'令一名手牌数小于其体力上限的角色摸三张牌,然后其将手牌数调整至其体力上限值',function(card,player,target){
|
||||
return target.countCards('h')<target.maxHp;
|
||||
}).set('ai',function(target){
|
||||
var att=get.attitude(_status.event.player,target);
|
||||
if(target.hasSkillTag('nogain')) att/=6;
|
||||
if(att>2) return Math.min(5,target.maxHp)-target.countCards('h');
|
||||
return att/3;
|
||||
});
|
||||
'step 2'
|
||||
if(result.bool){
|
||||
var target=result.targets[0];
|
||||
event.target=target;
|
||||
player.logSkill('skill_zhangji_B_jieming',target);
|
||||
target.draw(3);
|
||||
}
|
||||
else event.finish();
|
||||
'step 3'
|
||||
if(target.countCards('h')>target.maxHp) target.chooseToDiscard('h',target.countCards('h')-target.maxHp,true);
|
||||
if(event.count>0&&game.hasPlayer(function(current){
|
||||
return current.countCards('h')<current.maxHp;
|
||||
})&&player.hasSkill('skill_zhangji_B')) event.goto(1);
|
||||
},
|
||||
ai:{
|
||||
maixie:true,
|
||||
maixie_hp:true,
|
||||
effect:{
|
||||
target:function(card,player,target,current){
|
||||
if(get.tag(card,'damage')&&target.hp>1){
|
||||
if(player.hasSkillTag('jueqing',false,target)) return [1,-2];
|
||||
var max=0;
|
||||
var players=game.filterPlayer();
|
||||
for(var i=0;i<players.length;i++){
|
||||
if(get.attitude(target,players[i])>0){
|
||||
max=Math.max(Math.min(5,players[i].hp)-players[i].countCards('h'),max);
|
||||
}
|
||||
}
|
||||
switch(max){
|
||||
case 0:return 2;
|
||||
case 1:return 1.5;
|
||||
case 2:return [1,2];
|
||||
default:return [0,max];
|
||||
}
|
||||
}
|
||||
if((card.name=='tao'||card.name=='caoyao')&&
|
||||
target.hp>1&&target.countCards('h')<=target.hp) return [0,0];
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
//费祎
|
||||
skill_feiyi_A:{
|
||||
audio:2,
|
||||
enable:'phaseUse',
|
||||
filter:function(event,player){
|
||||
var num=player.countCards('h')%2;
|
||||
if(num==0&&!player.countCards('h')) return false;
|
||||
return !player.hasSkill('skill_feiyi_A_'+num);
|
||||
},
|
||||
filterCard:function(card,player){
|
||||
return player.countCards('h')%2==0;
|
||||
},
|
||||
selectCard:function(){
|
||||
var player=_status.event.player;
|
||||
if(player.countCards('h')%2==0) return [player.countCards('h')/2,Infinity];
|
||||
return -1;
|
||||
},
|
||||
check:function(card){
|
||||
if(player.hasSkill('skill_feiyi_B')){
|
||||
if(player.countCards('h')-ui.selected.cards.length>1) return 1/(get.value(card)||0.5);
|
||||
return 0;
|
||||
}
|
||||
if(ui.selected.cards.length<player.countCards('h')/2) return 5-get.value(card);
|
||||
return 0;
|
||||
},
|
||||
complexCard:true,
|
||||
delay:0,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.addTempSkill('skill_feiyi_A_'+(cards.length?'0':'1'),'phaseUseAfter');
|
||||
if(cards.length){
|
||||
player.draw(3)
|
||||
event.finish();
|
||||
}
|
||||
else player.draw(3);
|
||||
'step 2'
|
||||
player.chooseToDiscard('h','技能:弃置至少一半手牌',[Math.floor(player.countCards('h')/2),Infinity],true).set('ai',card=>{
|
||||
var player=_status.event.player;
|
||||
if(player.hasSkill('skill_feiyi_B')&&player.countCards('h')-ui.selected.cards.length>1) return 1/(get.value(card)||0.5);
|
||||
if(!player.hasSkill('skill_feiyi_B')&&ui.selected.cards.length<Math.floor(player.countCards('h')/2)) return 1/(get.value(card)||0.5);
|
||||
return 0;
|
||||
});
|
||||
},
|
||||
subSkill:{
|
||||
'0':{charlotte:true},
|
||||
'1':{charlotte:true},
|
||||
},
|
||||
ai:{
|
||||
order:3,
|
||||
result:{player:1},
|
||||
},
|
||||
},
|
||||
skill_feiyi_B:{
|
||||
audio:2,
|
||||
trigger:{
|
||||
player:'loseAfter',
|
||||
global:['equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter','addToExpansionAfter'],
|
||||
},
|
||||
filter:function(event,player){
|
||||
if(player.countCards('h')!=1||typeof get.number(player.getCards('h')[0],player)!='number') return false;
|
||||
if(player.hasSkill('skill_feiyi_B_0')&&player.hasSkill('skill_feiyi_B_1')) return false;
|
||||
var evt=event.getl(player);
|
||||
return evt&&evt.player==player&&evt.hs&&evt.hs.length>0;
|
||||
},
|
||||
prompt2:function(event,player){
|
||||
var str='展示最后一张手牌并摸一张牌';
|
||||
if(!player.hasSkill('skill_feiyi_B_0')||!player.hasSkill('skill_feiyi_B_0')){
|
||||
str+=',然后令本回合使用点数';
|
||||
if(!player.hasSkill('skill_feiyi_B_0')) str+='大于';
|
||||
if(!player.hasSkill('skill_feiyi_B_0')&&!player.hasSkill('skill_feiyi_B_0')) str+='或';
|
||||
if(!player.hasSkill('skill_feiyi_B_1')) str+='小于';
|
||||
str+=get.number(player.getCards('h')[0],player);
|
||||
str+='的牌额外结算一次';
|
||||
}
|
||||
return str;
|
||||
},
|
||||
frequent:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.showHandcards(get.translation(player)+'发动了【技能】');
|
||||
event.num=get.number(player.getCards('h')[0],player);
|
||||
'step 1'
|
||||
player.draw();
|
||||
'step 2'
|
||||
if(player.hasSkill('skill_feiyi_B_0')) event._result={index:1};
|
||||
else if(player.hasSkill('skill_feiyi_B_1')) event._result={index:0};
|
||||
else{
|
||||
player.chooseControl().set('choiceList',[
|
||||
'本回合使用点数大于'+num+'的牌额外结算一次',
|
||||
'本回合使用点数小于'+num+'的牌额外结算一次',
|
||||
]).set('ai',()=>{
|
||||
var player=_status.event.player;
|
||||
var num=_status.event.player;
|
||||
if(player.getCards('h').reduce(function(num,card){
|
||||
return num=(get.number(card,player)||0);
|
||||
},0)>num*2) return 0;
|
||||
return 1;
|
||||
}).set('num',num);
|
||||
}
|
||||
'step 3'
|
||||
var skill='skill_feiyi_B_'+result.index;
|
||||
player.addTempSkill(skill);
|
||||
player.markAuto(skill,[num]);
|
||||
},
|
||||
subSkill:{
|
||||
'0':{
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
marktext:'技',
|
||||
intro:{
|
||||
markcount:()=>0,
|
||||
content:'使用点数大于$的牌额外结算一次',
|
||||
},
|
||||
audio:'skill_feiyi_B',
|
||||
trigger:{player:'useCard'},
|
||||
filter:function(event,player){
|
||||
var num=get.number(event.card,player);
|
||||
return typeof num=='number'&&player.getStorage('skill_feiyi_B_0').some(numx=>num>numx);
|
||||
},
|
||||
forced:true,
|
||||
content:function(){
|
||||
trigger.effectCount++;
|
||||
game.log(trigger.card,'额外结算一次');
|
||||
},
|
||||
},
|
||||
'1':{
|
||||
charlotte:true,
|
||||
onremove:true,
|
||||
marktext:'能',
|
||||
intro:{
|
||||
markcount:()=>0,
|
||||
content:'使用点数小于$的牌额外结算一次',
|
||||
},
|
||||
audio:'skill_feiyi_B',
|
||||
trigger:{player:'useCard'},
|
||||
filter:function(event,player){
|
||||
var num=get.number(event.card,player);
|
||||
return typeof num=='number'&&player.getStorage('skill_feiyi_B_1').some(numx=>num<numx);
|
||||
},
|
||||
forced:true,
|
||||
content:function(){
|
||||
trigger.effectCount++;
|
||||
game.log(trigger.card,'额外结算一次');
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
//吕伯奢
|
||||
skill_lvboshe:{
|
||||
mode:['doudizhu'],
|
||||
zhuanhuanji:true,
|
||||
mark:true,
|
||||
markcount:'☯',
|
||||
intro:{
|
||||
content:function(storage){
|
||||
if(storage) return '农民的回合结束时,你可以令其进行一个额外回合';
|
||||
return '农民的回合结束时,你可以令地主进行一个额外回合';
|
||||
},
|
||||
},
|
||||
audio:2,
|
||||
trigger:{global:'phaseEnd'},
|
||||
filter:function(event,player){
|
||||
return event.player.identity=='fan';
|
||||
},
|
||||
prompt2:function(event,player){
|
||||
return '令'+get.translation(lib.skill.skill_lvboshe.logTarget(event,player))+'进行一个额外回合';
|
||||
},
|
||||
logTarget:function(event,player){
|
||||
var storage=player.storage.skill_lvboshe;
|
||||
return storage?event.player:game.zhu;
|
||||
},
|
||||
content:function(){
|
||||
var target=lib.skill.skill_lvboshe.logTarget(trigger,player);
|
||||
player.changeZhuanhuanji('skill_lvboshe');
|
||||
target.insertPhase();
|
||||
},
|
||||
},
|
||||
//OL陆郁生
|
||||
olcangxin:{
|
||||
audio:2,
|
||||
trigger:{player:'damageBegin4'},
|
||||
filter:function(event,player){
|
||||
return ui.cardPile.childNodes.length>0;
|
||||
},
|
||||
check:function(event,player){
|
||||
checkx:function(event,player){
|
||||
var target=event.source;
|
||||
return get.damageEffect(player,target,target);
|
||||
return get.damageEffect(player,target,target)<=0;
|
||||
},
|
||||
forced:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var cards=[],cardx=Array.from(ui.cardPile.childNodes);
|
||||
for(var i=cardx.length-1;i>=0;i--){
|
||||
cards.push(cardx[i]);
|
||||
if(cards.length>=3) break;
|
||||
}
|
||||
if(!cards.length){
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
var cards=get.bottomCards(3,true);
|
||||
player.chooseButton(['###藏心:请选择要弃置的牌###若以此法弃置了红桃牌,则防止此伤害',cards],[1,cards.length],true).set('ai',function(button){
|
||||
if(!_status.event.bool&&get.suit(button.link,false)=='heart') return 0;
|
||||
if(get.suit(button.link,false)!='heart') return 1;
|
||||
if(!ui.selected.buttons.some(but=>get.suit(but.link,false)=='heart')) return 1;
|
||||
return 0;
|
||||
});
|
||||
}).set('bool',lib.skill.olcangxin.checkx(trigger,player));
|
||||
'step 1'
|
||||
if(result.bool){
|
||||
player.$throw(result.links,1000);
|
||||
game.cardsDiscard(result.links);
|
||||
if(result.links.some(card=>get.suit(card,false)=='heart')) trigger.cancel();
|
||||
}
|
||||
else event.finish();
|
||||
'step 2'
|
||||
game.delayx();
|
||||
},
|
||||
group:'olcangxin_yingzi',
|
||||
subSkill:{
|
||||
yingzi:{
|
||||
audio:'olcangxin',
|
||||
trigger:{player:'phaseDrawBegin2'},
|
||||
filter:function(event,player){
|
||||
if(event.numFixed) return false;
|
||||
var cards=[],cardx=Array.from(ui.cardPile.childNodes);
|
||||
for(var i=cardx.length-1;i>=0;i--){
|
||||
cards.push(cardx[i]);
|
||||
if(cards.length>=3) break;
|
||||
}
|
||||
return cards.some(card=>get.suit(card,false)=='heart');
|
||||
},
|
||||
trigger:{player:'phaseDrawBegin'},
|
||||
forced:true,
|
||||
locked:false,
|
||||
content:function(){
|
||||
var cards=[],cardx=Array.from(ui.cardPile.childNodes);
|
||||
for(var i=cardx.length-1;i>=0;i--){
|
||||
cards.push(cardx[i]);
|
||||
if(cards.length>=3) break;
|
||||
}
|
||||
cards=cards.filter(card=>get.suit(card,false)=='heart');
|
||||
trigger.num+=cards.length;
|
||||
var cards=get.bottomCards(3,true);
|
||||
player.showCards(cards,get.translation(player)+'发动了【藏心】');
|
||||
trigger.num+=cards.filter(card=>get.suit(card,false)=='heart').length;
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -9131,10 +9504,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.logSkill('olxianlve');
|
||||
player.storage.olxianlve=name;
|
||||
player.markSkill('olxianlve');
|
||||
game.log(player,'声明了','#g'+get.translation(name));
|
||||
}
|
||||
},
|
||||
intro:{content:'已声明【$】'},
|
||||
intro:{
|
||||
content:function(name,player){
|
||||
return '已声明'+(player.isUnderControl(true)?'【'+get.translation(name)+'】':'一个牌名');
|
||||
},
|
||||
},
|
||||
group:['olxianlve_use','olxianlve_count'],
|
||||
subSkill:{
|
||||
count:{
|
||||
|
@ -9251,7 +9627,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
var name=result.links[0][2];
|
||||
player.storage.olxianlve=name;
|
||||
player.markSkill('olxianlve');
|
||||
game.log(player,'声明了','#g'+get.translation(name));
|
||||
}
|
||||
},
|
||||
},
|
||||
|
@ -23905,6 +24280,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.storage.olsaogu) return '转换技。①出牌阶段,你可以。阴:弃置两张牌(不能包含你本阶段弃置过的花色),然后使用其中的【杀】;<span class="bluetext">阳:摸一张牌</span>。②结束阶段,你可以弃置一张牌,令一名其他角色执行你当前〖扫谷①〗的分支。';
|
||||
return '转换技。①出牌阶段,你可以。<span class="bluetext">阴:弃置两张牌(不能包含你本阶段弃置过的花色),然后使用其中的【杀】</span>;阳:摸一张牌。②结束阶段,你可以弃置一张牌,令一名其他角色执行你当前〖扫谷①〗的分支。';
|
||||
},
|
||||
skill_lvboshe:function(player){
|
||||
if(player.storage.skill_lvboshe) return '农民的回合结束时:阴,你可以令地主进行一个额外回合;<span class="bluetext">阳,你可以令其进行一个额外回合</span>。';
|
||||
return '农民的回合结束时:<span class="bluetext">阴,你可以令地主进行一个额外回合</span>;阳,你可以令其进行一个额外回合。';
|
||||
},
|
||||
},
|
||||
characterReplace:{
|
||||
caoshuang:['caoshuang','ns_caoshuang'],
|
||||
|
@ -25082,7 +25461,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olkuansai_info:'当一张牌指定第一个目标后,若目标数大于你的体力值,你可以令其中一个目标选择一项:1.交给你一张牌;2.令你回复1点体力。',
|
||||
ol_luyusheng:'OL陆郁生',
|
||||
olcangxin:'藏心',
|
||||
olcangxin_info:'①当你受到伤害时,你可以观看牌堆底的三张牌并弃置其中任意张牌,若你以此法弃置了红桃牌,则防止此伤害。②摸牌阶段,你多摸X张牌(X为牌堆底前三张牌中红桃牌的数量)。',
|
||||
olcangxin_info:'锁定技。①当你受到伤害时,你观看牌堆底的三张牌并弃置其中任意张牌,若你以此法弃置了红桃牌,则防止此伤害。②摸牌阶段开始时,你展示牌堆底的三张牌,然后摸X张牌(X为其中红桃牌的数量)。',
|
||||
olrunwei:'润微',
|
||||
olrunwei_info:'其他角色的弃牌阶段开始时,若其已受伤,则你可以选择一项:①令其弃置一张牌,其本回合手牌上限+1;②令其摸一张牌,其本回合手牌上限-1。',
|
||||
caoxi:'曹羲',
|
||||
|
@ -25095,6 +25474,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
olqifan_info:'当你需要使用不为【无懈可击】的牌时,你可以观看牌堆底的X+1张牌并使用其中的一张。此牌结算结束时,你依次弃置以下前X个区域中的所有牌:⒈判定区、⒉装备区、⒊手牌区(X为你因此技能使用过的牌中包含的类型数)。',
|
||||
oltuishi:'侻失',
|
||||
oltuishi_info:'锁定技。①你不能使用【无懈可击】。②当你使用点数为字母的牌后,你摸两张牌,且你使用的下一张牌无距离和次数限制。',
|
||||
ol_tw_zhangji:'张既',
|
||||
skill_zhangji_A:'技能',
|
||||
skill_zhangji_A_info:'出牌阶段限X次(X为你的体力值),当你使用牌指定一名其他角色为目标后,你可以观看其手牌,然后你选择一项:<br>1.弃置其一张牌,然后若弃置的牌是能造成火焰伤害的牌,你摸一张牌。<br>2.重铸其手牌中的所有【杀】和【决斗】。<br>3.若其没有【闪】,你与其互相对对方造成1点伤害。',
|
||||
skill_zhangji_B:'技能',
|
||||
skill_zhangji_B_info:'当你受到1点伤害后,你可令一名手牌数小于体力上限的角色摸三张牌,然后其将手牌数弃置至其体力上限数;当你进入濒死状态时,你可令一名其他角色观看五张魏势力武将牌,其可以选择其中一张代替自己的武将牌(体力和体力上限不变)。',
|
||||
ol_feiyi:'费祎',
|
||||
skill_feiyi_A:'技能',
|
||||
skill_feiyi_A_info:'出牌阶段各限一次,若你的手牌数为:①奇数,你可以摸三张牌,然后弃置至少一半手牌(向下取整);②偶数,你可以弃置至少一半手牌,然后摸三张牌。',
|
||||
skill_feiyi_B:'技能',
|
||||
skill_feiyi_B_info:'每回合每项限一次,当你的手牌数变为1后,你可以展示此唯一手牌A并摸一张牌,然后你选择一项:①本回合使用点数大于A的点数的牌额外结算一次;②本回合使用点数小于A的点数的牌额外结算一次。',
|
||||
ol_lvboshe:'吕伯奢',
|
||||
skill_lvboshe:'技能',
|
||||
skill_lvboshe_info:'农民的回合结束时:阴,你可以令地主进行一个额外回合;阳,你可以令其进行一个额外回合。',
|
||||
|
||||
|
||||
sp_tianji:'天极·皇室宗亲',
|
||||
sp_sibi:'四弼·辅国文曲',
|
||||
|
|
|
@ -2042,7 +2042,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
'step 0'
|
||||
trigger._dunxi=true;
|
||||
trigger.player.removeMark('dunxi',1);
|
||||
var target=trigger.target;
|
||||
var target=trigger.targets[0];
|
||||
event.target=target;
|
||||
trigger.targets.remove(target);
|
||||
//trigger.triggeredTargets1.remove(target);
|
||||
|
|
|
@ -1358,15 +1358,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:'zhaofu',
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
filter:function(event,player){
|
||||
return player.hasZhuSkill('xinzhaofu');
|
||||
},
|
||||
mark:true,
|
||||
limited:true,
|
||||
skillAnimation:true,
|
||||
animationColor:'wood',
|
||||
selectTarget:[1,2],
|
||||
filterTarget:lib.filter.notMe,
|
||||
zhuSkill:true,
|
||||
contentBefore:function(){
|
||||
player.awakenSkill('xinzhaofu');
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue