diff --git a/character/clan.js b/character/clan.js index f5d1a62d1..77cf6a5d1 100644 --- a/character/clan.js +++ b/character/clan.js @@ -2277,6 +2277,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, translate:{ + clan_wuxian_prefix:'族', + clan_wuban_prefix:'族', + clan_xunshu_prefix:'族', + clan_xunchen_prefix:'族', + clan_xuncai_prefix:'族', + clan_xuncan_prefix:'族', + clan_hanshao_prefix:'族', + clan_hanrong_prefix:'族', + clan_wukuang_prefix:'族', + clan_wangling_prefix:'族', + clan_zhongyan_prefix:'族', + clan_wangyun_prefix:'族', + clan_wanghun_prefix:'族', + clan_zhonghui_prefix:'族', + clan_zhongyu_prefix:'族', + clan_wuxian:'族吴苋', clanyirong:'移荣', clanyirong_info:'出牌阶段限两次。若你的手牌数:小于X,则你可以将手牌摸至X张(至多摸八张),然后X-1;大于X,则你可以将手牌弃置至X张,然后X+1。(X为你的手牌上限)', diff --git a/character/extra.js b/character/extra.js index 0c9ba2432..9df78fa41 100755 --- a/character/extra.js +++ b/character/extra.js @@ -584,7 +584,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ skillAnimation:true, animationColor:'orange', filter:function(event,player){ - return player.getStorage('dctuoyu').length==3; + return true; + //return player.getStorage('dctuoyu').length==3; }, content:function(){ 'step 0' @@ -592,6 +593,10 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.loseMaxHp(); 'step 1' if(game.countPlayer()>2){ + if(player==trigger.player&&!trigger.skill){ + var evt=trigger.getParent(); + if(evt.name=='phaseLoop'&&evt._isStandardLoop) evt.player=player.next; + } player.chooseTarget(true,'请选择一名要更换座次的角色,将自己移动到该角色的上家位置',function(card,player,target){ return target!=player&&target!=player.next; }).set('ai',function(target){ diff --git a/character/huicui.js b/character/huicui.js index ab3a303e5..743236b9c 100644 --- a/character/huicui.js +++ b/character/huicui.js @@ -8280,6 +8280,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, trigger:{player:'dieAfter'}, + forceDie:true, filter:function(event,player){ for(let i of game.players){ if(i.hasSkill('fengxiang')) return false; diff --git a/character/shiji.js b/character/shiji.js index 1cc83d19c..14dbbed23 100644 --- a/character/shiji.js +++ b/character/shiji.js @@ -5923,6 +5923,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } return true; }, + forceDie:true, silent:true, forceDie:true, charlotte:true, diff --git a/character/tw.js b/character/tw.js index 513987f74..ebdff9ee3 100644 --- a/character/tw.js +++ b/character/tw.js @@ -320,7 +320,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ '观看'+str+'的手牌并获得其一种花色的所有手牌', ]).set('ai',()=>{ var player=_status.event.player; - var target=_status.event.target; + var target=_status.event.getParent().target; if(target.countCards('h')-player.countCards('h')>target.countCards('h')/4||get.attitude(player,target)>0) return 0; return 1; }); @@ -14488,6 +14488,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twchuanshu:'传术', twchuanshu_info:'限定技。准备阶段,你可以选择一名角色。直到你的下回合开始,其获得以下效果:1.当其拼点牌亮出时,此牌点数+3;2.其使用的下一张【杀】对除你外的角色造成伤害时,此伤害+1;3.若其不为你,其使用的下一张【杀】结算结束后,你摸等同于其因此【杀】造成的伤害值数的牌。', xia_xushu:'侠徐庶', + xia_xushu_prefix:'侠', twjiange:'剑歌', twjiange_info:'每回合限一次。你可以将一张非基本牌当做【杀】使用或打出(无距离和次数限制,且不计入次数)。若此时不为你的回合,你摸一张牌。', twxiawang:'侠望', @@ -14517,11 +14518,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twjimeng:'急盟', twjimeng_info:'出牌阶段限一次。你可以获得一名其他角色区域内的一张牌,然后交给其一张牌。若其体力值不小于你,你摸一张牌。', xia_lusu:'侠鲁肃', + xia_lusu_prefix:'侠', twkaizeng:'慨赠', twkaizeng_info:'其他角色的出牌阶段限一次。其可以选择一种基本牌的牌名或非基本牌的类型,然后令你选择是否交给其任意张手牌。若你以此法:交给其至少两张牌,你摸一张牌;交给其的牌中包含其选择的牌名或类型的牌,你获得一张与此牌名或类型不同的牌。', twyangming:'扬名', twyangming_info:'出牌阶段结束时,你可以摸X张牌,且令本回合的手牌上限+X(X为你本阶段使用过的牌的类型数)。', xia_dianwei:'侠典韦', + xia_dianwei_prefix:'侠', twliexi:'烈袭', twliexi_info:'准备阶段,你可以弃置任意张牌并选择一名其他角色。若你以此法弃置的牌数大于其体力值,你对其造成1点伤害;否则其对你造成1点伤害。然后若你弃置的牌中有武器牌,你对其造成1点伤害。', twshezhong:'慑众', diff --git a/character/yingbian.js b/character/yingbian.js index 2d1119bfb..8f69c72b8 100644 --- a/character/yingbian.js +++ b/character/yingbian.js @@ -3590,7 +3590,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, translate:{ jin_zhangchunhua:'晋张春华', - jin_zhangchunhua_ab:'张春华', + jin_zhangchunhua_prefix:'晋', huishi:'慧识', huishi_info:'摸牌阶段,你可以放弃摸牌,改为观看牌堆顶的X张牌,获得其中的一半(向下取整),然后将其余牌置入牌堆底。(X为牌堆数量的个位数)', qingleng:'清冷', @@ -3599,7 +3599,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xuanmu2:'宣穆', xuanmu_info:'锁定技,隐匿技。你于其他角色的回合登场时,防止你受到的伤害直到回合结束。', jin_simayi:'晋司马懿', - jin_simayi_ab:'司马懿', + jin_simayi_prefix:'晋', zhanghuyuechen:'张虎乐綝', xijue:'袭爵', xijue_gain:'袭爵', @@ -3621,7 +3621,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ pozhu_info:'出牌阶段,你可以将一张手牌当做【出其不意】使用。若你未因此牌造成过伤害,则你不能再发动〖破竹〗直到回合结束。', pozhu_info_guozhan:'出牌阶段限一次,你可以将一张手牌当做【出其不意】使用。', jin_wangyuanji:'晋王元姬', - jin_wangyuanji_ab:'王元姬', + jin_wangyuanji_prefix:'晋', shiren:'识人', shiren_info:'隐匿技。你于其他角色的回合内登场时,若其有手牌,则你可对其发动〖宴戏〗。', yanxi:'宴戏', @@ -3629,7 +3629,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yanxi_info:'出牌阶段,你可选择一名有手牌的角色。你将该角色的一张随机手牌与牌堆顶的两张牌混合后展示,并选择其中一张。若你以此法选择的是该角色的手牌,则你获得这三张牌。否则你获得选择的牌。你通过〖宴戏〗得到的牌,不计入当前回合的手牌上限。', yanxi_info_guozhan:'出牌阶段,你可选择一名有手牌的角色。你将该角色的一张随机手牌与牌堆中的两张随机牌混合后展示,并选择其中一张。若你以此法选择的是该角色的手牌,则你获得这三张牌。否则你获得选择的牌。你通过〖宴戏〗得到的牌,不计入当前回合的手牌上限。', jin_simazhao:'晋司马昭', - jin_simazhao_ab:'司马昭', + jin_simazhao_prefix:'晋', tuishi:'推弑', tuishi_info:'隐匿技,你于其他角色A的回合内登场时,可于此回合结束时选择其攻击范围内的一名角色B。A选择一项:①对B使用一张【杀】。②你对A造成1点伤害。', choufa:'筹伐', @@ -3644,7 +3644,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ chengwu:'成务', chengwu_info:'主公技,锁定技,其他晋势力角色攻击范围内的角色视为在你的攻击范围内。', jin_xiahouhui:'晋夏侯徽', - jin_xiahouhui_ab:'夏侯徽', + jin_xiahouhui_prefix:'晋', baoqie:'宝箧', baoqie_info:'隐匿技,锁定技。你登场后,从牌堆中获得一张不为赠物的宝物牌。若此牌在你的手牌区内为宝物牌,则你可以使用此牌。', jyishi:'宜室', @@ -3652,7 +3652,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shiduo:'识度', shiduo_info:'出牌阶段限一次,你可以与一名其他角色拼点。若你赢,你获得其所有手牌。然后你交给其X张手牌(X为你手牌数的一半,向下取整)。', jin_simashi:'晋司马师', - jin_simashi_ab:'司马师', + jin_simashi_prefix:'晋', taoyin:'韬隐', taoyin2:'韬隐', taoyin_info:'隐匿技,当你登场后,若当前回合角色存在且不是你,则你可令该角色本回合的手牌上限-2。', @@ -3678,7 +3678,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhuosheng_info:'出牌阶段,①你使用本轮内得到的基本牌时无次数和距离限制。②你使用本轮内获得的普通锦囊牌选择目标后,可令此牌的目标数+1或-1。③你使用本轮内得到的装备牌时可以摸一张牌(以此法得到的牌不能触发〖擢升〗)。', zhuosheng_info_guozhan:'出牌阶段,①你使用本轮内得到的基本牌时无距离限制。②你使用本轮内获得的普通锦囊牌选择目标后,可令此牌的目标数+1或-1。③你使用本轮内得到的装备牌时可以摸一张牌(以此法得到的牌不能触发〖擢升〗)。', jin_yanghuiyu:'晋羊徽瑜', - jin_yanghuiyu_ab:'羊徽瑜', + jin_yanghuiyu_prefix:'晋', gz_jin_yanghuiyu:'羊徽瑜', huirong:'慧容', huirong_info:'隐匿技,锁定技。当你登场后,你令一名角色将手牌数摸至/弃至与体力值相同(至多摸至五张)。', diff --git a/game/game.js b/game/game.js index a5592a31b..80e2e0dee 100644 --- a/game/game.js +++ b/game/game.js @@ -13943,11 +13943,13 @@ lib.onphase[i](); } player.phase(); - event.player=player.next; "step 2" if(!game.players.contains(event.player.next)){ event.player=game.findNext(event.player.next); } + else{ + event.player=event.player.next; + } event.goto(1); }, loadPackage:function(){ @@ -25136,8 +25138,12 @@ if(mod!='unchanged') return mod; return true; }, - addJudgeNext:function(card){ + addJudgeNext:function(card,unlimited){ if(!card.expired){ + if(!unlimited&&get.postion(card,true)!=='o'&&get.postion(card,true)!=='j'){ + game.log('将',card,'移入',this.next,'的判定区失败'); + return; + } var target=this.next; var name=card.viewAs||card.name; var bool=false; @@ -33648,16 +33654,28 @@ nature:'keymm', }], ['神',{ - color:'#d6cde9', - nature:'thundermm', + color:'#faecd1', + nature:'orangemm', + }], + ['族',{ + color:'#ee9ac7', + nature:'firemm', + }], + ['晋',{ + color:'#e1a6f0', + nature:'blackmm', + }], + ['侠',{ + color:'#dddddd', + nature:'qunmm', }], ]), groupnature:{ - shen:'thunder', + shen:'shen', wei:'water', shu:'soil', wu:'wood', - qun:'metal', + qun:'qun', western:'thunder', key:'key', jin:'thunder', @@ -39516,6 +39534,7 @@ phaseLoop:function(player){ var next=game.createEvent('phaseLoop'); next.player=player; + next._isStandardLoop=true; next.setContent('phaseLoop'); }, gameDraw:function(player,num){ diff --git a/layout/default/layout.css b/layout/default/layout.css index bbc324e8f..113e999cd 100644 --- a/layout/default/layout.css +++ b/layout/default/layout.css @@ -3967,6 +3967,38 @@ span[data-nature='keymm'] { rgba(203, 177, 255,1) 0 0 2px,black 0 0 1px; } + +div[data-nature='shen'], +span[data-nature='shen'] { + text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 5px,rgba(243, 171, 27, 1) 0 0 10px, + rgba(243, 171, 27, 1) 0 0 10px,rgba(243, 171, 27, 1) 0 0 20px,rgba(243, 171, 27, 1) 0 0 20px,black 0 0 1px; +} +div[data-nature='shenm'], +span[data-nature='shenm'] { + text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 5px,rgba(243, 171, 27, 1) 0 0 5px, + rgba(243, 171, 27, 1) 0 0 5px,black 0 0 1px; +} +div[data-nature='shenmm'], +span[data-nature='shenmm'] { + text-shadow: rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 2px,rgba(243, 171, 27, 1) 0 0 2px, + rgba(243, 171, 27, 1) 0 0 2px,black 0 0 1px; +} +div[data-nature='qun'], +span[data-nature='qun'] { + text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 5px,rgba(164, 164, 164, 1) 0 0 10px, + rgba(164, 164, 164, 1) 0 0 10px,rgba(164, 164, 164, 1) 0 0 20px,rgba(164, 164, 164, 1) 0 0 20px,black 0 0 1px; +} +div[data-nature='qunm'], +span[data-nature='qunm'] { + text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 5px,rgba(164, 164, 164, 1) 0 0 5px, + rgba(164, 164, 164, 1) 0 0 5px,black 0 0 1px; +} +div[data-nature='qunmm'], +span[data-nature='qunmm'] { + text-shadow: rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 2px,rgba(164, 164, 164, 1) 0 0 2px, + rgba(164, 164, 164, 1) 0 0 2px,black 0 0 1px; +} + .player .identity[data-color="nei"], .player .identity[data-color="ye"], .player .identity[data-color="rYe"],