优化铁索ai
This commit is contained in:
parent
9fe8508423
commit
62aa20d6d2
|
@ -289,35 +289,55 @@ game.import('card',function(lib,game,ui,get,ai,_status){
|
||||||
},
|
},
|
||||||
recastable:true,
|
recastable:true,
|
||||||
ai:{
|
ai:{
|
||||||
wuxie:function(target,card,player,viewer){
|
wuxie:(target,card,player,viewer, status)=>{
|
||||||
if(_status.event.getRand()<0.5) return 0;
|
if(status*get.attitude(viewer,player)>0&&!player.isMad() || target.hasSkillTag('nodamage') || target.hasSkillTag('nofire') || target.hasSkillTag('nothunder') || get.attitude(viewer,player)>0 || (1+target.countCards('hs'))*_status.event.getRand()>1.57) return 0;
|
||||||
if(player==game.me&&get.attitude(viewer,player)>0){
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
basic:{
|
basic:{
|
||||||
useful:4,
|
order:(item,player)=>{
|
||||||
value:4,
|
if(player.hasCard(card=>{
|
||||||
order:7
|
return get.tag(card,'damage')&&game.hasNature(card)&&player.hasValueTarget(card);
|
||||||
|
},'hs')) return 7.3;
|
||||||
|
return 4.1;
|
||||||
|
},
|
||||||
|
useful:1.2,
|
||||||
|
value:4
|
||||||
},
|
},
|
||||||
result:{
|
result:{
|
||||||
target:function(player,target){
|
target:(player,target)=>{
|
||||||
if(target.isLinked()){
|
if(target.hasSkillTag('link')) return 0;
|
||||||
if(target.hasSkillTag('link')) return 0;
|
let curs = game.filterPlayer(current=>{
|
||||||
var f=target.hasSkillTag('nofire');
|
if(current.hasSkillTag('nodamage')) return false;
|
||||||
var t=target.hasSkillTag('nothunder');
|
return !current.hasSkillTag('nofire') || !current.hasSkillTag('nothunder');
|
||||||
if(f&&t) return 0;
|
});
|
||||||
if(f||t) return 0.5;
|
if(curs.length<2) return 0;
|
||||||
return 2;
|
let f = target.hasSkillTag('nofire'),
|
||||||
|
t = target.hasSkillTag('nothunder'),
|
||||||
|
res = 0.9;
|
||||||
|
if(f&&t || target.hasSkillTag('nodamage')) return 0;
|
||||||
|
if(f || t) res = 0.45;
|
||||||
|
if(target.getEquip('tengjia')) res *= 2;
|
||||||
|
if(!target.isLinked()) res = -res;
|
||||||
|
if(ui.selected.targets.length) return res;
|
||||||
|
let fs = 0,
|
||||||
|
es = 0,
|
||||||
|
att = get.attitude(player,target),
|
||||||
|
linkf = false,
|
||||||
|
alink = true;
|
||||||
|
curs.forEach(i=>{
|
||||||
|
let atti = get.attitude(player,i);
|
||||||
|
if(atti>0){
|
||||||
|
fs++;
|
||||||
|
if(i.isLinked()) linkf = true;
|
||||||
|
}
|
||||||
|
else if(atti<0){
|
||||||
|
es++;
|
||||||
|
if(!i.isLinked()) alink = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if(es<2&&!alink) {
|
||||||
|
if(att<=0 || att>0 && linkf && fs<2) return 0;
|
||||||
}
|
}
|
||||||
if(get.attitude(player,target)>=0) return -0.9;
|
return res;
|
||||||
if(ui.selected.targets.length) return -0.9;
|
|
||||||
if(game.hasPlayer(function(current){
|
|
||||||
return get.attitude(player,current)<=-1&¤t!=target&&!current.isLinked();
|
|
||||||
})){
|
|
||||||
return -0.9;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tag:{
|
tag:{
|
||||||
|
|
Loading…
Reference in New Issue