Merge pull request #1206 from PZ157/PR-Branch

bug修复,combo添加
This commit is contained in:
Spmario233 2024-04-15 10:52:52 +08:00 committed by GitHub
commit 650b714ea7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 172 additions and 8 deletions

View File

@ -1468,6 +1468,9 @@ game.import('character',function(){
delete player.getStat().skill.clanguangu; delete player.getStat().skill.clanguangu;
game.log(player,'重置了','#g【观骨】'); game.log(player,'重置了','#g【观骨】');
}, },
ai:{
combo:'clanguangu'
},
mod:{ mod:{
aiOrder(player,card,num){ aiOrder(player,card,num){
if(!player.hasSkill('clanguangu')||!player.getStat().skill.clanguangu) return; if(!player.hasSkill('clanguangu')||!player.getStat().skill.clanguangu) return;
@ -2250,6 +2253,9 @@ game.import('character',function(){
}, },
content(){ content(){
player.recover(); player.recover();
},
ai:{
combo:'clansankuang'
} }
}, },
//族荀淑 //族荀淑

View File

@ -1829,6 +1829,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'dcxianjin'
}
}, },
dcxianjin:{ dcxianjin:{
init(player){ init(player){
@ -1886,6 +1889,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'dctuoyu'
}
}, },
dcqijing:{ dcqijing:{
derivation:'dccuixin', derivation:'dccuixin',
@ -1937,6 +1943,9 @@ game.import('character', function () {
'step 3' 'step 3'
player.insertPhase(); player.insertPhase();
}, },
ai:{
combo:'dctuoyu'
}
}, },
dccuixin:{ dccuixin:{
audio:2, audio:2,
@ -3913,6 +3922,7 @@ game.import('character', function () {
skillTagFilter(player,tag,arg){ skillTagFilter(player,tag,arg){
return arg&&arg.target&&arg.target.hasMark('yingba_mark') return arg&&arg.target&&arg.target.hasMark('yingba_mark')
}, },
combo:'yingba'
}, },
subSkill:{ subSkill:{
usea:{ usea:{
@ -3959,6 +3969,7 @@ game.import('character', function () {
}, },
}, },
ai:{ ai:{
combo:'yingba',
effect:{ effect:{
target(card,player,target){ target(card,player,target){
if(get.tag(card,'recover')&&_status.event.type=='phase'&&!player.needsToDiscard()) return 0.2; if(get.tag(card,'recover')&&_status.event.type=='phase'&&!player.needsToDiscard()) return 0.2;
@ -5385,6 +5396,9 @@ game.import('character', function () {
player.loseMaxHp(); player.loseMaxHp();
player.gain(player.getExpansions('chuyuan'),'gain2','fromStorage'); player.gain(player.getExpansions('chuyuan'),'gain2','fromStorage');
}, },
ai:{
combo:'chuyuan'
}
}, },
tianxing:{ tianxing:{
audio:2, audio:2,
@ -5414,6 +5428,9 @@ game.import('character', function () {
'step 2' 'step 2'
player.addSkills(result.control); player.addSkills(result.control);
}, },
ai:{
combo:'chuyuan'
}
}, },
olzhiti:{ olzhiti:{
audio:'drlt_zhiti', audio:'drlt_zhiti',

View File

@ -576,6 +576,7 @@ game.import('character', function () {
return 13; return 13;
} }
}, },
combo:'dcsanshi'
}, },
}, },
//王凌 //王凌
@ -1640,6 +1641,7 @@ game.import('character', function () {
},0); },0);
}, },
}, },
combo:'dcqiqin'
}, },
getWeiWanEffect:(player,cardx,target)=>{ getWeiWanEffect:(player,cardx,target)=>{
const suit=get.suit(cardx,player); const suit=get.suit(cardx,player);
@ -3264,6 +3266,9 @@ game.import('character', function () {
player.addMark('dcgonghu_'+(trigger.name=='damage'?'damage':'basic'),1,false); player.addMark('dcgonghu_'+(trigger.name=='damage'?'damage':'basic'),1,false);
game.log(player,'修改了技能','#g【破锐】'); game.log(player,'修改了技能','#g【破锐】');
}, },
ai:{
combo:'dcporui'
},
subSkill:{ subSkill:{
trick:{ trick:{
audio:'dcgonghu', audio:'dcgonghu',
@ -3602,6 +3607,9 @@ game.import('character', function () {
} }
} }
}, },
ai:{
combo:'dcjizhong'
}
}, },
dcguangshi:{ dcguangshi:{
audio:2, audio:2,
@ -3613,6 +3621,9 @@ game.import('character', function () {
content:function(){ content:function(){
player.draw(2); player.draw(2);
player.loseHp(); player.loseHp();
},
ai:{
combo:'dcjizhong'
} }
}, },
//董绾 //董绾
@ -4214,6 +4225,7 @@ game.import('character', function () {
player.addSkills(['dctaji','dcqinghuang']); player.addSkills(['dctaji','dcqinghuang']);
}, },
ai:{ ai:{
combo:'dchuiling',
order:function(itemp,player){ order:function(itemp,player){
if(player.hasCard(card=>{ if(player.hasCard(card=>{
return get.type(card)!='equip'&&player.getUseValue(card)>1; return get.type(card)!='equip'&&player.getUseValue(card)>1;
@ -4335,6 +4347,9 @@ game.import('character', function () {
player.addTempSkill('dcqinghuang_add'); player.addTempSkill('dcqinghuang_add');
player.addMark('dcqinghuang_add',1,false); player.addMark('dcqinghuang_add',1,false);
}, },
ai:{
combo:'dctaji'
},
subSkill:{ subSkill:{
add:{ add:{
charlotte:true, charlotte:true,
@ -4687,6 +4702,9 @@ game.import('character', function () {
player.gain(trigger.cards.filterInD('d'),'gain2'); player.gain(trigger.cards.filterInD('d'),'gain2');
} }
}, },
ai:{
combo:'dcyinlu'
}
}, },
//孙资刘放 //孙资刘放
dcqinshen:{ dcqinshen:{
@ -5511,6 +5529,9 @@ game.import('character', function () {
content:function(){ content:function(){
player.draw(player.getHistory('useSkill',evt=>['yizan_use','yizan_use_backup'].includes(evt.sourceSkill||evt.skill)).length) player.draw(player.getHistory('useSkill',evt=>['yizan_use','yizan_use_backup'].includes(evt.sourceSkill||evt.skill)).length)
}, },
ai:{
combo:'yizan_use'
}
}, },
dclongyuan:{ dclongyuan:{
audio:'xinfu_longyuan', audio:'xinfu_longyuan',
@ -5532,6 +5553,9 @@ game.import('character', function () {
player.storage.yizan=true; player.storage.yizan=true;
}, },
derivation:'yizan_rewrite', derivation:'yizan_rewrite',
ai:{
combo:'yizan_use'
}
}, },
//黄皓 //黄皓
dcqinqing:{ dcqinqing:{
@ -9260,6 +9284,9 @@ game.import('character', function () {
sub:true, sub:true,
}, },
}, },
ai:{
combo:'yuanyu'
}
}, },
//滕胤 //滕胤
chenjian:{ chenjian:{
@ -11802,6 +11829,7 @@ game.import('character', function () {
if(player.countCards('h')>3||player==_status.currentPhase) return Math.max(o1,o2)+0.1; if(player.countCards('h')>3||player==_status.currentPhase) return Math.max(o1,o2)+0.1;
return Math.min(o1,o2)-0.1; return Math.min(o1,o2)-0.1;
}, },
combo:'dcmiyun',
respondSha:true, respondSha:true,
respondShan:true, respondShan:true,
skillTagFilter:function(player,tag,arg){ skillTagFilter:function(player,tag,arg){
@ -11956,6 +11984,9 @@ game.import('character', function () {
content:function(){ content:function(){
player.addTempSkill('zhuangdan_mark',{player:'phaseEnd'}) player.addTempSkill('zhuangdan_mark',{player:'phaseEnd'})
}, },
ai:{
combo:'zhuangdan'
}
}, },
zhuangdan_mark:{ zhuangdan_mark:{
mark:true, mark:true,

View File

@ -5906,6 +5906,9 @@ game.import('character', function () {
} }
}, },
}, },
ai:{
combo:'sbyingmen'
}
}, },
jsrgchaozheng:{ jsrgchaozheng:{
audio:2, audio:2,

View File

@ -2946,6 +2946,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'yichong'
}
}, },
//张嶷 //张嶷
xinwurong:{ xinwurong:{
@ -4902,6 +4905,7 @@ game.import('character', function () {
player:1 player:1
}, },
threaten:1.4, threaten:1.4,
combo:'spdaming'
}, },
subSkill:{ subSkill:{
backup:{}, backup:{},
@ -15400,6 +15404,9 @@ game.import('character', function () {
player.storage.yizan=true; player.storage.yizan=true;
}, },
derivation:'yizan_rewrite', derivation:'yizan_rewrite',
ai:{
combo:'yizan_use'
}
}, },
xinfu_jingxie:{ xinfu_jingxie:{
audio:2, audio:2,

View File

@ -2140,6 +2140,7 @@ game.import('character', function () {
}, },
}, },
ai:{ ai:{
combo:'psshiyin',
order:9.9, order:9.9,
result:{ result:{
player:function(player){ player:function(player){
@ -3372,6 +3373,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'zyshilu'
}
}, },
//孟达 //孟达
qiuan:{ qiuan:{
@ -3390,6 +3394,9 @@ game.import('character', function () {
player.addToExpansion('gain2',cards).gaintag.add('qiuan'); player.addToExpansion('gain2',cards).gaintag.add('qiuan');
trigger.cancel(); trigger.cancel();
}, },
ai:{
combo:'liangfan'
},
intro:{ intro:{
content:'expansion', content:'expansion',
markcount:'expansion', markcount:'expansion',
@ -3411,6 +3418,9 @@ game.import('character', function () {
'step 1' 'step 1'
player.loseHp(); player.loseHp();
}, },
ai:{
combo:'qiuan'
}
}, },
liangfan2:{ liangfan2:{
audio:'liangfan', audio:'liangfan',
@ -4059,6 +4069,9 @@ game.import('character', function () {
} }
} }
}, },
ai:{
neg:true
}
}, },
yjyongquan:{ yjyongquan:{
audio:2, audio:2,

View File

@ -13936,6 +13936,7 @@ game.import('character', function () {
return get.effect(player,{name:'losehp'},player,player); return get.effect(player,{name:'losehp'},player,player);
} }
}, },
neg:true
} }
}, },
zhaxiang:{ zhaxiang:{

View File

@ -1106,6 +1106,7 @@ game.import('character', function () {
return (Array.from({length:6}).map((_,i)=>i+5).includes(list[0])&&info.getEffect(player,list[0])>0)?1:0; return (Array.from({length:6}).map((_,i)=>i+5).includes(list[0])&&info.getEffect(player,list[0])>0)?1:0;
}, },
result:{player:1}, result:{player:1},
combo:'sbxingshang'
}, },
subSkill:{ subSkill:{
backup:{}, backup:{},
@ -2001,6 +2002,9 @@ game.import('character', function () {
}); });
} }
}, },
ai:{
combo:'sbguanxing'
}
}, },
//卢植 //卢植
sbzhenliang:{ sbzhenliang:{
@ -3618,6 +3622,9 @@ game.import('character', function () {
if(result.bool) player.give(result.cards,target); if(result.bool) player.give(result.cards,target);
'step 3' 'step 3'
if(targets.length) event.goto(1); if(targets.length) event.goto(1);
},
ai:{
combo:'sbxuanhuo'
} }
}, },
//姜维 //姜维
@ -4311,6 +4318,9 @@ game.import('character', function () {
}, },
}, },
derivation:'sblongdan_shabi', derivation:'sblongdan_shabi',
ai:{
combo:'sblongdan'
}
}, },
//张飞 //张飞
sbpaoxiao:{ sbpaoxiao:{
@ -5167,6 +5177,7 @@ game.import('character', function () {
target.damage('thunder'); target.damage('thunder');
}, },
ai:{ ai:{
combo:'sbguidao',
order:9, order:9,
result:{ result:{
target:function(player,target){ target:function(player,target){
@ -5867,6 +5878,9 @@ game.import('character', function () {
name2:'业', name2:'业',
content:'mark', content:'mark',
}, },
ai:{
combo:'sbzhiheng'
},
subSkill:{ subSkill:{
broadcast:{ broadcast:{
trigger:{ trigger:{

View File

@ -3040,7 +3040,7 @@ game.import('character', function () {
} }
}, },
ai:{ ai:{
combo:'xinmingshi', combo:'xinlirang',
effect:{ effect:{
target:function(card,player,target){ target:function(card,player,target){
if(get.tag(card,'damage')&&target.hasMark('xinlirang')){ if(get.tag(card,'damage')&&target.hasMark('xinlirang')){
@ -4498,6 +4498,9 @@ game.import('character', function () {
if(card) target.gain(card,'gain2'); if(card) target.gain(card,'gain2');
} }
}, },
ai:{
combo:'mjdingyi'
}
}, },
mjfubi:{ mjfubi:{
audio:'fubi', audio:'fubi',
@ -4569,6 +4572,7 @@ game.import('character', function () {
return 2; return 2;
}, },
}, },
combo:'mjdingyi'
}, },
subSkill:{ subSkill:{
round:{}, round:{},

View File

@ -18186,6 +18186,9 @@ game.import('character', function () {
if(num>0) player.gainMaxHp(num); if(num>0) player.gainMaxHp(num);
else player.loseMaxHp(-num); else player.loseMaxHp(-num);
player.recover(); player.recover();
},
ai:{
combo:'fanghun'
} }
}, },
refuhan:{ refuhan:{
@ -19425,6 +19428,9 @@ game.import('character', function () {
if(cards.length) player.gain(cards,'gain2'); if(cards.length) player.gain(cards,'gain2');
}, },
group:'rejici2', group:'rejici2',
ai:{
combo:'regushe'
}
}, },
rejici2:{ rejici2:{
audio:'jici', audio:'jici',
@ -22148,6 +22154,9 @@ game.import('character', function () {
unique:true, unique:true,
zhuSkill:true, zhuSkill:true,
locked:true, locked:true,
ai:{
combo:'canshi'
}
}, },
canshi:{ canshi:{
audio:2, audio:2,
@ -22208,6 +22217,7 @@ game.import('character', function () {
trigger.num++; trigger.num++;
}, },
ai:{ ai:{
neg:true,
effect:{ effect:{
target:function(card,player,target,current){ target:function(card,player,target,current){
if(get.tag(card,'damage')&&target.countCards('h')==0) return [1,-2]; if(get.tag(card,'damage')&&target.countCards('h')==0) return [1,-2];
@ -22279,6 +22289,7 @@ game.import('character', function () {
trigger.num++; trigger.num++;
}, },
ai:{ ai:{
neg:true,
effect:{ effect:{
target:function(card,player,target,current){ target:function(card,player,target,current){
if(card.name=='sha'&&target.countCards('h')==0) return [1,-2]; if(card.name=='sha'&&target.countCards('h')==0) return [1,-2];
@ -26240,7 +26251,7 @@ game.import('character', function () {
}, },
ai:{ ai:{
threaten:1.4, threaten:1.4,
combo:'xinfu_dianhua' combo:'xinfu_zhenyi'
}, },
}, },
"xinfu_dianhua":{ "xinfu_dianhua":{
@ -26319,6 +26330,7 @@ game.import('character', function () {
game.delayx(); game.delayx();
}, },
ai:{ ai:{
combo:'xinfu_falu',
threaten:2.2 threaten:2.2
}, },
}, },
@ -26355,9 +26367,6 @@ game.import('character', function () {
player.gain(event.togain,'gain2'); player.gain(event.togain,'gain2');
} }
}, },
ai:{
combo:'xinfu_dianhua'
}
}, },
"zhenyi_spade":{ "zhenyi_spade":{
trigger:{ trigger:{

View File

@ -2528,6 +2528,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'dcjinjian'
}
}, },
//赵俨 //赵俨
dcfuning:{ dcfuning:{
@ -4588,6 +4591,9 @@ game.import('character', function () {
'step 2' 'step 2'
game.delayx(); game.delayx();
}, },
ai:{
combo:'jinghe'
}
}, },
nhyinbing:{ nhyinbing:{
trigger:{source:'damageBefore'}, trigger:{source:'damageBefore'},
@ -8397,6 +8403,7 @@ game.import('character', function () {
} }
} }
}, },
combo:'liangying'
}, },
}, },
sushou:{ sushou:{
@ -8487,6 +8494,9 @@ game.import('character', function () {
'step 1' 'step 1'
game.delay(); game.delay();
}, },
ai:{
combo:'cangchu'
}
}, },
liehou:{ liehou:{
enable:'phaseUse', enable:'phaseUse',
@ -10082,6 +10092,7 @@ game.import('character', function () {
} }
}, },
ai:{ ai:{
combo:'xinfu_lveming',
order:function(){ order:function(){
var player=_status.event.player,num=0; var player=_status.event.player,num=0;
for(var i=1;i<6;i++){ for(var i=1;i<6;i++){

View File

@ -2117,6 +2117,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'twshenyi'
}
}, },
//张纮 //张纮
twquanqian:{ twquanqian:{
@ -9476,7 +9479,10 @@ game.import('character', function () {
player.addTempSkill('twqiongji_silent'); player.addTempSkill('twqiongji_silent');
} }
}, },
ai:{combo:'twxiawei'}, ai:{
combo:'twxiawei',
halfneg:true
},
subSkill:{silent:{charlotte:true}}, subSkill:{silent:{charlotte:true}},
}, },
//卞夫人 //卞夫人
@ -11410,6 +11416,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'twzhengjian'
}
}, },
//田豫 //田豫
twzhenxi:{ twzhenxi:{
@ -12386,6 +12395,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'twjingce'
}
}, },
twlihuo:{ twlihuo:{
trigger:{player:'useCard1'}, trigger:{player:'useCard1'},
@ -14637,6 +14649,9 @@ game.import('character', function () {
player.gain(card,'gain2','log'); player.gain(card,'gain2','log');
} }
}, },
ai:{
combo:'refanghun'
}
}, },
twqueshi:{ twqueshi:{
trigger:{ trigger:{

View File

@ -596,7 +596,7 @@ game.import('character', function () {
await game.asyncDelayx(); await game.asyncDelayx();
} }
} }
if (target.countCards('h') <= game.countPlayer()) return; if (target.countCards('h') < game.countPlayer()) return;
player.when({global: 'wuguRemained'}).filter(evt => { player.when({global: 'wuguRemained'}).filter(evt => {
return evt.getParent(3) === event; return evt.getParent(3) === event;
}).vars({originalOwner: target}).then(() => { }).vars({originalOwner: target}).then(() => {
@ -1655,6 +1655,9 @@ game.import('character', function () {
}, },
}, },
}, },
ai:{
combo:'dczhifou'
}
}, },
dczhifou:{ dczhifou:{
audio:2, audio:2,
@ -1781,6 +1784,9 @@ game.import('character', function () {
'1':{charlotte:true}, '1':{charlotte:true},
'2':{charlotte:true}, '2':{charlotte:true},
}, },
ai:{
combo:'dclingxi'
}
}, },
//周瑜 //周瑜
//无 双 万 军 取 首 //无 双 万 军 取 首
@ -2823,6 +2829,7 @@ game.import('character', function () {
player.addTempSkill('dczhangcai_all',{player:'phaseBegin'}); player.addTempSkill('dczhangcai_all',{player:'phaseBegin'});
}, },
ai:{ ai:{
combo:'dczhangcai',
order:15, order:15,
result:{ result:{
player:function(player){ player:function(player){
@ -6102,6 +6109,9 @@ game.import('character', function () {
}); });
if(card) player.addToExpansion(card,'gain2').gaintag.add('dcwangyuan'); if(card) player.addToExpansion(card,'gain2').gaintag.add('dcwangyuan');
}, },
ai:{
combo:'dclingyin'
},
marktext:'妄', marktext:'妄',
intro:{ intro:{
name:'妄(妄缘/铃音)', name:'妄(妄缘/铃音)',
@ -7665,6 +7675,9 @@ game.import('character', function () {
content:function(){ content:function(){
player.addMark('dclingfang',1); player.addMark('dclingfang',1);
}, },
ai:{
combo:'dcfengying'
},
marktext:'绞', marktext:'绞',
intro:{ intro:{
name:'绞', name:'绞',
@ -7760,6 +7773,7 @@ game.import('character', function () {
} }
}, },
threaten:2, threaten:2,
combo:'dclingfang'
}, },
subSkill:{ subSkill:{
record:{ record:{
@ -7805,6 +7819,9 @@ game.import('character', function () {
var card=get.discardPile(card=>get.color(card,false)=='black'); var card=get.discardPile(card=>get.color(card,false)=='black');
if(card) player.gain(card,'gain2'); if(card) player.gain(card,'gain2');
player.loseHp(); player.loseHp();
},
ai:{
combo:'dclingfang'
} }
}, },
//袁姬 //袁姬
@ -8265,6 +8282,9 @@ game.import('character', function () {
else player.marks[name]=player.mark(name,info); else player.marks[name]=player.mark(name,info);
player.updateMarks(); player.updateMarks();
}, },
ai:{
combo:'dcmengjie'
},
subSkill:{ subSkill:{
forceFinish:{charlotte:true}, forceFinish:{charlotte:true},
wuyong:{ wuyong:{
@ -8487,6 +8507,9 @@ game.import('character', function () {
} }
game.delayx(); game.delayx();
event.goto(1); event.goto(1);
},
ai:{
combo:'dctongguan'
} }
}, },
//刘晔 //刘晔
@ -9285,7 +9308,7 @@ game.import('character', function () {
trigger:{player:'phaseZhunbeiBegin'}, trigger:{player:'phaseZhunbeiBegin'},
forced:true, forced:true,
filter:function(event,player){ filter:function(event,player){
if(!player.hasSkill('dcligong')) return false; if(!player.hasSkill('dchuishu')) return false;
var list=lib.skill.dchuishu.getList(player); var list=lib.skill.dchuishu.getList(player);
for(var i of list){ for(var i of list){
if(i>=5) return true; if(i>=5) return true;
@ -9434,6 +9457,9 @@ game.import('character', function () {
player.draw(3); player.draw(3);
} }
}, },
ai:{
combo:'dchuishu'
}
}, },
//杜夔 //杜夔
dcfanyin:{ dcfanyin:{
@ -9692,6 +9718,9 @@ game.import('character', function () {
lib.skill.dcwanglu.broadcast(player); lib.skill.dcwanglu.broadcast(player);
} }
}, },
ai:{
combo:'dcwanglu'
}
}, },
dcchaixie:{ dcchaixie:{
audio:2, audio:2,
@ -9725,6 +9754,9 @@ game.import('character', function () {
} }
player.draw(num); player.draw(num);
}, },
ai:{
combo:'dcwanglu'
}
}, },
dagongche_skill:{ dagongche_skill:{
trigger:{player:'phaseUseBegin'}, trigger:{player:'phaseUseBegin'},
@ -11543,6 +11575,7 @@ game.import('character', function () {
})) return [1,1]; })) return [1,1];
}, },
}, },
combo:'xinzhoufu'
}, },
}, },
//孙翊 //孙翊