diff --git a/audio/die/re_caozhi.mp3 b/audio/die/re_caozhi.mp3 new file mode 100644 index 000000000..24c656fac Binary files /dev/null and b/audio/die/re_caozhi.mp3 differ diff --git a/audio/die/wangshuang.mp3 b/audio/die/wangshuang.mp3 new file mode 100644 index 000000000..2c4d80f93 Binary files /dev/null and b/audio/die/wangshuang.mp3 differ diff --git a/audio/skill/chengzhang1.mp3 b/audio/skill/chengzhang1.mp3 new file mode 100644 index 000000000..ab5697ffe Binary files /dev/null and b/audio/skill/chengzhang1.mp3 differ diff --git a/audio/skill/chengzhang2.mp3 b/audio/skill/chengzhang2.mp3 new file mode 100644 index 000000000..99d84e27e Binary files /dev/null and b/audio/skill/chengzhang2.mp3 differ diff --git a/audio/skill/rejiushi1.mp3 b/audio/skill/rejiushi1.mp3 new file mode 100644 index 000000000..670ff078c Binary files /dev/null and b/audio/skill/rejiushi1.mp3 differ diff --git a/audio/skill/rejiushi2.mp3 b/audio/skill/rejiushi2.mp3 new file mode 100644 index 000000000..ce88df817 Binary files /dev/null and b/audio/skill/rejiushi2.mp3 differ diff --git a/audio/skill/reluoying1.mp3 b/audio/skill/reluoying1.mp3 new file mode 100644 index 000000000..4d53f4bc5 Binary files /dev/null and b/audio/skill/reluoying1.mp3 differ diff --git a/audio/skill/reluoying2.mp3 b/audio/skill/reluoying2.mp3 new file mode 100644 index 000000000..ef10c0570 Binary files /dev/null and b/audio/skill/reluoying2.mp3 differ diff --git a/audio/skill/spzhuilie1.mp3 b/audio/skill/spzhuilie1.mp3 new file mode 100644 index 000000000..464ad5dac Binary files /dev/null and b/audio/skill/spzhuilie1.mp3 differ diff --git a/audio/skill/spzhuilie2.mp3 b/audio/skill/spzhuilie2.mp3 new file mode 100644 index 000000000..88d70f870 Binary files /dev/null and b/audio/skill/spzhuilie2.mp3 differ diff --git a/card/extra.js b/card/extra.js index e2364f5cd..0ecde2150 100644 --- a/card/extra.js +++ b/card/extra.js @@ -58,8 +58,9 @@ game.import('card',function(lib,game,ui,get,ai,_status){ return target==player; }, content:function(){ + if(typeof event.baseDamage!='number') event.baseDamage=1; if(target.isDying()||event.getParent(2).type=='dying'){ - target.recover(); + target.recover(event.baseDamage); if(_status.currentPhase==target){ target.getStat().card.jiu--; } @@ -70,7 +71,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ card=cards[0]; } if(!target.storage.jiu) target.storage.jiu=0; - target.storage.jiu++; + target.storage.jiu+=event.baseDamage; game.broadcastAll(function(target,card,gain2){ target.addSkill('jiu'); if(!target.node.jiu&&lib.config.jiu_effect){ diff --git a/card/zhulu.js b/card/zhulu.js index 08325739d..86ce45e3f 100644 --- a/card/zhulu.js +++ b/card/zhulu.js @@ -81,7 +81,7 @@ game.import('card',function(lib,game,ui,get,ai,_status){ var equips=[]; for(var i=0;i1){ var next=target.chooseButton(true,function(button){ diff --git a/character/diy.js b/character/diy.js index 867f73dfe..8f1d14e22 100755 --- a/character/diy.js +++ b/character/diy.js @@ -7,6 +7,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ character:{ ns_zhangwei:['female','wei',3,['nsqiyue','nsxuezhu']], ns_chendao:['male','shu',4,['nsjianglie']], + yj_caoang:['male','wei',4,['yjxuepin']], diy_wenyang:['male','wei','4/6',['lvli','choujue']], key_lucia:['female','key','1/2',['lucia_duqu','lucia_zhenren']], key_kyousuke:['male','key',4,['nk_shekong','key_huanjie']], @@ -30,6 +31,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ key_harukakanata:['female','key',3,['haruka_shuangche']], key_inari:['female','key',2,['inari_baiwei','inari_huhun']], key_shiina:['female','key',3,['shiina_qingshen','shiina_feiyan']], + key_sunohara:['unknown','key',3,['sunohara_chengshuang','sunohara_tiaoyin','sunohara_jianren']], + key_rin:['female','key',3,['rin_baoqiu']], + key_sasami:['female','key',3,['sasami_miaobian']], // diy_caocao:['male','wei',4,['xicai','diyjianxiong','hujia']], // diy_hanlong:['male','wei',4,['siji','ciqiu']], diy_feishi:['male','shu',3,['shuaiyan','moshou']], @@ -95,6 +99,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_xinnanhua:['male','qun',3,['ns_xiandao','ns_xiuzheng','ns_chuanshu'],[]], }, characterFilter:{ + key_sunohara:function(mode){ + return mode!='guozhan'; + }, ns_duangui:function(mode){ return mode=='identity'&&_status.mode=='normal'; }, @@ -104,15 +111,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, characterSort:{ diy:{ - diy_tieba:["diy_wenyang","ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_zhangwei","ns_chendao"], + diy_tieba:["diy_wenyang","ns_zuoci","ns_lvzhi","ns_wangyun","ns_nanhua","ns_nanhua_left","ns_nanhua_right","ns_huamulan","ns_huangzu","ns_jinke","ns_yanliang","ns_wenchou","ns_caocao","ns_caocaosp","ns_zhugeliang","ns_wangyue","ns_yuji","ns_xinxianying","ns_guanlu","ns_simazhao","ns_sunjian","ns_duangui","ns_zhangbao","ns_masu","ns_zhangxiu","ns_lvmeng","ns_shenpei","ns_yujisp","ns_yangyi","ns_liuzhang","ns_xinnanhua","ns_zhangwei"], diy_default:["diy_feishi","diy_liuyan","diy_yuji","diy_caiwenji","diy_lukang","diy_zhenji","diy_liufu","diy_xizhenxihong","diy_liuzan","diy_zaozhirenjun","diy_yangyi","diy_tianyu"], - diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_kagari","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina"], + diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","key_kagari","key_umi","key_rei","key_komari","key_yukine","key_yusa","key_misa","key_masato","key_iwasawa","key_kengo","key_yoshino","key_yui","key_tsumugi","key_saya","key_harukakanata","key_inari","key_shiina","key_sunohara","key_rin","key_sasami"], + diy_yongjian:["ns_chendao","yj_caoang"], }, }, characterIntro:{ ns_zhangwei:'血骑教习·张葳,三国杀集换式卡牌游戏《阵面对决》中的帝畿系列卡牌。游卡桌游官方原创的三国时期女性角色。', diy_feishi:'字公举,生卒年不详,益州犍为郡南安县(今四川省乐山市)人。刘璋占据益州时,以费诗为绵竹县县令。刘备进攻刘璋夺取益州,费诗举城而降,后受拜督军从事,转任牂牁郡太守,再为州前部司马。', - //diy_liuyan:'字元海,新兴(今山西忻州北)人,匈奴族,匈奴首领冒顿单于之后[1] ,南匈奴单于于夫罗之孙,左贤王刘豹之子,母呼延氏,十六国时期前赵政权开国皇帝,304年-310年在位。', + //diy_liuyan:'字元海,新兴(今山西忻州北)人,匈奴族,匈奴首领冒顿单于之后,南匈奴单于于夫罗之孙,左贤王刘豹之子,母呼延氏,十六国时期前赵政权开国皇帝,304年-310年在位。', diy_lukang:'字幼节,吴郡吴县(今江苏苏州)人。三国时期吴国名将,丞相陆逊次子。', diy_liufu:'字元颖,沛国相县(今安徽濉溪县西北)人。东汉末年名守。在汉末避难于淮南,说服袁术将戚寄和秦翊率部投奔曹操,曹操大悦,使司徒辟其为掾属。', diy_xizhenxihong:'习珍,襄阳人。三国时蜀汉将领。先主刘备时曾任零陵北部都尉,加裨将军。建安二十四年,关羽率荆州大军攻打樊城,唯有习珍据城不降。被困月余,直到箭尽粮绝,拔剑自刎而死。习宏,生卒年不详,习珍之弟。曾在东吴入侵蜀汉时建议哥哥习珍伪降,约樊胄举兵。习珍死后,弟弟习宏落在东吴,有问必不答,终身不为孙权发一言。', @@ -121,6 +129,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。', }, characterTitle:{ + key_sasami:'#bLittle Busters!', + key_rin:'#bLittle Busters!', key_shiina:'#rAngel Beats!', key_inari:'#bSummer Pockets', key_saya:'#bLittle Busters!', @@ -142,7 +152,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ key_kyousuke:'#bLittle Busters!', key_yuri:'#rAngel Beats!', key_haruko:'#bAIR', - ns_chendao:'#g三国杀·用间篇', diy_wenyang:'#g最粗的梦想XD', ns_zuoci:'#bskystarwuwei', ns_lvzhi:'#bskystarwuwei', @@ -178,6 +187,274 @@ game.import('character',function(lib,game,ui,get,ai,_status){ yuji:['zuoci'] }, skill:{ + sasami_miaobian:{ + derivation:['sasami_gongqing','sasami_funan','sasami_baoqiu'], + init2:function(player){ + if(player.hp<=3) player.addSkill('sasami_gongqing'); + if(player.hp<=2) player.addSkill('sasami_funan'); + if(player.hp<=1) player.addSkill('sasami_baoqiu'); + }, + trigger:{player:'changeHp'}, + firstDo:true, + silent:true, + content:function(){ + lib.skill.sasami_miaobian.init2(player); + }, + }, + sasami_baoqiu:{ + line:{color:[173,149,206]}, + inherit:'rin_baoqiu' + }, + "sasami_gongqing":{ + audio:true, + trigger:{ + player:["damageBegin3","damageBegin4"], + }, + forced:true, + filter:function (event,player,name){ + if(!event.source) return false; + var range=event.source.getAttackRange(); + if(name=='damageBegin3') return range>3; + return event.num>1&&range<3; + }, + content:function (){ + trigger.num=event.triggername=='damageBegin4'?1:trigger.num+1; + }, + ai:{ + filterDamage:true, + skillTagFilter:function(player,tag,arg){ + if(arg&&arg.player){ + if(arg.player.hasSkillTag('jueqing',false,player)) return false; + if(arg.player.getAttackRange()<3) return true; + } + return false; + } + }, + }, + sasami_funan:{ + audio:2, + trigger:{global:['respond','useCard']}, + line:{color:[173,149,206]}, + filter:function(event,player){ + if(!event.respondTo) return false; + if(event.player==player) return false; + if(player!=event.respondTo[0]) return false; + if(!player.hasSkill('sasami_funan_jiexun')){ + var cards=[] + if(get.itemtype(event.respondTo[1])=='card') cards.push(event.respondTo[1]); + else if(event.respondTo[1].cards) cards.addArray(event.respondTo[1].cards); + return cards.filterInD('od').length>0; + } + else return event.cards.filterInD('od').length>0; + }, + logTarget:'player', + check:function(event,player){ + if(get.attitude(player,event.player)>=0) return true; + if(player.hasSkill('sasami_funan_jiexun')) return true; + if(event.cards.length>1) return true; + return get.value(event.cards[0])>get.value(event.respondTo[1]); + }, + content:function(){ + 'step 0' + if(!player.hasSkill('sasami_funan_jiexun')){ + var cards=[] + if(get.itemtype(trigger.respondTo[1])=='card') cards.push(trigger.respondTo[1]); + else if(trigger.respondTo[1].cards) cards.addArray(trigger.respondTo[1].cards); + cards=cards.filterInD('od'); + trigger.player.gain(cards,'gain2','log'); + trigger.player.addTempSkill('sasami_funan_use'); + if(!trigger.player.storage.sasami_funan_use){ + trigger.player.storage.sasami_funan_use=[]; + } + trigger.player.storage.sasami_funan_use.addArray(cards); + } + 'step 1' + var cards=trigger.cards.filterInD('od'); + player.gain(cards,'log','gain2'); + }, + subSkill:{ + jiexun:{ + charlotte:true, + mark:true, + intro:{ + content:'你发动“复难”时,无须令其他角色获得你使用的牌' + }, + }, + use:{ + onremove:true, + mod:{ + cardEnabled2:function(card,player){ + if(player.storage.sasami_funan_use&&player.storage.sasami_funan_use.contains(card)){ + return false; + } + } + } + } + } + }, + rin_baoqiu:{ + mod:{ + attackFrom:function(rin,riki,ball){ + return ball-2; + }, + }, + trigger:{player:'useCardToPlayered'}, + forced:true, + logTarget:'target', + filter:function(event,player){ + return event.card.name=='sha'; + }, + line:{color:[194,117,92]}, + content:function(){ + 'step 0' + player.judge(function(){return 0}); + 'step 1' + var target=trigger.target; + var map=trigger.customArgs; + var id=target.playerid; + if(!map[id]) map[id]={}; + if(result.color=='red'){ + if(!map[id].extraDamage) map[id].extraDamage=0; + map[id].extraDamage++; + } + if(result.color=='black'){ + trigger.directHit.add(target); + } + if(result.suit=='spade'||result.suit=='heart'){ + var evt=event.getParent(); + if(evt.addCount!==false){ + evt.addCount=false; + player.getStat().card.sha--; + } + player.draw(); + } + if(result.suit=='diamond'||result.suit=='club'){ + target.addTempSkill('fengyin'); + if(target.countDiscardableCards(player,'he')>0) player.discardPlayerCard(target,'he',true); + } + }, + }, + sunohara_chengshuang:{ + trigger:{ + global:'gameDrawAfter', + player:'enterGame', + }, + group:'sunohara_chengshuang_phase', + forced:true, + content:function(){ + 'step 0' + var evt=event.getParent('phase'); + if(evt&&evt.player==player) evt.sunohara_chengshuang=true; + player.chooseControl('male','female').set('prompt','成双:请选择自己的性别'); + 'step 1' + var sex=result.control; + game.broadcastAll(function(player,sex){ + player.sex=sex; + if(player.marks&&player.marks.sunohara_chengshuang) player.marks.sunohara_chengshuang.firstChild.innerHTML=sex=='male'?'♂':'♀'; + },player,sex); + game.log(player,'将性别变更为','#g'+get.translation(sex)); + }, + mark:true, + intro:{ + content:function(storage,player){ + if(player.sex=='unknown') return '当前性别未确定'; + return '当前性别:'+get.translation(player.sex); + }, + }, + }, + sunohara_chengshuang_phase:{ + trigger:{ + player:'phaseBegin', + }, + filter:function(event,player){ + if(event.sunohara_chengshuang) return false; + return game.phaseNumber>1; + }, + prompt2:function(event,player){ + if(player.sex=='unknown') return '选择自己的性别'; + return '将自己的性别变更为'+(player.sex=='male'?'女性':'男性'); + }, + content:function(){ + 'step 0' + if(player.sex=='unknown') player.chooseControl('male','female').set('prompt','成双:请选择自己的性别'); + else event._result={control:player.sex=='male'?'female':'male'}; + 'step 1' + var sex=result.control; + game.broadcastAll(function(player,sex){ + player.sex=sex; + if(player.marks&&player.marks.sunohara_chengshuang) player.marks.sunohara_chengshuang.firstChild.innerHTML=sex=='male'?'♂':'♀'; + },player,sex); + game.log(player,'将性别变更为','#g'+get.translation(sex)); + }, + }, + sunohara_tiaoyin:{ + enable:'phaseUse', + usable:1, + filterTarget:function(card,player,target){ + return target!=player&&target.countGainableCards(player,'hej')>0; + }, + selectCard:[1,4], + filterCard:function(card){ + for(var i=0;i0) player.gainPlayerCard(target,'hej','visible'); + }, + contentAfter:function(){ + var bool=false; + for(var i=0;i0)?1:-2; + }, + } + }, + }, + sunohara_jianren:{ + trigger:{player:'damageEnd'}, + direct:true, + content:function(){ + 'step 0' + event.num=(!trigger.source||trigger.source.isDead()||trigger.source.sex!=player.sex)?3:1; + player.chooseTarget(get.prompt('sunohara_jianren'),'令一名角色摸'+get.cnNumber(event.num)+'张牌。').set('ai',function(target){ + var att=get.attitude(player,target); + if(att<=0) return 0; + if(target.hasSkillTag('nogain')&&target!=_status.currentPhase) return 0.1; + return att/(1+0.1*target.countCards('h')); + }); + 'step 1' + if(result.bool){ + var target=result.targets[0]; + player.logSkill('sunohara_jianren',target,{color:[145,149,179]}); + target.draw(event.num); + } + }, + }, shiina_qingshen:{ trigger:{ player:'damageEnd', @@ -534,7 +811,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ num+=player.getUseValue(cards[i]); } return player.countCards('h',function(card){ - return (card.name!='sha'||!player.countUsed('sha'))&&player.getUseValue(card)>num; + return player.getUseValue(card,null,true)>num; })==0; }(); player.chooseTarget(get.prompt2('saya_shouji'),lib.filter.notMe).set('ai',function(target){ @@ -1086,6 +1363,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } else trigger.cancel(); }, + ai:{ + effect:{ + player:function(card,player,target){ + if(get.attitude(player,target)>0&&get.tag(card,'damage')) return 'zeroplayertarget'; + }, + }, + }, }, yusa_yanyi:{ enable:'phaseUse', @@ -1967,6 +2251,37 @@ game.import('character',function(lib,game,ui,get,ai,_status){ } }, }, + + yjxuepin:{ + enable:'phaseUse', + usable:1, + filterTarget:function(event,player,target){ + return player.inRange(target); + }, + content:function(){ + 'step 0' + player.loseHp(); + 'step 1' + if(target.countDiscardableCards(player,'he')>0) player.discardPlayerCard(target,2,'he',true); + else event.finish(); + 'step 2' + if(result.bool&&result.cards.length==2&&get.type2(result.cards[0],result.cards[0].original=='h'?target:false)==get.type2(result.cards[1],result.cards[1].original=='h'?target:false)) player.recover(); + }, + ai:{ + order:4, + result:{ + player:function(player,target){ + if(player.hp==1) return -4; + if(target.countCards('e')>1) return 0; + if(player.hp>2||target.countCards('h')>1) return -0.5; + return -2; + }, + target:function(player,target){ + return -2; + }, + }, + }, + }, nsjianglie:{ trigger:{player:'useCardToPlayered'}, filter:function(event,player){ @@ -6681,7 +6996,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ns_xinnanhua:'南华老仙', key_lucia:'此花露西娅', - key_kyousuke:'棗恭介', + key_kyousuke:'枣恭介', key_yuri:'仲村ゆり', key_haruko:'神尾晴子', key_kagari:'篝', @@ -6703,6 +7018,11 @@ game.import('character',function(lib,game,ui,get,ai,_status){ key_harukakanata_ab:'三枝二木', key_inari:'稻荷', key_shiina:'椎名', + key_sunohara:'春原阳平&春原芽衣', + key_sunohara_ab:'阳平芽衣', + //该武将国战模式下不可用 + key_rin:'枣铃', + key_sasami:'笹濑川佐佐美', lucia_duqu:'毒躯', lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。
②当你因【毒】失去体力时,你改为回复等量的体力。
③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。', lucia_zhenren:'振刃', @@ -6777,7 +7097,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ haruka_shuangche:'双掣', kanata_shuangche:'双掣', haruka_shuangche_backup:'双掣', - haruka_shuangche_info:'出牌阶段,你可以将一张牌当做任意基本牌或锦囊牌使用。此牌结算完成后,你选择一项:1.弃置X张牌。2.失去1点体力且本回合内不能再发动〖双掣〗。', + haruka_shuangche_info:'出牌阶段,你可以视为使用任意基本牌或普通锦囊牌。此牌结算完成后,你选择一项:1.弃置X张牌。2.失去1点体力且本回合内不能再发动〖双掣〗。', //你不能以此法使用【回魂】 saya_shouji:'授计', saya_shouji_info:'每回合限一次,当你使用的牌结算完成后,你可以将此牌对应的所有实体牌交给一名其他角色。其可以使用这些牌中的一张,若如此做,你摸一张牌。', @@ -6800,7 +7120,27 @@ game.import('character',function(lib,game,ui,get,ai,_status){ shiina_feiyan_info:'一名其他角色的回合开始时,若其在你的攻击范围内,则你可以将一张「轻」置于弃牌堆,然后视为对其使用一张【杀】。若此【杀】未造成伤害,你摸一张牌。你于此【杀】的结算流程中视为拥有技能【铁骑】。', shiina_retieji:'铁骑', //你不能对稻荷发动【飞燕】 + sunohara_chengshuang:'成双', + sunohara_chengshuang_phase:'成双', + sunohara_chengshuang_info:'锁定技,游戏开始时,你选择你的性别。回合开始时,你可以切换你的性别。', + sunohara_tiaoyin:'挑引', + sunohara_tiaoyin_info:'出牌阶段限一次,你可以弃置任意张花色各不相同的手牌,然后获得等量角色区域内的各一张牌。若你以此法获得了异性角色区域内的牌,则你失去1点体力。', + sunohara_jianren:'坚忍', + sunohara_jianren_info:'当你受到伤害后,你可以令一名角色摸一张牌。若伤害无来源或来源与你性别不同,则改为摸三张牌。', + rin_baoqiu:'暴球', + rin_baoqiu_info:'锁定技,你的攻击范围+2。当你使用【杀】指定目标后,你进行判定。若结果:为红色,此【杀】对其的伤害值基数+1;为黑色,其无法闪避此【杀】;为♠/♥,此【杀】不计入使用次数限制且你摸一张牌;为♦/♣,目标角色的所有非锁定技失效直到回合结束,且你弃置其一张牌。', + sasami_miaobian:'喵变', + sasami_miaobian_info:'当你的体力值变为:3以下时,你获得技能〖公清〗,2以下时,你获得技能〖复难〗,1以下时,你获得技能〖暴球〗', + "sasami_gongqing":"公清", + "sasami_gongqing_info":"锁定技。当你受到伤害时,若伤害来源的攻击范围:<3,则你令此伤害的数值减为1。>3,你令此伤害+1。", + sasami_funan:'复难', + sasami_funan_info:'其他角色使用或打出牌响应你使用的牌时,你可令其获得你使用的牌(其本回合不能使用或打出这些牌),然后你获得其使用或打出的牌。', + sasami_baoqiu:'暴球', + sasami_baoqiu_info:'锁定技,你的攻击范围+2。当你使用【杀】指定目标后,你进行判定。若结果:为红色,此【杀】对其的伤害值基数+1;为黑色,其无法闪避此【杀】;为♠/♥,此【杀】不计入使用次数限制且你摸一张牌;为♦/♣,目标角色的所有非锁定技失效直到回合结束,且你弃置其一张牌。', + yj_caoang:'SP曹昂', + yjxuepin:'血拼', + yjxuepin_info:'出牌阶段限一次,你可以选择攻击范围内的一名角色并失去1点体力。你弃置其两张牌。若这两张牌类型相同,你回复1点体力。', ns_chendao:'SP陈到', nsjianglie:'将烈', nsjianglie_info:'当你使用【杀】指定目标后,你可以令其展示所有手牌,然后弃置其中一种颜色的牌。', @@ -7033,6 +7373,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ diy_tieba:'吧友设计', diy_default:'常规', diy_key:'论外', + diy_yongjian:'用间篇', }, }; }); diff --git a/character/extra.js b/character/extra.js index 39dcaf1e9..e4d13b646 100755 --- a/character/extra.js +++ b/character/extra.js @@ -127,7 +127,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(event.getParent('phaseUse').skipped) return true; var nd=player.needsToDiscard(); return player.countCards('h',function(card){ - return (nd?true:get.tag(card,'damage'))&&player.getUseValue(card)>0; + return player.getUseValue(card,null,true)>0&&(nd?true:get.tag(card,'damage')>0); })==0; }, logTarget:'player', diff --git a/character/mobile.js b/character/mobile.js index ca3945ad8..57345655e 100644 --- a/character/mobile.js +++ b/character/mobile.js @@ -2026,24 +2026,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ silent:true, popup:false, content:function(){ - trigger.xinzhanyi=true; + if(!trigger.baseDamage) trigger.baseDamage=1; + trigger.baseDamage++; player.storage.xinzhanyi_basic1=true; }, }, - xinzhanyi_basic2:{ - trigger:{source:['damageBegin','recoverBegin']}, - forced:true, - silent:true, - popup:false, - filter:function(event){ - return event.getParent(2).xinzhanyi==true; - }, - content:function(){ - trigger.num++ - }, - }, xinzhanyi_basic:{ - group:['xinzhanyi_basic1','xinzhanyi_basic2'], + group:['xinzhanyi_basic1'], onremove:function(p,s){ delete p.storage[s+1]; }, diff --git a/character/old.js b/character/old.js index 16e93522a..2d74b0505 100755 --- a/character/old.js +++ b/character/old.js @@ -4,7 +4,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ name:'old', characterSort:{ old:{ - old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_guanqiujian","xiahouyuan"], + old_shenhua:["yuji","zhangjiao","old_zhugezhan","old_guanqiujian","xiahouyuan","weiyan","xiaoqiao"], old_refresh:["old_zhangfei","old_huatuo"], old_yijiang1:["masu","xushu","fazheng","yujin","xin_yujin","old_xusheng","old_lingtong","ol_yujin"], old_yijiang2:["old_madai","old_zhonghui","old_wangyi","old_guanzhang","ol_liaohua"], @@ -12,11 +12,14 @@ game.import('character',function(lib,game,ui,get,ai,_status){ old_yijiang4:["old_caozhen","old_chenqun","old_zhuhuan","ol_wuyi"], old_yijiang5:["old_caoxiu","old_quancong","old_zhuzhi"], old_yijiang67:["ol_xinxianying","ol_zhangrang","ol_liuyu"], - old_sp:["old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo","old_zhangxingcai","old_huangfusong","ol_maliang"], + old_sp:["old_lingju","old_maliang","old_machao","zhangliang","jsp_caoren","ol_guansuo","old_zhangxingcai","old_huangfusong","ol_maliang","panfeng"], old_mobile:["old_caochun","old_majun"], }, }, character:{ + panfeng:['male','qun',4,['kuangfu']], + xiaoqiao:['female','wu',3,['tianxiang','hongyan']], + weiyan:['male','shu',4,['kuanggu']], xiahouyuan:['male','wei',4,['shensu']], ol_maliang:['male','shu',3,['zishu','yingyuan']], old_huangfusong:['male','qun',4,['fenyue']], diff --git a/character/refresh.js b/character/refresh.js index 8b453b20c..da65fac37 100755 --- a/character/refresh.js +++ b/character/refresh.js @@ -5,15 +5,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ characterSort:{ refresh:{ refresh_standard:["re_caocao","re_simayi","re_guojia","re_lidian","re_zhangliao","re_xuzhu","re_xiahoudun","re_zhangfei","re_zhaoyun","re_guanyu","re_machao","re_xushu","re_zhouyu","re_lvmeng","re_ganning","re_luxun","re_daqiao","re_huanggai","re_lvbu","re_gongsunzan","re_huatuo","re_liubei","re_diaochan","re_huangyueying","re_sunquan","re_sunshangxiang","re_zhenji","re_zhugeliang","re_huaxiong"], - refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','re_weiyan','re_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'], + refresh_feng:['caoren','ol_xiahouyuan','re_huangzhong','ol_weiyan','ol_xiaoqiao','zhoutai','re_zhangjiao','xin_yuji'], refresh_huo:["ol_sp_zhugeliang","re_xunyu","re_dianwei","re_yanwen","ol_pangtong","ol_yuanshao","re_pangde"], refresh_lin:['re_zhurong','re_menghuo','re_dongzhuo','re_sunjian','re_caopi','re_xuhuang'], refresh_shan:['re_dengai','re_jiangwei','re_caiwenji','ol_liushan','re_zhangzhang','re_zuoci','re_sunce'], - refresh_yijiang:['re_xusheng','re_wuguotai','re_gaoshun','re_zhangyi'], + refresh_yijiang:['re_xusheng','re_wuguotai','re_gaoshun','re_zhangyi','re_caozhi'], }, }, connect:true, character:{ + re_caozhi:['male','wei',3,['reluoying','rejiushi','chengzhang']], ol_pangtong:['male','shu',3,['xinlianhuan','olniepan'],[]], re_zhangyi:['male','shu',4,['rewurong','shizhi']], re_xusheng:['male','wu',4,['repojun']], @@ -56,8 +57,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ol_xiahouyuan:['male','wei',4,['xinshensu','shebian']], caoren:['male','wei',4,['xinjushou','xinjiewei']], re_huangzhong:['male','shu',4,['xinliegong']], - re_weiyan:['male','shu',4,['xinkuanggu','qimou']], - re_xiaoqiao:['female','wu',3,['retianxiang','hongyan']], + ol_weiyan:['male','shu',4,['xinkuanggu','reqimou']], + ol_xiaoqiao:['female','wu',3,['retianxiang','rehongyan']], zhoutai:['male','wu',4,['buqu','fenji']], re_pangde:['male','qun',4,['mashu','jianchu']], re_xuhuang:['male','wei',4,['duanliang','jiezi']], @@ -93,6 +94,368 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sunben:['zhouyu','taishici','daqiao'], }, skill:{ + reluoying:{ + audio:2, + group:['reluoying_discard','reluoying_judge'], + subfrequent:['judge'], + subSkill:{ + discard:{ + audio:'reluoying', + trigger:{global:'loseAfter'}, + filter:function(event,player){ + if(event.type!='discard') return false; + if(event.player==player) return false; + for(var i=0;i=7) return true; + player.getAllHistory('damage',function(evt){ + num+=evt.num; + }); + return num>7; + }, + content:function(){ + player.markSkill('rejiushi_mark'); + player.awakenSkill('chengzhang'); + player.storage.chengzhang=true; + player.recover(); + player.draw(); + }, + }, + rejiushi:{ + audio:2, + group:['rejiushi1','rejiushi2','rejiushi3','rejiushi_gain'], + subfrequent:['gain'], + subSkill:{ + gain:{ + audio:'rejiushi', + trigger:{player:'turnOverAfter'}, + frequent:true, + filter:function(event,player){ + return player.storage.chengzhang==true; + }, + content:function(){ + var card=get.cardPile2(function(card){ + return get.type2(card)=='trick'; + }); + if(card) player.gain(card,'gain2','log'); + }, + }, + }, + }, + rejiushi1:{ + audio:'rejiushi', + enable:'chooseToUse', + filter:function(event,player){ + if(player.classList.contains('turnedover')) return false; + if(event.parent.name=='phaseUse'){ + return lib.filter.filterCard({name:'jiu'},player,event); + } + if(event.type!='dying') return false; + if(player!=event.dying) return false; + return true; + }, + content:function(){ + if(_status.event.getParent(2).type=='dying'){ + event.dying=player; + event.type='dying'; + } + player.turnOver(); + player.useCard({name:'jiu',isCard:true},player); + }, + ai:{ + save:true, + skillTagFilter:function(player){ + return player.hp<=0&&!player.isTurnedOver(); + }, + order:5, + result:{ + player:function(player){ + if(_status.event.parent.name=='phaseUse'){ + if(player.countCards('h','jiu')>0) return 0; + if(player.getEquip('zhuge')&&player.countCards('h','sha')>1) return 0; + if(!player.countCards('h','sha')) return 0; + var targets=[]; + var target; + var players=game.filterPlayer(); + for(var i=0;inum){ + target=targets[i]; + num=num2; + } + } + if(num<=0) return 0; + var e2=target.getEquip(2); + if(e2){ + if(e2.name=='tengjia'){ + if(!player.countCards('h',{name:'sha',nature:'fire'})&&!player.getEquip('zhuque')) return 0; + } + if(e2.name=='renwang'){ + if(!player.countCards('h',{name:'sha',color:'red'})) return 0; + } + if(e2.name=='baiyin') return 0; + } + if(player.getEquip('guanshi')&&player.countCards('he')>2) return 1; + return target.countCards('h')>3?0:1; + } + if(player==_status.event.dying||player.isTurnedOver()) return 3; + } + }, + effect:{ + target:function(card,player,target){ + if(card.name=='guiyoujie') return [0,0.5]; + if(target.isTurnedOver()){ + if(get.tag(card,'damage')){ + if(player.hasSkillTag('jueqing',false,target)) return [1,-2]; + if(target.hp==1) return; + return [1,target.countCards('h')/2]; + } + } + } + } + }, + }, + rejiushi2:{ + trigger:{player:'damageBegin3'}, + silent:true, + firstDo:true, + filter:function(event,player){ + return player.classList.contains('turnedover'); + }, + content:function(){ + trigger.rejiushi=true; + } + }, + rejiushi3:{ + audio:'rejiushi', + trigger:{player:'damageEnd'}, + check:function(event,player){ + return player.isTurnedOver(); + }, + filter:function(event,player){ + if(event.rejiushi){ + return true; + } + return false; + }, + content:function(){ + delete trigger.rejiushi; + player.turnOver(); + if(!player.storage.chengzhang){ + var card=get.cardPile2(function(card){ + return get.type2(card)=='trick'; + }); + if(card) player.gain(card,'gain2','log'); + } + } + }, + rejiushi_mark:{ + mark:true, + marktext:'改', + intro:{ + content:'当你需要使用【酒】时,若你的武将牌正面向上,你可以翻面,视为使用一张【酒】。当你受到伤害后,若你的武将牌背面向上,你可以翻面。当你翻面时,你获得牌堆中的一张随机锦囊。', + }, + }, + rehongyan:{ + mod:{ + suit:function(card,suit){ + if(suit=='spade') return 'heart'; + } + }, + trigger:{player:'loseEnd'}, + filter:function(event,player){ + if(player==_status.currentPhase) return false; + for(var i=0;i=4&&shas.length>=3){ + num=3; + } + else if(player.hp>=3&&shas.length>=2){ + num=2; + } + else{ + num=1 + } + var map={}; + var list=[]; + for(var i=1;i<=player.hp;i++){ + var cn=get.cnNumber(i,true); + map[cn]=i; + list.push(cn); + } + event.map=map; + player.awakenSkill('reqimou'); + player.storage.reqimou=true; + player.chooseControl(list,function(){ + return get.cnNumber(_status.event.goon,true); + }).set('prompt','失去任意点体力').set('goon',num); + 'step 1' + var num=event.map[result.control]||1; + player.storage.reqimou2=num; + player.loseHp(num); + player.draw(num); + player.addTempSkill('reqimou2'); + }, + ai:{ + order:2, + result:{ + player:function(player){ + if(player.hp==1) return 0; + var shas=player.getCards('h','sha'); + if(!shas.length) return 0; + var card=shas[0]; + if(!lib.filter.cardEnabled(card,player)) return 0; + if(lib.filter.cardUsable(card,player)) return 0; + var mindist; + if(player.hp>=4&&shas.length>=3){ + mindist=4; + } + else if(player.hp>=3&&shas.length>=2){ + mindist=3; + } + else{ + mindist=2; + } + if(game.hasPlayer(function(current){ + return (current.hp<=mindist-1&& + get.distance(player,current,'attack')<=mindist&& + player.canUse(card,current,false)&& + get.effect(current,card,player,player)>0); + })){ + return 1; + } + return 0; + } + } + } + }, + reqimou2:{ + onremove:true, + mod:{ + cardUsable:function(card,player,num){ + if(typeof player.storage.reqimou2=='number'&&card.name=='sha'){ + return num+player.storage.reqimou2; + } + }, + globalFrom:function(from,to,distance){ + if(typeof from.storage.reqimou2=='number'){ + return distance-from.storage.reqimou2; + } + } + } + }, olniepan:{ audio:2, unique:true, @@ -5619,6 +5982,25 @@ game.import('character',function(lib,game,ui,get,ai,_status){ ol_pangtong:'界庞统', olniepan:'涅槃', olniepan_info:'限定技,当你处于濒死状态时,你可以弃置你区域内的所有牌并复原你的武将牌,然后摸三张牌并将体力回复至3点。然后你选择获得以下技能中的一个:〖八阵〗/〖火计〗/〖看破〗', + ol_weiyan:'界魏延', + reqimou:'奇谋', + reqimou_info:'限定技,出牌阶段,你可以失去任意点体力并摸等量的牌,然后直到回合结束,你计算与其他角色的距离时-X,且你可以多使用X张【杀】(X为你失去的体力值)', + ol_xiaoqiao:'界小乔', + rehongyan:'红颜', + rehongyan_info:'锁定技,你区域内的黑桃牌和黑桃判定牌均视为红桃。当你于回合外失去红桃牌后,你摸一张牌。', + re_caozhi:'界曹植', + reluoying:'落英', + reluoying_discard:'落英', + reluoying_judge:'落英', + reluoying_info:'当其他角色的梅花牌因弃置或判定而进入弃牌堆时,你可以获得之。', + rejiushi:'酒诗', + rejiushi_info:'当你需要使用【酒】时,若你的武将牌正面向上,你可以翻面,视为使用一张【酒】。当你受到伤害后,若你的武将牌背面向上,你可以翻面并获得牌堆中的一张随机锦囊。', + rejiushi1:'酒诗', + rejiushi3:'酒诗', + rejiushi_mark:'酒诗·改', + rejiushi_mark_info:'当你需要使用【酒】时,若你的武将牌正面向上,你可以翻面,视为使用一张【酒】。当你受到伤害后,若你的武将牌背面向上,你可以翻面。当你翻面时,你获得牌堆中的一张随机锦囊。', + chengzhang:'成章', + chengzhang_info:'觉醒技,准备阶段开始时,若你造成伤害与受到伤害值之和累计7点或以上,则你回复1点体力并摸1张牌,然后改写〖酒诗〗。', refresh_standard:'界限突破·标', refresh_feng:'界限突破·风', diff --git a/character/shenhua.js b/character/shenhua.js index 9457b2300..6b5b35ec8 100755 --- a/character/shenhua.js +++ b/character/shenhua.js @@ -6,7 +6,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ connectBanned:['zuoci'], characterSort:{ shenhua:{ - shenhua_feng:["sp_zhangjiao","re_yuji","old_zhoutai","old_caoren","re_xiahouyuan","xiaoqiao","huangzhong","weiyan"], + shenhua_feng:["sp_zhangjiao","re_yuji","old_zhoutai","old_caoren","re_xiahouyuan","re_xiaoqiao","huangzhong","re_weiyan"], shenhua_huo:['dianwei','xunyu','pangtong','sp_zhugeliang','taishici','yanwen','re_yuanshao','pangde'], shenhua_lin:['caopi','xuhuang','menghuo','zhurong','re_lusu','sunjian','dongzhuo','jiaxu'], shenhua_shan:['dengai','zhanghe','liushan','jiangwei','zhangzhang','sunce','caiwenji','zuoci'], @@ -21,8 +21,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ pangde:['male','qun',4,['mashu','mengjin']], re_xiahouyuan:['male','wei',4,['xinshensu']], huangzhong:['male','shu',4,['liegong']], - weiyan:['male','shu',4,['kuanggu']], - xiaoqiao:['female','wu',3,['tianxiang','hongyan']], + re_weiyan:['male','shu',4,['xinkuanggu','qimou']], + re_xiaoqiao:['female','wu',3,['retianxiang','hongyan']], sp_zhangjiao:['male','qun',3,['releiji','guidao','huangtian'],['zhu']], re_yuji:["male","qun",3,["xinfu_guhuo"],["forbidai"]], // yuji:['male','qun',3,['guhuo']], @@ -7384,8 +7384,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ re_xiahouyuan:'夏侯渊', re_huangzhong:'界黄忠', - re_weiyan:'界魏延', - re_xiaoqiao:'界小乔', + re_weiyan:'魏延', + re_xiaoqiao:'小乔', gz_xiahouyuan:'夏侯渊', gz_huangzhong:'黄忠', @@ -7404,8 +7404,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ caoren:'界曹仁', huangzhong:'黄忠', sp_zhangjiao:'张角', - weiyan:'魏延', - xiaoqiao:'小乔', + weiyan:'旧魏延', + xiaoqiao:'旧小乔', zhoutai:'界周泰', zhangjiao:'张角', yuji:'于吉', diff --git a/character/sp.js b/character/sp.js index d0d78896a..571165b89 100755 --- a/character/sp.js +++ b/character/sp.js @@ -16,7 +16,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ sp_zhongdan:["cuiyan","huangfusong"], sp_star:["sp_xiahoushi","jsp_zhaoyun","huangjinleishi","sp_pangtong","sp_daqiao","sp_ganning","sp_xiahoudun","sp_lvmeng","sp_zhangfei","sp_liubei"], sp_sticker:['sp_gongsunzan','sp_simazhao','sp_wangyuanji','sp_xinxianying','sp_liuxie'], - sp_guozhan:["shamoke","ganfuren","yuejin","hetaihou","dingfeng","panfeng","jianggan"], + sp_guozhan:["shamoke","ganfuren","yuejin","hetaihou","dingfeng","re_panfeng","jianggan"], sp_guozhan2:["mifuren","mateng","tianfeng","chendong","sp_dongzhuo","jiangfei","jiangqing","kongrong","bianfuren","liqueguosi","lvfan","cuimao","jiling","zangba","zhangren","zoushi"], sp_guandu:["sp_zhanghe","xunchen","sp_shenpei","gaolan"], sp_single:["hejin","hansui","niujin"], @@ -24,12 +24,13 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, character:{ + re_panfeng:['male','qun',4,['xinkuangfu']], gaolan:['male','qun',4,['xiying']], sp_shenpei:['male','qun',3,['gangzhi','beizhan']], xunchen:['male','qun',3,['fenglve','mouzhi']], sp_zhanghe:['male','qun',4,['yuanlve']], sunshao:['male','wu',3,['bizheng','yidian']], - wangshuang:['male','wei',5,['spzhuilie'],['unseen']], + wangshuang:['male','wei',8,['spzhuilie']], sp_gongsunzan:['male','qun',4,['spyicong','sptuji']], sp_simazhao:['male','wei',3,['spzhaoxin','splanggu']], sp_wangyuanji:['female','wei',3,['spfuluan','spshude']], @@ -160,7 +161,6 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hetaihou:['female','qun',3,['zhendu','qiluan']], kongrong:['male','qun',3,['lirang','mingshi']], dingfeng:['male','wu',4,['fenxun','duanbing']], - panfeng:['male','qun',4,['kuangfu']], bianfuren:['female','wei',3,['wanwei','yuejian']], shamoke:['male','shu',4,['gzjili']], liqueguosi:['male','qun',4,['xiongsuan']], @@ -512,6 +512,60 @@ game.import('character',function(lib,game,ui,get,ai,_status){ }, }, skill:{ + //新潘凤 + xinkuangfu:{ + enable:'phaseUse', + usable:1, + filterTarget:function(card,player,target){ + if(player==target) return player.countCards('e',function(card){ + return lib.filter.cardDiscardable(card,player); + })>0; + return target.countDiscardableCards(player,'e')>0; + }, + filter:function(event,player){ + return game.hasPlayer(function(current){ + return current.countCards('e')>0; + }); + }, + content:function(){ + 'step 0' + if(player==target) player.chooseToDiscard('e',true); + else player.discardPlayerCard(target,'e',true); + 'step 1' + player.chooseUseTarget('sha',true,false,'nodistance'); + 'step 2' + var bool=game.hasPlayer2(function(current){ + return current.getHistory('damage',function(evt){ + return evt.getParent(4)==event; + }).length>0 + }); + if(player==target&&bool) player.draw(2); + else if(player!=target&&!bool) player.chooseToDiscard('h',2,true); + }, + ai:{ + order:function(){ + return get.order({name:'sha'})+0.3; + }, + result:{ + target:function(player,target){ + var att=get.attitude(player,target); + var max=0; + var min=1; + target.countCards('e',function(card){ + var val=get.value(card); + if(val>max) max=val; + if(val0&&min<=0) return target.hasSkillTag('noe')?3:1; + if(att<0&&max>0){ + if(target.hasSkillTag('noe')) return max>6?(-max/3):0; + return -max; + } + return 0; + }, + }, + }, + }, //官渡之战 xiying:{ trigger:{player:'phaseUseBegin'}, @@ -932,7 +986,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ 'step 0' player.judge(function(card){ - var type=get.type(card,'trick'); + var type=get.subtype(card); + return ['equip1','equip4','equip3','equip6'].contains(type)?6: -6; switch(type){ case 'equip': return 4; case 'trick': return -4; @@ -13760,7 +13815,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ if(event.type!='discard') return false; if(event.cards2){ for(var i=0;iplayer.maxHp) player.hp=player.maxHp; player.update(); if(event.popup!==false){ @@ -15032,9 +15033,8 @@ } event.cards=player.getCards('hej'); if(event.cards.length){ - player.lose(event.cards,'visible').forceDie=true; - player.$throw(event.cards,1000); - game.log(player,'弃置了',event.cards,event.logvid); + player.discard(event.cards).forceDie=true; + //player.$throw(event.cards,1000); } } "step 4" @@ -17690,7 +17690,7 @@ next.nodelayx=true; } else if(lib.card[arguments[i]]&&!next.card){ - next.card={name:arguments[i]}; + next.card={name:arguments[i],isCard:true}; } else get.evtprompt(next,arguments[i]); } @@ -22413,8 +22413,10 @@ node.classList.add('normal-font'); } if(typeof num=='number'&&num>0){ - num='+'+num; + if(num==Infinity) num='+∞' + else num='+'+num; } + else if(num==-Infinity) num='-∞'; node.innerHTML=num; this.damagepopups.push(node); node.dataset.nature=nature||'soil'; @@ -30814,6 +30816,7 @@ else if(info.enable=='phaseUse') enable=(event.type=='phase'); else if(typeof info.enable=='string') enable=(info.enable==event.name); if(enable){ + if(info.noHidden&&!game.expandSkills(player.getSkills()).contains(skills2[i])) enable=false; if(info.filter&&!info.filter(event,player)) enable=false; if(info.viewAs&&event.filterCard&&!event.filterCard(info.viewAs,player,event)) enable=false; if(info.viewAs&&info.viewAsFilter&&info.viewAsFilter(player)==false) enable=false; @@ -42464,14 +42467,17 @@ } } else{ - if(typeof infoitem[2]=='string'||infoitem[2]>14){ + var hp=get.infoHp(infoitem[2]); + var maxHp=get.infoMaxHp(infoitem[2]); + if(maxHp>14){ if(typeof infoitem[2]=='string') node.node.hp.innerHTML=infoitem[2]; else node.node.hp.innerHTML=get.numStr(infoitem[2]); node.node.hp.classList.add('text'); } else{ - for(var i=0;i=hp) next.classList.add('exclude'); } } } diff --git a/game/update.js b/game/update.js index 2b397c440..18675c0b6 100644 --- a/game/update.js +++ b/game/update.js @@ -1,14 +1,14 @@ window.noname_update={ - version:'1.9.98.7.1', - update:'1.9.98.7', + version:'1.9.99', + update:'1.9.98.7.1', changeLog:[ - '孙邵,OL神张辽', + '王双,新潘凤,界小乔,界魏延,界曹植', 'bug修复', ], files:[ - //'card/extra.js', + 'card/extra.js', //'card/huanlekapai.js', - 'card/sp.js', + //'card/sp.js', //'card/standard.js', //'card/swd.js', //'card/mtg.js', @@ -25,15 +25,15 @@ window.noname_update={ //'character/hearth.js', 'character/mobile.js', //'character/mtg.js', - //'character/old.js', + ////'character/old.js', 'character/refresh.js', 'character/shenhua.js', 'character/sp.js', //'character/tw.js', - 'character/standard.js', + //'character/standard.js', //'character/swd.js', //'character/xianjian.js', - 'character/xinghuoliaoyuan.js', + //'character/xinghuoliaoyuan.js', 'character/yijiang.js', //'character/yxs.js', //'extension/boss/extension.js', @@ -48,7 +48,7 @@ window.noname_update={ //'mode/stone.js', //'mode/brawl.js', //'mode/versus.js', - 'mode/boss.js', + //'mode/boss.js', 'game/game.js', //'game/NoSleep.js', //'game/config.js', diff --git a/image/character/key_rin.jpg b/image/character/key_rin.jpg new file mode 100644 index 000000000..a18666550 Binary files /dev/null and b/image/character/key_rin.jpg differ diff --git a/image/character/key_sasami.jpg b/image/character/key_sasami.jpg new file mode 100644 index 000000000..9256c3e29 Binary files /dev/null and b/image/character/key_sasami.jpg differ diff --git a/image/character/key_sunohara.jpg b/image/character/key_sunohara.jpg new file mode 100644 index 000000000..26495c694 Binary files /dev/null and b/image/character/key_sunohara.jpg differ diff --git a/image/character/ol_weiyan.jpg b/image/character/ol_weiyan.jpg new file mode 100644 index 000000000..890c724bf Binary files /dev/null and b/image/character/ol_weiyan.jpg differ diff --git a/image/character/ol_xiaoqiao.jpg b/image/character/ol_xiaoqiao.jpg new file mode 100644 index 000000000..2460d2a40 Binary files /dev/null and b/image/character/ol_xiaoqiao.jpg differ diff --git a/image/character/re_caozhi.jpg b/image/character/re_caozhi.jpg new file mode 100644 index 000000000..193c3bf23 Binary files /dev/null and b/image/character/re_caozhi.jpg differ diff --git a/image/character/re_panfeng.jpg b/image/character/re_panfeng.jpg new file mode 100644 index 000000000..556382fac Binary files /dev/null and b/image/character/re_panfeng.jpg differ diff --git a/image/character/wangshuang.jpg b/image/character/wangshuang.jpg new file mode 100644 index 000000000..0de6c32ac Binary files /dev/null and b/image/character/wangshuang.jpg differ diff --git a/image/character/yj_caoang.jpg b/image/character/yj_caoang.jpg new file mode 100644 index 000000000..e8bae5fd7 Binary files /dev/null and b/image/character/yj_caoang.jpg differ