'use strict'; game.import('mode',function(lib,game,ui,get,ai,_status){ return { name:'single', changbanCharacter:[ "key_rei","key_yoshino","key_noda","key_nagisa", "re_caocao","re_caozhang","re_diaochan","re_ganning","re_gongsunzan","re_guojia","re_huangyueying","re_lidian","re_lvbu", "re_simayi","sunquan","re_xiahoudun","re_xushu","yuanshu","xf_yiji","re_zhangfei","re_zhangliao","re_xuzhu", "re_zhaoyun","re_zhouyu","re_zhugeliang","ol_xiahouyuan","re_huangzhong","re_weiyan","dianwei","te_yanwen","re_pangde", "re_zhurong","re_sunjian","jiaxu","dengai","re_jiangwei","re_sunben","wangji","wangping","guanqiujian","chendao","ol_yujin", "re_caozhi","xin_masu","re_lingtong","xusheng","re_gaoshun","xunyou","guanzhang","madai","handang","caochong", "re_guohuai","guanping","liufeng","re_zhuran","xin_liru","hanhaoshihuan","guyong","zhuhuan","caoxiu","liuchen","re_zhangyi", "re_quancong","sunxiu","sundeng","guohuanghou","re_jikang","xuezong","qinmi","lvdai","re_zhangliang","lingcao", "sunru","zhuling","sp_caoren","fanchou","fuwan","sp_ganning","guanyinping","guosi","heqi","sp_jiangwei","litong", "re_panfeng","sp_pangde","xf_sufei","xf_tangzi","xiahouba","xujing","yuejin","sp_zhangfei","zhangji","zhangyì","dongcheng", ], singlePile:[ ['spade',5,'sha'], ['spade',7,'sha'], ['spade',8,'sha'], ['spade',10,'sha'], ['heart',10,'sha'], ['heart',11,'sha'], ['club',4,'sha'], ['club',5,'sha'], ['club',6,'sha'], ['club',8,'sha'], ['club',9,'sha'], ['club',10,'sha'], ['club',11,'sha'], ['diamond',6,'sha'], ['diamond',9,'sha'], ['diamond',11,'sha'], ['heart',2,'shan'], ['heart',5,'shan'], ['diamond',2,'shan'], ['diamond',3,'shan'], ['diamond',7,'shan'], ['diamond',8,'shan'], ['diamond',10,'shan'], ['diamond',11,'shan'], ['heart',3,'tao'], ['heart',4,'tao'], ['heart',9,'tao'], ['diamond',12,'tao'], ['club',12,'bingliang'], ['spade',3,'guohe'], ['diamond',12,'guohe'], ['club',3,'guohe'], ['club',1,'juedou'], ['spade',1,'juedou'], ['heart',6,'lebu'], ['spade',1,'nanman'], ['club',7,'shuiyanqijunx'], ['spade',4,'shunshou'], ['spade',11,'shunshou'], ['diamond',4,'shunshou'], ['heart',1,'wanjian'], ['heart',5,'wuxie'], ['club',5,'wuxie'], ['heart',7,'wuzhong'], ['heart',8,'wuzhong'], ['diamond',5,'guanshi'], ['spade',9,'hanbing'], ['spade',6,'qinggang'], ['spade',12,'zhangba'], ['diamond',1,'zhuge'], ['spade',2,'bagua'], ['club',2,'renwang'], ], characterSingle:{ caocao:['male','wei',4,['jianxiong'],['zhu']], simayi:['male','wei',3,['fankui','guicai']], xiahoudun:['male','wei',4,['ganglie']], zhangliao:['male','wei',4,['retuxi']], xuzhu:['male','wei',4,['luoyi','xiechan']], guojia:['male','wei',3,['tiandu','yiji']], zhenji:['female','wei',3,['luoshen','sgqingguo']], liubei:['male','shu',4,['sgrenwang'],['zhu']], guanyu:['male','shu',4,['wusheng','huwei']], zhangfei:['male','shu',4,['paoxiao']], zhugeliang:['male','shu',3,['guanxing','kongcheng']], zhaoyun:['male','shu',4,['longdan']], machao:['male','shu',4,['xiaoxi','tieji']], huangyueying:['female','shu',3,['jizhi','cangji']], sunquan:['male','wu',4,['sgzhiheng'],['zhu']], ganning:['male','wu',4,['qixi']], lvmeng:['male','wu',4,['shenju','botu']], huanggai:['male','wu',4,['kurou']], zhouyu:['male','wu',3,['yingzi','fanjian']], daqiao:['female','wu',3,['guose','wanrong']], luxun:['male','wu',3,['qianxun','lianying']], sunshangxiang:['female','wu',3,['xiaoji','yinli']], //huatuo:['male','qun',3,['qingnang','jijiu']], lvbu:['male','qun',4,['wushuang']], diaochan:['female','qun',3,['pianyi','biyue']], xiahouyuan:['male','wei',4,['shensu','suzi']], old_caoren:['male','wei',4,['jushou']], huangzhong:['male','shu',4,['liegong']], weiyan:['male','shu',4,['sgkuanggu']], xiaoqiao:['female','wu',3,['tianxiang','hongyan']], old_zhoutai:['male','wu',4,['gzbuqu']], zhangjiao:['male','qun',3,['leiji','guidao'],['zhu']], dianwei:['male','wei',4,['qiangxi']], yanwen:['male','qun',4,['shuangxiong']], pangde:['male','qun',4,['xiaoxi','mengjin']], menghuo:['male','shu',4,['manyi','zaiqi']], zhurong:['female','shu',4,['manyi','lieren']], xuhuang:['male','wei',4,['sgduanliang']], sunjian:['male','wu',4,['gzyinghun']], jiangwei:['male','shu',4,['tiaoxin']], hejin:['male','qun',4,['mouzhu','yanhuo']], hansui:['male','qun',4,['xiaoxi','niluan']], niujin:['male','wei',4,['cuorui','liewei']], }, startBefore:function(){ }, onreinit:function(){ _status.mode=_status.connectMode?lib.configOL.single_mode:get.config('single_mode'); if(_status.mode!='normal') return; for(var i in lib.characterSingle){ lib.character[i]=lib.characterSingle[i]; if(!lib.character[i][4]){ lib.character[i][4]=[]; } } for(var j in lib.singleTranslate) lib.translate[j]=lib.singleTranslate[j]; }, start:function(){ "step 0" var playback=localStorage.getItem(lib.configprefix+'playback'); if(playback){ ui.create.me(); ui.arena.style.display='none'; ui.system.style.display='none'; _status.playback=playback; localStorage.removeItem(lib.configprefix+'playback'); var store=lib.db.transaction(['video'],'readwrite').objectStore('video'); store.get(parseInt(playback)).onsuccess=function(e){ if(e.target.result){ game.playVideoContent(e.target.result.video); } else{ alert('播放失败:找不到录像'); game.reload(); } } event.finish(); } else if(!_status.connectMode){ game.prepareArena(2); } "step 1" if(_status.connectMode){ game.waitForPlayer(function(){ lib.configOL.number=2; }); } "step 2" _status.mode=_status.connectMode?lib.configOL.single_mode:get.config('single_mode'); if(_status.mode=='normal'){ lib.card.list=lib.singlePile.slice(0); game.fixedPile=true; game.broadcastAll(function(singleTranslate,characterSingle){ _status.mode='normal'; for(var j in singleTranslate) lib.translate[j]=singleTranslate[j]; _status.characterlist=[]; for(var i in characterSingle){ lib.character[i]=characterSingle[i]; if(!lib.character[i][4]){ lib.character[i][4]=[]; } _status.characterlist.push(i); } },lib.singleTranslate,lib.characterSingle); } else if(_status.mode=='changban'){ _status.characterlist=[]; for(var i=0;i'; for(var i=0;i'; } } } lib.config.gameRecord.single.str=str; game.saveConfig('gameRecord',lib.config.gameRecord); } }, getState:function(){ var state={}; for(var i in lib.playerOL){ var player=lib.playerOL[i]; state[i]={identity:player.identity}; } return state; }, updateState:function(state){ for(var i in state){ var player=lib.playerOL[i]; if(player){ player.identity=state[i].identity; } } }, getRoomInfo:function(uiintro){ if(lib.configOL.bannedcards.length){ uiintro.add('
禁用卡牌:'+get.translation(lib.configOL.bannedcards)); } uiintro.style.paddingBottom='8px'; }, getVideoName:function(){ var str=get.translation(game.me.name); if(game.me.name2){ str+='/'+get.translation(game.me.name2); } var name=[ str, get.translation(_status.mode+2)+' - '+lib.translate[game.me.identity+'2'] ]; return name; }, showIdentity:function(){}, checkResult:function(){ game.over((game.me._trueMe||game.me).isAlive()); }, checkOnlineResult:function(player){ return player.isAlive(); }, chooseCharacterDianjiang:function(){ var next=game.createEvent('chooseCharacter',false); next.showConfig=true; next.setContent(function(){ "step 0" ui.arena.classList.add('choose-character'); lib.init.onfree(); "step 1" game.me.chooseControl('先手','后手').prompt='请选择自己的行动顺序'; "step 2" var map=result.control=='先手'?['zhu','fan']:['fan','zhu']; game.me.identity=map[0]; game.me.next.identity=map[1]; game.me.showIdentity(); game.me.next.showIdentity(); "step 3" event.flipassign=true; event.videoId=lib.status.videoId++; var list=[]; for(var i in lib.character){ if(lib.filter.characterDisabled(i)) continue; list.push(i); } _status.characterlist=list; var filter=function(name){ return !_status.characterlist.contains(name); }; var dialog=ui.create.characterDialog('heightset',filter).open(); dialog.videoId=event.videoId; game.me.chooseButton(true).set('ai',function(button){ return Math.random(); }).set('dialog',event.videoId); "step 4" game.me.init(result.links[0]); game.me.chooseButton(true).set('ai',function(button){ return Math.random(); }).set('dialog',event.videoId); "step 5" game.me.next.init(result.links[0]); setTimeout(function(){ ui.arena.classList.remove('choose-character'); },500); }); }, chooseCharacter:function(){ if(_status.mode=='dianjiang'){ game.chooseCharacterDianjiang(); return; } var next=game.createEvent('chooseCharacter',false); next.showConfig=true; next.setContent(function(){ "step 0" ui.arena.classList.add('choose-character'); var num=[0,1].randomGet(); game.players[num].identity='zhu'; game.players[1-num].identity='fan'; game.broadcastAll(function(p,t){ p.enemy=t;t.enemy=p; },game.players[0],game.players[1]); for(var i=0;i=12; })&&get.effect(target,{name:'juedou'},player,player)>0) return -1; return 0; }, }, }, }, huwei:{ audio:2, trigger:{ player:'enterGame', global:'gameDrawAfter', }, direct:true, content:function(){ player.chooseUseTarget('shuiyanqijunx',get.prompt('huwei'),'视为使用一张【水淹七军】').logSkill='huwei'; }, }, sgkuanggu:{ audio:'kuanggu', trigger:{source:'damageSource'}, frequent:true, filter:function(event,player){ return player.isDamaged(); }, content:function(){ 'step 0' player.judge(function(result){ return get.color(result)=='black'?2:-2; }); 'step 1' if(result.bool==true) player.recover(); }, }, suzi:{ inherit:'xingshang', }, cangji:{ trigger:{player:'die'}, filter:function(event,player){ return player.countCards('e')>0; }, forceDie:true, skillAnimation:true, animationColor:'orange', content:function(){ var cards=player.getCards('e'); player.cangji_yozuru=cards; player.lose(cards,ui.special); player.addSkill('cangji_yozuru'); }, subSkill:{ yozuru:{ sub:true, charlotte:true, superCharlotte:true, trigger:{player:'enterGame'}, forced:true, popup:false, //onremove:true, content:function(){ var cards=player.cangji_yozuru.slice(0); for(var i=0;i游戏规则
', } }; });