commit
3ab657e354
|
@ -4774,6 +4774,7 @@ 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);
|
||||
},
|
||||
|
|
|
@ -793,6 +793,7 @@ 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);
|
||||
|
@ -17623,6 +17624,7 @@ 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=[];
|
||||
|
@ -18670,7 +18672,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点伤害后,你可以令一名角色摸两张牌。然后若其手牌数小于体力上限,则你摸一张牌。",
|
||||
|
|
|
@ -3338,6 +3338,7 @@ 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);
|
||||
},
|
||||
|
@ -4225,6 +4226,7 @@ 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');
|
||||
|
@ -5410,6 +5412,7 @@ 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;
|
||||
|
@ -6660,6 +6663,7 @@ 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;
|
||||
},
|
||||
|
@ -6697,6 +6701,7 @@ 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;
|
||||
},
|
||||
|
@ -6924,6 +6929,7 @@ 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');
|
||||
}
|
||||
|
@ -6955,7 +6961,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
}
|
||||
},
|
||||
chixin3:{},
|
||||
chixin3:{charlotte:true},
|
||||
suiren:{
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
skillAnimation:true,
|
||||
|
@ -7515,6 +7521,7 @@ 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();
|
||||
},
|
||||
|
@ -7573,6 +7580,7 @@ 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;
|
||||
},
|
||||
|
|
|
@ -3234,6 +3234,7 @@ 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;
|
||||
|
@ -5311,6 +5312,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return false;
|
||||
},
|
||||
audio:'lihuo',
|
||||
locked:false,
|
||||
prompt2:function(event){
|
||||
return '将'+get.translation(event.card)+'改为火属性';
|
||||
},
|
||||
|
@ -13267,7 +13269,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;
|
||||
};
|
||||
}
|
||||
|
@ -13868,7 +13870,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
re_baosanniang:'手杀鲍三娘',
|
||||
retuntian:'屯田',
|
||||
rebeige:'悲歌',
|
||||
retuntian_info:'当你于回合外失去牌时,你可以进行一次判定。若判定结果为♥,你获得此判定牌。否则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-X(X为你武将牌上【田】的数目)',
|
||||
retuntian_info:'①当你于回合外失去牌后,你可以判定。若判定结果为♥,你获得此判定牌。否则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-X(X为你武将牌上“田”的数目)。',
|
||||
rebeige_info:'当有角色受到【杀】造成的伤害后,你可以弃一张牌,并令其进行一次判定,若判定结果为:♥该角色回复X点体力(X为伤害点数);♦︎该角色摸三张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面',
|
||||
re_liushan:'手杀刘禅',
|
||||
re_sunben:'界孙笨',
|
||||
|
@ -14004,8 +14006,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ol_dengai:'界邓艾',
|
||||
oltuntian:'屯田',
|
||||
olzaoxian:'凿险',
|
||||
oltuntian_info:'当你于回合外失去牌后,或于回合内因弃置而失去【杀】后,你可以进行判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-X(X为你武将牌上【田】的数目)',
|
||||
olzaoxian_info:'觉醒技,准备阶段,若你武将牌上【田】的数量达到3张或更多,则你减1点体力上限,并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。',
|
||||
oltuntian_info:'①当你于回合外失去牌后,或于回合内因弃置而失去【杀】后,你可以判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-X(X为你武将牌上“田”的数目)。',
|
||||
olzaoxian_info:'觉醒技,准备阶段,若你武将牌上“田”的数量达到3张或更多,则你减1点体力上限,并获得技能〖急袭〗。你于当前回合结束后进行一个额外的回合。',
|
||||
re_sunxiu:'界孙休',
|
||||
re_caoxiu:'界曹休',
|
||||
xin_lingtong:'界凌统',
|
||||
|
|
|
@ -3770,6 +3770,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return str;
|
||||
},
|
||||
logTarget:'target',
|
||||
locked:false,
|
||||
check:function(event,player){
|
||||
var target=event.target;
|
||||
if(get.attitude(player,target)>0) return false;
|
||||
|
|
|
@ -1139,6 +1139,7 @@ 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",
|
||||
|
@ -3194,6 +3195,7 @@ 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;
|
||||
},
|
||||
|
@ -3655,7 +3657,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'
|
||||
|
@ -7904,7 +7906,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
retianxiang_info:'当你受到伤害时,你可以弃置一张红桃手牌,防止此次伤害并选择一名其他角色,然后你选择一项:1.令其受到伤害来源对其造成的1点伤害,然后摸X张牌(X为其已损失体力值且至多为5);2.令其失去1点体力,然后获得你弃置的牌。',
|
||||
xinjiewei_info:'你可以将装备区里的牌当【无懈可击】使用;当你的武将牌从背面翻至正面时,你可以弃置一张牌,然后移动场上的一张牌',
|
||||
xinjushou_info:'结束阶段,你可以翻面并摸四张牌,然后弃置一张手牌,若以此法弃置的是装备牌,则你改为使用之',
|
||||
jixi_info:'出牌阶段,你可以将任意一张【田】当作【顺手牵羊】使用',
|
||||
jixi_info:'出牌阶段,你可以将任意一张“田”当作【顺手牵羊】使用',
|
||||
xinqiangxi_info:'出牌阶段各限一次,你可以选择一项:1. 失去一点体力并对你攻击范围内的一名其他角色造成一点伤害;2. 弃置一张装备牌并对你攻击范围内的一名其他角色造成一点伤害 ',
|
||||
qimou_info:'限定技,出牌阶段,你可以失去任意点体力,然后直到回合结束,你计算与其他角色的距离时-X,且你可以多使用X张【杀】(X为你失去的体力值)',
|
||||
tiaoxin_info:'出牌阶段限一次,你可以指定一名攻击范围内包含你的角色,该角色需对你使用一张【杀】,否则你弃置其一张牌。',
|
||||
|
@ -7913,11 +7915,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
fangquan_info:'你可跳过你的出牌阶段,若如此做,回合结束时,你可以弃置一张手牌并令一名其他角色进行一个额外的回合。',
|
||||
ruoyu_info:'主公技,觉醒技,准备阶段,若你的体力是全场最少的(或之一),你须增加1点体力上限并回复1点体力,然后获得技能〖激将〗。',
|
||||
qiaobian_info:'你可以弃置一张手牌并跳过自己的一个阶段(准备阶段和结束阶段除外);若你以此法跳过了摸牌阶段,则你可以获得至多两名其他角色的各一张手牌;若你以此法跳过了出牌阶段,则你可以移动场上的一张牌。',
|
||||
tuntian_info:'当你于回合外失去牌时,你可以进行一次判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称之为【田】。锁定技,你计算与其他角色的距离时-X(X为你武将牌上【田】的数目)',
|
||||
zaoxian_info:'觉醒技,准备阶段,若你武将牌上【田】的数量达到3张或更多,则你减1点体力上限,并获得技能〖急袭〗',
|
||||
tuntian_info:'①当你于回合外失去牌后,你可以判定。若判定结果不为♥,则你将此牌置于你的武将牌上,称为“田”。②你计算与其他角色的距离时-X(X为你武将牌上“田”的数目)',
|
||||
zaoxian_info:'觉醒技,准备阶段,若你武将牌上“田”的数量达到3张或更多,则你减1点体力上限,并获得技能〖急袭〗',
|
||||
jiang_info:'每当你使用(指定目标后)或被使用(成为目标后)一张【决斗】或红色的【杀】时,你可以摸一张牌。',
|
||||
hunzi_info:'觉醒技,准备阶段,若你的体力值为1,你减1点体力上限,并获得技能〖英姿〗和〖英魂〗。',
|
||||
zhiba_info:'主公技,其他吴势力角色的出牌阶段限一次,其可与你进行一次拼点。若该角色没赢,你可以获得双方拼点的牌;你的觉醒技发动后,你可以拒绝此拼点。',
|
||||
zhiba_info:'主公技,其他吴势力角色的出牌阶段限一次,其可与你进行一次拼点。若该角色没赢,你可以获得双方拼点的牌。若你已发动过〖魂姿〗,你可以拒绝此拼点。',
|
||||
zhijian_info:'出牌阶段,你可以将手牌中的一张装备牌置于一名其他角色装备区里(不得替换原装备),然后摸一张牌。',
|
||||
guzheng_info:'其他角色的弃牌阶段结束时,你可以令其获得本阶段内进入弃牌堆的牌中的一张,然后你获得其余的牌。',
|
||||
beige_info:'当有角色受到【杀】造成的伤害后,你可以弃一张牌,并令其进行一次判定,若判定结果为:♥该角色回复1点体力;♦︎该角色摸两张牌;♣伤害来源弃两张牌;♠伤害来源将其武将牌翻面',
|
||||
|
@ -7985,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点体力或体力上限。',
|
||||
benghuai_info:'锁定技。结束阶段,若你的体力不为全场最少,你失去1点体力或减1点体力上限。',
|
||||
baonue_info:'主公技,其他群雄角色造成伤害后,可进行一次判定,若为♠,你回复1点体力。',
|
||||
luanwu_info:'限定技,出牌阶段,你可令除你外的所有角色依次对与其距离最近的另一名角色使用一张【杀】,否则失去1点体力。',
|
||||
wansha_info:'锁定技,你的回合内,除你以外,不处于濒死状态的角色不能使用【桃】。',
|
||||
|
|
191
character/sp.js
191
character/sp.js
|
@ -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'],
|
||||
sp_liesi:['mizhu','weizi','ol_liuba','zhangshiping'],
|
||||
sp_default:["sp_diaochan","sp_zhaoyun","sp_sunshangxiang","sp_caoren","sp_jiangwei","sp_machao","sp_caiwenji","jsp_guanyu","jsp_huangyueying","sp_pangde","sp_jiaxu","yuanshu",'sp_zhangliao','sp_ol_zhanghe','sp_menghuo'],
|
||||
sp_waitforsort:['sunhong','luoxian','ol_huban','wangguan'],
|
||||
sp_qifu:["caoying",'panshu',"caochun","yuantanyuanshang",'caoshuang','wolongfengchu','guansuo','baosanniang','fengfangnv','jin_zhouchu'],
|
||||
|
@ -29,6 +29,7 @@ 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']],
|
||||
|
@ -677,6 +678,169 @@ 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,
|
||||
|
@ -804,6 +968,7 @@ 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;
|
||||
|
@ -1208,7 +1373,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(){
|
||||
|
@ -1262,7 +1427,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
nil:{
|
||||
trigger:{source:'damageSource'},
|
||||
trigger:{source:'damageBegin1'},
|
||||
charlotte:true,
|
||||
forced:true,
|
||||
onremove:true,
|
||||
|
@ -3768,6 +3933,7 @@ 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;
|
||||
|
@ -9052,6 +9218,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
source:'damageSource',
|
||||
},
|
||||
forced:true,
|
||||
locked:false,
|
||||
content:function(){
|
||||
player.addMark('reluanzhan',1,false);
|
||||
},
|
||||
|
@ -9107,6 +9274,7 @@ 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);
|
||||
|
@ -11060,6 +11228,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player.removeAdditionalSkill('new_luoyan');
|
||||
},
|
||||
derivation:['oltianxiang','liuli'],
|
||||
locked:true,
|
||||
},
|
||||
//新孙鲁育
|
||||
"new_meibu":{
|
||||
|
@ -13701,6 +13870,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
xinyongsi:{
|
||||
group:['xinyongsi1','xinyongsi2'],
|
||||
locked:true,
|
||||
},
|
||||
xinyongsi1:{
|
||||
audio:'yongsi1',
|
||||
|
@ -15533,6 +15703,7 @@ 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;
|
||||
},
|
||||
|
@ -16565,7 +16736,6 @@ 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"
|
||||
|
@ -17293,6 +17463,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
guiming:{
|
||||
unique:true,
|
||||
zhuSkill:true,
|
||||
locked:true,
|
||||
},
|
||||
canshi:{
|
||||
audio:2,
|
||||
|
@ -19847,6 +20018,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
yongsi:{
|
||||
group:['yongsi1','yongsi2'],
|
||||
locked:true,
|
||||
ai:{
|
||||
threaten:2.2
|
||||
}
|
||||
|
@ -22490,7 +22662,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:'豹变',
|
||||
|
@ -22639,7 +22811,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冯妤',
|
||||
|
@ -22852,7 +23024,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',
|
||||
|
@ -22872,6 +23044,11 @@ 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:'四弼·辅国文曲',
|
||||
|
|
|
@ -4800,6 +4800,7 @@ 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');
|
||||
|
@ -5971,6 +5972,7 @@ 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){
|
||||
|
@ -6265,6 +6267,7 @@ 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){
|
||||
|
@ -6355,6 +6358,7 @@ 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);
|
||||
|
@ -8915,7 +8919,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
player:'enterGame',
|
||||
},
|
||||
forced:true,
|
||||
locked:true,
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return (event.name!='phase'||game.phaseNumber==0)&&game.hasPlayer((current)=>current!=player);
|
||||
},
|
||||
|
@ -9963,6 +9967,7 @@ 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;
|
||||
|
@ -12636,6 +12641,7 @@ 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;
|
||||
|
@ -15157,6 +15163,7 @@ 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(){
|
||||
|
@ -18590,7 +18597,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);
|
||||
|
@ -21997,6 +22004,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
yuwei:{
|
||||
zhuSkill:true,
|
||||
locked:true,
|
||||
ai:{combo:'shiyuan'},
|
||||
},
|
||||
decadexushen:{
|
||||
|
@ -26255,6 +26263,7 @@ 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;
|
||||
},
|
||||
|
@ -26608,6 +26617,7 @@ 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)+'势力'
|
||||
|
@ -28866,7 +28876,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为此牌的名称的字数)',
|
||||
|
|
|
@ -2207,8 +2207,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
onChooseToUse:function(event){
|
||||
if(game.online||!event.player.hasSkill('twmouli')) return;
|
||||
var cards=[];
|
||||
for(var i of ui.cardPile.childNodes){
|
||||
if(get.type(i)=='basic') cards.push(i);
|
||||
for(var i=0;i<ui.cardPile.childNodes.length;i++){
|
||||
var card=ui.cardPile.childNodes[i];
|
||||
if(get.type(card)=='basic') cards.push(card);
|
||||
}
|
||||
event.set('twmouli',cards);
|
||||
},
|
||||
|
@ -2277,8 +2278,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
skillTagFilter:function(player,tag,arg){
|
||||
if(arg=='respond') return false;
|
||||
var list=[];
|
||||
for(var i of ui.cardPile.childNodes){
|
||||
if(get.type(i,player)=='basic'&&!list.contains(i.name)) list.push(i.name);
|
||||
for(var i=0;i<ui.cardPile.childNodes.length;i++){
|
||||
var card=ui.cardPile.childNodes[i];
|
||||
if(get.type(card,player)=='basic'&&!list.contains(card.name)) list.push(card.name);
|
||||
}
|
||||
if(tag=='respondSha') return list.contains('sha');
|
||||
if(tag=='respondShan') return list.contains('shan');
|
||||
|
@ -3879,6 +3881,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
usable:1,
|
||||
position:'he',
|
||||
filterCard:true,
|
||||
locked:false,
|
||||
filter:function(event,player){
|
||||
return player.countCards('he');
|
||||
},
|
||||
|
@ -3956,6 +3959,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
return false;
|
||||
},
|
||||
forced:true,
|
||||
locked:false,
|
||||
popup:false,
|
||||
firstDo:true,
|
||||
content:function(){
|
||||
|
@ -4370,7 +4374,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
if(player.hasCard((card)=>lib.filter.cardDiscardable(card,player,'tweqianxi'),'he')) player.chooseToDiscard('he',true);
|
||||
else event.finish();
|
||||
'step 2'
|
||||
if(!result.bool){
|
||||
if(!result.bool||!game.hasPlayer(target=>{
|
||||
return player!=target&&get.distance(player,target)<=1;
|
||||
})){
|
||||
event.finish();
|
||||
return;
|
||||
}
|
||||
|
@ -6415,6 +6421,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
trigger:{player:'phaseZhunbeiBegin'},
|
||||
direct:true,
|
||||
locked:false,
|
||||
group:['twxiawei_init','twxiawei_lose','twxiawei_unmark'],
|
||||
content:function(){
|
||||
'step 0'
|
||||
|
@ -13153,7 +13160,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
twtijin:'替巾',
|
||||
twtijin_info:'当你攻击范围内的一名其他角色使用【杀】指定另一名其他角色为目标时,你可以将此【杀】的目标改为你。若如此做,此【杀】结算完成后,你弃置该角色的一张牌。',
|
||||
twxiaolian:'孝廉',
|
||||
twxiaolian_info:'当一名其他角色使用【杀】指定另一名其他角色为目标时,你可以将此【杀】的目标改为你。若如此做,当你受到此【杀】的伤害后,你可以将一张牌放在此【杀】原目标的武将牌旁,称之为“马”。锁定技,场上的一名角色每有一张“马”,其他角色计算与其的距离便+1。',
|
||||
twxiaolian_info:'当一名其他角色使用【杀】指定另一名其他角色为目标时,你可以将此【杀】的目标改为你。若如此做,当你受到此【杀】的伤害后,你可以将一张牌置于此【杀】原目标的武将牌旁,称为“马”,且令其获得如下效果:其他角色计算至其的距离+X(X为其武将牌旁的“马”数)。',
|
||||
twqijia:'弃甲',
|
||||
twqijia_info:'出牌阶段,你可以弃置一张装备区内的牌(每种类型的装备牌限一次),然后视为对攻击范围内的一名其他角色使用了一张【杀】。',
|
||||
twzhuchen:'诛綝',
|
||||
|
|
|
@ -7793,7 +7793,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
zhaofu:{
|
||||
unique:true,
|
||||
global:'zhaofu2',
|
||||
zhuSkill:true
|
||||
zhuSkill:true,
|
||||
locked:true,
|
||||
},
|
||||
zhaofu2:{
|
||||
mod:{
|
||||
|
|
|
@ -237,6 +237,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
filter:function(event,player){
|
||||
return player!=event.target&&event.targets.length==1&&(event.card.name=='sha'||get.type(event.card,false)=='trick')&&event.target.countCards('he')>0;
|
||||
},
|
||||
locked:false,
|
||||
logTarget:'target',
|
||||
check:function(event,player){
|
||||
return get.effect(event.target,{name:'guohe_copy2'},player,player)>0;
|
||||
|
@ -523,6 +524,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
});
|
||||
},
|
||||
forced:true,
|
||||
locked:false,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var num=0;
|
||||
|
@ -578,6 +580,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
group:['huaiyuan_init','huaiyuan_die'],
|
||||
subSkill:{
|
||||
init:{
|
||||
audio:'huaiyuan',
|
||||
trigger:{
|
||||
global:'phaseBefore',
|
||||
player:'enterGame',
|
||||
|
@ -2569,6 +2572,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
taoyin:{
|
||||
audio:2,
|
||||
trigger:{player:'showCharacterAfter'},
|
||||
hiddenSkill:true,
|
||||
logTarget:function(){
|
||||
return _status.currentPhase;
|
||||
},
|
||||
|
@ -2734,6 +2738,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
trigger:{player:'showCharacterAfter'},
|
||||
forced:true,
|
||||
hiddenSkill:true,
|
||||
filter:function(event,player){
|
||||
return event.toShow&&event.toShow.contains('jin_xiahouhui');
|
||||
},
|
||||
|
@ -2843,6 +2848,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
audio:2,
|
||||
trigger:{player:'showCharacterAfter'},
|
||||
forced:true,
|
||||
locked:false,
|
||||
hiddenSkill:true,
|
||||
filter:function(event,player){
|
||||
var target=_status.currentPhase;
|
||||
return player!=target&&target&&target.isAlive()&&event.toShow&&event.toShow.contains('jin_simazhao');
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
Loading…
Reference in New Issue