diff --git a/mode/guozhan.js b/mode/guozhan.js index 07d1caa48..0a5fd12ea 100644 --- a/mode/guozhan.js +++ b/mode/guozhan.js @@ -13278,10 +13278,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ target.showCharacter(0); game.delay(2); if(targets.length) event.goto(1); - else if(game.players.length<3){ - delete _status.showYexings; - event.finish(); - } } else{ if(targets.length) event.goto(1); @@ -13302,55 +13298,55 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ 'step 3' var source=event.targets2.shift(); event.source=source; - var targets=game.filterPlayer(function(current){ - return current.identity!='ye'&¤t!=source&&!get.is.jun(current)&&!event.targets2.contains(current)&&!current.storage.yexinjia_friend; - }).sortBySeat(source); - if(!targets.length){ - delete _status.showYexings; - event.finish(); - } - else{ - event.targets=targets; - source.chooseBool('是否发起【拉拢人心】?','令所有其他不为君主/暴露野心家的角色依次选择是否与你结盟。第一个选择加入的人将势力和胜利条件改为与你相同'); - } + event.targets3=[]; + if(!_status.yexinjia_list) _status.yexinjia_list=['夏','商','周','秦','汉','隋','唐','宋','辽','金','元','明']; + source.chooseControl(_status.yexinjia_list).set('prompt','请选择自己所属的野心家势力的标识').set('ai',()=>(_status.yexinjia_list?_status.yexinjia_list.randomGet():0)); 'step 4' - if(!result.bool){ - if(event.targets2.length) event.goto(3); - return; + var text,source=event.source;; + if(result.control){ + text=result.control; + _status.yexinjia_list.remove(result.control); } + else text=_status.yexinjia_list.randomRemove(); + event.text=text; + game.broadcastAll(function(player,text){ + player.setIdentity(text,'ye'); + },source,text); + source.removeMark('yexinjia_mark',1); + var targets=game.filterPlayer(function(current){ + return current.identity!='ye'&¤t!=source&&!get.is.jun(current)&&!event.targets2.contains(current)&&!current.getStorage('yexinjia_friend').length; + }); + if(!targets.length) event.goto(8); + else event.targets=targets; 'step 5' + var source=event.source; var target=targets.shift(); event.target=target; source.line(target,'green'); - target.chooseBool('是否响应'+get.translation(source)+'发起的【拉拢人心】?','将势力改为野心家,且视为和该角色阵营相同').set('ai',function(){ - if(game.players.length<4) return true; - if(game.players.length<5) return Math.random()<0.5; - return Math.random()<0.3; - }); + target.chooseBool('是否响应'+get.translation(source)+'发起的【拉拢人心】?','将势力改为'+event.text+(['辽','金'].contains(event.text)?'':'朝')).set('choice',Math.random()<=0.95);//偶尔反骨[doge] 'step 6' if(result.bool){ target.chat('加入'); - if(!_status.yexinjia_list) _status.yexinjia_list=['夏','商','周','秦','汉','隋','唐','宋','辽','金','元','明']; - source.chooseControl(_status.yexinjia_list).set('prompt','请选择自己所属的野心家势力的标识').set('ai',()=>(_status.yexinjia_list?_status.yexinjia_list.randomGet():0)); + game.broadcastAll(function(player,target,text){ + player.identity='ye'; + player.setIdentity(text,'ye'); + player.markAuto('yexinjia_friend',[target]); + },target,event.source,event.text); } else{ target.chat('拒绝'); game.delay(1.5); - if(targets.length) event.goto(5); - else event.goto(8); + event.targets3.push(target); } + if(targets.length) event.goto(5); 'step 7' - game.broadcastAll(function(player,target,text){ - player.identity='ye'; - source.setIdentity(text,'ye'); - player.setIdentity(text,'ye'); - player.storage.yexinjia_friend=target; - },target,source,result.control); - _status.yexinjia_list.remove(result.control); - target.markSkill('yexinjia_friend'); - source.removeMark('yexinjia_mark',1); - target.drawTo(4); - target.recover(); + if(event.targets3.length){ + for(var i of event.targets3){ + i.drawTo(4); + i.recover(); + } + } + game.checkResult(); 'step 8' if(event.targets2.length) event.goto(3); else delete _status.showYexings; @@ -14830,6 +14826,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ gzzhuidu_info:'出牌阶段限一次。当你造成伤害时,你可以令受伤角色选择一项:1.此伤害+1;2.弃置装备区里的所有牌。若该角色为女性,则你可以弃置一张牌,改为令其选择两项。', gzshigong:'示恭', gzshigong_info:'限定技。当你于回合外进入濒死状态时,你可以移除副将,然后令当前回合角色选择一项:1.获得你以此法移除的副将武将牌上的一个没有技能标签的技能,然后令你将体力值回复至体力上限;2.令你将体力值回复至1点。', + gz_old_huaxiong:'华雄', gzyaowu:'耀武', gzyaowu_info:'限定技。当你造成伤害后,你可以明置此武将牌,然后你加2点体力上限并回复2点体力,修改〖恃勇〗,且当你死亡后,所有与你势力相同的角色失去1点体力。', gzshiyong:'恃勇', @@ -15614,7 +15611,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, differentIdentityFrom:function(target,self){ if(this==target) return false; - if(this.storage.yexinjia_friend==target||target.storage.yexinjia_friend==this) return false; + if(this.getStorage('yexinjia_friend').contains(target)) return false; + if(target.getStorage('yexinjia_friend').contains(this)) return false; if(self){ if(target.identity=='unknown') return false; if(target.identity=='ye'||this.identity=='ye') return true; @@ -15631,7 +15629,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ return this.identity!=target.identity; }, sameIdentityAs:function(target,shown){ - if(this.storage.yexinjia_friend==target||target.storage.yexinjia_friend==this) return true; + if(this.getStorage('yexinjia_friend').contains(target)) return true; + if(target.getStorage('yexinjia_friend').contains(this)) return true; if(shown){ if(this.identity=='ye'||this.identity=='unknown') return false; } @@ -15692,11 +15691,11 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ })); } else if(that.identity=='ye'){ - if((that.storage.yexinjia_friend&&source==that.storage.yexinjia_friend)||(source.storage.yexinjia_friend&&that==source.storage.yexinjia_friend)) source.discard(source.getCards('he')); + if(that.getStorage('yexinjia_friend').contains(source)||source.getStorage('yexinjia_friend').contains(that)) source.discard(source.getCards('he')); else source.draw(1+game.countPlayer(function(current){ if(current==that) return false; - if(current.storage.yexinjia_friend&&that==current.storage.yexinjia_friend) return true; - if(that.storage.yexinjia_friend&¤t==that.storage.yexinjia_friend) return true; + if(current.getStorage('yexinjia_friend').contains(that)) return true; + if(that.getStorage('yexinjia_friend').contains(current)) return true; return false; })); } @@ -16432,7 +16431,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ '
声明
' +'
双势力武将
' +'
野心家武将
' + +'
  • 当场上触发了胜利条件时,若这些角色中存在未明置过主将的野心家角色,则这些野心家角色选择是否“暴露野心”。若无人选择“是”且场上存在非野心家角色存活,则所有非野心家角色胜利,野心家角色失败。若有人选择“是”,则这些角色明置主将,然后选择是否发起“拉拢人心”
  • 选择发起“拉拢人心”的野心家角色选择一个新的势力作为自己的势力,弃置“野心家”标记,令所有其他非野心家角色且非君主且非已“结盟”角色依次选择是否和该野心家角色“结盟”。选择“是”的角色将势力改为和该野心家势力相同。此次“拉拢人心”对所有其他角色询问结束后,所有选择“否”的角色将手牌摸至四张并回复1点体力。' +'
    纵横捭阖
    ', }, };