diff --git a/audio/die/wolongfengchu.mp3 b/audio/die/wolongfengchu.mp3 new file mode 100644 index 000000000..d1b81ece9 Binary files /dev/null and b/audio/die/wolongfengchu.mp3 differ diff --git a/audio/skill/luanfeng1.mp3 b/audio/skill/luanfeng1.mp3 new file mode 100644 index 000000000..c522790db Binary files /dev/null and b/audio/skill/luanfeng1.mp3 differ diff --git a/audio/skill/luanfeng2.mp3 b/audio/skill/luanfeng2.mp3 new file mode 100644 index 000000000..7181806f7 Binary files /dev/null and b/audio/skill/luanfeng2.mp3 differ diff --git a/audio/skill/yingyang1.mp3 b/audio/skill/yingyang1.mp3 new file mode 100644 index 000000000..8f5f40266 Binary files /dev/null and b/audio/skill/yingyang1.mp3 differ diff --git a/audio/skill/yingyang2.mp3 b/audio/skill/yingyang2.mp3 new file mode 100644 index 000000000..bd63aa64a Binary files /dev/null and b/audio/skill/yingyang2.mp3 differ diff --git a/audio/skill/youlong1.mp3 b/audio/skill/youlong1.mp3 new file mode 100644 index 000000000..32568a87f Binary files /dev/null and b/audio/skill/youlong1.mp3 differ diff --git a/audio/skill/youlong2.mp3 b/audio/skill/youlong2.mp3 new file mode 100644 index 000000000..879f39e44 Binary files /dev/null and b/audio/skill/youlong2.mp3 differ diff --git a/audio/skill/zunwei2.mp3 b/audio/skill/zunwei2.mp3 index 357f47ac5..69bbc752b 100644 Binary files a/audio/skill/zunwei2.mp3 and b/audio/skill/zunwei2.mp3 differ diff --git a/character/diy.js b/character/diy.js index 42d7e9586..b5c649251 100755 --- a/character/diy.js +++ b/character/diy.js @@ -62,6 +62,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ key_shizuku:['female','key',3,['shizuku_sizhi','shizuku_biyi','shizuku_sanhua']], key_hiroto:['male','key',3,['hiroto_huyu','hiroto_tuolao']], key_sakuya:['male','key',4,['youlong','luanfeng','sakuya_junbu']], + key_youta:['male','key',4,[]], + key_rumi:['female','key','3/4',['rumi_shuwu']], + key_chihaya:['female','key',3,['chihaya_liewu','chihaya_youfeng']], key_kud:['female','key',3,['kud_qiaoshou','kud_buhui']], key_misuzu:['female','key',3,['misuzu_hengzhou','misuzu_nongyin','misuzu_zhongxing']], @@ -172,7 +175,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ diy_tieba:["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"], diy_fakenews:["diy_wenyang","ns_zhangwei","ns_caimao"], 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_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","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha","key_shizuku","key_hiroto","key_sakuya"], + diy_key:["key_lucia","key_kyousuke","key_yuri","key_haruko","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","key_akane","key_doruji","key_yuiko","key_riki","key_hisako","key_hinata","key_noda","key_tomoya","key_nagisa","key_ayato","key_ao","key_yuzuru","sp_key_kanade","key_mio","key_midori","key_kyoko","key_shizuru","key_shiorimiyuki","key_miki","key_shiori","key_kaori","sp_key_yuri","key_akiko","key_abyusa","key_godan","key_yuu","key_ryoichi","key_kotori","key_jojiro","key_shiroha","key_shizuku","key_hiroto","key_sakuya","key_youta","key_rumi","key_chihaya"], diy_trashbin:['old_jiakui','ol_guohuai','junk_zhangrang','junk_simayi'], }, }, @@ -188,6 +191,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ diy_tianyu:'字国让,渔阳雍奴(今天津市武清区东北)人。三国时期曹魏将领。初从刘备,因母亲年老回乡,后跟随公孙瓒,公孙瓒败亡,劝说鲜于辅加入曹操。曹操攻略河北时,田豫正式得到曹操任用,历任颖阴、郎陵令、弋阳太守等。', }, characterTitle:{ + key_chihaya:'#bRewrite', + key_rumi:'#rONE ~輝く季節へ~', + key_youta:'#b神様になった日', key_sakuya:'#bRewrite', key_hiroto:'#b神様になった日', key_shizuku:'#bSummer Pockets', @@ -350,6 +356,370 @@ game.import('character',function(lib,game,ui,get,ai,_status){ key_lucia:['key_shizuru'], }, skill:{ + chihaya_liewu:{ + derivation:'chihaya_huairou', + mod:{ + cardUsable:function(card){ + if(card.name=='sha') return Infinity; + }, + targetInRange:function(card){ + if(card.name=='sha') return true; + }, + }, + trigger:{player:'useCard2'}, + direct:true, + filter:function(event,player){ + var card=event.card; + var info=get.info(card); + if(info.type!='trick'||info.allowMultiple==false) return false; + if(event.targets&&!info.multitarget){ + if(game.hasPlayer(function(current){ + return !event.targets.contains(current)&&lib.filter.targetEnabled2(card,player,current); + })){ + return true; + } + } + return false; + }, + content:function(){ + 'step 0' + var prompt2='为'+get.translation(trigger.card)+'增加一个目标'; + player.chooseTarget(get.prompt('chihaya_liewu'),function(card,player,target){ + var player=_status.event.player; + return !_status.event.targets.contains(target)&&lib.filter.targetEnabled2(_status.event.card,player,target); + }).set('prompt2',prompt2).set('ai',function(target){ + var trigger=_status.event.getTrigger(); + var player=_status.event.player; + return get.effect(target,trigger.card,player,player); + }).set('card',trigger.card).set('targets',trigger.targets); + 'step 1' + if(result.bool){ + if(!event.isMine()) game.delayx(); + event.targets=result.targets; + } + else{ + event.finish(); + } + 'step 2' + if(event.targets){ + player.logSkill('chihaya_liewu',event.targets); + trigger.targets.addArray(event.targets); + } + }, + group:'chihaya_liewu2', + }, + chihaya_liewu2:{ + trigger:{player:'disableEquipAfter'}, + forced:true, + filter:function(event,player){ + return player.countDisabled()>=5&&!player._chihaya_liewu; + }, + skillAnimation:true, + animationColor:'orange', + content:function(){ + player._chihaya_liewu=true; + player.loseMaxHp(4); + player.addSkill('chihaya_huairou'); + }, + }, + chihaya_huairou:{ + audio:2, + enable:"phaseUse", + position:'he', + filter:function(event,player){ + return player.countCards('he',{type:'equip'})>0; + }, + filterCard:function(card){ + return get.type(card)=='equip'; + }, + check:function(card){ + if(_status.event.player.isDisabled(get.subtype(card))) return 5; + return 3-get.value(card); + }, + content:function(){ + player.draw(); + }, + discard:false, + visible:true, + loseTo:'discardPile', + prompt:"将一张装备牌置入弃牌堆并摸一张牌", + delay:0.5, + prepare:function(cards,player){ + player.$throw(cards,1000); + game.log(player,'将',cards,'置入了弃牌堆'); + }, + ai:{ + order:10, + result:{ + player:1, + }, + }, + }, + chihaya_youfeng:{ + enable:'chooseToUse', + zhuanhuanji:true, + init:function(player){ + player.storage.chihaya_youfeng=false; + }, + hiddenCard:function(player,name){ + if(player.storage.chihaya_youfeng&&player.countDisabled()>=5) return false; + if(player.hasSkill('chihaya_youfeng_'+(player.storage.chihaya_youfeng||false))) return false; + var type=get.type(name); + if(player.storage.chihaya_youfeng) return type=='basic'; + return type=='trick'; + }, + filter:function(event,player){ + if(player.storage.chihaya_youfeng&&player.countDisabled()>=5) return false; + if(player.hasSkill('chihaya_youfeng_'+(player.storage.chihaya_youfeng||false))) return false; + var type=player.storage.chihaya_youfeng?'basic':'trick'; + for(var name of lib.inpile){ + if(get.type(name)!=type) continue; + if(event.filterCard({name:name,isCard:true},player,event)) return true; + } + return false; + }, + chooseButton:{ + dialog:function(event,player){ + var dialog=ui.create.dialog('游凤','hidden'); + if(player.storage.chihaya_youfeng){ + var table=document.createElement('div'); + table.classList.add('add-setting'); + table.style.margin='0'; + table.style.width='100%'; + table.style.position='relative'; + for(var i=1;i<6;i++){ + if(player.isDisabled(i)) continue; + var td=ui.create.div('.shadowed.reduce_radius.pointerdiv.tdnode'); + td.innerHTML=''+get.translation('equip'+i)+''; + td.link=i; + td.addEventListener(lib.config.touchscreen?'touchend':'click',ui.click.button); + for(var j in lib.element.button){ + td[j]=lib.element.button[i]; + } + table.appendChild(td); + dialog.buttons.add(td); + } + dialog.content.appendChild(table); + } + var type=player.storage.chihaya_youfeng?'basic':'trick'; + var list=[]; + for(var name of lib.inpile){ + if(get.type(name)!=type) continue; + if(event.filterCard({name:name,isCard:true},player,event)){ + list.push([type,'',name]); + if(name=='sha'){ + list.push([type,'',name,'fire']); + list.push([type,'',name,'thunder']); + list.push([type,'',name,'ice']); + } + } + } + dialog.add([list,'vcard']); + return dialog; + }, + filter:function(button){ + if(ui.selected.buttons.length&&typeof button.link==typeof ui.selected.buttons[0].link) return false; + return true; + }, + select:function(){ + if(_status.event.player.storage.chihaya_youfeng) return 2; + return 1; + }, + check:function(button){ + var player=_status.event.player; + if(typeof button.link=='number'){ + var card=player.getEquip(button.link); + if(card){ + var val=get.value(card); + if(val>0) return 0; + return 5-val; + } + switch(button.link){ + case 3:return 4.5;break; + case 4:return 4.4;break; + case 5:return 4.3;break; + case 2:return (3-player.hp)*1.5;break; + case 1:{ + if(game.hasPlayer(function(current){ + return (get.realAttitude||get.attitude)(player,current)<0&&get.distance(player,current)>1; + })) return 0; + return 3.2; + } + } + } + var name=button.link[2]; + var evt=_status.event.getParent(); + if(get.type(name)=='basic'){ + if(name=='shan') return 2; + if(evt.type=='dying'){ + if(get.attitude(player,evt.dying)<2) return false; + if(name=='jiu') return 2.1; + return 1.9; + } + if(evt.type=='phase') return player.getUseValue({name:name,nature:button.link[3],isCard:true}); + return 1; + } + if(!['chuqibuyi','shuiyanqijunx','juedou','nanman','wanjian','shunshou','zhujinqiyuan'].contains(name)) return 0; + var card={name:name,isCard:true}; + if(['shunshou','zhujinqiyuan'].contains(card.name)){ + if(!game.hasPlayer(function(current){ + return get.attitude(player,current)!=0&&get.distance(player,current)<=1&&player.canUse(card,current)&&get.effect(current,card,player,player)>0; + })) return 0; + return player.getUseValue(card)-7; + } + return player.getUseValue(card)-4; + }, + backup:function(links,player){ + if(links.length==1) return { + filterCard:function(){return false}, + selectCard:-1, + viewAs:{ + name:links[0][2], + nature:links[0][3], + isCard:true, + }, + popname:true, + precontent:function(){ + player.logSkill('chihaya_youfeng'); + player.gainMaxHp(); + delete event.result.skill; + player.addTempSkill('chihaya_youfeng_'+(player.storage.chihaya_youfeng||false),'roundStart'); + player.storage.chihaya_youfeng=!player.storage.chihaya_youfeng; + }, + } + if(typeof links[1]=='number') links.reverse(); + var equip=links[0]; + var name=links[1][2]; + var nature=links[1][3]; + return { + filterCard:function(){return false}, + selectCard:-1, + equip:equip, + viewAs:{ + name:name, + nature:nature, + isCard:true, + }, + popname:true, + precontent:function(){ + player.logSkill('chihaya_youfeng'); + player.disableEquip(lib.skill.chihaya_youfeng_backup.equip); + delete event.result.skill; + player.addTempSkill('chihaya_youfeng_'+(player.storage.chihaya_youfeng||false),'roundStart'); + player.storage.chihaya_youfeng=!player.storage.chihaya_youfeng; + }, + } + }, + prompt:function(links,player){ + if(links.length==1) return '增加一点体力上限,视为使用'+(get.translation(links[0][3])||'')+get.translation(links[0][2]); + if(typeof links[1]=='number') links.reverse(); + var equip='equip'+links[0]; + var name=links[1][2]; + var nature=links[1][3]; + return '废除自己的'+get.translation(equip)+'栏,视为使用'+(get.translation(nature)||'')+get.translation(name); + }, + }, + ai:{ + respondSha:true, + respondShan:true, + skillTagFilter:function(player,tag,arg){ + if(arg=='respond') return false; + if(!player.storage.chihaya_youfeng||player.hasSkill('chihaya_youfeng_true')) return false; + }, + order:1, + result:{ + player:1, + }, + }, + }, + chihaya_youfeng_true:{}, + chihaya_youfeng_false:{}, + rumi_shuwu:{ + mod:{ + cardUsable:function(card){ + if(card.name=='sha') return Infinity; + }, + targetInRange:function(card){ + if(card.name=='sha') return true; + }, + }, + trigger:{player:'useCard2'}, + direct:true, + filter:function(event,player){ + var card=event.card; + var info=get.info(card); + if(info.type!='trick'||info.allowMultiple==false) return false; + if(event.targets&&!info.multitarget){ + if(game.hasPlayer(function(current){ + return !event.targets.contains(current)&&lib.filter.targetEnabled2(card,player,current); + })){ + return true; + } + } + return false; + }, + content:function(){ + 'step 0' + var prompt2='为'+get.translation(trigger.card)+'增加一个目标'; + player.chooseTarget(get.prompt('rumi_shuwu'),function(card,player,target){ + var player=_status.event.player; + return !_status.event.targets.contains(target)&&lib.filter.targetEnabled2(_status.event.card,player,target); + }).set('prompt2',prompt2).set('ai',function(target){ + var trigger=_status.event.getTrigger(); + var player=_status.event.player; + return get.effect(target,trigger.card,player,player); + }).set('card',trigger.card).set('targets',trigger.targets); + 'step 1' + if(result.bool){ + if(!event.isMine()) game.delayx(); + event.targets=result.targets; + } + else{ + event.finish(); + } + 'step 2' + if(event.targets){ + player.logSkill('rumi_shuwu',event.targets); + trigger.targets.addArray(event.targets); + } + }, + group:'rumi_shuwu2', + }, + rumi_shuwu2:{ + trigger:{player:'phaseUseEnd'}, + forced:true, + filter:function(event,player){ + if(player.hp<=3) return true; + if(player.getHistory('useCard',function(evt){ + return evt.card.name=='sha'&&evt.addCount!==false&&evt.getParent('phaseUse')==event; + }).length<=1) return true; + if(player.getHistory('sourceDamage',function(evt){ + return get.type(evt.card,false)=='trick'&&evt.getParent('phaseUse')==event; + }).length==0) return true; + return false; + }, + content:function(){ + var num=0; + if(player.hp<=3) num++; + if(player.getHistory('useCard',function(evt){ + return evt.card.name=='sha'&&evt.addCount!==false&&evt.getParent('phaseUse')==trigger; + }).length<=1) num++; + if(player.getHistory('sourceDamage',function(evt){ + return get.type(evt.card,false)=='trick'&&evt.getParent('phaseUse')==trigger; + }).length==0) num++; + player.draw(num); + player.addTempSkill('rumi_shuwu3'); + player.addMark('rumi_shuwu3',num,false); + }, + }, + rumi_shuwu3:{ + mod:{ + maxHandcard:function(player,num){ + return num+player.countMark('rumi_shuwu3'); + }, + }, + onremove:true, + }, sakuya_junbu:{ mod:{ targetInRange:function(card,player){ @@ -11836,6 +12206,9 @@ game.import('character',function(lib,game,ui,get,ai,_status){ key_shizuku:'水织静久', key_hiroto:'铃木央人', key_sakuya:'凤咲夜', + key_youta:'成神阳太', + key_rumi:'七濑留美', + key_chihaya:'凤千早', lucia_duqu:'毒躯', lucia_duqu_info:'锁定技,①当你对其他角色造成伤害或受到其他角色的伤害时,你和对方各获得一张花色点数随机的【毒】。
②当你因【毒】失去体力时,你改为回复等量的体力。
③当你处于濒死状态时,你可以使用一张【毒】(每回合限一次)。', lucia_zhenren:'振刃', @@ -12145,6 +12518,16 @@ game.import('character',function(lib,game,ui,get,ai,_status){ hiroto_tuolao_info:'觉醒技,回合结束后,若此回合不是你的第一个回合且你本轮内未因〖虎驭〗失去过牌,则你摸三张牌,失去〖虎驭〗并获得〖纵略〗。', sakuya_junbu:'均步', sakuya_junbu_info:'锁定技,若你已废除的装备栏数量:≥1,你使用牌无距离限制。≥2,你使用牌无次数限制。≥3,你使用牌时可以多指定一个目标。≥4,你使用的牌不可被响应。≥5,你使用牌造成伤害时失去1点体力,令此伤害+1。', + rumi_shuwu:'淑武', + rumi_shuwu2:'淑武', + rumi_shuwu_info:'锁定技,你使用【杀】无距离和次数限制,你使用普通锦囊牌选择目标后,可增加一个目标。出牌阶段结束时,你令X=0,且每满足一项便令X+1:①你于本阶段内使用【杀】的次数不大于1。②你于本阶段内未使用锦囊牌造成过伤害。③你的体力值不大于3。你摸X张牌,且本回合手牌上限+X。', + chihaya_liewu:'烈武', + chihaya_liewu2:'烈武', + chihaya_liewu_info:'锁定技,你使用【杀】无距离和次数限制,你使用普通锦囊牌选择目标后,可增加一个目标。当你首次废除最后一个装备栏后,你减4点体力上限并获得技能〖怀柔〗。', + chihaya_youfeng:'游凤', + chihaya_youfeng_info:'转换技,阴,每轮限一次,你可以加1点体力上限,视为使用一张普通锦囊牌;阳,每轮限一次,你可以废除你的一个装备栏,视为使用一张基本牌。', + chihaya_huairou:'怀柔', + chihaya_huairou_info:'出牌阶段,你可以重铸装备牌。', key_kud:'库特莉亚芙卡', kud_qiaoshou:'巧手', diff --git a/character/rank.js b/character/rank.js index cbac17f0d..ba0d440ab 100644 --- a/character/rank.js +++ b/character/rank.js @@ -629,6 +629,8 @@ window.noname_character_rank={ 'key_miki', 'key_ryoichi', 'key_kotori', + 'key_chihaya', + 'key_rumi', 'nashime', 'ns_huangchengyan', 'ns_yuanxi', @@ -1005,6 +1007,7 @@ window.noname_character_rank={ 'junk_zhangrang', 'ol_guohuai', 'junk_simayi', + 'key_youta', ], rarity:{ legend:[ @@ -1289,6 +1292,8 @@ window.noname_character_rank={ 'key_misa', 'key_shizuku', 'key_hiroto', + 'key_rumi', + 'key_chihaya', 'kaisa', ], rare:[ @@ -1563,6 +1568,7 @@ window.noname_character_rank={ 'junk_zhangrang', 'junk_simayi', 'wolongfengchu', + 'key_youta', ], } }; diff --git a/character/sp.js b/character/sp.js index 83dc1b60c..1419550fc 100755 --- a/character/sp.js +++ b/character/sp.js @@ -3746,7 +3746,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ return event.player==player||player.storage.xianfu2&&player.storage.xianfu2.contains(player); }, content:function(){ - if(player==event.player) lib.skill.xianfu2.onremove(player); + if(player==trigger.player) lib.skill.xianfu2.onremove(player); else player.storage.xianfu2.remove(event.player); } }, @@ -15897,7 +15897,7 @@ game.import('character',function(lib,game,ui,get,ai,_status){ spmingjian:'明鉴', spmingjian_info:'一名角色的回合开始时,你可以选择一项:①弃置一张牌,然后其跳过本回合的判定阶段。②将一张手牌置于其武将牌上,然后其本回合内进行判定时不触发「判定结果生效前」的时机,且其回合结束时将此牌置入弃牌堆。', spyinzhi:'隐智', - spyinzhi_info:'当你受到1点伤害后,你可以展示牌堆顶的两张牌。若其中有黑桃牌,则你可以进行至多X次「令一名角色获得伤害来源的一张手牌」的步骤,然后获得其余的牌。(X为其中黑桃牌的数量)', + spyinzhi_info:'当你受到1点伤害后,你可以展示牌堆顶的两张牌。若其中有黑桃牌,则你可以进行至多X次「令一名角色获得伤害来源的一张手牌」的步骤。然后获得其余的牌。(X为其中黑桃牌的数量)', sunshao:'孙邵', bizheng:'弼政', bizheng_info:'摸牌阶段结束时,你可以令一名其他角色摸两张牌。然后,若你的手牌数大于体力上限,你弃置两张牌。若其的手牌数大于体力上限,其弃置两张牌。', diff --git a/character/tw.js b/character/tw.js index e2e237911..ddb5385c5 100644 --- a/character/tw.js +++ b/character/tw.js @@ -47,25 +47,20 @@ game.import('character',function(lib,game,ui,get,ai,_status){ content:function(){ 'step 0' event.cards=player.getCards('h'); - player.give(event.cards,target,true); + target.gain(event.cards,player,'giveAuto').gaintag.add('twrangyi'); + target.addTempSkill('twrangyi2'); 'step 1' target.chooseToUse({ prompt:'请使用得到的一张牌,或者受到来自'+get.translation(player)+'的一点伤害', - filterCard:function(card,player,event){ - if(get.itemtype(card)!='card'||!event.cards.contains(card)) return false; + filterCard:function(card,player){ + if(get.itemtype(card)!='card'||!card.hasGaintag('twrangyi')) return false; return lib.filter.filterCard(card,player,event); }, cards:cards, }); 'step 2' - if(result.bool){ - var hs=target.getCards('h'); - for(var i=0;i0; + }, + content:function(){ + var cards=player.getCards('h',function(card){ + return card.hasGaintag('twrangyi'); + }); + trigger.getParent(2).player.gain(cards,player,'giveAuto'); + }, + onremove:function(player){ + player.removeGaintag('twrangyi'); + }, + }, twbaimei:{ audio:2, trigger:{ @@ -568,7 +583,8 @@ game.import('character',function(lib,game,ui,get,ai,_status){ twliancai:'敛财', twliancai_info:'结束阶段,你可以将武将牌翻面,然后获得一名其他角色装备区内的一张牌。当你的武将牌翻面时,你可以将手牌补至与体力值相同。', twrangyi:'攘夷', - twrangyi_info:'出牌阶段限一次,你可以将所有手牌交给一名其他角色,然后令其选择一项:1.使用其中的一张牌,然后将其余的牌交还给你。2.受到来自你的1点伤害。', + twrangyi2:'攘夷', + twrangyi_info:'出牌阶段限一次,你可以将所有手牌交给一名其他角色,然后令其选择一项:1.使用其中的一张牌,并于此牌被使用时将其余的牌交还给你。2.受到来自你的1点伤害。', twbaimei:'白眉', twbaimei_info:'锁定技,若你没有手牌,则防止你受到的所有属性伤害和锦囊牌造成的伤害。', chijie:'持节', diff --git a/game/asset.js b/game/asset.js index bc56dd975..0d5a5f217 100644 --- a/game/asset.js +++ b/game/asset.js @@ -1,5 +1,5 @@ window.noname_asset_list=[ - 'v1.9.108.4.1', + 'v1.9.108.4.2', 'audio/background/aozhan_chaoming.mp3', 'audio/background/aozhan_online.mp3', 'audio/background/aozhan_rewrite.mp3', @@ -679,6 +679,7 @@ window.noname_asset_list=[ 'audio/die/re_fuhuanghou.mp3', 'audio/die/huaxin.mp3', 'audio/die/guozhao.mp3', + 'audio/die/wolongfengchu.mp3', 'audio/skill/decadezishou1.mp3', 'audio/skill/decadezishou2.mp3', @@ -2975,6 +2976,12 @@ window.noname_asset_list=[ 'audio/skill/pianchong2.mp3', 'audio/skill/zunwei1.mp3', 'audio/skill/zunwei2.mp3', + 'audio/skill/luanfeng1.mp3', + 'audio/skill/luanfeng2.mp3', + 'audio/skill/yingyang1.mp3', + 'audio/skill/yingyang2.mp3', + 'audio/skill/youlong1.mp3', + 'audio/skill/youlong2.mp3', 'audio/voice/male/0.mp3', 'audio/voice/male/1.mp3', @@ -3732,6 +3739,9 @@ window.noname_asset_list=[ 'image/character/re_fuhuanghou.jpg', 'image/character/wolongfengchu.jpg', 'image/character/guozhao.jpg', + 'image/character/key_chihaya.jpg', + 'image/character/key_rumi.jpg', + 'image/character/key_youta.jpg', 'image/character/baiwuchang.jpg', 'image/character/baosanniang.jpg', @@ -4653,6 +4663,26 @@ window.noname_asset_list=[ 'image/emotion/zhenji_emotion/18.gif', 'image/emotion/zhenji_emotion/19.gif', 'image/emotion/zhenji_emotion/20.gif', + 'image/emotion/xiaojiu_emotion/1.gif', + 'image/emotion/xiaojiu_emotion/2.gif', + 'image/emotion/xiaojiu_emotion/3.gif', + 'image/emotion/xiaojiu_emotion/4.gif', + 'image/emotion/xiaojiu_emotion/5.gif', + 'image/emotion/xiaojiu_emotion/6.gif', + 'image/emotion/xiaojiu_emotion/7.gif', + 'image/emotion/xiaojiu_emotion/8.gif', + 'image/emotion/xiaojiu_emotion/9.gif', + 'image/emotion/xiaojiu_emotion/10.gif', + 'image/emotion/xiaojiu_emotion/11.gif', + 'image/emotion/xiaojiu_emotion/12.gif', + 'image/emotion/xiaojiu_emotion/13.gif', + 'image/emotion/xiaojiu_emotion/14.gif', + 'image/emotion/xiaojiu_emotion/15.gif', + 'image/emotion/xiaojiu_emotion/16.gif', + 'image/emotion/xiaojiu_emotion/17.gif', + 'image/emotion/xiaojiu_emotion/18.gif', + 'image/emotion/xiaojiu_emotion/19.gif', + 'image/emotion/xiaojiu_emotion/20.gif', 'image/emotion/xiaosha_emotion/1.gif', 'image/emotion/xiaosha_emotion/2.gif', 'image/emotion/xiaosha_emotion/3.gif', diff --git a/game/game.js b/game/game.js index bccc306fb..63e36bae1 100644 --- a/game/game.js +++ b/game/game.js @@ -62,6 +62,7 @@ zhenji_emotion:20, xiaosha_emotion:20, xiaotao_emotion:20, + xiaojiu_emotion:20, }, animate:{ skill:{}, @@ -5763,7 +5764,20 @@ restart:true, frequent:true, }, - update:function(config,map){}, + connect_enable_jin:{ + name:'启用晋势力武将', + init:false, + restart:true, + frequent:true, + }, + update:function(config,map){ + if(config.connect_single_mode!='normal'){ + map.connect_enable_jin.hide(); + } + else{ + map.connect_enable_jin.show(); + } + }, }, config:{ single_mode:{ @@ -5777,7 +5791,19 @@ restart:true, frequent:true, }, + enable_jin:{ + name:'启用晋势力武将', + init:false, + restart:true, + frequent:true, + }, update:function(config,map){ + if(config.single_mode!='normal'){ + map.enable_jin.hide(); + } + else{ + map.enable_jin.show(); + } }, } }, @@ -9897,6 +9923,7 @@ shibing_emotion:'士兵表情', xiaosha_emotion:'小杀表情', xiaotao_emotion:'小桃表情', + xiaojiu_emotion:'小桃表情', pause:'暂停', config:'选项', @@ -45185,6 +45212,9 @@ list2.remove(); list3.remove(); uiintro.add(list1); + while(list2.childNodes.length){ + list2.firstChild.remove(); + } } else{ emotionTitle.innerHTML='快捷语音'; diff --git a/game/update.js b/game/update.js index 7fcb6155e..a0817ef4b 100644 --- a/game/update.js +++ b/game/update.js @@ -1,8 +1,10 @@ window.noname_update={ - version:'1.9.108.4.1', - update:'1.9.108.4', + version:'1.9.108.4.2', + update:'1.9.108.4.1', changeLog:[ - '郭照', + '成神阳太、凤千早、七濑留美', + '小酒表情包', + '孙笨(国战)语音', 'bug修复', ], files:[ @@ -30,11 +32,11 @@ window.noname_update={ //'character/old.js', //'character/ow.js', 'character/rank.js', - 'character/refresh.js', + //'character/refresh.js', //'character/shenhua.js', - //'character/sp.js', - 'character/sp2.js', - //'character/tw.js', + 'character/sp.js', + //'character/sp2.js', + 'character/tw.js', //'character/standard.js', //'character/swd.js', //'character/xianjian.js', @@ -47,15 +49,15 @@ window.noname_update={ //'layout/nova/layout.css', //'mode/identity.js', //'mode/doudizhu.js', - //'mode/guozhan.js', + 'mode/guozhan.js', //'mode/chess.js', //'mode/tafang.js', - //'mode/single.js', + 'mode/single.js', //'mode/stone.js', //'mode/brawl.js', //'mode/versus.js', //'mode/boss.js', - //'game/game.js', + 'game/game.js', //'game/keyWords.js', //'game/NoSleep.js', //'game/config.js', diff --git a/image/character/key_chihaya.jpg b/image/character/key_chihaya.jpg new file mode 100644 index 000000000..8bc61bb27 Binary files /dev/null and b/image/character/key_chihaya.jpg differ diff --git a/image/character/key_rumi.jpg b/image/character/key_rumi.jpg new file mode 100644 index 000000000..b81e65105 Binary files /dev/null and b/image/character/key_rumi.jpg differ diff --git a/image/character/key_youta.jpg b/image/character/key_youta.jpg new file mode 100644 index 000000000..8e2503263 Binary files /dev/null and b/image/character/key_youta.jpg differ diff --git a/image/emotion/xiaojiu_emotion/1.gif b/image/emotion/xiaojiu_emotion/1.gif new file mode 100644 index 000000000..04a0675be Binary files /dev/null and b/image/emotion/xiaojiu_emotion/1.gif differ diff --git a/image/emotion/xiaojiu_emotion/10.gif b/image/emotion/xiaojiu_emotion/10.gif new file mode 100644 index 000000000..f6072eb7a Binary files /dev/null and b/image/emotion/xiaojiu_emotion/10.gif differ diff --git a/image/emotion/xiaojiu_emotion/11.gif b/image/emotion/xiaojiu_emotion/11.gif new file mode 100644 index 000000000..8f4370a34 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/11.gif differ diff --git a/image/emotion/xiaojiu_emotion/12.gif b/image/emotion/xiaojiu_emotion/12.gif new file mode 100644 index 000000000..905d2360e Binary files /dev/null and b/image/emotion/xiaojiu_emotion/12.gif differ diff --git a/image/emotion/xiaojiu_emotion/13.gif b/image/emotion/xiaojiu_emotion/13.gif new file mode 100644 index 000000000..0faffbe86 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/13.gif differ diff --git a/image/emotion/xiaojiu_emotion/14.gif b/image/emotion/xiaojiu_emotion/14.gif new file mode 100644 index 000000000..eaae45758 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/14.gif differ diff --git a/image/emotion/xiaojiu_emotion/15.gif b/image/emotion/xiaojiu_emotion/15.gif new file mode 100644 index 000000000..b2b256d87 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/15.gif differ diff --git a/image/emotion/xiaojiu_emotion/16.gif b/image/emotion/xiaojiu_emotion/16.gif new file mode 100644 index 000000000..e40026ed3 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/16.gif differ diff --git a/image/emotion/xiaojiu_emotion/17.gif b/image/emotion/xiaojiu_emotion/17.gif new file mode 100644 index 000000000..9bd3622f5 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/17.gif differ diff --git a/image/emotion/xiaojiu_emotion/18.gif b/image/emotion/xiaojiu_emotion/18.gif new file mode 100644 index 000000000..3d6474615 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/18.gif differ diff --git a/image/emotion/xiaojiu_emotion/19.gif b/image/emotion/xiaojiu_emotion/19.gif new file mode 100644 index 000000000..06c8956de Binary files /dev/null and b/image/emotion/xiaojiu_emotion/19.gif differ diff --git a/image/emotion/xiaojiu_emotion/2.gif b/image/emotion/xiaojiu_emotion/2.gif new file mode 100644 index 000000000..41d4ade79 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/2.gif differ diff --git a/image/emotion/xiaojiu_emotion/20.gif b/image/emotion/xiaojiu_emotion/20.gif new file mode 100644 index 000000000..0a3a4e88a Binary files /dev/null and b/image/emotion/xiaojiu_emotion/20.gif differ diff --git a/image/emotion/xiaojiu_emotion/3.gif b/image/emotion/xiaojiu_emotion/3.gif new file mode 100644 index 000000000..9571e18c0 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/3.gif differ diff --git a/image/emotion/xiaojiu_emotion/4.gif b/image/emotion/xiaojiu_emotion/4.gif new file mode 100644 index 000000000..76de1e4e5 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/4.gif differ diff --git a/image/emotion/xiaojiu_emotion/5.gif b/image/emotion/xiaojiu_emotion/5.gif new file mode 100644 index 000000000..3a64616b2 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/5.gif differ diff --git a/image/emotion/xiaojiu_emotion/6.gif b/image/emotion/xiaojiu_emotion/6.gif new file mode 100644 index 000000000..bb78be30b Binary files /dev/null and b/image/emotion/xiaojiu_emotion/6.gif differ diff --git a/image/emotion/xiaojiu_emotion/7.gif b/image/emotion/xiaojiu_emotion/7.gif new file mode 100644 index 000000000..f9239c5fd Binary files /dev/null and b/image/emotion/xiaojiu_emotion/7.gif differ diff --git a/image/emotion/xiaojiu_emotion/8.gif b/image/emotion/xiaojiu_emotion/8.gif new file mode 100644 index 000000000..c0f5a3655 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/8.gif differ diff --git a/image/emotion/xiaojiu_emotion/9.gif b/image/emotion/xiaojiu_emotion/9.gif new file mode 100644 index 000000000..c58364478 Binary files /dev/null and b/image/emotion/xiaojiu_emotion/9.gif differ diff --git a/mode/guozhan.js b/mode/guozhan.js index 48599f9d7..710dd62a3 100644 --- a/mode/guozhan.js +++ b/mode/guozhan.js @@ -2863,7 +2863,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ "baka_hunshang":{ skillAnimation:true, animationColor:'wood', - audio:"hunshang", + audio:"hunzi", derivation:["baka_yingzi","baka_yinghun"], viceSkill:true, init:function (player){ @@ -2903,9 +2903,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ filter:function (event,player){ return player.isDamaged(); }, - //priority:2, - audio:"yinghun", - audioname:["sunce"], + audio:'yinghun_sunce', trigger:{ player:"phaseZhunbeiBegin", }, @@ -2982,8 +2980,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ return player.maxHp; }, }, - audio:"reyingzi", - audioname:["sunce"], + audio:'reyingzi_sunce', trigger:{ player:"phaseDrawBegin2", }, @@ -5893,19 +5890,24 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ }, group:['hunshang_yingzi','hunshang_yinghun'], }, + reyingzi_sunce:{audio:2}, + yinghun_sunce:{audio:2}, hunshang_yingzi:{ inherit:'yingzi', + audio:'reyingzi_sunce', filter:function(event,player){ return player.hp<=1&&!player.hasSkill('yingzi'); } }, hunshang_yinghun:{ inherit:'gzyinghun', + audio:'yinghun_sunce', filter:function(event,player){ return player.hp<=1&&player.isDamaged()&&!player.hasSkill('gzyinghun'); } }, yingyang:{ + audio:2, trigger:{player:'compare',target:'compare'}, filter:function(event){ return !event.iwhile; diff --git a/mode/single.js b/mode/single.js index 83cfdb0b3..768f8d530 100644 --- a/mode/single.js +++ b/mode/single.js @@ -117,6 +117,15 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ hejin:['male','qun',4,['mouzhu','yanhuo']], hansui:['male','qun',4,['xiaoxi','niluan']], niujin:['male','wei',4,['cuorui','liewei']], + + jin_zhangchunhua:['female','jin',3,['huishi','qingleng']], + jin_simayi:['male','jin',3,['smyyingshi','xiongzhi','quanbian']], + jin_wangyuanji:['female','jin',3,['yanxi']], + jin_simazhao:['male','jin',3,['choufa','zhaoran']], + jin_xiahouhui:['female','jin',3,['jyishi','shiduo']], + jin_simashi:['male','jin','3/4',['yimie','tairan']], + zhanghuyuechen:['male','jin',4,['xijue']], + duyu:['male','jin',4,['sanchen','zhaotao']], }, startBefore:function(){ @@ -167,18 +176,19 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ if(_status.mode=='normal'){ lib.card.list=lib.singlePile.slice(0); game.fixedPile=true; - game.broadcastAll(function(singleTranslate,characterSingle){ + game.broadcastAll(function(singleTranslate,characterSingle,jin){ _status.mode='normal'; for(var j in singleTranslate) lib.translate[j]=singleTranslate[j]; _status.characterlist=[]; for(var i in characterSingle){ + if(!jin&&characterSingle[i][1]=='jin') continue; lib.character[i]=characterSingle[i]; if(!lib.character[i][4]){ lib.character[i][4]=[]; } _status.characterlist.push(i); } - },lib.singleTranslate,lib.characterSingle); + },lib.singleTranslate,lib.characterSingle,_status.connectMode?lib.configOL.enable_jin:get.config('enable_jin')); } else if(_status.mode=='changban'){ _status.characterlist=[]; @@ -286,6 +296,7 @@ game.import('mode',function(lib,game,ui,get,ai,_status){ } }, getRoomInfo:function(uiintro){ + if(lib.configOL.single_mode=='normal') uiintro.add('
晋势力武将:'+(lib.configOL.enable_jin?'开启':'关闭')); if(lib.configOL.bannedcards.length){ uiintro.add('
禁用卡牌:'+get.translation(lib.configOL.bannedcards)); }