Merge pull request #618 from PZ157/PR-Branch

优化部分技能ai
This commit is contained in:
Spmario233 2023-11-07 23:10:39 +08:00 committed by GitHub
commit dad7216b7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 75 additions and 1 deletions

View File

@ -4416,6 +4416,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
if(player.countMark('redanxin')<2) player.addMark('redanxin',1,false);
},
intro:{content:'当前升级等级。Lv#'},
ai:{
maixie:true,
effect:{
target:(card,player,target)=>{
if(!get.tag(card,'damage')) return;
if(target.hp<2&&target.countCards('hs')<3||player.hasSkillTag('jueqing',false,target)) return -2;
if(target.countMark('redanxin')>1) return [1,1];
return [1,Math.min(3.2,0.8*target.hp)];
}
}
}
},
//马岱
reqianxi:{

View File

@ -19625,6 +19625,41 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addSkill('mashu');
player.addSkill('nuzhan');
player.awakenSkill('danji');
},
ai:{
maixie:true,
skillTagFilter:(player,tag,arg)=>{
if(tag==='maixie'){
if(player.hp<2||player.storage.danji||player.hasSkill('nuzhan')||player.countCards('h')!==player.hp) return false;
let zhu=get.zhu(player);
if(zhu&&zhu.isZhu){
let name=zhu.name;
while(name.indexOf('_')!==-1){
name=name.slice(name.indexOf('_')+1);
}
if(name.indexOf('liubei')==0) return false;
}
return true;
}
},
effect:{
target:(card,player,target)=>{
let hs=target.countCards('h');
if(target.hp<3||target.storage.danji||target.hasSkill('nuzhan')||hs>target.hp+1) return;
let zhu=get.zhu(target);
if(zhu&&zhu.isZhu){
let name=zhu.name;
while(name.indexOf('_')!==-1){
name=name.slice(name.indexOf('_')+1);
}
if(name.indexOf('liubei')==0) return;
}
if(get.tag(card,'draw')) return 1.6;
if(get.tag(card,'lose')||get.tag(card,'discard')) return [1,-0.8];
if(hs===target.hp&&get.tag(card,'damage')) return [1,target.hp/3];
if(hs>target.hp&&target.hp>3&&(card.name==='shan'||card.name==='wuxie')) return 'zeroplayertarget';
}
}
}
},
nuzhan:{

View File

@ -793,6 +793,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.addSkill('mashu');
player.addSkill('dcnuchen');
player.awakenSkill('dcdanji');
},
ai:{
maixie:true,
skillTagFilter:(player,tag,arg)=>{
if(tag==='maixie') return player.hp>=2&&!player.storage.dcdanji&&!player.hasSkill('dcnuchen')&&player.countCards('h')===player.hp;
},
effect:{
target:(card,player,target)=>{
let hs=target.countCards('h');
if(target.hp<3||target.storage.dcdanji||target.hasSkill('dcnuchen')||hs>target.hp+1) return;
if(get.tag(card,'draw')) return 1.6;
if(get.tag(card,'lose')||get.tag(card,'discard')) return [1,-0.8];
if(hs===target.hp&&get.tag(card,'damage')) return [1,target.hp/3];
if(hs>target.hp&&target.hp>3&&(card.name==='shan'||card.name==='wuxie')) return 'zeroplayertarget';
}
}
}
},
dcnuchen:{

View File

@ -3305,7 +3305,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){
direct:true,
content:function (){
'step 0'
player.chooseTarget(get.prompt2('rezhenjun')).ai=function(target){
player.chooseTarget(get.prompt2('rezhenjun'),(card,player,target)=>{
return target.countCards('he');
}).ai=function(target){
return -get.attitude(_status.event.player,target)*(target.countCards('e')+1);
};
'step 1'
@ -6122,6 +6124,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){
player.popup('更改描述');
player.addMark('xindanxin',1,false);
}
},
ai:{
maixie:true,
effect:{
target:(card,player,target)=>{
if(!get.tag(card,'damage')) return;
if(target.hp<2||player.hasSkillTag('jueqing',false,target)) return -1.5;
return [1,1];
}
}
}
},
zongzuo:{