"use strict"; (function(){ var _status={ paused:false, paused2:false, over:false, clicked:false, auto:false, event:{ finished:true, next:[], }, ai:{}, lastdragchange:[], skillaudio:[], dieClose:[] }; var lib={ version:1.70, changeLog:[ '折叠手牌显示花色', 'AI改进', '武将图修改', 'boss配音', '隐藏模式、武将、卡牌包', '开始界面', '中间显示历史记录', '左滑/右滑手势', '自定义背景音乐', '自定义武将', ], configprefix:'noname_0.9_', updates:[], canvasUpdates:[], video:[], arenaReady:[], _onDB:[], customCharacters:[], customCards:[], skilllist:[], characterPack:{}, cardPack:{}, onDB:function(func){ if(lib.db){ func(); } else{ lib._onDB.push(func); } }, setTranslate:function(name){ if(name.indexOf(':')==-1){ lib.translate[name]=name; } else{ lib.translate[name]=name.slice(name.indexOf(':')+1); } }, checkCharacterName:function(name){ if(lib.character[name]){ if(!lib.customCharacters.contains(name)) return true; for(var i in lib.config.customCharacterPack){ if(lib.config.customCharacterPack[i].character.contains(name)) return true; } } return false; }, checkSkillName:function(name){ if(lib.skill[name]){ if(!lib.skill[name].createInfo) return true; for(var i in lib.config.customCharacterPack){ if(lib.config.customCharacterPack[i].skill.contains(name)) return true; } } return false; }, listenEnd:function(node){ if(!node._listeningEnd){ node._listeningEnd=true; node.addEventListener('webkitTransitionEnd',function(){ delete node._listeningEnd; if(node._onEndMoveDelete){ node.moveDelete(node._onEndMoveDelete); } else if(node._onEndDelete){ node.delete(); } node._transitionEnded=true; }); } }, configMenu:{ general:{ name:'通用', config:{ cheat:{ name:'控制台命令', init:false, onclick:function(bool){ if(lib.config.cheat&&bool==false){ lib.cheat=window.cheat; delete window.cheat; delete window.game; delete window.ui; delete window.get; delete window.ai; delete window.lib; delete window._status; } else if(!lib.config.cheat&&bool){ window.cheat=lib.cheat; window.cheat.i(); } game.saveConfig('cheat',bool); }, unfrequent:true, }, low_performance:{ name:'流畅模式', init:false, onclick:function(bool){ game.saveConfig('low_performance',bool); if(bool){ ui.arena.classList.add('low_performance'); } else{ ui.arena.classList.remove('low_performance'); } } }, confirm_exit:{ name:'确认退出', init:false, unfrequent:true }, auto_confirm:{ name:'自动确认', init:true, unfrequent:true, }, enable_drag:{ name:'启用拖拽', init:true, unfrequent:true, }, enable_dragline:{ name:'拖拽指示线', init:true, unfrequent:true, }, enable_touchdragline:{ name:'拖拽指示线', init:false, unfrequent:true, }, wuxie_self:{ name:'不无懈自己', init:true, }, tao_enemy:{ name:'不对敌将使用桃', init:false, }, touchscreen:{ name:'触屏模式', init:false, restart:true, unfrequent:true, }, change_skin:{ name:'双击换肤', init:true }, swipe:{ name:'滑动手势', init:true, unfrequent:true, }, swipe_down:{ name:'下划操作', init:'system', unfrequent:true, item:{ system:'显示按钮', menu:'打开菜单', pause:'切换暂停', auto:'切换托管', off:'关闭', } }, swipe_up:{ name:'上划操作', init:'auto', unfrequent:true, item:{ system:'显示按钮', menu:'打开菜单', pause:'切换暂停', auto:'切换托管', off:'关闭', } }, swipe_left:{ name:'左划操作', init:'off', unfrequent:true, item:{ system:'显示按钮', menu:'打开菜单', pause:'切换暂停', auto:'切换托管', off:'关闭', } }, swipe_right:{ name:'右划操作', init:'off', unfrequent:true, item:{ system:'显示按钮', menu:'打开菜单', pause:'切换暂停', auto:'切换托管', off:'关闭', } }, show_splash:{ name:'显示开始界面', init:true, }, game_speed:{ name:'游戏速度', init:'mid', item:{ vslow:'慢', slow:'较慢', mid:'中', fast:'较快', vfast:'快', vvfast:'很快', }, }, right_click:{ name:'右键功能', init:'pause', unfrequent:true, item:{ pause:'暂停', config:'选项', auto:'托管', } }, right_info:{ name:'右键显示信息', init:true, unfrequent:true, restart:true }, hover_all:{ name:'悬停显示信息', init:true, unfrequent:true, restart:true, }, hover_handcard:{ name:'悬停手牌显示信息', init:true, unfrequent:true, }, hoveration:{ name:'悬停菜单弹出时间', unfrequent:true, init:'1000', item:{ '500':'0.5秒', '700':'0.7秒', '1000':'1秒', '1500':'1.5秒', '2500':'2.5秒', } }, mousewheel:{ name:'滚轮控制手牌', init:true, unfrequent:true, onclick:function(bool){ game.saveConfig('mousewheel',bool); if(lib.config.touchscreen) return; if(lib.config.mousewheel){ ui.handcards1Container.onmousewheel=ui.click.mousewheel; ui.handcards2Container.onmousewheel=ui.click.mousewheel; } else{ ui.handcards1Container.onmousewheel=null; ui.handcards2Container.onmousewheel=null; } } }, video:{ name:'保存录像', init:'20', item:{ '0':'关闭', '5':'五局', '10':'十局', '20':'二十局', '50':'五十局', '10000':'无限', }, unfrequent:true, }, update:function(config,map){ if(config.touchscreen){ map.mousewheel.hide(); map.hover_all.hide(); map.hover_handcard.hide(); map.hoveration.hide(); map.right_info.hide(); map.right_click.hide(); map.swipe.show(); if(config.swipe){ map.swipe_up.show(); map.swipe_down.show(); map.swipe_left.show(); map.swipe_right.show(); } else{ map.swipe_up.hide(); map.swipe_down.hide(); map.swipe_left.hide(); map.swipe_right.hide(); } } else{ map.mousewheel.show(); map.hover_all.show(); map.right_info.show(); map.right_click.show(); if(!config.hover_all){ map.hover_handcard.hide(); map.hoveration.hide(); } else{ map.hover_handcard.show(); map.hoveration.show(); } map.swipe.hide(); map.swipe_up.hide(); map.swipe_down.hide(); map.swipe_left.hide(); map.swipe_right.hide(); } if(lib.config.enable_drag){ if(lib.config.touchscreen){ map.enable_dragline.hide(); map.enable_touchdragline.show(); } else{ map.enable_dragline.show(); map.enable_touchdragline.hide(); } } else{ map.enable_dragline.hide(); map.enable_touchdragline.hide(); } } } }, appearence:{ name:'外观', config:{ theme:{ name:'主题', init:'woodden', item:{ woodden:'木纹', music:'音乐', simple:'简约', }, onclick:function(theme){ game.saveConfig('theme',theme); ui.arena.hide(); setTimeout(function(){ var theme=ui.css.theme; ui.css.theme=lib.init.css('theme/'+lib.config.theme,'style'); theme.remove(); setTimeout(function(){ui.arena.show();},100); },500); } }, layout:{ name:'布局', init:'mobile', item:{ default:'旧版', newlayout:'对称', mobile:'默认', phone:'移动' }, onclick:function(layout){ if(lib.config.layoutfixed.contains(lib.config.mode)&&layout=='default'){ game.saveConfig('layout',layout); } else{ lib.init.layout(layout); } } }, ui_zoom:{ name:'界面缩放', unfrequent:true, init:'normal', item:{ esmall:'80%', vsmall:'90%', small:'95%', normal:'100%', big:'105%', vbig:'110%', ebig:'120%', }, onclick:function(zoom){ game.saveConfig('ui_zoom',zoom); switch(zoom){ case 'esmall':ui.window.style.zoom=0.8;break; case 'vsmall':ui.window.style.zoom=0.9;break; case 'small':ui.window.style.zoom=0.95;break; case 'big':ui.window.style.zoom=1.05;break; case 'vbig':ui.window.style.zoom=1.1;break; case 'ebig':ui.window.style.zoom=1.2;break; default:ui.window.style.zoom=1; } } }, image_background:{ name:'游戏背景', init:'default', item:{ default:'默认', custom:'自定', }, onclick:function(background){ var animate=lib.config.image_background=='default'; game.saveConfig('image_background',background); ui.background.delete(); ui.background=ui.create.div('.background'); switch (lib.config.image_background_filter){ case 'blur': ui.background.style.filter='blur(8px)'; ui.background.style.webkitFilter='blur(8px)'; ui.background.style.transform='scale(1.05)'; break; case 'gray': ui.background.style.filter='grayscale(1)'; ui.background.style.webkitFilter='grayscale(1)'; break; case 'sepia': ui.background.style.filter='sepia(0.5)'; ui.background.style.webkitFilter='sepia(0.5)'; break; case 'invert': ui.background.style.filter='invert(1)'; ui.background.style.webkitFilter='invert(1)'; break; case 'saturate': ui.background.style.filter='saturate(5)'; ui.background.style.webkitFilter='saturate(5)'; break; case 'contrast': ui.background.style.filter='contrast(1.4)'; ui.background.style.webkitFilter='contrast(1.4)'; break; case 'hue': ui.background.style.filter='hue-rotate(180deg)'; ui.background.style.webkitFilter='hue-rotate(180deg)'; break; case 'brightness': ui.background.style.filter='brightness(5)'; ui.background.style.webkitFilter='brightness(5)'; break; default: ui.background.style.filter=''; ui.background.style.webkitFilter=''; ui.background.style.transform=''; } document.body.insertBefore(ui.background,document.body.firstChild); if(animate) ui.background.animate('start'); if(lib.config.image_background=='default'){ ui.background.style.backgroundImage="none"; } else if(lib.config.image_background=='custom'){ ui.background.style.backgroundImage="none"; game.getDB('image','background',function(fileToLoad){ if(!fileToLoad) return; var fileReader = new FileReader(); fileReader.onload = function(fileLoadedEvent) { var data = fileLoadedEvent.target.result; ui.background.style.backgroundImage='url('+data+')'; }; fileReader.readAsDataURL(fileToLoad, "UTF-8"); }); } else{ ui.background.style.backgroundImage="url('image/background/"+lib.config.image_background+".jpg')"; } ui.background.style.backgroundSize='cover'; }, }, import_background:{ name:'
'+ ''+ '
', clear:true, }, image_background_filter:{ name:'背景特效', init:'default', item:{ default:'无', blur:'模糊', gray:'黑白', sepia:'怀旧', invert:'反色', saturate:'饱和', contrast:'对比', hue:'偏色', brightness:'高亮', }, onclick:function(filter){ game.saveConfig('image_background_filter',filter); ui.click.sidebar.image_background(lib.config.image_background); }, }, card_style:{ name:'卡牌样式', init:'default', item:{ default:'默认', wood:'木纹', music:'音乐', simple:'原版' }, onclick:function(layout){ game.saveConfig('card_style',layout); var style=ui.css.card_style; ui.css.card_style=lib.init.css('theme/style/card',lib.config.card_style); style.remove(); }, unfrequent:true, }, cardback_style:{ name:'卡背样式', init:'default', item:{ default:'默认', wood:'木纹', music:'音乐', official:'原版' }, onclick:function(layout){ game.saveConfig('cardback_style',layout); var style=ui.css.cardback_style; ui.css.cardback_style=lib.init.css('theme/style/cardback',lib.config.cardback_style); style.remove(); }, unfrequent:true, }, hp_style:{ name:'体力条样式', init:'default', item:{ default:'默认', official:'勾玉', }, onclick:function(layout){ game.saveConfig('hp_style',layout); var style=ui.css.hp_style; ui.css.hp_style=lib.init.css('theme/style/hp',lib.config.hp_style); style.remove(); if(lib.config.layout=='default'&&lib.config.hp_style=='official'){ ui.arena.classList.add('hpimage'); } else{ ui.arena.classList.remove('hpimage'); } }, unfrequent:true, }, show_log:{ name:'显示历史记录', init:'off', unfrequent:true, item:{ off:'关闭', left:'靠左', center:'居中', right:'靠右', }, onclick:function(bool){ game.saveConfig('show_log',bool); if(lib.config.show_log!='off'){ ui.arenalog.style.display=''; ui.arenalog.dataset.position=bool; } else{ ui.arenalog.style.display='none'; ui.arenalog.innerHTML=''; } } }, log_highlight:{ name:'历史记录高亮', init:true, unfrequent:true, }, glow_phase:{ name:'当前回合角色高亮', unfrequent:true, init:'yellow', item:{ none:'无', yellow:'黄色', green:'绿色', purple:'紫色', }, onclick:function(bool){ game.saveConfig('glow_phase',bool); if(_status.currentPhase){ if(lib.config.glow_phase){ _status.currentPhase.classList.add('glow_phase'); ui.arena.dataset.glow_phase=lib.config.glow_phase; } else{ _status.currentPhase.classList.remove('glow_phase'); } } } }, slim_player:{ name:'窄边框', init:true, unfrequent:true, onclick:function(bool){ game.saveConfig('slim_player',bool); if(bool){ ui.arena.classList.add('slim_player'); } else{ ui.arena.classList.remove('slim_player'); } } }, fold_card:{ name:'折叠手牌', init:true, unfrequent:true, }, auto_popped_config:{ name:'自动弹出选项', init:true, unfrequent:true, }, auto_popped_history:{ name:'自动弹出历史', init:false, unfrequent:true, }, hide_card_image:{ name:'隐藏卡牌背景', init:false, unfrequent:true, restart:true, }, // bottom_line:{ // name:'指示线置底', // init:false, // unfrequent:true, // onclick:function(bool){ // game.saveConfig('bottom_line',bool); // if(lib.config.bottom_line){ // ui.canvas.style.zIndex=0; // } // else{ // ui.canvas.style.zIndex=''; // } // } // }, // line_dash:{ // name:'虚线指示线', // init:false, // unfrequent:true, // }, show_name:{ name:'显示武将名', init:false, unfrequent:true, onclick:function(bool){ game.saveConfig('show_name',bool); if(lib.config.show_name){ for(var i=0;i'+ ''+ '', clear:true, }, background_audio:{ name:'游戏音效', init:true, }, background_speak:{ name:'人物配音', init:true, }, background_ogg:{ name:'补全配音', init:true }, volumn_audio:{ name:'音效音量', init:8, item:{ '1':'一', '2':'二', '3':'三', '4':'四', '5':'五', '6':'六', '7':'七', '8':'八', }, onclick:function(volume){ game.saveConfig('volumn_audio',parseInt(volume)); } }, volumn_background:{ name:'音乐音量', init:8, item:{ '1':'一', '2':'二', '3':'三', '4':'四', '5':'五', '6':'六', '7':'七', '8':'八', }, onclick:function(volume){ game.saveConfig('volumn_background',parseInt(volume)); ui.backgroundMusic.volume=volume/8; } } } }, playpack:{ name:'玩法', config:{ character:{ name:'技能卡牌', init:false, restart:true, onclick:function(bool){ if(bool){ lib.config.plays.add('character'); } else{ lib.config.plays.remove('character'); } game.saveConfig('plays',lib.config.plays); } }, character_num_playpackconfig:{ name:'卡牌比例', init:'0.05', item:{ '0.02':'2%', '0.05':'5%', '0.1':'10%', '0.2':'20%', } }, soldier:{ name:'士兵模式', init:false, restart:true, onclick:function(bool){ if(bool){ lib.config.plays.add('soldier'); } else{ lib.config.plays.remove('soldier'); } game.saveConfig('plays',lib.config.plays); } }, wuxing:{ name:'五行生克', init:false, restart:true, onclick:function(bool){ if(bool){ lib.config.plays.add('wuxing'); } else{ lib.config.plays.remove('wuxing'); } game.saveConfig('plays',lib.config.plays); } }, wuxing_num_playpackconfig:{ name:'带属性卡牌', init:'0.3', item:{ '0.1':'10%', '0.2':'20%', '0.3':'30%', '0.5':'50%', } }, weather:{ name:'天气变化', init:false, restart:true, onclick:function(bool){ if(bool){ lib.config.plays.add('weather'); } else{ lib.config.plays.remove('weather'); } game.saveConfig('plays',lib.config.plays); } }, // weather_animation_playpackconfig:{ // name:'天气动画', // init:true // }, weather_noqing_playpackconfig:{ name:'异常天气出现概率', init:'0.5', item:{ '0.1':'10%', '0.3':'30%', '0.5':'50%', '0.7':'70%', '0.9':'90%', } }, weather_chance_playpackconfig:{ name:'天气效果触发概率', init:'0.5', item:{ '0.1':'10%', '0.2':'20%', '0.3':'30%', '0.5':'50%', '0.8':'80%', }, onclick:function(item){ game.saveConfig('weather_chance_playpackconfig',item); _status.weatherchance=parseFloat(lib.config.weather_chance_playpackconfig)||0; } }, weather_duration_playpackconfig:{ name:'异常天气持续时间', init:'[4,4]', item:{ '[2,4]':'1~3回合', '[4,4]':'3~6回合', '[4,7]':'3~9回合', '[7,4]':'6~9回合', '[7,7]':'6~12回合', } }, weather_qingduration_playpackconfig:{ name:'晴朗天气持续时间', init:'[2,4]', item:{ '[2,4]':'1~3回合', '[4,4]':'3~6回合', '[4,7]':'3~9回合', '[7,4]':'6~9回合', '[7,7]':'6~12回合', } }, update:function(config,map){ for(var i in map){ if(i.indexOf('_playpackconfig')!=-1){ map[i].classList.add('indent'); if(lib.config.plays.contains(i.slice(0,i.indexOf('_')))){ map[i].show(); } else{ map[i].hide(); } } else{ if(lib.config.plays.contains(i)){ map[i].classList.add('on'); } else{ map[i].classList.remove('on'); } } } } } }, skill:{ name:'技能', config:{ update:function(config,map){ for(var i in map){ if(map[i]._link.config.type=='autoskill'){ if(!lib.config.autoskilllist.contains(i)){ map[i].classList.add('on'); ui.autoskill[i].lastChild.classList.add('on'); } else{ map[i].classList.remove('on'); ui.autoskill[i].lastChild.classList.remove('on'); } } else if(map[i]._link.config.type=='banskill'){ if(!lib.config.forbidlist.contains(i)){ map[i].classList.add('on'); } else{ map[i].classList.remove('on'); } } } } } }, others:{ name:'其它', config:{ reset_game:{ name:'重置游戏', onclick:function(){ var node=this; if(node._clearing){ localStorage.clear(); if(indexedDB) indexedDB.deleteDatabase(lib.configprefix+'data'); game.reload(); return; } node._clearing=true; node.innerHTML='单击以确认 (3)'; setTimeout(function(){ node.innerHTML='单击以确认 (2)'; setTimeout(function(){ node.innerHTML='单击以确认 (1)'; setTimeout(function(){ node.innerHTML='重置游戏'; delete node._clearing; },1000); },1000); },1000); }, clear:true }, reset_hiddenpack:{ name:'重置隐藏扩展包', onclick:function(){ if(this.innerHTML!='已重置'){ this.innerHTML='已重置' game.saveConfig('hiddenModePack',[]); game.saveConfig('hiddenCharacterPack',[]); game.saveConfig('hiddenCardPack',[]); var that=this; setTimeout(function(){ that.innerHTML='重置隐藏扩展包'; },500); } }, clear:true }, reset_tutorial:{ name:'重置新手向导', onclick:function(){ if(this.innerHTML!='已重置'){ this.innerHTML='已重置' game.saveConfig('new_tutorial',false); var that=this; setTimeout(function(){ that.innerHTML='重置新手向导'; },500); } }, clear:true }, import_data:{ name:'导入游戏数据', onclick:function(){ ui.import_data_button.classList.toggle('hidden'); }, clear:true }, import_data_button:{ name:'
'+ ''+ '
', clear:true, }, export_data:{ name:'导出游戏数据', onclick:function(){ var data={}; for(var i in localStorage){ data[i]=localStorage[i]; } game.export(lib.init.encode(JSON.stringify(data)), '无名杀 - 数据 - '+(new Date()).toLocaleString()); }, clear:true } } } }, mode:{ identity:{ name:'身份', config:{ update:function(config,map){ if(config.identity_mode=='zhong'){ map.player_number.hide(); map.enhance_zhu.hide(); map.double_nei.hide(); map.auto_identity.hide(); } else{ map.player_number.show(); map.enhance_zhu.show(); map.auto_identity.show(); if(config.player_number=='8'){ map.double_nei.show(); } else{ map.double_nei.hide(); } } }, identity_mode:{ name:'游戏模式', init:'normal', item:{ normal:'普通', zhong:'明忠' }, restart:true, frequent:true, }, player_number:{ name:'游戏人数', init:'8', item:{ '2':'两人', '3':'三人', '4':'四人', '5':'五人', '6':'六人', '7':'七人', '8':'八人' }, frequent:true, restart:true, }, double_nei:{ name:'双内奸', init:false, frequent:true, restart:true, }, double_character:{ name:'双将模式', init:false, frequent:true, restart:true, }, double_hp:{ name:'双将体力上限', init:'pingjun', item:{ hejiansan:'和减三', pingjun:'平均值', zuidazhi:'最大值', zuixiaozhi:'最小值', zonghe:'相加', }, restart:true, }, auto_identity:{ name:'自动显示身份', item:{ off:'关闭', one:'一轮', two:'两轮', three:'三轮', always:'始终' }, init:'off', onclick:function(bool){ game.saveConfig('auto_identity',bool,this._link.config.mode); if(get.config('identity_mode')=='zhong') return; var num; switch(bool){ case '一轮':num=1;break; case '两轮':num=2;break; case '三轮':num=3;break; default:num=0;break; } if(num&!_status.identityShown&&game.phaseNumber>game.players.length*num&&game.showIdentity){ _status.identityShown=true; game.showIdentity(false); } } }, ban_weak:{ name:'屏蔽弱将', init:false, restart:true, }, ban_strong:{ name:'屏蔽强将', init:false, restart:true, }, enhance_zhu:{ name:'加强主公', init:false, restart:true, frequent:true, }, free_choose:{ name:'自由选将', init:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); delete ui.cheat2; if(ui.cheat2x){ ui.cheat2x.close(); delete ui.cheat2; } } } }, change_identity:{ name:'自由选择身份和座位', init:true, onclick:function(bool){ game.saveConfig('change_identity',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; var dialog; if(ui.cheat2&&ui.cheat2.backup) dialog=ui.cheat2.backup; else dialog=_status.event.dialog; if(!dialog.querySelector('table')&&get.config('change_identity')) _status.event.parent.addSetting(dialog); else _status.event.parent.removeSetting(dialog); ui.update(); } }, change_choice:{ name:'开启换将卡', init:false, onclick:function(bool){ game.saveConfig('change_choice',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat&&get.config('change_choice')) ui.create.cheat(); else if(ui.cheat&&!get.config('change_choice')){ ui.cheat.close(); delete ui.cheat; } } }, change_card:{ name:'开启手气卡', init:false, }, dierestart:{ name:'死亡后显示重来', init:true, onclick:function(bool){ game.saveConfig('dierestart',bool,this._link.config.mode); if(get.config('dierestart')){ if(!ui.restart&&game.me.isDead()){ ui.restart=ui.create.control('restart',game.reload); } } else if(ui.restart){ ui.restart.close(); delete ui.restart; } } }, // swap:{ // name:'死亡后显示换人', // init:true, // onclick:function(bool){ // game.saveConfig('swap',bool,this._link.config.mode); // if(get.config('swap')){ // if(!ui.swap&&game.me.isDead()){ // ui.swap=ui.create.control('换人',ui.click.dieswap); // } // } // else if(ui.swap){ // ui.swap.close(); // delete ui.swap; // } // } // }, revive:{ name:'死亡后显示复活', init:false, onclick:function(bool){ game.saveConfig('revive',bool,this._link.config.mode); if(get.config('revive')){ if(!ui.revive&&game.me.isDead()){ ui.revive=ui.create.control('revive',ui.click.dierevive); } } else if(ui.revive){ ui.revive.close(); delete ui.revive; } } }, ai_strategy:{ name:'内奸策略', init:'ai_strategy_1', item:{ ai_strategy_1:'均衡', ai_strategy_2:'偏反', ai_strategy_3:'偏忠', ai_strategy_4:'酱油', ai_strategy_5:'天使', ai_strategy_6:'仇主', } }, difficulty:{ name:'AI对人类态度', init:'normal', item:{ easy:'友好', normal:'一般', hard:'仇视', } }, choice_zhu:{ name:'主公候选武将数', init:'3', restart:true, item:{ '3':'三', '4':'四', '5':'五', '6':'六', '8':'八', '10':'十', } }, choice_zhong:{ name:'忠臣候选武将数', init:'4', restart:true, item:{ '3':'三', '4':'四', '5':'五', '6':'六', '8':'八', '10':'十', } }, choice_nei:{ name:'内奸候选武将数', init:'5', restart:true, item:{ '3':'三', '4':'四', '5':'五', '6':'六', '8':'八', '10':'十', } }, choice_fan:{ name:'反贼候选武将数', init:'3', restart:true, item:{ '3':'三', '4':'四', '5':'五', '6':'六', '8':'八', '10':'十', } }, } }, guozhan:{ name:'国战', config:{ guozhan_mode:{ name:'游戏模式', init:'normal', item:{ normal:'普通', mingjiang:'明将' }, restart:true, frequent:true, }, player_number:{ name:'游戏人数', init:'8', item:{ '3':'三人', '4':'四人', '5':'五人', '6':'六人', '7':'七人', '8':'八人' }, frequent:true, restart:true, }, initshow_draw:{ name:'首亮摸牌', item:{ '0':'无', '1':'一张', '2':'两张', '3':'三张', }, init:'2', frequent:true, }, zhulian:{ name:'珠联璧合', init:true, frequent:true, }, double_hp:{ name:'双将体力上限', init:'pingjun', item:{ hejiansan:'和减三', pingjun:'平均值', zuidazhi:'最大值', zuixiaozhi:'最小值', zonghe:'相加', }, restart:true, }, ban_strong:{ name:'屏蔽强将', init:false, restart:true, }, free_choose:{ name:'自由选将', init:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); delete ui.cheat2; if(ui.cheat2x){ ui.cheat2x.close(); delete ui.cheat2; } } } }, change_identity:{ name:'自由选择座位', init:true, onclick:function(bool){ game.saveConfig('change_identity',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; var dialog; if(ui.cheat2&&ui.cheat2.backup) dialog=ui.cheat2.backup; else dialog=_status.event.dialog; if(!dialog.querySelector('table')&&get.config('change_identity')) _status.event.parent.addSetting(dialog); else _status.event.parent.removeSetting(dialog); ui.update(); } }, change_choice:{ name:'开启换将卡', init:false, onclick:function(bool){ game.saveConfig('change_choice',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat&&get.config('change_choice')) ui.create.cheat(); else if(ui.cheat&&!get.config('change_choice')){ ui.cheat.close(); delete ui.cheat; } } }, change_card:{ name:'开启手气卡', init:false, }, dierestart:{ name:'死亡后显示重来', init:true, onclick:function(bool){ game.saveConfig('dierestart',bool,this._link.config.mode); if(get.config('dierestart')){ if(!ui.restart&&game.me.isDead()){ ui.restart=ui.create.control('restart',game.reload); } } else if(ui.restart){ ui.restart.close(); delete ui.restart; } } }, // swap:{ // name:'死亡后显示换人', // init:true, // onclick:function(bool){ // game.saveConfig('swap',bool,this._link.config.mode); // if(get.config('swap')){ // if(!ui.swap&&game.me.isDead()){ // ui.swap=ui.create.control('换人',ui.click.dieswap); // } // } // else if(ui.swap){ // ui.swap.close(); // delete ui.swap; // } // } // }, revive:{ name:'死亡后显示复活', init:false, onclick:function(bool){ game.saveConfig('revive',bool,this._link.config.mode); if(get.config('revive')){ if(!ui.revive&&game.me.isDead()){ ui.revive=ui.create.control('revive',ui.click.dierevive); } } else if(ui.revive){ ui.revive.close(); delete ui.revive; } } }, difficulty:{ name:'AI对人类态度', init:'normal', item:{ easy:'友好', normal:'一般', hard:'仇视', } }, choice_num:{ name:'候选武将数', init:'7', restart:true, item:{ '5':'五', '6':'六', '7':'七', '8':'八', '9':'九', '10':'十', } }, } }, versus:{ name:'对决', config:{ change_choice:{ name:'开启换将卡', init:false, onclick:function(bool){ game.saveConfig('change_choice',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat&&get.config('change_choice')) ui.create.cheat(); else if(ui.cheat&&!get.config('change_choice')){ ui.cheat.close(); delete ui.cheat; } }, frequent:true, }, ban_weak:{ name:'屏蔽弱将', init:false, restart:true, frequent:true, }, ban_strong:{ name:'屏蔽强将', init:false, restart:true, frequent:true, }, } }, boss:{ name:'挑战', config:{ free_choose:{ name:'自由选将', init:true, frequent:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); delete ui.cheat2; if(ui.cheat2x){ ui.cheat2x.close(); delete ui.cheat2; } } } }, change_choice:{ name:'开启换将卡', init:false, onclick:function(bool){ game.saveConfig('change_choice',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat&&get.config('change_choice')) ui.create.cheat(); else if(ui.cheat&&!get.config('change_choice')){ ui.cheat.close(); delete ui.cheat; } }, frequent:true, }, ban_weak:{ name:'屏蔽弱将', init:false, restart:true, frequent:true, }, ban_strong:{ name:'屏蔽强将', init:false, restart:true, frequent:true, }, } }, chess:{ name:'战棋', config:{ chess_mode:{ name:'游戏模式', init:'combat', item:{ combat:'对战', leader:'统率', tafang:'塔防' }, restart:true, frequent:true, }, update:function(config,map){ if(config.chess_mode=='leader'){ map.chess_leader_save.show(); map.chess_leader_clear.show(); map.chess_character.hide(); } else{ map.chess_leader_save.hide(); map.chess_leader_clear.hide(); map.chess_character.show(); } if(config.chess_mode=='combat'){ map.battle_number.show(); map.chess_ordered.show(); map.free_choose.show(); map.change_choice.show(); } else{ map.battle_number.hide(); map.chess_ordered.hide(); map.free_choose.hide(); map.change_choice.hide(); } if(config.chess_mode=='tafang'){ map.chess_treasure.hide(); map.chess_obstacle.hide(); map.tafang_size.show(); map.tafang_turn.show(); map.tafang_difficulty.show(); } else{ map.chess_treasure.show(); map.chess_obstacle.show(); map.tafang_size.hide(); map.tafang_turn.hide(); map.tafang_difficulty.hide(); } if(config.chess_mode=='combat'||config.chess_mode=='tafang'){ map.ban_weak.show(); } else{ map.ban_weak.hide(); } }, tafang_turn:{ name:'游戏胜利', init:'20', frequent:true, item:{ '10':'十回合', '20':'二十回合', '30':'三十回合', '1000':'无限', } }, tafang_size:{ name:'战场大小', init:'9', frequent:true, item:{ '6':'小', '9':'中', '12':'大', } }, tafang_difficulty:{ name:'战斗难度', init:'2', frequent:true, item:{ '1':'简单', '2':'普通', '3':'困难', } }, chess_leader_save:{ name:'选择历程', init:'save1', item:{ save1:'一', save2:'二', save3:'三', save4:'四', save5:'五', }, restart:true, frequent:true, }, chess_leader_clear:{ name:'清除进度', onclick:function(){ var node=this; if(node._clearing){ game.save(get.config('chess_leader_save'),null); window.location.reload(); return; } node._clearing=true; node.innerHTML='单击以确认 (3)'; setTimeout(function(){ node.innerHTML='单击以确认 (2)'; setTimeout(function(){ node.innerHTML='单击以确认 (1)'; setTimeout(function(){ node.innerHTML='清除进度'; delete node._clearing; },1000); },1000); },1000); }, clear:true, frequent:true, }, battle_number:{ name:'对战人数', init:'3', frequent:true, item:{ '2':'2v2', '3':'3v3', '4':'4v4', '6':'6v6', '8':'8v8', }, onclick:function(num){ game.saveConfig('battle_number',num,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(_status.event.parent.changeDialog){ _status.event.parent.changeDialog(); } }, }, chess_treasure:{ name:'战场机关', init:'0.2', frequent:true, item:{ '0':'关闭', '0.1':'较少出现', '0.2':'偶尔出现', '0.333':'时常出现', '0.5':'频繁出现', } }, chess_obstacle:{ name:'随机路障', init:'0.333', item:{ '0':'关闭', '0.2':'少量', '0.333':'中量', '0.5':'大量', }, frequent:true, }, attack_move:{ name:'击退效果', init:true, // frequent:true, }, show_distance:{ name:'显示距离', init:true, // frequent:true, }, chess_ordered:{ name:'交替行动', init:true, // frequent:true, }, chess_character:{ name:'战棋武将', init:true, // frequent:true, }, chess_card:{ name:'战棋卡牌', init:true, // frequent:true, }, free_choose:{ name:'自由选将', init:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); delete ui.cheat2; if(ui.cheat2x){ ui.cheat2x.close(); delete ui.cheat2; } } }, }, change_choice:{ name:'开启换将卡', init:false, onclick:function(bool){ game.saveConfig('change_choice',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat&&get.config('change_choice')) ui.create.cheat(); else if(ui.cheat&&!get.config('change_choice')){ ui.cheat.close(); delete ui.cheat; } }, }, ban_weak:{ name:'屏蔽弱将', init:false, restart:true, }, ban_strong:{ name:'屏蔽强将', init:false, restart:true, }, chessscroll_speed:{ name:'边缘滚动速度', init:'20', item:{ '0':'不滚动', '10':'10格/秒', '20':'20格/秒', '30':'30格/秒', } }, } }, stone:{ name:'炉石', config:{ battle_number:{ name:'出场人数', init:'3', frequent:true, item:{ '2':'两人', '3':'三人', '4':'四人', '6':'六人', '8':'八人', '10':'十人', }, onclick:function(num){ game.saveConfig('battle_number',num,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(_status.event.parent.changeDialog){ _status.event.parent.changeDialog(); } }, }, free_choose:{ name:'自由选将', init:true, onclick:function(bool){ game.saveConfig('free_choose',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat2&&get.config('free_choose')) ui.create.cheat2(); else if(ui.cheat2&&!get.config('free_choose')){ ui.cheat2.close(); delete ui.cheat2; if(ui.cheat2x){ ui.cheat2x.close(); delete ui.cheat2; } } }, frequent:true, }, change_choice:{ name:'开启换将卡', init:false, onclick:function(bool){ game.saveConfig('change_choice',bool,this._link.config.mode); if(!_status.event.parent.showConfig&&!_status.event.showConfig) return; if(!ui.cheat&&get.config('change_choice')) ui.create.cheat(); else if(ui.cheat&&!get.config('change_choice')){ ui.cheat.close(); delete ui.cheat; } }, frequent:true, }, ban_weak:{ name:'屏蔽弱将', init:false, restart:true, frequent:true, }, ban_strong:{ name:'屏蔽强将', init:false, restart:true, frequent:true, }, } } }, status:{ running:false, canvas:false, time:0, delayed:0, frameId:0, videoId:0, }, help:{ '游戏选项':'