commit
69fba5f19d
|
@ -982,10 +982,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
'step 1'
|
'step 1'
|
||||||
if(result.bool){
|
if(result.bool){
|
||||||
var list=result.links;
|
var list=result.links;
|
||||||
game.addVideo('skill',player,['qiexie',[list]])
|
game.addVideo('skill',player,['qiexie',[list]]);
|
||||||
game.broadcastAll(function(list){
|
_status.characterlist.removeArray(list);
|
||||||
|
game.broadcastAll(function(player,list){
|
||||||
|
player.tempname.addArray(list);
|
||||||
for(var name of list) lib.skill.qiexie.createCard(name);
|
for(var name of list) lib.skill.qiexie.createCard(name);
|
||||||
},list);
|
},player,list);
|
||||||
var cards=list.map(function(name){
|
var cards=list.map(function(name){
|
||||||
var card=game.createCard('qiexie_'+name,'none',get.infoMaxHp(lib.character[name][2]));
|
var card=game.createCard('qiexie_'+name,'none',get.infoMaxHp(lib.character[name][2]));
|
||||||
return card;
|
return card;
|
||||||
|
@ -1138,6 +1140,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
card._destroy=true;
|
card._destroy=true;
|
||||||
game.log(card,'被放回武将牌堆');
|
game.log(card,'被放回武将牌堆');
|
||||||
var name=card.name.slice(7);
|
var name=card.name.slice(7);
|
||||||
|
if(player.tempname&&player.tempname.includes(name)){
|
||||||
|
game.broadcastAll((player,name)=>{
|
||||||
|
player.tempname.remove(name);
|
||||||
|
},player,name);
|
||||||
|
}
|
||||||
if(lib.character[name]) _status.characterlist.add(name);
|
if(lib.character[name]) _status.characterlist.add(name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,7 +96,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
re_chunyuqiong:['male','qun',4,['recangchu','reliangying','reshishou']],
|
re_chunyuqiong:['male','qun',4,['recangchu','reliangying','reshishou']],
|
||||||
xingdaorong:['male','qun','4/6',['xuxie']],
|
xingdaorong:['male','qun','4/6',['xuxie']],
|
||||||
re_panfeng:['male','qun',4,['xinkuangfu']],
|
re_panfeng:['male','qun',4,['xinkuangfu']],
|
||||||
dc_jiangfei:['male','shu',3,['dcshengxi','dcshoucheng']],
|
jiangfei:['male','shu',3,['dcshengxi','dcshoucheng']],
|
||||||
},
|
},
|
||||||
characterSort:{
|
characterSort:{
|
||||||
huicui:{
|
huicui:{
|
||||||
|
@ -108,7 +108,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
sp_jianghu:['guanning','huzhao','dc_huangchengyan','mengjie'],
|
sp_jianghu:['guanning','huzhao','dc_huangchengyan','mengjie'],
|
||||||
sp_zongheng:['huaxin','luyusheng','re_xunchen','re_miheng','fengxi','re_dengzhi','dc_yanghu','zongyu'],
|
sp_zongheng:['huaxin','luyusheng','re_xunchen','re_miheng','fengxi','re_dengzhi','dc_yanghu','zongyu'],
|
||||||
sp_taiping:['guanhai','liupi','peiyuanshao','zhangchu','zhangkai','dc_zhangmancheng'],
|
sp_taiping:['guanhai','liupi','peiyuanshao','zhangchu','zhangkai','dc_zhangmancheng'],
|
||||||
sp_yanhan:['dc_liuba','dc_huangquan','furongfuqian','xianglang','dc_huojun','gaoxiang','dc_wuban','dc_jiangfei'],
|
sp_yanhan:['dc_liuba','dc_huangquan','furongfuqian','xianglang','dc_huojun','gaoxiang','dc_wuban','jiangfei'],
|
||||||
sp_jishi:['dc_jiben','zhenghun','dc_sunhanhua','liuchongluojun'],
|
sp_jishi:['dc_jiben','zhenghun','dc_sunhanhua','liuchongluojun'],
|
||||||
sp_raoting:['dc_huanghao','dc_sunziliufang','dc_sunchen','dc_jiachong'],
|
sp_raoting:['dc_huanghao','dc_sunziliufang','dc_sunchen','dc_jiachong'],
|
||||||
sp_yijun:['gongsundu','mengyou','dc_sp_menghuo'],
|
sp_yijun:['gongsundu','mengyou','dc_sp_menghuo'],
|
||||||
|
@ -117,77 +117,54 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
skill:{
|
skill:{
|
||||||
dcshengxi:{
|
dcshengxi:{
|
||||||
audio:2,
|
inherit:'reshengxi',
|
||||||
trigger:{player:'phaseDiscardEnd'},
|
trigger:{player:'phaseDiscardEnd'},
|
||||||
filter(event,player){
|
|
||||||
return !player.getStat('damage');
|
|
||||||
},
|
|
||||||
frequent:true,
|
|
||||||
content(){
|
|
||||||
player.draw(2);
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
dcshoucheng:{
|
dcshoucheng:{
|
||||||
audio:2,
|
audio:'shoucheng',
|
||||||
init(player){
|
global:'dcshoucheng_ai',
|
||||||
game.addGlobalSkill('dcshoucheng_draw',player);
|
|
||||||
},
|
|
||||||
trigger:{
|
trigger:{
|
||||||
global:['equipAfter','addJudgeAfter','loseAfter','gainAfter','loseAsyncAfter','addToExpansionAfter'],
|
global:['equipAfter','addJudgeAfter','loseAfter','gainAfter','loseAsyncAfter','addToExpansionAfter'],
|
||||||
},
|
},
|
||||||
filter(event,player){
|
filter(event,player){
|
||||||
return game.hasPlayer(function(current){
|
const target=_status.currentPhase;
|
||||||
if(current==_status.currentPhase) return false;
|
return game.hasPlayer(current=>{
|
||||||
|
if(target&¤t==target) return false;
|
||||||
let evt=event.getl(current);
|
let evt=event.getl(current);
|
||||||
return evt&&evt.hs&&evt.hs.length&¤t.countCards('h')==0;
|
return evt&&evt.hs&&evt.hs.length&¤t.countCards('h')==0;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
direct:true,
|
direct:true,
|
||||||
content(){
|
async content(event,trigger,player){
|
||||||
"step 0"
|
const targetx=_status.currentPhase;
|
||||||
event.list=game.filterPlayer(current=>{
|
const targets=game.filterPlayer(current=>{
|
||||||
if(current==_status.currentPhase) return false;
|
if(targetx&¤t==targetx) return false;
|
||||||
let evt=trigger.getl(current);
|
let evt=trigger.getl(current);
|
||||||
return evt&&evt.hs&&evt.hs.length&¤t.countCards('h')==0;
|
return evt&&evt.hs&&evt.hs.length&¤t.countCards('h')==0;
|
||||||
}).sortBySeat(_status.currentPhase);
|
}).sortBySeat(targetx||player);
|
||||||
"step 1"
|
for(const target of targets){
|
||||||
var target=event.list.shift();
|
if(!target.isIn()) continue;
|
||||||
event.target=target;
|
const {result:{bool}}=await player.chooseBool(get.prompt2('dcshoucheng',target)).set('choice',get.attitude(player,target)>0);
|
||||||
if(target.isIn()) player.chooseBool(get.prompt2('dcshoucheng',target)).set('ai',function(){
|
if(bool){
|
||||||
return get.attitude(_status.event.player,_status.event.getParent().target)>0;
|
player.logSkill('dcshoucheng',target);
|
||||||
});
|
if(target!=player) player.addExpose(0.2);
|
||||||
else event.goto(3);
|
|
||||||
"step 2"
|
|
||||||
if(result.bool){
|
|
||||||
player.logSkill(event.name,target);
|
|
||||||
if(player!==target&&(get.mode()!=='identity'||player.identity!=='nei')) player.addExpose(0.2);
|
|
||||||
target.draw(2);
|
target.draw(2);
|
||||||
}
|
}
|
||||||
"step 3"
|
}
|
||||||
if(event.list.length) event.goto(1);
|
|
||||||
},
|
},
|
||||||
ai:{
|
ai:{
|
||||||
threaten(player,target){
|
threaten(player,target){
|
||||||
return Math.sqrt(game.countPlayer(i=>{
|
return Math.sqrt(game.countPlayer(i=>{
|
||||||
return get.attitude(target,i)>0;
|
return get.attitude(target,i)>0;
|
||||||
}));
|
}));
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
subSkill:{
|
subSkill:{
|
||||||
draw:{
|
ai:{
|
||||||
trigger:{player:'dieAfter'},
|
|
||||||
filter(event,player){
|
|
||||||
return !game.hasPlayer(current=>{
|
|
||||||
return current.hasSkill('dcshoucheng');
|
|
||||||
},true);
|
|
||||||
},
|
|
||||||
content(){
|
|
||||||
game.removeGlobalSkill('dcshoucheng_draw');
|
|
||||||
},
|
|
||||||
ai:{
|
ai:{
|
||||||
noh:true,
|
noh:true,
|
||||||
skillTagFilter(player,tag,arg){
|
skillTagFilter(player,tag,arg){
|
||||||
if(player.countCards('h')!==1) return false;
|
if(player.countCards('h')!=1||(_status.currentPhase&&_status.currentPhase==player)) return false;
|
||||||
return game.hasPlayer(current=>{
|
return game.hasPlayer(current=>{
|
||||||
return current.hasSkill('dcshoucheng')&&get.attitude(current,player)>0;
|
return current.hasSkill('dcshoucheng')&&get.attitude(current,player)>0;
|
||||||
});
|
});
|
||||||
|
@ -11991,12 +11968,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
yue_daqiao_prefix:'乐',
|
yue_daqiao_prefix:'乐',
|
||||||
dczixi:'姊希',
|
dczixi:'姊希',
|
||||||
dczixi_info:'①出牌阶段开始和结束时,你可以将一张“琴”当作一张无效果的【乐不思蜀】、【兵粮寸断】或【闪电】置于一名角色的判定区。②当你使用基本牌或普通锦囊牌指定唯一目标后,你可根据其判定区内的牌数执行对应项:1.令此牌对其额外结算一次;2.摸两张牌;3.弃置其判定区所有牌,对其造成3点伤害。',
|
dczixi_info:'①出牌阶段开始和结束时,你可以将一张“琴”当作一张无效果的【乐不思蜀】、【兵粮寸断】或【闪电】置于一名角色的判定区。②当你使用基本牌或普通锦囊牌指定唯一目标后,你可根据其判定区内的牌数执行对应项:1.令此牌对其额外结算一次;2.摸两张牌;3.弃置其判定区所有牌,对其造成3点伤害。',
|
||||||
dc_jiangfei:'新杀蒋琬费祎',
|
jiangfei:'蒋琬费祎',
|
||||||
dc_jiangfei_prefix:'新杀',
|
|
||||||
dcshengxi:'生息',
|
dcshengxi:'生息',
|
||||||
dcshengxi_info:'弃牌阶段结束时,若你本回合未造成过伤害,你可以摸两张牌。',
|
dcshengxi_info:'弃牌阶段结束时,若你本回合未造成过伤害,你可以摸两张牌。',
|
||||||
dcshoucheng:'守成',
|
dcshoucheng:'守成',
|
||||||
dcshoucheng_info:'一名角色于其回合外失去最后的手牌时,你可令其摸两张牌。',
|
dcshoucheng_info:'一名角色于其回合外失去最后的手牌后,你可令其摸两张牌。',
|
||||||
|
|
||||||
sp_baigei:'无双上将',
|
sp_baigei:'无双上将',
|
||||||
sp_caizijiaren:'才子佳人',
|
sp_caizijiaren:'才子佳人',
|
||||||
|
|
|
@ -11,7 +11,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
offline_yijiang:['ol_xinxianying'],
|
offline_yijiang:['ol_xinxianying'],
|
||||||
offline_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"],
|
offline_luanwu:["ns_lijue","ns_zhangji","ns_fanchou"],
|
||||||
offline_yongjian:["ns_chendao","yj_caoang","yj_caocao",'yj_liru','yj_caohong','yj_zhangfei','yongjian_ganning','yj_dongzhuo','yj_xuyou','yj_jiaxu','yj_zhenji'],
|
offline_yongjian:["ns_chendao","yj_caoang","yj_caocao",'yj_liru','yj_caohong','yj_zhangfei','yongjian_ganning','yj_dongzhuo','yj_xuyou','yj_jiaxu','yj_zhenji'],
|
||||||
offline_piracyE:['shen_jiaxu','pe_wangyun','pe_zhonghui','pe_sunchen','pe_mengda','pe_wenqin','ns_caoanmin','jiangfei','chendong','jiangqing','zy_kongrong','jiling','tianfeng','mateng'],
|
offline_piracyE:['shen_jiaxu','pe_wangyun','pe_zhonghui','pe_sunchen','pe_mengda','pe_wenqin','ns_caoanmin','chendong','jiangqing','zy_kongrong','jiling','tianfeng','mateng'],
|
||||||
offline_piracyS:['ns_jiaxu','longyufei','ps_guanyu','ps1059_guojia','ps2070_guojia','ps2063_zhaoyun','ps2067_zhaoyun','ps1062_zhouyu','ps2080_zhouyu','ps_caozhi','ps_jin_simayi','ps_caopi','ps_simayi','ps2068_simayi','ps_machao','ps_zhugeliang','ps2066_zhugeliang','ps_jiaxu','ps_lvbu','ps_shen_machao','jsp_liubei'],
|
offline_piracyS:['ns_jiaxu','longyufei','ps_guanyu','ps1059_guojia','ps2070_guojia','ps2063_zhaoyun','ps2067_zhaoyun','ps1062_zhouyu','ps2080_zhouyu','ps_caozhi','ps_jin_simayi','ps_caopi','ps_simayi','ps2068_simayi','ps_machao','ps_zhugeliang','ps2066_zhugeliang','ps_jiaxu','ps_lvbu','ps_shen_machao','jsp_liubei'],
|
||||||
offline_piracyK:['pk_sp_duyu'],
|
offline_piracyK:['pk_sp_duyu'],
|
||||||
offline_vtuber:['vtb_xiaosha','vtb_xiaoshan','vtb_xiaotao','vtb_xiaole','vtb_xiaojiu'],
|
offline_vtuber:['vtb_xiaosha','vtb_xiaoshan','vtb_xiaotao','vtb_xiaole','vtb_xiaojiu'],
|
||||||
|
@ -36,7 +36,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
zy_kongrong:['male','qun',3,['zymingshi','lirang']],
|
zy_kongrong:['male','qun',3,['zymingshi','lirang']],
|
||||||
chendong:['male','wu',4,['duanxie','fenming']],
|
chendong:['male','wu',4,['duanxie','fenming']],
|
||||||
jiangqing:['male','wu',4,['zyshangyi']],
|
jiangqing:['male','wu',4,['zyshangyi']],
|
||||||
jiangfei:['male','shu',3,['reshengxi','shoucheng']],
|
|
||||||
pk_sp_duyu:['male','qun',4,['pkwuku','pksanchen']],
|
pk_sp_duyu:['male','qun',4,['pkwuku','pksanchen']],
|
||||||
ps_lvbu:['male','qun',4,['wushuang','pssheji']],
|
ps_lvbu:['male','qun',4,['wushuang','pssheji']],
|
||||||
ps_jiaxu:['male','qun',4,['wansha','psqupo','psbaoquan']],
|
ps_jiaxu:['male','qun',4,['wansha','psqupo','psbaoquan']],
|
||||||
|
@ -6794,8 +6793,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
ol_xinxianying_prefix:'将',
|
ol_xinxianying_prefix:'将',
|
||||||
chendong:'战役篇陈武董袭',
|
chendong:'战役篇陈武董袭',
|
||||||
chendong_prefix:'战役篇',
|
chendong_prefix:'战役篇',
|
||||||
jiangfei:'战役篇蒋琬费祎',
|
|
||||||
jiangfei_prefix:'战役篇',
|
|
||||||
jiangqing:'战役篇蒋钦',
|
jiangqing:'战役篇蒋钦',
|
||||||
jiangqing_prefix:'战役篇',
|
jiangqing_prefix:'战役篇',
|
||||||
tianfeng:'战役篇田丰',
|
tianfeng:'战役篇田丰',
|
||||||
|
|
|
@ -11401,7 +11401,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
||||||
starzongshi:'纵势',
|
starzongshi:'纵势',
|
||||||
starzongshi_info:'出牌阶段,你可以展示一张可展示目标的基本牌或普通锦囊牌,然后你将手牌中所有与此牌花色相同的其他牌当作此牌使用,且此牌至多指定转化牌数的目标。',
|
starzongshi_info:'出牌阶段,你可以展示一张可展示目标的基本牌或普通锦囊牌,然后你将手牌中所有与此牌花色相同的其他牌当作此牌使用,且此牌至多指定转化牌数的目标。',
|
||||||
starjiaowang:'骄妄',
|
starjiaowang:'骄妄',
|
||||||
starjiaowang_info:'锁定技,非首轮游戏开始时,若上一轮没有角色死亡,则你失去1点体力并发动〖硝焰〗。',
|
starjiaowang_info:'锁定技,非首轮游戏开始时,若上一轮没有角色死亡(因〖硝焰〗死亡的角色除外),则你失去1点体力并发动〖硝焰〗。',
|
||||||
staraoshi:'傲势',
|
staraoshi:'傲势',
|
||||||
staraoshi_info:'主公技,其他群势力角色的出牌阶段限一次,其可以交给你一张手牌,然后你可以发动一次〖纵势〗。',
|
staraoshi_info:'主公技,其他群势力角色的出牌阶段限一次,其可以交给你一张手牌,然后你可以发动一次〖纵势〗。',
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue