1.9.114.2

This commit is contained in:
Spmario233 2022-06-21 13:00:44 +08:00
parent 1451c6e74c
commit 3968db58cb
39 changed files with 880 additions and 95 deletions

BIN
audio/die/dc_jiben.mp3 Normal file

Binary file not shown.

BIN
audio/die/licaiwei.mp3 Normal file

Binary file not shown.

BIN
audio/die/tw_wangchang.mp3 Normal file

Binary file not shown.

BIN
audio/skill/lieyi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/lieyi2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/qibie1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/qibie2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twkaiji1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twkaiji2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twshepan1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/twshepan2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xunli1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/xunli2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/yijiao1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/yijiao2.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhishi1.mp3 Normal file

Binary file not shown.

BIN
audio/skill/zhishi2.mp3 Normal file

Binary file not shown.

View File

@ -737,7 +737,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
logTarget:'player', logTarget:'player',
content:function(){ content:function(){
'step 0' 'step 0'
var index=event.player.getHistory('useCard',function(evt){ var index=trigger.player.getHistory('useCard',function(evt){
return evt.targets.contains(player); return evt.targets.contains(player);
}).indexOf(trigger.getParent()); }).indexOf(trigger.getParent());
if(index==2){ if(index==2){
@ -757,15 +757,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{player:'phaseJieshuBegin'}, trigger:{player:'phaseJieshuBegin'},
direct:true, direct:true,
filter:function(event,player){ filter:function(event,player){
return player.group=='key'&&player.hasHistory('useCard',function(evt){ return player.group=='key';
return evt.card.name=='sha'||(get.type(evt.card)=='trick'&&get.tag(evt.card,'damage')>0);
});
}, },
content:function(){ content:function(){
'step 0' 'step 0'
var num=player.getHistory('useCard',function(evt){ var num=player.getHistory('useCard',function(evt){
return evt.card.name=='sha'||(get.type(evt.card)=='trick'&&get.tag(evt.card,'damage')>0); return evt.card.name=='sha'||(get.type(evt.card)=='trick'&&get.tag(evt.card,'damage')>0);
}).length; }).length+1;
player.chooseTarget(get.prompt('liyingxia_zhenjun'),[1,num],'令至多'+get.cnNumber(num)+'名角色各摸一张牌').set('ai',(serafu)=>get.attitude(_status.event.player,serafu)); player.chooseTarget(get.prompt('liyingxia_zhenjun'),[1,num],'令至多'+get.cnNumber(num)+'名角色各摸一张牌').set('ai',(serafu)=>get.attitude(_status.event.player,serafu));
'step 1' 'step 1'
if(result.bool){ if(result.bool){
@ -15707,7 +15705,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
liyingxia_sanli:'三礼', liyingxia_sanli:'三礼',
liyingxia_sanli_info:'锁定技。其他角色于其回合内前两次使用牌指定你为目标后,你摸一张牌;第三次使用牌指定你为目标后,你交给其一张牌。', liyingxia_sanli_info:'锁定技。其他角色于其回合内前两次使用牌指定你为目标后,你摸一张牌;第三次使用牌指定你为目标后,你交给其一张牌。',
liyingxia_zhenjun:'振军', liyingxia_zhenjun:'振军',
liyingxia_zhenjun_info:'键势力技。结束阶段你可以令至多X名角色各摸一张牌,且这些角色于自己的下个回合内第一次造成的伤害+1X为你本回合内使用【杀】和伤害性锦囊牌的次数。', liyingxia_zhenjun_info:'键势力技。结束阶段你可以令至多X+1名角色各摸一张牌,且这些角色于自己的下个回合内第一次造成的伤害+1X为你本回合内使用【杀】和伤害性锦囊牌的次数。',
liyingxia_wumai:'武脉', liyingxia_wumai:'武脉',
liyingxia_wumai_info:'蜀势力技。一轮游戏开始时,你可以选择获得其中一个未选择过的技能直到本轮结束:〖八阵〗/〖集智〗/〖观星〗/〖游龙〗。若均已选择过则你可以摸X张牌X为场上已受伤的角色数且至多为3。', liyingxia_wumai_info:'蜀势力技。一轮游戏开始时,你可以选择获得其中一个未选择过的技能直到本轮结束:〖八阵〗/〖集智〗/〖观星〗/〖游龙〗。若均已选择过则你可以摸X张牌X为场上已受伤的角色数且至多为3。',
erika_shisong:'识诵', erika_shisong:'识诵',

View File

@ -44,7 +44,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
shen_ganning:["male","shen","3/6",["drlt_poxi","drlt_jieying"],["wu"]], shen_ganning:["male","shen","3/6",["drlt_poxi","drlt_jieying"],["wu"]],
ol_zhangliao:['male','shen',4,['olduorui','olzhiti'],['wei']], ol_zhangliao:['male','shen',4,['olduorui','olzhiti'],['wei']],
shen_caopi:['male','shen',5,['chuyuan','dengji'],['wei']], shen_caopi:['male','shen',5,['chuyuan','dengji'],['wei']],
shen_zhenji:['female','shen',4,['shenfu','qixian'],['wei']], shen_zhenji:['female','shen',3,['shenfu','qixian'],['wei']],
boss_zhaoyun:['male','shen',1,['boss_juejing','xinlonghun','zhanjiang'],['shu']], boss_zhaoyun:['male','shen',1,['boss_juejing','xinlonghun','zhanjiang'],['shu']],
}, },
characterIntro:{ characterIntro:{

View File

@ -8930,14 +8930,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
filter:function(button,player){ filter:function(button,player){
return _status.event.getParent().filterCard({name:button.link[2]},player,_status.event.getParent()); return _status.event.getParent().filterCard({name:button.link[2]},player,_status.event.getParent());
}, },
check:function(button){
var player=_status.event.player;
if(player.countCards('hs',button.link[2])>0) return 0;
if(['wugu','zhulu_card'].contains(button.link[2])) return 0;
var effect=player.getUseValue(button.link[2]);
if(effect>0) return effect;
return 0;
},
check:function(button){ check:function(button){
if(_status.event.getParent().type!='phase') return 1; if(_status.event.getParent().type!='phase') return 1;
var player=_status.event.player; var player=_status.event.player;
@ -15789,7 +15781,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sufei:['sp_sufei','xf_sufei'], sufei:['sp_sufei','xf_sufei'],
jiakui:['jiakui','old_jiakui'], jiakui:['jiakui','old_jiakui'],
shenpei:['shenpei','sp_shenpei'], shenpei:['shenpei','sp_shenpei'],
wangcan:['wangcan','sp_wangcan'], wangcan:['tw_wangcan','wangcan','sp_wangcan'],
sunshao:['sp_sunshao','sunshao'], sunshao:['sp_sunshao','sunshao'],
xunchen:['re_xunchen','xunchen','sp_xunchen'], xunchen:['re_xunchen','xunchen','sp_xunchen'],
xinpi:['xinpi','sp_xinpi'], xinpi:['xinpi','sp_xinpi'],
@ -15800,6 +15792,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
huaman:['huaman','sp_huaman'], huaman:['huaman','sp_huaman'],
gaolan:['gaolan','sp_gaolan'], gaolan:['gaolan','sp_gaolan'],
cuiyan:['sp_cuiyan','cuiyan'], cuiyan:['sp_cuiyan','cuiyan'],
wujing:['tw_wujing','wujing'],
}, },
translate:{ translate:{
liuzan:'手杀留赞', liuzan:'手杀留赞',
@ -15985,7 +15978,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
reqianxin:'遣信', reqianxin:'遣信',
reqianxin_info:'出牌阶段限一次,你可将至多两张手牌随机交给等量的其他角色,称为「信」。这些角色的准备阶段开始时,若其手牌中有「信」,则其选择一项:令你摸两张牌,本回合手牌上限-2。', reqianxin_info:'出牌阶段限一次,你可将至多两张手牌随机交给等量的其他角色,称为「信」。这些角色的准备阶段开始时,若其手牌中有「信」,则其选择一项:令你摸两张牌,本回合手牌上限-2。',
rebiaozhao:"表召", rebiaozhao:"表召",
"rebiaozhao_info":"结束阶段,你可以将一张牌置于武将牌上,称为「表」。当有一张与「表」点数相同的牌进入弃牌堆你将「表」置入弃牌堆并失去1点体力。准备阶段若你的武将牌上有「表」则你移去「表」并选择一名角色该角色回复1点体力并摸三张牌。", "rebiaozhao_info":"结束阶段,你可以将一张牌置于武将牌上,称为「表」。当有一张与「表」点数相同的牌进入弃牌堆你将「表」置入弃牌堆并失去1点体力。准备阶段若你的武将牌上有「表」则你移去「表」并选择一名角色该角色回复1点体力并摸三张牌。",
"rebiaozhao2":"表召", "rebiaozhao2":"表召",
"rebiaozhao2_info":"", "rebiaozhao2_info":"",
"rebiaozhao3":"表召", "rebiaozhao3":"表召",
@ -16064,7 +16057,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhengjing_info:'出牌阶段,你可以整理卡牌。然后,你将整理出的卡牌中的至少一张作为“经”置于一名角色的武将牌上,然后获得其余的牌。该角色的准备阶段获得这些牌,且跳过此回合的判定和摸牌阶段。', zhengjing_info:'出牌阶段,你可以整理卡牌。然后,你将整理出的卡牌中的至少一张作为“经”置于一名角色的武将牌上,然后获得其余的牌。该角色的准备阶段获得这些牌,且跳过此回合的判定和摸牌阶段。',
zhengjing2:'整经', zhengjing2:'整经',
mobile_yijiang:'武将设计征集大赛', mobile_yijiang:'将星独具',
yj_zhanghe:'☆张郃', yj_zhanghe:'☆张郃',
yj_zhangliao:'☆张辽', yj_zhangliao:'☆张辽',
yj_xuhuang:'☆徐晃', yj_xuhuang:'☆徐晃',

View File

@ -2610,7 +2610,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
nskuishe_info:'出牌阶段限一次你可以选择一名其他角色A的一张牌并将此牌交给不为A的一名角色。然后A可以对你使用一张【杀】。', nskuishe_info:'出牌阶段限一次你可以选择一名其他角色A的一张牌并将此牌交给不为A的一名角色。然后A可以对你使用一张【杀】。',
sp_xiahoushi:"SP夏侯氏", sp_xiahoushi:"SP夏侯氏",
xinfu_yanyu:"燕语", xinfu_yanyu:"燕语",
xinfu_yanyu_info:"一名角色的出牌阶段开始时,你可以弃置一张牌。若如此做,则该出牌阶段内,当有与你弃置的牌类别相同的其他牌进入弃牌堆,你可令任意一名角色获得此牌。每阶段以此法获得的牌不能超过三张。", xinfu_yanyu_info:"一名角色的出牌阶段开始时,你可以弃置一张牌。若如此做,则该出牌阶段内,当有与你弃置的牌类别相同的其他牌进入弃牌堆,你可令任意一名角色获得此牌。每阶段以此法获得的牌不能超过三张。",
xinfu_yanyu2:"燕语", xinfu_yanyu2:"燕语",
xinfu_xiaode:"孝德", xinfu_xiaode:"孝德",
xinfu_xiaode_info:"其他角色死亡后,你可以声明该角色武将牌上的一个技能(主公技、觉醒技、隐匿技、使命技除外)。若如此做,你获得此技能且不能再发动〖孝德〗直到你的回合结束。", xinfu_xiaode_info:"其他角色死亡后,你可以声明该角色武将牌上的一个技能(主公技、觉醒技、隐匿技、使命技除外)。若如此做,你获得此技能且不能再发动〖孝德〗直到你的回合结束。",

View File

@ -764,6 +764,10 @@ window.noname_character_rank={
're_zhanghe', 're_zhanghe',
'wufan', 'wufan',
'yanfuren', 'yanfuren',
'tw_wangcan',
'tw_wangchang',
'jin_jiachong',
'licaiwei',
], ],
b:[ b:[
'diy_feishi', 'diy_feishi',
@ -985,6 +989,7 @@ window.noname_character_rank={
'tw_caocao', 'tw_caocao',
'xin_wuguotai', 'xin_wuguotai',
'dc_xushu', 'dc_xushu',
'dc_jiben',
], ],
bm:[ bm:[
'diy_xizhenxihong', 'diy_xizhenxihong',
@ -1142,6 +1147,7 @@ window.noname_character_rank={
'peixiu', 'peixiu',
'haomeng', 'haomeng',
'mamidi', 'mamidi',
'tw_wujing',
], ],
c:[ c:[
'xiahoudun', 'xiahoudun',
@ -1897,6 +1903,10 @@ window.noname_character_rank={
'jin_yanghu', 'jin_yanghu',
'qinghegongzhu', 'qinghegongzhu',
'tw_guohuai', 'tw_guohuai',
'tw_wangcan',
'tw_wangchang',
'licaiwei',
'jin_jiachongp',
], ],
junk:[ junk:[
'sunshao', 'sunshao',

View File

@ -221,7 +221,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
check:function(event,player){ check:function(event,player){
return game.countPlayer(function(current){ return game.countPlayer(function(current){
if(target==player||target.countGainableCards(player,'h')==0) return false; if(current==player||current.countGainableCards(player,'h')==0) return false;
var att=get.attitude(player,current); var att=get.attitude(player,current);
if(current.hasSkill('tuntian')) return att>0; if(current.hasSkill('tuntian')) return att>0;
return att<1; return att<1;
@ -11458,7 +11458,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
jianyan_info:'出牌阶段限一次,你可以声明一种牌的类别或颜色,并亮出牌库中第一张符合你声明的牌,然后你令一名男性角色获得此牌', jianyan_info:'出牌阶段限一次,你可以声明一种牌的类别或颜色,并亮出牌库中第一张符合你声明的牌,然后你令一名男性角色获得此牌',
rekurou_info:'出牌阶段限一次你可以弃置一张牌然后失去1点体力。', rekurou_info:'出牌阶段限一次你可以弃置一张牌然后失去1点体力。',
zhaxiang_info:'锁定技 每当你失去1点体力后你摸三张牌。然后若此时是你的出牌阶段则直到回合结束你使用红色【杀】无距离限制且不能被【闪】响应你可以额外使用一张【杀】。', zhaxiang_info:'锁定技 每当你失去1点体力后你摸三张牌。然后若此时是你的出牌阶段则直到回合结束你使用红色【杀】无距离限制且不能被【闪】响应你可以额外使用一张【杀】。',
qiaomeng_info:'当你使用黑色【杀】对一名角色造成伤害后,你可以弃置该角色装备区里的一张牌,若此牌是坐骑牌,你于此牌置入弃牌堆获得之。', qiaomeng_info:'当你使用黑色【杀】对一名角色造成伤害后,你可以弃置该角色装备区里的一张牌,若此牌是坐骑牌,你于此牌置入弃牌堆获得之。',
reyicong_info:'锁定技,你计算与其他角色的距离时-1。若你的体力值不大于2则其他角色计算与你的距离时+1。', reyicong_info:'锁定技,你计算与其他角色的距离时-1。若你的体力值不大于2则其他角色计算与你的距离时+1。',
refankui_info:'每当你受到1点伤害后你可以获得伤害来源的一张牌。', refankui_info:'每当你受到1点伤害后你可以获得伤害来源的一张牌。',
retieji_info:'当你使用【杀】指定一名角色为目标后,你可以进行一次判定并令该角色的非锁定技失效直到回合结束,除非该角色弃置一张与判定结果花色相同的牌,否则不能使用【闪】抵消此【杀】。', retieji_info:'当你使用【杀】指定一名角色为目标后,你可以进行一次判定并令该角色的非锁定技失效直到回合结束,除非该角色弃置一张与判定结果花色相同的牌,否则不能使用【闪】抵消此【杀】。',
@ -11561,7 +11561,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
reluoying:'落英', reluoying:'落英',
reluoying_discard:'落英', reluoying_discard:'落英',
reluoying_judge:'落英', reluoying_judge:'落英',
reluoying_info:'当其他角色的梅花牌因弃置或判定而进入弃牌堆,你可以获得之。', reluoying_info:'当其他角色的梅花牌因弃置或判定而进入弃牌堆,你可以获得之。',
rejiushi:'酒诗', rejiushi:'酒诗',
rejiushi_info:'当你需要使用【酒】时,若你的武将牌正面向上,你可以翻面,视为使用一张【酒】。当你受到伤害后,若你的武将牌背面向上,你可以翻面并获得牌堆中的一张随机锦囊。', rejiushi_info:'当你需要使用【酒】时,若你的武将牌正面向上,你可以翻面,视为使用一张【酒】。当你受到伤害后,若你的武将牌背面向上,你可以翻面并获得牌堆中的一张随机锦囊。',
rejiushi1:'酒诗', rejiushi1:'酒诗',
@ -11653,7 +11653,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
rejunxing_info:'出牌阶段限一次你可以弃置任意张手牌并选择一名其他角色。该角色选择一项1.弃置X张牌并失去1点体力。2.翻面并摸X张牌。X为你弃置的牌数', rejunxing_info:'出牌阶段限一次你可以弃置任意张手牌并选择一名其他角色。该角色选择一项1.弃置X张牌并失去1点体力。2.翻面并摸X张牌。X为你弃置的牌数',
re_gongsunzan:'界公孙瓒', re_gongsunzan:'界公孙瓒',
reqiaomeng:'趫猛', reqiaomeng:'趫猛',
reqiaomeng_info:'当你使用【杀】对一名角色造成伤害后,你可以弃置该角色区域内的一张牌。若此牌是坐骑牌,你于此牌置入弃牌堆时获得之。', reqiaomeng_info:'当你使用【杀】对一名角色造成伤害后,你可以弃置该角色区域内的一张牌。若此牌为坐骑牌,则你于此弃置事件结算结束后获得此牌。',
ol_dengai:'界邓艾', ol_dengai:'界邓艾',
oltuntian:'屯田', oltuntian:'屯田',
olzaoxian:'凿险', olzaoxian:'凿险',

View File

@ -1666,10 +1666,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player:'useCardAfter' player:'useCardAfter'
}, },
filter:function(event,player){ filter:function(event,player){
if(event.card.name!='sha') return false; if(event.card.name!='sha'||player.group!='wu') return false;
if(player.hasSkill('nzry_lijun2')) return false; if(player.hasSkill('nzry_lijun2')) return false;
if(player.group!='wu') return false; if(!player.isPhaseUsing()) return false;
if(_status.currentPhase!=player) return false;
if(!game.hasPlayer(function(target){ if(!game.hasPlayer(function(target){
return player!=target&&target.hasZhuSkill('nzry_lijun',player); return player!=target&&target.hasZhuSkill('nzry_lijun',player);
})) return false; })) return false;
@ -7432,7 +7431,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinshensu:'神速', xinshensu:'神速',
xinshensu_info:'你可以选择一至三项1. 跳过判定阶段和摸牌阶段2. 跳过出牌阶段并弃置一张装备牌3. 跳过弃牌阶段并将你的武将牌翻面。你每选择一项,视为你对一名其他角色使用一张没有距离限制的【杀】', xinshensu_info:'你可以选择一至三项1. 跳过判定阶段和摸牌阶段2. 跳过出牌阶段并弃置一张装备牌3. 跳过弃牌阶段并将你的武将牌翻面。你每选择一项,视为你对一名其他角色使用一张没有距离限制的【杀】',
yinghun:'英魂', yinghun:'英魂',
yinghun_info:'准备阶段开始时,若你已受伤,你可令一名其他角色执行一项摸X张牌然后弃置一张牌或摸一张牌然后弃置X张牌X为你已损失的体力值', yinghun_info:'准备阶段开始时,你可令一名其他角色执行一项摸X张牌然后弃置一张牌或摸一张牌然后弃置X张牌X为你已损失的体力值',
gzyinghun:'英魂', gzyinghun:'英魂',
gzyinghun_info:'准备阶段开始时若你已受伤你可令一名其他角色执行一项摸X张牌然后弃置一张牌或摸一张牌然后弃置X张牌X为你已损失的体力值', gzyinghun_info:'准备阶段开始时若你已受伤你可令一名其他角色执行一项摸X张牌然后弃置一张牌或摸一张牌然后弃置X张牌X为你已损失的体力值',
@ -7543,7 +7542,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
huoshou_info:'锁定技,【南蛮入侵】对你无效;你视为所有【南蛮入侵】的伤害来源。', huoshou_info:'锁定技,【南蛮入侵】对你无效;你视为所有【南蛮入侵】的伤害来源。',
zaiqi_info:'摸牌阶段若你已受伤则你可以改为展示牌堆顶的X张牌X为你已损失的体力值并回复X点体力X为其中♥牌的数目。然后你将这些♥牌置入弃牌堆并获得其余的牌。', zaiqi_info:'摸牌阶段若你已受伤则你可以改为展示牌堆顶的X张牌X为你已损失的体力值并回复X点体力X为其中♥牌的数目。然后你将这些♥牌置入弃牌堆并获得其余的牌。',
zaiqixx_info:'摸牌阶段若你已受伤则你可以改为展示牌堆顶的X张牌X为你已损失的体力值+1并回复X点体力X为其中♥牌的数目。然后你将这些♥牌置入弃牌堆并获得其余的牌。', zaiqixx_info:'摸牌阶段若你已受伤则你可以改为展示牌堆顶的X张牌X为你已损失的体力值+1并回复X点体力X为其中♥牌的数目。然后你将这些♥牌置入弃牌堆并获得其余的牌。',
juxiang_info:'锁定技,【南蛮入侵】对你无效。其他角色使用的【南蛮入侵】结算后进入弃牌堆时,你获得之。', juxiang_info:'锁定技。①【南蛮入侵】对你无效。②其他角色使用的【南蛮入侵】结算结束后,你获得此牌对应的所有实体牌。',
lieren_info:'当你使用【杀】造成伤害后,可与受到该伤害的角色进行拼点;若你赢,你获得对方的一张牌。', lieren_info:'当你使用【杀】造成伤害后,可与受到该伤害的角色进行拼点;若你赢,你获得对方的一张牌。',
xingshang_info:'当有角色死亡后,你可以获得该角色的所有牌。', xingshang_info:'当有角色死亡后,你可以获得该角色的所有牌。',
fangzhu_info:'当你受到伤害后你可令一名其他角色摸X张牌X为你已损失的体力值然后该角色将武将牌翻面。', fangzhu_info:'当你受到伤害后你可令一名其他角色摸X张牌X为你已损失的体力值然后该角色将武将牌翻面。',

View File

@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
characterSort:{ characterSort:{
sp:{ sp:{
sp_tianji:["sunhao","liuxie","caoang","hetaihou","sunluyu",'ol_wangrong',"zuofen","ganfuren","ol_bianfuren","qinghegongzhu"], sp_tianji:["sunhao","liuxie","caoang","hetaihou","sunluyu",'ol_wangrong',"zuofen","ganfuren","ol_bianfuren","qinghegongzhu"],
sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng'], sp_sibi:["yangxiu","chenlin","chengyu","shixie","fuwan","wangyun","zhugejin","simalang","maliang","buzhi","dongyun","kanze","sunqian","xizhicai","sunshao",'duxi',"jianggan",'ol_dengzhi','ol_yangyi','ol_dongzhao','ol_chendeng','jin_yanghu'],
sp_tianzhu:["wutugu","yanbaihu","shamoke","panfeng","zhugedan",'huangzu','gaogan',"tadun"], sp_tianzhu:["wutugu","yanbaihu","shamoke","panfeng","zhugedan",'huangzu','gaogan',"tadun"],
sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao"], sp_nvshi:["lingju","guanyinping","zhangxingcai","mayunlu","dongbai","zhaoxiang",'ol_zhangchangpu','ol_xinxianying',"daxiaoqiao"],
sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan'], sp_shaowei:["simahui","zhangbao","zhanglu","zhugeguo","xujing","zhangling",'huangchengyan'],
@ -28,6 +28,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
character:{ character:{
jin_yanghu:['male','jin',4,['huaiyuan','chongxin','dezhang']],
qinghegongzhu:['female','wei',3,['zengou','qhzhangji']], qinghegongzhu:['female','wei',3,['zengou','qhzhangji']],
fanjiangzhangda:['male','wu',4,['yuanchou','juesheng']], fanjiangzhangda:['male','wu',4,['yuanchou','juesheng']],
tianyu:['male','wei',4,['saodi','zhuitao']], tianyu:['male','wei',4,['saodi','zhuitao']],
@ -294,7 +295,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
characterTitle:{}, characterTitle:{},
perfectPair:{ perfectPair:{
yuejin:['re_lidian'], yuejin:['re_lidian'],
zhugejin:['zhugeke'], zhugejin:['zhugeke','sunquan'],
guanyinping:['guanyu'], guanyinping:['guanyu'],
zhangxingcai:['liushan'], zhangxingcai:['liushan'],
fuwan:['fuhuanghou'], fuwan:['fuhuanghou'],
@ -1647,13 +1648,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){
event.target=target; event.target=target;
if(target.isIn()&&player.canUse('sha',target,false)) player.chooseBool('狷狭:是否视为对'+get.translation(target)+'依次使用'+get.cnNumber(player.storage.oljuanxia_counter[target.playerid])+'张【杀】?').set('goon',get.effect(target,{name:'sha'},player,player)>0).set('ai',()=>_status.event.goon); if(target.isIn()&&player.canUse('sha',target,false)) player.chooseBool('狷狭:是否视为对'+get.translation(target)+'依次使用'+get.cnNumber(player.storage.oljuanxia_counter[target.playerid])+'张【杀】?').set('goon',get.effect(target,{name:'sha'},player,player)>0).set('ai',()=>_status.event.goon);
'step 2' 'step 2'
if(result.bool){
for(var i=0;i<player.storage.oljuanxia_counter[target.playerid];i++){
player.useCard({name:'sha',isCard:true},target,false);
}
}
event.num++; event.num++;
if(event.num<targets.length) event.goto(1); if(result.bool) event.count=player.storage.oljuanxia_counter[target.playerid];
else if(event.num<targets.length) event.goto(1);
else event.finish();
'step 3'
event.count--;
if(player.canUse('sha',target,false)) player.useCard({name:'sha',isCard:true},target,false);
if(event.count>0) event.redo();
else if(event.num<targets.length) event.goto(1);
}, },
}, },
}, },
@ -13775,7 +13778,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{source:'damageSource'}, trigger:{source:'damageSource'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
if(event._notrigger.contains(event.player)) return false; if(event._notrigger.contains(event.player)||event.player.isIn()) return false;
return event.nature=='fire'; return event.nature=='fire';
}, },
logTarget:'player', logTarget:'player',
@ -16056,6 +16059,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zangba:['tw_zangba','zangba'], zangba:['tw_zangba','zangba'],
zhangbao:['zhangbao','re_zhangbao'], zhangbao:['zhangbao','re_zhangbao'],
jianggan:['jianggan','sp_jianggan'], jianggan:['jianggan','sp_jianggan'],
dc_jiben:['dc_jiben','sp_jiben'],
}, },
translate:{ translate:{
"xinfu_lingren":"凌人", "xinfu_lingren":"凌人",
@ -16690,7 +16694,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
weizhong:'威重', weizhong:'威重',
weizhong_info:'锁定技,当你的体力上限增加或减少时,你摸一张牌。若你的手牌数为全场最少,则你改为摸两张牌。', weizhong_info:'锁定技,当你的体力上限增加或减少时,你摸一张牌。若你的手牌数为全场最少,则你改为摸两张牌。',
taichen_info:'出牌阶段限一次你可以失去1点体力视为对一名角色使用一张【杀】。不计入出牌阶段的使用次数限制', taichen_info:'出牌阶段限一次你可以失去1点体力视为对一名角色使用一张【杀】。不计入出牌阶段的使用次数限制',
naman_info:'当其他角色打出的【杀】进入弃牌堆时,你可以获得之。', naman_info:'当其他角色打出的【杀】结算结束后,你可以获得此牌对应的所有实体牌。',
xiemu_info:'出牌阶段限一次,你可以弃置一张【杀】并选择一个势力。若如此做,直到你的下回合开始时,当你成为该势力的其他角色使用的黑色牌的目标后,你摸两张牌。', xiemu_info:'出牌阶段限一次,你可以弃置一张【杀】并选择一个势力。若如此做,直到你的下回合开始时,当你成为该势力的其他角色使用的黑色牌的目标后,你摸两张牌。',
oldxiemu_info:'当你成为其他角色使用的黑色牌的目标后,你可以弃置一张【杀】,然后摸两张牌。', oldxiemu_info:'当你成为其他角色使用的黑色牌的目标后,你可以弃置一张【杀】,然后摸两张牌。',
spmengjin_info:'当你使用【杀】指定目标后,你可以弃置目标角色的一张牌。', spmengjin_info:'当你使用【杀】指定目标后,你可以弃置目标角色的一张牌。',
@ -16835,7 +16839,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
spcangni_info:'弃牌阶段开始时你可以回复1点体力或摸两张牌然后将你的武将牌翻面其他角色的回合内当你获得每回合限一次/失去一次牌时,若你的武将牌背面朝上,你可以令该角色摸/弃置一张牌。', spcangni_info:'弃牌阶段开始时你可以回复1点体力或摸两张牌然后将你的武将牌翻面其他角色的回合内当你获得每回合限一次/失去一次牌时,若你的武将牌背面朝上,你可以令该角色摸/弃置一张牌。',
spmixin:'密信', spmixin:'密信',
spmixin_info:'出牌阶段限一次,你可以将一张手牌交给一名其他角色,该角色须对你选择的另一名角色使用一张无距离限制的【杀】,否则你选择的角色观看其手牌并获得其中一张。', spmixin_info:'出牌阶段限一次,你可以将一张手牌交给一名其他角色,该角色须对你选择的另一名角色使用一张无距离限制的【杀】,否则你选择的角色观看其手牌并获得其中一张。',
sp_jiben:'吉本', sp_jiben:'SP吉本',
spduanzhi:'断指', spduanzhi:'断指',
spduanzhi_info:'当你成为其他角色使用的牌的目标后你可以弃置其至多两张牌然后失去1点体力。', spduanzhi_info:'当你成为其他角色使用的牌的目标后你可以弃置其至多两张牌然后失去1点体力。',
spduyi:'毒医', spduyi:'毒医',
@ -16897,7 +16901,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhaosong:'诏颂', zhaosong:'诏颂',
zhaosong_info:'一名其他角色的摸牌阶段结束时,若其没有因〖诏颂〗而获得的标记,则你可令其正面向上交给你一张手牌。根据此牌的类型,该角色获得对应的标记和效果:<br>锦囊牌“诔”标记。当拥有者进入濒死状态时其可弃置所有“诔”将体力回复至1点并摸1张牌。<br>装备牌:“赋”标记。拥有者的出牌阶段开始时,其可弃置所有“赋”,弃置一名角色区域内的至多两张牌,然后可令其摸一张牌。<br>基本牌:“颂”标记。当使用者使用仅指定一个目标的【杀】时,其可弃置“颂”,为此【杀】增加至多两个目标。', zhaosong_info:'一名其他角色的摸牌阶段结束时,若其没有因〖诏颂〗而获得的标记,则你可令其正面向上交给你一张手牌。根据此牌的类型,该角色获得对应的标记和效果:<br>锦囊牌“诔”标记。当拥有者进入濒死状态时其可弃置所有“诔”将体力回复至1点并摸1张牌。<br>装备牌:“赋”标记。拥有者的出牌阶段开始时,其可弃置所有“赋”,弃置一名角色区域内的至多两张牌,然后可令其摸一张牌。<br>基本牌:“颂”标记。当使用者使用仅指定一个目标的【杀】时,其可弃置“颂”,为此【杀】增加至多两个目标。',
lisi:'离思', lisi:'离思',
lisi_info:'每当你于回合外使用牌的置入弃牌堆时,你可将其交给一名手牌数不大于你的其他角色。', lisi_info:'当你于回合外使用的牌结算结束后,你可将其交给一名手牌数不大于你的其他角色。',
ol_yangyi:'杨仪', ol_yangyi:'杨仪',
oljuanxia:'狷狭', oljuanxia:'狷狭',
oljuanxia_info:'结束阶段,你可选择一名其他角色,并依次视为对其使用至多两种单目标普通锦囊牌。然后其下回合结束时,可视为对你使用等量的【杀】。', oljuanxia_info:'结束阶段,你可选择一名其他角色,并依次视为对其使用至多两种单目标普通锦囊牌。然后其下回合结束时,可视为对你使用等量的【杀】。',

View File

@ -4,6 +4,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'sp2', name:'sp2',
connect:true, connect:true,
character:{ character:{
dc_jiben:['male','qun',3,['xunli','zhishi','lieyi']],
licaiwei:['female','wei',3,['yijiao','qibie']],
mamidi:['male','qun','4/6',['bingjie','zhengding']], mamidi:['male','qun','4/6',['bingjie','zhengding']],
re_fengfangnv:['female','qun',3,['tiqi','baoshu']], re_fengfangnv:['female','qun',3,['tiqi','baoshu']],
wufan:['male','wu',4,['tianyun','wfyuyan']], wufan:['male','wu',4,['tianyun','wfyuyan']],
@ -137,17 +139,296 @@ game.import('character',function(lib,game,ui,get,ai,_status){
sp_xuzhou:['re_taoqian','caosong','zhangmiao','qiuliju'], sp_xuzhou:['re_taoqian','caosong','zhangmiao','qiuliju'],
sp_zhongyuan:['re_hucheer','re_zoushi','caoanmin','re_dongcheng'], sp_zhongyuan:['re_hucheer','re_zoushi','caoanmin','re_dongcheng'],
sp_xiaohu:['haomeng','yanfuren'], sp_xiaohu:['haomeng','yanfuren'],
sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','caobuxing','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','ruanyu','re_dongzhao','yangwan','re_panshu','dufuren','zhouyi','caojinyu','re_sunyi','re_zhangbao','re_fengfangnv','mamidi'], sp_decade:['wulan','leitong','huaman','wangshuang','wenyang','re_liuzan','caobuxing','re_maliang','xin_baosanniang','re_xinxianying','dongxie','guozhao','fanyufeng','ruanyu','re_dongzhao','yangwan','re_panshu','dufuren','zhouyi','caojinyu','re_sunyi','re_zhangbao','re_fengfangnv','mamidi','dc_jiben','licaiwei'],
} }
}, },
skill:{ skill:{
//吉本
xunli:{
audio:2,
trigger:{global:'loseAfter'},
forced:true,
filter:function(event,player){
if(event.type!='discard'||player.getExpansions('xunli').length>=9) return false;
for(var i of event.cards){
if(get.color(i,event.cards2.contains(i)?event.player:false)=='black') return true;
}
return false;
},
content:function(){
'step 0'
var num=9-player.getExpansions('xunli').length;
var cards=[];
for(var i of trigger.cards){
if(get.color(i,trigger.cards2.contains(i)?trigger.player:false)=='black') cards.push(i);
}
if(cards.length<=num) event._result={
bool:true,
links:cards,
}
else player.chooseButton(true,num,['寻疠:将'+get.cnNumber(num)+'张牌置于武将牌上',cards]).set('forceAuto',true).set('ai',function(button){
return get.value(button.link,_status.event.player);
});
'step 1'
if(result.bool){
player.addToExpansion('gain2',result.links).gaintag.add('xunli');
}
},
marktext:'疠',
intro:{
content:'expansion',
markcount:'expansion',
},
group:'xunli_exchange',
subSkill:{
exchange:{
audio:'xunli',
trigger:{player:'phaseUseBegin'},
direct:true,
filter:function(event,player){
return player.getExpansions('xunli').length>0&&player.hasCard((card)=>get.color(card,player)=='black','h');
},
content:function(){
"step 0"
var cards=player.getExpansions('xunli');
if(!cards.length||!player.countCards('h')){
event.finish();
return;
}
var next=player.chooseToMove('寻疠:是否交换“疠”和手牌?');
next.set('list',[
[get.translation(player)+'(你)的疠',cards],
['手牌区',player.getCards('h',(card)=>get.color(card,player)=='black')],
]);
next.set('filterMove',function(from,to){
return typeof to!='number';
});
next.set('processAI',function(list){
var player=_status.event.player;
var getv=function(card){
if(get.info(card).toself) return 0;
return player.getUseValue(card,false);
};
var cards=list[0][1].concat(list[1][1]).sort(function(a,b){
return getv(b)-getv(a);
}),cards2=cards.splice(0,player.getExpansions('xunli').length);
return [cards2,cards];
});
"step 1"
if(result.bool){
var pushs=result.moved[0],gains=result.moved[1];
pushs.removeArray(player.getExpansions('xunli'));
gains.removeArray(player.getCards('h'));
if(!pushs.length||pushs.length!=gains.length) return;
player.logSkill('xunli_exchange');
player.addToExpansion(pushs,player,'giveAuto').gaintag.add('xunli');
game.log(player,'将',pushs,'作为“疠”置于武将牌上');
player.gain(gains,'gain2');
}
},
},
},
},
zhishi:{
audio:2,
trigger:{player:'phaseJieshuBegin'},
direct:true,
content:function(){
'step 0'
player.chooseTarget(get.prompt2('zhishi')).set('ai',function(target){
var player=_status.event.player;
var att=get.attitude(player,target);
if(att<=4) return 0;
if(target.hasSkillTag('nogain')) att/=10;
return att;
});
'step 1'
if(result.bool){
var target=result.targets[0];
player.logSkill('zhishi',target);
player.storage.zhishi_mark=target;
player.addTempSkill('zhishi_mark',{player:'phaseBegin'});
}
},
ai:{expose:0.3},
subSkill:{
mark:{
trigger:{
global:['dying','useCardToTargeted'],
},
direct:true,
charlotte:true,
filter:function(event,player){
if(!player.getExpansions('xunli').length) return false;
var target=player.storage.zhishi_mark;
if(event.name=='dying') return event.player==target;
return event.card.name=='sha'&&event.target==target;
},
content:function(){
'step 0'
var target=player.storage.zhishi_mark;
event.target=target;
player.chooseButton([get.prompt('zhishi',target),'<div class="text center">弃置任意张“疠”并令其摸等量的牌</div>',player.getExpansions('xunli')],[1,Infinity]).set('ai',function(button){
var player=_status.event.player,target=player.storage.zhishi_mark;
if(target.hp<1&&target!=get.zhu(player)) return 0;
if(target.hasSkillTag('nogain')) return 0;
return 3-player.getUseValue(card,false);
});
'step 1'
if(result.bool){
player.logSkill('zhishi',target);
player.loseToDiscardpile(result.links);
target.draw(result.links.length);
}
},
mark:'character',
intro:{
content:'决定帮助$,具体帮不帮另说',
},
},
},
},
lieyi:{
enable:'phaseUse',
usable:1,
filter:function(event,player){
return player.getExpansions('xunli').length>0;
},
filterTarget:lib.filter.notMe,
content:function(){
'step 0'
var cards=player.getExpansions('xunli');
var cards2=cards.filter(function(card){
return target.isIn()&&player.canUse(card,target,false);
});
if(cards2.length){
player.chooseButton(['对'+get.translation(target)+'使用一张牌',cards2],true).set('ai',function(button){
return get.order(button.link);
});
}
else{
event.finish();
if(cards.length) player.loseToDiscardpile(cards);
if(target.isAlive()&&!target.hasHistory('damage',function(evt){
return evt.getParent('lieyi')==event&&evt._dyinged;
})) player.loseHp();
}
'step 1'
player.useCard(result.links[0],target,false);
event.goto(0);
},
ai:{
order:2,
result:{
target:function(player,target){
var cards=player.getExpansions('xunli');
var effect=0,damage=0;
for(var i of cards){
if(player.canUse(i,target,false)){
effect+=get.effect(target,i,player,target);
damage+=get.tag(i,'damage');
}
}
if(damage>=target.hp) return effect;
if(player.hp>2&&cards.length>3) return effect/3;
return 0;
},
},
},
},
//李采薇
yijiao:{
audio:2,
enable:'phaseUse',
usable:1,
filter:function(event,player){
return game.hasPlayer(function(current){
return current!=player&&!current.hasMark('yijiao');
});
},
filterTarget:function(card,player,target){
return target!=player&&!target.hasMark('yijiao');
},
content:function(){
'step 0'
player.chooseControl('10个','20个','30个','40个').set('prompt','要令'+get.translation(target)+'获得多少标记?').set('ai',function(){
var player=_status.event.player,target=_status.event.getParent().target;
if(get.attitude(player,target)<0&&game.hasPlayer(function(current){
return current!=player&&current!=target&&!current.hasMark('yijiao')&&get.attitude(player,current)<0;
})) return 3;
return 0;
});
'step 1'
target.addMark('yijiao',10*(1+result.index));
},
ai:{
order:1.1,
result:{
player:1,
target:-0.5,
},
},
group:'yijiao_effect',
subSkill:{
effect:{
trigger:{global:'phaseJieshuBegin'},
forced:true,
filter:function(event,player){
return event.player.isIn()&&event.player!=player&&event.player.hasMark('yijiao');
},
logTarget:'player',
content:function(){
var target=trigger.player,num=target.countMark('yijiao');
var num2=0;
target.getHistory('useCard',function(evt){
var numz=get.number(evt.card);
if(typeof numz=='number') num2+=numz;
});
if(num>num2){
var hs=target.getCards('h',function(card){
return lib.filter.cardDiscardable(card,target,'yijiao_effect');
});
if(hs.length) target.discard(hs.randomGet());
}
else if(num==num2) target.insertPhase();
else{
player.draw(2);
target.removeMark('yijiao',num);
}
},
},
},
intro:{
onunmark:true,
name2:'异',
content:'mark',
},
},
qibie:{
audio:2,
trigger:{global:'die'},
filter:function(event,player){
return player.countCards('h')>0&&!player.hasCard(function(card){
return !lib.filter.cardDiscardable(card,player,'qibie');
},'h');
},
check:function(event,player){
return player.isDamaged()&&player.countCards('h','tao')<Math.max(2,player.hp);
},
content:function(){
var hs=player.getCards('h');
player.discard(hs);
player.recover();
player.draw(hs.length+1);
},
},
//马日磾 //马日磾
bingjie:{ bingjie:{
trigger:{player:'phaseUseBegin'}, trigger:{player:'phaseUseBegin'},
check:function(event,player){ check:function(event,player){
return player.maxHp>3&&player.isDamaged()&&player.hasCard(function(card){ return player.maxHp>3&&player.isDamaged()&&player.hasCard(function(card){
return game.hasPlayer(function(current){ return game.hasPlayer(function(current){
return current!=player&&get.attitude(player,current)<0&&player.canUse(card,current,null,true)&&get.effect(target,card,player,player)>0; return current!=player&&get.attitude(player,current)<0&&player.canUse(card,current,null,true)&&get.effect(current,card,player,player)>0;
})&&player.hasValueTarget(card); })&&player.hasValueTarget(card);
},'hs'); },'hs');
}, },
@ -192,7 +473,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
//冯妤 //冯妤
tiqi:{ tiqi:{
audio:2, audio:2,
trigger:{global:'phaseDrawEnd'}, trigger:{global:['phaseDrawEnd','phaseDrawSkipped','phaseDrawCancelled']},
filter:function(event,player){ filter:function(event,player){
if(player==event.player) return false; if(player==event.player) return false;
var num=0; var num=0;
@ -214,7 +495,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.draw(num); player.draw(num);
'step 1' 'step 1'
if(trigger.player.isIn()){ if(trigger.player.isIn()){
player.chooseControl(' +'+num+' ',' -'+num+' ','cancel').set('prompt','是否改变'+get.translation(trigger.player)+'本回合的手牌上限?').set('ai',function(){ player.chooseControl(' +'+num+' ',' -'+num+' ','cancel2').set('prompt','是否改变'+get.translation(trigger.player)+'本回合的手牌上限?').set('ai',function(){
var sgn=get.sgn(get.attitude(_status.event.player,_status.event.getTrigger().player)); var sgn=get.sgn(get.attitude(_status.event.player,_status.event.getTrigger().player));
if(sgn==0) return 2; if(sgn==0) return 2;
if(sgn==1) return 0; if(sgn==1) return 0;
@ -260,7 +541,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.chooseTarget([1,player.maxHp],get.prompt('baoshu'),'令至多'+get.cnNumber(player.maxHp)+'名角色重置武将牌并获得“梳”').set('ai',function(target){ player.chooseTarget([1,player.maxHp],get.prompt('baoshu'),'令至多'+get.cnNumber(player.maxHp)+'名角色重置武将牌并获得“梳”').set('ai',function(target){
var att=get.attitude(player,target); var att=get.attitude(player,target);
if(att<=0) return 0; if(att<=0) return 0;
if(target.isTurnedOver()) return 3*att; //if(target.isTurnedOver()) return 3*att;
if(target.isLinked()&&get.effect(target,{name:'tiesuo'},player,player)>0) return 1.6*att; if(target.isLinked()&&get.effect(target,{name:'tiesuo'},player,player)>0) return 1.6*att;
if(ui.selected.targets.length>=Math.sqrt(1+player.maxHp)) return 0; if(ui.selected.targets.length>=Math.sqrt(1+player.maxHp)) return 0;
if(target!=player) return 1.3*att; if(target!=player) return 1.3*att;
@ -288,15 +569,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
else if(target.isLinked()) target.link(); else if(target.isLinked()) target.link();
'step 3' 'step 3'
if(!target.isIn()){
if(num<targets.length-1){
event.num++;
event.goto(2);
}
else event.finish();
}
if(target.isTurnedOver()) target.turnOver();
'step 4'
if(target.isIn()) target.addMark('baoshu',event.num2); if(target.isIn()) target.addMark('baoshu',event.num2);
if(num<targets.length-1){ if(num<targets.length-1){
event.num++; event.num++;
@ -559,7 +831,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
nifu:{ nifu:{
audio:2, audio:2,
trigger:{player:'phaseEnd'}, trigger:{global:'phaseEnd'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
return player.countCards('h')<3; return player.countCards('h')<3;
@ -1036,31 +1308,30 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var cards=cards.filter(function(card){ var cards=cards.filter(function(card){
return lib.skill.jinhui.getUsableTarget(card,player,target); return lib.skill.jinhui.getUsableTarget(card,player,target);
}); });
var effect=0;
for(var i of cards){
effect+=get.effect(lib.skill.jinhui.getUsableTarget(i,player,target),i,player,player)
}
if(cards.length){ if(cards.length){
player.chooseBool('是否按“锦绘规则使用以下牌?”',get.translation(cards)).set('goon',effect>0).set('ai',()=>_status.event.goon); player.chooseButton(['是否按“锦绘”规则使用其中一张牌?',cards]).set('ai',function(button){
var player=_status.event.player,target=_status.event.getParent().target;
var card=button.link,targetx=lib.skill.jinhui.getUsableTarget(card,player,target);
return get.effect(targetx,card,player,player)
});
} }
else event.finish(); else event.finish();
'step 4' 'step 4'
if(!result.bool) event.finish(); if(result.bool){
'step 5' var card=result.links[0];
for(var card of cards){ cards.remove(card);
var targetx=lib.skill.jinhui.getUsableTarget(card,player,target); var targetx=lib.skill.jinhui.getUsableTarget(card,player,target);
if(targetx){ if(targetx){
player.useCard(card,targetx,false,'noai'); player.useCard(card,targetx,false,'noai');
cards.remove(card);
if(cards.length) event.redo();
break;
} }
if(cards.length) event.goto(3);
} }
else event.finish();
}, },
getUsableTarget:function(card,player,target){ getUsableTarget:function(card,player,target){
var info=get.info(card,false); var info=get.info(card,false);
if(info.toself) return player.canUse(card,player,false)?player:false; if(info.toself) return player.canUse(card,player,false)?player:false;
return (target.isIn&&player.canUse(card,target,false))?target:false; return (target.isIn()&&player.canUse(card,target,false))?target:false;
}, },
ai:{ ai:{
order:5, order:5,
@ -1508,8 +1779,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var player=_status.event.player; var player=_status.event.player;
var ph=player.countCards('h'); var ph=player.countCards('h');
if(get.position(card)=='h') ph--; if(get.position(card)=='h') ph--;
var num=Math.min(_status.event.getTrigger().ph,5-ph); var num=Math.min(_status.event.getTrigger().player.countCards('h'),5-ph);
if(num>0) return 3.5*num+0.01-get.value(card); if(num>0) return 3.5*num+0.01-get.value(card);
return 0.01-get.value(card);
}).logSkill=['mingluan',trigger.player]; }).logSkill=['mingluan',trigger.player];
'step 1' 'step 1'
if(result.bool){ if(result.bool){
@ -2085,7 +2357,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
direct:true, direct:true,
filter:function(event,player){ filter:function(event,player){
return event.source&&event.source==_status.currentPhase&&event.num==1&& return event.source&&event.source==_status.currentPhase&&event.num==1&&
event.player!=event.source&&event.player.isIn()&&player.countCards('h')>0&& event.player!=event.source&&event.player.isIn()&&player.countCards('he')>0&&
event.source.getHistory('sourceDamage',function(evt){ event.source.getHistory('sourceDamage',function(evt){
return evt.player!=event.source; return evt.player!=event.source;
}).indexOf(event)==0; }).indexOf(event)==0;
@ -8322,6 +8594,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.chooseToDiscard('h',true); player.chooseToDiscard('h',true);
}, },
}, },
refenyin_wufan:{audio:2},
//新岩泽(划掉)留赞 //新岩泽(划掉)留赞
refenyin:{ refenyin:{
audio:2, audio:2,
@ -13011,6 +13284,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
haomeng:'郝萌196年东汉末年吕布帐下名将。建安元年196年郝萌在袁术的怂恿下反叛吕布曾一度打得吕布躲入厕所。后来被吕布部将高顺所阻其部将曹性临阵反叛最终被高顺所杀。在小说《三国演义》中吕布被围下邳时郝萌护送许汜王楷回城时被张飞擒获被曹操所杀。', haomeng:'郝萌196年东汉末年吕布帐下名将。建安元年196年郝萌在袁术的怂恿下反叛吕布曾一度打得吕布躲入厕所。后来被吕布部将高顺所阻其部将曹性临阵反叛最终被高顺所杀。在小说《三国演义》中吕布被围下邳时郝萌护送许汜王楷回城时被张飞擒获被曹操所杀。',
wufan:'吴范226年字文则会稽上虞今浙江绍兴上虞区人。三国时期孙吴官员擅长术数。与刘惇、赵达、严武、曹不兴、皇象、宋寿和郑妪合称“吴中八绝”。吴范以推算天象节气和观察气候闻名于郡中。孙权起于东南他委身事奉每推算灾祥多应验遂显名。孙权委以骑都尉领太史令。初孙权为将军时他曾说江南有王气。及孙权立为吴王论功行封欲以为都亭侯但因不愿将其术要诀告知孙权为权所怨恨被除名。黄武中病死。', wufan:'吴范226年字文则会稽上虞今浙江绍兴上虞区人。三国时期孙吴官员擅长术数。与刘惇、赵达、严武、曹不兴、皇象、宋寿和郑妪合称“吴中八绝”。吴范以推算天象节气和观察气候闻名于郡中。孙权起于东南他委身事奉每推算灾祥多应验遂显名。孙权委以骑都尉领太史令。初孙权为将军时他曾说江南有王气。及孙权立为吴王论功行封欲以为都亭侯但因不愿将其术要诀告知孙权为权所怨恨被除名。黄武中病死。',
mamidi:'马日(mì)磾(dí)194年字翁叔。扶风茂陵今陕西省兴平市人。东汉中后期大臣经学大师马融之族孙一作族子。马日磾年轻时即继承马融学说以才学入仕。曾任谏议大夫与蔡邕、卢植等人东观典校官藏的《五经》记传并参与续写《东观汉记》。后历任射声校尉、太尉、太常等职。初平三年192年掌权的李傕任命马日磾为太傅、录尚书事与太仆赵岐共同出使关东。他到寿春袁术处后对其多有所求遭袁术轻鄙袁术遂夺其符节来随意征辟将士并企图强迫马日磾任其军师马日磾求去不能忧愤发病兴平元年194年卒于寿春。', mamidi:'马日(mì)磾(dí)194年字翁叔。扶风茂陵今陕西省兴平市人。东汉中后期大臣经学大师马融之族孙一作族子。马日磾年轻时即继承马融学说以才学入仕。曾任谏议大夫与蔡邕、卢植等人东观典校官藏的《五经》记传并参与续写《东观汉记》。后历任射声校尉、太尉、太常等职。初平三年192年掌权的李傕任命马日磾为太傅、录尚书事与太仆赵岐共同出使关东。他到寿春袁术处后对其多有所求遭袁术轻鄙袁术遂夺其符节来随意征辟将士并企图强迫马日磾任其军师马日磾求去不能忧愤发病兴平元年194年卒于寿春。',
licaiwei:'李采薇,生卒年不详,汉末将领庞德之妻,庞会之母。襄樊之战时,庞德任先锋,随于禁率军增援驻守樊城的曹仁。出战前,他将妻子李采薇与年仅六岁的儿子庞会叫来面前,对李采薇说:“吾今为先锋,义当效死疆场。我若死,汝好生看养吾儿。吾儿有异相,长大必当与吾报仇也。”李采薇闻言,与儿子痛哭送别庞德。她知道丈夫已下定决心,若无法胜利归还则必当战死沙场,绝不会投降求生。其后前线果然传来消息:魏军全军覆没,于禁投降,庞德誓死不降被关羽所杀。其子庞会自幼丧父,由母亲抚养长大。成年后,庞会性格勇烈,有先父之风。他多次立下战功,深受魏文帝曹丕的喜爱。后来庞会随钟会、邓艾伐蜀,成都城破之后,尽灭关氏家以报父仇。',
}, },
characterTitle:{ characterTitle:{
wulan:'#b对决限定武将', wulan:'#b对决限定武将',
@ -13122,7 +13396,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
"xinfu_langxi":"狼袭", "xinfu_langxi":"狼袭",
"xinfu_langxi_info":"准备阶段你可以对一名体力小于或等于你的其他角色造成02点随机伤害。", "xinfu_langxi_info":"准备阶段你可以对一名体力小于或等于你的其他角色造成02点随机伤害。",
"xinfu_yisuan":"亦算", "xinfu_yisuan":"亦算",
"xinfu_yisuan_info":"每回合限一次。当你于出牌阶段使用的锦囊牌进入弃牌堆时你可以减1点体力上限从弃牌堆中获得之。", "xinfu_yisuan_info":"每回合限一次。当你于出牌阶段使用的锦囊牌结算结束后你可以减1点体力上限并获得此牌对应的所有实体牌。",
"xinfu_xingluan":"兴乱", "xinfu_xingluan":"兴乱",
"xinfu_xingluan_info":"每回合限一次。当你于出牌阶段使用的仅指定一个目标的牌结算完成后你可以从牌堆中随机获得一张点数为6的牌。", "xinfu_xingluan_info":"每回合限一次。当你于出牌阶段使用的仅指定一个目标的牌结算完成后你可以从牌堆中随机获得一张点数为6的牌。",
"xinfu_lveming":"掠命", "xinfu_lveming":"掠命",
@ -13249,7 +13523,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
spjiedao:"截刀", spjiedao:"截刀",
"spjiedao_info":"当你每回合第一次造成伤害时,你可令此伤害至多+XX为你损失的体力值。然后若受到此伤害的角色没有死亡你弃置等同于此伤害加值的牌。", "spjiedao_info":"当你每回合第一次造成伤害时,你可令此伤害至多+XX为你损失的体力值。然后若受到此伤害的角色没有死亡你弃置等同于此伤害加值的牌。",
biaozhao:"表召", biaozhao:"表召",
"biaozhao_info":"结束阶段,你可以将一张牌置于武将牌上,称为“表”。当有一张与“表”花色点数均相同的牌进入弃牌堆你将“表”置入弃牌堆并失去1点体力若此牌是其他角色因弃置而进入弃牌堆的则改为该角色获得“表”。准备阶段若你的武将牌上有“表”则你将“表”置入弃牌堆。然后你选择一名角色该角色回复1点体力且将手牌摸至与全场手牌数最多的人相同最多摸五张。", "biaozhao_info":"结束阶段,你可以将一张牌置于武将牌上,称为“表”。当有一张与“表”花色点数均相同的牌进入弃牌堆你将“表”置入弃牌堆并失去1点体力若此牌是其他角色因弃置而进入弃牌堆的则改为该角色获得“表”。准备阶段若你的武将牌上有“表”则你将“表”置入弃牌堆。然后你选择一名角色该角色回复1点体力且将手牌摸至与全场手牌数最多的人相同最多摸五张。",
"biaozhao2":"表召", "biaozhao2":"表召",
"biaozhao2_info":"", "biaozhao2_info":"",
"biaozhao3":"表召", "biaozhao3":"表召",
@ -13742,7 +14016,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
syxiongyi_info:'限定技。当你处于濒死状态时若剩余武将牌堆中有“徐氏”则你将体力值回复至3点并将此武将牌替换为“徐氏”没有“徐氏”则你将体力值回复至1点并获得〖魂姿〗。', syxiongyi_info:'限定技。当你处于濒死状态时若剩余武将牌堆中有“徐氏”则你将体力值回复至3点并将此武将牌替换为“徐氏”没有“徐氏”则你将体力值回复至1点并获得〖魂姿〗。',
zhaoyan:'赵嫣', zhaoyan:'赵嫣',
jinhui:'锦绘', jinhui:'锦绘',
jinhui_info:'出牌阶段限一次,你可以随机展示牌堆中的三张不具有“伤害”标签且使用目标范围为“自己”或“一名角色”的牌,然后选择一名其他角色。该角色选择并按如下“锦绘”规则使用其中一张,然后你可以依次按如下“锦绘”规则使用其余两张:若此牌的使用目标为“自己”,则对自己使用该牌,否则对对方使用该牌(无距离限制且不计入次数限制)。', jinhui_info:'出牌阶段限一次,你可以随机展示牌堆中的三张不具有“伤害”标签且使用目标范围为“自己”或“一名角色”的牌,然后选择一名其他角色。该角色选择并按如下“锦绘”规则使用其中一张,然后你可以按如下“锦绘”规则使用剩余的任意张牌:若此牌的使用目标为“自己”,则对自己使用该牌,否则对对方使用该牌(无距离限制且不计入次数限制)。',
qingman:'轻幔', qingman:'轻幔',
qingman_info:'锁定技。一名角色的回合结束时你将手牌摸至X张X为其装备区中空栏的数量。', qingman_info:'锁定技。一名角色的回合结束时你将手牌摸至X张X为其装备区中空栏的数量。',
re_zhangbao:'张宝', re_zhangbao:'张宝',
@ -13781,7 +14055,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
wfyuyan_info:'一轮游戏开始时,你选择一名角色(对其他角色不可见):当第一次有角色于本轮内进入濒死状态时,若其是你选择的角色,则你获得〖奋音〗直到你的回合结束;当第一次有角色于本轮内造成伤害后,若其是你选择的角色,则你摸两张牌。', wfyuyan_info:'一轮游戏开始时,你选择一名角色(对其他角色不可见):当第一次有角色于本轮内进入濒死状态时,若其是你选择的角色,则你获得〖奋音〗直到你的回合结束;当第一次有角色于本轮内造成伤害后,若其是你选择的角色,则你摸两张牌。',
re_fengfangnv:'冯妤', re_fengfangnv:'冯妤',
tiqi:'涕泣', tiqi:'涕泣',
tiqi_info:'其他角色的摸牌阶段结束时若其于本阶段内因摸牌而获得的牌数X不等于2则你可以摸|X-2|张牌,并可令其本回合的手牌上限±|X-2|。', tiqi_info:'其他角色的摸牌阶段结束时/被跳过时若其于本阶段内因摸牌而获得的牌数X不等于2则你可以摸|X-2|张牌,并可令其本回合的手牌上限±|X-2|。',
baoshu:'宝梳', baoshu:'宝梳',
baoshu_info:'①准备阶段你可选择Y名角色这些角色重置武将牌并获得(X-Y+1)个“梳”X为你的体力上限Y∈[1, X])。②一名角色的摸牌阶段开始时,若其有“梳”,则其本阶段的额定摸牌数+Z且移去Z个“梳”Z为其“梳”的数量。', baoshu_info:'①准备阶段你可选择Y名角色这些角色重置武将牌并获得(X-Y+1)个“梳”X为你的体力上限Y∈[1, X])。②一名角色的摸牌阶段开始时,若其有“梳”,则其本阶段的额定摸牌数+Z且移去Z个“梳”Z为其“梳”的数量。',
mamidi:'马日磾', mamidi:'马日磾',
@ -13789,6 +14063,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
bingjie_info:'出牌阶段开始时你可减1点体力上限然后当你于本阶段内使用【杀】或普通锦囊牌指定其他角色为目标后其弃置一张牌。', bingjie_info:'出牌阶段开始时你可减1点体力上限然后当你于本阶段内使用【杀】或普通锦囊牌指定其他角色为目标后其弃置一张牌。',
zhengding:'正订', zhengding:'正订',
zhengding_info:'锁定技。当你于回合外使用或打出牌响应其他角色使用的牌时若这两张牌花色相同则你加1点体力上限。', zhengding_info:'锁定技。当你于回合外使用或打出牌响应其他角色使用的牌时若这两张牌花色相同则你加1点体力上限。',
licaiwei:'李采薇',
yijiao:'异教',
yijiao_info:'出牌阶段限一次你可以选择一名没有“异”标记的其他角色并声明一个整数XX∈[1,4]该角色获得10X个“异”标记。有“异”标记的角色的结束阶段若其本回合使用牌的点数之和1.小于“异”标记数其随机弃置一张手牌2.等于“异”标记数该角色本回合结束后进行一个额外的回合3.大于“异”标记数,你摸两张牌。回合结束时移去“异”标记。',
qibie:'泣别',
qibie_info:'一名角色死亡后若你有手牌且这些手牌均可被弃置则你可以弃置所有手牌然后回复1点体力并摸X+1张牌X为你弃置的牌数。',
dc_jiben:'吉本',
xunli:'寻疠',
xunli_info:'锁定技。①当有黑色牌因弃置而进入弃牌堆后若X大于0则你将其中的X张牌置于武将牌上作为“疠”X=min(这些牌的数量9-Y)Y=你的“疠”数)。②出牌阶段开始时,你可以用任意张黑色手牌交换等量的“疠”。',
zhishi:'指誓',
zhishi_info:'结束阶段,你可选择一名角色。当该角色于你的下回合开始前{成为【杀】的目标后或进入濒死状态时},你可移去任意张“疠”,然后其摸等量的牌。',
lieyi:'烈医',
lieyi_info:'出牌阶段限一次。你可以展示所有“疠”并选择一名其他角色对其使用其中的一张可对其使用的牌无距离和次数限制并重复此流程并将其余的牌置于弃牌堆。然后若其存活且未于此流程中因受到伤害而进入过濒死状态则你失去1点体力。',
sp_whlw:"文和乱武", sp_whlw:"文和乱武",
sp_zlzy:"逐鹿中原", sp_zlzy:"逐鹿中原",

View File

@ -89,7 +89,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
machao:['madai','mayunlu'], machao:['madai','mayunlu'],
zhangliao:['zangba'], zhangliao:['zangba'],
ganning:['lingtong','xf_sufei'], ganning:['lingtong','xf_sufei'],
guanyu:['zhangfei'], guanyu:['zhangfei','liaohua'],
}, },
skill:{ skill:{
rewangzun:{ rewangzun:{

View File

@ -5,13 +5,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
connect:true, connect:true,
characterSort:{ characterSort:{
tw:{ tw:{
tw_mobile:['nashime','tw_dongzhao','jiachong','duosidawang','wuban','yuejiu','tw_huojun','tw_caocao','tw_zhangmancheng','tw_caozhao'], tw_mobile:['nashime','tw_dongzhao','jiachong','duosidawang','wuban','yuejiu','tw_huojun','tw_caocao','tw_zhangmancheng','tw_caozhao','tw_wangchang'],
tw_mobile2:['tw_beimihu','tw_gexuan','tw_fuwan','tw_yujin','tw_zhaoxiang','tw_hucheer','tw_hejin','tw_mayunlu','tw_re_caohong','tw_zangba','tw_liuhong','tw_chengpu','tw_guohuai'], tw_mobile2:['tw_beimihu','tw_gexuan','tw_fuwan','tw_yujin','tw_zhaoxiang','tw_hucheer','tw_hejin','tw_mayunlu','tw_re_caohong','tw_zangba','tw_liuhong','tw_chengpu','tw_guohuai','tw_wujing','tw_wangcan'],
tw_yijiang:['tw_caoang','tw_caohong','tw_zumao','tw_dingfeng','tw_maliang','tw_xiahouba'], tw_yijiang:['tw_caoang','tw_caohong','tw_zumao','tw_dingfeng','tw_maliang','tw_xiahouba'],
tw_english:['kaisa'], tw_english:['kaisa'],
}, },
}, },
character:{ character:{
tw_wujing:['male','wu',4,['twfenghan','twcongji']],
tw_wangcan:['male','wei',3,['twdianyi','twyingji','twshanghe']],
tw_wangchang:['male','wei',3,['twkaiji','twshepan']],
tw_caozhao:['male','wei',4,['twfuzuan','twchongqi']], tw_caozhao:['male','wei',4,['twfuzuan','twchongqi']],
tw_guohuai:["male","wei",4,["twjingce","yuzhang"]], tw_guohuai:["male","wei",4,["twjingce","yuzhang"]],
tw_chengpu:['male','wu',4,['twlihuo','twchunlao']], tw_chengpu:['male','wu',4,['twlihuo','twchunlao']],
@ -52,6 +55,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
huojun:'霍峻178年—217年字仲邈南郡枝江今湖北枝江东汉末年刘备麾下名将。其兄霍笃曾在故乡聚部众数百人。后霍笃逝世刘表以霍峻继承其部曲。208年建安十三年刘表病逝霍峻便率部曲归降刘备并被任为中郎将。后随刘备入蜀刘备从葭萌还袭刘璋留霍峻守葭萌城。张鲁遣将杨帛劝降霍峻霍峻严词拒绝杨帛退去。后刘璋将扶禁、向存等率万余人由阆水上攻围霍峻城中兵不过数百人霍峻坚守一年伺机将其击破。刘备定蜀嘉霍峻之功于是分广汉为梓潼郡以峻为梓潼太守、裨将军。三年后去世还葬成都。刘备亲率群僚临会吊祭留宿墓上当时的人都为他感到荣幸。', huojun:'霍峻178年—217年字仲邈南郡枝江今湖北枝江东汉末年刘备麾下名将。其兄霍笃曾在故乡聚部众数百人。后霍笃逝世刘表以霍峻继承其部曲。208年建安十三年刘表病逝霍峻便率部曲归降刘备并被任为中郎将。后随刘备入蜀刘备从葭萌还袭刘璋留霍峻守葭萌城。张鲁遣将杨帛劝降霍峻霍峻严词拒绝杨帛退去。后刘璋将扶禁、向存等率万余人由阆水上攻围霍峻城中兵不过数百人霍峻坚守一年伺机将其击破。刘备定蜀嘉霍峻之功于是分广汉为梓潼郡以峻为梓潼太守、裨将军。三年后去世还葬成都。刘备亲率群僚临会吊祭留宿墓上当时的人都为他感到荣幸。',
zhangmancheng:'张曼成—184年6月东汉末年黄巾之乱时南阳黄巾军首领杀郡守褚贡一度占据宛城数月后为秦颉所杀。', zhangmancheng:'张曼成—184年6月东汉末年黄巾之乱时南阳黄巾军首领杀郡守褚贡一度占据宛城数月后为秦颉所杀。',
caozhao:'曹肇(?-244年字长思沛国谯县今安徽亳州人。三国时期魏国大臣大司马曹休之子。容貌俊美有当世才度深得魏明帝宠信官至散骑常侍、屯骑校尉。魏明帝临死与燕王曹宇等托付后事。不果以长平侯归第。正始五年244年追赠为卫将军。', caozhao:'曹肇(?-244年字长思沛国谯县今安徽亳州人。三国时期魏国大臣大司马曹休之子。容貌俊美有当世才度深得魏明帝宠信官至散骑常侍、屯骑校尉。魏明帝临死与燕王曹宇等托付后事。不果以长平侯归第。正始五年244年追赠为卫将军。',
wangchang:'王昶2世纪259年字文舒太原郡晋阳县今山西太原人。三国时期曹魏将领东汉代郡太守王泽之子。出身太原王氏少有名气进入曹丕幕府授太子文学。曹丕即位后拜散骑侍郎迁兖州刺史撰写《治论》、《兵书》作为朝廷提供施政参考。魏明帝曹叡即位后升任扬烈将军封关内侯。齐王曹芳即位迁徐州刺史拜征南将军。太傅司马懿掌权后深得器重奏请伐吴在江陵取得重大胜利升任征南大将军、开府仪同三司晋爵京陵侯。正元年间255年参与平定“淮南三乱”有功迁骠骑大将军守司空。甘露四年259年去世赠司徒谥号为穆。',
}, },
card:{ card:{
dz_mantianguohai:{ dz_mantianguohai:{
@ -165,6 +169,339 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
}, },
skill:{ skill:{
//吴景
twfenghan:{
audio:2,
trigger:{player:'useCardToPlayered'},
direct:true,
usable:1,
filter:function(event,player){
return event.isFirstTarget&&event.targets.length>0&&(event.card.name=='sha'||get.type(event.card,false)=='trick'&&get.tag(event.card,'damage')>0);
},
content:function(){
'step 0'
var num=trigger.targets.length;
player.chooseTarget([1,num],get.prompt('twfenghan'),'令至多'+get.cnNumber(num)+'名角色各摸一张牌').set('ai',function(target){
return Math.sqrt(5-Math.min(4,target.countCards('h')))*get.attitude(_status.event.player,target)*(target.hasSkillTag('nogain')?0.1:1);
});
'step 1'
if(result.bool){
var targets=result.targets.sortBySeat();
player.logSkill('twfenghan',targets);
if(targets.length>1) game.asyncDraw(targets);
else{
targets[0].draw();
event.finish();
}
}
else{
player.storage.counttrigger.twfenghan--;
event.finish();
}
'step 2'
game.delayx();
},
},
twcongji:{
audio:2,
trigger:{player:'loseAfter'},
direct:true,
filter:function(event,player){
if(player==_status.currentPhase||event.type!='discard'||event.position!=ui.discardPile||!game.hasPlayer((current)=>current!=player)) return false;
for(var i of event.cards2){
if(get.color(i,player)=='red'&&get.position(i,true)=='d') return true;
}
return false;
},
content:function(){
'step 0'
var cards=[];
for(var i of trigger.cards2){
if(get.color(i,player)=='red'&&get.position(i,true)=='d') cards.push(i);
}
player.chooseButton(['从击:选择任意张牌交给其他角色',cards],[1,cards.length]).set('goon',game.hasPlayer(function(current){
return current!=player&&get.attitude(player,current)>0;
})).set('ai',function(button){
if(_status.event.goon) return get.value(button.link);
return button.link.name=='du'?1:0;
});
'step 1'
if(result.bool){
event.cards=result.links;
player.chooseTarget('选择一名角色获得以下牌:',get.translation(cards),true,lib.filter.notMe).set('ai',function(target){
var player=_status.event.player,cards=_status.event.getParent().cards;
if(cards[0].name=='du') return -get.attitude(player,target);
var att=get.attitude(player,target);
if(att<=0) return 0;
if(target.hasSkillTag('nogain')) att/=10;
if(target.hasJudge('lebu')) att/=4;
return get.value(cards,target)*att;
});
}
else event.finish();
'step 2'
if(result.bool){
var target=result.targets[0];
player.logSkill('twcongji',target);
target.gain(cards,'gain2');
}
},
},
//王粲
twdianyi:{
audio:2,
trigger:{player:'phaseEnd'},
forced:true,
filter:function(event,player){
if(!player.getHistory('sourceDamage').length) return player.countCards('h')!=4;
return player.countCards('h')>0;
},
content:function(){
var num=player.countCards('h');
if(player.getHistory('sourceDamage').length) player.chooseToDiscard('h',true,num);
else if(num>4) player.chooseToDiscard('h',true,num-4);
else player.drawTo(4);
},
},
twyingji:{
audio:2,
enable:['chooseToUse','chooseToRespond'],
hiddenCard:function(player,name){
return player!=_status.currentPhase&&lib.inpile.contains(name)&&player.countCards('h')==0;
},
filter:function(event,player){
if(player==_status.currentPhase||player.countCards('h')>0) return false;
for(var i of lib.inpile){
if(i=='wuxie') continue;
var type=get.type(i);
if((type=='basic'||type=='trick')&&event.filterCard({name:i},player,event)) return true;
if(i=='sha'){
for(var j of lib.inpile_nature){
if(event.filterCard({name:i,nature:j},player,event)) return true;
}
}
}
return false;
},
chooseButton:{
dialog:function(event,player){
var list=[];
for(var i of lib.inpile){
if(i=='wuxie') continue;
var type=get.type(i);
if(type=='basic'||type=='trick'){
var card={name:i,isCard:true};
if(event.filterCard(card,player,event)) list.push([type,'',i]);
if(i=='sha'){
for(var j of lib.inpile_nature){
card.nature=j;
if(event.filterCard(card,player,event)) list.push(['基本','','sha',j]);
}
}
}
}
return ui.create.dialog('应机',[list,'vcard']);
},
check:function(button){
var player=_status.event.player;
var card={name:button.link[2],nature:button.link[3]};
var val=_status.event.getParent().type=='phase'?player.getUseValue(card):1;
return val;
},
backup:function(links,player){
return {
viewAs:{
name:links[0][2],
nature:links[0][3],
isCard:true,
},
filterCard:()=>false,
selectCard:-1,
precontent:function(){
player.logSkill('twyingji');
player.draw('nodelay');
delete event.result.skill;
},
}
},
prompt:function(links){
return '将一张手牌当做'+(get.translation(links[0][3])||'')+get.translation(links[0][2])+'使用';
},
},
ai:{
fireAttack:true,
respondShan:true,
respondSha:true,
skillTagFilter:function(player){
if(player==_status.currentPhase||player.countCards('h')>0) return false;
},
order:10,
result:{
player:1,
},
},
group:['twyingji_wuxie'],
},
twyingji_wuxie:{
enable:'chooseToUse',
viewAs:{
name:'wuxie',
isCard:true,
},
viewAsFilter:function(player){
return player!=_status.currentPhase&&player.countCards('h')==0;
},
filterCard:()=>false,
prompt:'视为使用【无懈可击】并摸一张牌',
selectCard:[0,1],
check:()=>1,
precontent:function(){
player.logSkill('twyingji');
player.draw('nodelay');
delete event.result.skill;
},
ai:{
order:4,
},
},
twshanghe:{
trigger:{player:'dying'},
limited:true,
audio:2,
filter:function(event,player){
return game.hasPlayer(function(current){
return current!=player&&current.countCards('he')>0;
})
},
prompt:'是否发动【觞贺】?',
skillAnimation:true,
animationColor:'soil',
logTarget:(event,player)=>game.filterPlayer((current)=>current!=player),
content:function(){
"step 0"
player.awakenSkill('twshanghe');
event.targets=game.filterPlayer((current)=>current!=player);
event.num=0;
event.jiu=false;
"step 1"
event.current=targets[num];
if(!event.current.countCards('he')) event.goto(3);
else event.current.chooseCard('交给'+get.translation(player)+'一张牌','he',true).set('ai',function(card){
var evt=_status.event.getParent();
return 100-get.value(card);
});
"step 2"
if(result.bool&&result.cards&&result.cards.length){
player.gain(result.cards,event.current,'giveAuto');
if(!event.jiu&&get.name(result.cards[0],player)=='jiu') event.jiu=true;
}
"step 3"
event.num++;
if(event.num<targets.length) event.goto(1);
else if(!event.jiu&&player.hp<1) player.recover(1-player.hp);
},
},
//王昶
twkaiji:{
audio:2,
trigger:{player:'phaseZhunbeiBegin'},
direct:true,
content:function(){
'step 0'
var num=1+player.getStorage('twkaiji').length;
player.chooseTarget([1,num],get.prompt('twkaiji'),'令至多'+get.cnNumber(num)+'名角色各摸一张牌').set('ai',function(target){
return Math.sqrt(5-Math.min(4,target.countCards('h')))*get.attitude(_status.event.player,target)*(target.hasSkillTag('nogain')?0.1:1);
});
'step 1'
if(result.bool){
var targets=result.targets.sortBySeat();
event.targets=targets;
player.logSkill('twkaiji',targets);
if(targets.length==1) targets[0].draw();
else game.asyncDraw(targets);
}
else event.finish();
'step 2'
if(targets.length>1) game.delayx();
if(game.hasPlayer(function(current){
return targets.contains(current)&&current.hasHistory('gain',function(evt){
return evt.getParent(2)==event&&get.type(evt.cards[0],current)!='basic';
})
})) player.draw();
},
group:'twkaiji_count',
subSkill:{
count:{
trigger:{global:'dying'},
forced:true,
firstDo:true,
silent:true,
popup:false,
charlotte:true,
filter:function(event,player){
return !player.getStorage('twkaiji').contains(event.player);
},
content:function(){
player.markAuto('twkaiji',[trigger.player]);
},
},
},
},
twshepan:{
audio:2,
trigger:{target:'useCardToTargeted'},
usable:1,
direct:true,
filter:function(event,player){
return player!=event.player;
},
content:function(){
'step 0'
var target=trigger.player;
event.target=target;
var choiceList=[
'摸一张牌',
'将'+get.translation(target)+'区域内的一张牌置于牌堆顶',
];
var choices=['选项一'];
if(target.countCards('hej')>0) choices.push('选项二');
else choiceList[1]='<span style="opacity:0.5">'+choiceList[1]+'</span>';
choices.push('cancel2');
player.chooseControl(choices).set('choiceList',choiceList).set('choice',function(){
if(choices.length>2&&get.effect(target,{name:'guohe_copy'},player,player)>0) return 1;
return 0;
}())
'step 1'
if(result.control!='cancel2'){
player.logSkill('twshepan',target);
if(result.index==1) player.choosePlayerCard(target,'hej',true);
else{
player.draw();
event.goto(3);
}
}
else{
player.storage.counttrigger.twshepan--;
event.finish();
}
'step 2'
var card=result.cards[0];
target.$throw(get.position(card)=='h'?1:card,1000);
target.lose(card,ui.cardPile,'insert');
'step 3'
game.delayx();
if(target.isIn()&&player.countCards('h')==target.countCards('h')){
player.storage.counttrigger.twshepan--;
player.chooseBool('是否令'+get.translation(trigger.card)+'对自己无效?').set('ai',function(){
var evt=_status.event.getTrigger();
return get.effect(evt.target,evt.card,evt.player,evt.target)<0;
});
}
else event.finish();
'step 4'
if(result.bool) trigger.excluded.add(player);
},
},
//曹肇 //曹肇
twfuzuan:{ twfuzuan:{
audio:2, audio:2,
@ -370,6 +707,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}).set('source',trigger.source); }).set('source',trigger.source);
'step 1' 'step 1'
if(result.control!='cancel2'){ if(result.control!='cancel2'){
player.logSkill('yuzhang',trigger.source);
player.removeMark('twjingce',1); player.removeMark('twjingce',1);
if(result.index==0) trigger.source.addTempSkill('yuzhang_dontuse'); if(result.index==0) trigger.source.addTempSkill('yuzhang_dontuse');
else trigger.source.chooseToDiscard('he',trigger.source.hp,true); else trigger.source.chooseToDiscard('he',trigger.source.hp,true);
@ -1554,7 +1892,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
var names=[]; var names=[];
for(var i of cards) names.add(i.name); for(var i of cards) names.add(i.name);
if(names.length<player.hp) return 0; if(names.length<player.hp) return 0;
if(player.hasUnknown()&&(player.identity!=fan||!target.isZhu)) return 0; if(player.hasUnknown()&&(player.identity!='fan'||!target.isZhu)) return 0;
if(get.attitude(player,target)>=0) return -20; if(get.attitude(player,target)>=0) return -20;
return lib.card.sha.ai.result.target.apply(this,arguments); return lib.card.sha.ai.result.target.apply(this,arguments);
}, },
@ -3726,7 +4064,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
twyingjia_info:'一名角色的回合结束时,若你本回合内使用过两张或更多的同名锦囊牌,则你可弃置一张手牌并令一名角色进行一个额外回合。', twyingjia_info:'一名角色的回合结束时,若你本回合内使用过两张或更多的同名锦囊牌,则你可弃置一张手牌并令一名角色进行一个额外回合。',
dz_mantianguohai:'瞒天过海', dz_mantianguohai:'瞒天过海',
dz_mantianguohai_info:'此牌不计入拥有者的手牌上限。出牌阶段,对一至两名区域内有牌的其他角色使用。你获得目标角色一张牌,然后依次交给每名目标角色各一张牌。', dz_mantianguohai_info:'此牌不计入拥有者的手牌上限。出牌阶段,对一至两名区域内有牌的其他角色使用。你获得目标角色一张牌,然后依次交给每名目标角色各一张牌。',
jiachong:'贾充', jiachong:'TW贾充',
beini:'悖逆', beini:'悖逆',
beini_info:'出牌阶段限一次,你可以选择一名体力值不小于你的角色,令你或其摸两张牌,然后未摸牌的角色视为对摸牌的角色使用一张【杀】。', beini_info:'出牌阶段限一次,你可以选择一名体力值不小于你的角色,令你或其摸两张牌,然后未摸牌的角色视为对摸牌的角色使用一张【杀】。',
dingfa:'定法', dingfa:'定法',
@ -3829,6 +4167,24 @@ game.import('character',function(lib,game,ui,get,ai,_status){
twchongqi_info:'锁定技。游戏开始时你令所有角色获得〖非服〗。然后你可减1点体力上限令一名其他角色获得〖复纂〗。', twchongqi_info:'锁定技。游戏开始时你令所有角色获得〖非服〗。然后你可减1点体力上限令一名其他角色获得〖复纂〗。',
twfeifu:'非服', twfeifu:'非服',
twfeifu_info:'转换技。阴:当你成为【杀】的唯一目标后;阳:当你使用【杀】指定唯一目标后;目标角色须交给使用者一张牌。若此牌为装备牌,则使用者可使用此牌。', twfeifu_info:'转换技。阴:当你成为【杀】的唯一目标后;阳:当你使用【杀】指定唯一目标后;目标角色须交给使用者一张牌。若此牌为装备牌,则使用者可使用此牌。',
tw_wangchang:'王昶',
twkaiji:'开济',
twkaiji_info:'准备阶段你可令至多X名角色各摸一张牌X为本局游戏内进入过濒死状态的角色数+1。若有角色以此法获得了非基本牌则你摸一张牌。',
twshepan:'慑叛',
twshepan_info:'每回合限一次。当你成为其他角色使用牌的目标后,你可选择一项:⒈摸一张牌。⒉将其区域内的一张牌置于牌堆顶。然后若你的手牌数与其相等,则你将此技能的发动次数归零,且可以令此牌对你无效。',
tw_wangcan:'TW王粲',
twdianyi:'典仪',
twdianyi_info:'锁定技。你的回合结束时,若你本回合内:造成过伤害,你弃置所有手牌;未造成过伤害,你将手牌数调整至四张。',
twyingji:'应机',
twyingji_wuxie:'应机',
twyingji_info:'当你于回合外需要使用或打出一张基本牌或普通锦囊牌时,若你没有手牌,则你可摸一张牌,然后视为使用或打出此牌。',
twshanghe:'觞贺',
twshanghe_info:'限定技。当你进入濒死状态时你可令所有其他角色依次交给你一张牌若这些牌中没有【酒】则你将体力回复至1点。',
tw_wujing:'TW吴景',
twfenghan:'锋捍',
twfenghan_info:'每回合限一次。当你使用【杀】或伤害类锦囊牌指定第一个目标后你可令至多X名角色各摸一张牌X为此牌的目标数。',
twcongji:'从击',
twcongji_info:'当你的红色牌于回合外因弃置而进入弃牌堆后,你可令一名其他角色获得这些牌。',
tw_mobile:'移动版·海外服', tw_mobile:'移动版·海外服',
tw_mobile2:'海外服异构', tw_mobile2:'海外服异构',

View File

@ -7814,14 +7814,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
check:function(event,player){ check:function(event,player){
return get.attitude(player,event.player)>=0; return get.attitude(player,event.player)>=0;
}, },
//priority:-5,
logTarget:'player', logTarget:'player',
content:function(){ content:function(){
game.asyncDraw([trigger.player,player]); game.asyncDraw([trigger.player,player]);
}, },
ai:{
expose:0.1
}
}, },
yanyu:{ yanyu:{
audio:2, audio:2,
@ -12610,7 +12606,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
zhuiyi_info:'当你死亡时你可以令一名其他角色杀死你的角色除外摸三张牌然后其回复1点体力。', zhuiyi_info:'当你死亡时你可以令一名其他角色杀死你的角色除外摸三张牌然后其回复1点体力。',
anxu_info:'出牌阶段限一次你可以选择两名手牌数不同的其他角色令其中手牌多的角色将一张手牌交给手牌少的角色然后若这两名角色手牌数相等你摸一张牌或回复1点体力', anxu_info:'出牌阶段限一次你可以选择两名手牌数不同的其他角色令其中手牌多的角色将一张手牌交给手牌少的角色然后若这两名角色手牌数相等你摸一张牌或回复1点体力',
old_anxu_info:'出牌阶段限一次,你可以选择两名手牌数不同的其他角色,令其中手牌少的角色获得手牌多的角色的一张手牌并展示之。然后若此牌不为黑桃,则你摸一张牌。', old_anxu_info:'出牌阶段限一次,你可以选择两名手牌数不同的其他角色,令其中手牌少的角色获得手牌多的角色的一张手牌并展示之。然后若此牌不为黑桃,则你摸一张牌。',
zongxuan_info:'当你的牌因弃置而进入弃牌堆,你可以将其按任意顺序置于牌堆顶', zongxuan_info:'当你的牌因弃置而进入弃牌堆,你可以将其按任意顺序置于牌堆顶',
zhiyan_info:'结束阶段,你可以令一名角色摸一张牌并展示之,若为装备牌,其使用此牌并回复一点体力。', zhiyan_info:'结束阶段,你可以令一名角色摸一张牌并展示之,若为装备牌,其使用此牌并回复一点体力。',
miji_info:'结束阶段若你已受伤则可以摸X张牌然后可以将等量的牌交给一名其他角色X为你已损失的体力值。', miji_info:'结束阶段若你已受伤则可以摸X张牌然后可以将等量的牌交给一名其他角色X为你已损失的体力值。',
zhenlie_info:'当你成为其他角色使用【杀】或普通锦囊牌的目标后,你可以失去一点体力并令此牌对你无效,然后弃置对方一张牌。', zhenlie_info:'当你成为其他角色使用【杀】或普通锦囊牌的目标后,你可以失去一点体力并令此牌对你无效,然后弃置对方一张牌。',
@ -12624,7 +12620,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinwuyan_info:'锁定技,当你使用锦囊牌造成伤害时,你防止此伤害;锁定技,当你受到锦囊牌对你造成的伤害时,你防止此伤害。', xinwuyan_info:'锁定技,当你使用锦囊牌造成伤害时,你防止此伤害;锁定技,当你受到锦囊牌对你造成的伤害时,你防止此伤害。',
jujian_info:'出牌阶段限一次你可以弃至多三张牌然后令一名其他角色摸等量的牌。若你以此法弃牌不少于三张且均为同一类别你回复1点体力。', jujian_info:'出牌阶段限一次你可以弃至多三张牌然后令一名其他角色摸等量的牌。若你以此法弃牌不少于三张且均为同一类别你回复1点体力。',
xinjujian_info:'结束阶段开始时你可以弃置一张非基本牌并选择一名其他角色令其选择一项1.摸两张牌2.回复1点体力3.将其武将牌翻转至正面朝上并重置之。', xinjujian_info:'结束阶段开始时你可以弃置一张非基本牌并选择一名其他角色令其选择一项1.摸两张牌2.回复1点体力3.将其武将牌翻转至正面朝上并重置之。',
luoying_info:'当其他角色的梅花牌因弃置或判定而进入弃牌堆,你可以获得之。', luoying_info:'当其他角色的梅花牌因弃置或判定而进入弃牌堆,你可以获得之。',
jiushi_info:'当你需要使用一张【酒】时,若你的武将牌正面朝上,则你可以将武将牌翻面并视为使用了一张【酒】;当你受到伤害时,若你的武将牌背面朝上,则你可在此伤害结算后将武将牌翻回正面。', jiushi_info:'当你需要使用一张【酒】时,若你的武将牌正面朝上,则你可以将武将牌翻面并视为使用了一张【酒】;当你受到伤害时,若你的武将牌背面朝上,则你可在此伤害结算后将武将牌翻回正面。',
jueqing_info:'锁定技,你即将造成的伤害均视为失去体力。', jueqing_info:'锁定技,你即将造成的伤害均视为失去体力。',
shangshi_info:'当你的手牌数小于X时你可以将手牌摸至X张X为你已损失的体力值', shangshi_info:'当你的手牌数小于X时你可以将手牌摸至X张X为你已损失的体力值',

View File

@ -4,7 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
name:'yingbian', name:'yingbian',
connect:true, connect:true,
character:{ character:{
jin_yanghu:['male','jin',4,['huaiyuan','chongxin','dezhang']], jin_jiachong:['male','jin',3,['xiongshu','jianhui']],
xuangongzhu:['female','jin',3,['gaoling','qimei','ybzhuiji'],['hiddenSkill']], xuangongzhu:['female','jin',3,['gaoling','qimei','ybzhuiji'],['hiddenSkill']],
xinchang:['male','jin',3,['canmou','congjian']], xinchang:['male','jin',3,['canmou','congjian']],
yangzhi:['female','jin',3,['wanyi','maihuo']], yangzhi:['female','jin',3,['wanyi','maihuo']],
@ -30,12 +30,126 @@ game.import('character',function(lib,game,ui,get,ai,_status){
yingbian:{ yingbian:{
yingbian_pack1:['jin_simayi','jin_zhangchunhua','ol_lisu','simazhou','cheliji','ol_huaxin'], yingbian_pack1:['jin_simayi','jin_zhangchunhua','ol_lisu','simazhou','cheliji','ol_huaxin'],
yingbian_pack2:['jin_simashi','jin_xiahouhui','zhanghuyuechen','shibao','jin_yanghuiyu'], yingbian_pack2:['jin_simashi','jin_xiahouhui','zhanghuyuechen','shibao','jin_yanghuiyu'],
yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan','xuangongzhu','jin_yanghu'], yingbian_pack3:['jin_simazhao','jin_wangyuanji','duyu','weiguan','xuangongzhu','jin_jiachong'],
yingbian_pack4:['zhongyan','xinchang'], yingbian_pack4:['zhongyan','xinchang'],
yingbian_pack5:['yangyan','yangzhi'], yingbian_pack5:['yangyan','yangzhi'],
}, },
}, },
skill:{ skill:{
xiongshu:{
audio:2,
trigger:{global:'phaseUseBegin'},
direct:true,
filter:function(event,player){
return player!=event.player&&event.player.countCards('he')>0&&player.countCards('he')>player.countMark('xiongshu_count');
},
content:function(){
'step 0'
event.target=trigger.player;
var num=1+player.countMark('xiongshu_count');
player.chooseToDiscard('he',num,get.prompt('xiongshu',trigger.player),'弃置'+get.cnNumber(num)+'张牌并展示其一张牌').set('goon',get.attitude(player,event.target)<0).set('ai',function(card){
if(!_status.event.goon) return 0;
return 6-_status.event.player.countMark('xiongshu_count')-get.value(card);
}).logSkill=['xiongshu',trigger.player];
'step 1'
if(result.bool){
player.addTempSkill('xiongshu_count','roundStart');
player.addMark('xiongshu_count',1,false);
}
if(result.bool&&target.countCards('he')>0){
player.choosePlayerCard(target,true,'he');
}
else event.finish();
'step 2'
var card=result.cards[0],name=get.name(card),str=get.translation(target);
player.showCards(card,get.translation(player)+'对'+str+'发动了【凶竖】');
player.addTempSkill('xiongshu_effect','phaseUseAfter');
player.storage.xiongshu_effect=[card,name];
if(Math.random()<0.5){
target.storage.xiongshu_ai=name;
target.addTempSkill('xiongshu_ai','phaseUseAfter');
}
player.chooseControl('会使用','不会使用').set('prompt','预测:'+str+'是否会使用'+get.translation(name)+'').set('choice',function(){
if(!target.hasValueTarget(card)) return 1;
return Math.random()<0.5?0:1;
}()).set('ai',()=>_status.event.choice);
'step 3'
player.storage.xiongshu_effect[2]=(result.index==0);
},
ai:{expose:0.35},
subSkill:{
ai:{
charlotte:true,
onremove:true,
ai:{
effect:{
player:function(card,player,target){
if(card.name==player.storage.xiongshu_ai) return 'zeroplayertarget';
},
},
},
},
count:{
charlotte:true,
onremove:true,
},
effect:{
trigger:{global:'phaseUseEnd'},
forced:true,
charlotte:true,
onremove:true,
filter:function(event,player){
var info=player.storage.xiongshu_effect;
return Array.isArray(info)&&event.player.isIn();
},
logTarget:'player',
content:function(){
var target=trigger.player;
var info=player.storage.xiongshu_effect;
if(target.hasHistory('useCard',function(evt){
return evt.card.name==info[1]&&evt.getParent('phaseUse')==trigger;
})==info[2]) target.damage();
else if(target.getCards('he').contains(card)) player.gain(card,target,'give');
},
},
},
},
jianhui:{
audio:2,
getLastPlayer:function(evt,player){
var history=player.getAllHistory('damage');
if(!history.length) return null;
var i=history.indexOf(evt);
if(i==-1) i=history.length-1;
else i--;
for(i;i>=0;i--){
if(history[i].source) return history[i].source;
}
return null;
},
trigger:{player:'damageEnd'},
forced:true,
filter:function(event,player){
return event.source&&event.source.isIn()&&event.source==lib.skill.jianhui.getLastPlayer(event,player)&&event.source.countCards('he')>0;
},
content:function(){
trigger.source.chooseToDiscard('he',true);
},
group:'jianhui_draw',
subSkill:{
draw:{
trigger:{source:'damageSource'},
forced:true,
logTarget:'player',
filter:function(event,player){
return event.player==lib.skill.jianhui.getLastPlayer(event,player);
},
content:function(){
player.draw();
},
},
},
},
huaiyuan:{ huaiyuan:{
audio:2, audio:2,
trigger:{ trigger:{
@ -3032,6 +3146,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}, },
characterReplace:{ characterReplace:{
yanghu:['jin_yanghu','sp_yanghu'], yanghu:['jin_yanghu','sp_yanghu'],
jiachong:['jin_jiachong','jiachong'],
}, },
translate:{ translate:{
jin_zhangchunhua:'晋张春华', jin_zhangchunhua:'晋张春华',
@ -3205,6 +3320,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
dezhang_info:'觉醒技。准备阶段若你没有“绥”则你减1点体力上限并获得〖卫戍〗。', dezhang_info:'觉醒技。准备阶段若你没有“绥”则你减1点体力上限并获得〖卫戍〗。',
weishu:'卫戍', weishu:'卫戍',
weishu_info:'锁定技。①当你于摸牌阶段外不因〖卫戊①〗而摸牌后,你令一名角色摸一张牌。②当你于弃牌阶段外不因〖卫戊②〗而弃置牌后,你弃置一名其他角色的一张牌。', weishu_info:'锁定技。①当你于摸牌阶段外不因〖卫戊①〗而摸牌后,你令一名角色摸一张牌。②当你于弃牌阶段外不因〖卫戊②〗而弃置牌后,你弃置一名其他角色的一张牌。',
jin_jiachong:'贾充',
xiongshu:'凶竖',
xiongshu_info:'其他角色的出牌阶段开始时你可弃置X张牌X为你本轮内已发动过此技能的次数+1并展示其一张牌然后你预测“其本阶段内是否会使用与展示牌牌名相同的牌”。此阶段结束时若你的预测正确则你对其造成1点伤害否则你获得展示牌。',
jianhui:'奸回',
jianhui_info:'锁定技。当你造成伤害后若受伤角色为A则你摸一张牌当你受到伤害后若伤害来源为A则A弃置一张牌。A为除本次伤害外最近一次对你造成过伤害的角色',
yingbian_pack1:'文德武备·理', yingbian_pack1:'文德武备·理',
yingbian_pack2:'文德武备·备', yingbian_pack2:'文德武备·备',

View File

@ -886,6 +886,9 @@ window.noname_asset_list=[
'audio/die/wufan.mp3', 'audio/die/wufan.mp3',
'audio/die/yanfuren.mp3', 'audio/die/yanfuren.mp3',
'audio/die/zhangmancheng.mp3', 'audio/die/zhangmancheng.mp3',
'audio/die/dc_jiben.mp3',
'audio/die/licaiwei.mp3',
'audio/die/tw_wangchang.mp3',
'audio/skill/decadezishou1.mp3', 'audio/skill/decadezishou1.mp3',
'audio/skill/decadezishou2.mp3', 'audio/skill/decadezishou2.mp3',
@ -4071,6 +4074,20 @@ window.noname_asset_list=[
'audio/skill/zhaofu2.mp3', 'audio/skill/zhaofu2.mp3',
'audio/skill/zhengding1.mp3', 'audio/skill/zhengding1.mp3',
'audio/skill/zhengding2.mp3', 'audio/skill/zhengding2.mp3',
'audio/skill/lieyi1.mp3',
'audio/skill/lieyi2.mp3',
'audio/skill/qibie1.mp3',
'audio/skill/qibie2.mp3',
'audio/skill/twkaiji1.mp3',
'audio/skill/twkaiji2.mp3',
'audio/skill/twshepan1.mp3',
'audio/skill/twshepan2.mp3',
'audio/skill/xunli1.mp3',
'audio/skill/xunli2.mp3',
'audio/skill/yijiao1.mp3',
'audio/skill/yijiao2.mp3',
'audio/skill/zhishi1.mp3',
'audio/skill/zhishi2.mp3',
'audio/voice/male/0.mp3', 'audio/voice/male/0.mp3',
'audio/voice/male/1.mp3', 'audio/voice/male/1.mp3',
@ -5141,6 +5158,12 @@ window.noname_asset_list=[
'image/character/tw_guohuai.jpg', 'image/character/tw_guohuai.jpg',
'image/character/wufan.jpg', 'image/character/wufan.jpg',
'image/character/yanfuren.jpg', 'image/character/yanfuren.jpg',
'image/character/dc_jiben.jpg',
'image/character/jin_jiachong.jpg',
'image/character/licaiwei.jpg',
'image/character/tw_wangcan.jpg',
'image/character/tw_wangchang.jpg',
'image/character/tw_wujing.jpg',
'image/character/baiwuchang.jpg', 'image/character/baiwuchang.jpg',
'image/character/baosanniang.jpg', 'image/character/baosanniang.jpg',

View File

@ -1,10 +1,10 @@
window.noname_update={ window.noname_update={
version:'1.9.114.1', version:'1.9.114.2',
update:'1.9.113.5', update:'1.9.114.1',
changeLog:[ changeLog:[
'转换技机制优化', 'OL贾充',
'十周年郝萌、马日磾、冯妤、吴范', '十周年李采薇、吉本',
'海外服曹肇、郭淮', '海外服吴景、王粲、王昶',
'bug修复', 'bug修复',
], ],
files:[ files:[
@ -30,7 +30,7 @@ window.noname_update={
//'character/hearth.js', //'character/hearth.js',
'character/mobile.js', 'character/mobile.js',
//'character/mtg.js', //'character/mtg.js',
//'character/offline.js', 'character/offline.js',
//'character/old.js', //'character/old.js',
//'character/ow.js', //'character/ow.js',
'character/rank.js', 'character/rank.js',
@ -38,7 +38,7 @@ window.noname_update={
'character/shenhua.js', 'character/shenhua.js',
'character/sp.js', 'character/sp.js',
'character/sp2.js', 'character/sp2.js',
//'character/standard.js', 'character/standard.js',
'character/tw.js', 'character/tw.js',
//'character/swd.js', //'character/swd.js',
//'character/xianjian.js', //'character/xianjian.js',

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

View File

@ -1075,7 +1075,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
}).setHiddenSkill('gzshensu').set('goon',player.needsToDiscard()).set('ai',function(target){ }).setHiddenSkill('gzshensu').set('goon',player.needsToDiscard()).set('ai',function(target){
var player=_status.event.player; var player=_status.event.player;
if(!_status.event.goon||player.hp<=target.hp) return false; if(!_status.event.goon||player.hp<=target.hp) return false;
return get.effect(target,{name:'',isCard:true},player,player); return get.effect(target,{name:'sha',isCard:true},player,player);
}); });
'step 1' 'step 1'
if(result.bool){ if(result.bool){
@ -11913,7 +11913,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
gzxiaoguo_info:'其他角色的结束阶段开始时你可以弃置一张基本牌令该角色选择一项1.弃置一张装备牌2.受到你对其造成的1点伤害。', gzxiaoguo_info:'其他角色的结束阶段开始时你可以弃置一张基本牌令该角色选择一项1.弃置一张装备牌2.受到你对其造成的1点伤害。',
gzdangxian:'当先', gzdangxian:'当先',
gzdangxian_info:'锁定技。当你首次明置此武将牌时,你获得一枚“”标记。回合开始时,你获得一个额外的出牌阶段。', gzdangxian_info:'锁定技。当你首次明置此武将牌时,你获得一枚“先驱”标记。回合开始时,你获得一个额外的出牌阶段。',
gzhuanshi:'缓释', gzhuanshi:'缓释',
gzhuanshi_info:'一名己方角色的判定牌生效前,你可打出一张牌代替之。', gzhuanshi_info:'一名己方角色的判定牌生效前,你可打出一张牌代替之。',
gzhongyuan:'弘援', gzhongyuan:'弘援',