diff --git a/character/onlyOL.js b/character/onlyOL.js index 65a2856f0..4f4e7e6ba 100644 --- a/character/onlyOL.js +++ b/character/onlyOL.js @@ -774,7 +774,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ onlyOL_yijiang1:'OL专属·将1', onlyOL_yijiang2:'OL专属·将2', - onlyOL_sb:'OL专属·上兵伐谋', + onlyOL_sb:'OL专属·谋武将', }, }; }); diff --git a/character/refresh.js b/character/refresh.js index 02b4ef19f..498a65866 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -10589,10 +10589,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var link=result.control; player.storage.rehuashen.current2=link; if(!player.additionalSkills.rehuashen||!player.additionalSkills.rehuashen.includes(link)){ - player.addAdditionalSkill('rehuashen',link); + player.addAdditionalSkills('rehuashen',link); player.flashAvatar('rehuashen',event.card); - game.log(player,'获得了技能','#g【'+get.translation(link)+'】'); - player.popup(link); player.syncStorage('rehuashen'); player.updateMarks('rehuashen'); // lib.skill.rehuashen.createAudio(event.card,link,'re_zuoci'); @@ -10603,6 +10601,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ character:[], map:{}, } + player.when('dieBegin').then(()=>{ + const name=player.name?player.name:player.name1; + if(name){ + const sex=get.character(name,0); + const group=get.character(name,1); + if(player.sex!=sex){ + game.broadcastAll((player,sex)=>{ + player.sex=sex; + },player,sex); + game.log(player,'将性别变为了','#y'+get.translation(sex)+'性'); + } + if(player.group!=group) player.changeGroup(group); + } + }); }, banned:['lisu','sp_xiahoudun','xushao','jsrg_xushao','zhoutai','old_zhoutai','shixie','xin_zhoutai','dc_shixie','old_shixie'], bannedType:['Charlotte','主公技','觉醒技','限定技','隐匿技','使命技'], diff --git a/character/shenhua.js b/character/shenhua.js index ce419f547..6d3d50e85 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -4180,6 +4180,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ owned:{} }; } + player.when('dieBegin').then(()=>{ + const name=player.name?player.name:player.name1; + if(name){ + const sex=get.character(name,0); + const group=get.character(name,1); + if(player.sex!=sex){ + game.broadcastAll((player,sex)=>{ + player.sex=sex; + },player,sex); + game.log(player,'将性别变为了','#y'+get.translation(sex)+'性'); + } + if(player.group!=group) player.changeGroup(group); + } + }); }, intro:{ content:function(storage,player){ @@ -4455,10 +4469,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } player.storage.huashen.current2=skill; if(!player.additionalSkills.huashen||!player.additionalSkills.huashen.includes(skill)){ - player.addAdditionalSkill('huashen',skill); + player.addAdditionalSkills('huashen',skill); player.flashAvatar('huashen',character); - game.log(player,'获得了技能','#g【'+get.translation(skill)+'】'); - player.popup(skill); player.syncStorage('huashen'); player.updateMarks('huashen'); // lib.skill.rehuashen.createAudio(character,skill,'zuoci'); diff --git a/mode/guozhan.js b/mode/guozhan.js index d94814f30..11f1ee0f5 100644 --- a/mode/guozhan.js +++ b/mode/guozhan.js @@ -7661,7 +7661,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, check:function(button){ return 1/(1+game.countPlayer(function(current){ - return current.identity==button.link; + return current.identity==lib.character[button.link][1]; })); }, backup:function(links,player){ @@ -7692,57 +7692,62 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, ai:{ respondShan:true, - skillTagFilter:function(player){ + skillTagFilter:function(player,tag,arg){ + if(arg=='respond'||!lib.inpile.includes('shan')) return false; var storage=player.storage.yigui; - if(!storage||!storage.character.length||storage.used.includes('shan')||!lib.inpile.includes('shan')) return false; + if(!storage||!storage.character.length||storage.used.includes('shan')) return false; }, order:0.1, result:{player:1}, }, }, yigui_gzwuxie:{ - hiddenCard:function(player,name){ - var storage=player.storage.yigui; - if(name!='wuxie'||!storage||!storage.character.length||storage.used.includes(name)||!lib.inpile.includes(name)) return false; - return true; - }, - enable:'chooseToUse', - filter:function(event,player){ - if(event.type!='wuxie'||!event.filterCard({name:'wuxie'},player,event)||!lib.inpile.includes('wuxie')) return false; - var storage=player.storage.yigui,target=event.getParent(2).player; - if(!storage||!target||!storage.character.length||storage.used.includes('wuxie')) return false; - var identity=target.identity; + hiddenWuxie(player,info){ + if(!lib.inpile.includes('wuxie')) return false; + const storage=player.storage.yigui; + if(!storage||!storage.character||!storage.character.length||(storage.used&&storage.used.includes('wuxie'))) return false; + if(_status.connectMode) return true; + const target=info.target; + if(!target) return false; + const identity=target.identity; return ['unknown','ye'].includes(identity)||storage.character.some(function(i){ if(lib.character[i][1]=='ye') return true; - var double=get.is.double(i,true); - var groups=(double?double:[lib.character[i][1]]); - return groups.includes(identity); + const double=get.is.double(i,true); + return (double?double:[lib.character[i][1]]).includes(identity); + }); + }, + enable:'chooseToUse', + filter(event,player){ + if(event.type!='wuxie'||!lib.inpile.includes('wuxie')) return false; + const storage=player.storage.yigui; + if(!storage||!storage.character||!storage.character.length||(storage.used&&storage.used.includes('wuxie'))) return false; + const info=event.info_map,target=info.target,identity=target.identity; + return ['unknown','ye'].includes(identity)||storage.character.some(function(i){ + if(lib.character[i][1]=='ye') return true; + const double=get.is.double(i,true); + return (double?double:[lib.character[i][1]]).includes(identity); }); }, chooseButton:{ - dialog:function(event,player){ - var dialog=ui.create.dialog('役鬼','hidden'); + dialog(event,player){ + let dialog=ui.create.dialog('役鬼','hidden'); dialog.add([player.storage.yigui.character,'character']); return dialog; }, - filter:function(button,player){ - var evt=_status.event.getParent('chooseToUse'); - var target=evt.getParent(2).player,identity=target.identity; + filter(button,player){ + const evt=get.event().getParent('chooseToUse'); + const info=evt.info_map,target=info.target,identity=target.identity; if(['unknown','ye'].includes(identity)) return true; if(lib.character[button.link][1]=='ye') return true; - var double=get.is.double(button.link,true); - var groups=(double?double:[lib.character[button.link][1]]); - return groups.includes(identity); + const double=get.is.double(button.link,true); + return (double?double:[lib.character[button.link][1]]).includes(identity); }, - check:function(button){ - return 1/(1+game.countPlayer(function(current){ - return current.identity==button.link; - })); + check(button){ + return 1+Math.random(); }, - backup:function(links,player){ - var character=links[0]; - var next={ - character:character, + backup(links,player){ + return { + character:links[0], filterCard:()=>false, selectCard:-1, complexCard:true, @@ -7750,9 +7755,9 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ popname:true, audio:'yigui', viewAs:{name:'wuxie',isCard:true}, - onuse:function(result,player){ + onuse(result,player){ player.logSkill('yigui'); - var character=lib.skill.yigui_gzwuxie_backup.character; + const character=lib.skill.yigui_gzwuxie_backup.character; player.flashAvatar('yigui',character); player.storage.yigui.character.remove(character); _status.characterlist.add(character); @@ -7762,7 +7767,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ player.storage.yigui.used.add(result.card.name); }, }; - return next; }, }, ai:{