various bug fix

This commit is contained in:
Spmario233 2023-06-12 18:52:21 +08:00
parent 7482e8a0bd
commit ca7a363172
11 changed files with 122 additions and 284 deletions

View File

@ -506,7 +506,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var winner=result.bool?player:target;
var cards=[];
game.getGlobalHistory('cardMove',evt=>{
if(evt.getParent(2)==event) cards.addArray(evt.cards.filterInD('d'));
if(evt.getParent(3)==event) cards.addArray(evt.cards.filterInD('d'));
});
event.winner=winner;
if(cards.length) event.cards=cards;
@ -1108,8 +1108,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audioname:['clan_xunshu','clan_xunchen','clan_xuncai','clan_xuncan'],
trigger:{player:'useCardAfter'},
filter:function(event,player){
return player.getHistory('useCard',evt=>{
return get.type(evt.card)=='trick'&&!get.tag(evt.card,'damage');
return get.type(evt.card,null,false)=='trick'&&!get.tag(evt.card,'damage')&&event.cards.filterInD('d').length>0&&player.getHistory('useCard',evt=>{
return get.type(evt.card,null,false)=='trick'&&!get.tag(evt.card,'damage');
}).indexOf(event)==0;
},
forced:true,

View File

@ -221,7 +221,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
diy_default:["diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji"],
diy_noname:['noname'],
diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha","key_shizuku","key_hiroto","key_sakuya","key_youta","key_rumi","key_chihaya","key_yukito","key_asara","key_kotomi","key_mia","key_kano","db_key_liyingxia","key_erika","key_satomi"],
diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang','old_bulianshi','junk_sunquan','ol_maliang','junk_liubei','junk_huangyueying','junk_lidian'],
diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang','old_bulianshi','junk_sunquan','ol_maliang','junk_liubei','junk_huangyueying','junk_lidian','junk_duanwei'],
},
},
characterIntro:{
@ -752,6 +752,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
game.delayex();
}
},
content2:function(){
'step 0'
player.chooseTarget([1,3],'是否弃置至多三名角色的各一张牌?',function(card,player,target){
return target!=player&&target.hasCard(function(card){
return lib.filter.canBeDiscarded(card,player,target);
},'he')
});
'step 1'
if(result.bool){
var targets=result.targets.sortBySeat();
for(var target of targets){
player.discardPlayerCard(target,true,'he');
}
}
'step 2'
player.recover();
player.draw();
},
content3:function(){
'step 0'
player.chooseTarget([1,2],'是否对至多两名其他角色造成1点伤害',lib.filter.notMe);
@ -12379,6 +12397,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:['useCardAfter','respondAfter']},
forced:true,
popup:false,
charlotte:true,
filter:function(event,player){
return event.skill=='junktaoluan_backup'||event.skill=='junktaoluan5'||event.skill=='junktaoluan4';
},
@ -12422,6 +12441,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'phaseEnd'},
forced:true,
popup:false,
charlotte:true,
content:function(){
player.loseHp();
},
@ -18151,7 +18171,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
iriya_haozhi:'豪掷',
iriya_haozhi_info:'出牌阶段,你可以按照斗地主牌型弃置至少两张牌,且其他角色可以依次对其进行一轮响应。最后一名进行响应的角色可以根据对应牌型执行对应效果。'
+'对子:其可以令至多两名角色各摸一张牌。'
+'三带:其使用的下一张牌可以多指定一个目标且无距离和次数限制。'
+'三带:其可以弃置至多三名其他角色的各一张牌然后回复1点体力并摸一张牌。'
+'单顺其可以对至多2名其他角色造成1点伤害。'
+'双顺其可以弃置至多2名其他角色的一张牌并对其造成1点伤害。'
+'三顺/飞机其可以令至多2名其他角色翻面弃置其的一张牌并对其造成1点伤害。'

View File

@ -4273,11 +4273,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{global:'judge'},
direct:true,
filter:function(event,player){
return player.countCards('he')>0&&player.hasMark('renjie');
return player.countCards('hes')>0&&player.hasMark('renjie');
},
content:function(){
"step 0"
player.chooseCard('是否弃置一枚“忍”,并发动〖鬼才〗?','he',function(card){
player.chooseCard('是否弃置一枚“忍”,并发动〖鬼才〗?','hes',function(card){
var player=_status.event.player;
var mod2=game.checkMod(card,player,'unchanged','cardEnabled2',player);
if(mod2!='unchanged') return mod2;
@ -4774,7 +4774,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:'enterGame',
},
forced:true,
locked:false,
filter:function(event,player){
return (event.name!='phase'||game.phaseNumber==0);
},
@ -4808,8 +4807,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gains.removeArray(player.getCards('h'));
if(!pushs.length||pushs.length!=gains.length) return;
player.addToExpansion(pushs,player,'giveAuto').gaintag.add('qixing');
game.log(player,'将',pushs,'作为“星”置于武将牌上');
player.gain(gains,'gain2');
//game.log(player,'将','#y'+get.cnNumber(pushs.length)+'张牌','作为“星”置于武将牌上');
player.gain(gains,'draw');
}
},
intro:{
@ -4873,8 +4872,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(!pushs.length||pushs.length!=gains.length) return;
player.logSkill('qixing2');
player.addToExpansion(pushs,player,'giveAuto').gaintag.add('qixing');
game.log(player,'将',pushs,'作为“星”置于武将牌上');
player.gain(gains,'gain2');
//game.log(player,'将','#y'+get.cnNumber(pushs.length)+'张牌','作为“星”置于武将牌上');
player.gain(gains,'draw');
}
},
},

View File

@ -793,7 +793,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:3,
trigger:{global:'phaseBefore',player:'enterGame'},
forced:true,
locked:false,
global:'spdaming_give',
filter:function(event,player){
return (event.name!='phase'||game.phaseNumber==0);
@ -12200,7 +12199,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
else player.discardPlayerCard('he',target,true);
'step 2'
player.chooseBool('是否令'+get.translation(target)+'获得一张【杀】?').set('ai',function(){
var evt=status.event.getParent();
var evt=_status.event.getParent();
return get.attitude(evt.player,evt.target)>0;
});
'step 3'
@ -12234,6 +12233,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'damageEnd'},
forced:true,
popup:false,
charlotte:true,
filter:function(event,player){
return event.card&&event.card.beizhu;
},
@ -15688,33 +15688,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
"xinfu_qianchong":{
audio:3,
mod:{
targetInRange:function(card,player,target){
if(player.storage.xinfu_qianchong.contains(get.type(card,'trick'))){
return true;
}
},
cardUsable:function(card,player,num){
if(player.storage.xinfu_qianchong.contains(get.type(card,'trick'))) return Infinity;
},
},
group:["xinfu_qianchong_clear","qc_weimu","qc_mingzhe"],
group:["qc_weimu","qc_mingzhe"],
subSkill:{
clear:{
sub:true,
forced:true,
silent:true,
popup:false,
trigger:{
player:"phaseAfter",
effect:{
charlotte:true,
onremove:true,
mod:{
cardUsable:function(card,player){
var type=get.type2(card);
if(player.getStorage('xinfu_qianchong_effect').contains(type)) return Infinity;
},
content:function(){
player.storage.xinfu_qianchong=[];
targetInRange:function(card,player){
var type=get.type2(card);
if(player.getStorage('xinfu_qianchong_effect').contains(type)) return Infinity;
},
},
},
init:function(event,player){
event.storage[player]=[];
},
trigger:{
player:"phaseUseBegin",
@ -15732,20 +15721,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){
'step 0'
var list=['basic','trick','equip','cancel2'];
for(var i=0;i<player.storage.xinfu_qianchong.length;i++){
list.remove(player.storage.xinfu_qianchong[i]);
}
list.removeArray(player.getStorage('xinfu_qianchong_effect'));
if(list.length>1){
player.chooseControl(list).set('ai',function(){
return list[0];
}).set('prompt',get.prompt('xinfu_qianchong')).set('prompt2',get.translation('xinfu_qianchong_info'));
}).set('prompt',get.prompt('xinfu_qianchong')).set('prompt2','你可以选择一种类别的牌,然后你本回合内使用该类别的牌时没有次数和距离限制。');
}
else event.finish();
'step 1'
if(result.control&&result.control!='cancel2'){
player.logSkill('xinfu_qianchong');
player.storage.xinfu_qianchong.add(result.control);
var str=get.translation(result.control)+'牌';
var type=result.control;
player.addTempSkill('xinfu_qianchong_effect');
player.markAuto('xinfu_qianchong_effect',[type]);
var str=get.translation(type)+'牌';
game.log(player,'声明了','#y'+str);
player.popup(str,'thunder');
}
@ -15827,6 +15816,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(event,player){
var num=0;
player.getHistory('lose',function(evt){
var evt2=evt.getParent();
if(evt2.name=='useCard'&&evt2.player==player&&get.type(evt2.card,null,false)=='equip') return;
if(evt.cards2) num+=evt.cards2.length;
});
return num>0&&num<=player.hp
@ -15836,6 +15827,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0'
var num=0;
player.getHistory('lose',function(evt){
var evt2=evt.getParent();
if(evt2.name=='useCard'&&evt2.player==player&&get.type(evt2.card,null,false)=='equip') return;
if(evt.cards2) num+=evt.cards2.length;
});
if(num>0){
@ -17624,7 +17617,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
gnjinfan:{
trigger:{player:'phaseDiscardBegin'},
direct:true,
locked:false,
audio:2,
filter:function(event,player){
var list=[];
@ -17854,7 +17846,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yangbiao:['yangbiao','dc_yangbiao','jsrg_yangbiao'],
qiaozhou:['yj_qiaozhou','qiaozhou'],
sunhanhua:['dc_qiaozhou','sunhanhua'],
sp_duyu:['sp_duyu','pk_sp_duyu'],
duyu:['duyu','sp_duyu','pk_sp_duyu'],
kongrong:['sp_kongrong','jsrg_kongrong','kongrong'],
},
translate:{
@ -17901,7 +17893,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"qc_mingzhe":"明哲",
"qc_mingzhe_info":"",
"xinfu_shangjian":"尚俭",
"xinfu_shangjian_info":"锁定技。一名角色的结束阶段开始时,若你于此回合内失去了X张或更少的牌则你摸等量的牌X为你的体力值。",
"xinfu_shangjian_info":"锁定技。一名角色的结束阶段开始时,若你于此回合内不因使用装备牌而失去了X张或更少的牌则你摸等量的牌X为你的体力值。",
"rw_bagua_skill":"先天八卦阵",
"rw_bagua_skill_info":"当你需要使用或打出一张【闪】时,你可以进行判定,若判定结果不为黑桃,视为你使用或打出了一张【闪】。",
"rw_baiyin_skill":"照月狮子盔",
@ -18672,7 +18664,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
tongduo_info:'每回合限一次。当你成为其他角色使用牌的唯一目标后,你可令一名角色重铸一张牌。',
xin_jushou:'手杀沮授',
xinjianying:'渐营',
xinjianying_info:'①当你于出牌阶段内使用与此阶段你使用的上一张牌点数或花色相同的牌时,你可以摸一张牌。②出牌阶段限一次,你可以将一张牌当做任意基本牌使用(不计入次数限制)。若你于此阶段内使用的上一张牌有花色,则此牌的花色视为上一张牌的花色。',
xinjianying_info:'锁定技。①当你于出牌阶段内使用与此阶段你使用的上一张牌点数或花色相同的牌时,你可以摸一张牌。②出牌阶段限一次,你可以将一张牌当做任意基本牌使用(不计入次数限制)。若你于此阶段内使用的上一张牌有花色,则此牌的花色视为上一张牌的花色。',
re_xunyu:"手杀荀彧",
rejieming:"节命",
rejieming_info:"当你受到1点伤害后你可以令一名角色摸两张牌。然后若其手牌数小于体力上限则你摸一张牌。",
@ -18690,7 +18682,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
chengye_append:'<span style="font-family:yuanli"><li>《诗经》:伤害类锦囊牌<br><li>《尚书》:基本牌<br><li>《仪礼》:无懈可击<br><li>《易经》:无中生有<br><li>《乐经》:乐不思蜀<br><li>《春秋》:装备牌</span>',
buxu:'补叙',
buxu_backup:'补叙',
buxu_info:'出牌阶段若你的“六经”中有空缺的位置则你可以弃置X+1张牌并选择一种空缺的“六经”。系统从牌堆或弃牌堆中检索一张对应的牌,然后你将此牌置于你武将牌上,填补“六经”的对应位置。',
buxu_info:'出牌阶段若你的“六经”中有空缺的位置则你可以弃置X+1张牌并选择一种空缺的“六经”X为你本阶段内发动过〖补叙〗的次数。系统从牌堆或弃牌堆中检索一张对应的牌,然后你将此牌置于你武将牌上,填补“六经”的对应位置。',
re_dianwei:"手杀典韦",
liuye:'手杀刘晔',
sp_caosong:'手杀曹嵩',

View File

@ -279,6 +279,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
priority:10,
filter:function(event,player){
if(event.revealed) return false;
var info=get.info(event.skill);
if(info.charlotte) return false;
var skills=lib.skill.sbyingmen.getSkills(player.getStorage('sbyingmen'),player);
game.expandSkills(skills);
return skills.contains(event.skill);
@ -3338,7 +3340,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
psliaozou:{
audio:2,
enable:'phaseUse',
locked:false,
filter:function(event,player){
return !player.hasSkill('psliaozou_blocker',null,null,false);
},
@ -4226,7 +4227,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filterCard:true,
selectCard:-1,
position:'h',
locked:false,
filter:function(event,player){
if(player.hasSkill('pssheji_used')) return false;
var hs=player.getCards('h');
@ -5412,7 +5412,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
enable:'phaseUse',
usable:1,
locked:false,
filter:function(event,player){
for(var card of ui.discardPile.childNodes){
if(get.type(card)=='equip') return true;
@ -6663,7 +6662,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
spyicong:{
trigger:{player:'phaseDiscardEnd'},
direct:true,
locked:false,
filter:function(event,player){
return player.countCards('he')>0;
},
@ -6701,7 +6699,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sptuji:{
trigger:{player:'phaseZhunbeiBegin'},
forced:true,
locked:false,
filter:function(event,player){
return player.getExpansions('spyicong').length>0;
},
@ -6929,7 +6926,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'useCardToPlayered'},
silent:true,
firstDo:true,
locked:false,
content:function(){
trigger.target.addTempSkill('chixin3');
}
@ -6961,7 +6957,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
}
},
chixin3:{charlotte:true},
chixin3:{},
suiren:{
trigger:{player:'phaseZhunbeiBegin'},
skillAnimation:true,
@ -7521,7 +7517,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
trigger:{global:'phaseJieshuBegin'},
forced:true,
locked:false,
filter:function(event,player){
return player.hasSkill('fenyong2')&&event.player.isAlive();
},
@ -7580,7 +7575,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
trigger:{player:'loseEnd'},
forced:true,
locked:false,
filter:function(event,player){
return player._mouduan_mark&&player._mouduan_mark.name=='武'&&player.countCards('h')<=2;
},

View File

@ -567,6 +567,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
silent:true,
popup:false,
firstDo:true,
charlotte:true,
filter:function(event,player){
return event.skill&&event.skill.indexOf('old_guhuo_')==0;
},

View File

@ -26,7 +26,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_wenpin:['male','wei',5,['rezhenwei'],['unseen']],
re_guanzhang:['male','shu',4,['fuhun','retongxin']],
re_mazhong:['male','shu',4,['refuman']],
dc_chenqun:['male','wei',3,['repindi','refaen']],
dc_chenqun:['male','wei',3,['repindi','dcfaen']],
re_sundeng:['male','wu',4,['rekuangbi']],
re_caiyong:['male','qun',3,['rebizhuan','retongbo']],
re_chengong:['male','qun',3,['remingce','zhichi']],
@ -3234,7 +3234,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
enable:'phaseUse',
group:'rejiaozhao_base',
locked:false,
mod:{
targetEnabled:function(card,player,target){
if(player==target&&card.storage&&card.storage.rejiaozhao) return false;
@ -5221,6 +5220,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audioname:['dc_chenqun'],
trigger:{global:['turnOverAfter','linkAfter']},
logTarget:'player',
filter:function(event,player){
if(event.name=='link') return event.player.isLinked();
return true;
},
check:function(event,player){
return get.attitude(player,event.player)>0;
},
content:function(){
trigger.player.draw();
},
},
dcfaen:{
audio:'refaen',
audioname:['dc_chenqun'],
trigger:{global:['turnOverAfter','linkAfter']},
logTarget:'player',
filter:function(event,player){
if(event.name=='link') return event.player.isLinked();
return !event.player.isTurnedOver();
@ -5312,7 +5327,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return false;
},
audio:'lihuo',
locked:false,
prompt2:function(event){
return '将'+get.translation(event.card)+'改为火属性';
},
@ -9598,6 +9612,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},player,list);
},
mark:true,
intro:{
onunmark:function(storage,player){
_status.characterlist.addArray(storage.character);
@ -9874,6 +9889,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
silent:true,
popup:false,
firstDo:true,
charlotte:true,
filter:function(event,player){
return event.skill&&event.skill.indexOf('reguhuo_')==0;
},
@ -13269,7 +13285,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.finish();
}
else if(get.mode()=='guozhan'){
player.chooseBool('是否将'+get.translation(card)+'作为“田”置于武将牌上?').set('frequentSkill','retuntian').ai=function(){
player.chooseBool('是否将'+get.translation(card)+'作为【田】置于武将牌上?').set('frequentSkill','retuntian').ai=function(){
return true;
};
}
@ -13870,7 +13886,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
re_baosanniang:'手杀鲍三娘',
retuntian:'屯田',
rebeige:'悲歌',
retuntian_info:'①当你于回合外失去牌后,你可以判定。若判定结果为♥,你获得此判定牌。否则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-XX为你武将牌上“田”的数目',
retuntian_info:'当你于回合外失去牌时,你可以进行一次判定。若判定结果为♥,你获得此判定牌。否则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-XX为你武将牌上【田】的数目',
rebeige_info:'当有角色受到【杀】造成的伤害后你可以弃一张牌并令其进行一次判定若判定结果为♥该角色回复X点体力(X为伤害点数);♦︎该角色摸三张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面',
re_liushan:'手杀刘禅',
re_sunben:'界孙笨',
@ -14006,8 +14022,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
ol_dengai:'界邓艾',
oltuntian:'屯田',
olzaoxian:'凿险',
oltuntian_info:'当你于回合外失去牌后,或于回合内因弃置而失去【杀】后,你可以判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-XX为你武将牌上“田”的数目',
olzaoxian_info:'觉醒技,准备阶段,若你武将牌上“田”的数量达到3张或更多则你减1点体力上限并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。',
oltuntian_info:'当你于回合外失去牌后,或于回合内因弃置而失去【杀】后,你可以进行判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-XX为你武将牌上【田】的数目',
olzaoxian_info:'觉醒技,准备阶段,若你武将牌上【田】的数量达到3张或更多则你减1点体力上限并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。',
re_sunxiu:'界孙休',
re_caoxiu:'界曹休',
xin_lingtong:'界凌统',
@ -14072,7 +14088,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
redingpin:'定品',
redingpin_info:'出牌阶段,你可以弃置一张本回合未使用过/弃置过的类型的牌并选择一名角色。其进行判定若结果为黑色其摸X张牌X为其体力值且至多为3且本回合内不能再成为〖定品〗的目标红桃你令此次弃置的牌不计入〖定品〗弃置牌合法性的检测方片你将武将牌翻面。',
refaen:'法恩',
refaen_info:'一名角色翻至正面或横置后,你可令其摸一张牌。',
refaen_info:'一名角色翻面或横置后,你可令其摸一张牌。',
dcfaen:'法恩',
dcfaen_info:'一名角色翻至正面或横置后,你可令其摸一张牌。',
reshizhi:'矢志',
reshizhi_info:'锁定技若你的体力值为1则你的【闪】视为【杀】且当你使用对应的实体牌为一张【闪】的非转化普通杀造成伤害后你回复1点体力。',
re_guotufengji:'界郭图逢纪',
@ -14113,7 +14131,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rebingyi_info:'结束阶段你可展示所有手牌。若这些牌颜色均相同则你可以令至多X名角色各摸一张牌X为你的手牌数点数均相同则你摸一张牌。',
re_jiaxu:'界贾诩',
rewansha:'完杀',
rewansha_info:'锁定技。①你的回合内,不处于濒死状态的角色不能使用【桃】。②当有角色于你的回合内进入濒死状态时,你令其以外的所有其他角色的非锁定技失效直到此濒死状态结算结束。',
rewansha_info:'锁定技。①你的回合内,不处于濒死状态的其他角色不能使用【桃】。②当有角色于你的回合内进入濒死状态时,你令其以外的所有其他角色的非锁定技失效直到此濒死状态结算结束。',
reluanwu:'乱武',
reluanwu_info:'限定技出牌阶段你可令所有其他角色依次选择一项①对距离最近或之一的角色使用一张【杀】②失去1点体力。结算完成后你可视为使用一张【杀】无距离限制。',
reweimu:'帷幕',

View File

@ -1139,7 +1139,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"drlt_yongsi":{
audio:2,
group:["drlt_yongsi_1","drlt_yongsi_2"],
locked:true,
subSkill:{
'1':{
audio:"drlt_yongsi",
@ -3195,7 +3194,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audioname:['re_huangzhong','ol_huangzhong'],
trigger:{player:'useCardToTargeted'},
logTarget:'target',
locked:false,
check:function(event,player){
return get.attitude(player,event.target)<=0;
},
@ -3657,7 +3655,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return;
}
event.card=result.card;
player.chooseBool('是否将'+get.translation(event.card)+'作为“田”置于武将牌上?').ai=function(){
player.chooseBool('是否将'+get.translation(event.card)+'作为【田】置于武将牌上?').ai=function(){
return true;
};
'step 2'
@ -7530,6 +7528,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
silent:true,
popup:false,
firstDo:true,
charlotte:true,
filter:function(event,player){
return event.skill&&(event.skill.indexOf('guhuo_')==0||event.skill.indexOf('xinfu_guhuo_')==0);
},
@ -7741,6 +7740,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhugezhan:['zhugezhan','old_zhugezhan'],
ol_lusu:['ol_lusu','re_lusu'],
zhanghe:['re_zhanghe','zhanghe'],
yl_luzhi:['yl_luzhi','tw_yl_luzhi'],
},
translate:{
re_yuanshao:'袁绍',
@ -7906,7 +7906,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
retianxiang_info:'当你受到伤害时你可以弃置一张红桃手牌防止此次伤害并选择一名其他角色然后你选择一项1.令其受到伤害来源对其造成的1点伤害然后摸X张牌X为其已损失体力值且至多为52.令其失去1点体力然后获得你弃置的牌。',
xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你的武将牌从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌',
xinjushou_info:'结束阶段,你可以翻面并摸四张牌,然后弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之',
jixi_info:'出牌阶段,你可以将任意一张“田”当作【顺手牵羊】使用',
jixi_info:'出牌阶段,你可以将任意一张【田】当作【顺手牵羊】使用',
xinqiangxi_info:'出牌阶段各限一次你可以选择一项1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害2. 弃置一张装备牌并对你攻击范围内的一名其他角色造成一点伤害 ',
qimou_info:'限定技,出牌阶段,你可以失去任意点体力,然后直到回合结束,你计算与其他角色的距离时-X且你可以多使用X张【杀】X为你失去的体力值',
tiaoxin_info:'出牌阶段限一次,你可以指定一名攻击范围内包含你的角色,该角色需对你使用一张【杀】,否则你弃置其一张牌。',
@ -7915,11 +7915,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
fangquan_info:'你可跳过你的出牌阶段,若如此做,回合结束时,你可以弃置一张手牌并令一名其他角色进行一个额外的回合。',
ruoyu_info:'主公技,觉醒技,准备阶段,若你的体力是全场最少的(或之一)你须增加1点体力上限并回复1点体力然后获得技能〖激将〗。',
qiaobian_info:'你可以弃置一张手牌并跳过自己的一个阶段(准备阶段和结束阶段除外);若你以此法跳过了摸牌阶段,则你可以获得至多两名其他角色的各一张手牌;若你以此法跳过了出牌阶段,则你可以移动场上的一张牌。',
tuntian_info:'①当你于回合外失去牌后,你可以判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-XX为你武将牌上“田”的数目)',
zaoxian_info:'觉醒技,准备阶段,若你武将牌上“田”的数量达到3张或更多则你减1点体力上限并获得技能〖急袭〗',
tuntian_info:'当你于回合外失去牌时,你可以进行一次判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-XX为你武将牌上【田】的数目)',
zaoxian_info:'觉醒技,准备阶段,若你武将牌上【田】的数量达到3张或更多则你减1点体力上限并获得技能〖急袭〗',
jiang_info:'每当你使用(指定目标后)或被使用(成为目标后)一张【决斗】或红色的【杀】时,你可以摸一张牌。',
hunzi_info:'觉醒技准备阶段若你的体力值为1你减1点体力上限并获得技能〖英姿〗和〖英魂〗。',
zhiba_info:'主公技,其他吴势力角色的出牌阶段限一次,其可与你进行一次拼点。若该角色没赢,你可以获得双方拼点的牌。若你已发动过〖魂姿〗,你可以拒绝此拼点。',
zhiba_info:'主公技,其他吴势力角色的出牌阶段限一次,其可与你进行一次拼点。若该角色没赢,你可以获得双方拼点的牌;你的觉醒技发动后,你可以拒绝此拼点。',
zhijian_info:'出牌阶段,你可以将手牌中的一张装备牌置于一名其他角色装备区里(不得替换原装备),然后摸一张牌。',
guzheng_info:'其他角色的弃牌阶段结束时,你可以令其获得本阶段内进入弃牌堆的牌中的一张,然后你获得其余的牌。',
beige_info:'当有角色受到【杀】造成的伤害后你可以弃一张牌并令其进行一次判定若判定结果为♥该角色回复1点体力该角色摸两张牌♣伤害来源弃两张牌♠伤害来源将其武将牌翻面',
@ -7987,7 +7987,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yinghun_old_info:'准备阶段,若你已受伤,则你可以令一名其他角色执行下列两项中的一项: 1.摸X张牌然后弃一张牌。 2.摸一张牌然后弃X张牌。 X为你已损失的体力值',
jiuchi_info:'你可以将一张♠手牌当作【酒】使用。',
roulin_info:'锁定技。你对女性角色、女性角色对你使用【杀】时,都需连续使用两张【闪】才能抵消。',
benghuai_info:'锁定技。结束阶段若你的体力不为全场最少你失去1点体力或减1点体力上限。',
benghuai_info:'结束阶段,若你的体力不是全场最少的(或之一)你须减1点体力或体力上限。',
baonue_info:'主公技其他群雄角色造成伤害后可进行一次判定若为♠你回复1点体力。',
luanwu_info:'限定技出牌阶段你可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】否则失去1点体力。',
wansha_info:'锁定技,你的回合内,除你以外,不处于濒死状态的角色不能使用【桃】。',

View File

@ -11,7 +11,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao","jin_guohuai"],
sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan','ol_puyuan','zhangzhi'],
sp_huben:["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'],
sp_liesi:['mizhu','weizi','ol_liuba','zhangshiping'],
sp_liesi:['mizhu','weizi','ol_liuba'],
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:['sunhong','luoxian','ol_huban','wangguan'],
sp_qifu:["caoying",'panshu',"caochun","yuantanyuanshang",'caoshuang','wolongfengchu','guansuo','baosanniang','fengfangnv','jin_zhouchu'],
@ -29,7 +29,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
character:{
zhangshiping:['male','shu',3,['olhongji','olxinggu']],
sunhong:['male','wu',3,['olxianbi','olzenrun']],
luoxian:['male','shu',4,['oldaili']],
ol_huban:['male','wei',4,['olhuiyun']],
@ -678,169 +677,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
},
skill:{
//张世平
olhongji:{
audio:2,
trigger:{global:'phaseZhunbeiBegin'},
filter:function(event,player){
if(event.player.isMinHandcard(true)&&!player.hasSkill('olhongji_min')) return true;
if(event.player.isMaxHandcard(true)&&!player.hasSkill('olhongji_max')) return true;
return false;
},
logTarget:'player',
check:function(event,player){
return get.attitude(player,event.player)>0;
},
prompt2:function(event,player){
if(event.player.isMinHandcard(true)){
return '其手牌数为全场唯一最少。你可以令其于本回合摸牌阶段结束后执行一个额外的摸牌阶段,然后本轮你不能再发动该分支。';
}
return '其手牌数为全场唯一最多。你可以令其于本回合出牌阶段结束后执行一个额外的出牌阶段,然后本轮你不能再发动该分支。';
},
content:function(){
var target=trigger.player;
if(target.isMinHandcard(true)){
player.addTempSkill('olhongji_min','roundStart');
target.addTempSkill('olhongji_draw');
}
if(target.isMaxHandcard(true)){
player.addTempSkill('olhongji_max','roundStart');
target.addTempSkill('olhongji_use');
}
},
ai:{expose:0.25},
subSkill:{
min:{charlotte:true},
max:{charlotte:true},
draw:{
trigger:{player:'phaseDrawAfter'},
charlotte:true,
forced:true,
popup:false,
content:function(){
var next=trigger.player.phaseDraw();
event.next.remove(next);
trigger.getParent('phase').next.push(next);
player.removeSkill('olhongji_draw');
}
},
use:{
trigger:{player:'phaseUseAfter'},
charlotte:true,
forced:true,
popup:false,
content:function(){
var next=trigger.player.phaseUse();
event.next.remove(next);
trigger.getParent('phase').next.push(next);
player.removeSkill('olhongji_use');
}
}
}
},
olxinggu:{
audio:2,
trigger:{global:'phaseBefore',player:'enterGame'},
forced:true,
locked:false,
filter:function(event,player){
return (event.name!='phase'||game.phaseNumber==0);
},
onremove:function(player,skill){
var cards=player.getExpansions(skill);
if(cards.length) player.loseToDiscardpile(cards);
},
group:'olxinggu_trade',
content:function(){
'step 0'
var cards=[];
for(var i=0;i<3;i++){
var card=get.cardPile2(function(card){
if(cards.contains(card)) return false;
var type=get.subtype(card);
return type=='equip3'||type=='equip4'||type=='equip6';
});
if(card) cards.add(card);
else break;
}
if(cards.length) player.addToExpansion(cards,'draw').gaintag.add('olxinggu');
},
marktext:'贾',
intro:{
markcount:'expansion',
mark:function(dialog,content,player){
var content=player.getExpansions('olxinggu');
if(content&&content.length){
if(player==game.me||player.isUnderControl()){
dialog.addAuto(content);
}
else{
return '剩余'+get.cnNumber(content.length)+'匹马';
}
}
}
},
subSkill:{
trade:{
audio:'olxinggu',
trigger:{player:'phaseJieshuBegin'},
filter:function(event,player){
return player.getExpansions('olxinggu').length;
},
direct:true,
content:function(){
'step 0'
var cards=player.getExpansions('olxinggu');
if(_status.connectMode) game.broadcastAll(function(){_status.noclearcountdown=true});
player.chooseButton([get.prompt('olxinggu'),cards]).set('ai',button=>{
if(_status.event.toChoose==button.link) return 1;
return 0;
}).set('toChoose',!event.aiCancel&&cards.find(card=>{
return game.hasPlayer(current=>{
if(!lib.skill.zhijian.filterTarget(card,player,current)) return false;
return get.effect(current,card,player,player)>0;
});
}));
'step 1'
if(result.bool){
var card=result.links[0];
event.card=card;
player.chooseTarget('将'+get.translation(card)+'置入一名其他角色的装备区',lib.skill.zhijian.filterTarget).set('ai',target=>{
var player=_status.event.player;
return get.effect(target,_status.event.card,player,player);
}).set('card',card);
}
else{
if(_status.connectMode){game.broadcastAll(function(){delete _status.noclearcountdown;game.stopCountChoose()});}
event.finish();
}
'step 2'
if(result.bool){
var target=result.targets[0];
event.target=target;
if(_status.connectMode){game.broadcastAll(function(){delete _status.noclearcountdown;game.stopCountChoose()});}
player.logSkill('olxinggu',target);
player.$give(card,target,false);
}
else{
if(!event.isMine()&&!event.isOnline()) event.aiCancel=true;
event.goto(0);
}
'step 3'
target.equip(card);
'step 4'
var card=get.cardPile2(cardx=>{
return get.suit(cardx)=='diamond';
});
if(card) player.gain(card,'gain2');
else{
game.log('但是牌堆中并没有♦牌了!');
player.chat('做了个亏本买卖…');
}
}
}
}
},
//孙弘
olxianbi:{
audio:2,
@ -968,7 +804,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
})%2==0;
},
group:'oldaili_record',
locked:false,
check:function(event,player){
if(get.distance(event.player,player,'absolute')==1&&!player.isTurnedOver()) return false;
return true;
@ -1373,7 +1208,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
'step 0'
player.chooseControl('cancel2').set('choiceList',[
'令'+get.translation(trigger.player)+'回复1点体力',
'令'+get.translation(trigger.player)+'于本回合下次造成的伤害+1且造成伤害本回合手牌上限为0',
'令'+get.translation(trigger.player)+'于本回合下次造成的伤害+1且造成伤害本回合手牌上限为0',
]).set('prompt',get.prompt('olkangrui',trigger.player)).set('ai',()=>{
return _status.event.choice;
}).set('choice',function(){
@ -1427,7 +1262,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
},
nil:{
trigger:{source:'damageBegin1'},
trigger:{source:'damageSource'},
charlotte:true,
forced:true,
onremove:true,
@ -3933,7 +3768,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
huamu:{
audio:2,
trigger:{player:'useCardAfter'},
locked:false,
filter:function(event,player){
var color=get.color(event.card);
if(color=='none') return false;
@ -9218,7 +9052,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
source:'damageSource',
},
forced:true,
locked:false,
content:function(){
player.addMark('reluanzhan',1,false);
},
@ -9274,7 +9107,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:'luanzhan',
trigger:{player:'useCardToPlayered'},
forced:true,
locked:false,
filter:function(event,player){
if(!event.isFirstTarget||(event.card.name!='sha'&&(get.color(event.card)!='black'||get.type(event.card)!='trick'))||!player.countMark('reluanzhan')) return false;
var info=get.info(event.card);
@ -11228,7 +11060,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.removeAdditionalSkill('new_luoyan');
},
derivation:['oltianxiang','liuli'],
locked:true,
},
//新孙鲁育
"new_meibu":{
@ -13870,7 +13701,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
xinyongsi:{
group:['xinyongsi1','xinyongsi2'],
locked:true,
},
xinyongsi1:{
audio:'yongsi1',
@ -15703,7 +15533,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xunzhi:{
audio:2,
trigger:{player:'phaseZhunbeiBegin'},
locked:false,
init:function(player){
player.storage.xunzhi=0;
},
@ -16736,6 +16565,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yuhua:{
trigger:{player:['phaseZhunbeiBegin','phaseJieshuBegin']},
forced:true,
locked:false,
audio:2,
content:function(){
"step 0"
@ -17463,7 +17293,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
guiming:{
unique:true,
zhuSkill:true,
locked:true,
},
canshi:{
audio:2,
@ -20018,7 +19847,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
yongsi:{
group:['yongsi1','yongsi2'],
locked:true,
ai:{
threaten:2.2
}
@ -21941,11 +21769,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lisu:['ol_lisu','lisu'],
fuwan:['dc_fuwan','fuwan','sp_fuwan','tw_fuwan'],
huaxin:['ol_huaxin','huaxin','sp_huaxin'],
xujing:['xujing','tw_sp_xujing','sp_xujing'],
xujing:['xujing','tw_xujing','sp_xujing'],
zhaoxiang:['zhaoxiang','tw_zhaoxiang'],
dengzhi:['ol_dengzhi','re_dengzhi','tw_dengzhi','dengzhi'],
wangrong:['wangrong','ol_wangrong'],
zongyu:['tw_sp_zongyu','sp_zongyu','zongyu'],
zongyu:['tw_zongyu','sp_zongyu','zongyu'],
ol_dongzhao:['ol_dongzhao','tw_dongzhao'],
mayunlu:['tw_mayunlu','mayunlu'],
zhuling:['ol_zhuling','dc_zhuling','zhuling'],
@ -22662,7 +22490,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
chongzhen_info:'当你因发动〖龙胆〗而使用或打出【杀】或【闪】时,你可以获得对方的一张手牌。',
bifa_info:'结束阶段开始时你可以将一张手牌移出游戏并指定一名其他角色。该角色的准备阶段开始时其观看你移出游戏的牌并选择一项交给你一张与此牌类型相同的手牌并获得此牌或将此牌置入弃牌堆然后失去1点体力。',
songci_info:'①出牌阶段,你可以选择一名未以此法选择过的角色。若其手牌数:大于其体力值,其弃置两张牌;不大于其体力值,其摸两张牌。②弃牌阶段结束时,若你已对场上所有存活角色发动过〖颂词①〗,则你摸一张牌。',
yongsi_info:'锁定技。①摸牌阶段你多摸X张牌。②弃牌阶段开始时你弃置X张牌。X为场上势力数',
yongsi_info:'锁定技摸牌阶段你多摸X张牌。弃牌阶段开始时你弃置X张牌。X为场上势力数',
yicong_info:'锁定技当你的体力值大于2时你计算与其他角色的距离时-1当你的体力值不大于2时其他角色计算与你的距离时+1。',
baobian_info:'锁定技若你的体力值为3或更少你视为拥有技能〖挑衅〗若你的体力值为2或更少你视为拥有技能〖咆哮〗若你的体力值为1你视为拥有技能〖神速〗。',
rebaobian:'豹变',
@ -22811,7 +22639,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
lisi_info:'当你于回合外使用的牌结算结束后,你可将其交给一名手牌数不大于你的其他角色。',
ol_yangyi:'杨仪',
oljuanxia:'狷狭',
oljuanxia_info:'结束阶段,你可以选择一名其他角色。你依次视为对其使用至多三种单目标普通锦囊牌。然后其下回合结束时,可视为对你使用等量的【杀】。',
oljuanxia_info:'锁定技。结束阶段,你选择一名其他角色。你依次视为对其使用至多三种单目标普通锦囊牌。然后其下回合结束时,可视为对你使用等量的【杀】。',
oldingcuo:'定措',
oldingcuo_info:'每回合限一次。当你受到或造成伤害后,你可摸两张牌。若这两张牌颜色不同,则你弃置一张手牌。',
fengfangnv:'OL冯妤',
@ -23024,7 +22852,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
oldianjun:'殿军',
oldianjun_info:'锁定技。回合结束时你受到1点无来源伤害然后执行一个额外的出牌阶段。',
olkangrui:'亢锐',
olkangrui_info:'当一名角色于其回合内首次受到伤害后你可以摸一张牌并选择一项1.令其回复1点体力2.令其于本回合下次造成的伤害+1然后当其于本回合造成伤害其本回合手牌上限基数为0。',
olkangrui_info:'当一名角色于其回合内首次受到伤害后你可以摸一张牌并选择一项1.令其回复1点体力2.令其于本回合下次造成的伤害+1然后当其于本回合造成伤害其本回合手牌上限基数为0。',
wangguan:'王瓘',
olmiuyan:'谬焰',
olmiuyan_tag:'invisible',
@ -23044,11 +22872,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
oldaili:'带砺',
oldaili_tag:'带砺',
oldaili_info:'一名角色的回合结束时,若你被展示过的手牌数为偶数,则你可以翻面,摸三张牌并展示之。',
zhangshiping:'张世平',
olhongji:'鸿济',
olhongji_info:'每轮每项各限一次。一名角色的准备阶段,若其手牌数为唯一最少/最多,你可以令其于本回合第一个摸牌阶段/出牌阶段后执行一个额外的摸牌阶段/出牌阶段。',
olxinggu:'行贾',
olxinggu_info:'①游戏开始时,你将牌堆中的三张坐骑牌扣置于武将牌上。②结束阶段,你可以将一张〖行贾①〗牌置于一名其他角色的装备区,然后你从牌堆获得一张♦牌。',
sp_tianji:'天极·皇室宗亲',
sp_sibi:'四弼·辅国文曲',

View File

@ -4800,7 +4800,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return player.getHandcardLimit()!=player.countCards('h');
},
direct:true,
locked:false,
content:function(){
'step 0'
var del=player.getHandcardLimit()-player.countCards('h');
@ -5972,7 +5971,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
global:'phaseBefore',
},
forced:true,
locked:false,
direct:true,
onremove:['dcsilve','dcsilve_self'],
filter:function(event,player){
@ -6267,7 +6265,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'dying'},
usable:1,
forced:true,
locked:false,
derivation:'dcshouze',
group:['dclianzhi_connect','dclianzhi_reproach'],
filter:function(event,player){
@ -6358,7 +6355,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2,
enable:'chooseToUse',
group:'dcfengying_record',
locked:false,
filter:function(event,player){
return player.storage.dcfengying&&player.storage.dcfengying.length&&player.storage.dcfengying.filter(name=>{
return event.filterCard({name:name},player,event);
@ -8919,7 +8915,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:'enterGame',
},
forced:true,
locked:false,
locked:true,
filter:function(event,player){
return (event.name!='phase'||game.phaseNumber==0)&&game.hasPlayer((current)=>current!=player);
},
@ -9967,7 +9963,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return ui.cardPile.childNodes.length>0;
},
frequent:true,
locked:false,
content:function(){
'step 0'
var card=false;
@ -12641,7 +12636,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dcjinggong:{
audio:2,
enable:'chooseToUse',
locked:false,
mod:{
targetInRange:function(card){
if(card.storage&&card.storage.dcjinggong) return true;
@ -15163,7 +15157,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
derivation:'refenyin',
trigger:{global:'roundStart'},
forced:true,
locked:false,
content:function(){
'step 0'
var next=player.chooseTarget('请选择【预言】的目标',true).set('animate',false).set('ai',function(){
@ -18597,7 +18590,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
return game.hasPlayer((current)=>lib.skill.reqingcheng.filterTarget(null,player,current));
},
filterTarget:function(card,player,target){
return target!=player&&target.hasSex('male')&&target.countCards('h')<=player.countCards('h');
return target!=player&&target.hasSex('male')&&target.countCards('h')<player.countCards('h');
},
content:function(){
player.swapHandcards(target);
@ -22004,7 +21997,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
yuwei:{
zhuSkill:true,
locked:true,
ai:{combo:'shiyuan'},
},
decadexushen:{
@ -26263,7 +26255,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
},
trigger:{global:'damageEnd'},
forced:true,
locked:false,
filter:function(event,player){
return event.player!=player&&event.player.isAlive()&&_status.currentPhase!=player;
},
@ -26617,7 +26608,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
unique:true,
zhuSkill:true,
forced:true,
locked:false,
intro:{
content:function(group){
return '已选择了'+get.translation(group)+'势力'
@ -28330,7 +28320,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jin_yanghuiyu:['jin_yanghuiyu','yanghuiyu'],
chunyuqiong:['chunyuqiong','re_chunyuqiong'],
taoqian:['taoqian','re_taoqian'],
sp_liubei:['sp_liubei','jsrg_liubei','jsp_liubei'],
sp_liubei:['jsrg_liubei','sp_liubei'],
dongcheng:['re_dongcheng','dongcheng'],
hucheer:['tw_hucheer','re_hucheer','hucheer'],
dongbai:['re_dongbai','dongbai','jsrg_dongbai'],
@ -28358,11 +28348,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
caosong:['caosong','sp_caosong'],
re_niujin:['re_niujin','tw_niujin'],
haomeng:['haomeng','tw_haomeng'],
dc_jiling:['dc_jiling','tw_jiling'],
jiling:['dc_jiling','tw_jiling','jiling'],
zhangning:['zhangning','tw_zhangning'],
sp_jiaxu:['dc_sp_jiaxu','sp_jiaxu','yj_jiaxu'],
caoanmin:['caoanmin','ns_caoanmin'],
jiling:['dc_jiling','jiling'],
qiaorui:['qiaorui','tw_qiaorui'],
duanwei:['duanwei','junk_duanwei'],
xushao:['xushao','jsrg_xushao'],
@ -28876,7 +28865,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rehuoshui:'祸水',
rehuoshui_info:'准备阶段你可以选择至多X名角色X为你已损失的体力值且至少为1。你令这些角色中第一名角色的非锁定技失效直到回合结束第二名角色交给你一张手牌第三名及之后角色弃置装备区内的所有牌。',
reqingcheng:'倾城',
reqingcheng_info:'出牌阶段限一次,你可以与一名手牌数不大于你的男性角色交换手牌。',
reqingcheng_info:'出牌阶段限一次,你可以与一名手牌数于你的男性角色交换手牌。',
re_panshu:'潘淑',
zhiren:'织纴',
zhiren_info:'当你于你的回合内使用第一张非转化牌时你可依次执行以下选项中的前X项①卜算X。②可弃置场上的一张装备牌和延时锦囊牌。③回复1点体力。④摸三张牌。X为此牌的名称的字数',
@ -29277,7 +29266,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dctujue_info:'限定技。当你进入濒死状态时,你可以将所有牌交给一名其他角色。然后你回复等量的体力并摸等量的牌。',
dc_huban:'胡班',
dcchongyi:'崇义',
dcchongyi_info:'①一名角色使用【杀】时,若此牌是其于当前出牌阶段内使用的第一张牌,则你可以令其摸两张牌,且其本回合使用【杀】的次数上限+1。②一名角色的出牌阶段结束时若其于此阶段内使用的一张牌为【杀】,则你可以令其本回合的手牌上限+1。',
dcchongyi_info:'①一名角色使用【杀】时,若此牌是其于当前出牌阶段内使用的第一张牌,则你可以令其摸两张牌,且其本回合使用【杀】的次数上限+1。②一名角色的出牌阶段结束时若其于此阶段内使用的最后一张牌为【杀】,则你可以令其本回合的手牌上限+1。',
chengui:'陈珪',
dcyingtu:'营图',
dcyingtu_info:'每回合限一次。当你的上家/下家于摸牌阶段外获得牌后,你可以获得其一张牌,然后将一张牌交给你的下家/上家。若你给出的牌为装备牌,则其使用之。',

View File

@ -2413,6 +2413,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:['useCardAfter','respondAfter']},
forced:true,
popup:false,
charlotte:true,
filter:function(event,player){
return event.skill=='xintaoluan_backup'||event.skill=='xintaoluan5'||event.skill=='xintaoluan4';
},
@ -2457,7 +2458,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
xintaoluan3:{},
xintaoluan3:{charlotte:true},
xintaoluan4:{
audio:'taoluan',
prompt:'将一张牌当做闪使用',
@ -2554,6 +2555,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xintaoluan6:{
trigger:{global:'phaseAfter'},
silent:true,
charlotte:true,
content:function(){
player.storage.xintaoluan=[];
player.storage.xintaoluan2=0;
@ -5084,6 +5086,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:['useCardAfter','respondAfter']},
forced:true,
popup:false,
charlotte:true,
filter:function(event,player){
return event.skill=='taoluan_backup'||event.skill=='taoluan5'||event.skill=='taoluan4';
},
@ -5127,7 +5130,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}
}
},
taoluan3:{},
taoluan3:{charlotte:true},
taoluan4:{
prompt:'将一张牌当做闪使用',
enable:'chooseToUse',
@ -7793,8 +7796,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhaofu:{
unique:true,
global:'zhaofu2',
zhuSkill:true,
locked:true,
zhuSkill:true
},
zhaofu2:{
mod:{