From 59806226207b1b3cc3a38900d7c06718bce4d56f Mon Sep 17 00:00:00 2001 From: copcap Date: Thu, 9 Nov 2023 00:40:08 +0800 Subject: [PATCH] bugfix --- character/huicui.js | 2 ++ character/mobile.js | 4 ++- character/sb.js | 9 +++++-- character/shiji.js | 2 +- game/game.js | 61 ++++++++++++++++++++++++--------------------- 5 files changed, 45 insertions(+), 33 deletions(-) diff --git a/character/huicui.js b/character/huicui.js index 3e6569979..caf6aca7a 100644 --- a/character/huicui.js +++ b/character/huicui.js @@ -565,6 +565,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.chooseTarget(get.prompt2('dcmanzhi'),(card,player,target)=>{ if(player==target) return false; return !player.hasSkill('dcmanzhi_1')&&target.countCards('he')||!player.hasSkill('dcmanzhi_2')&&target.countCards('hej'); + }).set('ai',target=>{ + return 1-get.attitude(get.player(),target); }); 'step 1' if(result.bool){ diff --git a/character/mobile.js b/character/mobile.js index eca5db6c5..d28899d20 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -711,7 +711,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:'twjilun', inherit:'twjilun', filter:function(event,player){ - return player.hasSkill('twjichou'); + return player.hasSkill('twjichou',null,false,false); }, content:function(){ 'step 0' @@ -815,6 +815,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return{ type:result.control, audio:'twjiaohua', + filterCard:()=>false, + selectCard:-1, filterTarget:true, content:function(){ 'step 0' diff --git a/character/sb.js b/character/sb.js index 9bc738517..abee3efe7 100644 --- a/character/sb.js +++ b/character/sb.js @@ -2694,7 +2694,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger.directHit.add(target); player.chooseToDuiben(target).set('title','谋弈').set('namelist',[ '出阵迎战','拱卫中军','直取敌营','扰阵疲敌' - ]); + ]).set('ai',button=>{ + var source=get.event().getParent().player,target=get.event().getParent().target; + if(!target.countCards('he')&&button.link[2]=='db_def2') return 10; + if(!target.countCards('he')&&get.attitude(target,source)<=0&&button.link[2]=='db_atk1') return 10; + return 1+Math.random(); + }); 'step 1' if(result.bool){ if(result.player=='db_def1') player.gainPlayerCard(target,'he',true); @@ -4696,7 +4701,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ forced:true, locked:false, filter:function(event,player){ - return player.hasSkill('splveying')&&(get.type(event.card)=='trick'&&!get.tag(event.card,'damage'))&&player.countMark('splveying')>1; + return player.hasSkill('splveying',null,false,false)&&(get.type(event.card)=='trick'&&!get.tag(event.card,'damage'))&&player.countMark('splveying')>1; }, content:function(){ player.removeMark('splveying',2); diff --git a/character/shiji.js b/character/shiji.js index f00dad3d3..266a059c2 100644 --- a/character/shiji.js +++ b/character/shiji.js @@ -1472,7 +1472,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(event.card.name!='sha'||!event.cards||event.cards.length!=1) return false; var evt=event.getParent('phaseUse'); return evt&&evt.player==player&&player.getHistory('useCard',function(evt2){ - return evt2.card.name=='sha'&&evt.cards&&evt.cards.length==1&&evt2.getParent('phaseUse')==evt; + return evt2.card.name=='sha'&&evt2.cards&&evt2.cards.length==1&&evt2.getParent('phaseUse')==evt; }).indexOf(event)==0; }, content:function(){ diff --git a/game/game.js b/game/game.js index 557988b50..9d6afdd26 100644 --- a/game/game.js +++ b/game/game.js @@ -8577,36 +8577,39 @@ else src=`image/${type}/${subfolder}/${name}${ext}`; } else src=`image/${name}${ext}`; - new Promise((resolve,reject)=>{ - const image=new Image(); - image.src=`${lib.assetURL}${src}`; - image.onload=resolve; - if(type=='character') image.onerror=reject; - }).then(()=>{ + this.style.backgroundPositionX='center'; + this.style.backgroundSize='cover'; + if(type=='character'){ + new Promise((resolve,reject)=>{ + const image=new Image(); + image.src=`${lib.assetURL}${src}`; + image.onload=resolve; + if(type=='character') image.onerror=reject; + }).then(()=>{ + this.setBackgroundImage(src); + }).catch(()=>new Promise((resolve,reject)=>{ + const nameinfo=get.character(name); + const sex=nameinfo[0]; + src=`image/character/default_silhouette_${sex}${ext}`; + const image=new Image(); + image.src=`${lib.assetURL}${src}`; + image.onload=()=>resolve(src); + image.onerror=reject; + }).catch(()=>new Promise((resolve,reject)=>{ + const nameinfo=get.character(name); + const sex=nameinfo[0]; + src=`image/character/default_silhouette_${sex=='female'?'female':'male'}${ext}`; + const image=new Image(); + image.src=`${lib.assetURL}${src}`; + image.onload=()=>resolve(src); + image.onerror=reject; + })).then((src)=>{ + this.setBackgroundImage(src); + })); + } + else{ this.setBackgroundImage(src); - this.style.backgroundPositionX='center'; - this.style.backgroundSize='cover'; - }).catch(()=>new Promise((resolve,reject)=>{ - const nameinfo=get.character(name); - const sex=nameinfo[0]; - src=`image/character/default_silhouette_${sex}${ext}`; - const image=new Image(); - image.src=`${lib.assetURL}${src}`; - image.onload=()=>resolve(src); - image.onerror=reject; - }).catch(()=>new Promise((resolve,reject)=>{ - const nameinfo=get.character(name); - const sex=nameinfo[0]; - src=`image/character/default_silhouette_${sex=='female'?'female':'male'}${ext}`; - const image=new Image(); - image.src=`${lib.assetURL}${src}`; - image.onload=()=>resolve(src); - image.onerror=reject; - })).then((src)=>{ - this.setBackgroundImage(src); - this.style.backgroundPositionX='center'; - this.style.backgroundSize='cover'; - })); + } return this; } });