优化【贞烈】【横骛】【飞扬】ai

This commit is contained in:
157 2023-12-26 09:59:11 +08:00
parent cfad17964c
commit 413e4e2848
6 changed files with 60 additions and 13 deletions

View File

@ -197,6 +197,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){
return lib.card.shandian.ai.result.target(player,target); return lib.card.shandian.ai.result.target(player,target);
} }
}, },
tag:{
damage:0.25,
natureDamage:0.25,
thunderDamage:0.25,
}
} }
}, },
qibaodao:{ qibaodao:{

View File

@ -2032,7 +2032,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){
result:{ result:{
target:function(player,target){ target:function(player,target){
var num=game.countPlayer(function(current){ var num=game.countPlayer(function(current){
var skills=current.getSkills(); //var skills=current.getSkills();
for(var j=0;j<current.skills.length;j++){ for(var j=0;j<current.skills.length;j++){
var rejudge=get.tag(current.skills[j],'rejudge',current); var rejudge=get.tag(current.skills[j],'rejudge',current);
if(rejudge!=undefined){ if(rejudge!=undefined){
@ -2077,9 +2077,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){
} }
}, },
tag:{ tag:{
// damage:1, damage:0.16,
// natureDamage:1, natureDamage:0.16,
// thunderDamage:1, thunderDamage:0.16,
} }
} }
}, },

View File

@ -2273,6 +2273,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){
}); });
})); }));
}, },
ai:{
effect:{
player:(card,player,target)=>{
if(typeof card!=='object') return;
let suit=get.suit(card);
if(!lib.suit.contains(suit)||player.hasCard(function(i){
return get.suit(i,player)==suit;
},'h')) return;
return [1,0.8*game.countPlayer(current=>{
return current.countCards('e',card=>{
return get.suit(card,current)==suit;
});
})];
}
}
}
}, },
changandajian_equip5:{ changandajian_equip5:{
equipSkill:true, equipSkill:true,

View File

@ -4039,8 +4039,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){
content:function(){ content:function(){
'step 0' 'step 0'
player.chooseToDiscard('h',2,get.prompt('jsrgfeiyang'),'弃置两张手牌并弃置判定区里的一张牌').set('logSkill','jsrgfeiyang').set('ai',function(card){ player.chooseToDiscard('h',2,get.prompt('jsrgfeiyang'),'弃置两张手牌并弃置判定区里的一张牌').set('logSkill','jsrgfeiyang').set('ai',function(card){
return 6-get.value(card); if(_status.event.goon) return 6-get.value(card);
}); return 0;
}).set('goon',(()=>{
if(player.hasSkillTag('rejudge')&&player.countCards('j')<2) return false;
return player.hasCard(function(card){
if(get.tag(card,'damage')&&get.damageEffect(player,player,_status.event.player,get.natureList(card))>=0) return false;
return get.effect(player,{
name:card.viewAs||card.name,
cards:[card],
},player,player)<0;
},'j');
})());
'step 1' 'step 1'
if(result.bool){ if(result.bool){
player.discardPlayerCard(player,'j',true); player.discardPlayerCard(player,'j',true);

View File

@ -11907,16 +11907,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
trigger:{target:'useCardToTargeted'}, trigger:{target:'useCardToTargeted'},
content:function(){ content:function(){
"step 0" "step 0"
if(get.attitude(player,trigger.player)<0&&trigger.player.countDiscardableCards(player,'he')) player.addTempSkill('zhenlie_lose');
player.loseHp(); player.loseHp();
"step 1" "step 1"
player.removeSkill('zhenlie_lose');
trigger.getParent().excluded.add(player); trigger.getParent().excluded.add(player);
"step 2" "step 2"
if(trigger.player.countCards('he')){ if(trigger.player.countCards('he')){
if(get.mode()!=='identity'||player.identity!=='nei') player.addExpose(0.12);
player.discardPlayerCard(trigger.player,'he',true); player.discardPlayerCard(trigger.player,'he',true);
} }
}, },
subSkill:{
lose:{
charlotte:true
}
},
ai:{ ai:{
expose:0.3 effect:{
target:(card,player,target)=>{
if(target.hp<=0&&target.hasSkill('zhenlie_lose')&&get.tag(card,'recover')) return [1,1.2];
}
}
} }
}, },
//吾彦... //吾彦...

View File

@ -2256,12 +2256,16 @@ game.import('mode',function(lib,game,ui,get,ai,_status){
player.chooseToDiscard('h',2,get.prompt('feiyang'),'弃置两张手牌,然后弃置判定区里的一张牌').set('logSkill','feiyang').set('ai',function(card){ player.chooseToDiscard('h',2,get.prompt('feiyang'),'弃置两张手牌,然后弃置判定区里的一张牌').set('logSkill','feiyang').set('ai',function(card){
if(_status.event.goon) return 6-get.value(card); if(_status.event.goon) return 6-get.value(card);
return 0; return 0;
}).set('goon',player.hasCard(function(card){ }).set('goon',(()=>{
return get.effect(player,{ if(player.hasSkillTag('rejudge')&&player.countCards('j')<2) return false;
name:card.viewAs||card.name, return player.hasCard(function(card){
cards:[card], if(get.tag(card,'damage')&&get.damageEffect(player,player,_status.event.player,get.natureList(card))>=0) return false;
},player,player)<0; return get.effect(player,{
},'j')); name:card.viewAs||card.name,
cards:[card],
},player,player)<0;
},'j');
})());
"step 1" "step 1"
if(result.bool){ if(result.bool){
player.discardPlayerCard(player,'j',true); player.discardPlayerCard(player,'j',true);