diff --git a/card/extra.js b/card/extra.js index 64e833867..7618ffc81 100644 --- a/card/extra.js +++ b/card/extra.js @@ -159,7 +159,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){ if(target.hasSkillTag('directHit_ai',true,{ target:effs[i].target, card:i - },true) || usable===1&&(target.needsToDiscard()>Math.max(0,3-target.hp) || !effs[i].target.mayHaveShan(player,'use'))){ + },true) || usable===1&&(target.needsToDiscard()>Math.max(0,3-target.hp) || !effs[i].target.mayHaveShan(player,'use',effs[i].target.getCards(i=>{ + return i.hasGaintag('sha_notshan'); + })))){ delete target._jiu_temp; return 1; } @@ -241,7 +243,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ var nh=player.countCards('h'); if(nh<=player.hp&&nh<=4&&_status.event.name=='chooseToUse'){ if(typeof _status.event.filterCard=='function'&& - _status.event.filterCard({name:'huogong'},player,_status.event)){ + _status.event.filterCard(new lib.element.VCard({name:'huogong'}),player,_status.event)){ return -10; } if(_status.event.skill){ @@ -268,7 +270,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } if(target==player){ if(typeof _status.event.filterCard=='function'&& - _status.event.filterCard({name:'huogong'},player,_status.event)){ + _status.event.filterCard(new lib.element.VCard({name:'huogong'}),player,_status.event)){ return -1.15; } if(_status.event.skill){ @@ -1020,7 +1022,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ baiyin:'白银狮子', baiyin_info:'锁定技。①当你受到伤害时,若此伤害大于1,则你将伤害值扣减至1点。②当你失去装备区内的【白银狮子】后,你回复1点体力。', baiyin_skill:'白银狮子', - + muniu:'木牛流马', muniu_bg:'牛', muniu_skill:'木牛', @@ -1084,7 +1086,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ["spade",13,"wuxie"], ["spade",10,"bingliang"], ["club",4,"bingliang"], - + ['diamond',5,'muniu'], ], } diff --git a/card/gujian.js b/card/gujian.js index 913b9959e..9b27de9f1 100644 --- a/card/gujian.js +++ b/card/gujian.js @@ -730,7 +730,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ player:function(player,target){ if(player.countCards('h')<=Math.min(5,Math.max(2,player.hp))&&_status.event.name=='chooseToUse'){ if(typeof _status.event.filterCard=='function'&& - _status.event.filterCard({name:'bingpotong'})){ + _status.event.filterCard(new lib.element.VCard({name:'bingpotong'}))){ return -10; } if(_status.event.skill){ @@ -1514,7 +1514,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ target.discard(target.getCards('he').randomGet()); target.addExpose(0.2); } - player.storage.mapodoufu_markcount--; if(player.storage.mapodoufu_markcount==0){ delete player.storage.mapodoufu; diff --git a/card/guozhan.js b/card/guozhan.js index 984ba0a1c..a20186b82 100644 --- a/card/guozhan.js +++ b/card/guozhan.js @@ -447,7 +447,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } target.addTempSkill('xietianzi'); }, - ai:{ order:0.5, value:4, @@ -776,7 +775,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ if(event.name!='lose'||event.name!='cardsDiscard'||targetPosition!='discardPile') return false; var evt=event.getParent().relatedEvent; if(evt&&evt.name=='useCard') return false; - return true; }, onDestroy:function(){ diff --git a/card/gwent.js b/card/gwent.js index 612723b0a..560b18cb5 100644 --- a/card/gwent.js +++ b/card/gwent.js @@ -643,7 +643,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ order:0.5, } }, - gw_ganhan:{ fullborder:'gold', type:'spell', @@ -892,7 +891,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ order:0.2, } }, - gw_youer:{ fullborder:'silver', type:'spell', @@ -1268,7 +1266,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ order:7, } }, - gw_nuhaifengbao:{ fullborder:'silver', type:'spell', @@ -1378,7 +1375,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ order:1, } }, - gw_qinpendayu:{ fullborder:'bronze', type:'spell', diff --git a/card/hearth.js b/card/hearth.js index 82600260f..1482e6e43 100644 --- a/card/hearth.js +++ b/card/hearth.js @@ -255,7 +255,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ var nh=player.countCards('h'); if(nh<=player.hp&&nh<=4&&_status.event.name=='chooseToUse'){ if(typeof _status.event.filterCard=='function'&& - _status.event.filterCard({name:'shandianjian'})){ + _status.event.filterCard(new lib.element.VCard({name:'shandianjian'}))){ return -10; } if(_status.event.skill){ @@ -271,7 +271,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ if(player.countCards('h')<=1) return 0; if(target==player){ if(typeof _status.event.filterCard=='function'&& - _status.event.filterCard({name:'shandianjian'})){ + _status.event.filterCard(new lib.element.VCard({name:'shandianjian'}))){ return -1.5; } if(_status.event.skill){ diff --git a/card/huanlekapai.js b/card/huanlekapai.js index 9249ea6e0..5ace59494 100644 --- a/card/huanlekapai.js +++ b/card/huanlekapai.js @@ -43,7 +43,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, filterTarget:lib.filter.notMe, content:function (){ - "step 0" + "step 0" if(!target.countCards('he',{type:'equip'})){ target.damage(); event.finish(); @@ -246,7 +246,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ game.log(player,'获得了','#g【'+get.translation(result.control)+'】'); }, }, - "jiuwei":{ trigger:{ player:"phaseEnd", diff --git a/card/mtg.js b/card/mtg.js index 511dd76d9..7924d7cc7 100644 --- a/card/mtg.js +++ b/card/mtg.js @@ -675,7 +675,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ mtg_shamolvzhou_skill:'沙漠绿洲', mtg_shamolvzhou_info:'发现一张基本牌。地图效果:你的基本牌不计入手牌上限。', mtg_shamolvzhou_skill_info:'你的基本牌不计入手牌上限。', - + mtg_duzhao:'毒沼', mtg_duzhao_skill:'毒沼', mtg_duzhao_info:'选择一名角色令其获得一张毒。地图效果:结束阶段,你获得一张毒。', diff --git a/card/standard.js b/card/standard.js index 7912d8e1e..a81404548 100644 --- a/card/standard.js +++ b/card/standard.js @@ -184,6 +184,8 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } "step 3" if((!result||!result.bool||!result.result||result.result!='shaned')&&!event.unhurt){ + if (!event.directHit&&!event.directHit2&&lib.filter.cardEnabled(new lib.element.VCard('shan'), target, 'forceEnable')&& + target.hasCard(()=>true,'hs')&&get.damageEffect(target,player,target)<0) target.addGaintag(target.getCards('hs'),'sha_notshan'); target.damage(get.nature(event.card)); event.result={bool:true} event.trigger('shaDamage'); @@ -278,29 +280,41 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, result:{ target:function(player,target,card,isLink){ - var eff=function(){ - if(!isLink&&player.hasSkill('jiu')){ - if(!target.hasSkillTag('filterDamage',null,{ - player:player, - card:card, - jiu:true, - })){ - if(get.attitude(player,target)>0){ - return -7; - } - else{ - return -4; - } - } - return -0.5; + let eff=-1.5,odds=1.35,num=1; + if(isLink){ + let cache=_status.event.getTempCache('sha_result','eff'); + if(typeof cache!=='object'||cache.card!==get.translation(card)) return eff; + if(cache.odds<1.35&&cache.bool) return 1.35*cache.eff; + return cache.odds*cache.eff; + } + if(player.hasSkill('jiu')||player.hasSkillTag('damageBonus',true,{ + target:target, + card:card + })){ + if(target.hasSkillTag('filterDamage',null,{ + player:player, + card:card, + jiu:true, + })) eff=-0.5; + else{ + num=2; + if(get.attitude(player,target)>0) eff=-7; + else eff=-4; } - return -1.5; - }(); - if(!isLink&&target.mayHaveShan(player,'use')&&!player.hasSkillTag('directHit_ai',true,{ + } + if(!player.hasSkillTag('directHit_ai',true,{ target:target, card:card, - },true)) return eff/1.2; - return eff; + },true)) odds-=0.7*target.mayHaveShan(player,'use',target.getCards(i=>{ + return i.hasGaintag('sha_notshan'); + }),'odds'); + _status.event.putTempCache('sha_result','eff',{ + bool:target.hp>num&&get.attitude(player,target)>0, + card:get.translation(card), + eff:eff, + odds:odds + }); + return odds*eff; }, }, tag:{ @@ -801,7 +815,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } if(!card) card=event.dialog.buttons[0].link; } - var button; for(var i=0;i0) return -1.5; return (es.some(card=>{ @@ -1487,7 +1499,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ const hs=position.includes('h')?target.getGainableCards(player,'h'):[]; const es=position.includes('e')?target.getGainableCards(player,'e'):[]; const js=position.includes('j')?target.getGainableCards(player,'j'):[]; - const att=get.attitude(player,target); if(att<0){ if(!hs.length&&!es.some(card=>{ @@ -2751,7 +2762,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ prompt+=('即将'+(state>0?'生':'失')+'效。'); } prompt+='是否使用【无懈可击】?'; - if(player.isUnderControl(true)&&!_status.auto&&!ui.tempnowuxie&&map.tempnowuxie){ var translation=get.translation(map.card.name); if(translation.length>=4){ @@ -3265,7 +3275,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ } } }; - var withme=false; var withol=false; var list=event.list; @@ -3482,6 +3491,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ shandian_info:'出牌阶段,对自己使用。若判定结果为黑桃2~9,则目标角色受到3点雷电伤害。若判定不为黑桃2~9,将之移动到下家的判定区里。', icesha_skill:'冰冻', icesha_skill_info:'防止即将造成的伤害,改为依次弃置其两张牌。', + sha_notshan:'invisible', qinggang2:'破防', }, list:[ diff --git a/card/swd.js b/card/swd.js index 03e74ce6f..9af2f7339 100644 --- a/card/swd.js +++ b/card/swd.js @@ -3481,7 +3481,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ game.delay(); } }, - nvwashi:{ trigger:{global:'dying'}, priority:6, diff --git a/card/yingbian.js b/card/yingbian.js index 36185a370..f17f12c54 100644 --- a/card/yingbian.js +++ b/card/yingbian.js @@ -276,11 +276,11 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ai:{ value:function(card,player){ if(player.countCards('h')>3||get.position(card)!='e') return 0.5; - return (player.countCards('h')-5)/3; + return (player.countCards('h')-4)*5; }, equipValue:function(card,player){ if(player.countCards('h')>3||get.position(card)!='e') return 0.5; - return (player.countCards('h')-5)/3; + return (player.countCards('h')-4)*5; }, basic:{ equipValue:0.5 @@ -737,7 +737,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ['spade',13,'wuxie',null,['yingbian_kongchao','yingbian_draw']], ['spade',13,'nanman',null,['yingbian_fujia','yingbian_remove']], ['spade',13,'dawan'], - + ['heart',1,'taoyuan',null,['yingbian_fujia','yingbian_remove']], ['heart',1,'wanjian',null,['yingbian_fujia','yingbian_remove']], ['heart',1,'wuxie'], @@ -778,7 +778,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ['heart',13,'wuxie',null,['yingbian_kongchao','yingbian_gain']], ['heart',13,'shan'], ['heart',13,'zhuahuang'], - + ['club',1,'juedou'], ['club',1,'zhuge'], ['club',1,'huxinjing'], @@ -819,7 +819,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ['club',13,'wuxie',null,['yingbian_canqu','yingbian_draw']], ['club',13,'tongque'], ['club',13,'tiesuo'], - + ['diamond',1,'juedou'], ['diamond',1,'zhuge'], ['diamond',1,'wuxinghelingshan'], @@ -860,7 +860,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ['diamond',13,'sha'], ['diamond',13,'zixin'], ['diamond',13,'hualiu'], - + ['diamond',5,'muniu'], ], help:{ diff --git a/card/yongjian.js b/card/yongjian.js index d6529af5d..18f63d18a 100644 --- a/card/yongjian.js +++ b/card/yongjian.js @@ -733,7 +733,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ xinge:'信鸽', xinge_info:'出牌阶段限一次。你可以将一张手牌交给一名其他角色。', xinge_append:'咕咕咕。', - + _gifting:'赠予', _gifting_info:'出牌阶段,你可将一张拥有“赠”标签的手牌区装备牌置于一名其他角色的装备区内,或将一张拥有“赠”标签的手牌区非装备牌正面朝上交给一名其他角色。', }, @@ -751,7 +751,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ['spade',11,'wuxie'], ['spade',12,'chenghuodajie'], ['spade',13,'chenghuodajie'], - + ['heart',1,'guaguliaodu'], ['heart',2,'shan',null,['gifts']], ['heart',3,'wugu',null,['gifts']], @@ -765,7 +765,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ['heart',11,'sha',null,['gifts']], ['heart',12,'sha',null,['gifts']], ['heart',13,'zhanxiang',null,['gifts']], - + ['club',1,'duanjian',null,['gifts']], ['club',2,'sha','stab'], ['club',3,'yinfengyi',null,['gifts']], @@ -779,7 +779,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ ['club',11,'wuxie'], ['club',12,'wuxie'], ['club',13,'yonglv',null,['gifts']], - + ['diamond',1,'juedou',null,['gifts']], ['diamond',2,'shan'], ['diamond',3,'kaihua',null,['gifts']], diff --git a/card/yunchou.js b/card/yunchou.js index 8c5c5b0b2..9b1f55e32 100644 --- a/card/yunchou.js +++ b/card/yunchou.js @@ -85,7 +85,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ if(result.bool){ target.lose(result.cards,ui.special); target.$throw(result.cards); - game.log(target,'用',result.cards,'替换了',event.button.link); target.gain(event.button.link); target.$gain2(event.button.link); diff --git a/card/zhenfa.js b/card/zhenfa.js index 5443a26be..ec6eadc28 100644 --- a/card/zhenfa.js +++ b/card/zhenfa.js @@ -348,7 +348,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ }, }, skill:{ - }, translate:{ zhenfa:'阵法', diff --git a/card/zhulu.js b/card/zhulu.js index 2105ae27f..9aa9a9231 100644 --- a/card/zhulu.js +++ b/card/zhulu.js @@ -109,7 +109,6 @@ game.import('card',function(lib,game,ui,get,ai,_status){ else{ card=result.links[0]; } - var button; for(var i=0;i1; }, content:function (){ - "step 0" + "step 0" player.chooseCardButton('移去两张“功”',2,player.storage.jugong,true); "step 1" if(event.directresult||result.bool){ @@ -16305,7 +16297,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } "step 2" - trigger.cancel(); + trigger.cancel(); }, sub:true, }, @@ -16331,7 +16323,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player:"phaseDrawBegin", }, frequent:true, - filter:function (event,player){ + filter:function (event,player){ return player.storage.jugong.length>0; }, content:function (){ @@ -16339,13 +16331,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(player.storage.jugong.length>2) player.loseHp(); 'step 1' var cards=player.storage.jugong; - if(cards){ - player.gain(cards,'gain2'); - } - player.storage.jugong=[]; + if(cards){ + player.gain(cards,'gain2'); + } + player.storage.jugong=[]; 'step 2' trigger.cancel(); - }, + }, }, nsxinsheng:{ trigger:{source:'damageEnd'}, @@ -18049,7 +18041,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_liuzhang:'刘璋', ns_xinnanhua:'南华老仙', ns_luyusheng:'陆郁生', - + sp_key_yuri:'SP仲村由理', sp_key_yuri_prefix:'SP', key_lucia:'此花露西娅', @@ -18685,7 +18677,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ nsqingde_info:'每回合限一次,当你使用【杀】或普通锦囊牌对其他角色造成伤害后,你可使用该牌与受到伤害的角色拼点。你可令输的角色摸两张牌;当你受到其他角色使用【杀】或普通锦囊牌造成的伤害后,可使用该牌与伤害来源拼点。你可令赢的角色回复1点体力。', nsyidi:'遗敌', nsyidi_info:'出牌阶段限一次,你可展示一张手牌,然后将其交给一名其他角色。若为基本牌,该角色可使用此牌;若不为基本牌,你摸一张牌。', - + diy_wenyang:'文鸯', ns_zhangwei:'张葳', nshuaishuang:'怀霜', @@ -18919,7 +18911,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ moshou_info:'锁定技,你不能成为乐不思蜀和兵粮寸断的目标。', xicai_info:'你可以立即获得对你造成伤害的牌。', diyjianxiong_info:'锁定技,在身份局中,在你回合内死亡的角色均视为反贼,国战中,在你回合内死亡的角色若与你势力相同则随机改为另一个势力。', - + ns_zanghong:'臧洪', nsshimeng:'誓盟', nsshimeng_info:'出牌阶段限一次,你可以选择任意名角色。这些角色依次选择一项:⒈摸一张牌。⒉使用一张【杀】。然后若选择前者角色数大于选择后者的角色数,则你获得1点护甲并失去1点体力。', @@ -18944,7 +18936,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ nsxingyun_faq_info:'青龙:无标签普通锦囊牌
朱雀:延时锦囊牌
白虎:伤害类卡牌
玄武:【闪】/回复类卡牌', nshanlang:'酣浪', nshanlang_info:'准备阶段,你可以和至多三名角色拼点。然后若这些角色中有拼点牌唯一最大的角色,则你可以令该角色从牌堆中获得一张不符合“四象天阵”的牌。', - + junktaoluan:'滔乱', junktaoluan_backup:'滔乱', junktaoluan_info:'你可将一张牌当做任意一张基本牌或普通锦囊牌使用(此牌不得是本局游戏你以此法使用过的牌,且每回合每种花色限一次),然后你令一名其他角色选择一项:1.交给你一张与“滔乱”声明的牌类别不同的牌;2.本回合“滔乱”失效且回合结束时你失去1点体力。', @@ -19010,7 +19002,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_duji:'画饼杜畿', ns_duji_prefix:'画饼', ns_duji_ab:'杜畿', - + diy_tieba:'吧友设计', diy_xushi:'玩点论杀·虚实篇', diy_default:'常规', diff --git a/character/extra.js b/character/extra.js index 32c8b92de..0380d980e 100755 --- a/character/extra.js +++ b/character/extra.js @@ -37,7 +37,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ key_kagari:['female','shen',3,['kagari_zongsi'],['key']], key_shiki:['female','shen','3/5',['shiki_omusubi'],['key']], db_key_hina:['female','key',3,['hina_shenshi','hina_xingzhi'],['doublegroup:key:shen']], - + shen_sunce:['male','shen','1/6',['yingba','scfuhai','pinghe'],['wu']], shen_xunyu:['male','shen',3,['tianzuo','lingce','dinghan'],['wei','clan:颍川荀氏']], shen_taishici:['male','shen',4,['dulie','tspowei'],['wu']], @@ -51,7 +51,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shen_simayi:['male','shen',4,['renjie','sbaiyin','lianpo'],['wei']], shen_caocao:['male','shen',3,['new_guixin','feiying'],['wei']], shen_lvbu:['male','shen',5,['baonu','wumou','ol_wuqian','ol_shenfen'],['qun']], - + shen_liubei:["male","shen",6,["nzry_longnu","nzry_jieying"],["shu"]], shen_luxun:["male","shen",4,["nzry_junlve","nzry_cuike","nzry_dinghuo"],["wu"]], shen_zhangliao:["male","shen",4,["drlt_duorui","drlt_zhiti"],["wei"]], @@ -766,7 +766,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ capt+=`  范围:${infoHp}`; } uiintro.add(capt); - if(lib.characterTitle[node.link]){ uiintro.addText(get.colorspan(lib.characterTitle[node.link])); } @@ -785,7 +784,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } } - return node; }, video:function(player,info){ @@ -2046,7 +2044,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ temp=get.attitude(target,i); if(temp<0) die.push(i); else{ - temp=Math.sqrt(att)*i.countMark('twwuhun'); + temp=Math.sqrt(temp)*i.countMark('twwuhun'); if(!extra[0]||temp0; + return (event.name!='damage'&&(event.name!='phase'||game.phaseNumber==0))||event.num>0; }, content:function(){ player.addMark('baonu',trigger.name=='damage'?trigger.num:2); @@ -6197,7 +6194,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return "3点"; }).set('forceDie',true); "step 5" - targets[0].damage('fire',result.control=="2点"?2:3,'nocard'); + targets[0].damage('fire',result.control=="2点"?2:3,'nocard'); }, ai:{ order:1, @@ -6846,7 +6843,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ if(trigger.name!='link') player.link(true); else trigger.cancel(); - }, + }, }, '2':{ audio:'nzry_jieying', @@ -7008,7 +7005,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } }, - "drlt_duorui":{ audio:2, init:function(player,skill){ @@ -7726,12 +7722,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "nzry_longnu_info":"转换技,锁定技,阴:出牌阶段开始时,你失去1点体力并摸一张牌,然后本阶段内你的红色手牌均视为火【杀】且无距离限制。阳:出牌阶段开始时,你减1点体力上限并摸一张牌,然后本阶段内你的锦囊牌均视为雷【杀】且无使用次数限制。", "nzry_jieying":"结营", "nzry_jieying_info":"锁定技,游戏开始时或当你的武将牌重置时,你横置;所有已横置的角色手牌上限+2;结束阶段,你横置一名其他角色。", - + "shen_ganning":"神甘宁", shen_ganning_prefix:'神', "shen_zhangliao":"神张辽", shen_zhangliao_prefix:'神', - + "drlt_poxi":"魄袭", "drlt_poxi_info":"出牌阶段限一次,你可以观看一名其他角色的手牌,然后你可以弃置你与其手牌中的四张花色不同的牌。若如此做,根据此次弃置你的牌的数量执行以下效果:零张,扣减1点体力上限;一张,你结束出牌阶段且本回合手牌上限-1;三张,你回复1点体力;四张,你摸四张牌。", "drlt_jieying":"劫营", @@ -7743,7 +7739,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "drlt_duorui_info":"当你于出牌阶段内对一名其他角色造成伤害后,你可以废除你装备区内的一个装备栏(若已全部废除则可以跳过此步骤),然后获得该角色的一个技能直到其的下回合结束或其死亡(觉醒技,限定技,主公技,隐匿技,使命技等特殊技能除外)。若如此做,该角色该技能失效且你不能再发动〖夺锐〗直到你失去以此法获得的技能。", "drlt_zhiti":"止啼", "drlt_zhiti_info":"锁定技,你攻击范围内已受伤的其他角色手牌上限-1;当你拼点或【决斗】胜利,或受到伤害后,你恢复一个装备栏。", - + shen_zhaoyun:'神赵云', shen_zhaoyun_prefix:'神', shen_guanyu:'神关羽', @@ -7970,7 +7966,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hengwu:'横骛', hengwu_info:'当你使用或打出有花色的牌时,若你的手牌区内没有与此牌花色相同的牌,则你可以摸X张牌(X为场上装备区内花色与此牌相同的牌数)。', hengwu_append:'棘手,怀念,摧毁!', - + key_kagari:'篝', kagari_zongsi:'纵丝', kagari_zongsi_info:'出牌阶段限一次,你可以选择一张不在游戏外的牌,然后将其置于牌堆/弃牌堆的顶部/底部或一名角色的对应区域内。', @@ -8057,7 +8053,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ '
  • 鹤:出牌阶段开始时,你摸三张牌。', youyi:'游医', youyi_info:'①弃牌阶段结束时,你可以将所有于此阶段弃置的牌置入仁区。②出牌阶段限一次。你可以将仁区的所有牌置入弃牌堆,令所有角色各回复1点体力。', - + extra_feng:'神话再临·风', extra_huo:'神话再临·火', extra_lin:'神话再临·林', diff --git a/character/gwent.js b/character/gwent.js index 3e1a95269..166110f24 100644 --- a/character/gwent.js +++ b/character/gwent.js @@ -573,16 +573,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ huogong:[1,'你可以将一张手牌当作火攻使用'], aoe:[2,'出牌阶段限一次,你可以弃置两张牌,视为使用一张南蛮入侵'], shas:[2,'每当你使用一张杀,你可以追加一名无视距离的目标'], - }, defend:{ - }, assist:{ - }, control:{ - } } } @@ -2505,7 +2501,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ 'step 1' if(event.discard){ player.discardPlayerCard(target,'h',true,'visible'); - } else{ if(result.links&&result.links.length){ diff --git a/character/hearth.js b/character/hearth.js index 044354394..7ff07dd8d 100644 --- a/character/hearth.js +++ b/character/hearth.js @@ -4910,7 +4910,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ // player.$draw(player.storage.xunbao2); player.addSkill('xunbao2'); game.delay(2); - event.node=event.card.copy('thrown','center','thrownhighlight',ui.arena).addTempClass('start'); ui.arena.classList.add('thrownhighlight'); game.addVideo('thrownhighlight1'); @@ -8218,7 +8217,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return player.storage.huanfeng_end; }, content:function(){ - player.insertPhase(); delete player.storage.huanfeng_end; } diff --git a/character/huicui.js b/character/huicui.js index 5e2edd5ce..3f74298a4 100644 --- a/character/huicui.js +++ b/character/huicui.js @@ -505,7 +505,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else{ player.chat('没有非基本牌…'); game.log(`但是${position=='discardPile'?'弃':''}牌堆里没有非基本牌!`); - } }, }, @@ -2730,7 +2729,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.addSkill('dctaji_damage'); player.addMark('dctaji_damage',1,false); game.log(player,'下一次对其他角色造成的伤害','#g+1'); - }] ]; var name=evt.name; @@ -5039,7 +5037,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dialog.classList.add('fullwidth'); dialog.classList.add('fullheight'); dialog.buttonss=[]; - + var list=['仅展示牌的玩家','交出牌的玩家'] for(var i=0;i'+list[i]+''); @@ -5049,7 +5047,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ buttons.classList.add('guanxing'); } dialog.open(); - + var getx=function(){ var item=results.shift(); var card=item[1][1],index=item[1][0]=='仅展示牌'?0:1; @@ -6178,7 +6176,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ 'step 0' player.draw(); - 'step 1' + 'step 1' var target=trigger.player; if(player.countCards('h')<=target.countCards('h')&&target.countCards('he')>0){ player.discardPlayerCard(target,true,'he'); @@ -9177,7 +9175,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger:{player:'damageEnd'}, forced:true, filter:function(event,player){ - var target=lib.skill.fengxiang.getMax(); + var target=lib.skill.fengxiang.getMax(); return !target||target.isDamaged(); }, logTarget:function(event,player){ @@ -10619,7 +10617,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ visible:true, insert:true, content:function(){ - game.log(player,'将',cards,'置于牌堆顶'); + game.log(player,'将',cards,'置于牌堆顶'); player.useCard({name:'sha',isCard:true},false,targets).card.cxliushi=true; }, group:'cxliushi_damage', @@ -11200,7 +11198,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcchongwang:'崇望', dcchongwang_info:'其他角色使用基本牌或普通锦囊牌时,若你是本局游戏内上一张被使用的牌的使用者,则你可以选择一项:⒈令其于此牌结算结束后收回此牌对应的所有实体牌;⒉取消此牌的所有目标。', dchuagui:'化归', - dchuagui_info:'出牌阶段开始时,你可以选择至多X名有牌的其他角色(X为场上每个阵营中最大阵营的人数,且你的选择结果不展示)。这些角色同时选择一项:⒈交给你一张牌,⒉展示一张牌。若这些角色均选择选项二,则你获得所有展示牌。', + dchuagui_info:'出牌阶段开始时,你可以选择至多X名有牌的其他角色(X为场上每个阵营中最大阵营的人数,且你的选择结果不展示)。这些角色同时选择一项:⒈交给你一张牌,⒉展示一张牌。若这些角色均选择选项二,则你获得所有展示牌。', gongsundu:'公孙度', dczhenze:'震泽', dczhenze_info:'弃牌阶段开始时,你可以选择一项:1.令所有手牌数与体力值大小关系与你不同的角色失去1点体力;2.令所有手牌数和体力值关系与你相同的角色回复1点体力。', diff --git a/character/jiange.js b/character/jiange.js index 5a8ebd0e6..0a7413a72 100644 --- a/character/jiange.js +++ b/character/jiange.js @@ -571,7 +571,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jingfan:'惊帆', jingfan2:'惊帆', jingfan_info:'回合内,每当你使用一张卡牌,你的进攻距离+1;出牌阶段结束时,你可以将手牌数补至X,并指定至多X名角色令其进攻距离+1直到其下一回合结束,X为你回合内使用的卡牌数。', - }, }; }); diff --git a/character/jsrg.js b/character/jsrg.js index 30a0d8d8e..694deadff 100644 --- a/character/jsrg.js +++ b/character/jsrg.js @@ -234,7 +234,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } }, - }, jsrgzhenfeng:{ audio:2, @@ -838,7 +837,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ animate:'gain2', }).setContent('gaincardMultiple'); } - }, subSkill:{ zero:{ @@ -3201,7 +3199,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ goon:get.attitude(player,trigger.player)>1&&(evt.card?get.effect(trigger.player,evt.card,evt.player,player)<0:get.effect(trigger.player,{name:event.list[0]},trigger.player,player)>0), ai1:function(card){ if(_status.event.goon) return 6-get.value(card); - return 0; + return 0; }, _get_card:card, }); diff --git a/character/mobile.js b/character/mobile.js index 43b7497a6..042684d77 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -148,22 +148,22 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wangyuanji:["female","wei",3,["xinfu_qianchong","xinfu_shangjian"]], pangdegong:["male","qun",3,["xinfu_pingcai","xinfu_pdgyingshi"]], old_yuanshu:['male','qun',4,['xinyongsi','yjixi']], - + shenpei:["male","qun","2/3",["shouye","liezhi"]], re_wangyun:['male','qun',3,['relianji','remoucheng'],['clan:太原王氏']], - + re_baosanniang:['female','shu',3,['meiyong','rexushen','rezhennan']], - + hujinding:['female','shu','2/6',['renshi','wuyuan','huaizi']], - + re_zhanggong:['male','wei',3,['reqianxin','rezhenxing']], re_xugong:['male','qun',3,['rebiaozhao','yechou'],['doublegroup:wu:qun']], re_weiwenzhugezhi:['male','wu',4,['refuhai']], - + xin_yuanshao:['male','qun',4,['reluanji','xueyi'],['zhu']], re_liushan:['male','shu',3,['xiangle','refangquan','ruoyu'],['zhu']], re_sunben:['male','wu',4,['jiang','rehunzi','zhiba'],['zhu']], - + scs_zhangrang:['male','qun','',['scstaoluan'],['unseen','sex:male_castrated']], scs_zhaozhong:['male','qun','',['scschiyan'],['unseen','sex:male_castrated']], scs_sunzhang:['male','qun','',['scszimou'],['unseen','sex:male_castrated']], @@ -6975,7 +6975,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else{ game.log(event.target,'成为了',trigger.card,'的额外目标'); - trigger.getParent().targets.push(event.target); + trigger.getParent().targets.push(event.target); } } }, @@ -8059,7 +8059,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ const updateText=function(str){ dialog.textPrompt.innerHTML='
    '+str+'
    '; } - + const canvas=document.createElement('canvas'); dialog.appendChild(canvas); canvas.style.position="absolute"; @@ -8070,7 +8070,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ canvas.width=276; canvas.height=414; canvas.style.border='3px solid'; - + const RAD = Math.PI / 180; const ctx=canvas.getContext('2d'); let frames = 0; @@ -8092,7 +8092,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ die: new Audio(), played: false, }; - const gnd = { sprite: new Image(), x: 0, @@ -8149,7 +8148,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ this.pipes.forEach((pipe) => { pipe.x -= dx * deltaTime; }); - if (this.pipes.length && this.pipes[0].x < -this.top.sprite.width) { this.pipes.shift(); this.moved = true; @@ -8215,7 +8213,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ updateText(`${title||'御风飞行'}表演失败……`) setTimeout(switchToAuto,2000); } - break; case state.gameOver: this.frame = 1; @@ -8232,7 +8229,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ SFX.played = true; } } - break; } const animationsLength = this.animations.length; @@ -8353,20 +8349,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ frames++; window.requestAnimationFrame(gameLoop); } - + const update = function(){ bird.update(); gnd.update(); pipe.update(); UI.update(); } - + const draw = function(){ ctx.fillStyle = "#30c0df"; ctx.fillRect(0, 0, canvas.width, canvas.height); bg.draw(); pipe.draw(); - + bird.draw(); gnd.draw(); UI.draw(); @@ -8394,9 +8390,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ _status.imchoosing=false; frames=-1; document.removeEventListener(lib.config.touchscreen?'touchstart':'mousedown',click); - } + } - dialog.open(); + dialog.open(); game.pause(); game.countChoose(); @@ -8470,13 +8466,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.dialog.classList.add('noupdate'); event.dialog.style.overflow='hidden'; event.dialog.open(); - + var height=event.dialog.offsetHeight; var width=event.dialog.offsetWidth; var top=50; var speed=0; var start=false; - + var bird=ui.create.div(''); bird.style["background-image"]='linear-gradient(rgba(240, 235, 3, 1), rgba(230, 225, 5, 1))'; bird.style["border-radius"]='3px'; @@ -8501,7 +8497,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var right2=left2+10; var bottom2=i.height1; var top2=i.height2; - + if(left2>bright||right2top2) return true; @@ -8509,7 +8505,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } return false; }; - + var fly=function(){ if(!start){ start=true; @@ -8525,14 +8521,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } speed+=0.5; if(speed>2.5) speed=2.5; - + if(isDead()==true){ event.settle(); } },35); var addPipe=function(){ var num=get.rand(5,55); - + var pipe1=ui.create.div(''); pipe1.style["background-image"]='linear-gradient(rgba(57, 133, 4, 1), rgba(60, 135, 6, 1))'; pipe1.style["border-radius"]='3px'; @@ -8583,7 +8579,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }; document.addEventListener(lib.config.touchscreen?'touchstart':'mousedown',fly); - + event.settle=function(){ clearInterval(event.fly); clearInterval(event.addPipe); @@ -8592,7 +8588,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.switchToAuto() },1000); }; - + game.pause(); game.countChoose(); }; @@ -10629,7 +10625,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ names2.randomSort(); names=names.concat(names2); } - + event.zhengjing=names; for(var i of list){ event.map[i]=0; @@ -10678,7 +10674,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.switchToAuto(); },1000); }; - + var click=function(){ var name=this.name; if(name=='du'){ @@ -10732,7 +10728,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ },800); else event.settle(); }; - + game.pause(); game.countChoose(); addNode(); @@ -13788,7 +13784,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dialog.classList.add('fullheight'); dialog.classList.add('noupdate'); dialog.videoId=id; - + var canvas2=document.createElement('canvas'); dialog.canvas_viewer=canvas2; dialog.appendChild(canvas2); @@ -13802,7 +13798,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ canvas2.width=249; canvas2.height=249; canvas2.style.border='3px solid'; - + var ctx2=canvas2.getContext('2d'); var img=new Image(); img.src=lib.assetURL+'image/card/'+name+'.png'; @@ -13828,7 +13824,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var chooseButton=function(id,name){ var event=_status.event; _status.xinfu_pingcai_finished=false; - + var dialog=ui.create.dialog('forcebutton','hidden'); dialog.textPrompt=dialog.add('
    擦拭掉宝物上的灰尘吧!
    '); event.switchToAuto=function(){ @@ -13846,13 +13842,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dialog.classList.add('fullheight'); dialog.classList.add('noupdate'); dialog.videoId=id; - + var canvas=document.createElement('canvas'); var canvas2=document.createElement('canvas'); - + dialog.appendChild(canvas2); dialog.appendChild(canvas); - + canvas.style.position="absolute"; canvas.style.width='249px'; canvas.style.height='249px'; @@ -13862,7 +13858,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ canvas.width=249; canvas.height=249; canvas.style.border='3px solid'; - + canvas2.style.position="absolute"; canvas2.style.width='249px'; canvas2.style.height='249px'; @@ -13872,19 +13868,19 @@ game.import('character',function(lib,game,ui,get,ai,_status){ canvas2.width=249; canvas2.height=249; canvas2.style.border='3px solid'; - + var ctx=canvas.getContext('2d'); var ctx2=canvas2.getContext('2d'); - + var img=new Image(); img.src=lib.assetURL+'image/card/'+name+'.png'; img.onload=function(){ ctx2.drawImage(this,0,0,this.width,this.height,0,0,canvas2.width,canvas2.height); } - + ctx.fillStyle='lightgray'; ctx.fillRect(0,0,canvas.width,canvas.height); - + canvas.onmousedown=function(ev){ //if(_status.xinfu_pingcai_finished) return; canvas.onmousemove=function(e){ @@ -13937,9 +13933,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ canvas.ontouchend=function(ev){ canvas.ontouchmove=null; } - + dialog.open(); - + game.pause(); game.countChoose(); }; @@ -15556,25 +15552,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){ relianji_info:'出牌阶段限一次,你可以选择两名其他角色。第一名角色随机使用牌堆中的一张武器牌,然后这名角色视为对另一名角色随机使用一张下列的牌名的牌:【决斗】、【火攻】、【南蛮入侵】、【万箭齐发】或普【杀】。然后若此牌造成伤害,你获得X枚“连计”标记(X为此次扣减的体力值点数)。', remoucheng:'谋逞', remoucheng_info:'觉醒技,当一名角色因〖连计〗造成伤害后,若你拥有的“连计”标记数大于2,你加1点体力上限,回复1点体力,失去“连计”,获得“矜功”。', - + shouye:'守邺', shouye_info:'每回合限一次。当其他角色使用牌指定你为唯一目标时,你可以与其进行【对策】。若你赢,则你取消此牌的目标,且你于此牌结算完成后获得其对应的所有实体牌。', liezhi:'烈直', liezhi_info:'准备阶段,你可以依次弃置至多两名其他角色区域内的各一张牌。若你受到过伤害,则〖烈直〗于你的下个回合无效。', - + xinzhanyi:'战意', xinzhanyi_info:'出牌阶段限一次,你可以弃置一张牌并失去1点体力,然后根据你弃置的牌获得以下效果直到回合结束:基本牌,你可以将一张基本牌当作杀、酒或桃使用,且你本回合第一次以此法使用的牌的回复值/伤害值+1;锦囊牌,摸三张牌且你使用的牌不能被【无懈可击】响应;装备牌,你使用【杀】指定唯一目标后,其弃置两张牌,然后你获得其中的一张。', xinzhanyi_basic_backup:'战意', xinzhanyi_basic:'战意', xinzhanyi_equip:'战意', - + meiyong:'姝勇', meiyong_info:'当你使用或打出【杀】时,你可以获得一名其他角色的一张牌,然后其摸一张牌。', rexushen:'许身', rexushen_info:'限定技,出牌阶段,你可以失去X点体力(X为场上男性角色的数量)。若你以此法进入了濒死状态,则当你因一名角色而脱离此濒死状态后,你可以令其获得技能〖武圣〗和〖当先〗。', rezhennan:'镇南', rezhennan_info:'当你成为其他角色使用的牌的目标后,若此牌的目标数大于该角色的体力值,则你可以弃置一张牌并对其造成1点伤害。', - + hujinding:'手杀胡金定', hujinding_prefix:'手杀', huaizi:'怀子', @@ -15583,7 +15579,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ renshi_info:'锁定技,当你受到【杀】的伤害时,若你已受伤,则你防止此伤害并获得此【杀】对应的所有实体牌,然后减1点体力上限。', wuyuan:'武缘', wuyuan_info:'出牌阶段限一次,你可将一张【杀】交给一名其他角色,然后你回复1点体力,其摸一张牌。若此【杀】为:红色【杀】,其回复1点体力;属性【杀】,其改为摸两张牌。', - + re_weiwenzhugezhi:'手杀卫温诸葛直', re_weiwenzhugezhi_prefix:'手杀', gz_re_xugong:'许贡', @@ -15617,7 +15613,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ //伊吹 风子 qiaosi_c6:' ', //仲村 由理 - + yangbiao:'手杀杨彪', yangbiao_prefix:'手杀', zhaohan:'昭汉', @@ -15679,7 +15675,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhengjing:'整经', zhengjing_info:'出牌阶段,你可以整理卡牌。然后,你将整理出的卡牌中的至少一张作为“经”置于一名角色的武将牌上,然后获得其余的牌。该角色的准备阶段获得这些牌,且跳过此回合的判定和摸牌阶段。', zhengjing2:'整经', - + mobile_yijiang:'将星独具', yj_zhanghe:'☆张郃', yj_zhanghe_prefix:'☆', @@ -16251,7 +16247,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ mbyilie2:'义烈', mbyilie3:'义烈', mbyilie_info:'锁定技。①游戏开始时,你选择一名其他角色,然后你获得以下效果:其受到伤害时,若你的“烈”标记数小于2,则你获得等同于伤害值的“烈”标记,然后防止此伤害;其对其他角色造成伤害后,你回复1点体力。②结束阶段,若你有“烈”标记,你摸X张牌并失去X点体力,然后移去所有“烈”标记(X为你拥有的“烈”标记数)。', - + mobile_standard:'手杀异构·标准包', mobile_shenhua_feng:'手杀异构·其疾如风', mobile_shenhua_huo:'手杀异构·侵掠如火', diff --git a/character/offline.js b/character/offline.js index f4b754086..345f89f81 100644 --- a/character/offline.js +++ b/character/offline.js @@ -1275,7 +1275,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(get.name(card)!='sha') return false; return lib.filter.filterCard.apply(this,arguments); },trigger.target,-1).set('addCount',false).logSkill='pshuiqiang'; - } + } }, pshuntu:{ audio:2, diff --git a/character/old.js b/character/old.js index 1841a1e9f..6ee6d9349 100755 --- a/character/old.js +++ b/character/old.js @@ -77,7 +77,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ old_chenqun:['male','wei',3,['dingpin','oldfaen']], old_zhuhuan:['male','wu',4,['youdi']], old_zhuzhi:['male','wu',4,['anguo']], - + old_zhugezhan:["male","shu",3,["old_zuilun","old_fuyin"]], ol_zhangrang:['male','qun',3,['xintaoluan'],['sex:male_castrated']], //ol_manchong:['male','wei',3,['yuce','junxing']], @@ -1214,7 +1214,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ panfeng_prefix:'旧', old_shixie:'旧士燮', old_shixie_prefix:'旧', - + old_standard:'标准包', old_shenhua:'神话再临', old_refresh:'界限突破', diff --git a/character/ow.js b/character/ow.js index 37ed75d9f..19d95445a 100644 --- a/character/ow.js +++ b/character/ow.js @@ -311,7 +311,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.addTempSkill('feitiao2'); target.randomDiscard(); } - } }, feitiao2:{ diff --git a/character/refresh.js b/character/refresh.js index d1c12573f..a64d7c3bf 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -126,11 +126,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_zhenji:['female','wei',3,['reluoshen','reqingguo']], re_zhugeliang:['male','shu',3,['reguanxing','kongcheng']], re_huaxiong:["male","qun",6,["reyaowu","shizhan"]], - + re_zhangjiao:['male','qun',3,['xinleiji','xinguidao','xinhuangtian'],['zhu']], xin_yuji:['male','qun',3,['reguhuo']], re_zuoci:['male','qun',3,['rehuashen','rexinsheng']], - + ol_xiahouyuan:['male','wei',4,['xinshensu','shebian']], caoren:['male','wei',4,['xinjushou','xinjiewei']], ol_weiyan:['male','shu',4,['xinkuanggu','reqimou']], @@ -148,7 +148,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ol_jiangwei:['male','shu',4,['oltiaoxin','olzhiji']], ol_caiwenji:['female','qun',3,['olbeige','duanchang']], ol_liushan:['male','shu',3,['xiangle','olfangquan','olruoyu'],['zhu']], - + re_sunce:['male','wu',4,['oljiang','olhunzi','olzhiba'],['zhu']], re_jianyong:['male','shu',3,['reqiaoshui','jyzongshi']], }, @@ -1589,7 +1589,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(event.targets.length>1) return false; if(!event.target) return false; if(event.target.hp>player.hp) return false; - var card=event.card; if(card.name=='sha') return true; if(get.color(card)=='black'&&get.type(card,'trick')=='trick') return true; @@ -3700,7 +3699,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return get.effect(current,{ name:card.viewAs||card.name, cards:[card], - },current,current)<-2; + },current,current)<-2; }); for(var i=0;ifalse, selectCard:-1, filterTarget:true, @@ -11535,7 +11534,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, }, - "new_yajiao":{ audio:"reyajiao", trigger:{ @@ -11603,7 +11601,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return (player.canUse({name:'juedou'},current)&¤t!=trigger.player&¤t!=player&&get.effect(current,{name:'juedou'},player,_status.event.player)<0); })) return 1; return 4; - })()).set('logSkill',['new_liyu',trigger.player]); + })()).set('logSkill',['new_liyu',trigger.player]); 'step 1' if(result.bool){ if(get.type(result.cards[0])!='equip'){ @@ -12212,6 +12210,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ trigger[get.color(trigger.card)!='red'?'player':'source'].draw(); }, + ai:{ + effect:{ + target:(card,player,target)=>{ + if(typeof card!=='object'||!get.tag(card,'damage')||target.hasSkill('gangzhi')) return; + if(player.hasSkillTag('jueqing',null,true)) return; + if(get.color(card)==='red') return [1,0,1,0.6]; + return [1,0.6]; + } + } + } }, "new_reyaowu":{ trigger:{ @@ -12220,33 +12228,29 @@ game.import('character',function(lib,game,ui,get,ai,_status){ //priority:1, audio:2, audioname:['sb_huaxiong'], - filter:function (event){ + filter:function(event){ return event.card&&event.card.name=='sha'&&(get.color(event.card)!='red'||event.source&&event.source.isIn()); }, forced:true, - check:function (event){ - if(event.card&&(event.card.name=='sha')){ - return get.color(event.card)=='black'; - } - }, - content:function (){ + content:function(){ if(get.color(trigger.card)!='red') player.draw(); else trigger.source.chooseDrawRecover(true); }, ai:{ effect:{ - target:function (card,player,target,current){ - if(card.name=='sha'&&(get.color(card)=='red')&&get.attitude(player,target)<=0){ - return [1,0.8,1,0]; - } - if(card.name=='sha'&&(get.color(card)=='black')){ - return [1,0.4]; + target:(card,player,target,current)=>{ + if(card.name=='sha'){ + if(get.color(card)=='red'){ + let num=player.isDamaged()?1.6:0.7; + if(get.attitude(player,target)>0&&player.hp<3) return [1,0,1,num]; + return [1,0,1,num/2]; + } + return [1,0.6]; } }, }, }, }, - reguanxing:{ audio:'guanxing', audioname:['jiangwei','re_jiangwei','re_zhugeliang','gexuan','ol_jiangwei'], @@ -14052,7 +14056,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "step 3" player.line(result.targets,'green'); result.targets[0].gain(event.card,'gain2'); - }, ai:{ order:9, @@ -14786,7 +14789,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_zhenji_prefix:'界', re_huaxiong:"界华雄", re_huaxiong_prefix:'界', - + ol_sp_zhugeliang:"界卧龙", ol_sp_zhugeliang_prefix:'界', re_zhangjiao:'界张角', @@ -14797,7 +14800,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ol_yuanshao_prefix:'界', ol_liushan:'界刘禅', ol_liushan_prefix:'界', - + olfangquan:'放权', olfangquan_info:'出牌阶段开始前,你可以跳过此阶段。若如此做,弃牌阶段开始时,你可以弃置一张手牌,令一名其他角色进行一个额外回合。', olruoyu:'若愚', @@ -14893,7 +14896,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ reyaowu_info:'锁定技,当你受到牌造成的伤害时,若此牌为红色,则伤害来源摸一张牌;否则你摸一张牌。', reqingguo:'倾国', reqingguo_info:'你可以将一张黑色牌当做【闪】使用或打出。', - + qinxue:'勤学', retuxi:'突袭', reluoyi:'裸衣', @@ -14971,7 +14974,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ botu_info:'回合结束时,若你本回合出牌阶段内使用的牌包含四种花色,则你可以进行一个额外回合。', rebotu:'博图', rebotu_info:'每轮限X次。回合结束时,若本回合内置入弃牌堆的牌中包含至少四种花色,则你可获得一个额外的回合。(X为存活角色数且至多为3)', - + xin_yuji:'界于吉', xin_yuji_prefix:'界', re_zuoci:'界左慈', @@ -15304,7 +15307,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olhaoshi_info:'摸牌阶段开始时,你可以多摸两张牌。然后摸牌阶段结束时,若你的手牌数大于5,则你将手牌数的一半(向下取整)交给一名手牌最少其他角色并获得如下效果直到你下回合开始:当你成为【杀】或普通锦囊牌的目标后,其可以交给你一张手牌。', oldimeng:'缔盟', oldimeng_info:'出牌阶段限一次,你可令两名满足X≤Y的其他角色交换手牌并获得如下效果:出牌阶段结束时,你弃置X张牌(X为这两名角色手牌数之差的绝对值;Y为你的牌数)。', - + rejijiang:'激将', rejijiang1:'激将', rejijiang2:'激将', @@ -15556,7 +15559,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_lidian_prefix:'界', re_xushu:'界徐庶', re_xushu_prefix:'界', - + refresh_standard:'界限突破·标', refresh_feng:'界限突破·风', refresh_huo:'界限突破·火', diff --git a/character/sb.js b/character/sb.js index 1229cabee..4538769b2 100644 --- a/character/sb.js +++ b/character/sb.js @@ -5786,7 +5786,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sb_lvmeng:'谋吕蒙', sbkeji:'克己', sbkeji_info:'①出牌阶段各限一次。你可以选择一项:1.弃置一张手牌,然后获得1点护甲;2.失去1点体力,然后获得2点护甲。②你的手牌上限+X(X为你的护甲数)。③若你不为正在结算濒死流程的角色,你不能使用【桃】。', - sbdujiang:'渡江', + sbdujiang:'渡江', sbdujiang_info:'觉醒技。准备阶段,若你的护甲数不少于3,你获得〖夺荆〗,修改〖克己①〗为“出牌阶段限一次”。', sbduojing:'夺荆', sbduojing_info:'当你使用【杀】指定目标时,你可以失去1点护甲。然后令此【杀】无视防具,你获得目标角色一张牌,本回合使用【杀】的次数上限+1。', diff --git a/character/shenhua.js b/character/shenhua.js index 23914f830..34750ef38 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -51,7 +51,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhangzhang:['male','wu',3,['zhijian','guzheng']], caiwenji:['female','qun',3,['beige','duanchang']], zuoci:['male','qun',3,['huashen','xinsheng']], - + wangji:['male','wei',3,['qizhi','jinqu']], "yanyan":["male","shu",4,["nzry_juzhan"],[]], "wangping":["male","shu",4,["nzry_feijun","nzry_binglve"],[]], @@ -60,7 +60,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xuyou:["male","qun",3,["nzry_chenglve","nzry_shicai","nzry_cunmu"]], "yl_luzhi":["male","qun",3,["nzry_mingren","nzry_zhenliang"],["die_audio"]], "kuailiangkuaiyue":["male","wei",3,["nzry_jianxiang","nzry_shenshi"],[]], - + guanqiujian:['male','wei',4,['zhengrong','hongju']], "haozhao":["male","wei",4,["drlt_zhenggu"],[]], "zhugezhan":["male","shu",3,["xinfu_zuilun","xinfu_fuyin"],[]], @@ -123,7 +123,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhangzhang:'张昭,字子布,彭城人,三国时期吴国重臣,善丹青。拜辅吴将军,班亚三司,改封娄侯。年八十一卒,谥曰文侯。张纮,字子纲,广陵人。东吴谋士,和张昭一起合称“二张”。孙策平定江东时亲自登门邀请,张纮遂出仕为官。张纮后来建议孙权迁都秣陵,孙权正在准备时张纮病逝,其年六十岁。孙权为之流涕。', zuoci:'左慈,字元放,东汉末方士,汉族,庐江(今安徽庐江西南)人。在道教历史上,东汉时期的丹鼎派道术是从他一脉相传。', caiwenji:'名琰,原字昭姬,晋时避司马昭讳,改字文姬,东汉末年陈留圉(今河南开封杞县)人,东汉大文学家蔡邕的女儿,是中国历史上著名的才女和文学家,精于天文数理,既博学能文,又善诗赋,兼长辩才与音律。代表作有《胡笳十八拍》、《悲愤诗》等 。', - + "yanyan":"严颜,东汉末年武将,初为刘璋部下,担任巴郡太守。建安十九年,刘备进攻江州,严颜战败被俘,张飞对严颜说:“大军至,何以不降而敢拒战?”,严颜回答说:“卿等无状,侵夺我州,我州但有断头将军,无降将军也!”,张飞生气,命左右将严颜牵去砍头,严颜表情不变地说:“砍头便砍头,何为怒邪!”张飞敬佩严颜的勇气,遂释放严颜并以严颜为宾客,之后的事迹不在正史中出现。", "wangping":"王平,字子均,巴西宕渠(今四川省渠县东北)人,籍贯益州。三国时蜀汉后期大将。原属曹操,曹操与刘备争汉中,得以投降刘备。诸葛亮第一次北伐时与马谡一同守街亭,之后深受诸葛亮的器重,率领蜀汉的王牌军队无当飞军,多次随诸葛亮北伐。诸葛亮死后,拜前监军、镇北大将军,镇守汉中,曹爽率领十万大军攻汉中时,被王平所击退,累封安汉侯。延熙十一年,王平去世,其子王训继承了爵位。", "luji":"陆绩(公元188年-公元219年),字公纪,吴郡吴县(今苏州)人,汉末庐江太守陆康之子。陆绩成年后,博学多识,通晓天文、历算,星历算数无不涉览。孙权征其为奏曹掾,常以直道见惮。后出为郁林太守,加偏将军。在军中不废著作,曾作《浑天图》,注《易经》,撰写《太玄经注》。", @@ -131,7 +131,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "xuyou":"许攸(?-204年),字子远,南阳(治今河南南阳)人。本为袁绍帐下谋士,官渡之战时其家人因犯法而被收捕,许攸因此背袁投曹,并为曹操设下偷袭袁绍军屯粮之所乌巢的计策,袁绍因此而大败于官渡。后许攸随曹操平定冀州,因自恃其功而屡屡口出狂言,终因触怒曹操而被杀。", "yl_luzhi":"卢植(139年—192年),字子干。涿郡涿县(今河北涿州)人。东汉末年经学家、将领。卢植性格刚毅,师从太尉陈球、大儒马融等,为郑玄、管宁、华歆的同门师兄。曾先后担任九江、庐江太守,平定蛮族叛乱。后与马日磾、蔡邕等一起在东观校勘儒学经典书籍,并参与续写《汉记》。黄巾起义时为北中郎将,率军与张角交战,后被诬陷下狱,皇甫嵩平定黄巾后力救卢植,于是复任为尚书。后因上谏激怒董卓被免官,隐居在上谷军都山,被袁绍请为军师。初平三年(192年)去世。著有《尚书章句》、《三礼解诂》等,今皆失佚。唐代时配享孔子,北宋时被追封为良乡伯。白马将军公孙瓒以及后来的蜀汉昭烈帝刘备皆为卢植门下弟子。范阳卢氏后来也成为著名的家族。", "kuailiangkuaiyue":"蒯良,字子柔,襄阳中庐人。归刘表。蒯良为刘表定下安抚荆楚的政治方向,佐其成业,被刘表誉为“雍季之论”。之后,蒯良就被刘表擢升为主簿(bù)。其后蒯良的生平,就不得而知了,《三国志》亦没有记载其卒年。与蒯越、以及同样活跃于襄阳的蒯祺(诸葛亮姐夫)或为同族兄弟。蒯越(?-214年),字异度,襄阳中庐(今湖北襄阳西南)人。东汉末期人物,演义中为蒯良之弟。原本是荆州牧刘表的部下,曾经在刘表初上任时帮助刘表铲除荆州一带的宗贼(以宗族、乡里关系组成的武装集团)。刘表病逝后与刘琮一同投降曹操,后来官至光禄勋。", - + "guanqiujian":"毌丘俭,字仲恭,河东闻喜(今山西闻喜县)人。三国时期曹魏后期的重要将领。继承父毌丘兴爵位高阳乡侯,任平原侯文学。魏明帝即位后,上疏劝魏明帝停止加建皇宫的工程,升为荆州刺史。景初二年(238年)从司马懿攻灭公孙渊;正始五年(244年)至正始六年(245年)两次率兵征讨高句丽,攻破丸都,几亡其国,刻石纪功而还;253年击退吴国诸葛恪的大举进犯,战功累累。司马师废帝,毌丘俭感昔日魏明帝之恩,为曹魏政权做拼死一搏,于正元二年(255年)发动兵变,即后人所谓“淮南三叛”(王淩、毌丘俭、诸葛诞)之一,惜准备不足,兵败身亡。", "haozhao":"郝昭(生卒年不详),字伯道,太原人,中国东汉末年至曹魏初年著名将领。郝昭少年从军,屡立战功,逐渐晋升为杂号将军,后受曹真的推荐镇守陈仓(在小说三国演义中是司马懿推荐),防御蜀汉。太和二年(228年),诸葛亮率军北伐,为郝昭所阻,劝降不成,昼夜相攻二十余日后被迫退军。魏明帝因此封其为关内侯。不久因染疾而病死。", "zhugezhan":"诸葛瞻,字思远,琅邪阳都(今山东沂南县)人。三国时期蜀汉大臣,蜀汉丞相诸葛亮之子。邓艾伐蜀时,他与长子诸葛尚及蜀将张遵、李球、黄崇等人防御绵竹(今四川德阳),因不听黄崇速占险要的建议而坐失良机,后来出城与邓艾决战,在交战时阵亡,绵竹也随后失守。", @@ -200,7 +200,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else if(use){ const select=backup.selectTarget(cardx,player); - if(select[0]<=-1) return true; + if(select[0]<=-1) return true; return selected>=select[0]&&selected<=select[1]; } }, @@ -1437,8 +1437,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, charlotte:true, }, - - "drlt_congjian":{ audio:2, audioname2:{tongyuan:'ocongjian_tongyuan'}, @@ -1692,7 +1690,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(cards.length) player.gain(cards,'gain2'); }, }, - nzry_juzhan:{ audio:"nzry_juzhan_1", mark:true, @@ -1758,6 +1755,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, nzry_juzhany:{}, nzry_feijun:{ + init:(player)=>{ + if(!Array.isArray(player.storage.nzry_feijun)) player.storage.nzry_feijun=[]; + }, intro:{ content:function(storage){ if(!storage||!storage.length) return '尚未发动'; @@ -1826,7 +1826,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ event.target=result.targets[0]; var list=player.getStorage('nzry_feijun'); if(!list.includes(event.target)){ - event._nzry_binglve=true; + event._nzry_binglve=true; player.markAuto('nzry_feijun',[event.target]); } player.line(event.target,'green'); @@ -1984,7 +1984,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ trigger.cancel(); player.addMark('nzry_huaiju',1); - }, + }, }, "nzry_kuizhu":{ audio:2, @@ -2349,7 +2349,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ forced:true, content:function(){ trigger.bottom=true; - }, + }, }, nzry_mingren:{ audio:"nzry_mingren_1", @@ -2659,7 +2659,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ delete player.storage.nzry_shenshi2; }, }, - xinjushou:{ audio:2, trigger:{player:'phaseJieshuBegin'}, @@ -3223,6 +3222,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xinliegong:{ shaRelated:true, mod:{ + aiOrder:function(player,card,num){ + if(num>0&&(card.name==='sha'||get.tag(card,'draw'))) return num+6; + }, targetInRange:function(card,player,target){ if(card.name=='sha'&&typeof get.number(card)=='number'){ if(get.distance(player,target)<=get.number(card)) return true; @@ -4338,7 +4340,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } event.control.replacex(['cancel2']); } - + event.switchToAuto=function(){ var cards=[]; var skills=[]; @@ -7739,7 +7741,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "luji":"陆绩", "wangping":"王平", "yanyan":"严颜", - + "zhugezhan":"诸葛瞻", "lukang":"陆抗", "haozhao":"郝昭", @@ -7749,7 +7751,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "chendao":"陈到", "guanqiujian":"毌丘俭", zhoufei:"周妃", - + "nzry_jianxiang":"荐降", "nzry_jianxiang_info":"当你成为其他角色使用牌的目标时,你可令手牌数最少的一名角色摸一张牌。", "nzry_shenshi1":"审时", @@ -7786,7 +7788,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "nzry_juzhan1":"拒战", "nzry_juzhan":"拒战", "nzry_juzhan_info":"转换技,阴:当你成为其他角色【杀】的目标后,你可以与其各摸一张牌,然后其本回合内不能再对你使用牌。阳:当你使用【杀】指定一名角色为目标后,你可以获得其一张牌,然后你本回合内不能再对其使用牌。", - + liangyin:"良姻", "liangyin_info":"当有牌移至游戏外时,你可以令手牌数大于你的一名角色摸一张牌;当有牌从游戏外加入任意角色的手牌时,你可以令手牌数小于你的一名角色弃置一张牌。", kongsheng:"箜声", @@ -7826,7 +7828,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "drlt_hongju_info":"觉醒技,准备阶段,若“荣”的数量大于或等于3且场上有角色死亡,则你可以用任意张手牌替换等量的“荣”,然后减1点体力上限并获得〖清侧〗。", "drlt_qingce":"清侧", "drlt_qingce_info":"出牌阶段,你可以移去一张“荣”,然后弃置一名角色装备区或判定区内的一张牌。", - + zhengrong:'征荣', hongju:'鸿举', qingce:'清侧', @@ -8016,7 +8018,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_xiahouyuan:'夏侯渊', re_huangzhong:'黄忠', re_weiyan:'魏延', - + gz_xiahouyuan:'夏侯渊', gz_huangzhong:'黄忠', gz_weiyan:'魏延', @@ -8024,7 +8026,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ gz_pangde:'庞德', gz_caoren:'曹仁', gz_zhoutai:'周泰', - + old_zhoutai:'周泰', old_caoren:'曹仁', xuhuang:'旧徐晃', @@ -8087,7 +8089,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ huangtian_info:'主公技,其他群势力角色的出牌阶段限一次,其可以交给你一张【闪】或【闪电】。', guhuo_info:'每名角色的回合限一次,你可以扣置一张手牌当一张基本牌或普通锦囊牌使用或打出。其他角色依次选择是否质疑。一旦有其他角色质疑则翻开此牌:若为假则此牌作废,若为真,则质疑角色获得技能“缠怨”(锁定技,你不能质疑于吉,只要你的体力值为1,你失去你的武将技能)。', fenji_info:'当一名角色的手牌不因赠予或交给而被另一名角色得到后,或一名角色的手牌被另一名角色弃置后,你可以失去1点体力,令其摸两张牌。', - + new_fenji:"奋激", new_fenji_info:"一名角色的结束阶段开始时,若其没有手牌,你可以令其摸两张牌,然后你失去1点体力。", gzduanliang:'断粮', @@ -8116,7 +8118,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ nzry_shicai_info:"当你使用非装备牌结算结束后,或成为自己使用装备牌的目标后,若此牌与你本回合使用的牌类型均不同,则你可以将此牌置于牌堆顶,然后摸一张牌。", lianhuan:'连环', lianhuan_info:'你可以将♣手牌当作【铁索连环】使用或重铸。', - + shenhua_feng:'神话再临·风', shenhua_huo:'神话再临·火', shenhua_lin:'神话再临·林', diff --git a/character/shiji.js b/character/shiji.js index 4f37d8d88..c3417ddac 100644 --- a/character/shiji.js +++ b/character/shiji.js @@ -53,7 +53,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_chenzhen:['male','shu',3,['shameng']], sp_sunshao:['male','wu',3,['mjdingyi','mjzuici','mjfubi']], sp_xunchen:['male','qun',3,['mjweipo','mjchenshi','mjmouzhi'],['clan:颍川荀氏']], - }, skill:{ //刘巴 @@ -1883,7 +1882,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ list.push('选项一'); } if(player.isDamaged()){ - list.push('选项二'); + list.push('选项二'); } if(list.includes('选项一')) list.push('背水!') list.push('cancel2'); @@ -6299,7 +6298,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wujing:'吴景,本吴郡吴县(今江苏苏州)人,后迁居吴郡钱塘(今浙江杭州),孙坚妻子吴夫人(武烈皇后)之弟,孙策和孙权的舅舅,东汉末年将领。吴景因追随孙坚征伐有功,被任命为骑都尉。袁术上表举荐吴景兼任丹杨太守,讨伐前任太守周昕,占据丹杨。后遭扬州刺史刘繇逼迫,再度依附袁术,袁术任用他为督军中郎将,与孙贲共同进击樊能等人。又在秣陵攻打笮融、薛礼。袁术与刘备争夺徐州时,任吴景为广陵太守。建安二年(197年),吴景放弃广陵东归孙策,孙策任他为丹杨太守。朝廷使者吴景为扬武将军,郡守之职照旧。建安八年(203年),吴景死于任上。', feiyi:'费祎(?~253年2月),字文伟,江夏鄳县(今河南省罗山县)人,三国时期蜀汉名臣,与诸葛亮、蒋琬、董允并称为蜀汉四相。深得诸葛亮器重,屡次出使东吴,孙权、诸葛恪、羊茞等人以辞锋刁难,而费祎据理以答,辞义兼备,始终不为所屈。孙权非常惊异于他的才能,加以礼遇。北伐时为中护军,又转为司马。当时魏延与杨仪不和,经常争论,费祎常为二人谏喻,两相匡护,以尽其用。诸葛亮死后,初为后军师,再为尚书令,官至大将军,封成乡侯。费祎主政时,与姜维北伐的主张相左,执行休养生息的政策,为蜀汉的发展尽心竭力。费祎性格谦恭真诚,颇为廉洁,家无余财。后为魏降将郭循(一作郭脩)行刺身死。葬于今广元市昭化古城城西。', luotong:'骆统(193年-228年),字公绪。会稽郡乌伤县(今浙江义乌)人。东汉末年至三国时期吴国将领、学者,陈国相骆俊之子。骆统二十岁时已任乌程国相,任内有政绩,使得国中民户过万。又迁为功曹,行骑都尉。曾劝孙权尊贤纳士,省役息民。后出任为建忠中郎将。将军凌统逝世后,统领其部曲。因战功迁偏将军,封新阳亭侯,任濡须督。黄武七年(228年),骆统去世,年仅三十六岁。有集十卷,今已佚。', - }, characterTitle:{ }, @@ -6562,7 +6560,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_wangcan_prefix:'手杀', sp_sunshao_prefix:'手杀', sp_xunchen_prefix:'手杀', - + sp_wangcan:'手杀王粲', spqiai:'七哀', spqiai_info:'出牌阶段限一次,你可以将一张非基本牌交给一名其他角色。然后其选择一项:①你回复1点体力。②你摸两张牌。', @@ -6689,7 +6687,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ rechuhai:'除害', rechuhai_info:'使命技。①出牌阶段限一次,你可以摸一张牌,然后和一名其他角色拼点。若你赢,则你观看其手牌,并从牌堆/弃牌堆中获得其手牌中包含的类型的牌各一张,且当你于此阶段内对其造成伤害后,你将牌堆/弃牌堆中的一张装备牌置于你的一个空置装备栏内。②当你因发动〖除害①〗而展示拼点牌时,你令此牌的点数+X(X=(4-你装备区的牌数))。③使命:当有装备牌进入你的装备区后,若你的装备区内有至少三张牌,则你将体力值回复至上限,失去〖乡害〗并获得〖彰名〗。④失败:当你因发动〖除害①〗发起的拼点没赢时,若你的最终点数不大于6,则你触发使命失败分支。', zhangming:'彰名', - zhangming_info:'锁定技。①你使用的♣牌不能被其他角色响应。②每回合限一次,当你对其他角色造成伤害后,你随机弃置其一张手牌,然后你从牌堆或弃牌堆中获得与其展示牌类型不同类型的牌各一张(若其没有手牌,则你改为从牌堆或弃牌堆中获得所有类型牌各一张),且以此法得到的牌不计入本回合的手牌上限。', + zhangming_info:'锁定技。①你使用的♣牌不能被其他角色响应。②每回合限一次,当你对其他角色造成伤害后,你随机弃置其一张手牌,然后你从牌堆或弃牌堆中获得与其展示牌类型不同类型的牌各一张(若其没有手牌,则你改为从牌堆或弃牌堆中获得所有类型牌各一张),且以此法得到的牌不计入本回合的手牌上限。', sp_kongrong:'孔融', spmingshi:'名士', spmingshi_info:'锁定技,当你受到1点伤害后,伤害来源弃置一张牌。', @@ -6714,7 +6712,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ buqi:'不弃', buqi_info:'锁定技,当有角色进入濒死状态时,若你的“仁”数大于1,则你移去两张“仁”并令其回复1点体力。一名角色死亡后,你将所有“仁”置入弃牌堆。', yuanqing:'渊清', - yuanqing_info:'锁定技,出牌阶段结束时,你随机将弃牌堆中你本阶段使用过的牌类型的各一张牌置于仁库中。', + yuanqing_info:'锁定技,出牌阶段结束时,你随机将弃牌堆中你本阶段使用过的牌类型的各一张牌置于仁库中。', shuchen:'疏陈', shuchen_info:'锁定技,当有角色进入濒死状态时,若仁库中的牌数大于三,则你获得仁库中的所有牌,然后其回复1点体力。', sp_xujing:'手杀许靖', @@ -6862,8 +6860,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ duanbi_info:'限定技。出牌阶段,若场上所有角色的手牌数之和大于角色数之和的二倍,则你可以令所有其他角色各弃置X张手牌(X为该角色手牌数的一半且向下取整且至多为3)。然后你可选择一名角色,令其随机获得三张以此法被弃置的牌。', tongduo:'统度', tongduo_info:'每回合限一次。当你成为其他角色使用牌的唯一目标后,你可令一名角色重铸一张牌。', - - + mobile_shijiren:'始计篇·仁', mobile_shijizhi:'始计篇·智', mobile_shijixin:'始计篇·信', diff --git a/character/sp.js b/character/sp.js index a2742a478..24bd2306d 100755 --- a/character/sp.js +++ b/character/sp.js @@ -107,17 +107,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhangling:['male','qun',3,['zlhuji','zlshoufu']], caiyang:['male','qun',1,['yinka','zhuixi'],['forbidai','unseen']], sunshao:['male','wu',3,['bizheng','yidian']], - + huangfusong:['male','qun',4,['fenyue']], yuantanyuanshang:['male','qun',4,['neifa']], xujing:['male','shu',3,['yuxu','xjshijian']], - + jianggan:["male","wei",3,["weicheng","daoshu"]], - + caoying:["female","wei",4,["xinfu_lingren","xinfu_fujian"],[]], simahui:["male","qun",3,["jianjie","xinfu_chenghao","xinfu_yinshi"],[]], baosanniang:["female","shu",4,["olwuniang","olxushen"],[]], - + yangxiu:['male','wei',3,['jilei','danlao']], chenlin:['male','wei',3,['bifa','songci']], caohong:['male','wei',4,['yuanhu']], @@ -147,9 +147,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ wutugu:['male','qun',15,['ranshang','hanyong']], sp_caiwenji:['female','wei',3,['chenqing','mozhi']], zhugeguo:['female','shu',3,['qirang','yuhua']], - + lingju:['female','qun',3,['jieyuan','fenxin']], - + cuiyan:['male','wei',3,['yawang','xunzhi']], jsp_guanyu:['male','wei',4,['new_rewusheng','danji']], jsp_huangyueying:['female','qun',3,['jiqiao','linglong']], @@ -172,7 +172,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ buzhi:['male','wu',3,['hongde','dingpan']], caochun:['male','wei',4,['xinshanjia']], - + dongbai:['female','qun',3,['lianzhu','xiehui']], zhaoxiang:['female','shu',4,['fanghun','fuhan']], @@ -257,17 +257,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hansui:'韩遂(?-215年),字文约。凉州金城郡人。东汉末年军阀、将领,汉末群雄之一。原名韩约,后改名遂。韩遂最初闻名于西州,被羌胡叛军劫持并推举为首领,以诛宦官为名举兵造反,聚众十万,先后败皇甫嵩、张温、董卓、孙坚等名将,使得天下骚动。后受朝廷招安,拥兵割据一方长达三十余年。韩遂曾与马腾结为异姓兄弟,后二人关系破裂。袁绍、曹操相争之际,马腾、韩遂被钟繇说服,依附于曹操。马腾入京后,留其子马超统领部队。马超推举韩遂为都督起兵反叛曹操,为曹操所败,韩遂逃奔凉州,后又为夏侯渊所败,病死(一说被杀),享年七十余岁。', niujin:'牛金(生卒年不详),初为曹仁部曲将,周瑜军数万人来攻,前锋数千人始至,曹仁登城望,乃募得三百人,遣牛金迎战。但对方兵力较多,牛金遂被围困。曹仁亲自杀入阵中救出牛金。司马懿使牛金轻骑饵诱蜀军,刚交战诸葛亮就退兵,追至祁山。蜀将马岱入寇,司马懿遣将军牛金击退,斩千余级。公孙渊反,司马懿帅牛金、胡遵等步骑四万发自洛阳,后平定辽东。牛金官至后将军。', jianggan:"蒋干,字子翼,汉末三国时期的人物,九江(治今安徽寿县)人。历史上的蒋干是当时的名士、辩论家。而罗贯中在历史小说《三国演义》中则将蒋干刻画成了被周瑜所愚弄的小丑形象。", - + caoying:"曹婴是在电影《三国志之见龙卸甲》中登场的虚拟人物,由李美琪饰演。曹婴是曹操的孙女,弓马娴熟,文武双全,深得曹操的用兵之道及心术。于凤鸣山一战中担任魏军大都督阻止诸葛亮北伐并因罗平安的告密而全歼关兴、张苞、赵云率领的蜀军部队。", simahui:"司马徽(约145—208年),字德操,颍川阳翟(今河南禹州)人。东汉末年名士,精通道学、奇门、兵法、经学。有“水镜先生”之称。 司马徽为人清雅,学识广博,有知人之明,并向刘备推荐了诸葛亮、庞统等人,受到世人的敬重。", baosanniang:"鲍三娘是中国民间传说中的人物,事迹多见于《花关索传》。相传她是鲍家庄鲍员外的小女儿。后来与关索成亲,关羽自传授其武艺,因此也造就了鲍三娘的文武双全。荆州失守之后鲍三娘就跟随关索一同投奔蜀汉,并随诸葛亮征讨南蛮。平定了南蛮之后,夫妻二人就此一直替诸葛亮镇守着南中,他们也的确留下了许多脍炙人口的行侠仗义故事,在民间广为流传。", - + pangdegong:"庞德公,字尚长,荆州襄阳人,东汉末年名士、隐士。 庞德公与当时徐庶、司马徽、诸葛亮、庞统等人交往密切。庞德公曾称诸葛亮为\"卧龙\",庞统为\"凤雏\",司马徽为\"水镜\",被誉为知人。对诸葛亮、庞统等人早年影响较大,并得到诸葛亮的敬重。庞德公最后隐居于鹿门山,采药而终。", zhaotongzhaoguang:"赵统,赵云长子,生卒年不详。常山真定(今为河北正定)人,陈寿在正史《三国志》中记载赵云去世后,赵统袭爵永昌亭侯,官至蜀汉虎贲中郎督,加行领军。赵广(?—263年),三国时期蜀汉牙门将,赵云的次子,赵统之弟。随姜维前往沓中,官拜牙门将。曹魏司马氏派五路大军伐蜀时,随大将军姜维与魏兵战于疆川口,姜维败绩还守剑阁,赵广于沓中战死。", majun:"马钧,字德衡,扶风(今陕西扶风)人,生活在汉朝末期,是中国古代科技史上最负盛名的机械发明家之一。马钧年幼时家境贫寒,自己又有口吃的毛病,所以不擅言谈却精于巧思,后来在魏国担任给事中的官职。马钧最突出的表现有还原指南车;改进当时操作笨重的织绫机;发明一种由低处向高地引水的龙骨水车;制作出一种轮转式发石机,能连续发射石块,远至数百步;把木制原动轮装于木偶下面,叫做“水转百戏”。此后,马钧还改制了诸葛连弩,对科学发展和技术进步做出了贡献。", simazhao:"司马昭(211年—265年9月6日),字子上(小说《三国演义》为子尚),河内温县(今属河南)人。三国时期曹魏权臣,西晋王朝的奠基人之一。为晋宣帝司马懿与宣穆皇后张春华次子、晋景帝司马师之弟、晋武帝司马炎之父。 司马昭早年随父抗击蜀汉,多有战功。累官洛阳典农中郎将,封新城乡侯。正元二年(255年),继兄司马师为大将军,专揽国政。甘露五年(260年),魏帝曹髦被弑杀,司马昭立曹奂为帝。景元四年(263年),分兵遣钟会、邓艾、诸葛绪三路灭亡蜀汉,受封晋公。次年,进爵晋王。 咸熙二年(265年),司马昭病逝,年五十四,葬于崇阳陵。数月后,其子司马炎代魏称帝,建立晋朝,追尊司马昭为文帝,庙号太祖。", wangyuanji:"王元姬(217年—268年4月20日),东海郯县(今山东郯城西北)人。三国时期曹魏经学家王朗之孙女、王肃之女,晋文帝司马昭妻子,晋武帝司马炎与齐王司马攸的生母。 王元姬幼时便通《诗经》、《论语》,嫁司马昭后竭尽妇道、谦虚谨慎。其人颇有远见,曾预言钟会谋反之事。泰始元年(265年),司马炎建立西晋,尊王元姬为皇太后,宫号曰崇化宫。王元姬身处太后之位,提倡节俭,身体力行,作为众妃子的表率。在其治理之下,后宫井井有条,众人和睦相处。 泰始四年(268年),王元姬崩逝,终年五十二岁。谥号文明皇后,与司马昭合葬于崇阳陵。", - + liuye:'刘晔(?-234年),字子扬,淮南成德人,是光武帝刘秀之子阜陵王刘延的后代,三国时期魏国著名的战略家。刘晔年少知名,人称有佐世之才,是曹操手下举足轻重的谋士,他屡献妙计,对天下形势的发展往往一语中的。刘晔历仕数朝,是曹魏的三朝元老。', luzhi:'鲁芝(190年—273年),字世英。扶风郡郿县(今陕西眉县)人。魏晋时期名臣。官至光禄大夫,位特进,封阴平侯。泰始九年(273年)卒,时年八十四。谥号“贞”。', xizhicai:'戏志才(生卒年不详),或志才为字,名不详(一说名忠),东汉颍川郡(今河南禹州)人。经张邈推荐,成为曹操手下谋士。为人多谋略,曹操十分器重,不幸早卒。三国演义中并无此人,三国志中只有寥寥数语。由荀彧推荐给曹操,被称为有“负俗之讥”。死后,荀彧又举荐了郭嘉。
    陈寿《三国志》记载:太祖与荀彧书曰:自志才亡后,莫可与计事者。汝、颍固多奇士,谁可以继之?彧荐嘉。', @@ -281,7 +281,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ lvfan:'吕范(?-228年),字子衡。汝南郡细阳县(今安徽太和)人。汉末至三国时期吴国重臣。吕范年轻为汝南县吏,后避难寿春,结识孙策。此后随孙策、孙权征伐四方,对稳固孙氏在江东的统治做出了杰出的贡献,孙权将其比之于东汉开国元勋吴汉。吴国建立后,吕范累官至前将军、假节、扬州牧,封南昌侯。黄武七年(228年),吕范被拜为大司马,未得授官,便已病逝。孙权悲痛不已,遣使赠其大司马印绶。孙权还都建业后,以太牢礼祭祀吕范。', liqueguosi:"请分别参考武将【李傕】和【郭汜】各自的介绍。", maojie:"毛玠(?—216年),字孝先,陈留平丘(今河南封丘)人。东汉末年大臣。年少时为县吏,以清廉公正著称。因战乱而打算到荆州避乱,但中途知道刘表政令不严明,因而改往鲁阳。后来投靠曹操,提出“奉天子以令不臣,脩耕植,畜军资”的战略规划,得到曹操的欣赏。
    毛玠与崔琰主持选举,所举用的都是清廉正直之士。而毛玠为人廉洁,激起天下廉洁之风,一改朝中奢华风气。曹操大为赞赏,曹丕也亲自去拜访他。
    曹操获封魏公后,毛玠改任尚书仆射,再典选举。又密谏曹操应该立嫡长子曹丕为魏国太子。崔琰被杀后,毛玠十分不快。后来有人诬告毛玠,曹操大怒,将毛玠收于狱中。及后在桓阶、和洽营救下,只被免职,不久逝世于家中。曹操在他死后赐他棺材和钱帛。", - + huangfusong:'字义真。安定郡朝那县(今宁夏彭阳)人。于黄巾起义时,以中郎将身份讨伐黄巾,用火攻大破张梁、张宝。后接替董卓进攻张梁,连胜七阵。掘张角墓,拜左车骑将军、冀州牧,因拒绝贿赂宦官而被免职。 董卓死,王允命其与吕布等共至郿坞抄籍董卓家产、人口,皇甫嵩将坞中所藏良家子女,尽行释放。', zangba:'其父臧戒,有二子臧艾与臧舜。年少时曾召集数人将获罪的父亲救出,此后四处流亡。后来成为陶谦麾下的骑都尉,负责募兵抵抗黄巾军。与孙观、尹礼等人拥兵驻屯于开阳,自成一股独立势力,后跟随吕布。吕布战败后,投降了曹操。后与袁绍、孙权等的战役里战功赫赫,官至镇东将军。', zhangren:'刘璋的属下,以忠勇著称。刘备入蜀时,张任曾劝刘璋提防刘备,但刘璋没有听从。魏延舞剑想趁机除掉刘璋时,张任出面对舞,解救刘璋。后在刘备进攻时于落凤坡射死了庞统。', @@ -1478,7 +1478,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return [ (player.countCards('h')?'弃置至少一半的手牌,然后':'')+'摸三张牌', '摸三张牌,然后弃置至少一半的手牌', - ][player.countCards('h')%2]; }, check:function(card){ @@ -5414,7 +5413,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.chooseUseTarget(card,true).set('logSkill','oljianman').set('prompt','鹣蛮:选择'+get.translation(card)+'的目标'); } } - }, //张华 olbihun:{ @@ -8611,7 +8609,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dialog.classList.add('fullheight'); ui.arena.classList.add('choose-to-move'); dialog.buttonss=[]; - + var list=['协力锻造的玩家','妨碍锻造的玩家'] for(var i=0;i'+list[i]+''); @@ -11466,17 +11464,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ check:function(event,player){ _status.olxiuhao_judging=true; var bool=false; - if(player==event.source){ - if(get.attitude(player,event.player)>0) bool=true; - if(get.damageEffect(event.player,player,player,event.nature)<=0) bool=true; - } - else{ - if(get.attitude(player,event.source)>0) bool=true; - if(get.damageEffect(player,event.source,player,event.nature)<0){ - if(event.source.hasSkillTag('nogain')) bool=true; - if(event.num>=player.hp+player.countCards('hs',{name:['tao','jiu']})&&(!player.hasFriend()||player==get.zhu(player))) bool=true; - } - } + if(get.attitude(player,event.player)>0) bool=true; + else if(2*get.effect(event.source,{name:'draw'},player,_status.event.player)+event.num*get.damageEffect(player,event.source,_status.event.player,event.nature)>0) bool=true; + else if(event.source.hasSkillTag('nogain')) bool=true; delete _status.olxiuhao_judging; return bool; }, @@ -11522,13 +11512,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ]).set('ai',function(){ var cards=_status.event.getParent().cards,player=_status.event.player; if(!game.hasPlayer(function(current){ - return get.attitude(player,current)>0; + return player!==current&&get.attitude(player,current)>0; })) return 1; if(game.hasPlayer(function(current){ var att=get.attitude(player,current); - return att!=0&¤t.countDiscardableCards(player,'he',function(i){ - if(att>0) return get.value(i,current)>=4; - return get.value(i,current)<=0; + return att&¤t.countDiscardableCards(player,'he',function(i){ + if(att>0) return get.value(i,current)<0; + return get.value(i,current)>=4; })>=cards.length&&get.effect(current,{name:'guohe_copy2'},player,player)>0; })) return 1; return 0; @@ -16068,7 +16058,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:'不能使用或打出手牌' } }, - + zfengshi:{ audio:2, trigger:{player:'useCardToPlayered'}, @@ -16461,7 +16451,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } if(maxval<=6) return dh; return 0; - }).set('maxval',maxval); 'step 1' if(result.bool){ @@ -17152,7 +17141,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dialog.content.appendChild(table); dialog.add('  '); dialog.open(); - + event.switchToAuto=function(){ event.dialog.close(); event.control.close(); @@ -23519,7 +23508,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ threaten:0.7 } }, - + duwu:{ audio:2, enable:'phaseUse', @@ -25041,7 +25030,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:"limited", }, }, - "xinfu_falu":{ subSkill:{ spade:{ @@ -25665,15 +25653,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ lvfan:'吕范', liqueguosi:'李傕郭汜', cuimao:'崔琰毛玠', - - + caoying:"曹婴", simahui:"司马徽", baosanniang:"鲍三娘", majun:"马钧", simazhao:"司马昭", wangyuanji:"王元姬", - + jianggan:"蒋干", hejin:'何进', hansui:'韩遂', @@ -25681,7 +25668,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ xujing:'OL许靖', xujing_prefix:'OL', yuantanyuanshang:'袁谭袁尚', - + xinfenyue:'奋钺', xinfenyue_info:'出牌阶段限X次(X为与你不同阵营的存活角色数),你可以与一名其他角色拼点,若你赢,根据你拼点牌的点数依次执行以下效果:不大于5,你获得其一张牌;不大于9,你获得牌堆里的一张【杀】; 不大于K,视为你对其使用一张雷【杀】。', neifa:'内伐', @@ -25735,7 +25722,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "zhenwei_three_info":"锁定技,敌方角色至己方其他角色的距离+1。", "huanshi_three":"缓释", "huanshi_three_info":"一名友方角色的判定牌生效前,你可打出一张牌代替之。", - + yizan:"翊赞", yizan_info:"你可以将两张牌(其中至少一张是基本牌)当任意基本牌牌使用。", yizan0:"翊赞", @@ -25758,7 +25745,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhennan_info:"当你成为【南蛮入侵】的目标时,你可令一名其他角色随机受到1至3点伤害。", xushen:"许身", xushen_info:"当其他男性角色令你脱离濒死状态时,若“关索”不在场,其可以选择是否用“关索”替换其武将牌,然后你回复1点体力并获得技能〖镇南〗。", - + wanwei:'挽危', wanwei_info:'当你因被其他角色获得或弃置而失去牌时,你可以改为自己选择失去的牌。', gzjili:'蒺藜', @@ -25773,7 +25760,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhengbi_info:'出牌阶段开始时,你可以选择一项:选择一名未受伤的其他角色,你对其使用的牌无距离限制且不计入使用次数直到回合结束;或将一张基本牌交给一名其他角色,然后其交给你一张非基本牌或两张基本牌。', fengying:'奉迎', fengying_info:'限定技,出牌阶段,你可以弃置所有手牌。若如此做,你可以令等量的角色将手牌摸至X张(X为其体力上限且至多为5)。然后,你结束出牌阶段,并在当前回合结束后进行一个新的回合。', - + qingzhong:'清忠', qingzhong_info:'出牌阶段开始时,你可以摸两张牌,若如此做,此阶段结束时,你与手牌数最少的角色交换手牌。', weijing:'卫境', @@ -25820,7 +25807,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ fenyue2:'奋钺', fenyue2_bg:'钺', fenyue_info:'出牌阶段限X次,你可以与一名角色拼点,若你赢,你选择一项:1.令其不能使用或打出手牌直到回合结束;2.视为对其使用一张【杀】(不计入次数)。若你没赢,你结束出牌阶段。(X为存活的忠臣数)', - + zfengshi:'锋矢', zfengshi_info:'当你使用【杀】指定目标后,你可以令目标弃置装备区内的一张牌。', chuanxin:'穿心', @@ -26718,7 +26705,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ olfeiyang:'飞扬', //olfeiyang_info:'限定技。准备阶段,你可以弃置两张牌,然后弃置判定区的一张牌。', olfeiyang_info:'准备阶段,你可以弃置三张牌,然后弃置判定区的一张牌。', - sp_tianji:'天极·皇室宗亲', sp_sibi:'四弼·辅国文曲', diff --git a/character/sp2.js b/character/sp2.js index f1a55d2b1..e2b0f021f 100644 --- a/character/sp2.js +++ b/character/sp2.js @@ -6873,7 +6873,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dialog.content.appendChild(table2); dialog.add('  '); event.dialog.open(); - + event.switchToAuto=function(){ event._result={ bool:true, @@ -10517,7 +10517,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ tangzi:"唐咨(生卒年不详),三国时魏利城(今江苏赣榆西)人。魏文帝黄初中利城郡反,推唐咨为主。后为魏军击破,遂亡至吴,官至左将军,封侯、持节。后助诸葛诞拒魏,兵败被俘。为安抚吴国军民,魏主拜唐咨为安远将军。", huangquan:"黄权(?-240年),字公衡。巴西郡阆中县(今四川阆中)人。三国时期蜀汉、曹魏将领。
    黄权年轻时为郡吏,后被益州牧刘璋召为主簿。曾劝谏刘璋不要迎接刘备,因而被外放为广汉县长。刘璋败,才降刘备,被拜为偏将军。建计取汉中,拜护军。刘备为汉中王,仍领益州牧,以黄权为治中从事。及刘备称帝,将伐吴,黄权劝谏而不纳。以其为镇北将军,督江北军以防魏师进攻。刘备伐吴败还,而归途隔绝,黄权不得归,无奈之下率部降魏。被魏文帝所赏识,拜镇南将军,封育阳侯,加侍中,使同车陪乘。后领益州刺史,进驻河南。景初三年(239年),迁车骑将军、仪同三司。正始元年(240年),黄权去世,谥号“景”。", sufei:"苏飞(生卒年不详),东汉末年人物,原为东汉末年荆州牧刘表的部将,任江夏都督。
    苏飞与甘宁交好,但是数次向黄祖推荐都失败。甘宁决定投效孙权时助其逃离。后来甘宁率吴军攻破江夏,苏飞兵败被俘。孙权打算将苏飞处斩,但是因为甘宁用性命担保而赦免了苏飞。降吴后官至军都督。", - + zhangchangpu:"钟会的母亲。《母夫人张氏传》:夫人张氏,字昌蒲,太原兹氏人,太傅定陵成侯之命妇也。", xugong:"许贡是东汉末官吏。先后任吴郡都尉、太守,欲送密信给曹操,要曹操注意孙策,却被孙策发现而被杀。许贡生前招揽了一些门客,当中有三人不忘故主,千方百计想要手刃仇人。建安五年(公元200年),广陵太守陈登派人秘密联系孙策治下的山贼余党,企图颠覆孙策在江东的统治。孙策决定讨伐陈登,行军到丹徒时,许贡门客终于找到了机会。因为孙策有单骑出猎,在野外思考的习惯,三门客趁孙策轻装外出打猎时,放冷箭射中孙策面颊。这些门客后来在与孙策的搏斗中,被赶到的侍卫杀死。孙策此后因为伤口感染,并且俊美的容貌被毁,终于不治身亡,去世时年仅26岁。", mangyachang:"南蛮王孟获的部将,使一口截头大刀,骑一匹黄骠马。率军与蜀军交战,战败王平。后被平北将军马岱斩杀。只出现在《三国演义》里,正史中无此人。", @@ -10525,7 +10525,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ zhangwen:'张温(193年—230年),字惠恕,吴郡吴县(今江苏苏州)人。少修节操,容貌奇伟。孙权召拜议郎、选曹尚书,徙太子太傅。黄武三年(224),以辅义中郎将身份出使蜀汉,孙权原先害怕诸葛亮会有意留难张温,但张温不担心。在呈上蜀汉朝廷的文书刻意称颂蜀汉,以表明和解的诚意,重建两国关系。他在蜀汉表现出色,得蜀汉朝廷重视。回东吴后不久,被调进豫章的军队,事业上再无进展。孙权一方面介怀他出使蜀汉时称颂蜀汉,又嫌他声名太盛,恐怕张温不会尽忠地由他任用。当时正好碰上暨艳事件,暨艳是张温引荐的臣子,但他滥用职权,升迁评定等只看自己喜恶。事件被揭发后暨艳及同党徐彪都自杀。孙权见此,于是以张温与暨艳、徐彪等人多有来往而下罪张温,后更将张温发还到家乡吴郡。将军骆统曾上书为张温辩解,但孙权不理会。六年后,张温病逝。', lisu:'李肃(?-192年),五原(治今内蒙古包头西北)人。永汉三年四月,司徒王允、尚书仆射士孙瑞、卓将吕布共谋诛卓。是时,天子有疾新愈,大会未央殿。布使同郡骑都尉肃等、将亲兵十馀人,伪著卫士服守掖门。布怀诏书。卓至,肃等格卓。卓惊呼布所在。布曰“有诏”,遂杀卓,夷三族。后卓女婿中郎将牛辅典兵别屯陕,分遣校尉李傕、郭汜、张济略陈留、颍川诸县。卓死,吕布使李肃至陕,欲以诏命诛辅。辅等逆与肃战,肃败走弘农,布诛肃。', xinpi:'辛毗(生卒年不详),字佐治,颍川阳翟人。三国时期曹魏大臣。原居陇西(郡治在今甘肃临洮县),东汉光武帝建武年间,其先人东迁。当初,辛毗跟随其兄事袁绍。曹操任司空时,征召辛毗,他不受命。官渡战后,辛毗事袁绍的儿子袁谭。公元204年,曹操攻下邺城,上表推荐辛毗任议郎,后为丞相长史。公元220年,曹丕即皇帝位,以辛毗为侍中,赐爵关内侯,后赐广平亭侯。魏明帝即位,封辛毗颍乡侯,食邑三百户,后为卫尉。公元234年,诸葛亮屯兵渭南,司马懿上表魏明帝。魏明帝任辛毗为大将军军师,加使持节号。诸葛亮病逝后,辛毗返回,仍任卫尉。不久,逝世,谥肃侯。', - + liuzan:'字正明,会稽长山人人,曾任左护军,有两子:留略、留平。少为会稽郡吏,曾参与镇压黄巾起义,后被东吴大将凌统所引用,任屯骑校尉。吴五凤二年(公元255年)留赞任左护军,随孙峻征淮南,因病撤军,被魏将蒋班围困于道,力战而死,时年73岁。', zhujun:'朱儁(?-195年),字公伟。会稽郡上虞县(今浙江绍兴上虞区)人。东汉末年名将。朱儁出身寒门,赡养母亲,以好义轻财闻名,受乡里敬重。后被太守徐珪举为孝廉,任兰陵令,颇有治绩。再升任交州刺史,以家兵五千大破叛军,平定交州。战后以功封都亭侯,入朝为谏议大夫。光和七年(184年),黄巾起义爆发,朱儁以右中郎将、持节平定三郡之地,以功进封西乡侯,迁镇贼中郎将。又率军讨平黄巾,“威声满天下”。中平二年(185年),进拜右车骑将军,更封钱塘侯。后为河内太守,击退进逼的张燕。权臣董卓秉政时,想任朱儁为副手,遭其婉拒。其后出逃荆州,更屯军中牟,徐州刺史陶谦等欲推举他为太师,并传檄各州牧伯,相邀讨伐李傕、奉迎天子。但朱儁却奉诏入京任太仆。初平三年(192年),升任太尉、录尚书事。兴平元年(194年),行骠骑将军事,持节镇关东,因故未成行。兴平二年(195年),李傕与郭汜相互攻杀,郭汜扣留朱儁作为人质。朱儁性格刚烈,即日发病而死。', liuhong:'汉灵帝刘宏(157年,一作156年-189年5月13日),生于冀州河间国(今河北深州)。东汉第十二位皇帝(168年-189年在位),汉章帝刘炟的玄孙。刘宏早年世袭解渎亭侯。永康元年(167年)十二月,汉桓帝刘志逝世,刘宏被外戚窦氏挑选为皇位继承人,于建宁元年(168年)正月即位。刘宏在位的大部分时期,施行党锢及宦官政治。他又设置西园,巧立名目搜刮钱财,甚至卖官鬻爵以用于自己享乐。在位晚期,爆发了黄巾起义,而凉州等地也陷入持续动乱之中。中平六年(189年),刘宏去世,谥号孝灵皇帝,葬于文陵。刘宏喜好辞赋,作有《皇羲篇》、《追德赋》、《令仪颂》、《招商歌》等。', @@ -10678,7 +10678,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "tanbei_effect1_info":"", "tanbei_effect2":"贪狈", "tanbei_effect2_info":"", - + "xinfu_tunan":"图南", "xinfu_tunan_info":"出牌阶段限一次,你可以展示牌堆顶的一张牌并选择一名其他角色,然后该角色选择一项:使用此牌(无距离限制);或将此牌当普通【杀】使用。", "xinfu_bijing":"闭境", @@ -10691,12 +10691,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "qianxin_effect_info":"", "xinfu_qianxin2":"遣信", "xinfu_qianxin2_info":"", - + "xinfu_fuhai":"浮海", "xinfu_fuhai_info":"出牌阶段每个方向限一次,你可以展示一张手牌并选择上家或下家。该角色展示一张手牌,若你展示的牌点数大于等于其展示的牌点数,你弃置你展示的牌,然后继续对其上家或下家重复此流程;若你展示的牌点数小于该展示角色牌的点数,则该角色弃置其展示的牌,然后你与其各摸X张牌(X为你此回合内发动此技能选择的角色数),且你此阶段内不能再发动〖浮海〗。", "fuhai_clear":"浮海", "fuhai_clear_info":"", - + "xz_xunxun":"恂恂", "xz_xunxun_info":"摸牌阶段,你可以观看牌堆顶的四张牌,然后将其中的两张牌置于牌堆顶,并将其余的牌以任意顺序置于牌堆底。", "xinfu_xingzhao":"兴棹", @@ -10728,7 +10728,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ baijia_info:'觉醒技,准备阶段,若你因〖骨疽〗得到的牌不少于7张,则你增加1点体力上限,回复1点体力,然后令所有未拥有“傀”标记的其他角色获得“傀”标记,最后失去技能〖骨疽〗,并获得技能〖蚕食〗。', bmcanshi:'蚕食', bmcanshi_info:'一名角色使用基本牌或普通锦囊牌指定你为唯一目标时,若其有“傀”标记,你可以取消之,然后其失去“傀”标记;你使用牌仅指定一名角色为目标时,你可以额外指定任意名带有“傀”标记的角色为目标(无距离限制),然后这些角色失去“傀”标记。', - + xinpi:'辛毗', lisu:'李肃', zhangwen:'张温', @@ -10739,7 +10739,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ pingjian:'评荐', pingjian_use:'评荐', pingjian_info:'结束阶段开始时/当你受到伤害后/出牌阶段限一次,你可以令系统随机检索出三张拥有发动时机为结束阶段开始时/当你受到伤害后/出牌阶段的技能的武将牌。然后你可以选择尝试发动其中一个技能。每个技能每局游戏只能选择一次。', - + songshu:'颂蜀', songshu_info:'出牌阶段,你可以和其他角色拼点。若你没赢,你与其各摸两张牌,且你本阶段内不能再发动〖颂蜀〗。', sibian:'思辩', @@ -10755,7 +10755,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yinju:'引裾', yinju_info:'限定技,出牌阶段,你可以选择一名其他角色。若如此做,当你于此阶段内使用牌指定其为目标后,你与其各摸一张牌;当你即将对其造成伤害时,防止此伤害,然后其回复等量的体力。', yinju2:'引裾', - + spjiedao:"截刀", "spjiedao_info":"当你每回合第一次造成伤害时,你可令此伤害至多+X(X为你损失的体力值)。然后若受到此伤害的角色没有死亡,你弃置等同于此伤害加值的牌。", biaozhao:"表召", @@ -10774,7 +10774,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "yanjiao2_info":"", xingshen:"省身", "xingshen_info":"当你受到伤害后,你可以摸一张牌且下一次发动〖严教〗亮出的牌数+1。若你的手牌数为全场最少,则改为摸两张牌;若你的体力值为全场最少,则〖严教〗亮出的牌数改为+2(加值总数不能超过4)。", - + sp_zhanghe:'SP张郃', sp_zhanghe_prefix:'SP', yuanlve:'远略', @@ -11107,7 +11107,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dcjinjian:'劲坚', dcjinjian_info:'①当你受到其他角色造成的伤害后或造成伤害后,你获得一枚“劲”。然后你可以和伤害来源拼点,若你赢,你恢复1点体力。②你的攻击范围+X(X为“劲”数)。', dcshizhao:'失诏', - dcshizhao_info:'锁定技。每回合限一次,当你于回合外失去手牌后,若你没有手牌,且你:有“劲”,则你移去一枚“劲”并摸两张牌;没有“劲”,则你本回合下一次受到的伤害+1。', + dcshizhao_info:'锁定技。每回合限一次,当你于回合外失去手牌后,若你没有手牌,且你:有“劲”,则你移去一枚“劲”并摸两张牌;没有“劲”,则你本回合下一次受到的伤害+1。', liyixiejing:'李异谢旌', dcdouzhen:'斗阵', dcdouzhen_info:'锁定技。①转换技。你的回合内,阴:当你使用非转化且对应的实体牌为一张黑色基本牌的【决斗】时,你获得目标角色各一张牌并获得1枚“☯”;阳:当你使用或打出非转化且对应的实体牌为一张红色基本牌的【杀】时,你获得1枚“☯”。②若你的“☯”数为:偶数,你的黑色基本牌均视为【决斗】;奇数,你的红色基本牌均视为无次数限制的普【杀】。', @@ -11193,7 +11193,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ starhaoshou:'豪首', //starhaoshou_info:'主公技。①其他群势力角色使用【酒】结算完毕后,其可以令你回复1点体力。②当你处于濒死状态时,其他群势力角色可以将【酒】当作【桃】对你使用。', starhaoshou_info:'主公技。其他群势力角色使用【酒】结算完毕后,其可以令你回复1点体力。。', - + sp_whlw:"文和乱武", sp_zlzy:"逐鹿中原", sp_longzhou:"同舟共济", diff --git a/character/standard.js b/character/standard.js index 6d162be68..a026971f6 100755 --- a/character/standard.js +++ b/character/standard.js @@ -42,7 +42,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ diaochan:['female','qun',3,['lijian','biyue']], huaxiong:['male','qun',6,['yaowu']], gongsunzan:['male','qun',4,['reyicong']], - + xf_yiji:["male","shu",3,["xinfu_jijie","xinfu_jiyuan"],[]], re_yuanshu:['male','qun',4,['rewangzun','retongji']], }, @@ -73,7 +73,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ lvbu:'字奉先,五原郡九原县人。三国第一猛将,曾独力战刘关张三人,其武力世之无双。时人语曰:“人中有吕布,马中有赤兔。”', diaochan:'中国古代四大美女之一,有闭月羞花之貌。司徒王允之义女,由王允授意施行连环计,离间董卓、吕布,借布手除卓。后貂蝉成为吕布的妾。', huaxiong:'董卓旗下名将,自荐抵抗山东地区反对董卓的诸侯联军于汜水关前,他先后斩杀济北相鲍信之弟鲍忠和孙坚部将祖茂、以及袁术部将俞涉和韩馥手下潘凤等人,最后关东联军派出关羽与之一对一决斗而被杀。', - + xf_yiji:"伊籍,字机伯,生卒年不详,兖州山阳郡(今山东金乡县)人,三国时期蜀汉官员。年少时依附于同乡刘表。刘备落难到荆州时,伊籍时常拜访,托请刘备照顾。建安十三年(208年),刘表病死,伊籍便转投刘备,一起渡江南下。建安十六年(211年),刘备入蜀帮助刘璋,伊籍亦有跟随。随后刘备和刘璋双方决裂。建安十九年(214年),刘备平定益州,任命伊籍为左将军从事中郎,其待遇次于简雍、孙乾等。后升任昭文将军,并与诸葛亮、法正、刘巴、李严共同编制《蜀科》。", }, perfectPair:{ @@ -204,7 +204,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } return -1; })()>0); - if(bool){ + if(bool){ player.logSkill('retongji',trigger.target); trigger.target.discard(cards); const evt=trigger.getParent(); @@ -2399,7 +2399,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ "xf_yiji":"伊籍", re_yuanshu:'袁术', caozhang:'曹彰', - + ganglie:'刚烈', tuxi:'突袭', luoyi:'裸衣', @@ -2539,7 +2539,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ stdshushen:'淑慎', stdshushen_info:'当你回复1点体力时,你可以令一名其他角色摸一张牌(若其没有手牌则改为摸两张牌)。', old_re_lidian:'李典', - + standard_2008:"2008版标准包", standard_2013:"2013版标准包", standard_2019:"2019版标准包", diff --git a/character/swd.js b/character/swd.js index be9400be0..959662988 100644 --- a/character/swd.js +++ b/character/swd.js @@ -87,7 +87,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ // swd_yangshuo:['male','qun',4,['longdan','luomu']], // swd_zhanglie:['male','qun',4,['huajin','poxiao']], - swd_hanluo:['male','qun',5,['tiebi']], swd_fu:['male','qun',5,['yudun']], swd_linyue:['male','wei',3,['zhenjiu','lmazui']], @@ -1082,7 +1081,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(result&&result.cards){ event.card=result.cards[0]; player.lose(result.cards,ui.special); - var cardx=ui.create.card(); cardx.classList.add('infohidden'); cardx.classList.add('infoflip'); @@ -3419,7 +3417,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(target.sex!='male') return false; var name=target.name.indexOf('unknown')==0?target.name2:target.name; if(name==player.storage.huanxing) return false; - var info=lib.character[name]; if(info){ var skills=info[3]; @@ -4317,7 +4314,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(get.attitude(target,player)>0) return 0; return 9-get.value(card); } - "step 1" if(result.bool){ target.addTempSkill('duishi3'); @@ -5260,7 +5256,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ trigger.player.update(); player.addTempSkill('susheng2'); } - }, ai:{ threaten:2 @@ -5407,14 +5402,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var handcards1,handcards2,judges,equips,viewAs,i,j; player.storage.kunlunjing=[]; player.storage.kunlunjing2=player.hp; - for(i=0;i
    '+effects[i]+'
    '); item.addEventListener('click',clickItem); item.link=i+1; - } event.control=ui.create.control('取消',function(){ event.choice=0; @@ -9225,7 +9215,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ else{ player.unmarkSkill('mailun'); } - if(event.dialog){ event.dialog.close(); } @@ -10120,7 +10109,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shehun:'摄魂', shehun_info:'出牌阶段限一次,你可以弃置任意张花色不同的牌,另一名其他角色弃置等量的牌,若其弃置的牌中有牌的花色与你弃置的牌相同,你对其造成1点伤害。', - zhanlu:'沾露', luomu:'落木', jifeng:'魔影', diff --git a/character/tw.js b/character/tw.js index a7afa3dac..dc2404dcd 100644 --- a/character/tw.js +++ b/character/tw.js @@ -3783,7 +3783,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.addTempSkill('twqirang_use'); player.addTempSkill('twqirang_clear',['phaseZhunbeiAfter','phaseDrawAfter','phaseUseAfter','phaseDiscardAfter','phaseJieshuAfter','phaseAfter']); } - }, ai:{ effect:{ @@ -8554,7 +8553,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.stat[player.stat.length-1].card.sha--; } } - } } } @@ -9093,7 +9091,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ evt.skipped=true; } } - } } }, @@ -14497,12 +14494,12 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.logSkill('renshe'); switch(result.control){ case '选项一': - event.goto(3); + event.goto(3); break; case '选项二': player.addMark('waishi_remover',1,false); player.addTempSkill('waishi_remover',{player:'phaseUseAfter'}); - event.finish(); + event.finish(); break; case '选项三': player.chooseTarget('请选择一名角色,与其各摸一张牌',lib.filter.notMe,true).set('ai',function(target){ @@ -14627,7 +14624,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ tw_caohong_prefix:'TW将', tw_maliang:'TW马良', tw_maliang_prefix:'TW', - + twyanqin:'姻亲', twyanqin_info:'准备阶段,你可以将势力变更为魏或蜀。', twbaobian:'豹变', diff --git a/character/xianding.js b/character/xianding.js index 314813de1..49ea74ac6 100644 --- a/character/xianding.js +++ b/character/xianding.js @@ -2005,7 +2005,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } return 0; } - for(var i=0;i{ + if(get.itemtype(card)==='card'&&cardx.hasGaintag('dczhaowen_tag')&&get.color(card,player)==='red') return [1,1]; + } + } + } }, viewed:{ onremove:true, @@ -3269,6 +3275,17 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jiuSustain:true, skillTagFilter:function(player,tag,name){ if(name!='phase') return false; + }, + effect:{ + target:(card,player,target)=>{ + if(player===target||typeof card!=='object'||get.color(card)!=='black') return; + if(target.hasSkill('jiu')){ + if(card.name!=='huogong'&&get.tag(card,'damage')&&get.attitude(player,target)<=0&&target.hasCard(i=>{ + return _status.connectMode||lib.filter.cardDiscardable(i,player,'dcjiudun'); + },'h')) return [0,-1]; + } + else return [1,1.2]; + } } } }, @@ -3672,7 +3689,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var suit=get.suit(card); if(get.position(card)!='h'&&player.countCards('h',{suit:suit})==1) return 0.1; if(!player.hasCard(cardx=>cardx!=card&&get.suit(cardx)==suit)) return 7.5-get.value(card); - return 6-get.value(card); + return 6-get.value(card); }, content:function(){ 'step 0' @@ -5665,7 +5682,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.classList.remove('glow_phase'); delete _status.currentPhase; },player); - } + } } }, subSkill:{ @@ -7627,7 +7644,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dialog.content.appendChild(table2); dialog.add('  '); event.dialog.open(); - event.switchToAuto=function(){ event._result={ bool:true, @@ -7796,7 +7812,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dialog.content.appendChild(table); dialog.add('  '); dialog.open(); - + event.switchToAuto=function(){ event.dialog.close(); event.control.close(); @@ -9834,7 +9850,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.draw(2); } player.removeSkill('wfyuyan_damage'); - }, + }, }, }, }, @@ -11661,7 +11677,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){}, ai:{combo:'shiyuan'}, }, - //新岩泽(划掉)留赞 refenyin:{ audio:2, @@ -13082,7 +13097,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ var target=trigger.player; event.target=target; target.removeMark('zhafu_hf',1); - if(target.countCards('h')<=1) event.finish() + if(target.countCards('h')<=1) event.finish() 'step 1' target.chooseCard('h',true,'选择保留一张手牌,将其余的手牌交给'+get.translation(player)).set('ai',get.value); 'step 2' @@ -13097,7 +13112,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, }, - tuiyan:{ audio:2, trigger:{player:'phaseUseBegin'}, @@ -14007,7 +14021,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ dclingxi_info:'出牌阶段开始和结束时,你可以将至多X张牌称为“翼”置于你的武将牌上(X为你的体力上限)。当你失去武将牌上的“翼”时,你将手牌数调整至Y张(Y为你武将牌上的“翼”所含有的花色数的两倍)。', dczhifou:'知否', dczhifou_info:'当你使用牌结算完毕后,你可以移去至少X张武将牌上的“翼”(X为本回合此前发动此技能的次数+1),然后选择一名角色并选择一项令其执行(每个选项每回合限选择一次):①将一张牌称为“翼”置于你的武将牌上;②弃置两张牌;③失去1点体力。', - + sp2_yinyu:'隐山之玉', sp2_huben:'百战虎贲', sp2_shengun:'奇人异士', diff --git a/character/xianjian.js b/character/xianjian.js index a6048e5e0..c524ff1bf 100644 --- a/character/xianjian.js +++ b/character/xianjian.js @@ -295,7 +295,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return -get.sgn(get.attitude(player,current)); } }); - if(num2>=num1) return 0; return 2*(num2-num1); } @@ -3391,7 +3390,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ player.removeAdditionalSkill('xshuangren'); } } - }, ai:{ effect:{ diff --git a/character/yijiang.js b/character/yijiang.js index 3b5130d53..17b91c55f 100755 --- a/character/yijiang.js +++ b/character/yijiang.js @@ -107,9 +107,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ jikang:['male','wei',3,['qingxian','juexiang']], qinmi:['male','shu',3,['jianzheng','zhuandui','tianbian']], xuezong:['male','wu',3,['funan','xinjiexun']], - + old_huaxiong:['male','qun',6,['shiyong']], - + yujin:["male","wei",4,["rezhenjun"],[]], }, characterIntro:{ @@ -1103,46 +1103,31 @@ game.import('character',function(lib,game,ui,get,ai,_status){ audio:2, trigger:{player:'phaseJieshuBegin'}, direct:true, - getEffect:function(player,target,event){ - var att=get.attitude(player,target); - if(att==0) return 0; - var list1=[],list2=[]; - var used=[]; - player.getHistory('useCard',function(evt){ - used.add(evt.card.name); - }); - event.used=used; - for(var name of lib.inpile){ - var add=false,type=get.type(name); - if(name=='sha') add=true; - else if(type=='trick'){ - var info=lib.card[name]; - if(info&&!info.singleCard&&!info.notarget) add=true; - } - if(!add) continue; - if(used.includes(name)) list1.push(name); - else list2.push(name); - } - var getv=function(name,player,arg){ - return player.getUseValue({name:name},arg); - } + getEffect:function(player,target,event,list1,list2){ + let att=get.attitude(player,target); + if(att===0) return 0; + let getv=function(name,player,arg){ + let v=event.getTempCache('sangu',player.id+name); + if(typeof v==='number') return v; + v=player.getUseValue({name:name,storage:{sangu:true}},arg); + event.putTempCache('sangu',player.id+name,v); + return v; + }; if(att<0){ - for(var i of list1){ - if(getv(i,target)<=0||target.getUseValue({name:i,storage:{sangu:true}})<=0) return -att*Math.sqrt(get.threaten(target))*2; + for(let i of list1){ + if(getv(i,target)<=0||getv(i,target)<=0) return -att*Math.sqrt(get.threaten(target))*2; } return 0; } else{ - var list=list1; - if(player.hp>1) list=list.concat(list2); + let list=list1.concat(player.hp>1?list2:[]),eff=0; list.sort(function(a,b){ return getv(b,target)-getv(a,target); }); list=list.slice(3); - var eff=0,base=5; - for(var i of list){ - var res=getv(i,target); - if(res<=base) break; + for(let i of list){ + let res=getv(i,target); + if(res<=5) break; else eff+=res; } return Math.sqrt(eff/1.5)*att; @@ -1150,9 +1135,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(){ 'step 0' - player.chooseTarget(get.prompt2('sangu'),lib.filter.notMe).set('ai',function(target){ - return lib.skill.sangu.getEffect(_status.event.player,target,_status.event.getTrigger()); + event.list1=[]; + event.list2=[]; + event.used=[]; + player.getHistory('useCard',function(evt){ + event.used.add(evt.card.name); }); + for(let name of lib.inpile){ + let add=false,type=get.type(name); + if(name==='sha') add=true; + else if(type==='trick'){ + let info=lib.card[name]; + if(info&&!info.singleCard&&!info.notarget) add=true; + } + if(!add) continue; + if(event.used.includes(name)) event.list1.push(name); + else event.list2.push(name); + } + if(!event.list1.length&&!event.list2.length) event.finish(); + else player.chooseTarget(get.prompt2('sangu'),lib.filter.notMe).set('ai',function(target){ + return lib.skill.sangu.getEffect(_status.event.player,target,_status.event.getTrigger(),_status.event.list1,_status.event.list2); + }).set('list1',event.list1).set('list2',event.list2); 'step 1' if(result.bool){ var target=result.targets[0]; @@ -1161,51 +1164,41 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else event.finish(); 'step 2' - var list1=[],list2=[]; - var used=[]; - player.getHistory('useCard',function(evt){ - used.add(evt.card.name); - }); - event.used=used; - for(var name of lib.inpile){ - var add=false,type=get.type(name); - if(name=='sha') add=true; - else if(type=='trick'){ - var info=lib.card[name]; - if(info&&!info.singleCard&&!info.notarget) add=true; - } - if(!add) continue; - if(used.includes(name)) list1.push([type,'',name]); - else list2.push([type,'',name]); + var dialog=['为'+get.translation(target)+'选择至多三个牌名']; + if(event.list1.length){ + dialog.push('
    本回合已使用过的牌
    '); + dialog.push([event.list1.map(i=>[get.type(i),'',i]),'vcard']); } - if(!list1.length&&!list2.length) event.finish(); - else{ - var dialog=['为'+get.translation(target)+'选择至多三个牌名']; - if(list1.length){ - dialog.push('
    本回合已使用过的牌
    '); - dialog.push([list1,'vcard']); - } - if(list2.length){ - dialog.push('
    本回合未使用过的牌
    '); - dialog.push([list2,'vcard']); - } - player.chooseButton(dialog,true,[1,3]).set('ai',function(button){ - var card={name:button.link[2],storage:{sangu:true}},list=_status.event.list; - var player=_status.event.player,target=_status.event.getParent().target; - if(get.attitude(player,target)<0){ - if(!list.includes(card.name)) return 0; - return -target.getUseValue(card); - } - else{ - if(player.hp<2&&!list.includes(card.name)) return 0; - var val=target.getUseValue(card),base=5; - val=Math.min(15,val-base); - if(card.name=='wuzhong'||card.name=='dongzhuxianji') val+=15; - else if(card.name=='shunshou') val+=6; - return val; - } - }).set('list',list1.map((i)=>i[2])); + if(event.list2.length){ + dialog.push('
    本回合未使用过的牌
    '); + dialog.push([event.list2.map(i=>[get.type(i),'',i]),'vcard']); } + player.chooseButton(dialog,true,[1,3]).set('ai',function(button){ + let name=button.link[2], + list=_status.event.list, + player=_status.event.player, + target=_status.event.getParent().target, + trigger=_status.event.getTrigger(), + getv=(name,player)=>{ + let v=trigger.getTempCache('sangu',player.id+name); + if(typeof v==='number') return v; + v=player.getUseValue({name:name,storage:{sangu:true}},arg); + trigger.putTempCache('sangu',player.id+name,v); + return v; + }; + if(get.attitude(player,target)<0){ + if(!list.includes(name)) return 0; + return -getv(name,target); + } + else{ + if(player.hp<2&&!list.includes(name)) return 0; + let val=getv(name,target),base=5; + val=Math.min(15,val-base); + if(name==='wuzhong'||name==='dongzhuxianji') val+=15; + else if(name==='shunshou') val+=6; + return val; + } + }).set('list',event.list1); 'step 3' if(result.bool){ var names=result.links.map((i)=>i[2]); @@ -3163,7 +3156,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ 'step 0' player.chooseTarget(get.prompt2('zhenjun'),function(card,player,target){ - return target.countCards('h')>target.hp; + return target.countCards('h')>target.hp; }).set('ai',function(target){ return -get.attitude(_status.event.player,target)*(target.countCards('e')+1); }); @@ -14618,7 +14611,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ feiyao:'费曜', zhenfeng:'镇锋', zhenfeng_info:'每回合限一次。当其他角色于其回合内使用牌时,若其手牌数不大于其体力值,你可以猜测其手牌中与此牌类别相同的牌数。若你猜对,你摸X张牌并视为对其使用一张【杀】(X为你连续猜对的次数且至多为5);若你猜错且差值大于1,其视为对你使用一张【杀】。', - + yijiang_2011:'一将成名2011', yijiang_2012:'一将成名2012', yijiang_2013:'一将成名2013', diff --git a/character/yxs.js b/character/yxs.js index 2e4132357..96719ef67 100644 --- a/character/yxs.js +++ b/character/yxs.js @@ -107,8 +107,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(!player.countCards('h',{name:'sha'})) return false; return event.card&&(event.card.name=='sha'||event.card.name=='juedou'); }, - content:function(){ - player.addTempSkill('yxs_fanji2','shaAfter'); + content:function(){ + player.addTempSkill('yxs_fanji2','shaAfter'); player.chooseToUse({name:'sha'},trigger.source,'反击:是否对'+get.translation(trigger.source)+'使用一张杀?').logSkill='yxs_fanji'; }, }, @@ -121,7 +121,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ filter:function (event,player){ return event.card&&event.card.name=='sha'&&get.color(event.card)=='red'; }, - content:function (){ + content:function (){ trigger.directHit=true; }, }, @@ -142,7 +142,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } } }, - }, + }, yxs_menshen:{ audio:2, trigger:{ @@ -162,7 +162,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return get.attitude(player,target); }); "step 1" - if(result.bool){ + if(result.bool){ var target=result.targets[0]; player.line(target,'green'); game.log(target,'成为了','【门神】','的目标'); @@ -170,7 +170,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ target.addSkill('yxs_menshen2'); } else{ - event.finish(); + event.finish(); } }, ai:{ @@ -1268,7 +1268,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, content:function(){ player.awakenSkill('heqin'); - player.addSkill('heqin2'); target.addSkill('heqin2'); @@ -1555,7 +1554,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(target.sex!='male') return false; var name=target.name.indexOf('unknown')==0?target.name2:target.name; if(name==player.storage.yizhuang) return false; - var info=lib.character[name]; if(info){ var skills=info[3]; @@ -3098,7 +3096,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sheshi:'蛇噬', sheshi_info:'每受到1次伤害,可以指定1种花色,依次展示牌堆顶的牌,直到出现指定花色的牌为止,你获得与指定花色不同花色的所有牌(最多展示四张牌)。', - fengyi:'凤仪', fengyi_info:'出牌阶段,你可以弃一张手牌,指定任意目标摸两张牌。(每回合限用一次)', wange:'婉歌', diff --git a/mode/boss.js b/mode/boss.js index a67dfe252..9b01e7c20 100644 --- a/mode/boss.js +++ b/mode/boss.js @@ -323,7 +323,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(lib.config.show_handcardbutton){ lib.setPopped(ui.create.system('手牌',null,true),function(){ var uiintro=ui.create.dialog('hidden'); - var players=game.players.concat(game.dead); for(var i=0;i(无重整角色)'); uiintro.add(ui.create.div('.placeholder.slim')) @@ -375,7 +372,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ else{ uiintro.add(table); } - return uiintro; },180); } @@ -833,7 +829,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ boss_taotie:['male','qun',20,['boss_xiongshou','boss_tanyu','boss_cangmu','boss_jicai','boss_jicai_switch'],['qun','boss','bossallowed'],'qun'], boss_taowu:['male','qun',25,['boss_xiongshou','boss_minwan','boss_nitai','boss_luanchang','boss_luanchang_switch'],['qun','boss','bossallowed'],'qun'], boss_zhuyin:['male','qun',4,['boss_xiongshou'],['qun','hiddenboss','bossallowed'],'qun'], - + boss_xiangliu:['male','qun',25,['boss_yaoshou','boss_duqu','boss_jiushou','boss_echou','boss_echou_switch'],['qun','boss','bossallowed'],'qun'], boss_zhuyan:['male','qun','25/30',['boss_yaoshou','boss_bingxian','boss_juyuan','boss_xushi','boss_xushi_switch'],['qun','boss','bossallowed'],'qun'], boss_bifang:['male','qun',25,['boss_yaoshou','boss_zhaohuo','boss_honglianx','boss_yanyu','boss_yanyu_switch'],['qun','boss','bossallowed'],'qun'], @@ -880,7 +876,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ boss_mo:['female','shen',5,['boss_guimei','enyuan','boss_beiming','boss_bianshen2'],['shu','hiddenboss','bossallowed']], boss_wang:['male','shen',5,['boss_guimei','boss_luolei','huilei','boss_bianshen2'],['shu','hiddenboss','bossallowed']], boss_liang:['female','shen',5,['boss_guimei','boss_guihuo','boss_minbao','boss_bianshen2'],['shu','hiddenboss','bossallowed']], - + boss_qinguangwang:['male','qun',3,['boss_panguan','boss_juhun','boss_wangxiang','boss_newhuanren'],['shu','boss','bossallowed'],'shu'], boss_chujiangwang:['male','qun',4,['weimu','refankui','boss_bingfeng'],['shu','hiddenboss','bossallowed']], boss_songdiwang:['male','qun',4,['boss_heisheng','boss_shengfu','enyuan'],['shu','hiddenboss','bossallowed']], @@ -918,7 +914,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ boss_diaochan:['female','shen',4,['fengwu','yunshen','lianji','boss_wange','yuehun'],['qun','boss','bossallowed'],'qun'], boss_huatuo:['male','shen',6,['chulao','mazui','boss_shengshou','guizhen','wuqin'],['qun','boss','bossallowed'],'wu'], boss_dongzhuo:['male','shen',20,['jiuchi','boss_qiangzheng','boss_baolin'],['qun','boss','bossallowed'],'shu'], - + "boss_sunce":["male","shen","1/8",["boss_jiang","boss_hunzi","boss_hunyou","boss_taoni"],['qun','boss','bossallowed'],'wu'], // boss_nianshou:['male','shen',Infinity,['boss_nianrui','boss_qixiang','boss_damagecount'],['boss'],'shu'], @@ -1764,7 +1760,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } }, init:function(){ - _status.shidianyanluo_level=0; + _status.shidianyanluo_level=0; lib.inpile.remove('muniu'); for(var i=0;i0){ - skills1=skills1.randomGet(); + skills1=skills1.randomGet(); ran1.disableSkill('boss_wanghun',skills1); game.log(ran1,'失去了',skills1); } @@ -2954,7 +2950,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } } if(skills2.length>0){ - skills2=skills2.randomGet(); + skills2=skills2.randomGet(); ran2.disableSkill('boss_wanghun',skills2); game.log(ran2,'失去了',skills2); } @@ -2963,7 +2959,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } } } - //添加两张回魂 + //添加两张回魂 if(get.mode()=='boss'){ var card1=game.createCard('boss_mengpohuihun','heart',3,null); var card2=game.createCard('boss_mengpohuihun','club',4,null); @@ -3074,7 +3070,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ player.chooseControl(list).set('ai',function(){ return _status.event.choice; }).set('choice',choice).prompt=get.prompt2(event.name); - 'step 1' + 'step 1' if(result.control!='cancel2'){ if(!event.logged){ event.logged=true; @@ -3084,7 +3080,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ player.popup(result.control,'fire'); if(!trigger.fixedResult) trigger.fixedResult={}; trigger.fixedResult.number=result.control; - } + } player.chooseControl(event.suitx).set('ai',function(){ return _status.event.choice; }).set('choice',event.suitchoice).prompt=get.prompt2(event.name); @@ -3110,8 +3106,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ "boss_diting":{ audio:true, mod:{ - globalFrom:function (from,to,distance){ - return distance-1; + globalFrom:function (from,to,distance){ + return distance-1; }, globalTo:function (from,to,distance){ return distance+1; @@ -3178,7 +3174,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ charlotte:true, fixed:true, content:function(){}, - contentplayer:function(player){ + contentplayer:function(player){ var list=[1,2,3,4,5]; var list2=["boss_sdyl_playerlevel1","boss_sdyl_playerlevel2","boss_sdyl_playerlevel3","boss_sdyl_playerlevel4","boss_sdyl_playerlevel5"]; player.removeAdditionalSkill('boss_sdyl_level'); @@ -3203,7 +3199,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } } }, - contentboss:function(boss){ + contentboss:function(boss){ var list=[1,2,3,4,5]; var list2=["boss_sdyl_bosslevel1","boss_sdyl_bosslevel2","boss_sdyl_bosslevel3","boss_sdyl_bosslevel4","boss_sdyl_bosslevel5"]; boss.removeAdditionalSkill('boss_sdyl_level'); @@ -3244,7 +3240,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ silent:true, popup:false, forced:true, - init:function(player){ + init:function(player){ player.maxHp++; player.hp++; player.update(); @@ -3281,7 +3277,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, "boss_sdyl_playerlevel5":{ init:function(player){ - player.storage.boss_sdyl_playerlevel5=false; + player.storage.boss_sdyl_playerlevel5=false; player.maxHp++; player.hp++; player.update(); @@ -3314,7 +3310,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ 'step 3' player.drawTo(Math.min(5,player.maxHp)); 'step 4' - player.recover(player.maxHp-player.hp); + player.recover(player.maxHp-player.hp); }, ai:{ order:1, @@ -3336,7 +3332,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, intro:{ content:'limited' - } + } }, "boss_sdyl_bosslevel1":{ fixed:true, @@ -3438,7 +3434,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(!event.card||event.card.name!='nanman') return false; player.storage.boss_sdyl_bosslevel5=true; return false; - } + } }, content:function (){ trigger.num++; @@ -3466,10 +3462,10 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, forced:true, filter:function (event,player){ - return player.getEquip(2)&&event.num>1; + return player.getEquip(2)&&event.num>1; }, content:function (){ - trigger.num=1; + trigger.num=1; }, sub:true, }, @@ -3479,7 +3475,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, forced:true, filter:function (event,player){ - return (player.getEquip(3)||player.getEquip(4)); + return (player.getEquip(3)||player.getEquip(4)); }, content:function(){ trigger.num++; @@ -3502,7 +3498,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, }, }, - + boss_yaoshou:{ mod:{ globalFrom:function(from,to,distance){ @@ -8661,7 +8657,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ player.loseMaxHp(); player.addSkill('reyingzi'); player.addSkill('yinghun'); - game.log(player,'获得了技能','#g【英姿】和【英魂】'); + game.log(player,'获得了技能','#g【英姿】和【英魂】'); game.log(player,'','#y【魂佑】') player.awakenSkill('boss_hunzi'); player.storage.boss_hunzi=true; @@ -8692,8 +8688,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ var a=window.setInterval(function(){ if(player.hasSkill('boss_jiang')){ player.storage.boss_jiang=true; - } - else{ + } + else{ game.addGlobalSkill('boss_jiang'); game.addGlobalSkill('boss_jiang_use'); window.clearInterval(a); @@ -8722,7 +8718,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ content:function (){ player.draw(); if(!lib.skill.boss_jiang.filter2(trigger,player)) return; - if(trigger.respondTo[0]!=player){ + if(trigger.respondTo[0]!=player){ if(trigger.respondTo[1]&&get.position(trigger.respondTo[1])=='d') player.gain(trigger.respondTo[1],'gain2'); } else{ @@ -8778,7 +8774,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ trigger.cancel(); player.maxHp=player.storage.maxHp; player.hp=player.storage.hp; - player.update(); + player.update(); }, sub:true, forced:true, @@ -8834,8 +8830,8 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ for(var a in Object.keys(lib[keysArray[3]][keysArray[2]].prototype)){ var opd=Object.getOwnPropertyDescriptor(node,a); if (isDefined(opd)) _status.taoni_over(lib.translate[node.name] + '触发了〖讨逆〗,游戏已被终止。'); - //还原函数 - node[a]=lib[keysArray[3]][keysArray[2]].prototype[a]; + //还原函数 + node[a]=lib[keysArray[3]][keysArray[2]].prototype[a]; var playerKeysArray=['classList','hp','maxHp','skills']; for(var b=0;b第二关:挑战楚江王,宋帝王,五官王,阎罗王中的一个
    第三关:挑战卞城王,泰山王,都市王,平等王中的一个
    第四关:挑战转轮王', diff --git a/mode/brawl.js b/mode/brawl.js index 388645912..a8f9734b7 100644 --- a/mode/brawl.js +++ b/mode/brawl.js @@ -1055,7 +1055,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } game.updateRoundNumber(); 'step 4' - setTimeout(function(){ + setTimeout(function(){ ui.arena.classList.remove('choose-character'); },500); _status.videoInited=true; @@ -2450,12 +2450,12 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ var bool=Math.random()<0.5; var bool2=Math.random()<0.5; var ref=game.players[0]; - + ref.side=bool; ref.next.side=bool2; ref.next.next.side=!bool; ref.previous.side=!bool2; - + var firstChoose=game.players.randomGet(); if(firstChoose.next.side==firstChoose.side){ firstChoose=firstChoose.next; @@ -2465,7 +2465,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ firstChoose.node.name.innerHTML=get.verticalStr(get.cnNumber(i+1,true)+'号位'); firstChoose=firstChoose.next; } - + for(var i=0;i2){ num2=2; } - + for(var i=0;i0; - }, + }, content:function(){ trigger.num++; }, @@ -7066,7 +7065,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ dialog.content.appendChild(table2); dialog.add('  '); event.dialog.open(); - + event.switchToAuto=function(){ event._result={ bool:true, @@ -8368,7 +8367,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ mark:true, intro:{content:function(){return get.translation('wuziliangjiangdao_info')}}, }, - + gzzhengbi:{ audio:'zhengbi', trigger:{player:'phaseUseBegin'}, @@ -8554,7 +8553,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } }, }, - + junling4_eff:{ mod:{ cardEnabled2:function(card){ @@ -8587,7 +8586,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, } }, - + gzjieyue:{ trigger:{player:'phaseZhunbeiBegin'}, filter:function(event,player){ @@ -8658,7 +8657,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, audio:['jieyue',2], }, - + jianglue:{ limited:true, audio:2, @@ -9021,7 +9020,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, } }, - + gzjushou:{ audio:"xinjushou", trigger:{ @@ -10070,7 +10069,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, logTarget:"target", content:function(){ - "step 0" + "step 0" var target=trigger.target; var controls=[]; if(get.zhu(player,'shouyue')){ @@ -10324,7 +10323,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ content:function(){ var color=get.groupnature(player.group,"raw"); if(player.isUnseen()) color='fire'; - player.$fullscreenpop('鏖战模式',color); + player.$fullscreenpop('鏖战模式',color); game.broadcastAll(function(){ _status._aozhan=true; ui.aozhan=ui.create.div('.touchinfo.left',ui.window); @@ -12599,7 +12598,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } } } - } }, gzqianxi:{ @@ -14379,7 +14377,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ gzluoyi_info:'摸牌阶段结束时,你可弃置一张牌,然后你于本回合内造成渠道为【杀】或【决斗】的伤害+1。', gzqiangxi:'强袭', gzqiangxi_info:'出牌阶段限一次,你可以弃置一张武器牌或失去1点体力,然后对一名其他角色造成1点伤害。', - + gz_sp_duyu:'杜预', gzpozhen:'破阵', gzpozhen_info:'限定技,其他角色的回合开始时,你可以令其本回合不可使用、打出或重铸手牌;若其处于队列或围攻关系中,你可依次弃置此队列或参与围攻关系的其他角色的一张牌。', @@ -14582,7 +14580,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ huibian_info:'出牌阶段限一次,你可以选择一名魏势力角色和另一名已受伤的魏势力角色。若如此做,你对前者造成1点伤害,然后其摸两张牌,然后后者回复1点体力。', gzzongyu:'总御', gzzongyu_info:'当【六龙骖驾】进入其他角色的装备区后,你可以将你装备区内所有坐骑牌(至少一张)与【六龙骖驾】交换位置。锁定技,当你使用坐骑牌后,若场上或弃牌堆中有【六龙骖驾】,则将【六龙骖驾】置入你的装备区。', - + yigui:"役鬼", "yigui_info":"当你首次明置此武将牌时,你将剩余武将牌堆的两张牌置于武将牌上,称为“魂”;你可以展示一张武将牌上的“魂”并将其置入剩余武将牌堆,视为使用一张本回合内未以此法使用过的基本牌或普通锦囊牌。(此牌须指定目标,且目标须为未确定势力的角色或野心家或与此“魂”势力相同的角色)", "yigui_init":"役鬼", @@ -14595,7 +14593,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ yigui_gzwuxie:'役鬼', jihun:"汲魂", jihun_info:"当你受到伤害后,或与你势力不同的角色脱离濒死状态后,你可以将剩余武将牌堆的一张牌置于武将牌上,称为“魂”。", - + _guozhan_marks:'标记', _guozhan_marks_backup:'标记', xianqu_mark:"先驱", @@ -14604,7 +14602,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ _zhulianbihe_mark_tao:"珠联", _yinyang_mark_add:"阴阳鱼", yinyang_add:"阴阳鱼", - + gzjushou:"据守", gzjushou_info:"结束阶段,你可以摸X张牌(X为亮明势力数),然后弃置一张手牌。若以此法弃置的牌为装备牌,则改为使用此牌。若X大于2,则你将武将牌叠置。", "new_duanliang":"断粮", @@ -14686,7 +14684,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ gzsanyao_info:'出牌阶段限一次。你可以弃置一张牌,对一名手牌数或体力值大于你的角色造成1点伤害。', gzzhiman:'制蛮', gzzhiman_info:'当你对其他角色造成伤害时,你可以防止此伤害。若如此做,你获得其装备区或判定区里的一张牌。然后若该角色与你势力相同,该角色可以变更副将。', - + gzdiancai:'典财', gzdiancai_info:'其他角色的出牌阶段结束时,若你于此阶段失去了x张或更多的牌,则你可以将手牌摸至体力上限。若如此做,你可以变更副将(x为你的体力值)。', xuanlve:'旋略', @@ -15363,7 +15361,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ ['diamond',6,'dinglanyemingzhu'], ['heart',13,'liulongcanjia'], - + //['spade',12,'gz_haolingtianxia'], //['diamond',1,'gz_kefuzhongyuan'], //['heart',1,'gz_guguoanbang'], diff --git a/mode/identity.js b/mode/identity.js index c6807ea05..189ca61a4 100644 --- a/mode/identity.js +++ b/mode/identity.js @@ -937,7 +937,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } } },result); - + var list=[]; var players=game.players.slice(0); players.removeArray([game.rZhu,game.bZhu]); @@ -1503,7 +1503,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ identityList=get.identityList(game.players.length); } var stratagemMode=event.stratagemMode; - var addSetting=function(dialog){ dialog.add('选择身份').classList.add('add-setting'); var table=document.createElement('div'); @@ -1634,7 +1633,6 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ delete _status.cheat_seat; return; } - } if(stratagemMode){ this.classList.add('bluebg'); @@ -2359,7 +2357,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ zhu.update(); } },game.zhu,result.links[0],result.links[1],game.players.length>4); - + if(game.zhu.group=='shen'&&!game.zhu.isUnseen(0)){ var list=['wei','shu','wu','qun','jin','key']; for(var i=0;i lib.linked.includes(n)); return get.is.sameNature(natures, nature); } + hasGaintag(tag) { + return this.gaintag && this.gaintag.includes(tag); + } }