diff --git a/card/gwent.js b/card/gwent.js index e7024b013..672860394 100644 --- a/card/gwent.js +++ b/card/gwent.js @@ -941,12 +941,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ return get.value(button.link); }); 'step 1' - var card=get.cardPile(function(card){ - return get.subtype(card)=='equip4'; - }); - if(card){ - target.equip(card,true); - } + target.gain(game.createCard('sha'),'gain2'); }, ai:{ basic:{ @@ -1938,7 +1933,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } }, gw_youer:{ - trigger:{global:['phaseEnd','dieBegin']}, + trigger:{global:'phaseEnd',player:'dieBegin'}, forced:true, audio:false, mark:true, @@ -2258,7 +2253,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ gw_youer_bg:'饵', gw_youer_info:'将一名其他角色的所有手牌移出游戏,然后摸一张牌,当前回合结束后该角色将以此法失去的牌收回手牌', gw_tongdi:'通敌', - gw_tongdi_info:'观看一名其他角色的手牌并获得其中一张,然后令目标从牌堆或弃牌堆中装备一件进攻马', + gw_tongdi_info:'观看一名其他角色的手牌并获得其中一张,然后令目标获得一张杀', gw_baoxueyaoshui:'暴雪药水', gw_baoxueyaoshui_info:'令一名角色弃置两张手牌并摸一张牌', gw_birinongwu:'蔽日浓雾', diff --git a/card/swd.js b/card/swd.js index 7879c4c1f..11c4ccf8a 100644 --- a/card/swd.js +++ b/card/swd.js @@ -3,6 +3,18 @@ game.import('card',function(lib,game,ui,get,ai,_status){ return { name:'swd', card:{ + hufu:{ + fullskin:true, + type:'basic', + global:['g_hufu_sha','g_hufu_shan','g_hufu_jiu'], + savable:function(card,player,dying){ + return dying==player; + }, + ai:{ + value:[7.5,5,2], + useful:[7.5,5,2], + } + }, // yihuajiemu:{ // fullskin:true, // type:'trick', @@ -2165,8 +2177,74 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, skills:['guiyanfadao'] }, + qiankundai:{ + fullskin:true, + type:'equip', + subtype:'equip5', + onLose:function(){ + player.draw(); + }, + skills:['qiankundai'], + ai:{ + order:9.5, + equipValue:function(card,player){ + if(player.countCards('h','qiankundai')) return 6; + return 1; + }, + basic:{ + equipValue:5, + } + } + }, }, skill:{ + qiankundai:{ + mod:{ + maxHandcard:function(player,num){ + return num+1; + } + }, + }, + g_hufu_sha:{ + enable:['chooseToRespond','chooseToUse'], + filter:function(event,player){ + return player.countCards('h','hufu')>0; + }, + filterCard:{name:'hufu'}, + viewAs:{name:'sha'}, + prompt:'将一张玉符当杀使用或打出', + check:function(card){return 1}, + ai:{ + order:1, + useful:7.5, + value:7.5 + } + }, + g_hufu_shan:{ + enable:['chooseToRespond','chooseToUse'], + filter:function(event,player){ + return player.countCards('h','hufu')>0; + }, + filterCard:{name:'hufu'}, + viewAs:{name:'shan'}, + prompt:'将一张玉符当闪使用或打出', + check:function(){return 1}, + ai:{ + order:1, + useful:7.5, + value:7.5 + } + }, + g_hufu_jiu:{ + enable:['chooseToRespond','chooseToUse'], + filter:function(event,player){ + return player.countCards('h','hufu')>0; + }, + filterCard:{name:'hufu'}, + viewAs:{name:'jiu'}, + prompt:'将一张玉符当酒使用', + check:function(){return 1}, + }, zhiluxiaohu:{ trigger:{source:'damageAfter'}, forced:true, @@ -4812,6 +4890,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){ '专属、特殊装备无法被强化' }, translate:{ + qiankundai:'乾坤袋', + qiankundai_info:'你的手牌上限+1。当你失去该装备时,你摸一张牌。', + hufu:'玉符', + hufu_bg:'符', + g_hufu_sha:'符杀', + g_hufu_shan:'符闪', + g_hufu_jiu:'符酒', + hufu_info:'你可以将一张玉符当作杀、闪或酒使用或打出', // yihuajiemu:'移花接木', // yihuajiemu_info:'对一名装备区内有宝物的角色使用,将其宝物牌转移至另一名角色', liuxinghuoyu:'流星火羽', @@ -5185,6 +5271,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){ lianyaohu_info:'出牌阶段各限一次,你可以选择一项:1.弃置一张手牌,并将一名其他角色的一张手牌置入炼妖壶;2.弃置两张炼妖壶中的牌,从牌堆中获得一张与弃置的牌类别均不相同的牌', }, list:[ + ['heart',1,'hufu'], + ['spade',1,'hufu'], + ['club',1,'qiankundai'], // ['heart',3,'yihuajiemu'], // ['diamond',1,'yihuajiemu'], // ['diamond',7,'yihuajiemu'], diff --git a/card/yunchou.js b/card/yunchou.js index fbf8b349b..9d0690abe 100644 --- a/card/yunchou.js +++ b/card/yunchou.js @@ -475,9 +475,14 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, content:function(){ 'step 0' - if(target.isMinHandcard()) target.draw(2); + if(target.isMinHp()){ + target.recover(); + event.rec=true; + } 'step 1' - if(target.isMinHp()) target.recover(); + if(target.isMinHandcard()){ + target.draw(event.rec?1:2); + } }, ai:{ order:2.5, @@ -688,18 +693,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ value:[6,1] } }, - hufu:{ - fullskin:true, - type:'basic', - global:['g_hufu_sha','g_hufu_shan','g_hufu_jiu'], - savable:function(card,player,dying){ - return dying==player; - }, - ai:{ - value:[7.5,5,2], - useful:[7.5,5,2], - } - }, huoshan:{ fullskin:true, type:'delay', @@ -810,25 +803,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, } }, - qiankundai:{ - fullskin:true, - type:'equip', - subtype:'equip5', - onLose:function(){ - player.draw(); - }, - skills:['qiankundai'], - ai:{ - order:9.5, - equipValue:function(card,player){ - if(player.countCards('h','qiankundai')) return 6; - return 1; - }, - basic:{ - equipValue:5, - } - } - }, }, skill:{ toulianghuanzhu_ai1:{}, @@ -903,53 +877,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ },trigger.player,-1).targetRequired=true; } }, - qiankundai:{ - mod:{ - maxHandcard:function(player,num){ - return num+1; - } - }, - }, - g_hufu_sha:{ - enable:['chooseToRespond','chooseToUse'], - filter:function(event,player){ - return player.countCards('h','hufu')>0; - }, - filterCard:{name:'hufu'}, - viewAs:{name:'sha'}, - prompt:'将一张虎符当杀使用或打出', - check:function(card){return 1}, - ai:{ - order:1, - useful:7.5, - value:7.5 - } - }, - g_hufu_shan:{ - enable:['chooseToRespond','chooseToUse'], - filter:function(event,player){ - return player.countCards('h','hufu')>0; - }, - filterCard:{name:'hufu'}, - viewAs:{name:'shan'}, - prompt:'将一张虎符当闪使用或打出', - check:function(){return 1}, - ai:{ - order:1, - useful:7.5, - value:7.5 - } - }, - g_hufu_jiu:{ - enable:['chooseToRespond','chooseToUse'], - filter:function(event,player){ - return player.countCards('h','hufu')>0; - }, - filterCard:{name:'hufu'}, - viewAs:{name:'jiu'}, - prompt:'将一张虎符当酒使用', - check:function(){return 1}, - }, }, translate:{ diaobingqianjiang:'调兵遣将', @@ -975,26 +902,15 @@ game.import('card',function(lib,game,ui,get,ai,_status){ shuiyanqijun:'水攻', shuiyanqijun_info:'令所有有装备的角色各弃置一张装备牌', wangmeizhike:'望梅止渴', - wangmeizhike_info:'出牌阶段对一名角色使用,若没有角色手牌比目标少,目标摸两张牌;若没有角色体力比目标少,目标回复一点体力', + wangmeizhike_info:'出牌阶段对一名角色使用,若没有角色体力比目标少,目标回复一点体力;若没有角色手牌比目标少,目标摸两张牌(若目标回复了体力则改为摸一张)', chenhuodajie:'趁火打劫', chenhuodajie_info:'任意一名其他角色受到伤害时对其使用,获得其一张牌', huoshan:'火山', huoshan_info:'出牌阶段,对自己使用。若判定结果为红桃2~9,则目标角色受到2点火焰伤害,距离目标1以内的其他角色受到1点火焰伤害。若判定不为红桃2~9,将之移动到下家的判定区里。', hongshui:'洪水', hongshui_info:'出牌阶段,对自己使用。若判定结果为梅花2~9,该角色随机弃置3张牌,距离该角色为X的角色随机弃置3-X张牌,若没有牌则失去一点体力,X至少为1', - qiankundai:'乾坤袋', - qiankundai_info:'你的手牌上限+1。当你失去该装备时,你摸一张牌。', - hufu:'虎符', - hufu_bg:'符', - g_hufu_sha:'符杀', - g_hufu_shan:'符闪', - g_hufu_jiu:'符酒', - hufu_info:'你可以将一张虎符当作杀、闪或酒使用或打出', }, list:[ - ['heart',1,'hufu'], - ['spade',1,'hufu'], - ['club',1,'qiankundai'], ['heart',6,'huoshan','fire'], ['club',7,'hongshui'], ["diamond",3,'guohe'], diff --git a/character/gwent.js b/character/gwent.js index fb2208c4d..5b052e0ad 100644 --- a/character/gwent.js +++ b/character/gwent.js @@ -3678,7 +3678,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ notarget:true, content:function(){ 'step 0' - player.chooseToDiscard('he',[1,3],'弃置至多3张牌并摸弃牌数2倍的牌').set('ai',function(card){ + player.chooseToDiscard('he',[1,2],'弃置至多2张牌并摸弃牌数2倍的牌').set('ai',function(card){ return 9-get.value(card); }); 'step 1' @@ -4175,7 +4175,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ gwmaoxian_kaerweite:'卡尔维特', gwmaoxian_kaerweite_info:'获得至多两名角色各一张手牌,然后结束出牌阶段', gwmaoxian_bulanwang:'布兰王', - gwmaoxian_bulanwang_info:'弃置至多3张牌并摸数量等于弃牌数2倍的牌,跳过弃牌阶段,然后结束出牌阶段', + gwmaoxian_bulanwang_info:'弃置至多2张牌并摸数量等于弃牌数2倍的牌,跳过弃牌阶段,然后结束出牌阶段', gwmaoxian_kuite:'奎特', gwmaoxian_kuite_info:'视为对一名手牌数不小于你的角色连续使用2张决斗,然后结束出牌阶段', gwmaoxian_haluo:'哈洛', diff --git a/character/swd.js b/character/swd.js index b058dc86d..8a9c4a1b1 100644 --- a/character/swd.js +++ b/character/swd.js @@ -5753,14 +5753,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{global:'dying'}, priority:6, filter:function(event,player){ - return event.player.hp<=0&&player.countCards('he')>0; + if(event.player.hp>0) return false; + if(get.is.altered('huanhun')) return player.countCards('h',{color:'red'})>0; + return player.countCards('he')>0; }, + alter:true, direct:true, content:function(){ "step 0" - var next=player.chooseToDiscard('he',get.prompt2('huanhun',trigger.player),function(card){ - return get.color(card)=='red'; - }); + var next=player.chooseToDiscard(get.is.altered('huanhun')?'h':'he',get.prompt2('huanhun',trigger.player),function(card){ + if(get.is.altered('huanhun')){ + return get.color(card)=='red'; + } + else{ + return true; + } + }); next.logSkill=['huanhun',trigger.player]; next.ai=function(card){ if(card.name=='tao') return 0; @@ -5771,8 +5779,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }; "step 1" if(result.bool){ + event.card=result.cards[0]; trigger.player.judge(function(card){ - return get.color(card)=='red'?1:-1; + return get.color(card)=='red'?1:0; }); } else{ @@ -5782,6 +5791,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(result.bool){ trigger.player.recover(); } + else if(event.card.isInPile()){ + trigger.player.gain(event.card,'gain2'); + } }, ai:{ threaten:1.6, @@ -5843,14 +5855,15 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return get.attitude(player,event.player)>0; }, logTarget:'player', - alter:true, + // alter:true, content:function(){ "step 0" - if(get.is.altered('yinyue')){ - trigger.player.draw(); - event.finish(); - } - else if(trigger.player!=player&&trigger.player.countCards('h')>=player.countCards('h')){ + // if(get.is.altered('yinyue')){ + // trigger.player.draw(); + // event.finish(); + // } + // else + if(trigger.player!=player&&trigger.player.countCards('h')>=player.countCards('h')){ game.asyncDraw([trigger.player,player]); } else{ @@ -9898,7 +9911,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ liaoyuan_info:'每当你使用一张杀指定目标后,你可以弃置任意张与此杀花色相同的牌,若如此做,目标需额外打出等量的闪,每少打出一张闪,此杀的伤害+1', liaoyuan_info_alter:'每当你使用一张杀指定目标后,你可以弃置一张与此杀花色相同的牌,若如此做,目标需额外打出一张闪,若目标没打出闪,此杀的伤害+1', yishan_info:'每当你受到一次伤害,你可以重新获得最近失去的两张牌', - huanhun_info:'当一名角色进入濒死状态时,你可以弃置一张红色牌并令其进行一次判定,若结果为红色,其回复一点体力', + huanhun_info:'当一名角色进入濒死状态时,你可以弃置一张牌并令其进行一次判定,若结果为红色,其回复一点体力,否则其获得你弃置的牌', + huanhun_info_alter:'当一名角色进入濒死状态时,你可以弃置一张红色手牌并令其进行一次判定,若结果为红色,其回复一点体力,否则其获得你弃置的牌', daixing_info:'结束阶段,你可以弃置任意张牌并获得等量的护甲;这些护甲将在你的下个准备阶段消失', swd_wuxie_info:'锁定技,你不能成为其他角色的延时锦囊的目标', lqingcheng_info:'结束阶段,你可以进行判定,若为红色则可以继续判定,最多判定3次,判定结束后将判定成功的牌收入手牌', diff --git a/game/game.js b/game/game.js index 05aacfc36..d81673c2b 100644 --- a/game/game.js +++ b/game/game.js @@ -20295,6 +20295,9 @@ }, hasPosition:function(){ return ['h','e','j'].contains(get.position(this)); + }, + isInPile:function(){ + return ['c','d'].contains(get.position(this)); } }, button:{ @@ -42771,6 +42774,10 @@ }; var get={ is:{ + safari:function(){ + var ua=navigator.userAgent.toLowerCase(); + return ua.indexOf('safari'!=-1)&&ua.indexOf('chrome')==-1; + }, freePosition:function(cards){ for(var i=0;i