修复ai错位
This commit is contained in:
parent
14f60d31fd
commit
a8d60ed38f
|
@ -916,30 +916,28 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
ai:{
|
||||
threaten:100,
|
||||
reverseEquip:true,
|
||||
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,game.countPlayer(current=>{
|
||||
return current.countCards('e',card=>{
|
||||
return get.suit(card,current)==suit;
|
||||
});
|
||||
})];
|
||||
},
|
||||
target:(card,player,target)=>{
|
||||
if(card.name==='sha'&&!player.hasSkillTag('directHit_ai',true,{
|
||||
target:target,
|
||||
card:card
|
||||
},true)&&game.hasPlayer(current=>{
|
||||
return current.hasCard(cardx=>{
|
||||
return get.subtype(cardx)==='equip3';
|
||||
},'e');
|
||||
})) return [0, -0.5];
|
||||
}
|
||||
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,game.countPlayer(current=>{
|
||||
return current.countCards('e',card=>{
|
||||
return get.suit(card,current)==suit;
|
||||
});
|
||||
})];
|
||||
},
|
||||
target:(card,player,target)=>{
|
||||
if(card.name==='sha'&&!player.hasSkillTag('directHit_ai',true,{
|
||||
target:target,
|
||||
card:card
|
||||
},true)&&game.hasPlayer(current=>{
|
||||
return current.hasCard(cardx=>{
|
||||
return get.subtype(cardx)==='equip3';
|
||||
},'e');
|
||||
})) return [0, -0.5];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4826,12 +4826,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
ai:{
|
||||
threaten:2,
|
||||
ai:{
|
||||
noh:true,
|
||||
skillTagFilter:function(player,tag){
|
||||
if(tag=='noh'){
|
||||
if(player.countCards('h')!=2) return false;
|
||||
}
|
||||
noh:true,
|
||||
skillTagFilter:function(player,tag){
|
||||
if(tag=='noh'){
|
||||
if(player.countCards('h')!=2) return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4967,12 +4967,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
},
|
||||
olkangrui:{
|
||||
audio:2,
|
||||
init:()=>{
|
||||
game.addGlobalSkill('olkangrui_ai');
|
||||
},
|
||||
onremove:()=>{
|
||||
if(!game.hasPlayer(i=>i.hasSkill('olkangrui'),true)) game.removeGlobalSkill('olkangrui_ai');
|
||||
},
|
||||
trigger:{global:'damageEnd'},
|
||||
filter:function(event,player){
|
||||
return event.player==_status.currentPhase&&event.player.getHistory('damage').indexOf(event)==0;
|
||||
},
|
||||
direct:true,
|
||||
global:'olkangrui_ai',
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.chooseControl('cancel2').set('choiceList',[
|
||||
|
@ -5058,15 +5063,26 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
}
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(target!=player||!get.tag(card,'damage')) return;
|
||||
var list=game.filterPlayer(current=>current.hasSkill('olkangrui')&&get.attitude(current,player)>0);
|
||||
var history=player.getHistory('damage');
|
||||
if(!list.length||history.length!=0) return;
|
||||
return [1,2];
|
||||
}
|
||||
trigger:{player:'dieAfter'},
|
||||
filter:()=>{
|
||||
return !game.hasPlayer(i=>i.hasSkill('olkangrui'),true);
|
||||
},
|
||||
silent:true,
|
||||
forceDie:true,
|
||||
content:()=>{
|
||||
game.removeGlobalSkill('olkangrui_ai');
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
target:function(card,player,target){
|
||||
if(target!=player||!get.tag(card,'damage')) return;
|
||||
var list=game.filterPlayer(current=>current.hasSkill('olkangrui')&&get.attitude(current,player)>0);
|
||||
var history=player.getHistory('damage');
|
||||
if(!list.length||history.length!=0) return;
|
||||
return [1,2];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -8662,10 +8662,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){
|
|||
content:function(){
|
||||
trigger.player.addMark('twlvren',1);
|
||||
},
|
||||
effect:{
|
||||
player:function(card,player,target){
|
||||
if(target.hasMark('twlvren')) return 0.33;
|
||||
},
|
||||
ai:{
|
||||
effect:{
|
||||
player:function(card,player,target){
|
||||
if(target.hasMark('twlvren')) return 0.33;
|
||||
}
|
||||
}
|
||||
},
|
||||
marktext:'刃',
|
||||
intro:{name2:'刃',content:'mark'},
|
||||
|
|
Loading…
Reference in New Issue