diff --git a/character/refresh.js b/character/refresh.js index ff17ed721..e18acc095 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -10548,10 +10548,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.popup(link); player.syncStorage('rehuashen'); player.updateMarks('rehuashen'); - var skills=game.expandSkills([link]); - skills.forEach(skill=>{ - lib.skill.rehuashen.createAudio(event.card,skill,'re_zuoci'); - }); + lib.skill.rehuashen.createAudio(event.card,link,'re_zuoci'); } }, init:function(player,skill){ @@ -10667,22 +10664,33 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } return node; }, - createAudio:(character,skill,name)=>{ - var info=lib.skill[skill]; - if(!info) return; - if(!info.audioname2) info.audioname2={}; - if(info.audioname&&info.audioname.includes(character)){ - if(info.audio&&typeof info.audio=='string') skill=info.audio; - if(!lib.skill[skill+'_'+character]) lib.skill[skill+'_'+character]={audio:2}; - info.audioname2[name]=(skill+'_'+character); - } - else if(info.audioname2[character]){ - info.audioname2[name]=info.audioname2[character]; - } - else{ - if(info.audio&&typeof info.audio=='string') skill=info.audio; - info.audioname2[name]=skill; + createAudio:(character,skillx,name)=>{ + var skills=game.expandSkills([skillx]); + skills=skills.filter(skill=>get.info(skill)); + if(!skills.length) return; + var skillss=skills.filter(skill=>get.info(skill).derivation); + if(skillss.length){ + skillss.forEach(skill=>{ + var derivationSkill=get.info(skill).derivation; + skills[Array.isArray(derivationSkill)?'addArray':'add'](derivationSkill); + }); } + skills.forEach(skill=>{ + var info=lib.skill[skill]; + if(!info.audioname2) info.audioname2={}; + if(info.audioname&&info.audioname.includes(character)){ + if(info.audio&&typeof info.audio=='string') skill=info.audio; + if(!lib.skill[skill+'_'+character]) lib.skill[skill+'_'+character]={audio:2}; + info.audioname2[name]=(skill+'_'+character); + } + else if(info.audioname2[character]){ + info.audioname2[name]=info.audioname2[character]; + } + else{ + if(info.audio&&typeof info.audio=='string') skill=info.audio; + info.audioname2[name]=skill; + } + }); }, mark:true, intro:{ diff --git a/character/shenhua.js b/character/shenhua.js index 098f8a4d3..f632b0133 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -4459,10 +4459,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.popup(skill); player.syncStorage('huashen'); player.updateMarks('huashen'); - var skills=game.expandSkills([skill]); - skills.forEach(skillx=>{ - lib.skill.rehuashen.createAudio(character,skillx,'zuoci'); - }); + lib.skill.rehuashen.createAudio(character,skill,'zuoci'); } } }