diff --git a/card/gujian.js b/card/gujian.js index 79373ec24..679c44826 100644 --- a/card/gujian.js +++ b/card/gujian.js @@ -1278,11 +1278,11 @@ card.gujian={ nopop:true, intro:{ content:function(storage,player){ - return '结束阶段,你有70%的机率弃置一名随机敌人的一张随机牌(剩余'+player.storage.mapodoufu_markcount+'回合)' + return '结束阶段,你有65%的机率弃置一名随机敌人的一张随机牌(剩余'+player.storage.mapodoufu_markcount+'回合)' } }, content:function(){ - if(Math.random()<0.7){ + if(Math.random()<0.65){ var list=player.getEnemies(); for(var i=0;i1&&lib.filter.filterCard({name:'sha'},player); - }, filterCard:{name:'sha'}, selectCard:2, check:function(card){ @@ -1172,50 +1169,19 @@ character.xianjian={ } return 0; }, + viewAs:{name:'sha'}, selectTarget:[1,Infinity], - discard:false, - line:false, - multiline:true, - prepare:'throw', filterTarget:function(card,player,target){ return lib.filter.targetEnabled({name:'sha'},player,target); }, - content:function(){ - "step 0" - if(!player.hasSkill('unequip')){ - event.added=true; - player.skills.push('unequip'); - } - targets.sort(lib.sort.seat); - player.useCard({name:'sha'},cards,targets,'luanjian').animate=false; - "step 1" - if(event.added){ - player.skills.remove('unequip'); - } - }, - multitarget:true, ai:{ order:function(){ return lib.card.sha.ai.order+0.1; }, - result:{ - target:function(player,target){ - var added=false; - if(!player.hasSkill('unequip')){ - added=true; - player.skills.push('unequip'); - } - var eff=ai.get.effect(target,{name:'sha'},player,target); - if(added){ - player.skills.remove('unequip'); - } - return eff; - } - }, effect:{ player:function(card,player){ if(_status.currentPhase!=player) return; - if(card.name=='sha'&&player.num('h','sha')<2&&player.num('h')<=player.hp){ + if(card.name=='sha'&&player.num('h','sha')<2&&!player.needsToDiscard()){ var num=0; var player=_status.event.player; var players=game.filterPlayer(); @@ -1229,6 +1195,18 @@ character.xianjian={ } } }, + }, + group:'luanjian2' + }, + luanjian2:{ + trigger:{source:'damageBegin'}, + forced:true, + popup:false, + filter:function(event,player){ + return event.card&&event.card.name=='sha'&&event.parent.skill=='luanjian'; + }, + content:function(){ + if(Math.random()<0.5) trigger.num++; } }, tianfu:{ @@ -2496,7 +2474,7 @@ character.xianjian={ xfenxin2:'焚心', xfenxin_info:'锁定技,每当你的体力值发生改变,你摸等量的牌;每当你杀死一名角色,你增加一点体力上限并回复一点体力', luanjian:'乱剑', - luanjian_info:'你可以将两张杀当杀使用,此杀无视距离和防具,且可以指定任意名目标', + luanjian_info:'出牌阶段,你可以将两张杀当杀使用,此杀无视距离,可以指定任意名目标且有50%的机率伤害+1', tianfu:'天符', tianfu2:'天符', tianfu3:'天符', diff --git a/game/game.js b/game/game.js index 9d9d5d01f..f0211a490 100644 --- a/game/game.js +++ b/game/game.js @@ -985,6 +985,11 @@ init:true, unfrequent:true }, + right_range:{ + name:'显示距离信息', + init:true, + unfrequent:true + }, hide_card_image:{ name:'隐藏卡牌背景', init:false, @@ -18110,6 +18115,7 @@ } game.singleHandcard=true; ui.arena.classList.add('single-handcard'); + ui.window.classList.add('single-handcard'); ui.fakeme=ui.create.div('.fakeme.avatar',ui.me); } ui.arena.style.display=''; @@ -18120,6 +18126,7 @@ if(!players.boss){ game.singleHandcard=true; ui.arena.classList.add('single-handcard'); + ui.window.classList.add('single-handcard'); ui.fakeme=ui.create.div('.fakeme.avatar',ui.me); } ui.arena.setNumber(8); @@ -27418,7 +27425,13 @@ } } game.saveConfig('check_version',update.version); - if(update.version!=lib.version||dev){ + var goon=true; + if(!dev){ + if(update.version.indexOf('beta')!=-1||update.version==lib.version){ + goon=false; + } + } + if(goon){ var files=null; var version=lib.version; if(Array.isArray(update.dev)&&dev){ @@ -29676,7 +29689,10 @@ if(lib.config.textequip=='text') ui.arena.classList.add('textequip'); } if(game.layout=='long'||game.layout=='long2'||game.layout=='mobile'){ - if(lib.config.cardshape=='oblong') ui.arena.classList.add('oblongcard'); + if(lib.config.cardshape=='oblong'){ + ui.window.classList.add('oblongcard'); + ui.arena.classList.add('oblongcard'); + } } if(lib.config.blur_ui){ ui.window.classList.add('blur_ui'); @@ -30310,7 +30326,8 @@ handcards1:ui.create.div('.handcards'), handcards2:ui.create.div('.handcards'), }; - for(var i=0;i<40;i++){ + var chainlength=game.layout=='default'?64:40; + for(var i=0;i.player:not(.minskin):not(*[data-position='0']){ width: 120px !important; height: 220px !important; } +#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.marks{ + left: -15px; +} +#arena:not(.fewplayer)>.player:not(.minskin):not(*[data-position='0'])>.judges{ + right: -27px; +} #arena:not(.fewplayer)[data-player_height='default']>.player:not(.minskin):not(*[data-position='0']){ height: 200px !important; } diff --git a/layout/long2/layout.css b/layout/long2/layout.css index 25295f8ed..9b861c448 100644 --- a/layout/long2/layout.css +++ b/layout/long2/layout.css @@ -73,6 +73,14 @@ top: 0; height: 100%; } + +#window.single-handcard #historybar{ + height: calc(100% - 121px); +} +#window.oblongcard.single-handcard #historybar{ + height: calc(100% - 141px); +} + #window.leftbar #arena:not(.chess)>#me, #window.leftbar #arena:not(.chess)>#mebg, #window.leftbar #arena:not(.chess)>#autonode{ @@ -192,6 +200,13 @@ } +#arena>.player:not(.minskin)>.marks{ + left: -15px; +} +#arena>.player:not(.minskin)>.judges{ + right: -27px; +} + #arena>.player:not(.minskin){ width: 120px !important; diff --git a/mode/boss.js b/mode/boss.js index 1dcea96e7..c7d97da1c 100644 --- a/mode/boss.js +++ b/mode/boss.js @@ -234,6 +234,7 @@ mode.boss={ if(game.me!==boss){ game.singleHandcard=true; ui.arena.classList.add('single-handcard'); + ui.window.classList.add('single-handcard'); ui.fakeme=ui.create.div('.fakeme.avatar',ui.me); // ui.fakeme.dataset.position=0; // ui.fakeme.line=lib.element.player.line; diff --git a/mode/versus.js b/mode/versus.js index c26b1b56d..a7fcc4dde 100644 --- a/mode/versus.js +++ b/mode/versus.js @@ -1112,6 +1112,7 @@ mode.versus={ } game.singleHandcard=true; ui.arena.classList.add('single-handcard'); + ui.window.classList.add('single-handcard'); ui.fakeme=ui.create.div('.fakeme.avatar'); _status.prepareArena=true; ui.create.me(); @@ -1514,6 +1515,7 @@ mode.versus={ } game.singleHandcard=true; ui.arena.classList.add('single-handcard'); + ui.window.classList.add('single-handcard'); ui.fakeme=ui.create.div('.fakeme.avatar'); // ui.fakeme.line=lib.element.player.line; // ui.fakemebg=ui.create.div('.avatar',ui.fakeme).hide();