From 4c55583d787adb8bd0a6d527f5359074c85d0639 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Fri, 8 Mar 2024 23:15:44 +0800 Subject: [PATCH 1/3] =?UTF-8?q?SP=E6=9D=9C=E9=A2=84=E3=80=90=E7=81=AD?= =?UTF-8?q?=E5=90=B4=E3=80=91bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/shiji.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/character/shiji.js b/character/shiji.js index 961b83722..4ce0c0283 100644 --- a/character/shiji.js +++ b/character/shiji.js @@ -5790,13 +5790,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ for(var i=0;i Date: Sat, 9 Mar 2024 12:14:45 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8DviewAs=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E6=8F=90=E5=89=8D=E5=AF=BC=E8=87=B4=E7=9A=84=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=8A=A8=E6=80=81viewAs=E5=9B=A0=E6=97=A0=E6=B3=95=E8=8E=B7?= =?UTF-8?q?=E5=8F=96cards=E6=8A=A5=E9=94=99=E7=9A=84=E6=8A=80=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/extra.js | 38 +++++++++++++------------ character/refresh.js | 16 ++++++----- character/sp.js | 67 +++++--------------------------------------- 3 files changed, 36 insertions(+), 85 deletions(-) diff --git a/character/extra.js b/character/extra.js index 0e38c614e..f7461e334 100755 --- a/character/extra.js +++ b/character/extra.js @@ -6835,17 +6835,18 @@ game.import('character',function(lib,game,ui,get,ai,_status){ prompt:'将♦牌当做杀,♥牌当做桃,♣牌当做闪,♠牌当做无懈可击使用或打出', //动态的viewAs viewAs(cards,player){ - var name=false; - var nature=null; - //根据选择的卡牌的花色 判断要转化出的卡牌是闪还是火杀还是无懈还是桃 - switch(get.suit(cards[0],player)){ - case 'club':name='shan';break; - case 'diamond':name='sha';nature='fire';break; - case 'spade':name='wuxie';break; - case 'heart':name='tao';break; + if(cards.length){ + var name=false,nature=null; + //根据选择的卡牌的花色 判断要转化出的卡牌是闪还是火杀还是无懈还是桃 + switch(get.suit(cards[0],player)){ + case 'club':name='shan';break; + case 'diamond':name='sha';nature='fire';break; + case 'spade':name='wuxie';break; + case 'heart':name='tao';break; + } + //返回判断结果 + if(name) return {name:name,nature:nature}; } - //返回判断结果 - if(name) return {name:name,nature:nature}; return null; }, //AI选牌思路 @@ -6996,15 +6997,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ enable:['chooseToUse','chooseToRespond'], prompt:'将♦手牌当做火【杀】,♥手牌当做【桃】,♣手牌当做【闪】,♠手牌当做【无懈可击】使用或打出', viewAs(cards,player){ - var name=false; - var nature=null; - switch(get.suit(cards[0],player)){ - case 'club':name='shan';break; - case 'diamond':name='sha';nature='fire';break; - case 'spade':name='wuxie';break; - case 'heart':name='tao';break; + if(cards.length){ + var name=false,nature=null; + switch(get.suit(cards[0],player)){ + case 'club':name='shan';break; + case 'diamond':name='sha';nature='fire';break; + case 'spade':name='wuxie';break; + case 'heart':name='tao';break; + } + if(name) return {name:name,nature:nature}; } - if(name) return {name:name,nature:nature}; return null; }, check(card){ diff --git a/character/refresh.js b/character/refresh.js index ed07c2251..3d32fdc5f 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -8698,14 +8698,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ position:'hs', prompt:'将杀当做闪,或将闪当做杀,或将桃当做酒,或将酒当做桃使用或打出', viewAs:function(cards,player){ - var name=false; - switch(get.name(cards[0],player)){ - case 'sha':name='shan';break; - case 'shan':name='sha';break; - case 'tao':name='jiu';break; - case 'jiu':name='tao';break; + if(cards.length){ + var name=false; + switch(get.name(cards[0],player)){ + case 'sha':name='shan';break; + case 'shan':name='sha';break; + case 'tao':name='jiu';break; + case 'jiu':name='tao';break; + } + if(name) return {name:name}; } - if(name) return {name:name}; return null; }, check:function(card){ diff --git a/character/sp.js b/character/sp.js index 5413f32c9..2fc099bbc 100755 --- a/character/sp.js +++ b/character/sp.js @@ -18212,60 +18212,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, sha:{ audio:'fanghun', + inherit:'ollongdan', enable:['chooseToUse','chooseToRespond'], prompt:'弃置一枚【梅影】标记,将杀当做闪,或将闪当做杀,或将桃当做酒,或将酒当做桃使用或打出', - viewAs:function(cards,player){ - var name=false; - switch(get.name(cards[0],player)){ - case 'sha':name='shan';break; - case 'shan':name='sha';break; - case 'tao':name='jiu';break; - case 'jiu':name='tao';break; - } - if(name) return {name:name}; - return null; - }, - position:'hs', - check:function(card){ - var player=_status.event.player; - if(_status.event.type=='phase'){ - var max=0; - var name2; - var list=['sha','tao','jiu']; - var map={sha:'shan',tao:'jiu',jiu:'tao'} - for(var i=0;i(name=='jiu'?1:0)&&player.getUseValue({name:name})>0){ - var temp=get.order({name:name}); - if(temp>max){ - max=temp; - name2=map[name]; - } - } - } - if(name2==get.name(card,player)) return 1; - return 0; - } - return 1; - }, - filterCard:function(card,player,event){ - event=event||_status.event; - var filter=event._backup.filterCard; - var name=get.name(card,player); - if(name=='sha'&&filter({name:'shan',cards:[card]},player,event)) return true; - if(name=='shan'&&filter({name:'sha',cards:[card]},player,event)) return true; - if(name=='tao'&&filter({name:'jiu',cards:[card]},player,event)) return true; - if(name=='jiu'&&filter({name:'tao',cards:[card]},player,event)) return true; - return false; - }, filter:function(event,player){ - if(!player.storage.fanghun||player.storage.fanghun<=0) return false; - var filter=event.filterCard; - if(filter(get.autoViewAs({name:'sha'},'unsure'),player,event)&&player.countCards('hs','shan')) return true; - if(filter(get.autoViewAs({name:'shan'},'unsure'),player,event)&&player.countCards('hs','sha')) return true; - if(filter(get.autoViewAs({name:'jiu'},'unsure'),player,event)&&player.countCards('hs','jiu')) return true; - if(filter(get.autoViewAs({name:'tao'},'unsure'),player, event)&&player.countCards('hs','tao')) return true; - return false; + return player.hasMark('fanghun')&&get.info('ollongdan').filter(event,player); }, onrespond:function(){return this.onuse.apply(this,arguments)}, onuse:function(result,player){ @@ -18275,15 +18226,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ respondSha:true, respondShan:true, skillTagFilter:function(player,tag){ - if(!player.storage.fanghun||player.storage.fanghun<0) return false; - var name; - switch(tag){ - case 'respondSha':name='shan';break; - case 'respondShan':name='sha';break; - } - if(!player.countCards('hs',name)) return false; + if(!player.hasMark('fanghun')) return false; + return get.info('ollongdan').ai.skillTagFilter(player,tag); }, order:function(item,player){ + const awakened=Object.keys(player.storage).some(i=>i.indexOf('fuhan')!=-1); if(player&&_status.event.type=='phase'){ var max=0; var list=['sha','tao','jiu']; @@ -18295,11 +18242,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(temp>max) max=temp; } } - if(max>0) max+=((player.storage.refuhan||player.storage.twfuhan)?0.3:-0.3); + if(max>0) max+=(awakened?0.3:-0.3); return max; } if(!player) player=_status.event.player; - return (player.storage.refuhan||player.storage.twfuhan)?4:1; + return awakened?4:1; }, }, }, From 9173c416846b66aa3c6510d002beea1e0ce0fb8e Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Sat, 9 Mar 2024 15:00:23 +0800 Subject: [PATCH 3/3] minor fix --- character/sp.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/character/sp.js b/character/sp.js index 2fc099bbc..92cbbdf70 100755 --- a/character/sp.js +++ b/character/sp.js @@ -18230,7 +18230,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return get.info('ollongdan').ai.skillTagFilter(player,tag); }, order:function(item,player){ - const awakened=Object.keys(player.storage).some(i=>i.indexOf('fuhan')!=-1); + const awakened=Object.keys(player.storage).some(i=>typeof i=='string'&&i.indexOf('fuhan')!=-1); if(player&&_status.event.type=='phase'){ var max=0; var list=['sha','tao','jiu']; @@ -27571,8 +27571,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olgangshu_info:'①当你使用非基本牌结算结束后,你可以令以下一项数值+1(每项至多加至5):1.攻击范围;2.受〖刚述〗影响的下个摸牌阶段摸牌数;3.使用【杀】的次数上限。②当有牌被你抵消后,重置你〖刚述①〗增加的所有数值。', oljianxuan:'谏旋', oljianxuan_info:'当你受到伤害后,你可以令一名角色摸一张牌,然后若其手牌数等于你〖刚述①〗中的任意一项对应的数值,其重复此流程。', - ol_pengyang:'OL彭羕', - ol_pengyang_prefix:'OL', + ol_pengyang:'彭羕', olqifan:'嚣翻', olqifan_info:'当你需要使用不为【无懈可击】的牌时,你可以观看牌堆底的X+1张牌并使用其中的一张。此牌结算结束时,你依次弃置以下前X个区域中的所有牌:⒈判定区、⒉装备区、⒊手牌区(X为本回合使用过的牌中包含的类型数)。', oltuishi:'侻失',