Merge pull request #905 from PZ157/PR-Branch

技能调整
This commit is contained in:
Spmario233 2024-02-04 00:50:12 +08:00 committed by GitHub
commit 49cfb9727d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 102 additions and 23 deletions

View File

@ -96,6 +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']],
}, },
characterSort:{ characterSort:{
huicui:{ huicui:{
@ -107,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'], sp_yanhan:['dc_liuba','dc_huangquan','furongfuqian','xianglang','dc_huojun','gaoxiang','dc_wuban','dc_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'],
@ -115,6 +116,86 @@ game.import('character',function(lib,game,ui,get,ai,_status){
} }
}, },
skill:{ skill:{
dcshengxi:{
audio:2,
trigger:{player:'phaseDiscardEnd'},
filter(event,player){
return !player.getStat('damage');
},
frequent:true,
content(){
player.draw(2);
},
},
dcshoucheng:{
audio:2,
init(player){
game.addGlobalSkill('dcshoucheng_draw',player);
},
trigger:{
global:['equipAfter','addJudgeAfter','loseAfter','gainAfter','loseAsyncAfter','addToExpansionAfter'],
},
filter(event,player){
return game.hasPlayer(function(current){
if(current==_status.currentPhase) return false;
let evt=event.getl(current);
return evt&&evt.hs&&evt.hs.length&&current.countCards('h')==0;
});
},
direct:true,
content(){
"step 0"
event.list=game.filterPlayer(current=>{
if(current==_status.currentPhase) return false;
let evt=trigger.getl(current);
return evt&&evt.hs&&evt.hs.length&&current.countCards('h')==0;
}).sortBySeat(_status.currentPhase);
"step 1"
var target=event.list.shift();
event.target=target;
if(target.isIn()) player.chooseBool(get.prompt2('dcshoucheng',target)).set('ai',function(){
return get.attitude(_status.event.player,_status.event.getParent().target)>0;
});
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);
}
"step 3"
if(event.list.length) event.goto(1);
},
ai:{
threaten(player,target){
return Math.sqrt(game.countPlayer(i=>{
return get.attitude(target,i)>0;
}));
}
},
subSkill:{
draw:{
trigger:{player:'dieAfter'},
filter(event,player){
return !game.hasPlayer(current=>{
return current.hasSkill('dcshoucheng');
},true);
},
content(){
game.removeGlobalSkill('dcshoucheng_draw');
},
ai:{
noh:true,
skillTagFilter(player,tag,arg){
if(player.countCards('h')!==1) return false;
return game.hasPlayer(current=>{
return current.hasSkill('dcshoucheng')&&get.attitude(current,player)>0;
});
}
}
}
}
},
//乐大乔 //乐大乔
dczixi:{ dczixi:{
init(){ init(){
@ -11437,7 +11518,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
xinkuangfu_info:'出牌阶段限一次你可选择1弃置装备区里的一张牌你使用无对应实体牌的普【杀】。若此【杀】造成伤害你摸两张牌。2弃置一名其他角色装备区里的一张牌你使用无对应实体牌的普【杀】。若此【杀】未造成伤害你弃置两张手牌。', xinkuangfu_info:'出牌阶段限一次你可选择1弃置装备区里的一张牌你使用无对应实体牌的普【杀】。若此【杀】造成伤害你摸两张牌。2弃置一名其他角色装备区里的一张牌你使用无对应实体牌的普【杀】。若此【杀】未造成伤害你弃置两张手牌。',
xingdaorong:'邢道荣', xingdaorong:'邢道荣',
xuxie:'虚猲', xuxie:'虚猲',
xuxie_info:'出牌阶段开始时你可以减1点体力上限并选择所有与你距离1的角色弃置这些角色的各一张牌或令这些角色各摸一张牌。出牌阶段结束时若你的体力上限不为全场最多则你加1点体力上限然后回复1点体力或摸两张牌。', xuxie_info:'出牌阶段开始时你可以减1点体力上限并选择所有距离1以内的角色弃置这些角色的各一张牌或令这些角色各摸一张牌。出牌阶段结束时若你的体力上限不为全场最多则你加1点体力上限然后回复1点体力或摸两张牌。',
caoxing:'曹性', caoxing:'曹性',
cxliushi:'流矢', cxliushi:'流矢',
cxliushi2:'流矢', cxliushi2:'流矢',
@ -11910,6 +11991,12 @@ 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:'新杀蒋琬费祎',
dc_jiangfei_prefix:'新杀',
dcshengxi:'生息',
dcshengxi_info:'弃牌阶段结束时,若你本回合未造成过伤害,你可以摸两张牌。',
dcshoucheng:'守成',
dcshoucheng_info:'一名角色于其回合外失去最后的手牌时,你可令其摸两张牌。',
sp_baigei:'无双上将', sp_baigei:'无双上将',
sp_caizijiaren:'才子佳人', sp_caizijiaren:'才子佳人',

View File

@ -22982,36 +22982,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
audio:2, audio:2,
trigger:{global:'phaseJieshuBegin'}, trigger:{global:'phaseJieshuBegin'},
filter:function(event,player){ filter:function(event,player){
return event.player.isIn()&&event.player!=player&&player.countCards('h',function(card){ return event.player.isIn()&&event.player!=player&&player.countCards('h');
if(_status.connectMode) return true;
return get.type(card)=='basic';
});
}, },
direct:true, direct:true,
content:function(){ content:function(){
"step 0" "step 0"
var nono=(Math.abs(get.attitude(player,trigger.player))<3); var next=player.chooseToDiscard(get.prompt('xiaoguo',trigger.player));
if(get.damageEffect(trigger.player,player,player)<=0){
nono=true;
}
var next=player.chooseToDiscard(get.prompt('xiaoguo',trigger.player),{type:'basic'});
next.set('ai',function(card){ next.set('ai',function(card){
if(_status.event.nono) return 0; return _status.event.eff-get.useful(card);
return 8-get.useful(card);
}); });
next.set('logSkill',['xiaoguo',trigger.player]); next.set('logSkill',['xiaoguo',trigger.player]);
next.set('nono',nono); next.set('eff',function(){
if(trigger.player.hasSkillTag('noe')) return get.attitude(_status.event.player,trigger.player);
return get.damageEffect(trigger.player,player,_status.event.player);
}());
"step 1" "step 1"
if(result.bool){ if(result.bool){
var nono=(get.damageEffect(trigger.player,player,trigger.player)>=0);
if(get.mode()!=='identity'||player.identity!=='nei') player.addExpose(0.15); if(get.mode()!=='identity'||player.identity!=='nei') player.addExpose(0.15);
trigger.player.chooseToDiscard('he','弃置一张装备牌并令'+get.translation(player)+'摸一张牌或受到1点伤害',{type:'equip'}).set('ai',function(card){ trigger.player.chooseToDiscard('he','弃置一张装备牌并令'+get.translation(player)+'摸一张牌或受到1点伤害',{type:'equip'}).set('ai',function(card){
if(_status.event.nono){ if(_status.event.damage>0) return 0;
return 0; if(_status.event.noe) return 12-get.value(card);
} return 2*_status.event.damage-get.value(card);
if(_status.event.player.hp==1) return 10-get.value(card); }).set('damage',get.damageEffect(trigger.player,player,trigger.player)).set('noe',trigger.player.hasSkillTag('noe'));
return 9-get.value(card);
}).set('nono',nono);
} }
else{ else{
event.finish(); event.finish();
@ -26489,7 +26481,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){
guixiu_info:'当你成为【杀】的目标后,若你的手牌数小于体力值,则你可以摸一张牌。', guixiu_info:'当你成为【杀】的目标后,若你的手牌数小于体力值,则你可以摸一张牌。',
fenming_info:'结束阶段开始时,若你处于横置状态,你可以弃置所有处于横置状态的角色的各一张牌。', fenming_info:'结束阶段开始时,若你处于横置状态,你可以弃置所有处于横置状态的角色的各一张牌。',
duanxie_info:'出牌阶段限一次你可以令至多X名其他角色横置X为你已损失的体力值且至少为1然后你横置。', duanxie_info:'出牌阶段限一次你可以令至多X名其他角色横置X为你已损失的体力值且至少为1然后你横置。',
xiaoguo_info:'其他角色的结束阶段开始时,你可以弃置一张基本令该角色选择一项1.弃置一张装备牌然后你摸一张牌2.受到你对其造成的1点伤害。', xiaoguo_info:'其他角色的结束阶段开始时,你可以弃置一张令该角色选择一项1.弃置一张装备牌然后你摸一张牌2.受到你对其造成的1点伤害。',
sijian_info:'当你失去最后的手牌时,你可以弃置一名其他角色的一张牌。', sijian_info:'当你失去最后的手牌时,你可以弃置一名其他角色的一张牌。',
suishi_info:'当其他角色进入濒死状态时伤害来源可以令你摸一张牌当其他角色死亡时伤害来源可以令你失去1点体力。', suishi_info:'当其他角色进入濒死状态时伤害来源可以令你摸一张牌当其他角色死亡时伤害来源可以令你失去1点体力。',
quji_info:'出牌阶段限一次你可以弃置X张牌X为你已损失的体力值然后令至多X名已受伤的角色各回复1点体力。若你以此法弃置的牌中有黑色牌你失去1点体力。', quji_info:'出牌阶段限一次你可以弃置X张牌X为你已损失的体力值然后令至多X名已受伤的角色各回复1点体力。若你以此法弃置的牌中有黑色牌你失去1点体力。',

View File

@ -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:'主公技,其他群势力角色的出牌阶段限一次,其可以交给你一张手牌,然后你可以发动一次〖纵势〗。',