diff --git a/card/qimou.js b/card/qimou.js index d4e5953f7..638484595 100644 --- a/card/qimou.js +++ b/card/qimou.js @@ -1,3 +1,4 @@ +'use strict'; card.qimou={ card:{ chenhuodajie:{ @@ -28,6 +29,7 @@ card.qimou={ multitarget:true, multiline:true, filterTarget:function(card,player,target){ + if(player==target) return true; var num=target.num('h'); for(var i=0;iplayer.hp; + }, + content:function(){ + player.draw(2); + }, + init:function(player){player.storage.jingce=true}, + intro:{ + content:function(storage,player){ + if(_status.currentPhase==player) return '已使用'+get.cardCount(true,player)+'张牌'; + } + } + }, + mengun:{ + trigger:{global:'useCardToBefore'}, + priority:12, + filter:function(event,player){ + if(event.player==player) return false; + if(_status.currentPhase!=event.player) return false; + if(event.player.skills.contains('mengun2')) return false; + if(get.itemtype(event.card)!='card') return false; + if(!player.num('h',{suit:get.suit(event.card)})) return false; + return get.type(event.card)=='basic'; + }, + direct:true, + content:function(){ + "step 0" + var val=ai.get.value(trigger.card); + var suit=get.suit(trigger.card); + var eff=ai.get.effect(trigger.target,trigger.card,trigger.player,player); + player.chooseToDiscard('是否对'+get.translation(trigger.player)+'使用的'+get.translation(trigger.card)+'发动【闷棍】?',function(card){ + return get.suit(card)==suit; + }).ai=function(card){ + if(eff>=0) return 0; + return Math.min(8,1+val)-ai.get.value(card); + } + "step 1" + if(result.bool){ + player.logSkill('mengun',trigger.player); + game.log(get.translation(trigger.player)+'收回了'+get.translation(trigger.cards)); + trigger.untrigger(); + trigger.finish(); + game.delay(); + } + "step 2" + trigger.player.$gain2(trigger.cards); + trigger.player.gain(trigger.cards); + trigger.player.storage.mengun2=trigger.cards[0]; + trigger.player.addTempSkill('mengun2','phaseEnd'); + } + }, + mengun2:{ + mark:'card', + mod:{ + cardEnabled:function(card,player){ + if(card==player.storage.mengun2) return false; + }, + }, + intro:{ + content:'card', + onunmark:function(storage,player){ + delete player.storage.mengun2; + } + }, + }, + jianren:{ + enable:'phaseUse', + usable:1, + filter:function(event,player){ + return player.get('e','1')?true:false; + }, + filterCard:function(card,player){ + return card==player.get('e','1'); + }, + position:'e', + filterTarget:function(card,player,target){ + return target!=player; + }, + selectCard:-1, + selectTarget:-1, + content:function(){ + target.damage(); + }, + ai:{ + order:9, + result:{ + target:function(player,target){ + return ai.get.damageEffect(target,player,target); + } + } + } + }, jihuo:{ trigger:{player:'phaseEnd'}, filter:function(event,player){ @@ -371,5 +466,12 @@ character.hearth={ hongxi_info:'锁定技,每当有一名角色死亡,你将体力回复至体力上限', jihuo:'激活', jihuo_info:'回合结束阶段,你可以弃置一张手牌并进行一个额外的回合', + jianren:'剑刃', + jianren_info:'出牌阶段限一次,你可以弃置装备区内的武器牌,对所有其他角色造成一点伤害', + mengun:'闷棍', + mengun2:'闷棍', + mengun_info:'每当一名其他角色于回合内使用基本牌,你可以弃置一张与之花色相同的牌令其收回此牌,且在本回合内不能再次使用,每回合限一次', + wlianji:'连击', + wlianji_info:'回合结束阶段,若你本回合使用的卡牌数大于你当前的体力值,你可以摸两张牌', }, } diff --git a/character/swd.js b/character/swd.js index a635989d5..dd071c463 100644 --- a/character/swd.js +++ b/character/swd.js @@ -20,7 +20,7 @@ character.swd={ swd_yuxiaoxue:['female','wei',3,['huanhun','daixing','yinyue'],['fullskin']], swd_jiliang:['male','wu',3,['yunchou','gongxin','qimou'],['fullskin']], - swd_shuijing:['female','qun',4,['mojian','duoren','duanyue'],['fullskin']], + swd_shuijing:['female','qun',4,['mojian','duanyue'],['fullskin']], swd_cheyun:['female','wu',3,['shengong','xianjiang3','qiaoxie'],['fullskin']], swd_huanyuanzhi:['male','qun',3,['lanzhi','mufeng','tianshu'],['fullskin']], swd_murongshi:['female','shu',4,['duanyi','guxing'],['fullskin']], @@ -1898,7 +1898,7 @@ character.swd={ event.finish(); } "step 2" - if(event.num>2){ + if(event.num>=2){ player.loseHp(); } }, @@ -7788,7 +7788,7 @@ character.swd={ mojian:'墨剑', mojian_info:'每当你使用杀并指定目标后,你可以令其摸一张牌,然后你回复一点体力', duanyue:'断月', - duanyue_info:'出牌阶段限一次,你可以弃置一张装备牌,对一名其他角色造成一点伤害,并弃其所有手牌。若弃置的手牌数不少于3,你流失一点体力', + duanyue_info:'出牌阶段限一次,你可以弃置一张装备牌,对一名其他角色造成一点伤害,并弃其所有手牌。若弃置的手牌数有两张或更多,你流失一点体力', fengmo:'封魔', fengmo_info:'出牌阶段限一次,你可以弃置场所有武器牌(至少两张),然后令一名未翻面的角色摸等量的牌并翻面', pozhou:'破咒', diff --git a/character/yxs.js b/character/yxs.js index f0f81408a..067752e83 100644 --- a/character/yxs.js +++ b/character/yxs.js @@ -393,7 +393,6 @@ character.yxs={ } }, xiangma:{ -// group:['mashu','feiying'] inherit:'yicong' }, weiyi:{ diff --git a/game/config.js b/game/config.js index 23e4b8292..7812dac50 100644 --- a/game/config.js +++ b/game/config.js @@ -12,11 +12,6 @@ window.config={ layoutfixed:['chess','boss'], all:{ mode:['identity','guozhan','versus','boss','chess','stone'], - characters:['standard','wind','fire','woods','mountain', - 'extra','sp','yijiang','refresh','guozhan', - 'jiange','zhuogui','diy','hearth','yxs','swd','xswd','gujian','xianjian'], - cards:['standard','ex','extra','refresh','guozhan','zhenfa','qimou','yibao','shenbing','wanxiang','swd','shenqi','compensate'], - plays:['character','soldier','wuxing'], layout:['default','newlayout'], theme:['woodden','music'], card_font:['xiaozhuan','huangcao','caoshu','xingshu'], @@ -42,43 +37,12 @@ window.config={ infinity:'无限', qunyingzhuan:'群英', swd:'剧情', - standard_card_config:'标准', - ex_card_config:'ex', - extra_card_config:'军争', - guozhan_card_config:'国战', - zhenfa_card_config:'阵法', - qimou_card_config:'奇谋', - yibao_card_config:'异宝', - shenbing_card_config:'神兵', - wanxiang_card_config:'万象', - swd_card_config:'轩辕剑', - shenqi_card_config:'上古神器', - compensate_card_config:'补充卡牌', - refresh_card_config:'界限突破', - standard_character_config:'标准包', - wind_character_config:'风包', - fire_character_config:'火包', - woods_character_config:'林包', - mountain_character_config:'山包', - guozhan_character_config:'国战', - sp_character_config:'SP', - yijiang_character_config:'一将成名', - jiange_character_config:'守卫剑阁', - zhuogui_character_config:'捉鬼驱邪', - refresh_character_config:'界限突破', - diy_character_config:'DIY', - extra_character_config:'神将', - swd_character_config:'轩辕剑', - xswd_character_config:'轩辕剑·二', - hearth_character_config:'炉石传说', - yxs_character_config:'英雄杀', - gujian_character_config:'古剑奇谭', - xianjian_character_config:'仙剑', - others_character_config:'其他', + character_play_config:'角色卡牌', soldier_play_config:'士兵模式', strategy_play_config:'尔虞我诈', wuxing_play_config:'五行生克', + sanguozhi:'三国志', online:'OL', background_music_config:'背景音乐', @@ -236,6 +200,7 @@ window.config={ long_info:true, background_music:'music_default', background_audio:true, + background_speak:true, theme:'woodden', @@ -359,4 +324,8 @@ window.config={ ['jiushi','jushou'], ['jiushi','kuiwei'], ] -} +}; +window.mode={}; +window.card={}; +window.character={}; +window.play={}; diff --git a/game/game.js b/game/game.js index 20fb1802e..7c9b4a78d 100644 --- a/game/game.js +++ b/game/game.js @@ -1,8 +1,4 @@ "use strict"; -window.mode={}; -window.card={}; -window.character={}; -window.play={}; (function(){ var _status={ paused:false, @@ -158,7 +154,6 @@ window.play={}; lib.config.defaultcards=lib.config.cards.slice(0); } for(var i in config2){ - if(i.indexOf('_mode_config')!=-1&&i.substr(i.indexOf('_mode_config')+13)==lib.config.mode){ lib.config.mode_config[lib.config.mode][i.substr(0,i.indexOf('_mode_config'))]=config2[i]; } @@ -171,6 +166,26 @@ window.play={}; for(var i in lib.config.translate){ lib.translate[i]=lib.config.translate[i]; } + + lib.config.all.characters=[]; + lib.config.all.cards=[]; + lib.config.all.plays=[]; + for(i in character.pack){ + lib.config.all.characters.push(i); + lib.translate[i+'_character_config']=character.pack[i]; + } + for(i in card.pack){ + lib.config.all.cards.push(i); + lib.translate[i+'_card_config']=card.pack[i]; + } + for(i in play.pack){ + lib.config.all.plays.push(i); + lib.translate[i+'_play_config']=play.pack[i]; + } + delete character.pack; + delete card.pack; + delete play.pack; + lib.init.js('mode',lib.config.mode); lib.init.js('card',lib.config.all.cards); lib.init.js('character',lib.config.all.characters); @@ -11657,14 +11672,16 @@ window.play={}; } } } - if(lib[j][k]==undefined){ - lib[j][k]=lib.init.eval(character[i][j][k]); - // if(j=='skill'||j=='character'){ - // lib[j][k].packname=i; - // } + if(j=='translate'&&k==i){ + lib[j][k+'_character_config']=character[i][j][k]; } else{ - alert('dublicate '+j+' in character '+i+':\n'+k+'\n'+': '+lib[j][k]+'\n'+character[i][j][k]); + if(lib[j][k]==undefined){ + lib[j][k]=lib.init.eval(character[i][j][k]); + } + else{ + alert('dublicate '+j+' in character '+i+':\n'+k+'\n'+': '+lib[j][k]+'\n'+character[i][j][k]); + } } } } @@ -11686,8 +11703,13 @@ window.play={}; } else{ for(k in card[i][j]){ - if(lib[j][k]==undefined) lib[j][k]=lib.init.eval(card[i][j][k]); - else alert('dublicate '+j+' in card '+i+':\n'+k+'\n'+lib[j][k]+'\n'+card[i][j][k]) + if(j=='translate'&&k==i){ + lib[j][k+'_card_config']=card[i][j][k]; + } + else{ + if(lib[j][k]==undefined) lib[j][k]=lib.init.eval(card[i][j][k]); + else alert('dublicate '+j+' in card '+i+':\n'+k+'\n'+lib[j][k]+'\n'+card[i][j][k]); + } } } } @@ -11730,10 +11752,15 @@ window.play={}; for(j in play[i]){ if(j=='mode'||j=='forbid'||j=='init'||j=='element'||j=='game'||j=='get'||j=='config'||j=='ui') continue; for(k in play[i][j]){ - if(lib[j][k]!=undefined){ - console.log('dublicate '+j+' in play '+i+':\n'+k+'\n'+': '+lib[j][k]+'\n'+play[i][j][k]); + if(j=='translate'&&k==i){ + lib[j][k+'_play_config']=play[i][j][k]; + } + else{ + if(lib[j][k]!=undefined){ + console.log('dublicate '+j+' in play '+i+':\n'+k+'\n'+': '+lib[j][k]+'\n'+play[i][j][k]); + } + lib[j][k]=lib.init.eval(play[i][j][k]); } - lib[j][k]=lib.init.eval(play[i][j][k]); } } if(typeof play[i].init=='function') (lib.init.eval(play[i].init))(); diff --git a/game/package.js b/game/package.js new file mode 100644 index 000000000..870e3f06b --- /dev/null +++ b/game/package.js @@ -0,0 +1,40 @@ +character.pack={ + standard:'标准', + wind:'风包', + fire:'火包', + woods:'林包', + mountain:'山包', + extra:'神将', + sp:'SP', + guozhan:'国战', + yijiang:'一将成名', + refresh:'界限突破', + jiange:'守卫剑阁', + zhuogui:'捉鬼驱邪', + diy:'DIY', + yxs:'英雄杀', + hearth:'炉石传说', + swd:'轩辕剑', + xswd:'轩辕剑·二', + gujian:'古剑奇谭', + xianjian:'仙剑', +}; +card.pack={ + standard:'标准', + ex:'EX', + extra:'军争', + refresh:'界限突破', + guozhan:'国战', + zhenfa:'阵法', + qimou:'奇谋', + yibao:'异宝', + shenbing:'神兵', + swd:'轩辕剑', + shenqi:'上古神器', + compensate:'补充卡牌', +}; +play.pack={ + character:'武将卡牌', + soldier:'士兵模式', + wuxing:'五行生克' +}; diff --git a/index.html b/index.html index 574ab9583..fcb0698fa 100644 --- a/index.html +++ b/index.html @@ -5,6 +5,7 @@ 无名杀 +