From ea34e08d4f5f3e649184e55dd02a4b4df54d5010 Mon Sep 17 00:00:00 2001 From: 157 <3619242020@qq.com> Date: Mon, 4 Mar 2024 10:45:08 +0800 Subject: [PATCH 01/49] =?UTF-8?q?=E7=BB=86=E8=8A=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/ddd.js | 8 ++++++- character/diy.js | 2 +- character/huicui.js | 2 +- character/mobile.js | 50 +++++++++++++++++++++---------------------- character/sb.js | 2 +- character/shenhua.js | 2 +- character/tw.js | 2 +- character/xianding.js | 27 +++++++++++++++++++---- character/xianjian.js | 4 ++-- character/yijiang.js | 2 +- mode/guozhan.js | 8 +++---- mode/identity.js | 42 ++++++++++++++++++------------------ 12 files changed, 88 insertions(+), 63 deletions(-) diff --git a/character/ddd.js b/character/ddd.js index 515e2ee68..b437eb13f 100644 --- a/character/ddd.js +++ b/character/ddd.js @@ -2031,7 +2031,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(trigger.targets&&trigger.targets.length){ let result=yield player.chooseControl(['额外结算','摸一张牌']).set('prompt','实荐:请选择一项').set('prompt2',`令${get.translation(trigger.card)}额外结算一次,或摸一张牌`).set('ai',()=>{ return get.event('choice'); - }).set('choice',['basic','trick'].includes(get.type(trigger.card))&&trigger.targets.map(i=>get.effect(i,trigger.card,target,player)).reduce((p,c)=>p+c,0)>=5?0:1); + }).set('choice',function(){ + if(trigger.card.name==='tiesuo'||!['basic','trick'].includes(get.type(trigger.card))) return 1; + if(trigger.targets.reduce((p,c)=>{ + return p+get.effect(c,trigger.card,target,_status.event.player); + },0)>=get.effect(player,{name:'draw'},player,_status.event.player)) return 0; + return 1; + }()); if(result.index==0){ trigger.getParent().effectCount++; game.log(player,'令',trigger.card,'额外结算一次'); diff --git a/character/diy.js b/character/diy.js index 3efeaaff6..9c060b60e 100755 --- a/character/diy.js +++ b/character/diy.js @@ -14594,7 +14594,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(event.current.needsToDiscard()){ att=1; } - player.chooseControlList(['令'+name+'摸一张牌展示','令'+name+'手牌上永久+1','弃置一张牌并令'+name+'获得一张本回进入弃牌堆的牌'],function(){ + player.chooseControlList(['令'+name+'摸一张牌展示','令'+name+'手牌上永久+1','弃置一张牌并令'+name+'获得一张本回合进入弃牌堆的牌'],function(){ return _status.event.att; }).set('att',att); } diff --git a/character/huicui.js b/character/huicui.js index 307c9dae0..783493b81 100644 --- a/character/huicui.js +++ b/character/huicui.js @@ -1830,7 +1830,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ let result; if(_status.connectMode) game.broadcastAll(()=>{_status.noclearcountdown=true}); if(choices.length==1) result={control:choices[0]}; - else result=yield player.chooseControl(choices,'cancel2').set('choiceList',choiceList).set('prompt',get.prompt('dcxunjie')).set('ai',()=>{ + else result=yield player.chooseControl(choices,'cancel2').set('choiceList',choiceList).set('prompt',get.prompt('dcxunjie')).set('ai',()=>{ return get.event('choice'); }).set('choice',(()=>{ const getValue=(index,target)=>{ diff --git a/character/mobile.js b/character/mobile.js index 53a3a3fce..d9b5283ae 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -5733,7 +5733,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var num=0; for(var i of cards) num+=get.number(i,player); num=num%13; - if(num==0) num=13; + if(num==0) num=13; var card=get.cardPile2(function(card){ return get.number(card,false)==num; }); @@ -14293,34 +14293,34 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, filter:function(event,player){ if(!player.storage.yizan&&player.countCards('hes')<2) return false; - if(!player.hasCard(function(card){ - return get.type(card)=='basic'; - },'hs')) return false; - for(var name of lib.inpile){ - if(get.type(name)!='basic') continue; - if(event.filterCard(get.autoViewAs({name},'unsure'),player,event)) return true; - if(name=='sha'){ - for(var nature of lib.inpile_nature){ - if(event.filterCard(get.autoViewAs({name,nature},'unsure'),player,event)) return true; - } - } - } + if(!player.hasCard(function(card){ + return get.type(card)=='basic'; + },'hs')) return false; + for(var name of lib.inpile){ + if(get.type(name)!='basic') continue; + if(event.filterCard(get.autoViewAs({name},'unsure'),player,event)) return true; + if(name=='sha'){ + for(var nature of lib.inpile_nature){ + if(event.filterCard(get.autoViewAs({name,nature},'unsure'),player,event)) return true; + } + } + } return false; }, chooseButton:{ dialog:function(event,player){ var list=[]; - for(var name of lib.inpile){ - if(get.type(name)!='basic') continue; - if(event.filterCard(get.autoViewAs({name},'unsure'),player,event)){ - list.push(['基本','',name]); - } - if(name=='sha'){ - for(var nature of lib.inpile_nature){ - if(event.filterCard(get.autoViewAs({name,nature},'unsure'),player,event)) list.push(['基本','','sha',nature]); - } - } - } + for(var name of lib.inpile){ + if(get.type(name)!='basic') continue; + if(event.filterCard(get.autoViewAs({name},'unsure'),player,event)){ + list.push(['基本','',name]); + } + if(name=='sha'){ + for(var nature of lib.inpile_nature){ + if(event.filterCard(get.autoViewAs({name,nature},'unsure'),player,event)) list.push(['基本','','sha',nature]); + } + } + } return ui.create.dialog('翊赞',[list,'vcard'],'hidden'); }, check:function(button){ @@ -15664,7 +15664,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sunru:['dc_sunru','sunru'], liuye:['dc_liuye','liuye'], zhaotongzhaoguang:['dc_zhaotongzhaoguang','zhaotongzhaoguang'], - yangbiao:['yangbiao','dc_yangbiao','jsrg_yangbiao'], + yangbiao:['yangbiao','dc_yangbiao','jsrg_yangbiao'], qiaozhou:['yj_qiaozhou','qiaozhou'], sunhanhua:['dc_sunhanhua','sunhanhua'], zhoubuyi:['zhoubuyi','yj_zhoubuyi'], diff --git a/character/sb.js b/character/sb.js index 4223c5cf9..0927c735a 100644 --- a/character/sb.js +++ b/character/sb.js @@ -1141,7 +1141,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }); if(!target){ event.finish(); - return; + return; } event.target=target; player.logSkill('sbqicai_gain',target); diff --git a/character/shenhua.js b/character/shenhua.js index 7372f033a..65daf1e5a 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -7640,7 +7640,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 3' game.delayx(); game.broadcastAll(function(onEnd){ - _status.event.onEnd01=onEnd; + _status.event.onEnd01=onEnd; if(_status.guhuoNode) _status.guhuoNode.listenTransition(onEnd,300); },event.onEnd01); 'step 4' diff --git a/character/tw.js b/character/tw.js index 72611083c..eed5598ab 100644 --- a/character/tw.js +++ b/character/tw.js @@ -15889,7 +15889,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twkujian_info:'出牌阶段限一次。你可以将至多三张手牌交给一名其他角色,称为“谏”,你获得以下效果:当其他角色使用或打出牌后,若其中有“谏”,你与其各摸一张牌;当其他角色不因使用或打出而失去牌后,若其中有“谏”,你与其各弃置一张牌。', twruilian:'睿敛', twruilian2:'睿敛', - twruilian_info:'一轮游戏开始时,你可以选择一名角色。其下回合结束时,若其本回弃置过至少两张其的牌,你可以选择其本回合弃置过的一种类别,你与其各从弃牌堆中获得一张此类别的牌。', + twruilian_info:'一轮游戏开始时,你可以选择一名角色。其下回合结束时,若其本回合弃置过至少两张牌,你可以选择其本回合弃置过的一种类别,你与其各从弃牌堆中获得一张此类别的牌。', tw_xiahouen:'夏侯恩', twfujian:'负剑', twfujian_info:'锁定技。①游戏开始时或准备阶段,若你的装备区里没有武器牌,你随机将牌堆中的一张武器牌置入装备区。②当你于回合外失去武器牌后,你失去1点体力。', diff --git a/character/xianding.js b/character/xianding.js index cba10ea68..03fe58fe8 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -154,10 +154,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ai:{ order:9, result:{ - player:1, + player:function(player,target){ + if(player.storage.dcsbquanmou) return 1; + return 1+game.countPlayer(i=>player!==i&&target!==i&&!i.hasSkill('false_mark')&&get.attitude(player,i)<0); + }, target:function(player,target){ - if(!player.storage.dcsbquanmou) return 1.2; - return -0.2; + let res=target.hasSkillTag('noh')?0:-1; + if(player.storage.dcsbquanmou) return res+0.6; + return res; }, }, }, @@ -218,6 +222,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, ai:{ threaten:2.5, + effect:{ + target(card,player,target){ + if(get.tag(card,'damage')&&player&&player.hasSkill('dcsbquanmou_true')){ + let tars=game.countPlayer(i=>player!==i&&target!==i&&get.damageEffect(i,player,player)>0); + return [1,0,1,6*Math.min(3,tars)/(3+Math.pow(target.countCards('h'),2))]; + } + } + } }, }, false:{ @@ -253,10 +265,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, ai:{ - filterDamage:true, + nodamage:true, + nofire:true, + nothunder:true, skillTagFilter(player,tag,arg){ return (arg&&arg.player&&arg.player.hasSkill('dcsbquanmou_false')); }, + effect:{ + target(card,player,target){ + if(get.tag(card,'damage')&&player&&player.hasSkill('dcsbquanmou_false')) return 'zeroplayertarget'; + } + } }, }, }, diff --git a/character/xianjian.js b/character/xianjian.js index b4889de9c..e4aca3408 100644 --- a/character/xianjian.js +++ b/character/xianjian.js @@ -4342,8 +4342,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ longxi2:'龙息', longxi_info:'锁定技,在回合外每当你需要使用或打出一张卡牌时,若牌堆顶的前两张中有可使用或打出的牌,你立即获得之。', zhuyue:'逐月', - zhuyue_info:'出牌阶段限一次,你可以弃置一张非基本牌并指定至多两个目标各随机弃置一张牌,若如此做,你本回使用的杀须指定选中角色为目标。', - zhuyue_info_alter:'出牌阶段限一次,你可以弃置一张黑色非基本牌并指定至多两个目标各随机弃置一张牌,若如此做,你本回使用的杀须指定选中角色为目标。', + zhuyue_info:'出牌阶段限一次,你可以弃置一张非基本牌并指定至多两个目标各随机弃置一张牌,若如此做,你本回合使用的杀须指定选中角色为目标。', + zhuyue_info_alter:'出牌阶段限一次,你可以弃置一张黑色非基本牌并指定至多两个目标各随机弃置一张牌,若如此做,你本回合使用的杀须指定选中角色为目标。', guanri:'贯日', guanri_info:'限制技,你可以弃置两张红色手牌并失去1点体力,然后对一名体力值不少于你的其他角色造成2点火焰伤害并弃置其所有装备牌。', tianxian:'天弦', diff --git a/character/yijiang.js b/character/yijiang.js index ec53d0cb3..83c9ca693 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -13963,7 +13963,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ chengong:['chengong','re_chengong','sb_chengong'], xunyou:['xunyou','re_xunyou'], xuezong:['xuezong','tw_xuezong'], - huanghao:['huanghao','dc_huanghao','old_huanghao'], + huanghao:['huanghao','dc_huanghao','old_huanghao'], caorui:['caorui','re_caorui','old_caorui'], sunziliufang:['sunziliufang','dc_sunziliufang'], liyan:['liyan','old_liyan'], diff --git a/mode/guozhan.js b/mode/guozhan.js index 65688b013..9b0e6e035 100644 --- a/mode/guozhan.js +++ b/mode/guozhan.js @@ -10587,10 +10587,10 @@ return event.junling=='junling5'?1:0;}); if(huoshao&&player.inline(target.getNext())) return -3; if(target.isUnseen()) return 0; if(player.isMajor()) return 0; - if(!player.isMajor()&&huoshao&&player.getNext().isMajor()) return -2; - if(!player.isMajor()&&huoshao&&player.getNext().isMajor()&&player.getNext().getNext().isMajor()) return -3; - if(!player.isMajor()&&huoshao&&!target.isMajor()&&target.getNext().isMajor()&&target.getNext().getNext().isMajor()) return 3; - if(!player.isMajor()&&huoshao&&!target.isMajor()&&target.getNext().isMajor()) return 1.5; + if(!player.isMajor()&&huoshao&&player.getNext().isMajor()) return -2; + if(!player.isMajor()&&huoshao&&player.getNext().isMajor()&&player.getNext().getNext().isMajor()) return -3; + if(!player.isMajor()&&huoshao&&!target.isMajor()&&target.getNext().isMajor()&&target.getNext().getNext().isMajor()) return 3; + if(!player.isMajor()&&huoshao&&!target.isMajor()&&target.getNext().isMajor()) return 1.5; return 1; }, target:function(player,target){ diff --git a/mode/identity.js b/mode/identity.js index fe6fd96bd..9e1e30cc2 100644 --- a/mode/identity.js +++ b/mode/identity.js @@ -580,7 +580,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ case 'fan':list[i]='反贼';break; case 'zhong':list[i]='忠臣';break; case 'nei':list[i]='内奸';break; - case 'commoner':list[i]='平民'; break; + case 'commoner':list[i]='平民'; break; case 'zhu':list[i]='主公';break; case 'enemy':list[i]='敌方';break; case 'friend':list[i]='友方';break; @@ -737,7 +737,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ switch(me.identity){ case 'fan':game.over(false);break; case 'zhong':game.over(true);break; - case 'commoner':game.over(true); break; + case 'commoner':game.over(true); break; default:game.over();break; } } @@ -745,7 +745,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ switch(me.identity){ case 'fan':game.over(true);break; case 'zhong':game.over(false);break; - case 'commoner':game.over(true); break; + case 'commoner':game.over(true); break; default:game.over();break; } } @@ -765,7 +765,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } } else if(me.identity=='nei'){ - if(game.players.length==(1+game.players.filter(i=>i.identity=='commoner').length)&&me.isAlive()){ + if(game.players.length==(1+game.players.filter(i=>i.identity=='commoner').length)&&me.isAlive()){ game.over(true); } else{ @@ -781,8 +781,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ game.over(false); } } - else if(me.identity=='commoner'){ - game.over(true); + else if(me.identity=='commoner'){ + game.over(true); } }, checkOnlineResult:function(player){ @@ -794,7 +794,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(game.zhu.isAlive()){ return (player.identity=='zhu'||player.identity=='zhong'||player.identity=='mingzhong'||player.identity=='commoner'&&player.isAlive()); } - else if(game.players.length==(1+game.players.filter(i=>i.identity=='commoner').length)&&game.players[0].identity=='nei'||game.players[0].identity=='commoner'){ + else if(game.players.length==(1+game.players.filter(i=>i.identity=='commoner').length)&&game.players[0].identity=='nei'||game.players[0].identity=='commoner'){ return player.isAlive(); } else{ @@ -1568,9 +1568,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ link=['zhu','zhong','nei','fan','mingzhong'].randomGet(); } else{ - var listi=['zhu','zhong','nei','fan']; - if(get.config('enable_commoner')&&!event.stratagemMode) listi.push('commoner'); - link=listi.randomGet(); + var listi=['zhu','zhong','nei','fan']; + if(get.config('enable_commoner')&&!event.stratagemMode) listi.push('commoner'); + link=listi.randomGet(); } for(var i=0;i Date: Mon, 4 Mar 2024 11:47:53 +0800 Subject: [PATCH 02/49] =?UTF-8?q?bugfix+=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/clan.js | 4 +-- character/onlyOL.js | 47 ++++++++++++++++++++++++++--------- image/character/ol_feiyi.jpg | Bin 47313 -> 48037 bytes noname/ui/create/index.js | 2 +- 4 files changed, 38 insertions(+), 15 deletions(-) diff --git a/character/clan.js b/character/clan.js index aa012aef0..f330b635b 100644 --- a/character/clan.js +++ b/character/clan.js @@ -487,8 +487,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var player=_status.event.player; var num=_status.event.num; var num2=player.getDamagedHp(); - if(num>num2) return 7-get.value(card); - if(num==num2) return lib.skill.zhiheng.check(card); + if(num=(2+num-num2)) return lib.skill.zhiheng.check(card); return 0; }).set('num',num).logSkill='clanxieshu'; 'step 1' diff --git a/character/onlyOL.js b/character/onlyOL.js index 5fdc94d4f..487607a1d 100644 --- a/character/onlyOL.js +++ b/character/onlyOL.js @@ -30,6 +30,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ fullskin:true, type:'equip', subtype:'equip1', + onLose(){ + if(!lib.card.sizhaojian.inShanShanFestival()){ + card.fix(); + card.remove(); + card.destroyed=true; + game.log(card,'被销毁了'); + } + }, + inShanShanFestival(){ + //闪闪节外离开装备区会销毁 + const date=new Date(); + return date.getMonth()+1==3&&date.getDate()>=2&&date.getDate()<=15; + }, distance:{attackFrom:-1}, ai:{basic:{equipValue:7}}, skills:['olsbyufeng_sizhaojian'], @@ -164,16 +177,21 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player:'enterGame', }, filter(event,player){ - if(get.cardPile('sizhaojian','field')||lib.inpile.includes('sizhaojian')) return false; - return (event.name!='phase'||game.phaseNumber==0)&&player.hasEquipableSlot(1); + const card=get.cardPile('sizhaojian','field')||game.createCard2('sizhaojian','diamond',6); + return (event.name!='phase'||game.phaseNumber==0)&&player.canEquip(card,true); }, forced:true, locked:false, async content(event,trigger,player){ - game.broadcastAll(()=>lib.inpile.add('sizhaojian')); - const card=game.createCard2('sizhaojian','diamond',6); - player.$gain2(card,false); - game.delayx(); + if(lib.card.sizhaojian.inShanShanFestival()){ + game.broadcastAll(()=>lib.inpile.add('sizhaojian')); + } + const card=get.cardPile('sizhaojian','field')||game.createCard2('sizhaojian','diamond',6); + if(get.owner(card)) get.owner(card).$give(card,player,false); + else{ + player.$gain2(card,false); + game.delayx(); + } player.equip(card); }, subSkill:{ @@ -237,9 +255,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, trigger:{global:['loseAfter','equipAfter','addJudgeAfter','gainAfter','loseAsyncAfter','addToExpansionAfter']}, filter(event,player){ - if(!player.hasEquipableSlot(1)||player.getEquip(1)||player.getEquip('sizhaojian')) return false; - const card=get.cardPile('sizhaojian','field'); - if(!card||!player.canEquip(card,true)) return false; + if(player.getEquip(1)) return false; + const card=get.cardPile('sizhaojian','field')||game.createCard2('sizhaojian','diamond',6); + if(!player.canEquip(card,true)) return false; return game.hasPlayer(target=>{ if(target==player||target.group!='qun') return false; const evt=event.getl(target); @@ -254,12 +272,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ const evt=trigger.getl(target); return evt&&evt.player==target&&evt.es&&evt.es.length>0; }).sortBySeat(); - const card=get.cardPile('sizhaojian','field'); + const card=get.cardPile('sizhaojian','field')||game.createCard2('sizhaojian','diamond',6); for(const target of targets){ const {result:{bool}}=await target.chooseBool(get.prompt('olsbshishou',player),'将'+get.translation(card)+'置入'+get.translation(player)+'的装备区中').set('choice',get.attitude(target,player)>0); if(bool){ target.logSkill('olsbshishou',player); if(get.owner(card)) get.owner(card).$give(card,player,false); + else{ + player.$gain2(card,false); + game.delayx(); + } player.equip(card); break; } @@ -1027,11 +1049,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olsbyufeng:'玉锋', olsbyufeng_sizhaojian:'思召剑', olsbyufeng_block:'思召剑', - olsbyufeng_info:'游戏开始时,若【思召剑】未加入本局游戏,若你可装备【思召剑】,则你将【思召剑】置入装备区。', + olsbyufeng_info:'游戏开始时,你将【思召剑】置入装备区。', sizhaojian:'思召剑', sizhaojian_info:'当你使用有点数的【杀】指定目标后,你令目标角色只能使用无点数或点数大于等于此【杀】的【闪】响应此牌。', + sizhaojian_append:'【思召剑】于闪闪节(3月2日-3月15日)外离开装备区后,销毁此牌', olsbshishou:'士首', - olsbshishou_info:'主公技,其他群势力角色失去装备区的牌后,若你的装备区中没有武器牌,且【思召剑】存在于场上/牌堆/弃牌堆中,其可令你将【思召剑】置入装备区。', + olsbshishou_info:'主公技,其他群势力角色失去装备区的牌后,若你的装备区中没有武器牌,其可将【思召剑】置入你的装备区。', onlyOL_yijiang1:'OL专属·将1', onlyOL_yijiang2:'OL专属·将2', diff --git a/image/character/ol_feiyi.jpg b/image/character/ol_feiyi.jpg index 0f50f7decce486f08f6e74bb5e0bb5a76b3146fa..9bb706d813c0283200b91ca0bea845892cb28d38 100644 GIT binary patch literal 48037 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 literal 47313 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%0AH$v#@ol72PpN5FQ4k38rbJ=wh9HXb3(p35cI?+4 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 XsNrNCzY+Ya+{>%-NyU|9)tUd Date: Mon, 4 Mar 2024 11:49:27 +0800 Subject: [PATCH 03/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E3=80=90=E6=BA=83?= =?UTF-8?q?=E5=87=BB=E3=80=91=E6=97=A0=E6=B3=95=E6=89=A7=E8=A1=8C=E5=9B=9E?= =?UTF-8?q?=E8=A1=80=E6=95=88=E6=9E=9C=E7=9A=84bug=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96ai?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/xianding.js | 69 +++++++++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 22 deletions(-) diff --git a/character/xianding.js b/character/xianding.js index 03fe58fe8..fe99eac88 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -13435,8 +13435,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.draw(); 'step 1' var next=player.chooseTarget().set('ai',function(target){ - var player=_status.event.player; - return get.damageEffect(target,player,player) + let player=_status.event.player; + if(target.hasSkillTag('filterDamage',null,{ + player:player + },true)) return get.damageEffect(target,player,player); + return 2*get.damageEffect(target,player,player); }); if(!['identity','guozhan'].includes(get.mode())){ next.set('prompt','选择一名体力值最大的敌方角色,对其造成2点伤害'); @@ -13464,9 +13467,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ai:{ result:{ target:function(player,target){ - if(!['identity','guozhan'].includes(get.mode())) return 1; - var target=game.filterPlayer(i=>i!=player).sort((a,b)=>b.hp-a.hp)[0]; - return target&&get.damageEffect(target,player,player)>0?1:0; + let es; + if(['identity','guozhan'].includes(get.mode())) es=game.hasPlayer(i=>{ + return i!=player&&!game.hasPlayer(j=>{ + return player!==j&&j.hp>i.hp; + })&&get.attitude(player,i)<0; + }); + else es=game.hasPlayer(i=>{ + return i.isEnemyOf(player)&&!game.hasPlayer(j=>{ + return j.hp>i.hp&&j.isEnemyOf(player); + })&&get.attitude(player,i)<0; + }); + if(es) return 2; + return -1.5; }, }, order:12, @@ -13475,26 +13488,38 @@ game.import('character',function(lib,game,ui,get,ai,_status){ subSkill:{ dying:{ trigger:{global:'dying'}, - forced:true, - popup:false, filter:function(event,player){ - var evt=event.getParent(2); - if(!evt||evt.name!='kuiji_content'||evt.player!=player) return false; - var list=game.filterPlayer(function(current){ - return current.isFriendOf(player); - }).sort(function(a,b){ - return a.hp-b.hp; - }); - return (list.length==1||list[0].hp{ + return current!==trigger.player&&!game.hasPlayer(i=>{ + return trigger.player!==i&&i.hpi.isDamaged()); + else list=game.filterPlayer(current=>{ + return current.isFriendOf(player)&&!game.hasPlayer(i=>{ + return i.hpi.isDamaged()); + if(list.length>1) player.chooseTarget('溃击:选择一名角色回复1点体力',(card,player,target)=>{ + return _status.event.list.includes(target); + },true).set('list',list).set('ai',target=>{ + return get.recoverEffect(target,player,_status.event.player); + }); + else if(list.length) event._result={bool:true,targets:list}; + else event._result={bool:false}; + 'step 1' + if(result.bool){ + let target=result.targets[0]; + player.logSkill('kuiji',target); + target.recover(); + } }, }, }, From 46373d27f8306ac7bf0d1dcc2216371cb8651dcc Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Mon, 4 Mar 2024 12:17:00 +0800 Subject: [PATCH 04/49] =?UTF-8?q?lib.card.sizhaojian.onLose()=E2=86=92get?= =?UTF-8?q?=20destroy()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/onlyOL.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/character/onlyOL.js b/character/onlyOL.js index 487607a1d..b642d806e 100644 --- a/character/onlyOL.js +++ b/character/onlyOL.js @@ -30,13 +30,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ fullskin:true, type:'equip', subtype:'equip1', - onLose(){ - if(!lib.card.sizhaojian.inShanShanFestival()){ - card.fix(); - card.remove(); - card.destroyed=true; - game.log(card,'被销毁了'); - } + get destroy(){ + return !lib.card.sizhaojian.inShanShanFestival(); }, inShanShanFestival(){ //闪闪节外离开装备区会销毁 From 4f7227aeb9f1affd3ac8b538675884bff8ac5f7a Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Mon, 4 Mar 2024 20:43:13 +0800 Subject: [PATCH 05/49] =?UTF-8?q?=E5=88=A0=E9=99=A4=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/game/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/noname/game/index.js b/noname/game/index.js index 11d53ac10..0c20f0b62 100644 --- a/noname/game/index.js +++ b/noname/game/index.js @@ -6022,7 +6022,6 @@ export class Game extends Uninstantable { const players = game.players.slice(); if (event.deadTarget) players.addArray(game.dead); const cards = player.getCards(event.position); - const range = get.select(event.selectCard); const isSelectable = card => { if (card.classList.contains('uncheck')) return false; if (player.isOut()) return false; From 56028b8a60719af2bfae8aaaebe4d5a984446852 Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Mon, 4 Mar 2024 22:48:02 +0800 Subject: [PATCH 06/49] bugfix --- noname/game/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noname/game/index.js b/noname/game/index.js index 0c20f0b62..1276645d7 100644 --- a/noname/game/index.js +++ b/noname/game/index.js @@ -5874,7 +5874,7 @@ export class Game extends Uninstantable { return false; } - const useCache = !lib.config.compatiblemode && !event.skill + const useCache = !lib.config.compatiblemode && !event.skill && !event.multitarget && ['button', 'card', 'target'].every(type => { if (!event[`filter${uppercaseType(type)}`]) return true; // if (typeof event[`select${uppercaseType(type)}`] === 'function') return false; From 05cbfa670124dc54ea7302375add756d9f76ba23 Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Mon, 4 Mar 2024 23:19:32 +0800 Subject: [PATCH 07/49] =?UTF-8?q?uncheck=E5=A2=9E=E5=8A=A0hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/game/index.js | 91 ++++++++++++++++++++--------------------- noname/library/index.js | 2 + 2 files changed, 46 insertions(+), 47 deletions(-) diff --git a/noname/game/index.js b/noname/game/index.js index 1276645d7..ad7ebb1a9 100644 --- a/noname/game/index.js +++ b/noname/game/index.js @@ -6113,48 +6113,49 @@ export class Game extends Uninstantable { } } static uncheck(...args) { - let i, j; + const event = _status.event; + const players = game.players.slice(); + if (_status.event.deadTarget) players.addArray(game.dead); + game.callHook("uncheckBegin", [event]); if (game.chess) { let shadows = ui.chessContainer.getElementsByClassName('playergrid temp'); - while (shadows.length) { - shadows[0].remove(); - } + while (shadows.length) shadows[0].remove(); } - if ((args.length == 0 || args.includes('card')) && _status.event.player) { - let cards = _status.event.player.getCards('hejsx'); - for (j = 0; j < cards.length; j++) { - cards[j].classList.remove('selected'); - cards[j].classList.remove('selectable'); - if (cards[j]._tempName) { - cards[j]._tempName.delete(); - delete cards[j]._tempName; - } - cards[j].updateTransform(); - } - ui.selected.cards.length = 0; - _status.event.player.node.equips.classList.remove('popequip'); - } - let players = game.players.slice(0); - if (_status.event.deadTarget) players.addArray(game.dead); - if ((args.length == 0 || args.includes('target'))) { - for (j = 0; j < players.length; j++) { - players[j].classList.remove('selected'); - players[j].classList.remove('selectable'); - if (players[j].instance) { - players[j].instance.classList.remove('selected'); - players[j].instance.classList.remove('selectable'); - } - } - ui.selected.targets.length = 0; - } - if ((args.length == 0 || args.includes('button')) && _status.event.dialog && _status.event.dialog.buttons) { - for (let j = 0; j < _status.event.dialog.buttons.length; j++) { - _status.event.dialog.buttons[j].classList.remove('selectable'); - _status.event.dialog.buttons[j].classList.remove('selected'); - } + if (args.length === 0) args = ['button', 'card', 'target']; + _status.event.player.node.equips.classList.remove('popequip'); + + if (args.includes('button') && event.dialog && event.dialog.buttons) { + event.dialog.buttons.forEach(button => { + button.classList.remove('selectable'); + button.classList.remove('selected'); + }); ui.selected.buttons.length = 0; } - if (args.length == 0) { + if (args.includes('card') && event.player) { + const cards = event.player.getCards('hejsx'); + cards.forEach(card => { + card.classList.remove('selected'); + card.classList.remove('selectable'); + if (card._tempName) { + card._tempName.delete(); + delete card._tempName; + } + card.updateTransform(); + }); + ui.selected.cards.length = 0; + } + if (args.includes('target')) { + players.forEach(target => { + target.classList.remove('selected'); + target.classList.remove('selectable'); + if (target.instance) { + target.instance.classList.remove('selected'); + target.instance.classList.remove('selectable'); + } + }); + ui.selected.targets.length = 0; + } + if (args.length === 3) { ui.arena.classList.remove('selecting'); ui.arena.classList.remove('tempnoe'); _status.imchoosing = false; @@ -6162,20 +6163,16 @@ export class Game extends Uninstantable { _status.mousedragging = null; _status.mousedragorigin = null; - while (ui.touchlines.length) { - ui.touchlines.shift().delete(); - } + ui.touchlines.forEach(i => i.delete()); + ui.touchlines.length = 0; } ui.canvas.width = ui.arena.offsetWidth; ui.canvas.height = ui.arena.offsetHeight; - for (let i = 0; i < players.length; i++) { - players[i].unprompt(); - } - for (let i = 0; i < _status.dragline.length; i++) { - if (_status.dragline[i]) _status.dragline[i].remove(); - } - ui.arena.classList.remove('dragging'); + players.forEach(i => i.unprompt()); + _status.dragline.forEach(i => i && i.remove()); _status.dragline.length = 0; + ui.arena.classList.remove('dragging'); + game.callHook("uncheckEnd", [event]); } /** * @param { Player } player1 diff --git a/noname/library/index.js b/noname/library/index.js index f7ff023bb..8d3c74fcc 100644 --- a/noname/library/index.js +++ b/noname/library/index.js @@ -328,6 +328,8 @@ export class Library extends Uninstantable { //game.check美化 checkBegin: [], checkEnd: [], + uncheckBegin: [], + uncheckEnd: [], }; /** From 1936eb4cffe2aacb81401cfc4c1afd360d454412 Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Mon, 4 Mar 2024 23:38:28 +0800 Subject: [PATCH 08/49] =?UTF-8?q?=E5=A2=9E=E5=8A=A0lib.hooks=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/library/index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/noname/library/index.js b/noname/library/index.js index 8d3c74fcc..205cad988 100644 --- a/noname/library/index.js +++ b/noname/library/index.js @@ -146,6 +146,11 @@ export class Library extends Uninstantable { } //函数钩子 + /** + * 你可以往这里加入{钩子名:函数数组},并在数组里增加你的自定义函数 + * 这样当某个地方调用game.callHook(钩子名,[...函数参数])时,就会按顺序将对应数组中的每个函数运行一遍(传参为callHook的第二个参数)。 + * 你可以将hook机制类比为event.trigger(),但是这里只能放同步代码 + */ static hooks = { // 本体势力的颜色 addGroup: [(id, _short, _name, config) => { From 3b92a409be9c2970a33841cfc6c7d79983272d3b Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Tue, 5 Mar 2024 00:05:14 +0800 Subject: [PATCH 09/49] =?UTF-8?q?=E5=88=98=E7=A3=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/rank.js | 1 + character/sp.js | 71 ++++++++++++++++++++++++++++++++++++- image/character/liupan.jpg | Bin 0 -> 51860 bytes 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 image/character/liupan.jpg diff --git a/character/rank.js b/character/rank.js index a39d0f34b..8b92144e0 100644 --- a/character/rank.js +++ b/character/rank.js @@ -1039,6 +1039,7 @@ window.noname_character_rank={ 'jsrg_zhenji', 'junk_xuyou', 'sp_machao', + 'liupan', 'mengyou', 're_wenpin', 'yue_zhoufei', diff --git a/character/sp.js b/character/sp.js index 1e6a88331..f4c7ab696 100755 --- a/character/sp.js +++ b/character/sp.js @@ -18,7 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_zhongdan:["cuiyan","huangfusong"], sp_guozhan2:["sp_dongzhuo","liqueguosi","zhangren"], sp_others:["hanba","caiyang"], - sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_liwan','ol_liuyan','caoyu'], + sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_liwan','ol_liuyan','caoyu','liupan'], }, }, characterFilter:{ @@ -30,6 +30,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, character:{ + liupan:['male','qun',4,['olpijing']], guotu:['male','qun',3,['olqushi','olweijie']], ol_hujinding:['female','shu',3,['olqingyuan','olchongshen']], tianchou:['male','qun',4,['olshandao']], @@ -202,6 +203,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ luzhi:['male','wei',3,['qingzhong','weijing']] }, characterIntro:{ + liupan:'刘磐(生卒年不详),山阳高平人,荆州牧刘表从子。与南阳人黄忠共守长沙攸县。为人骁勇,数次为寇于艾、西安诸县。江东孙策于是分海昏、建昌为左右六县,以东莱太史慈为建昌都尉,治海昏,并督诸将共拒刘磐。于是刘磐绝迹不复为寇。', guotu:'郭图(?-205年),字公则,颍川(治今河南省禹州市)人。东汉末年袁绍帐下谋士。韩馥统冀州时,郭图与荀谌等人奉袁绍之命,说服韩馥让位。袁绍统一河北后,郭图与审配等人力劝袁绍统率大军攻打曹操。袁绍死后,袁尚继位。郭图与辛评为袁谭效力,挑唆袁谭攻击袁尚。建安十年(205年),郭图和袁谭一同被曹操所杀。', tianchou:'田畴(169年或170年-214年或216年),字子泰,东汉右北平郡无终人,东汉末年隐士。田畴好文习武。汉初平年间,其受刘虞派遣去长安,呈送指控公孙赞奏章,献帝大悦,封为骑都尉,田畴不受。携诏返回时,刘虞已被公孙所杀,田畴到刘墓祭拜,被公孙所提,不久释放。田畴回故乡后率家族及随从数百人隐居徐无山,致力农桑,数年间增至5000家。制定法条,兴建学校,一时民风良好,乌桓、鲜卑纷纷与其结交。汉建安二十年(207年),曹操北征乌桓,田畴请为向导。上徐无山、出卢龙、过平冈、登白狼堆、至柳城,曹军大胜,封田畴为亭侯,坚辞不受。曹念田功,四次封赏,终不受,乃拜为议郎。建安二十一年(216年),田畴去世。', liyi:'李异(生卒年不详),三国时期东吴将领。建安末,与谢旌率水陆三千,击破刘备军将领詹晏、陈凤。刘备领兵攻孙权时,李异与陆逊等人屯巫、秭归,为蜀将所破。黄武元年(222年),陆逊破刘备于猇亭,李异追踪蜀军,屯驻南山。清代学者赵一清认为此李异与刘璋部将李异为同一人。', @@ -708,6 +710,70 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, skill:{ + //刘磐 + olpijing:{ + audio:2, + trigger:{player:'useCardToPlayered'}, + filter(event,player){ + if(!game.hasPlayer(target=>target!=player&&!event.targets.includes(target)&&lib.filter.targetEnabled2(event.card,player,target))) return false; + return get.color(event.card)=='black'&&(event.card.name=='sha'||get.type(event.card)=='trick')&&event.targets.length==1; + }, + usable:1, + direct:true, + locked:false, + async content(event,trigger,player){ + const num=Math.max(1,player.getDamagedHp()); + const {result:{bool,targets}}=await player.chooseTarget(get.prompt('olpijing'),[1,num],(card,player,target)=>{ + const trigger=get.event().getTrigger(); + return target!=player&&!trigger.targets.includes(target)&&lib.filter.targetEnabled2(trigger.card,player,target); + }).set('ai',target=>{ + const player=get.event('player'),trigger=get.event().getTrigger(); + return get.effect(target,trigger.card,player,player)*(target.getStorage('olpijing_effect').includes(player)?2:1)+get.effect(target,{name:'shunshou_copy2'},player,player); + }).set('prompt2','令至多'+get.cnNumber(num)+'名角色成为'+get.translation(trigger.card)+'的目标并交给你一张牌'); + if(bool){ + player.logSkill('olpijing',targets); + trigger.targets.addArray(targets); + for(const target of targets){ + target.addSkill('olpijing_effect'); + target.markAuto('olpijing_effect',[player]); + await target.chooseToGive(player,'he',true,'披荆:交给'+get.translation(player)+'一张牌'); + } + } + else player.storage.counttrigger.olpijing--; + }, + subSkill:{ + effect:{ + charlotte:true, + onremove:true, + intro:{content:'使用的下一张基本牌或普通锦囊牌指定唯一目标时,可指定$为额外目标或摸一张牌'}, + trigger:{player:'useCardToPlayer'}, + filter(event,player){ + return (get.type(event.card)=='basic'||get.type(event.card)=='trick')&&event.targets.length==1; + }, + forced:true, + popup:false, + async content(event,trigger,player){ + const storage=player.getStorage('olpijing_effect'); + player.removeSkill('olpijing_effect'); + const {result:{bool,targets}}=await player.chooseTarget('披荆:请选择此牌的额外目标',[1,storage.length],(card,player,target)=>{ + const trigger=get.event().getTrigger(); + return !trigger.targets.includes(target)&&get.event('storage').includes(target)&&lib.filter.targetEnabled2(trigger.card,player,target); + }).set('prompt2','不选择的角色视为你选择摸牌项').set('ai',target=>{ + const player=get.event('player'),trigger=get.event().getTrigger(); + return get.effect(target,trigger.card,player,player)-get.effect(player,{name:'draw'},player,player); + }).set('storage',storage); + if(bool){ + player.line(targets); + trigger.targets.addArray(targets); + if(storage.length-targets.length>0){ + player.draw(storage.length-targets.length); + } + } + else player.draw(storage.length); + }, + }, + }, + }, //郭图 olqushi:{ audio:2, @@ -27392,6 +27458,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olqushi_info:'出牌阶段限一次,你可以摸一张牌,然后将一张手牌扣置于一名其他角色的武将牌上,称为“趋”。目标角色于其结束阶段移去武将牌上的所有“趋”,若其于本回合使用过与“趋”相同类别的牌,则你摸X张牌(X为其本回合使用牌指定过的目标数之和且至多为5)。', olweijie:'诿解', olweijie_info:'每回合限一次,你的回合外,当你需要使用或打出一张基本牌时,你可以弃置距离为1的一名角色的一张手牌,若此牌牌名与你需要使用或打出的牌的牌名相同,则视为你使用或打出之。', + liupan:'刘磐', + olpijing:'披荆', + olpijing_info:'每回合限一次,当你使用黑色【杀】或黑色普通锦囊牌指定唯一目标后,你可以令至多X名其他角色成为此牌的额外目标并依次交给你一张牌(X为你已损失的体力值且X至少为1)。这些角色下次使用基本牌或普通锦囊牌指定唯一目标时,其可令你成为此牌的额外目标或摸一张牌。', sp_tianji:'天极·皇室宗亲', sp_sibi:'四弼·辅国文曲', diff --git a/image/character/liupan.jpg b/image/character/liupan.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1b2d1d6949f36127bffcf77f77ed7d7198c1bce4 GIT binary patch literal 51860 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 Date: Tue, 5 Mar 2024 12:26:30 +0800 Subject: [PATCH 10/49] =?UTF-8?q?=E8=B0=8B=E8=A2=81=E7=BB=8D=E3=80=90?= =?UTF-8?q?=E6=80=9D=E5=8F=AC=E5=89=91=E3=80=91bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/onlyOL.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/character/onlyOL.js b/character/onlyOL.js index b642d806e..e77e1847f 100644 --- a/character/onlyOL.js +++ b/character/onlyOL.js @@ -218,8 +218,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ let evt=_status.event; if(evt.name!='chooseToUse') evt=evt.getParent('chooseToUse'); if(!evt||!evt.respondTo||!storage.includes(evt.respondTo[1])) return; - const num = get.number(card); - if(num!='unsure' && (typeof num!='number' || num<=get.number(evt.respondTo[1]))) return false; + const num=get.number(card); + if(num!='unsure'&&typeof num=='number'&&num Date: Tue, 5 Mar 2024 12:32:16 +0800 Subject: [PATCH 11/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=98=E7=A3=90?= =?UTF-8?q?=E3=80=90=E6=8A=AB=E8=8D=86=E3=80=91=E6=8C=87=E5=AE=9A=E9=A2=9D?= =?UTF-8?q?=E5=A4=96=E7=9B=AE=E6=A0=87=E6=97=A0=E8=B7=9D=E7=A6=BB=E9=99=90?= =?UTF-8?q?=E5=88=B6=E7=9A=84bug=EF=BC=8C=E8=A1=A5=E5=85=85mod.aiOrder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/character/sp.js b/character/sp.js index f4c7ab696..810718ba0 100755 --- a/character/sp.js +++ b/character/sp.js @@ -715,7 +715,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, trigger:{player:'useCardToPlayered'}, filter(event,player){ - if(!game.hasPlayer(target=>target!=player&&!event.targets.includes(target)&&lib.filter.targetEnabled2(event.card,player,target))) return false; + if(!game.hasPlayer(target=>target!=player&&!event.targets.includes(target)&&lib.filter.targetEnabled2(event.card,player,target)&&lib.filter.targetInRange(event.card,player,target))) return false; return get.color(event.card)=='black'&&(event.card.name=='sha'||get.type(event.card)=='trick')&&event.targets.length==1; }, usable:1, @@ -725,7 +725,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ const num=Math.max(1,player.getDamagedHp()); const {result:{bool,targets}}=await player.chooseTarget(get.prompt('olpijing'),[1,num],(card,player,target)=>{ const trigger=get.event().getTrigger(); - return target!=player&&!trigger.targets.includes(target)&&lib.filter.targetEnabled2(trigger.card,player,target); + return target!=player&&!trigger.targets.includes(target)&&lib.filter.targetEnabled2(trigger.card,player,target)&&lib.filter.targetInRange(trigger.card,player,target); }).set('ai',target=>{ const player=get.event('player'),trigger=get.event().getTrigger(); return get.effect(target,trigger.card,player,player)*(target.getStorage('olpijing_effect').includes(player)?2:1)+get.effect(target,{name:'shunshou_copy2'},player,player); @@ -741,6 +741,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else player.storage.counttrigger.olpijing--; }, + mod:{ + aiOrder(player,card,num){ + if(!(card.name=='sha'||get.type(card)=='trick')||get.color(card)!='black') return; + const info=get.info(card); + if(info&&!info.notarget&&(info.toself||info.singleCard||!info.selectTarget||info.selectTarget==1)&&game.countPlayer(target=>{ + if(get.effect(target,card,player,player)<=0) return false; + return lib.filter.targetEnabled2(card,player,target)&&lib.filter.targetInRange(card,player,target); + })>1) return num+0.01; + }, + }, subSkill:{ effect:{ charlotte:true, @@ -757,7 +767,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.removeSkill('olpijing_effect'); const {result:{bool,targets}}=await player.chooseTarget('披荆:请选择此牌的额外目标',[1,storage.length],(card,player,target)=>{ const trigger=get.event().getTrigger(); - return !trigger.targets.includes(target)&&get.event('storage').includes(target)&&lib.filter.targetEnabled2(trigger.card,player,target); + return !trigger.targets.includes(target)&&get.event('storage').includes(target)&&lib.filter.targetEnabled2(trigger.card,player,target)&&lib.filter.targetInRange(trigger.card,player,target); }).set('prompt2','不选择的角色视为你选择摸牌项').set('ai',target=>{ const player=get.event('player'),trigger=get.event().getTrigger(); return get.effect(target,trigger.card,player,player)-get.effect(player,{name:'draw'},player,player); From 4712a3719af9e4e76ff1d9993e5e16a095758931 Mon Sep 17 00:00:00 2001 From: 157 <144450955+PZ157@users.noreply.github.com> Date: Tue, 5 Mar 2024 14:47:13 +0800 Subject: [PATCH 12/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E3=80=90=E6=88=98?= =?UTF-8?q?=E6=84=8F=E3=80=91bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp2.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/character/sp2.js b/character/sp2.js index fe6fdc3bc..9d586d032 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -3445,15 +3445,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else{ switch(type){ case 'basic': - if(sha>0&&get.name(card)=='sha'){ + if(sha>0&&get.name(i)=='sha'){ sha--; var add=3; - if(!player.hasValueTarget(card)&&player.hasValueTarget(card,false)) add+=player.getUseValue(card,false); + if(!player.hasValueTarget(i)&&player.hasValueTarget(i,false)) add+=player.getUseValue(i,false); eff+=add; } break case 'trick': - if(player.hasValueTarget(card)) eff+=6; + if(player.hasValueTarget(i)) eff+=6; break; case 'equip': if(player.hasValueTarget({name:'guohe_copy2'})) eff+=player.getUseValue({name:'guohe_copy2'}); @@ -3470,15 +3470,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(type==control) continue; switch(type){ case 'basic': - if(sha>0&&get.name(card)=='sha'){ + if(sha>0&&get.name(i)=='sha'){ sha--; var add=3; - if(!player.hasValueTarget(card)&&player.hasValueTarget(card,false)) add+=player.getUseValue(card,false); + if(!player.hasValueTarget(i)&&player.hasValueTarget(i,false)) add+=player.getUseValue(i,false); eff+=add; } break case 'trick': - if(player.hasValueTarget(card)) eff+=6; + if(player.hasValueTarget(i)) eff+=6; break; case 'equip': if(player.hasValueTarget({name:'guohe_copy2'})) eff+=player.getUseValue({name:'guohe_copy2'}); From 2ab776e18ee7643352c0e2113a434507a26cd460 Mon Sep 17 00:00:00 2001 From: 157 <144450955+PZ157@users.noreply.github.com> Date: Tue, 5 Mar 2024 14:50:52 +0800 Subject: [PATCH 13/49] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BA=AB=E4=BB=BD?= =?UTF-8?q?=E6=9A=B4=E9=9C=B2=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 1 + 1 file changed, 1 insertion(+) diff --git a/character/sp.js b/character/sp.js index f4c7ab696..c36e42d08 100755 --- a/character/sp.js +++ b/character/sp.js @@ -14116,6 +14116,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var cards=result.cards; target.addToExpansion(cards,player,'give').gaintag.add('zlshoufu2'); player.line(target,'green'); + if(get.mode()!=='identity'||player.identity!=='nei') player.addExpose(0.12); target.addSkill('zlshoufu2'); 'step 3' game.delayx(); From 3c6d3deb736b6e325d522266b8d1ca463e329caa Mon Sep 17 00:00:00 2001 From: Spmario233 Date: Tue, 5 Mar 2024 16:20:13 +0800 Subject: [PATCH 14/49] =?UTF-8?q?TW=E7=BA=AA=E7=81=B5=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/tw.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/character/tw.js b/character/tw.js index eed5598ab..9d91e7fba 100644 --- a/character/tw.js +++ b/character/tw.js @@ -6403,7 +6403,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return !player.hasHistory('useSkill',function(evt){ return evt.skill=='twshuangren'; })&&!player.hasHistory('sourceDamage',function(evt){ - return evt.card.name=='sha'; + return evt.card&&evt.card.name=='sha'; }); }, direct:true, From d13891670511af72f6c51661d97f100dcbf2176c Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Tue, 5 Mar 2024 19:46:37 +0800 Subject: [PATCH 15/49] =?UTF-8?q?=E8=BF=9B=E4=B8=80=E6=AD=A5=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/game/index.js | 142 ++++++++++++++++------------------------ noname/library/index.js | 42 +++++++++++- 2 files changed, 97 insertions(+), 87 deletions(-) diff --git a/noname/game/index.js b/noname/game/index.js index ad7ebb1a9..ae472c2f2 100644 --- a/noname/game/index.js +++ b/noname/game/index.js @@ -1881,12 +1881,12 @@ export class Game extends Uninstantable { config: objectConfig } try{ - if (precontent) { - _status.extension = name; - - await (gnc.is.generatorFunc(precontent) ? gnc.of(precontent) : precontent).call(object, config); - delete _status.extension; - } + if (precontent) { + _status.extension = name; + + await (gnc.is.generatorFunc(precontent) ? gnc.of(precontent) : precontent).call(object, config); + delete _status.extension; + } }catch(e1){ console.log(`加载《${name}》扩展的precontent时出现错误。`,e1); if(!lib.config.extension_alert) alert(`加载《${name}》扩展的precontent时出现错误。\n该错误本身可能并不影响扩展运行。您可以在“设置→通用→无视扩展报错”中关闭此弹窗。\n${decodeURI(e1.stack)}`); @@ -5891,19 +5891,10 @@ export class Game extends Uninstantable { game.Check.skill(event); - player.node.equips.classList.remove('popequip'); - if (event.filterCard && lib.config.popequip && !_status.nopopequip && get.is.phoneLayout() && - typeof event.position === 'string' && event.position.includes('e') && - player.node.equips.querySelector('.card.selectable')) { - player.node.equips.classList.add('popequip'); - auto_confirm = false; - } - - _status.multitarget = false; - const skillinfo = get.info(_status.event.skill); + const skillinfo = get.info(event.skill)||{}; if (_status.event.multitarget) _status.multitarget = true; - else if (_status.event.name === 'chooseToUse' && skillinfo) { + else if (_status.event.name === 'chooseToUse') { if (skillinfo.multitarget && !skillinfo.multiline) _status.multitarget = true; if (skillinfo.viewAs && typeof skillinfo.viewAs !== 'function') { const cardinfo = get.info(get.card()); @@ -5913,6 +5904,13 @@ export class Game extends Uninstantable { } } + player.node.equips.classList.remove('popequip'); + if (event.filterCard && lib.config.popequip && !_status.nopopequip && get.is.phoneLayout() && + typeof event.position === 'string' && event.position.includes('e') && + player.node.equips.querySelector('.card.selectable')) { + player.node.equips.classList.add('popequip'); + auto_confirm = false; + } if (event.isMine() && game.chess && get.config('show_distance') && game.me) { const players = game.players.slice(); @@ -5928,7 +5926,22 @@ export class Game extends Uninstantable { }); } - if (event.isMine()) game.Check.confirm(event, { ok, auto, auto_confirm }); + let confirm = ''; + if (ok && (!event.filterOk || event.filterOk())) confirm += 'o'; + if (!event.forced && !event.fakeforce && get.noSelected()) confirm += 'c'; + if (event.isMine()) game.Check.confirm(event, confirm); + + game.callHook("checkEnd", [event]); + + if (event.isMine() && confirm.includes('o') + && auto && (auto_confirm || skillinfo.direct) && !_status.touchnocheck + && !_status.mousedown && (!_status.mousedragging || !_status.mouseleft)) { + if (ui.confirm) ui.confirm.close(); + if (event.skillDialog === true) event.skillDialog = false; + ui.click.ok(); + _status.mousedragging = null; + if (skillinfo.preservecancel) ui.create.confirm('c'); + } // if (ui.confirm && ui.confirm.lastChild.link == 'cancel') { // if (_status.event.type == 'phase' && !_status.event.skill) { @@ -5938,12 +5951,10 @@ export class Game extends Uninstantable { // ui.confirm.lastChild.innerHTML = '取消'; // } // } - - game.callHook("checkEnd", [event]); return ok; } static Check = class extends Uninstantable { - static processSelection({ type, items, event, useCache, isSelectable, custom }) { + static processSelection({ type, items, event, useCache, isSelectable }) { let ok = true, auto; let selectableItems = false; const uppercaseType = (type) => type[0].toUpperCase() + type.slice(1); @@ -5997,7 +6008,7 @@ export class Game extends Uninstantable { if (item.classList.contains('selectable')) selectableItems = true; else if (item.classList.contains('selected')) item.classList.add('selectable'); - if (custom) custom(item); + game.callHook(`check${uppercaseType(type)}`, [item, event]); }); if (event[`${type}Required`] && uiSelected.length === 0) ok = false; @@ -6010,7 +6021,7 @@ export class Game extends Uninstantable { static button(event, useCache) { const player = event.player; const buttons = event.dialog.buttons; - const isSelectable = button => { + const isSelectable = (button, event) => { if (!lib.filter.buttonIncluded(button)) return false; if (button.classList.contains('unselectable')) return false; return event.filterButton(button, player); @@ -6019,21 +6030,14 @@ export class Game extends Uninstantable { } static card(event, useCache) { const player = event.player; - const players = game.players.slice(); - if (event.deadTarget) players.addArray(game.dead); const cards = player.getCards(event.position); - const isSelectable = card => { + const isSelectable = (card, event) => { if (card.classList.contains('uncheck')) return false; if (player.isOut()) return false; if (!lib.filter.cardRespondable(card, player)) return false; return event.filterCard(card, player); } - const custom = lib.config.cardtempname === 'off' ? null : card => { - if (get.name(card) === card.name && get.is.sameNature(get.nature(card), card.nature, true)) return; - const node = ui.create.cardTempName(card); - if (lib.config.cardtempname !== 'default') node.classList.remove('vertical'); - } - return game.Check.processSelection({ type: 'card', items: cards, event, useCache, isSelectable, custom }); + return game.Check.processSelection({ type: 'card', items: cards, event, useCache, isSelectable }); } static target(event, useCache) { const player = event.player; @@ -6045,17 +6049,7 @@ export class Game extends Uninstantable { if (target.isOut()) return false; return event.filterTarget(card, player, target); } - const custom = target => { - if (!target.instance) return; - ['selected', 'selectable'].forEach(className => { - if (target.classList.contains(className)) { - target.instance.classList.add(className); - } else { - target.instance.classList.remove(className); - } - }); - } - return game.Check.processSelection({ type: 'target', items: targets, event, useCache, isSelectable, custom }); + return game.Check.processSelection({ type: 'target', items: targets, event, useCache, isSelectable }); } static skill(event) { if (ui.skills) ui.skills.close(); @@ -6081,53 +6075,36 @@ export class Game extends Uninstantable { if (globalSkills.length) ui.create.skills2(globalSkills); if (equipSkills.length) ui.create.skills3(equipSkills); } - static confirm(event, { ok, auto, auto_confirm }) { - const skillinfo = get.info(event.skill) || {}; - if (ok && (!event.filterOk || event.filterOk()) - && auto && (auto_confirm || skillinfo.direct) - && (!_status.mousedragging || !_status.mouseleft) && !_status.mousedown && !_status.touchnocheck) { - if (ui.confirm && !skillinfo.preservecancel) { - ui.confirm.close(); - } - if (!ui.confirm && skillinfo.preservecancel) { - ui.create.confirm('c'); - } - if (event.skillDialog === true) event.skillDialog = false; - ui.click.ok(); - _status.mousedragging = null; + static confirm(event, confirm) { + ui.arena.classList.add('selecting'); + if (event.filterTarget && (!event.filterCard || !event.position || (typeof event.position == 'string' && !event.position.includes('e')))) { + ui.arena.classList.add('tempnoe'); } - else { - ui.arena.classList.add('selecting'); - if (event.filterTarget && (!event.filterCard || !event.position || (typeof event.position == 'string' && !event.position.includes('e')))) { - ui.arena.classList.add('tempnoe'); - } - game.countChoose(); - if (!_status.noconfirm && !_status.event.noconfirm - && (_status.mouseleft || !_status.mousedown)) { - let str = ''; - if (ok && (!event.filterOk || event.filterOk())) str += 'o'; - if (!event.forced && !event.fakeforce && get.noSelected()) str += 'c'; - ui.create.confirm(str); - } + game.countChoose(); + if (!_status.noconfirm && !_status.event.noconfirm && (_status.mouseleft || !_status.mousedown)) { + ui.create.confirm(confirm); } } } static uncheck(...args) { + if (args.length === 0) args = ['button', 'card', 'target']; const event = _status.event; const players = game.players.slice(); if (_status.event.deadTarget) players.addArray(game.dead); - game.callHook("uncheckBegin", [event]); + + game.callHook("uncheckBegin", [event, args]); + if (game.chess) { - let shadows = ui.chessContainer.getElementsByClassName('playergrid temp'); - while (shadows.length) shadows[0].remove(); + const shadows = Array.from(ui.chessContainer.querySelectorAll('.playergrid.temp')); + shadows.forEach(i => i.remove()); } - if (args.length === 0) args = ['button', 'card', 'target']; - _status.event.player.node.equips.classList.remove('popequip'); + if(event.player) event.player.node.equips.classList.remove('popequip'); if (args.includes('button') && event.dialog && event.dialog.buttons) { event.dialog.buttons.forEach(button => { button.classList.remove('selectable'); button.classList.remove('selected'); + game.callHook("uncheckButton", [button, event]); }); ui.selected.buttons.length = 0; } @@ -6136,11 +6113,8 @@ export class Game extends Uninstantable { cards.forEach(card => { card.classList.remove('selected'); card.classList.remove('selectable'); - if (card._tempName) { - card._tempName.delete(); - delete card._tempName; - } - card.updateTransform(); + card.updateTransform(false); + game.callHook("uncheckCard", [card, event]); }); ui.selected.cards.length = 0; } @@ -6148,10 +6122,7 @@ export class Game extends Uninstantable { players.forEach(target => { target.classList.remove('selected'); target.classList.remove('selectable'); - if (target.instance) { - target.instance.classList.remove('selected'); - target.instance.classList.remove('selectable'); - } + game.callHook("uncheckTarget", [target, event]); }); ui.selected.targets.length = 0; } @@ -6172,7 +6143,8 @@ export class Game extends Uninstantable { _status.dragline.forEach(i => i && i.remove()); _status.dragline.length = 0; ui.arena.classList.remove('dragging'); - game.callHook("uncheckEnd", [event]); + + game.callHook("uncheckEnd", [event, args]); } /** * @param { Player } player1 diff --git a/noname/library/index.js b/noname/library/index.js index 205cad988..672760fc5 100644 --- a/noname/library/index.js +++ b/noname/library/index.js @@ -330,11 +330,47 @@ export class Library extends Uninstantable { game.dynamicStyle.addObject(result2); } }], - //game.check美化 + //game.check checkBegin: [], checkEnd: [], + checkButton: [], + checkCard: [ + function updateTempname(card, event) { + if (lib.config.cardtempname === 'off') return; + if (get.name(card) === card.name && get.is.sameNature(get.nature(card), card.nature, true)) return; + const node = ui.create.cardTempName(card); + if (lib.config.cardtempname !== 'default') node.classList.remove('vertical'); + }, + ], + checkTarget: [ + function updateInstance(target, event) { + if (!target.instance) return; + ['selected', 'selectable'].forEach(className => { + if (target.classList.contains(className)) { + target.instance.classList.add(className); + } else { + target.instance.classList.remove(className); + } + }); + }, + ], uncheckBegin: [], uncheckEnd: [], + uncheckButton: [], + uncheckCard: [ + function removeTempname(card, event) { + if (!card._tempName) return; + card._tempName.delete(); + delete card._tempName; + }, + ], + uncheckTarget: [ + function removeInstance(target, event) { + if (!target.instance) return; + target.instance.classList.remove('selected'); + target.instance.classList.remove('selectable'); + }, + ], }; /** @@ -7926,7 +7962,9 @@ export class Library extends Uninstantable { let type; try { type = typeof obj[text]; - } catch {} + } catch { + void 0; + } if (type == 'function') { className += 'function'; } From 8c7ee6601122d0546b9506a8c1dd765363198062 Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Tue, 5 Mar 2024 19:53:06 +0800 Subject: [PATCH 16/49] bugfix --- noname/game/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/noname/game/index.js b/noname/game/index.js index ae472c2f2..a6856e3ec 100644 --- a/noname/game/index.js +++ b/noname/game/index.js @@ -5926,8 +5926,9 @@ export class Game extends Uninstantable { }); } + ok = ok && (!event.filterOk || event.filterOk()); let confirm = ''; - if (ok && (!event.filterOk || event.filterOk())) confirm += 'o'; + if (ok) confirm += 'o'; if (!event.forced && !event.fakeforce && get.noSelected()) confirm += 'c'; if (event.isMine()) game.Check.confirm(event, confirm); From f1ea8d710edf2f304778b88b847b1fce67b26e38 Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Tue, 5 Mar 2024 20:28:32 +0800 Subject: [PATCH 17/49] =?UTF-8?q?=E6=8B=86=E5=88=86hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/game/index.js | 12 +----------- noname/library/index.js | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/noname/game/index.js b/noname/game/index.js index a6856e3ec..5407f0c13 100644 --- a/noname/game/index.js +++ b/noname/game/index.js @@ -5932,17 +5932,7 @@ export class Game extends Uninstantable { if (!event.forced && !event.fakeforce && get.noSelected()) confirm += 'c'; if (event.isMine()) game.Check.confirm(event, confirm); - game.callHook("checkEnd", [event]); - - if (event.isMine() && confirm.includes('o') - && auto && (auto_confirm || skillinfo.direct) && !_status.touchnocheck - && !_status.mousedown && (!_status.mousedragging || !_status.mouseleft)) { - if (ui.confirm) ui.confirm.close(); - if (event.skillDialog === true) event.skillDialog = false; - ui.click.ok(); - _status.mousedragging = null; - if (skillinfo.preservecancel) ui.create.confirm('c'); - } + game.callHook("checkEnd", [event, { ok, auto, auto_confirm }]); // if (ui.confirm && ui.confirm.lastChild.link == 'cancel') { // if (_status.event.type == 'phase' && !_status.event.skill) { diff --git a/noname/library/index.js b/noname/library/index.js index 672760fc5..4f9813f6b 100644 --- a/noname/library/index.js +++ b/noname/library/index.js @@ -332,7 +332,20 @@ export class Library extends Uninstantable { }], //game.check checkBegin: [], - checkEnd: [], + checkEnd: [ + function autoConfirm(event, { ok, auto, auto_confirm }) { + if (!event.isMine()) return; + const skillinfo = get.info(event.skill) || {}; + if (ok && auto && (auto_confirm || skillinfo.direct) && !_status.touchnocheck + && !_status.mousedown && (!_status.mousedragging || !_status.mouseleft)) { + if (ui.confirm) ui.confirm.close(); + if (event.skillDialog === true) event.skillDialog = false; + ui.click.ok(); + _status.mousedragging = null; + if (skillinfo.preservecancel) ui.create.confirm('c'); + } + } + ], checkButton: [], checkCard: [ function updateTempname(card, event) { From 8aa7eff602ad8ed127c5f975591ebcca85db5280 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Tue, 5 Mar 2024 20:46:06 +0800 Subject: [PATCH 18/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=9A=E6=AC=A1?= =?UTF-8?q?=E5=BA=9F=E9=99=A4=E5=88=A4=E5=AE=9A=E5=8C=BA=E4=BC=9A=E5=8F=A0?= =?UTF-8?q?=E5=8A=A0=E5=BA=9F=E9=99=A4=E6=A0=87=E8=AE=B0=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/library/element/player.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/noname/library/element/player.js b/noname/library/element/player.js index ca64ccef2..4f0bce776 100644 --- a/noname/library/element/player.js +++ b/noname/library/element/player.js @@ -2055,8 +2055,11 @@ export class Player extends HTMLDivElement { return true; } $disableJudge() { - game.addVideo('$disableJudge', this); this.storage._disableJudge = true; + for (let i = 0; i < this.node.judges.childNodes.length; i++) { + if (this.node.judges.childNodes[i].classList.contains('feichu')) return; + } + game.addVideo('$disableJudge', this); var card = game.createCard('disable_judge', '', ''); card.fix(); card.classList.add('feichu'); From c15a1bd88856ea54d220e8152f0e577324cec963 Mon Sep 17 00:00:00 2001 From: lieren2023 <131325076+lieren2023@users.noreply.github.com> Date: Wed, 6 Mar 2024 12:52:31 +0800 Subject: [PATCH 19/49] =?UTF-8?q?=E6=97=A7=E6=AF=8C=E4=B8=98=E4=BF=AD?= =?UTF-8?q?=E5=8F=91=E5=8A=A8=E4=B8=8D=E4=BA=86=E6=B8=85=E4=BE=A7[drlt=5Fq?= =?UTF-8?q?ingce]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/shenhua.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/character/shenhua.js b/character/shenhua.js index 65daf1e5a..dec58d587 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -816,24 +816,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, enable:'phaseUse', filter:function(event,player){ - return player.storage.drlt_zhenrong&&player.storage.drlt_zhenrong.length>0; + return player.getExpansions('drlt_zhenrong').length>0; }, filterTarget:function(card,player,target){ return target.countDiscardableCards(player,'ej')>0; }, content:function(){ 'step 0' - player.chooseCardButton(player.storage.drlt_zhenrong,1,'请选择需要弃置的“荣”',true).ai=function(button){ + player.chooseCardButton(player.getExpansions('drlt_zhenrong'),1,'请选择需要弃置的“荣”',true).ai=function(button){ return 6-get.value(button.link); }; 'step 1' if(result.bool){ var cards=result.links; - for(var i=0;i Date: Wed, 6 Mar 2024 13:34:46 +0800 Subject: [PATCH 20/49] =?UTF-8?q?=E8=AF=BF=E8=A7=A3=E6=8A=80=E8=83=BD?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=E4=BF=AE=E5=A4=8D=E3=80=81popup=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/character/sp.js b/character/sp.js index 524ec7493..07780c7f6 100755 --- a/character/sp.js +++ b/character/sp.js @@ -917,10 +917,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(result2.bool){ const card=result2.cards[0]; if(get.name(card,target)==event.result.card.name){ - player.popup('洗具'); + player.popup('诿解成功'); stop=true; } - else player.popup('杯具'); + else player.popup('诿解失败'); } } if(!stop){ @@ -27468,7 +27468,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olqushi:'趋势', olqushi_info:'出牌阶段限一次,你可以摸一张牌,然后将一张手牌扣置于一名其他角色的武将牌上,称为“趋”。目标角色于其结束阶段移去武将牌上的所有“趋”,若其于本回合使用过与“趋”相同类别的牌,则你摸X张牌(X为其本回合使用牌指定过的目标数之和且至多为5)。', olweijie:'诿解', - olweijie_info:'每回合限一次,你的回合外,当你需要使用或打出一张基本牌时,你可以弃置距离为1的一名角色的一张手牌,若此牌牌名与你需要使用或打出的牌的牌名相同,则视为你使用或打出之。', + olweijie_info:'回合外每名角色的回合限一次,当你需要使用或打出一张基本牌时,你可以弃置距离为1的一名角色的一张手牌,若此牌牌名与你需要使用或打出的牌的牌名相同,则视为你使用或打出之。', liupan:'刘磐', olpijing:'披荆', olpijing_info:'每回合限一次,当你使用黑色【杀】或黑色普通锦囊牌指定唯一目标后,你可以令至多X名其他角色成为此牌的额外目标并依次交给你一张牌(X为你已损失的体力值且X至少为1)。这些角色下次使用基本牌或普通锦囊牌指定唯一目标时,其可令你成为此牌的额外目标或摸一张牌。', From 7feb087b4036151786855714fd4bae194fd9b6f6 Mon Sep 17 00:00:00 2001 From: lieren2023 <131325076+lieren2023@users.noreply.github.com> Date: Wed, 6 Mar 2024 13:36:39 +0800 Subject: [PATCH 21/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B5=B5=E8=A5=84[fuha?= =?UTF-8?q?n]=E8=83=BD=E4=B8=8D=E7=94=A8=E6=94=92=E6=A0=87=E8=AE=B0?= =?UTF-8?q?=E5=B0=B1=E8=83=BD=E8=A7=89=E9=86=92=E7=9A=84=E5=BD=A9=E8=9B=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/character/sp.js b/character/sp.js index 524ec7493..143a71262 100755 --- a/character/sp.js +++ b/character/sp.js @@ -17709,9 +17709,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ skillAnimation:true, animationColor:'orange', forceunique:true, - //filter:function(event,player){ - // return player.storage.fanghun2>0; - //}, + filter:function(event,player){ + return player.storage.fanghun2>0; + }, prompt:function(event,player){ var num=Math.max(2,player.storage.fanghun2||0); num=Math.min(num,8); From dc0a27e60f4219cb61aa27920c9f73ceffd8b277 Mon Sep 17 00:00:00 2001 From: lieren2023 <131325076+lieren2023@users.noreply.github.com> Date: Wed, 6 Mar 2024 14:23:56 +0800 Subject: [PATCH 22/49] =?UTF-8?q?=E5=B9=B3=E8=BE=BDbugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/xianding.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/character/xianding.js b/character/xianding.js index fe99eac88..239ce7e57 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -338,7 +338,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ignoreLogAI:true, skillTagFilter:function(player,tag,args){ if(args){ - return args.card&&get.name(arg.card)=='sha'; + return args.card&&get.name(args.card)=='sha'; } }, }, From 86546120405ce4c377e6756975b539eb8d5f3d7b Mon Sep 17 00:00:00 2001 From: lieren2023 <131325076+lieren2023@users.noreply.github.com> Date: Wed, 6 Mar 2024 14:38:56 +0800 Subject: [PATCH 23/49] =?UTF-8?q?recast=E7=9A=84recastingLose=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=8D=E5=BA=94=E4=BC=A0=E5=85=A5null?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/library/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noname/library/index.js b/noname/library/index.js index 4f9813f6b..b5ee89964 100644 --- a/noname/library/index.js +++ b/noname/library/index.js @@ -11710,7 +11710,7 @@ export class Library extends Uninstantable { lose: false, delay: false, content: () => { - player.recast(cards, null, (player, cards) => { + player.recast(cards, void 0, (player, cards) => { var numberOfCardsToDraw = cards.length; cards.forEach(value => { if (lib.config.mode == 'stone' && _status.mode == 'deck' && !player.isMin() && get.type(value).startsWith('stone')) { From 73b8d0e9c6c5156ffcdbb19365dd0269ac72d396 Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Wed, 6 Mar 2024 18:06:36 +0800 Subject: [PATCH 24/49] =?UTF-8?q?=E5=A2=9E=E5=8A=A0chooseButton=E7=9A=84?= =?UTF-8?q?=E9=BB=98=E8=AE=A4complexSelect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/library/element/content.js | 3 ++- noname/library/element/player.js | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/noname/library/element/content.js b/noname/library/element/content.js index 9ce2bc139..83fb76409 100644 --- a/noname/library/element/content.js +++ b/noname/library/element/content.js @@ -3151,6 +3151,7 @@ export const Content = { next.set('ai', info.chooseButton.check || function () { return 1; }); next.set('filterButton', info.chooseButton.filter || function () { return true; }); next.set('selectButton', info.chooseButton.select || 1); + next.set('complexSelect', info.chooseButton.complexSelect !== false); next.set('filterOk', info.chooseButton.filterOk || (() => true)); if (event.id) next._parent_id = event.id; next.type = 'chooseToUse_button'; @@ -4546,7 +4547,7 @@ export const Content = { event.dialog.style.display = ''; event.dialog.open(); } - if (['chooseCharacter', 'chooseButtonOL'].includes(event.getParent().name)) event.complexSelect = true; + // if (['chooseCharacter', 'chooseButtonOL'].includes(event.getParent().name)) event.complexSelect = true; var filterButton = event.filterButton || function () { return true; }; var selectButton = get.select(event.selectButton); var buttons = event.dialog.buttons; diff --git a/noname/library/element/player.js b/noname/library/element/player.js index ca64ccef2..2800ed4fc 100644 --- a/noname/library/element/player.js +++ b/noname/library/element/player.js @@ -4267,7 +4267,8 @@ export class Player extends HTMLDivElement { var next = game.createEvent('chooseButton'); for (var i = 0; i < arguments.length; i++) { if (typeof arguments[i] == 'boolean') { - next.forced = arguments[i]; + if (!next.forced) next.forced = arguments[i]; + else next.complexSelect = arguments[i]; } else if (get.itemtype(arguments[i]) == 'dialog') { next.dialog = arguments[i]; @@ -4293,6 +4294,7 @@ export class Player extends HTMLDivElement { if (next.filterButton == undefined) next.filterButton = lib.filter.filterButton; if (next.selectButton == undefined) next.selectButton = [1, 1]; if (next.ai == undefined) next.ai = function () { return 1; }; + if (next.complexSelect !== false) next.complexSelect = true; next.setContent('chooseButton'); next._args = Array.from(arguments); next.forceDie = true; From 466d32b01c2cc91a65416f4b4695dfd5cf71111f Mon Sep 17 00:00:00 2001 From: lieren2023 <131325076+lieren2023@users.noreply.github.com> Date: Wed, 6 Mar 2024 14:15:51 +0800 Subject: [PATCH 25/49] =?UTF-8?q?fix=EF=BC=9A=E8=9B=8A=E6=83=91=EF=BC=88gu?= =?UTF-8?q?huo=EF=BC=89=E6=8A=80=E8=83=BD=E9=94=99=E8=AF=AF=EF=BC=8C?= =?UTF-8?q?=E8=AF=B7=E5=8B=BF=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/shenhua.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/character/shenhua.js b/character/shenhua.js index 65daf1e5a..dff299614 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -7289,6 +7289,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } }, + // 蛊惑(guhuo)技能错误,请勿引用 + /* guhuo:{ enable:'phaseUse', usable:1, @@ -7357,6 +7359,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ threaten:1.6, } }, + */ huangtian:{ unique:true, audio:'huangtian2', From d3b732f0e4f04bdcfad8a3bb9582f987ea83a268 Mon Sep 17 00:00:00 2001 From: Spmario233 Date: Wed, 6 Mar 2024 20:51:57 +0800 Subject: [PATCH 26/49] =?UTF-8?q?=E7=B4=A7=E6=80=A5=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E8=B0=8B=E5=8F=B8=E9=A9=AC=E6=87=BFAI=E6=97=A0=E9=99=90?= =?UTF-8?q?=E9=80=92=E5=BD=92bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/xianding.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/character/xianding.js b/character/xianding.js index 239ce7e57..005e6eaac 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -225,7 +225,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ effect:{ target(card,player,target){ if(get.tag(card,'damage')&&player&&player.hasSkill('dcsbquanmou_true')){ - let tars=game.countPlayer(i=>player!==i&&target!==i&&get.damageEffect(i,player,player)>0); + let tars=game.countPlayer(i=>player!==i&&target!==i&&get.attitude(player,target)<0&&!target.hasSkill('dcsbquanmou_false_mark')); return [1,0,1,6*Math.min(3,tars)/(3+Math.pow(target.countCards('h'),2))]; } } From 80395f2315094a0f70556034a1ee52099b938415 Mon Sep 17 00:00:00 2001 From: Cheng Jingxuan Date: Wed, 6 Mar 2024 23:17:01 +0800 Subject: [PATCH 27/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=99=9A=E6=8B=9F?= =?UTF-8?q?=E7=89=8C=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/get/is.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/noname/get/is.js b/noname/get/is.js index a5dee8a87..b01aeb4cd 100644 --- a/noname/get/is.js +++ b/noname/get/is.js @@ -131,8 +131,8 @@ export class Is extends Uninstantable { * @param { Card | VCard } card */ // @ts-ignore - static vituralCard(card) { - return card.isCard || (!("cards" in card) || !Array.isArray(card.cards) || card.cards.length == 0); + static virtualCard(card) { + return !card.isCard || (!("cards" in card) || !Array.isArray(card.cards) || card.cards.length === 0); } /** * 是否是转化牌 @@ -147,7 +147,9 @@ export class Is extends Uninstantable { * @param { Card | VCard } card */ // @ts-ignore - static ordinaryCard(card) { return card.isCard && ("cards" in card) && Array.isArray(card.cards) && card.cards.length == 1 } + static ordinaryCard(card) { + return card.isCard && ("cards" in card) && Array.isArray(card.cards) && card.cards.length === 1 + } /** * 押韵判断 * @param { string } str1 From 7b5ea85a72ae38ea5afc1d7682234354ac621e60 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Wed, 6 Mar 2024 23:37:57 +0800 Subject: [PATCH 28/49] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=98=E6=B8=A1?= =?UTF-8?q?=E4=B9=8B=E6=88=98=E4=BA=8B=E4=BB=B6=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mode/versus.js | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/mode/versus.js b/mode/versus.js index c8b55eb21..e108f11d5 100644 --- a/mode/versus.js +++ b/mode/versus.js @@ -2640,6 +2640,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ game.trueZhu.update(); game.falseZhu.update(); ui.arena.classList.add('choose-character'); + /* if(get.is.phoneLayout()){ ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window); } @@ -2647,6 +2648,29 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ ui.guanduInfo=ui.create.div(ui.gameinfo); } ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt); + */ + const showGuanduEvent=function(evt){ + if(ui['GuanduEvent_'+evt]) return; + ui['GuanduEvent_'+evt]=ui.create.system(get.translation(evt),null,true); + lib.setPopped(ui['GuanduEvent_'+evt],function(){ + var uiintro=ui.create.dialog('hidden'); + uiintro.add(get.translation(evt)); + uiintro.add('

'); + var ul=uiintro.querySelector('ul'); + if(ul) ul.style.width='180px'; + uiintro.add(ui.create.div('.placeholder')); + return uiintro; + },250); + }; + for(const i in lib.playerOL){ + const target=lib.playerOL[i]; + if(target==game.me){ + showGuanduEvent(evt); + } + else if(target.isOnline2()){ + target.send(showGuanduEvent,evt); + } + } if(lib.config.background_speak) game.playAudio('skill',evt); var dialog=ui.create.dialog('本局特殊事件:'+get.translation(evt)); dialog.addText(get.translation(evt+'_info'),false); @@ -2725,6 +2749,21 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ var evt_list=[['huoshaowuchao','chunyuqiong'],['liangcaokuifa','sp_xuyou'],['zhanyanliangzhuwenchou','jsp_guanyu'],['shishengshibai','re_guojia'],['xutuhuanjin','yj_jushou'],['liangjunxiangchi','yj_jushou'],['jianshoudaiyuan','tianfeng'],['yiruoshengqiang','re_caocao'],['shichongerjiao','sp_xuyou']].randomGet(); var evt=evt_list[0],character=evt_list[1]; game.addGlobalSkill(evt); + const showGuanduEvent=function(evt){ + if(ui['GuanduEvent_'+evt]) return; + ui['GuanduEvent_'+evt]=ui.create.system(get.translation(evt),null,true); + lib.setPopped(ui['GuanduEvent_'+evt],function(){ + var uiintro=ui.create.dialog('hidden'); + uiintro.add(get.translation(evt)); + uiintro.add('
'+get.translation(evt+'_info')+'
'); + var ul=uiintro.querySelector('ul'); + if(ul) ul.style.width='180px'; + uiintro.add(ui.create.div('.placeholder')); + return uiintro; + },250); + }; + showGuanduEvent(evt); + /* game.broadcastAll(function(evt){ if(get.is.phoneLayout()){ ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window); @@ -2735,6 +2774,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(lib.config.background_speak) game.playAudio('skill',evt); ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt); },evt); + */ game.me.chooseControl('ok').set('dialog',['###本局特殊事件:'+get.translation(evt)+'###'+get.translation(evt+'_info'),[[character],'character']]); 'step 1' event.falseList=['ol_xiahouyuan','litong','zangba','manchong','xunyu','re_guojia','re_zhangliao','xuhuang','caohong','jsp_guanyu','hanhaoshihuan','caoren','yujin','liuye','chengyu','xunyou','zhangxiu','sp_jiaxu'].filter(function(name){ From b02979b9a80fd95cc486c64ca6839c4b76040983 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Wed, 6 Mar 2024 23:48:48 +0800 Subject: [PATCH 29/49] =?UTF-8?q?=E5=8D=81=E8=83=9C=E5=8D=81=E8=B4=A5?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mode/versus.js | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/mode/versus.js b/mode/versus.js index e108f11d5..7cb58103d 100644 --- a/mode/versus.js +++ b/mode/versus.js @@ -2640,15 +2640,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ game.trueZhu.update(); game.falseZhu.update(); ui.arena.classList.add('choose-character'); - /* - if(get.is.phoneLayout()){ - ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window); + if(evt=='shishengshibai'){ + ui.guanduInfo=get.is.phoneLayout()?ui.create.div('.touchinfo.left',ui.window):ui.create.div(ui.gameinfo); + ui.guanduInfo.innerHTML='十胜十败(0)'; } - else{ - ui.guanduInfo=ui.create.div(ui.gameinfo); - } - ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt); - */ const showGuanduEvent=function(evt){ if(ui['GuanduEvent_'+evt]) return; ui['GuanduEvent_'+evt]=ui.create.system(get.translation(evt),null,true); @@ -2763,18 +2758,13 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ },250); }; showGuanduEvent(evt); - /* game.broadcastAll(function(evt){ - if(get.is.phoneLayout()){ - ui.guanduInfo=ui.create.div('.touchinfo.left',ui.window); - } - else{ - ui.guanduInfo=ui.create.div(ui.gameinfo); - } if(lib.config.background_speak) game.playAudio('skill',evt); - ui.guanduInfo.innerHTML='当前事件:'+get.translation(evt); + if(evt=='shishengshibai'){ + ui.guanduInfo=get.is.phoneLayout()?ui.create.div('.touchinfo.left',ui.window):ui.create.div(ui.gameinfo); + ui.guanduInfo.innerHTML='十胜十败(0)'; + } },evt); - */ game.me.chooseControl('ok').set('dialog',['###本局特殊事件:'+get.translation(evt)+'###'+get.translation(evt+'_info'),[[character],'character']]); 'step 1' event.falseList=['ol_xiahouyuan','litong','zangba','manchong','xunyu','re_guojia','re_zhangliao','xuhuang','caohong','jsp_guanyu','hanhaoshihuan','caoren','yujin','liuye','chengyu','xunyou','zhangxiu','sp_jiaxu'].filter(function(name){ @@ -4728,7 +4718,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(!_status.shishengshibai) _status.shishengshibai=0; _status.shishengshibai++; game.broadcastAll(function(num){ - if(ui.guanduInfo) ui.guanduInfo.innerHTML='当前事件:十胜十败('+num+')'; + if(ui.guanduInfo) ui.guanduInfo.innerHTML='十胜十败('+num+')'; },_status.shishengshibai); if(_status.shishengshibai%10==0&&trigger.targets&&trigger.targets.length>0&&!['delay','equip'].includes(get.type(trigger.card))){ trigger.effectCount++; From 13e9be55b6b0fe137db627c51163f5c6519906c9 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 01:59:45 +0800 Subject: [PATCH 30/49] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B0=8B=E8=A2=81?= =?UTF-8?q?=E7=BB=8D=E3=80=90=E5=90=88=E8=AE=A8=E3=80=91ai?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/onlyOL.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/character/onlyOL.js b/character/onlyOL.js index e77e1847f..1e7f5da6e 100644 --- a/character/onlyOL.js +++ b/character/onlyOL.js @@ -71,12 +71,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, ai2(target){ const player=get.event('player'),trigger=get.event().getTrigger(); - if(trigger.card.name=='tiesuo'){ - const att=get.attitude(player,target); - return get.sgn(att)*(2+get.sgn(att)); - } + const att=get.attitude(player,target),eff=get.effect(target,trigger.card,trigger.player,player); + if(trigger.card.name=='tiesuo') return eff>0?0:get.sgn(att)*(2+get.sgn(att)); const sum=trigger.targets.reduce((i,j)=>i+get.effect(j,trigger.card,trigger.player,player),0); - return get.effect(target,trigger.card,trigger.player,player)*2-sum; + return get.sgn(att)*(eff*2-sum); }, }).set('prompt2','弃置一张'+get.translation(get.color(trigger.card))+'牌,令'+get.translation(trigger.card)+'改为对其中一个目标结算两次'); if(bool){ @@ -95,7 +93,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player(card,player){ if(!game.hasPlayer(target=>{ return target.hasSkill('olsbhetao')&&(get.attitude(player,target)<0||get.attitude(target,player)<0); - })) return; + })||game.countPlayer(target=>{ + return player.canUse(card,target); + })<2) return; const select=get.copy(get.info(card).selectTarget); let range; if(select==undefined) range=[1,1]; @@ -103,7 +103,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else if(get.itemtype(select)=='select') range=select; else if(typeof select=='function') range=select(card,player); game.checkMod(card,player,range,'selectTarget',player); - if(range[1]==-1||range[1]>1) return 'zeroplayertarget'; + if(range[1]==-1||(range[1]>1&&ui.selected.targets&&ui.selected.targets.length)) return 'zeroplayertarget'; }, }, }, From ae40bef3e54fa5ea564c65ed3016e10f22456a13 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 08:36:08 +0800 Subject: [PATCH 31/49] =?UTF-8?q?=E5=90=95=E8=8C=83=E3=80=90=E8=B0=83?= =?UTF-8?q?=E5=BA=A6=E3=80=91bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/xianding.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/character/xianding.js b/character/xianding.js index 005e6eaac..abbe0652c 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -409,12 +409,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return target!=get.event('aim'); },true).set('ai',target=>{ const player=get.event('player'); - return att=get.attitude(player,target); + return get.attitude(player,target); }).set('aim',aim); if(bool&&get.owner(card)==player){ const target=targets[0]; player.line(target,'green'); - await player.give([card],target); + if(target!=player) await player.give([card],target); if(get.owner(card)==target){ const {result:{bool}}=await target.chooseUseTarget(card); if(bool) await player.draw(); From 697254765a6ca341970125c980cac16b70c120c0 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 09:04:37 +0800 Subject: [PATCH 32/49] =?UTF-8?q?=E5=90=95=E8=8C=83=E3=80=90=E5=85=B8?= =?UTF-8?q?=E8=B4=A2=E3=80=91bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/xianding.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/character/xianding.js b/character/xianding.js index abbe0652c..904c79a7c 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -429,7 +429,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, inherit:'mbdiancai', filter(event,player){ - if(!player.getHp()||_status.currentPhase===player) return false; + if(_status.currentPhase===player) return false; let num=player.getHistory('lose',evt=>{ return evt.cards2&&evt.cards2.length&&evt.getParent('phaseUse')==event; }).reduce((sum,evt)=>{ From 2f1225b52cbfcd537ae7bde186df528c45f88d4e Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 18:01:54 +0800 Subject: [PATCH 33/49] =?UTF-8?q?OL=E9=99=86=E5=87=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/rank.js | 2 + character/sp.js | 232 ++++++++++++++++++++++++++++++++++- image/character/ol_lukai.jpg | Bin 0 -> 42267 bytes 3 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 image/character/ol_lukai.jpg diff --git a/character/rank.js b/character/rank.js index 8b92144e0..42662b99f 100644 --- a/character/rank.js +++ b/character/rank.js @@ -966,6 +966,7 @@ window.noname_character_rank={ 'dc_liuba', 'key_seira', 'lukai', + 'ol_lukai', 'niufu', 're_liufeng', 'huzhao', @@ -2569,6 +2570,7 @@ window.noname_character_rank={ 'dc_wangchang', 'jin_zhouchu', 'lukai', + 'ol_lukai', 'caoxiancaohua', 'huzhao', 're_liufeng', diff --git a/character/sp.js b/character/sp.js index 3b9ff8a9b..a33434628 100755 --- a/character/sp.js +++ b/character/sp.js @@ -18,7 +18,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_zhongdan:["cuiyan","huangfusong"], sp_guozhan2:["sp_dongzhuo","liqueguosi","zhangren"], sp_others:["hanba","caiyang"], - sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_liwan','ol_liuyan','caoyu','liupan'], + sp_waitforsort:['ol_luyusheng','ol_pengyang','ol_tw_zhangji','ol_liwan','ol_liuyan','caoyu','liupan','ol_lukai'], }, }, characterFilter:{ @@ -30,6 +30,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, character:{ + ol_lukai:['male','wu',3,['olxuanzhu','oljiane']], liupan:['male','qun',4,['olpijing']], guotu:['male','qun',3,['olqushi','olweijie']], ol_hujinding:['female','shu',3,['olqingyuan','olchongshen']], @@ -710,6 +711,224 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, skill:{ + //陆凯 + olxuanzhu:{ + mark:true, + marktext:'☯', + zhuanhuanji:true, + intro:{ + content(storage){ + if(storage) return '每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。'; + return '每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用任意基本牌。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。'; + }, + }, + audio:2, + enable:'chooseToUse', + filter(event,player){ + if(!player.countCards('he')||event.type=='wuxie') return false; + return get.inpileVCardList(info=>{ + const name=info[2],type=get.type(name),infox=get.info({name:name}); + if(type!='basic'&&type!='trick') return false; + if(type=='trick'&&(!infox||!infox.filterTarget)) return false; + return (type!='basic')==(player.storage.olxuanzhu||false); + }).some(card=>event.filterCard({name:card[2],nature:card[3]},player,event)); + }, + usable:1, + chooseButton:{ + dialog(event,player){ + const list=get.inpileVCardList(info=>{ + const name=info[2],type=get.type(name),infox=get.info({name:name}); + if(type!='basic'&&type!='trick') return false; + if(type=='trick'&&(!infox||!infox.filterTarget)) return false; + return (type!='basic')==(player.storage.olxuanzhu||false); + }).filter(card=>event.filterCard({name:card[2],nature:card[3]},player,event)); + return ui.create.dialog('玄注',[list,'vcard']); + }, + check(button){ + if(get.event().getParent().type!='phase') return 1; + return get.event('player').getUseValue({name:button.link[2],nature:button.link[3]}); + }, + backup(links,player){ + let next={ + audio:'olxuanzhu', + filterCard:true, + popname:true, + check(card){ + return 1/(get.value(card)||0.5); + }, + position:'he', + ignoreMod:true, + precontent(){ + const cards=event.result.cards.slice(); + player.addToExpansion(cards,player,'give').gaintag.add('olxuanzhu'); + const viewAs={name:event.result.card.name,nature:event.result.card.nature}; + event.result.card=viewAs;event.result.cards=[]; + player.when('useCardAfter').filter(evt=>evt.skill=='olxuanzhu_backup').then(()=>{ + const card=cards[0]; + if(get.type(card)!='equip') player.chooseToDiscard('he',true); + else{ + const cardx=player.getExpansions('olxuanzhu'); + if(cardx.length){ + player.loseToDiscardpile(cardx); + player.draw(cardx.length); + } + } + }).vars({cards:cards}); + }, + }; + const viewAs={ + name:links[0][2], + nature:links[0][3], + suit:'none', + number:null, + isCard:true, + }; + next.viewAs=viewAs; + if(get.info('xunshi').isXunshi(viewAs)){ + next.filterTarget=function(card,player,target){ + const info=get.info(card); + if(info.changeTarget){ + let targets=[target]; + info.changeTarget(player,targets); + if(targets.length>1) return false; + } + return lib.filter.filterTarget(card,player,target); + }; + next.selectTarget=1; + } + return next; + }, + prompt(links,player){ + const viewAs={ + name:links[0][2], + nature:links[0][3], + suit:'none', + number:null, + isCard:true, + }; + const str='将一张牌称为“玄”置于武将牌上,然后视为使用'+(get.translation(links[0][3])||'')+'【'+get.translation(links[0][2])+'】'; + return str+(get.info('xunshi').isXunshi(viewAs)=='trick'?'(仅能指定一个目标)':''); + }, + }, + hiddenCard(player,name){ + if(!lib.inpile.includes(name)||player.getStat('skill').olsbweilin||!player.countCards('he')) return false; + return get.inpileVCardList(info=>{ + const name=info[2],type=get.type(name),infox=get.info({name:name}); + if(type!='basic'&&type!='trick') return false; + if(type=='trick'&&(!infox||!infox.filterTarget)) return false; + return (type!='basic')==(player.storage.olxuanzhu||false); + }).map(card=>card[2]).includes(name); + }, + ai:{ + order(item,player){ + if(player&&get.event().type=='phase'){ + let list=get.inpileVCardList(info=>{ + const name=info[2],type=get.type(name),infox=get.info({name:name}); + if(type!='basic'&&type!='trick') return false; + if(type=='trick'&&(!infox||!infox.filterTarget)) return false; + return (type!='basic')==(player.storage.olxuanzhu||false); + }).map(card=>{return {name:card[2],nature:card[3]}}).filter(card=>player.getUseValue(card,true,true)>0); + if(!list.length) return 0; + list.sort((a,b)=>{ + const getNum=function(card){ + if(get.info('xunshi').isXunshi(card)) return get.effect(game.filterPlayer(target=>{ + return player.canUse(card,target,true,true); + }).sort((a,b)=>get.effect(b,card,player,player)-get.effect(a,card,player,player)),card,player,player); + return player.getUseValue(card,true,true); + }; + return (getNum(b)||0)-(getNum(a)||0); + }); + return get.order(list[0],player)*0.99; + } + return 0.001; + }, + respondSha:true, + respondShan:true, + skillTagFilter(player,tag,arg){ + if(arg=='respond') return false; + const name=(tag=='respondSha'?'sha':'shan'); + return get.info('olxuanzhu').hiddenCard(player,name); + }, + result:{player:1}, + }, + marktext:'玄', + intro:{ + content:'expansion', + markcount:'expansion', + }, + onremove(player,skill){ + const cards=player.getExpansions(skill); + if(cards.length) player.loseToDiscardpile(cards); + }, + subSkill:{backup:{}}, + }, + oljiane:{ + audio:2, + trigger:{player:['shaDamage','useCardToEnd']}, + filter(event,player,name){ + if(event.type!='card'||event.target==player) return false; + if(name=='shaDamage') return true; + return event.card.name!='sha'&&!event.getParent()._neutralized; + }, + logTarget:'target', + forced:true, + async content(event,trigger,player){ + trigger.target.addTempSkill('oljiane_neutralized'); + }, + group:'oljiane_neutralize', + global:'oljiane_ai', + subSkill:{ + neutralize:{ + audio:'oljiane', + trigger:{ + target:'shaMiss', + global:'eventNeutralized', + }, + filter(event,player,name){ + if(event.type!='card') return false; + return name=='shaMiss'||event._neutralize_event.player==player; + }, + forced:true, + async content(event,trigger,player){ + player.addTempSkill('oljiane_nouse'); + }, + }, + ai:{ + ai:{ + directHit_ai:true, + skillTagFilter(player,tag,arg){ + if(!arg||!arg.target||!arg.target.hasSkill('oljiane_neutralized')) return false; + }, + }, + }, + neutralized:{ + charlotte:true, + mark:true, + marktext:'牌', + intro:{content:'本回合无法抵消牌'}, + trigger:{global:'useCard'}, + forced:true, + popup:false, + async content(event,trigger,player){ + const id=player.playerid; + const map=trigger.customArgs; + if(!map[id]) map[id]={}; + map[id].directHit2=true; + }, + mod:{ + wuxieJudgeEnabled:()=>false, + wuxieEnabled:()=>false, + }, + }, + neuse:{ + charlotte:true, + mark:true, + marktext:'', + intro:{content:'本回合无法成为牌的目标'}, + mod:{targetEnabled:()=>false}, + }, + }, + }, //刘磐 olpijing:{ audio:2, @@ -26184,6 +26403,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ str+='然后若没有角色因此【杀】死亡,你移除本次被选择的项。'; return str; }, + olxuanzhu(player){ + if(player.storage.olxuanzhu) return '转换技,每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用:阴,任意基本牌;阳,任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。'; + return '转换技,每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用:阴,任意基本牌;阳,任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。'; + }, }, characterReplace:{ guanyinping:['guanyinping','old_guanyinping'], @@ -26247,6 +26470,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhugedan:['re_zhugedan','zhugedan'], zhangren:['jsrg_zhangren','zhangren'], wenqin:['ol_wenqin','pe_wenqin'], + lukai:['ol_lukai','lukai'], }, translate:{ "xinfu_lingren":"凌人", @@ -27472,6 +27696,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ liupan:'刘磐', olpijing:'披荆', olpijing_info:'每回合限一次,当你使用黑色【杀】或黑色普通锦囊牌指定唯一目标后,你可以令至多X名其他角色成为此牌的额外目标并依次交给你一张牌(X为你已损失的体力值且X至少为1)。这些角色下次使用基本牌或普通锦囊牌指定唯一目标时,其可令你成为此牌的额外目标或摸一张牌。', + ol_lukai:'OL陆凯', + ol_lukai_prefix:'OL', + olxuanzhu:'玄注', + olxuanzhu_info:'转换技,每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用:阴,任意基本牌;阳,任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。', + oljiane:'謇谔', + oljiane_info:'锁定技。①当你对其他角色使用的牌生效后,其本回合无法抵消牌。②当你抵消牌后,你本回合无法成为牌的目标。', sp_tianji:'天极·皇室宗亲', sp_sibi:'四弼·辅国文曲', diff --git a/image/character/ol_lukai.jpg b/image/character/ol_lukai.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ed8ce89385983ad3a9b198aefefc37dd39f26b5d GIT binary patch literal 42267 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φeeD@0h7K(^N;z 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 `yE##0(IqFz) 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 ZsQoEa0C+SsY^RaMGn|_BY Date: Thu, 7 Mar 2024 18:16:13 +0800 Subject: [PATCH 34/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8B=BC=E5=86=99?= =?UTF-8?q?=E9=94=99=E8=AF=AF+=E3=80=90=E7=8E=84=E6=B3=A8=E3=80=91?= =?UTF-8?q?=E4=B8=8D=E8=BD=AC=E6=8D=A2=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/character/sp.js b/character/sp.js index a33434628..86bb56b7c 100755 --- a/character/sp.js +++ b/character/sp.js @@ -775,6 +775,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }).vars({cards:cards}); }, + onuse(result,player){ + player.changeZhuanhuanji('olxuanzhu'); + }, }; const viewAs={ name:links[0][2], @@ -811,7 +814,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, hiddenCard(player,name){ - if(!lib.inpile.includes(name)||player.getStat('skill').olsbweilin||!player.countCards('he')) return false; + if(!lib.inpile.includes(name)||player.getStat('skill').olxuanzhu||!player.countCards('he')) return false; return get.inpileVCardList(info=>{ const name=info[2],type=get.type(name),infox=get.info({name:name}); if(type!='basic'&&type!='trick') return false; @@ -920,7 +923,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wuxieEnabled:()=>false, }, }, - neuse:{ + nouse:{ charlotte:true, mark:true, marktext:'', From ff56988a09bad8eeebbe6d8e2ce3002dc06f4974 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 18:17:52 +0800 Subject: [PATCH 35/49] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/character/sp.js b/character/sp.js index 86bb56b7c..1d50da779 100755 --- a/character/sp.js +++ b/character/sp.js @@ -869,7 +869,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, trigger:{player:['shaDamage','useCardToEnd']}, filter(event,player,name){ - if(event.type!='card'||event.target==player) return false; + if(event.type!='card'||!event.target||event.target==player) return false; if(name=='shaDamage') return true; return event.card.name!='sha'&&!event.getParent()._neutralized; }, From 48d0fd15fe46c4696ba6487bc8956ea29b5c6c9f Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 18:20:00 +0800 Subject: [PATCH 36/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E3=80=90=E7=8E=84?= =?UTF-8?q?=E6=B3=A8=E3=80=91=E5=90=8C=E6=97=B6=E5=AD=98=E5=9C=A8=E5=A4=9A?= =?UTF-8?q?=E4=B8=AAmarktext=E7=9A=84bug=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E3=80=90=E8=AC=87=E8=B0=94=E3=80=91=E8=83=BD=E5=AF=B9=E6=AD=BB?= =?UTF-8?q?=E4=BA=BA=E5=8F=91=E5=8A=A8=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/character/sp.js b/character/sp.js index 1d50da779..76a249224 100755 --- a/character/sp.js +++ b/character/sp.js @@ -854,7 +854,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, result:{player:1}, }, - marktext:'玄', intro:{ content:'expansion', markcount:'expansion', @@ -869,7 +868,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, trigger:{player:['shaDamage','useCardToEnd']}, filter(event,player,name){ - if(event.type!='card'||!event.target||event.target==player) return false; + if(event.type!='card'||!event.target||!event.target.isIn()||event.target==player) return false; if(name=='shaDamage') return true; return event.card.name!='sha'&&!event.getParent()._neutralized; }, From 03ceb405343d3a8a6a645dbff6395973ada9304c Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 18:21:22 +0800 Subject: [PATCH 37/49] =?UTF-8?q?=E3=80=90=E7=8E=84=E6=B3=A8=E3=80=91promp?= =?UTF-8?q?t=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/character/sp.js b/character/sp.js index 76a249224..49b465880 100755 --- a/character/sp.js +++ b/character/sp.js @@ -810,7 +810,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ isCard:true, }; const str='将一张牌称为“玄”置于武将牌上,然后视为使用'+(get.translation(links[0][3])||'')+'【'+get.translation(links[0][2])+'】'; - return str+(get.info('xunshi').isXunshi(viewAs)=='trick'?'(仅能指定一个目标)':''); + return str+(get.info('xunshi').isXunshi(viewAs)?'(仅能指定一个目标)':''); }, }, hiddenCard(player,name){ From cd3e9e074047f45ad73b546314e0e661adb06ba8 Mon Sep 17 00:00:00 2001 From: Cheng Jingxuan Date: Thu, 7 Mar 2024 18:32:25 +0800 Subject: [PATCH 38/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dfix=E4=B9=8Bfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/get/is.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noname/get/is.js b/noname/get/is.js index b01aeb4cd..3572cce09 100644 --- a/noname/get/is.js +++ b/noname/get/is.js @@ -132,7 +132,7 @@ export class Is extends Uninstantable { */ // @ts-ignore static virtualCard(card) { - return !card.isCard || (!("cards" in card) || !Array.isArray(card.cards) || card.cards.length === 0); + return card.isCard && (!("cards" in card) || !Array.isArray(card.cards) || card.cards.length === 0); } /** * 是否是转化牌 From 51ae0e6f4e509538a61e243ebd0f0f8670ba5dbd Mon Sep 17 00:00:00 2001 From: Cheng Jingxuan Date: Thu, 7 Mar 2024 18:36:44 +0800 Subject: [PATCH 39/49] =?UTF-8?q?=E5=8E=BB=E6=8E=89`isCard`=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/get/is.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noname/get/is.js b/noname/get/is.js index 3572cce09..143bde0f1 100644 --- a/noname/get/is.js +++ b/noname/get/is.js @@ -132,7 +132,7 @@ export class Is extends Uninstantable { */ // @ts-ignore static virtualCard(card) { - return card.isCard && (!("cards" in card) || !Array.isArray(card.cards) || card.cards.length === 0); + return (!("cards" in card) || !Array.isArray(card.cards) || card.cards.length === 0); } /** * 是否是转化牌 From b1d7ea842e6f4855c0e6db7ea6d6285bf53d3a90 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 19:10:47 +0800 Subject: [PATCH 40/49] =?UTF-8?q?=E4=BC=98=E5=8C=96OL=E9=99=86=E5=87=AF?= =?UTF-8?q?=E3=80=90=E7=8E=84=E6=B3=A8=E3=80=91=E7=9A=84=E6=A0=87=E8=AE=B0?= =?UTF-8?q?=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/character/sp.js b/character/sp.js index 49b465880..3e3e3b04d 100755 --- a/character/sp.js +++ b/character/sp.js @@ -716,12 +716,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ mark:true, marktext:'☯', zhuanhuanji:true, - intro:{ - content(storage){ - if(storage) return '每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。'; - return '每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用任意基本牌。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。'; - }, - }, audio:2, enable:'chooseToUse', filter(event,player){ @@ -855,8 +849,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ result:{player:1}, }, intro:{ - content:'expansion', markcount:'expansion', + mark(dialog,storage,player){ + const cards=player.getExpansions('olxuanzhu'); + if(cards.length) dialog.addSmall(player.getExpansions('olxuanzhu')); + dialog.addText((()=>{ + if(storage) return '每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用任意普通锦囊牌(须指定目标且仅指定一个目标)。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。'; + return '每回合限一次,你可以将一张牌称为“玄”置于武将牌上,然后视为使用任意基本牌。若此次置于武将牌上的“玄”:不为装备牌,你弃置一张牌;为装备牌,你将所有“玄”置入弃牌堆,然后摸等量的牌。'; + })(storage)); + }, }, onremove(player,skill){ const cards=player.getExpansions(skill); From b7bea6ea992318b6202e18e5f7ae6002161e0b40 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 19:14:27 +0800 Subject: [PATCH 41/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8DOL=E9=99=86=E5=87=AF?= =?UTF-8?q?=E3=80=90=E7=8E=84=E6=B3=A8=E3=80=91ai=E5=BC=B9=E7=AA=97bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/character/sp.js b/character/sp.js index 3e3e3b04d..0887f4c77 100755 --- a/character/sp.js +++ b/character/sp.js @@ -830,7 +830,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ const getNum=function(card){ if(get.info('xunshi').isXunshi(card)) return get.effect(game.filterPlayer(target=>{ return player.canUse(card,target,true,true); - }).sort((a,b)=>get.effect(b,card,player,player)-get.effect(a,card,player,player)),card,player,player); + }).sort((a,b)=>get.effect(b,card,player,player)-get.effect(a,card,player,player))[0],card,player,player); return player.getUseValue(card,true,true); }; return (getNum(b)||0)-(getNum(a)||0); From c008aae009e687424207b7b392bcde66b1950aab Mon Sep 17 00:00:00 2001 From: Spmario233 Date: Thu, 7 Mar 2024 21:46:18 +0800 Subject: [PATCH 42/49] v1.10.9 metadata --- game/asset.js | 34 ++++++++++++++++++++++++++++++++++ game/update.js | 42 ++++++++++++++++-------------------------- 2 files changed, 50 insertions(+), 26 deletions(-) diff --git a/game/asset.js b/game/asset.js index 3ed1953a6..ecb8fc610 100644 --- a/game/asset.js +++ b/game/asset.js @@ -268,6 +268,7 @@ window.noname_asset_list=[ 'audio/die/db_wenyang.mp3', 'audio/die/dc_bulianshi.mp3', 'audio/die/dc_caiyang.mp3', + 'audio/die/dc_caoshuang.mp3', 'audio/die/dc_caozhi.mp3', 'audio/die/dc_chenqun.mp3', 'audio/die/dc_dengzhi.mp3', @@ -384,6 +385,7 @@ window.noname_asset_list=[ 'audio/die/guohuanghou.mp3', 'audio/die/guojia.mp3', 'audio/die/guosi.mp3', + 'audio/die/guotu.mp3', 'audio/die/guotufengji.mp3', 'audio/die/guozhao.mp3', 'audio/die/guyong.mp3', @@ -477,6 +479,7 @@ window.noname_asset_list=[ 'audio/die/jsp_caoren.mp3', 'audio/die/jsp_guanyu.mp3', 'audio/die/jsp_huangyueying.mp3', + 'audio/die/junk_guanyu.mp3', 'audio/die/kanze.mp3', 'audio/die/kebineng.mp3', 'audio/die/key_abyusa.mp3', @@ -623,6 +626,7 @@ window.noname_asset_list=[ 'audio/die/ol_sb_guanyu.mp3', 'audio/die/ol_sb_jiangwei.mp3', 'audio/die/ol_sb_taishici.mp3', + 'audio/die/ol_sb_yuanshao.mp3', 'audio/die/ol_sp_zhugeliang.mp3', 'audio/die/ol_sunjian.mp3', 'audio/die/ol_wangrong.mp3', @@ -1859,6 +1863,8 @@ window.noname_asset_list=[ 'audio/skill/dcenyu2.mp3', 'audio/skill/dcfangdu1.mp3', 'audio/skill/dcfangdu2.mp3', + 'audio/skill/dcfanshi1.mp3', + 'audio/skill/dcfanshi2.mp3', 'audio/skill/dcfanyin1.mp3', 'audio/skill/dcfanyin2.mp3', 'audio/skill/dcfaqi1.mp3', @@ -1873,6 +1879,8 @@ window.noname_asset_list=[ 'audio/skill/dcfozong2.mp3', 'audio/skill/dcfudao1.mp3', 'audio/skill/dcfudao2.mp3', + 'audio/skill/dcfudou1.mp3', + 'audio/skill/dcfudou2.mp3', 'audio/skill/dcfuli1.mp3', 'audio/skill/dcfuli2.mp3', 'audio/skill/dcfumou1.mp3', @@ -1919,6 +1927,8 @@ window.noname_asset_list=[ 'audio/skill/dcjianying2.mp3', 'audio/skill/dcjianzheng1.mp3', 'audio/skill/dcjianzheng2.mp3', + 'audio/skill/dcjianzhuan1.mp3', + 'audio/skill/dcjianzhuan2.mp3', 'audio/skill/dcjiaofeng1.mp3', 'audio/skill/dcjiaofeng2.mp3', 'audio/skill/dcjiaoxia1.mp3', @@ -3645,6 +3655,8 @@ window.noname_asset_list=[ 'audio/skill/olqingyuan2.mp3', 'audio/skill/olqisi1.mp3', 'audio/skill/olqisi2.mp3', + 'audio/skill/olqushi1.mp3', + 'audio/skill/olqushi2.mp3', 'audio/skill/olruoyu1.mp3', 'audio/skill/olruoyu2.mp3', 'audio/skill/olsaogu1.mp3', @@ -3659,10 +3671,17 @@ window.noname_asset_list=[ 'audio/skill/olsbfumeng2.mp3', 'audio/skill/olsbguidao1.mp3', 'audio/skill/olsbguidao2.mp3', + 'audio/skill/olsbhetao1.mp3', + 'audio/skill/olsbhetao2.mp3', 'audio/skill/olsbranji1.mp3', 'audio/skill/olsbranji2.mp3', + 'audio/skill/olsbshenli1.mp3', + 'audio/skill/olsbshenli2.mp3', + 'audio/skill/olsbshishou1.mp3', + 'audio/skill/olsbshishou2.mp3', 'audio/skill/olsbweilin1.mp3', 'audio/skill/olsbweilin2.mp3', + 'audio/skill/olsbyufeng1.mp3', 'audio/skill/olsbzhuri1.mp3', 'audio/skill/olsbzhuri2.mp3', 'audio/skill/olshandao1.mp3', @@ -3691,6 +3710,8 @@ window.noname_asset_list=[ 'audio/skill/oltuntian2.mp3', 'audio/skill/olweifu1.mp3', 'audio/skill/olweifu2.mp3', + 'audio/skill/olweijie1.mp3', + 'audio/skill/olweijie2.mp3', 'audio/skill/olxianbi1.mp3', 'audio/skill/olxianbi2.mp3', 'audio/skill/olxiangxv1.mp3', @@ -6669,6 +6690,7 @@ window.noname_asset_list=[ 'image/card/shujinsan.png', 'image/card/shunshou.png', 'image/card/sifeizhenmian.png', + 'image/card/sizhaojian.png', 'image/card/suijiyingbian.png', 'image/card/suolianjia.png', 'image/card/taigongyinfu.png', @@ -6726,6 +6748,7 @@ window.noname_asset_list=[ 'image/card/xuanyuanjian.png', 'image/card/xuejibingbao.png', 'image/card/xuelunyang.png', + 'image/card/xumou_jsrg.jpg', 'image/card/yajiaoqiang.png', 'image/card/yangpijuan.png', 'image/card/yanjiadan_club.png', @@ -6878,6 +6901,7 @@ window.noname_asset_list=[ 'image/character/dc_bulianshi.jpg', 'image/character/dc_caiyang.jpg', 'image/character/dc_caocao.jpg', + 'image/character/dc_caoshuang.jpg', 'image/character/dc_caozhi.jpg', 'image/character/dc_chenqun.jpg', 'image/character/dc_daxiaoqiao.jpg', @@ -6913,8 +6937,11 @@ window.noname_asset_list=[ 'image/character/dc_mifuren.jpg', 'image/character/dc_ruiji.jpg', 'image/character/dc_sb_lusu.jpg', + 'image/character/dc_sb_simayi.jpg', + 'image/character/dc_sb_simayi_shadow.jpg', 'image/character/dc_sb_zhouyu.jpg', 'image/character/dc_shixie.jpg', + 'image/character/dc_simashi.jpg', 'image/character/dc_sp_jiaxu.jpg', 'image/character/dc_sp_machao.jpg', 'image/character/dc_sunce.jpg', @@ -6926,6 +6953,7 @@ window.noname_asset_list=[ 'image/character/dc_tengfanglan.jpg', 'image/character/dc_wangchang.jpg', 'image/character/dc_wangjun.jpg', + 'image/character/dc_wangling.jpg', 'image/character/dc_wangyun.jpg', 'image/character/dc_wuban.jpg', 'image/character/dc_xiahouba.jpg', @@ -7073,6 +7101,7 @@ window.noname_asset_list=[ 'image/character/guohuanghou.jpg', 'image/character/guojia.jpg', 'image/character/guosi.jpg', + 'image/character/guotu.jpg', 'image/character/guotufengji.jpg', 'image/character/guozhao.jpg', 'image/character/guyong.jpg', @@ -7446,6 +7475,7 @@ window.noname_asset_list=[ 'image/character/jun_sunquan.jpg', 'image/character/jun_zhangjiao.jpg', 'image/character/junk_duanwei.jpg', + 'image/character/junk_guanyu.jpg', 'image/character/junk_huangyueying.jpg', 'image/character/junk_lidian.jpg', 'image/character/junk_liubei.jpg', @@ -7572,6 +7602,7 @@ window.noname_asset_list=[ 'image/character/liufeng.jpg', 'image/character/liuhong.jpg', 'image/character/liuhui.jpg', + 'image/character/liupan.jpg', 'image/character/liupi.jpg', 'image/character/liuqi.jpg', 'image/character/liushan.jpg', @@ -7742,6 +7773,7 @@ window.noname_asset_list=[ 'image/character/ol_liushan.jpg', 'image/character/ol_liuyu.jpg', 'image/character/ol_liwan.jpg', + 'image/character/ol_lukai.jpg', 'image/character/ol_lusu.jpg', 'image/character/ol_luyusheng.jpg', 'image/character/ol_maliang.jpg', @@ -7754,6 +7786,7 @@ window.noname_asset_list=[ 'image/character/ol_sb_guanyu.jpg', 'image/character/ol_sb_jiangwei.jpg', 'image/character/ol_sb_taishici.jpg', + 'image/character/ol_sb_yuanshao.jpg', 'image/character/ol_sp_zhugeliang.jpg', 'image/character/ol_sunjian.jpg', 'image/character/ol_wanglang.jpg', @@ -8287,6 +8320,7 @@ window.noname_asset_list=[ 'image/character/star_dongzhuo.jpg', 'image/character/star_yuanshao.jpg', 'image/character/star_yuanshu.jpg', + 'image/character/star_zhangchunhua.jpg', 'image/character/std_panfeng.jpg', 'image/character/sunce.jpg', 'image/character/sunchen.jpg', diff --git a/game/update.js b/game/update.js index 5492fcd73..85f4da8fe 100644 --- a/game/update.js +++ b/game/update.js @@ -1,14 +1,17 @@ window.noname_update={ - version:'1.10.8', - update:'1.10.7.1', + version:'1.10.9', + update:'1.10.8', changeLog:[ - '整合@mengxinzxz @Rintim @universe-st @nonameShijian @kuangshen04 @copcap @lieren2023 @7754496 的Pull Request', - '“获得技能时/失去技能时”的新时机', + '整合@mengxinzxz @copcap @hadeszoro @universe-st @cjk7989 @PZ157 @lieren2023 @Ansolve @Rintim @kuangshen04 @XboxSoldier 的Pull Request', + 'OL谋袁绍、郭图、刘磐、陆凯、谋关羽(初版)', + '十周年谋司马懿、曹爽、星张春华、司马师、王凌、蒋济、公孙修、胡遵、吕范、李傕郭汜、臧霸、陈武董袭', + '“转化牌花色/点数”的模糊匹配', '其他AI优化与bug修复', ], files:[ - 'card/swd.js', - 'card/yunchou.js', + 'card/extra.js', + 'card/guozhan.js', + 'card/standard.js', 'character/clan.js', 'character/collab.js', @@ -30,16 +33,18 @@ window.noname_update={ 'character/sp.js', 'character/sp2.js', 'character/standard.js', + 'character/swd.js', 'character/tw.js', 'character/xianding.js', + 'character/xianjian.js', 'character/xinghuoliaoyuan.js', 'character/yijiang.js', 'character/yingbian.js', - 'game/entry.js', 'game/game.js', 'mode/boss.js', + 'mode/brawl.js', 'mode/guozhan.js', 'mode/identity.js', 'mode/versus.js', @@ -47,36 +52,21 @@ window.noname_update={ 'noname/game/index.js', 'noname/get/index.js', - - 'noname/init/cordova.js', - 'noname/init/import.js', - 'noname/init/index.js', - 'noname/init/onload.js', + 'noname/get/is.js', 'noname/library/index.js', - 'noname/library/element/card.js', + 'noname/library/element/button.js', 'noname/library/element/content.js', + 'noname/library/element/contents.js', 'noname/library/element/gameEvent.js', 'noname/library/element/player.js', + 'noname/library/element/vcard.js', 'noname/library/init/index.js', - 'noname/ui/index.js', - - 'noname/ui/click/index.js', - 'noname/ui/create/index.js', 'noname/ui/create/menu/index.js', - - 'noname/ui/create/menu/pages/cardPackMenu.js', - 'noname/ui/create/menu/pages/characterPackMenu.js', - 'noname/ui/create/menu/pages/extensionMenu.js', - 'noname/ui/create/menu/pages/optionsMenu.js', - 'noname/ui/create/menu/pages/otherMenu.js', - 'noname/ui/create/menu/pages/startMenu.js', - - 'service-worker.js', ] }; From a630df7ff6653168d345acf640d0f57de16c5466 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Thu, 7 Mar 2024 23:42:17 +0800 Subject: [PATCH 43/49] =?UTF-8?q?OL=E8=B0=8B=E8=A2=81=E7=BB=8D=E3=80=90?= =?UTF-8?q?=E7=A5=9E=E7=A6=BB=E3=80=91=E6=8F=8F=E8=BF=B0/=E6=95=88?= =?UTF-8?q?=E6=9E=9Cfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/onlyOL.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/character/onlyOL.js b/character/onlyOL.js index 1e7f5da6e..9ac091b48 100644 --- a/character/onlyOL.js +++ b/character/onlyOL.js @@ -157,8 +157,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ const bool=(sum>player.countCards('h')),goon=(sum>player.getHp()); if(bool) player.draw(Math.min(5,sum)); if(goon){ - const targets=game.filterPlayer(target=>trigger.targets.includes(target)) - if(targets.length) player.useCard(trigger.card,targets,false); + const targets=game.filterPlayer(target=>trigger.targets.includes(target)&&player.canUse(trigger.card,target,false)); + if(targets.length&&(!trigger.cards||!trigger.cards.length||trigger.cards.every(card=>{ + return !get.owner(card); + }))) player.useCard(trigger.card,targets,false); } }); }, @@ -1040,7 +1042,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olsbhetao:'合讨', olsbhetao_info:'其他角色使用牌执行第一个目标后,若此牌指定的目标数大于1,则你可以弃置一张与此牌颜色相同的牌并令此牌改为对其中一名目标角色结算两次。', olsbshenli:'神离', - olsbshenli_info:'出牌阶段限一次,当你使用【杀】指定目标后,你可以令所有可成为此牌目标的其他角色均成为此牌目标,此牌结算完毕后,若你因此牌造成的伤害值X:大于你的手牌数,你摸X张牌(至多摸五张);大于你的体力值,你令此牌额外结算一次。', + olsbshenli_info:'出牌阶段限一次,当你使用【杀】指定目标后,你可以令所有可成为此牌目标的其他角色均成为此牌目标,此牌结算完毕后,若你因此牌造成的伤害值X:大于你的手牌数,你摸X张牌(至多摸五张);大于你的体力值,你再次对所有目标角色中可以成为此牌目标的角色使用此牌。', olsbyufeng:'玉锋', olsbyufeng_sizhaojian:'思召剑', olsbyufeng_block:'思召剑', From 8de7cf57bfafd4548d9573251830631e9b79ef1e Mon Sep 17 00:00:00 2001 From: kuangshen04 <2832899707@qq.com> Date: Thu, 7 Mar 2024 23:51:55 +0800 Subject: [PATCH 44/49] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=80=9F=E5=88=80?= =?UTF-8?q?=E6=9D=80=E4=BA=BAcomplexTarget=E6=B2=A1=E6=9C=89=E7=94=9F?= =?UTF-8?q?=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- noname/game/index.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/noname/game/index.js b/noname/game/index.js index 5407f0c13..f0ffc7fdf 100644 --- a/noname/game/index.js +++ b/noname/game/index.js @@ -5874,17 +5874,18 @@ export class Game extends Uninstantable { return false; } - const useCache = !lib.config.compatiblemode && !event.skill && !event.multitarget - && ['button', 'card', 'target'].every(type => { - if (!event[`filter${uppercaseType(type)}`]) return true; - // if (typeof event[`select${uppercaseType(type)}`] === 'function') return false; - if (get.select(event[`select${uppercaseType(type)}`])[1] < 0) return false; - if (type === "button") type = "select"; - return !event[`complex${uppercaseType(type)}`]; - }); + let useCache = !lib.config.compatiblemode && !event.skill && !event.multitarget; + const filterCache = type => { + if (get.select(event[`select${uppercaseType(type)}`])[1] < 0) return false; + const cardinfo = get.info(get.card() || {}); + if (cardinfo && cardinfo.complexTarget) return false; + if (type === "button") type = "select"; + return !event[`complex${uppercaseType(type)}`]; + }; ['button', 'card', 'target'].forEach(type => { if (!event[`filter${uppercaseType(type)}`]) return; + if (!filterCache(type)) useCache = false; if (!ok) game.uncheck(type); else ({ ok, auto = auto } = game.Check[type](event, useCache)); }); From aaa7e66ba71840dd04fb6c78b1244e76cf5ff0d4 Mon Sep 17 00:00:00 2001 From: lieren2023 <131325076+lieren2023@users.noreply.github.com> Date: Fri, 8 Mar 2024 08:56:03 +0800 Subject: [PATCH 45/49] =?UTF-8?q?fix=EF=BC=9A=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E4=B8=8D=E7=82=B9=E5=87=BBboss=EF=BC=8C?= =?UTF-8?q?=E6=8C=91=E6=88=98=E6=A8=A1=E5=BC=8F=E2=80=9C=E7=A5=9E=E5=B0=86?= =?UTF-8?q?=E2=80=9D=E6=8C=89=E9=92=AE=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mode/boss.js | 1 + 1 file changed, 1 insertion(+) diff --git a/mode/boss.js b/mode/boss.js index 21ccec660..d40696c6e 100644 --- a/mode/boss.js +++ b/mode/boss.js @@ -80,6 +80,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ event.current=null; var list=[]; + if(lib.storage.current==undefined) lib.storage.current='boss_hundun'; for(var i in lib.character){ var info=lib.character[i]; if(info[4].includes('boss')){ From acd44ee31c2514de554ef750cd8644cc4c861d1f Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Fri, 8 Mar 2024 11:51:47 +0800 Subject: [PATCH 46/49] =?UTF-8?q?=E3=80=90=E4=B9=89=E7=BB=9D=E3=80=91?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sb.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/character/sb.js b/character/sb.js index 0927c735a..5fb639425 100644 --- a/character/sb.js +++ b/character/sb.js @@ -936,8 +936,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, sbyijue:{ audio:2, - trigger:{source:'damageBegin2'}, + trigger:{global:'damageBegin4'}, filter:function(event,player){ + if(!event.source||event.source!=player||event.player==player) return false; return event.num>=event.player.hp&&!player.getStorage('sbyijue').includes(event.player); }, forced:true, @@ -6703,7 +6704,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sbwusheng_info:'你可以将一张手牌当作任意【杀】使用或打出。出牌阶段开始时,你可以选择一名非主公的其他角色,本阶段对其使用【杀】无距离和次数限制,使用【杀】指定其为目标后摸一张牌,对其使用三张【杀】后不能对其使用【杀】。', sbwusheng_info_identity:'你可以将一张手牌当作任意【杀】使用或打出。出牌阶段开始时,你可以选择一名非主公的其他角色,本阶段对其使用【杀】无距离和次数限制,使用【杀】指定其为目标后摸两张牌,对其使用三张【杀】后不能对其使用【杀】。', sbyijue:'义绝', - sbyijue_info:'锁定技,每名角色每局游戏限一次,当你对一名角色造成大于等于其体力值的伤害时,你防止此伤害,且本回合你使用牌指定其为目标时,此牌对其无效。', + sbyijue_info:'锁定技,每名角色每局游戏限一次,一名其他角色受到你对其造成的大于等于其体力值的伤害时,你防止此伤害,且本回合你使用牌指定其为目标时,此牌对其无效。', sb_caopi:'谋曹丕', sb_caopi_prefix:'谋', sbxingshang:'行殇', From f195d859edd504d010649c06eec1baa8b2ed68e5 Mon Sep 17 00:00:00 2001 From: lieren2023 <131325076+lieren2023@users.noreply.github.com> Date: Fri, 8 Mar 2024 15:41:15 +0800 Subject: [PATCH 47/49] =?UTF-8?q?fix=EF=BC=9A=E7=A5=9E=E5=AD=99=E6=9D=83?= =?UTF-8?q?=E9=A9=AD=E8=A1=A1=E5=9B=9E=E5=90=88=E7=BB=93=E6=9D=9F=E4=B8=8D?= =?UTF-8?q?=E4=BC=9A=E6=91=B8=E7=89=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/diy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/character/diy.js b/character/diy.js index 9c060b60e..0cae0351b 100755 --- a/character/diy.js +++ b/character/diy.js @@ -17684,9 +17684,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return player.additionalSkills.junkyuheng&&player.additionalSkills.junkyuheng.length>0; }, async content(event,trigger,player){ - const skills = player.additionalSkills.junkyuheng; + const skillslength = player.additionalSkills.junkyuheng.length; await player.removeAdditionalSkills('junkyuheng'); - await player.draw(skills.length); + await player.draw(skillslength); }, }, }, From 5fa4b7ea376dfa1606dc702645559a25fb683620 Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Fri, 8 Mar 2024 18:09:43 +0800 Subject: [PATCH 48/49] =?UTF-8?q?OL=E5=BD=AD=E7=BE=95=E3=80=90=E5=9A=A3?= =?UTF-8?q?=E7=BF=BB=E3=80=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sp.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/character/sp.js b/character/sp.js index 0887f4c77..5413f32c9 100755 --- a/character/sp.js +++ b/character/sp.js @@ -3248,11 +3248,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, enable:'chooseToUse', hiddenCard:function(player,name){ - if(name!='wuxie'&&lib.inpile.includes(name)&&lib.skill.olqifan.getNum()) return true; + if(name!='wuxie'&&lib.inpile.includes(name)) return true; }, getNum:()=>game.getGlobalHistory('useCard').reduce((list,evt)=>list.add(get.type2(evt.card)),[]).length, filter:function(event,player){ - if(event.responded||event.type=='wuxie'||event.olqifan||!lib.skill.olqifan.getNum()) return false; + if(event.responded||event.type=='wuxie'||event.olqifan) return false; for(var i of lib.inpile){ if(i!='wuxie'&&event.filterCard(get.autoViewAs({name:i},'unsure'),player,event)) return true; } @@ -3263,7 +3263,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 0' var evt=event.getParent(2); evt.set('olqifan',true); - var cards=get.bottomCards(lib.skill.olqifan.getNum(),true); + var cards=get.bottomCards(lib.skill.olqifan.getNum()+1,true); var aozhan=player.hasSkill('aozhan'); player.chooseButton(['嚣翻:选择要使用的牌',cards]).set('filterButton',function(button){ return _status.event.cards.includes(button.link); @@ -27627,7 +27627,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ol_pengyang:'OL彭羕', ol_pengyang_prefix:'OL', olqifan:'嚣翻', - olqifan_info:'当你需要使用不为【无懈可击】的牌时,你可以观看牌堆底的X张牌并使用其中的一张。此牌结算结束时,你依次弃置以下前X个区域中的所有牌:⒈判定区、⒉装备区、⒊手牌区(X为本回合使用过的牌中包含的类型数)。', + olqifan_info:'当你需要使用不为【无懈可击】的牌时,你可以观看牌堆底的X+1张牌并使用其中的一张。此牌结算结束时,你依次弃置以下前X个区域中的所有牌:⒈判定区、⒉装备区、⒊手牌区(X为本回合使用过的牌中包含的类型数)。', oltuishi:'侻失', oltuishi_info:'锁定技。①你不能使用【无懈可击】。②当你使用点数为字母的牌时,你令此牌无效并摸一张牌,且你对手牌数小于你的角色使用的下一张牌无距离和次数限制。', ol_tw_zhangji:'张既', From 2125009bdf5d36c805a05a091b16d5dab8ab268c Mon Sep 17 00:00:00 2001 From: mengxinzxz <2223529500@qq.com> Date: Fri, 8 Mar 2024 19:54:56 +0800 Subject: [PATCH 49/49] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B0=8B=E8=AF=B8?= =?UTF-8?q?=E8=91=9B=E4=BA=AE=E3=80=90=E7=9C=8B=E7=A0=B4=E3=80=91=E4=BA=8E?= =?UTF-8?q?=E6=AC=A2=E4=B9=90=E6=88=90=E5=8F=8C=E6=A8=A1=E5=BC=8F=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E7=9A=84=E6=9C=80=E5=A4=A7=E8=AE=B0=E5=BD=95=E7=89=8C?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- character/sb.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/character/sb.js b/character/sb.js index 5fb639425..9d0f998b4 100644 --- a/character/sb.js +++ b/character/sb.js @@ -1297,7 +1297,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sbkanpo:{ init:function(player){ if(!player.storage.sbkanpo){ - player.storage.sbkanpo=[get.mode()=='doudizhu'?2:4,[],[]]; + player.storage.sbkanpo=[(get.mode()=='doudizhu'||(get.mode()=='versus'&&_status.mode=='two'))?2:4,[],[]]; player.markSkill('sbkanpo'); } }, @@ -6685,6 +6685,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sbkanpo:'看破', sbkanpo_info:'①一轮游戏开始时,你清除〖看破①〗记录的牌名,然后你可以依次记录任意个未于上次发动〖看破①〗记录清除过的非装备牌牌名(对其他角色不可见,每局游戏至多记录4个牌名)。②其他角色使用你〖看破①〗记录过的牌名的牌时,你可以移去一个〖看破①〗中的此牌名的记录令此牌无效,然后你摸一张牌。', sbkanpo_info_doudizhu:'①一轮游戏开始时,你清除〖看破①〗记录的牌名,然后你可以依次记录任意个未于上次发动〖看破①〗记录清除过的非装备牌牌名(对其他角色不可见,每局游戏至多记录2个牌名)。②其他角色使用你〖看破①〗记录过的牌名的牌时,你可以移去一个〖看破①〗中的此牌名的记录令此牌无效,然后你摸一张牌。', + sbkanpo_info_versus_two:'①一轮游戏开始时,你清除〖看破①〗记录的牌名,然后你可以依次记录任意个未于上次发动〖看破①〗记录清除过的非装备牌牌名(对其他角色不可见,每局游戏至多记录2个牌名)。②其他角色使用你〖看破①〗记录过的牌名的牌时,你可以移去一个〖看破①〗中的此牌名的记录令此牌无效,然后你摸一张牌。', sbguanxing:'观星', sbguanxing_info:'①准备阶段,你将所有“星”置入弃牌堆,将牌堆顶的X张牌置于你的武将牌上,称为“星”(X为7-此前发动〖观星①〗次数的三倍,且X至少为0)。然后你可以将任意张“星”置于牌堆顶。②结束阶段,若你未于本回合的准备阶段将“星”置于过牌堆顶,你可以将任意张“星”置于牌堆顶。③你可以如手牌般使用或打出“星”。', sbkongcheng:'空城',