This commit is contained in:
libccy 2015-12-15 13:13:47 +08:00
parent 70585ef96c
commit 47e689242e
67 changed files with 1831 additions and 437 deletions

View File

@ -57,6 +57,9 @@ card.extra={
result:{
target:function(player,target){
if(target&&target==_status.dying) return 2;
if(lib.config.mode=='stone'&&!player.isMin()){
if(player.getActCount()+1>=player.actcount) return false;
}
var shas=target.get('h','sha');
if(player.num('h','sha')>1){
if(player.num('e','zhuge')) return 0;

View File

@ -1,5 +1,6 @@
'use strict';
card.hearth={
forbid:['stone'],
card:{
linghunzhihuo:{
fullskin:true,

View File

@ -789,22 +789,20 @@ character.hearth={
}
},
zhanhou:{
init:function(player){
player.forcemin=true;
},
enable:'phaseUse',
filterCard:{type:'equip'},
filterCard:{subtype:'equip2'},
position:'he',
filter:function(event,player){
return player.num('h',{type:'equip'})>0;
return player.num('he',{subtype:'equip2'})>0;
},
check:function(){
return 1;
check:function(card){
return 7-ai.get.value(card);
},
content:function(){
player.changeHujia();
},
ai:{
order:2,
order:9.5,
result:{
player:1
}
@ -2281,7 +2279,7 @@ character.hearth={
fengxian:'奉献',
fengxian_info:'出牌阶段限一次,你可以令场上所有角色各弃置一张手牌',
zhanhou:'战吼',
zhanhou_info:'锁定技,你没有装备区,你可以弃置一张装备牌并获得一点护甲值',
zhanhou_info:'出牌阶段限一次,你可以弃置一张防具牌并获得一点护甲值',
anying:'暗影',
anying_info:'限定技,出牌阶段,你可以弃置两张黑色牌,失去技能圣光,并获得技能心刺',
shijie:'视界',

View File

@ -363,182 +363,4 @@ window.characterRank={
'yujin',
'zhangfei',
],
legend:[
'swd_muyun',
'shen_caocao',
'swd_zhaoyun',
'swd_septem',
'hs_sthrall',
'hs_malorne',
'swd_yuwentuo',
'swd_duguningke',
'swd_guyue',
'swd_yuxiaoxue',
'swd_huanglei',
'pal_liumengli',
'pal_yuntianhe',
'swd_xuanyuanjianxian',
'diaochan',
'gjqt_aruan',
'hs_neptulon',
'shen_lvbu',
'swd_qi',
'swd_huzhongxian',
'jg_liubei',
'hs_medivh',
'shen_zhugeliang',
'yxs_wuzetian',
'sp_pangtong',
'swd_murongshi',
'shen_lvmeng',
'chenlin',
'hs_zhouzhuo',
'diy_caiwenji',
're_luxun',
'shen_zhaoyun',
'zhangchunhua',
'shen_zhouyu',
'shen_simayi',
'shen_guanyu',
'hs_siwangzhiyi',
],
epic:[
'xk_fujianhan',
'diy_zhenji',
'swd_jipeng',
'swd_cheyun',
'pal_xuanxiao',
'old_zhonghui',
'swd_tuobayuer',
'gjqt_bailitusu',
'xunyu',
'swd_jiliang',
'liuxie',
'hs_totemic',
'zhangxingcai',
'swd_muyue',
'pal_zixuan',
'hs_bchillmaw',
'swd_lanyin',
'gjqt_xiayize',
'hs_edwin',
'hs_antonidas',
'swd_chenjingchou',
'yxs_yangyuhuan',
'gjqt_fengqingxue',
'pal_xuejian',
'xunyou',
're_daqiao',
're_zhouyu',
'hs_wvelen',
'zhugeke',
'jg_xiahouyuan',
'swd_kama',
'swd_anka',
'xk_guyuexuan',
'caozhi',
'wuguotai',
'yxs_aijiyanhou',
'swd_zhiyin',
're_guanyu',
'sp_diaochan',
'swd_huanyuanzhi',
'swd_kangnalishi',
're_huanggai',
'hs_alakir',
'swd_xiarou',
'pal_murongziying',
'swd_wangsiyue',
'gjqt_fanglansheng',
'swd_qiner',
'hs_xsylvanas',
],
rare:[
'yxs_diaochan',
'hs_anduin',
'swd_hengai',
'hs_wuther',
'jg_pangtong',
'lusu',
'bulianshi',
'swd_shuijing',
'swd_sikongyu',
'zhangliao',
'liufeng',
'diy_yuji',
're_zhangliao',
'caoang',
'pal_jingtian',
'swd_shanxiaoxiao',
'yxs_caocao',
'jianyong',
'manchong',
'swd_linyue',
'swd_xuanyuanjiantong',
'swd_maixing',
'diy_xuhuang',
'dengai',
'hs_jaina',
'zhonghui',
'gjqt_xiangling',
'zhugejin',
'swd_jiuyou',
'diy_zhouyu',
'pal_changqing',
'swd_yuchiyanhong',
'swd_duopeng',
'swd_yuli',
'swd_rongshuang',
'taishici',
'pal_zhaoliner',
're_machao',
'zhanghe',
'zhangzhang',
'xin_fazheng',
'caochong',
'caifuren',
'jg_caozhen',
'jg_zhanghe',
'xin_masu',
'swd_situqiang',
'hs_malfurion',
'yxs_bole',
'yj_jushou',
'gjqt_yuewuyi',
'hs_mijiaojisi',
'yxs_mozi',
'gjqt_hongyu',
'hs_waleera',
'zhangsong',
'sp_dongzhuo',
'jiangwei',
'swd_chunyuheng',
'hetaihou',
'swd_jiangziya',
'liushan',
'zhugedan',
'sp_zhaoyun',
're_huatuo',
'swd_nicole',
'sp_jiangwei',
'swd_zhuoshanzhu',
'swd_shaowei',
'caopi',
'jiaxu',
'maliang',
'lingtong',
'wangyi',
'chenqun',
'mifuren',
'pal_linyueru',
'jg_simayi',
'jg_huangyueying',
'jg_zhugeliang',
'swd_jialanduo',
'sp_machao',
'caiwenji',
'hs_yngvar',
're_xushu',
're_huangyueying',
],
};

View File

@ -8060,7 +8060,7 @@ character.swd={
touxi:'偷袭',
touxi_info:'在其他角色的回合结束阶段,你可以进行一次判定,若结果为黑色,你对其造成一点雷电伤害并摸一张牌,且直到下一回合开始不能再次发动偷袭;若结果为红色,对方须弃置你的一张牌',
minjing:'明镜',
minjing_info:'锁定技,若你没有防具牌,你视为装备了光纱天衣',
minjing_info:'锁定技,每当你受到伤害时若你没有防具牌有1/3的概率令伤害-1',
qimou:'奇谋',
qimou_info:'每当你于回合外受到一次伤害,你可以摸一张牌,并立即使用之',
mufeng:'沐风',

View File

@ -368,9 +368,9 @@ character.xianjian={
player.$throw(result.links);
ui.discardPile.appendChild(result.links[0]);
trigger.player.recover();
if(trigger.player!=player){
trigger.player.draw();
}
// if(trigger.player!=player){
// trigger.player.draw();
// }
player.logSkill('shuiyun5',trigger.player,'thunder');
game.addVideo('storage',player,['shuiyun',get.cardsInfo(player.storage.shuiyun),'cards']);
}
@ -1380,7 +1380,7 @@ character.xianjian={
shuiyun2:'水蕴',
shuiyun5:'水蕴',
shuiyun3:'水蕴',
shuiyun_info:'回合结束阶段你可以将一张与武将牌上的牌类别均不相同的手牌置于武将牌上称为“蕴”任意一名角色进入濒死状态时你可以弃置一张“蕴”令其回复1点体力并摸一张牌',
shuiyun_info:'回合结束阶段你可以将一张与武将牌上的牌类别均不相同的手牌置于武将牌上称为“蕴”任意一名角色进入濒死状态时你可以弃置一张“蕴”令其回复1点体力',
wangyou:'忘忧',
wangyou_info:'其他角色的回合结束阶段,你可以弃置一张牌,令此回合内受过伤害的所有角色各摸一张牌',
changnian:'长念',

View File

@ -5624,7 +5624,7 @@ character.yijiang={
zili_info:'觉醒技准备阶段开始时若“权”的数量不小于3你减1点体力上限选择一项1、回复1点体力2、摸两张牌。然后你获得“排异”。',
quanji_info:'每当你受到1点伤害后你可以可摸一张牌然后将一张手牌置于武将牌上称为“权”你的手牌上限+XX为“权”的数量。',
xianzhou_info:'限定技。出牌阶段你可以将装备区里的所有牌交给一名其他角色然后该角色选择一项令你回复X点体力;或对其攻击范围内的X名角色各造成1点伤害(X为你以此法交给该角色的牌的数量)。',
qieting_info:'一名其他角色的回合结束时,若其未于此回合内使用过指定另一名角色为目标的牌,你可以选择一项:将其装备区里的一张牌移动至你装备区里的相应位置;或摸一张牌。',
qieting_info:'一名其他角色的回合结束时,若其未于此回合内使用过指定另一名角色为目标的牌,你可以选择一项:将其装备区里的一张牌移动至你装备区里的相应位置(可替换原装备);或摸一张牌。',
zhuikong_info:'一名其他角色的回合开始时,若你已受伤,你可以与该角色拼点,若你赢,该角色本回合使用的牌不能指定除该角色外的角色为目标',
qiuyuan_info:'当你成为【杀】的目标时,你可以令另一名其他角色选择一项:①、交给你一张【闪】;②、成为此【杀】的额外目标。',
gongji_info:'出牌阶段,你可以弃置一张牌,令你的攻击范围无限,直到回合结束,然后若你以此法弃置的牌为装备牌,你可以弃置一名其他角色的一张牌。每回合限一次。',

View File

@ -26,18 +26,6 @@ window.config={
'music_danji','music_random','music_off']
},
translate:{
// identity:'身份',
// guozhan:'国战',
// versus:'对决',
// stone:'统率',
// changjing:'场景',
// mowang:'魔王',
// boss:'挑战',
// chess:'战棋',
// infinity:'无限',
// qunyingzhuan:'群英',
// swd:'剧情',
character_play_config:'技能卡牌',
soldier_play_config:'士兵模式',
strategy_play_config:'尔虞我诈',
@ -254,6 +242,7 @@ window.config={
gameconfig:false,
appearence:false,
video:'20',
coin:0,
intro:'i',
right_click:'pause',

View File

@ -21,6 +21,8 @@
'bug修复',
'双指拖动对话框',
'对决模式调整',
'炉石构筑模式',
'金币系统(在选项-玩法中开启,暂无实际用途)',
],
configprefix:'noname_0.9_',
updates:[],
@ -1191,6 +1193,20 @@
'[7,7]':'6~12回合',
}
},
coin:{
name:'富甲天下',
init:false,
restart:true,
onclick:function(bool){
if(bool){
lib.config.plays.add('coin');
}
else{
lib.config.plays.remove('coin');
}
game.saveConfig('plays',lib.config.plays);
}
},
update:function(config,map){
for(var i in map){
if(i.indexOf('_playpackconfig')!=-1){
@ -1622,7 +1638,6 @@
normal:'普通',
mingjiang:'明将'
},
restart:true,
frequent:true,
},
player_number:{
@ -2119,8 +2134,61 @@
}
},
stone:{
name:'统率',
name:'炉石',
config:{
update:function(config,map){
if(config.stone_mode=='deck'){
// map.deck_length.show();
// map.deck_repeat.show();
map.random_length.hide();
}
else{
// map.deck_length.hide();
// map.deck_repeat.hide();
map.random_length.show();
}
},
stone_mode:{
name:'游戏模式',
init:'deck',
item:{
deck:'构筑',
random:'随机'
},
restart:true,
frequent:true,
},
// deck_length:{
// name:'卡组长度',
// init:'30',
// item:{
// '30':'30张',
// '50':'50张',
// '80':'80张',
// },
// frequent:true,
// },
// deck_repeat:{
// name:'重复卡牌',
// init:'2',
// item:{
// '2':'2张',
// '3':'3张',
// '5':'5张',
// '80':'无限',
// },
// frequent:true,
// },
random_length:{
name:'随从牌数量',
init:'1/80',
item:{
'1/120':'少',
'1/80':'中',
'1/50':'多',
},
frequent:true,
},
battle_number:{
name:'出场人数',
init:'3',
@ -2141,6 +2209,14 @@
}
},
},
double_character:{
name:'双将模式',
init:false,
frequent:true,
restart:function(){
return _status.event.parent.name!='chooseCharacter'||_status.event.name!='chooseButton';
}
},
free_choose:{
name:'自由选将',
init:true,
@ -2157,7 +2233,6 @@
}
}
},
frequent:true,
},
change_choice:{
name:'开启换将卡',
@ -2171,19 +2246,16 @@
delete ui.cheat;
}
},
frequent:true,
},
ban_weak:{
name:'屏蔽弱将',
init:false,
restart:true,
frequent:true,
},
ban_strong:{
name:'屏蔽强将',
init:false,
restart:true,
frequent:true,
},
}
}
@ -2239,12 +2311,26 @@
'每一轮在最上方的一个随机位置增加一名敌人,若最上方已有角色,则将其下移一格<li>'+
'战场上最多出现3个相同的机关每个机关在置入战场3轮后消失。战场上最多招募10名友方角色。<li>'+
'敌方角色到达底部出口时游戏失败,已方角色到达底部出口,将被移出游戏',
'统率模式':'<ul><li>游戏流程类似1v1场上有两名主将进行对抗'+
'炉石模式':
'<div style="margin:10px">构筑</div><ul style="margin-top:0"><li>点击右上角的卡组管理构建卡组<li>一套卡组共30张牌由法术和随从牌构成每个同名卡牌最多带两张'+
'<li>卡组管理器中随从右上角的x/y表示登场状态为x牌y血'+
'<li>摸牌阶段,主将少摸一张牌,并从卡组中获得一张牌'+
'<li>每名角色使用一套卡组,卡组用完后会重新补满'+
'<li>卡组与职业绑定,每个职业有一个专属技能,每回合限用一次,消耗两点行动值</ul>'+
'<div style="margin:10px">职业技能</div><ul style="margin-top:0"><li>祭司:召唤一个随机图腾'+
'<li>法师:对一名随从造成一点火焰伤害'+
'<li>医生:回复一点体力'+
'<li>战士:获得一点护甲,摸一张牌'+
'<li>术士:弃置一张牌并从牌库中摸两张牌'+
'<li>游侠:装备一把武器和一匹-1马'+
'<li>谋士:召唤一名士兵'+
'<li>猎人:弃置一张牌并对敌方主将造成一点伤害'+
'<li>蛮人:视为使用一张杀,此杀无视距离和防具且不计入出杀限制</ul>'+
'<div style="margin:10px">战斗</div><ul style="margin-top:0"><li>游戏流程类似1v1场上有两名主将进行对抗'+
'<li>主将出牌阶段的出牌数量行动值有上限先手为2后手为3装备牌不计入出牌上限<li>游戏每进行一轮,主将的出牌上限+1超过6时减至2并重新累加'+
'<li>牌堆中随机加入总量1/3的随从牌使用之可召唤一个随从随从出场时背面朝上。每一方在场的随从数不能超过4<li>随从于摸牌阶段摸牌基数为1随从的随从牌均视为闪装备牌均视为杀<li>'+
'<li>使用随从牌可召唤一个随从随从出场时背面朝上。每一方在场的随从数不能超过4<li>随从于摸牌阶段摸牌基数为1随从的随从牌均视为闪装备牌均视为杀<li>'+
'随从与其他所有角色相互距离基数为1<li>'+
'主将杀死对方随从后获得一个额外的行动值并摸两张牌,杀死己方随从无惩罚,随从杀死随从无效果'+
'<li>牌堆中随机加入总量1/6的法术牌效果主要与随从有关法术牌根据强度不同可能会消耗额外的行动值'+
'<li>主将可重铸随从牌但回合内总的重铸次数不能超过3随从不能重铸任何牌包括铁索等默认可以重铸的牌'+
'<li>嘲讽:若一方阵营中有嘲讽角色,则同阵营的无嘲讽角色不以能成为杀或决斗的目标'+
'<li>行动顺序为先主将后随从。主将或随从死亡后立即移出游戏主将死亡后替补登场替补登场时摸2+X张牌X为对方存活的随从数无替补时游戏结束'
@ -2883,11 +2969,13 @@
player.phaseJudge();
"step 1"
player.phaseDraw();
if(player==game.me){
game.delay();
}
else{
game.delayx();
if(!player.noPhaseDelay){
if(player==game.me){
game.delay();
}
else{
game.delayx();
}
}
"step 2"
// if(!player.skipList.contains('phaseUse')) player.popup('出牌阶段');
@ -2898,7 +2986,7 @@
delete ui.tempnowuxie;
}
player.phaseDiscard()
game.delayx();
if(!player.noPhaseDelay) game.delayx();
delete player.using;
delete player._noSkill;
},
@ -2935,7 +3023,12 @@
event.goto(0);
},
phaseDraw:function(){
player.draw(event.num);
if(game.modPhaseDraw){
game.modPhaseDraw(player,event.num);
}
else{
player.draw(event.num);
}
},
phaseUse:function(){
"step 0";
@ -4560,6 +4653,11 @@
game.addVideo('diex',player);
player.$die(source);
if(player.dieAfter) player.dieAfter(source);
if(typeof _status.coin=='number'&&source&&!_status.auto){
if(source==game.me||source.isUnderControl()){
_status.coin+=10;
}
}
if(ui.tempnowuxie&&ui.tempnowuxie._origin&&ui.tempnowuxie._origin.player==player){
ui.tempnowuxie.close();
delete ui.tempnowuxie;
@ -5994,10 +6092,10 @@
cards[i].classList.add('drawinghidden');
}
if(lib.isSingleHandcard()||sort>0){
this.node.handcards1.appendChild(cards[i]);
this.node.handcards1.insertBefore(cards[i],this.node.handcards1.firstChild);
}
else{
this.node.handcards2.appendChild(cards[i]);
this.node.handcards2.insertBefore(cards[i],this.node.handcards2.firstChild);
}
}
if(this==game.me||_status.video) ui.updatehl();
@ -7809,7 +7907,7 @@
this.node.info.innerHTML=get.translation(card[0])+'<span> </span>'+card[1];
}
if(lib.card[card[2]].addinfo){
this.node.addinfo=ui.create.div('.addinfo',this);
this.node.addinfo=ui.create.div('.range',this);
this.node.addinfo.innerHTML=lib.card[card[2]].addinfo;
}
if(card[0]=='heart'||card[0]=='diamond'){
@ -8577,7 +8675,9 @@
priority:20,
popup:false,
content:function(){
player.popup('_phasebegin');
if(!player.noPhaseDelay){
player.popup('_phasebegin');
}
if(lib.config.glow_phase){
if(_status.currentPhase){
_status.currentPhase.classList.remove('glow_phase');
@ -10630,6 +10730,64 @@
if(game.addOverDialog){
game.addOverDialog(dialog,result);
}
if(typeof _status.coin=='number'){
var coeff=Math.random()*0.4+0.8;
var added=0;
if(result=='战斗胜利'){
_status.coin+=20;
switch(lib.config.mode){
case 'identity':{
switch(game.me.identity){
case 'zhu':case 'zhong':case 'mingzhong':
if(get.config('enhance_zhu')){
added=10;
}
else{
added=20;
}
break;
case 'fan':
if(get.config('enhance_zhu')){
added=16;
}
else{
added=8;
}
break;
case 'nei':
added=40;
break;
}
added=added*(game.players.length+game.dead.length)/8;
break;
}
case 'guozhan':
if(game.me.identity=='ye'){
added=8;
}
else{
added=5/get.totalPopulation(game.me.identity);
}
added=added*(game.players.length+game.dead.length);
break;
case 'versus':
added=5*(game.players.length+_status.friend.length);
break;
default:
added=10;
}
}
else{
added=10;
}
_status.coin+=added*coeff;
if(_status.coinCoeff){
_status.coin*=_status.coinCoeff;
}
_status.coin=Math.ceil(_status.coin);
dialog.add(ui.create.div('','获得'+_status.coin+'金'));
game.changeCoin(_status.coin);
}
if(true){
if(game.players.length){
table=document.createElement('table');
@ -11676,6 +11834,11 @@
if(lib.skill[i].viewAs){
if(lib.skill[i].ai==undefined) lib.skill[i].ai={};
var skill=lib.skill[i].ai;
if(!lib.card[lib.skill[i].viewAs.name]){
lib.skill[i]={};
lib.translate[i+'_info']='技能不可用';
continue;
}
var card=lib.card[lib.skill[i].viewAs.name].ai;
for(j in card){
if(skill[j]==undefined) skill[j]=card[j];
@ -12277,11 +12440,14 @@
return ui.create.characterDialog.apply(this,args);
},
characterDialog:function(){
var filter,str,noclick,thisiscard;
var filter,str,noclick,thisiscard,seperate;
for(var i=0;i<arguments.length;i++){
if(arguments[i]==='thisiscard'){
thisiscard=true;
}
else if(typeof arguments[i]=='object'&&typeof arguments[i].seperate=='function'){
seperate=arguments[i].seperate;
}
else if(typeof arguments[i]==='string'){
str=arguments[i];
}
@ -12295,6 +12461,9 @@
var list=[];
var dialog;
var node=ui.create.div('.caption');
if(lib.config.layout=='phone'){
node.style.fontSize='30px';
}
var namecapt=[];
var getCapt=function(str){
if(lib.customCharacters.contains(str)){
@ -12330,6 +12499,7 @@
lib.character[i][4].contains('bossallowed')) continue;
if(lib.character[i][4].contains('hiddenboss')&&!
lib.character[i][4].contains('bossallowed')) continue;
if(lib.character[i][4].contains('stonehidden')) continue;
if(lib.config.banned.contains(i)) continue;
if(filter&&filter(i)) continue;
list.push(i);
@ -12349,10 +12519,10 @@
this.classList.remove('thundertext');
for(var i=0;i<dialog.buttons.length;i++){
if(dialog.currentgroup&&dialog.buttons[i].group!=dialog.currentgroup){
dialog.buttons[i].style.display='none';
dialog.buttons[i].classList.add('nodisplay');
}
else{
dialog.buttons[i].style.display='';
dialog.buttons[i].classList.remove('nodisplay');
}
}
}
@ -12366,10 +12536,22 @@
for(var i=0;i<dialog.buttons.length;i++){
if(dialog.buttons[i].capt!=dialog.currentcapt||
(dialog.currentgroup&&dialog.buttons[i].group!=dialog.currentgroup)){
dialog.buttons[i].style.display='none';
dialog.buttons[i].classList.add('nodisplay');
}
else{
dialog.buttons[i].style.display='';
dialog.buttons[i].classList.remove('nodisplay');
}
}
}
if(dialog.seperate){
for(var i=0;i<dialog.seperate.length;i++){
if(!dialog.seperate[i].nextSibling.querySelector('.button:not(.nodisplay)')){
dialog.seperate[i].style.display='none';
dialog.seperate[i].nextSibling.style.display='none';
}
else{
dialog.seperate[i].style.display='';
dialog.seperate[i].nextSibling.style.display='';
}
}
}
@ -12387,9 +12569,9 @@
if(thisiscard){
groupSort=function(name){
if(lib.card[name[2]].type=='basic') return 0;
if(lib.card[name[2]].type=='stonecard') return 0.5;
if(lib.card[name[2]].type=='stonecard') return -0.5;
if(lib.card[name[2]].type=='mengjing') return 0.3;
if(lib.card[name[2]].type=='stonecharacter') return 1;
if(lib.card[name[2]].type=='stonecharacter') return -1;
if(lib.card[name[2]].type=='chess') return 1.5;
if(lib.card[name[2]].type=='trick') return 2;
if(lib.card[name[2]].type=='delay') return 3;
@ -12427,7 +12609,17 @@
}
dialog.add(node);
if(thisiscard){
dialog.add([list,'vcard'],noclick);
if(seperate){
seperate=seperate(list);
dialog.seperate=[];
for(var i in seperate){
dialog.seperate.push(dialog.add(i));
dialog.add([seperate[i],'vcard'],noclick);
}
}
else{
dialog.add([list,'vcard'],noclick);
}
}
else{
dialog.add([list,'character'],noclick);
@ -13243,7 +13435,12 @@
if(cfg.onsave){
cfg.onsave.call(this,result);
}
if(cfg.restart){
if(typeof cfg.restart=='function'){
if(cfg.restart()){
startButton.classList.add('glowing');
}
}
else if(cfg.restart){
startButton.classList.add('glowing');
}
};
@ -14783,6 +14980,9 @@
break;
}
}
if(ui.coin){
game.changeCoin(-20);
}
clickContainer.call(menuContainer);
}
});
@ -17256,7 +17456,7 @@
uiintro.classList.add('popped');
uiintro.classList.add('static');
ui.window.appendChild(uiintro);
var layer=ui.create.div('.poplayer',ui.arena);
var layer=ui.create.div('.poplayer',ui.window);
var clicklayer=function(e){
uiintro.delete();
this.remove();
@ -17337,6 +17537,8 @@
},
pause:function(){
if(_status.paused2) return;
if(_status.nopause) return;
if(ui.pause.classList.contains('hidden')) return;
ui.system.hide();
game.pause2();
var node=ui.create.pause().animate('start');
@ -18266,6 +18468,41 @@
if(!lib.config.mode_config[lib.config.mode]) return;
return lib.config.mode_config[lib.config.mode][item];
},
coinCoeff:function(list){
var num=0;
for(var i=0;i<list.length;i++){
var rank=get.rank(list[i]);
switch(rank){
case 'sp':return 0.1;break;
case 's':num+=0.4;break;
case 'ap':num+=0.6;break;
case 'a':num+=0.8;break;
case 'am':num+=0.95;break;
case 'bp':num+=1.05;break;
case 'b':num+=1.2;break;
case 'bm':num+=1.4;break;
case 'c':num+=1.6;break;
case 'd':num+=1.8;break;
}
}
return num/list.length;
},
rank:function(name){
if(name==_status.lord) return 'ap';
var rank=lib.rank;
if(rank.s.contains(name)) return 's';
if(rank.ap.contains(name)) return 'ap';
if(rank.a.contains(name)) return 'a';
if(rank.am.contains(name)) return 'am';
if(rank.bp.contains(name)) return 'bp';
if(rank.b.contains(name)) return 'b';
if(rank.bm.contains(name)) return 'bm';
if(rank.c.contains(name)) return 'c';
if(rank.d.contains(name)) return 'd';
if(lib.customCharacters.contains(name)) return 's';
if(lib.characterPack.boss&&lib.characterPack.boss[name]) return 'sp';
return 'x';
},
cardInfo:function(card){
return [card.suit,card.number,card.name,card.nature];
},
@ -18456,6 +18693,7 @@
_status.maxShuffle--;
}
var cards=[],i;
if(game.onWash) game.onWash();
for(i=0;i<ui.discardPile.childNodes.length;i++){
cards.push(ui.discardPile.childNodes[i]);
}
@ -19367,6 +19605,11 @@
}
uiintro.add(ui.create.div('.placeholder.slim'));
}
else if(node.classList.contains('identity')&&node.dataset.career){
var career=node.dataset.career;
uiintro.add(get.translation(career));
uiintro.add('<div class="text center" style="padding-bottom:5px">'+lib.translate['_'+career+'_skill_info']+'</div>');
}
return uiintro;
},
groups:function(){
@ -20566,11 +20809,11 @@
}
}
}
if(card[i].forbid&&card[i].forbid.contains(lib.config.mode)) continue;
if(card[i].mode&&card[i].mode.contains(lib.config.mode)==false) continue;
for(j in card[i]){
if(j=='mode'||j=='forbid') continue;
if(j=='list'){
if(card[i].forbid&&card[i].forbid.contains(lib.config.mode)) continue;
if(card[i].mode&&card[i].mode.contains(lib.config.mode)==false) continue;
if(lib.config.cards.contains(i)){
var pile;
if(typeof card[i][j]=='function'){

View File

@ -40,6 +40,7 @@ play.pack={
soldier:'士兵模式',
wuxing:'五行生克',
weather:'天气变化',
coin:'富甲天下',
};
mode.pack={
identity:'身份',
@ -47,7 +48,7 @@ mode.pack={
versus:'对决',
boss:'挑战',
chess:'战棋',
stone:'统率',
stone:'炉石',
};
background.pack={
zhulian_bg:'璧合',

BIN
image/card/stone_druid.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
image/card/stone_hunter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
image/card/stone_knight.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

BIN
image/card/stone_mage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
image/card/stone_priest.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
image/card/stone_rogue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
image/card/stone_shaman.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -1,4 +1,4 @@
#arena.paused,#arena.right,#arena.menupaused{
#arena.paused,#arena.unfocus,#arena.right,#arena.menupaused{
filter:blur(3px);
-webkit-filter:blur(3px);
}

View File

@ -141,9 +141,10 @@ table{table-layout: fixed;}
#arena.right:not(.noleft){left:240px;opacity: 0.6;}
#arena.left:not(.noleft){left:calc(10% - 240px);opacity: 0.6;}
#arena.top{top:-100%;}
#arena.paused{/*-webkit-filter:blur(3px);*/opacity: 0.3 !important;}
#arena.paused,#arena.unfocus{opacity: 0.3 !important;}
#arena.paused2{opacity: 0.1 !important;}
#arena>.poplayer{
#arena>.poplayer,
#window>.poplayer{
width:100%;
height:100%;
position:absolute;
@ -499,6 +500,7 @@ margin-bottom: 5px;
.skill{left: 0 !important;width: 70px !important;}
.caption>.ctext{text-align:center;font-size:16px;}
.button.character,.button.card{width: 90px;height: 90px;position: relative;margin: 6px;}
.button.card{font-size: 14px;}
.button.character>.name{left:5px;top:22px;}
.button.character>.hp{left:5px;top:3px;}
.button.character>.hp.text{
@ -508,6 +510,7 @@ margin-bottom: 5px;
font-size:20px;
letter-spacing:3px;
}
.button.nodisplay{display: none;}
.button.character>.intro{top:71px;left:0;}
.button.character>.identity{top:-6px;left:72px;}
/*--------确认--------*/
@ -1291,6 +1294,12 @@ div:hover>.wunature{
top:74px;
right:6px;
}
/*.card.equip1 .wunature,
.card.equip3 .wunature,
.card.equip4 .wunature{
top:56px;
right:4px;
}*/
.card .addinfo{
bottom:6px;
left:6px;

View File

@ -77,6 +77,9 @@
transition-duration: 0.5s;
pointer-events: auto;
}
#arena:not(.chess) .player[data-position='0']:not(.minskin)>.identity{
pointer-events: auto;
}
#arena:not(.chess) .player[data-position='0']:not(.minskin)>.judges,
#arena:not(.chess) .player[data-position='0']:not(.minskin)>.marks{
pointer-events: auto;

View File

@ -32,3 +32,274 @@
#arena.slim_player .player>.name{
top:33px;
}
#arena .player.linked>.name{
transform: rotate(90deg) translate(120px,-96px);
}
#arena .player.minskin>.name{
top:16px;
}
#arena .player.linked.minskin>.name{
transform: rotate(90deg) translate(83px,-71px);
}
.player>.identity.menubutton.round{
padding: 0;
transform: scale(1.2) translate(-2px,2px);
}
.card .wunature{
top:74px;
left:6px;
right: auto;
}
#arena:not(.chess).mobile .player[data-position='0']:not(.minskin)>.identity{
left: 102px;
top: -7px;
}
#deck-builder{
overflow: hidden;
}
#deck-builder>.shadowed.list{
width: 200px;
height: 100%;
right: 0;
top:0;
border-radius: 0px;
transform: translateX(200px);
opacity: 0;
}
#deck-builder.shown>.shadowed.list{
transform: none;
opacity: 1;
}
#deck-builder>.shadowed.list>.menubutton.large.create{
position: absolute;
bottom: 10px;
left: auto;
right: 10px;
margin: 0;
padding: 0;
width: 180px;
height: 50px;
font-size: 36px;
line-height: 50px;
z-index: 2;
}
#deck-builder>.shadowed.list>.list-container{
width:100%;
left:0;
height: calc(100% - 60px);
overflow-y: scroll;
overflow-x: visible;
text-align: left;
}
#deck-builder>.shadowed.list>.list-container:not(.deck){
z-index: 1;
}
#deck-builder>.shadowed.list>.list-container.deck{
pointer-events: none;
opacity: 0;
}
#deck-builder>.shadowed.list>.list-container.deck.shown{
pointer-events: auto;
opacity: 1;
}
#deck-builder>.shadowed.list>.list-container.deck>.card{
zoom:0.8;
margin-bottom: 15px;
margin-top: 0;
transition: all 0s;
}
#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n+1){
margin-left: 15px;
}
#deck-builder>.shadowed.list>.list-container.deck>.card:nth-child(2n){
margin-left: 7px;
}
#deck-builder>.shadowed.list>.list-container.deck>.card:first-child,
#deck-builder>.shadowed.list>.list-container.deck>.card:first-child+div{
margin-top: 15px;
}
.deckitem{
position: relative;
width: 170px;
margin-left: 15px;
margin-right: 0;
padding-left: 0;
padding-right: 0;
padding-top: 5px;
padding-bottom: 5px;
margin-top: 15px;
margin-bottom: 0px;
text-align: left;
font-size:24px;
line-height:30px;
font-family:'xinwei';
border-radius: 40px 4px 4px 40px;
background-size: cover;
white-space: nowrap;
transition: all 0s;
}
.deckitem.random{
border-radius: 4px;
text-align: center;
}
.deckitem.random>span{
margin-left: 0;
}
.deckitem:last-child{
margin-bottom: 15px;
}
.deckitem>span{
margin-left: 46px;
}
.deckitem>.menubutton.round{
position: absolute;
left: -1px;
top: -2px;
width: 34px;
height: 34px;
}
#deck-builder>.shadowed.career{
width: 240px;
height: 240px;
right: 220px;
bottom: 20px;
opacity: 0;
transform: scale(0) translateX(300px);
transform-origin: right bottom;
transition-duration: 0.3s;
z-index: 8;
}
#deck-builder>.shadowed.career.shown{
transform: scale(1) translateX(0);
opacity: 1;
}
#deck-builder>.shadowed.career>div{
width: 80px;
height: 80px;
margin: 0;
padding: 0;
position: relative;
display: inline-block;
}
#deck-builder>.shadowed.career>div>.menubutton.round{
left: 15px;
top: 5px;
}
#deck-builder>.shadowed.career>div>.text{
font-size: 12px;
width: 100%;
text-align: center;
top: 58px;
}
#deck-builder>.dialog.fixed{
left: auto;
right: 240px;
width: calc(100% - 280px);
opacity: 0;
animation: none;
-webkit-animation:none;
transform: scale(0.8);
pointer-events: none;
transition: all 0.5s;
}
#deck-builder>.dialog.fixed.shown{
opacity: 1;
transform: scale(1);
pointer-events: auto;
}
#deck-builder>.controls{
opacity: 0;
height: 50px;
width: calc(100% - 200px);
bottom: 10px;
left: 0;
text-align: right;
z-index: 9;
pointer-events: none;
}
#deck-builder>.controls>div{
position: relative;
margin-top:5px;
margin-left: 5px;
margin-right: 5px;
}
#deck-builder>.controls>.card-count{
position: absolute;
width: 100px;
height: 100%;
left: calc(50% - 50px);
text-align: center;
font-family: 'xinwei';
font-size: 24px;
line-height: 50px;
margin: 0;
}
#deck-builder>.controls>div:last-child{
margin-right: 40px;
white-space: nowrap;
-webkit-user-select: text;
}
#deck-builder>.controls.shown{
opacity: 1;
pointer-events: auto;
}
#arena>.player.stone_deck{
transform: scale(1) translateX(100px);
opacity: 0;
transition: all 0.5s;
left: calc(5% + 50px);
top:calc(50% - 90px);
}
#arena>.player.stone_deck.shown{
transform: scale(0.8);
opacity: 1;
}
#arena>.player.stone_deck.shown.removing{
transform: scale(0.6) translateX(-100px);
}
#arena>.player.stone_deck>div:not(.avatar):not(.avatar2){
display: none !important;
}
div[data-career='mage']{
background-image: url('../../../image/card/stone_mage.png');
background-size:cover;
}
div[data-career='druid']{
background-image: url('../../../image/card/stone_druid.png');
background-size:cover;
}
div[data-career='hunter']{
background-image: url('../../../image/card/stone_hunter.png');
background-size:cover;
}
div[data-career='shaman']{
background-image: url('../../../image/card/stone_shaman.png');
background-size:cover;
}
div[data-career='paladin']{
background-image: url('../../../image/card/stone_paladin.png');
background-size:cover;
}
div[data-career='rogue']{
background-image: url('../../../image/card/stone_rogue.png');
background-size:cover;
}
div[data-career='priest']{
background-image: url('../../../image/card/stone_priest.png');
background-size:cover;
}
div[data-career='warrior']{
background-image: url('../../../image/card/stone_warrior.png');
background-size:cover;
}
div[data-career='warlock']{
background-image: url('../../../image/card/stone_warlock.png');
background-size:cover;
}
div[data-career='knight']{
background-image: url('../../../image/card/stone_knight.png');
background-size:cover;
}

View File

@ -554,6 +554,7 @@ mode.boss={
boss:false,
links:result.links
};
_status.coinCoeff=get.coinCoeff(result.links);
}
}
return next;

View File

@ -90,7 +90,7 @@ mode.chess={
this.chessFocus();
}
if(get.config('chess_mode')=='tafang'&&!_status.video){
if(_status.mode=='tafang'&&!_status.video){
if(_status.tafangend.contains(this.dataset.position)){
if(_status.enemies.contains(this)){
game.over(false);
@ -331,7 +331,7 @@ mode.chess={
return;
}
}
if(get.config('chess_mode')=='tafang'){
if(_status.mode=='tafang'){
if(_status.friends.length==0&&ui.fakeme){
ui.fakeme.hide();
this.node.handcards1.delete();
@ -562,7 +562,7 @@ mode.chess={
var randomMove=['moveUp','moveDown','moveLeft','moveRight'];
for(var iwhile=0;iwhile<num;iwhile++){
var targets=[];
if(get.config('chess_mode')=='tafang'&&_status.enemies.contains(player)){
if(_status.mode=='tafang'&&_status.enemies.contains(player)){
var targets2=[];
for(var i=0;i<ui.chesswidth;i++){
var tafangdes=ui.chesswidth*(ui.chessheight-1)+i;
@ -688,8 +688,8 @@ mode.chess={
treasures:[],
obstacles:[],
getVideoName:function(){
var str='战棋'+get.translation(get.config('chess_mode'))+' - '+_status.friendCount+'v'+_status.enemyCount;
if(get.config('chess_mode')=='tafang'){
var str='战棋'+get.translation(_status.mode)+' - '+_status.friendCount+'v'+_status.enemyCount;
if(_status.mode=='tafang'){
str='战棋 - 塔防';
}
var name=[get.translation(game.me.name),str];
@ -811,7 +811,7 @@ mode.chess={
},
addOverDialog:function(dialog,result){
dialog.classList.add('center');
if(get.config('chess_mode')!='leader') return;
if(_status.mode!='leader') return;
if(result=='战斗胜利'){
_status.victory=true;
if(!_status.enterArena){
@ -836,7 +836,7 @@ mode.chess={
},
controlOver:function(){
ui.create.control('返回',game.reload);
if(get.config('chess_mode')!='leader') return;
if(_status.mode!='leader') return;
if(_status.enterArena){
game.data.arena.acted.length=0;
if(_status.victory){
@ -1539,6 +1539,7 @@ mode.chess={
_status.waitingForCharacters=true;
game.pause();
}
_status.mode=get.config('chess_mode');
"step 1"
for(var i in lib.skill){
if(lib.skill[i].changeSeat){
@ -1554,7 +1555,7 @@ mode.chess={
var playback=localStorage.getItem(lib.configprefix+'playback');
lib.treasurelist=[];
lib.mechlist=[];
if(get.config('chess_character')||playback||get.config('chess_mode')=='leader'){
if(get.config('chess_character')||playback||_status.mode=='leader'){
for(var i in lib.characterPack.mode_chess){
if(i.indexOf('treasure_')==0){
lib.treasurelist.push(i);
@ -1562,7 +1563,7 @@ mode.chess={
else if(i.indexOf('chess_mech_')==0){
lib.mechlist.push(i);
}
if(!playback&&i.indexOf('leader_')==0&&get.config('chess_mode')!='leader') continue;
if(!playback&&i.indexOf('leader_')==0&&_status.mode!='leader') continue;
lib.character[i]=lib.characterPack.mode_chess[i];
if(!lib.character[i][4]){
lib.character[i][4]=[];
@ -1572,7 +1573,7 @@ mode.chess={
if(get.config('chess_card')){
lib.card.list=lib.card.list.concat(lib.chess_cardlist);
}
if(parseFloat(get.config('chess_obstacle'))>0&&get.config('chess_mode')!='tafang'){
if(parseFloat(get.config('chess_obstacle'))>0&&_status.mode!='tafang'){
lib.card.list=lib.card.list.concat(lib.chess_obstaclelist);
delete lib.chess_obstaclelist
}
@ -1610,7 +1611,7 @@ mode.chess={
}
}
else{
switch(get.config('chess_mode')){
switch(_status.mode){
case 'leader':{
game.leaderView();
break;
@ -1665,14 +1666,14 @@ mode.chess={
var num=Math.round((_status.mylist.length+_status.enemylist.length)/2);
var friend,enemy;
var side;
if(get.config('chess_mode')=='leader'){
if(_status.mode=='leader'){
side=true;
}
else{
side=Math.random()<0.5;
}
if(get.config('chess_mode')=='tafang'){
if(_status.mode=='tafang'){
ui.chesswidth=parseInt(get.config('tafang_size'));
ui.chessheight=11;
}
@ -1772,7 +1773,7 @@ mode.chess={
event.obs=[];
if(!event.video){
var tafanglist=[0,2,3,5,6,8,9,11,12];
if(get.config('chess_mode')=='tafang'){
if(_status.mode=='tafang'){
for(var i=0;i<ui.chessheight-1;i++){
for(var j=0;j<ui.chesswidth;j++){
if(i>=8&&j!=0&&j!=ui.chesswidth-1) continue;
@ -1936,7 +1937,7 @@ mode.chess={
game.addVideo('initobs',null,event.obs);
}
if(get.config('chess_mode')=='tafang'){
if(_status.mode=='tafang'){
ui.me.querySelector('.fakeme.player').hide();
ui.me.querySelector('.fakeme.avatar').hide();
@ -1980,7 +1981,7 @@ mode.chess={
event.trigger('gameStart');
game.gameDraw(p);
game.me.classList.add('current_action');
if(get.config('chess_mode')=='leader'){
if(_status.mode=='leader'){
game.phaseLoopOrdered(p);
}
else if(get.config('chess_ordered')){
@ -2074,12 +2075,12 @@ mode.chess={
concat(lib.rank.bm).
concat(lib.rank.c).
concat(lib.rank.d);
lib.rank.common=[];
lib.rank.rarity.common=[];
for(var i=0;i<lib.rank.all.length;i++){
if(!lib.rank.legend.contains(lib.rank.all[i])&&
!lib.rank.epic.contains(lib.rank.all[i])&&
!lib.rank.rare.contains(lib.rank.all[i])){
lib.rank.common.push(lib.rank.all[i]);
if(!lib.rank.rarity.legend.contains(lib.rank.all[i])&&
!lib.rank.rarity.epic.contains(lib.rank.all[i])&&
!lib.rank.rarity.rare.contains(lib.rank.all[i])){
lib.rank.rarity.common.push(lib.rank.all[i]);
}
}
delete window.characterRank;
@ -2251,7 +2252,7 @@ mode.chess={
return aa>bb?1:-1;
});
if(game.data.character.length==0||!game.data.challenge){
game.data.character=lib.rank.common.randomGets(3);
game.data.character=lib.rank.rarity.common.randomGets(3);
game.data.challenge=game.getLeaderList();
game.saveData();
}
@ -2594,7 +2595,7 @@ mode.chess={
case 'epic':_status.challengeMoney=400;break;
case 'legend':_status.challengeMoney=1600;break;
}
var rank=game.getRank(_status.challenge);
var rank=get.rank(_status.challenge);
var total=Math.max(2,_status.mylist.length-1);
var list;
switch(rank){
@ -2654,7 +2655,7 @@ mode.chess={
var numdel=_status.enemylist.length-_status.mylist.length;
var reward=0;
for(var i=0;i<_status.enemylist.length;i++){
switch(game.getRank(_status.enemylist[i])){
switch(get.rank(_status.enemylist[i])){
case 's':reward+=50;break;
case 'ap':reward+=40;break;
case 'a':reward+=32;break;
@ -2675,7 +2676,7 @@ mode.chess={
}
var punish=0;
for(var i=0;i<_status.mylist.length;i++){
switch(game.getRank(_status.mylist[i])){
switch(get.rank(_status.mylist[i])){
case 's':punish+=25;break;
case 'ap':punish+=20;break;
case 'a':punish+=16;break;
@ -3410,20 +3411,6 @@ mode.chess={
saveData:function(){
game.save(get.config('chess_leader_save'),game.data);
},
getRank:function(name){
if(name==_status.lord) return 'ap';
var rank=lib.rank;
if(rank.s.contains(name)) return 's';
if(rank.ap.contains(name)) return 'ap';
if(rank.a.contains(name)) return 'a';
if(rank.am.contains(name)) return 'am';
if(rank.bp.contains(name)) return 'bp';
if(rank.b.contains(name)) return 'b';
if(rank.bm.contains(name)) return 'bm';
if(rank.c.contains(name)) return 'c';
if(rank.d.contains(name)) return 'd';
return 'x';
},
getLeaderList:function(){
var list=lib.rank.all.slice(0);
for(var i=0;i<game.data.character.length;i++){
@ -3445,13 +3432,13 @@ mode.chess={
if(Math.random()<pleg){
game.data.legend=0;
game.saveData();
return lib.rank.legend.randomGet();
return lib.rank.rarity.legend.randomGet();
}
game.data.legend++;
game.saveData();
if(Math.random()<0.05) return lib.rank.epic.randomGet();
if(Math.random()<0.3) return lib.rank.rare.randomGet();
return lib.rank.common.randomGet();
if(Math.random()<0.05) return lib.rank.rarity.epic.randomGet();
if(Math.random()<0.3) return lib.rank.rarity.rare.randomGet();
return lib.rank.rarity.common.randomGet();
},
changeMoney:function(num){
game.data.money+=num;
@ -3464,7 +3451,7 @@ mode.chess={
ui.money.childNodes[1].innerHTML=game.data.dust;
},
getRarity:function(name){
var rank=lib.rank;
var rank=lib.rank.rarity;
if(rank.legend.contains(name)) return 'legend';
if(rank.epic.contains(name)) return 'epic';
if(rank.rare.contains(name)) return 'rare';
@ -3694,6 +3681,9 @@ mode.chess={
_status.mylist=result.links.slice(0);
if(ui.coin){
_status.coinCoeff=get.coinCoeff(_status.mylist);
}
for(var i=0;i<result.links.length;i++){
event.list.remove(result.links[i]);
}
@ -4937,7 +4927,7 @@ mode.chess={
delay:false,
preservecancel:true,
filter:function(event,player){
if(get.config('chess_mode')=='tafang') return false;
if(_status.mode=='tafang') return false;
var num=0;
var xy=player.getXY();
if(game.obstacles.contains(player.getNeighbour(-1,0))||xy[0]==0) num++;
@ -5066,7 +5056,7 @@ mode.chess={
order:5,
result:{
playerx:function(player){
if(get.config('chess_mode')=='tafang'&&_status.enemies.contains(player)){
if(_status.mode=='tafang'&&_status.enemies.contains(player)){
return 1;
}
var nh=player.num('h');
@ -5444,7 +5434,7 @@ mode.chess={
create:{
playergrid:function(player,x,y){
var pos=player.getDataPos(x,y);
if(get.config('chess_mode')=='tafang'){
if(_status.mode=='tafang'){
if(pos<ui.chesswidth) return false;
if(pos/ui.chesswidth>=ui.chessheight-1) return false;
}
@ -5763,6 +5753,188 @@ mode.chess={
['heart',8,'chess_chuzhang'],
// ['diamond',9,'chess_chuzhang'],
],
rank:{
rarity:{
legend:[
'swd_muyun',
'shen_caocao',
'swd_zhaoyun',
'swd_septem',
'hs_sthrall',
'hs_malorne',
'swd_yuwentuo',
'swd_duguningke',
'swd_guyue',
'swd_yuxiaoxue',
'swd_huanglei',
'pal_liumengli',
'pal_yuntianhe',
'swd_xuanyuanjianxian',
'diaochan',
'gjqt_aruan',
'hs_neptulon',
'shen_lvbu',
'swd_qi',
'swd_huzhongxian',
'jg_liubei',
'hs_medivh',
'shen_zhugeliang',
'yxs_wuzetian',
'sp_pangtong',
'swd_murongshi',
'shen_lvmeng',
'chenlin',
'hs_zhouzhuo',
'diy_caiwenji',
're_luxun',
'shen_zhaoyun',
'zhangchunhua',
'shen_zhouyu',
'shen_simayi',
'shen_guanyu',
'hs_siwangzhiyi',
],
epic:[
'xk_fujianhan',
'diy_zhenji',
'swd_jipeng',
'swd_cheyun',
'pal_xuanxiao',
'old_zhonghui',
'swd_tuobayuer',
'gjqt_bailitusu',
'xunyu',
'swd_jiliang',
'liuxie',
'hs_totemic',
'zhangxingcai',
'swd_muyue',
'pal_zixuan',
'hs_bchillmaw',
'swd_lanyin',
'gjqt_xiayize',
'hs_edwin',
'hs_antonidas',
'swd_chenjingchou',
'yxs_yangyuhuan',
'gjqt_fengqingxue',
'pal_xuejian',
'xunyou',
're_daqiao',
're_zhouyu',
'hs_wvelen',
'zhugeke',
'jg_xiahouyuan',
'swd_kama',
'swd_anka',
'xk_guyuexuan',
'caozhi',
'wuguotai',
'yxs_aijiyanhou',
'swd_zhiyin',
're_guanyu',
'sp_diaochan',
'swd_huanyuanzhi',
'swd_kangnalishi',
're_huanggai',
'hs_alakir',
'swd_xiarou',
'pal_murongziying',
'swd_wangsiyue',
'gjqt_fanglansheng',
'swd_qiner',
'hs_xsylvanas',
],
rare:[
'yxs_diaochan',
'hs_anduin',
'swd_hengai',
'hs_wuther',
'jg_pangtong',
'lusu',
'bulianshi',
'swd_shuijing',
'swd_sikongyu',
'zhangliao',
'liufeng',
'diy_yuji',
're_zhangliao',
'caoang',
'pal_jingtian',
'swd_shanxiaoxiao',
'yxs_caocao',
'jianyong',
'manchong',
'swd_linyue',
'swd_xuanyuanjiantong',
'swd_maixing',
'diy_xuhuang',
'dengai',
'hs_jaina',
'zhonghui',
'gjqt_xiangling',
'zhugejin',
'swd_jiuyou',
'diy_zhouyu',
'pal_changqing',
'swd_yuchiyanhong',
'swd_duopeng',
'swd_yuli',
'swd_rongshuang',
'taishici',
'pal_zhaoliner',
're_machao',
'zhanghe',
'zhangzhang',
'xin_fazheng',
'caochong',
'caifuren',
'jg_caozhen',
'jg_zhanghe',
'xin_masu',
'swd_situqiang',
'hs_malfurion',
'yxs_bole',
'yj_jushou',
'gjqt_yuewuyi',
'hs_mijiaojisi',
'yxs_mozi',
'gjqt_hongyu',
'hs_waleera',
'zhangsong',
'sp_dongzhuo',
'jiangwei',
'swd_chunyuheng',
'hetaihou',
'swd_jiangziya',
'liushan',
'zhugedan',
'sp_zhaoyun',
're_huatuo',
'swd_nicole',
'sp_jiangwei',
'swd_zhuoshanzhu',
'swd_shaowei',
'caopi',
'jiaxu',
'maliang',
'lingtong',
'wangyi',
'chenqun',
'mifuren',
'pal_linyueru',
'jg_simayi',
'jg_huangyueying',
'jg_zhugeliang',
'swd_jialanduo',
'sp_machao',
'caiwenji',
'hs_yngvar',
're_xushu',
're_huangyueying',
],
}
},
posmap:{},
help:{},
}

View File

@ -91,6 +91,9 @@ mode.guozhan={
}
game.chooseCharacter();
"step 3"
if(ui.coin){
_status.coinCoeff=get.coinCoeff([game.me.name1,game.me.name2]);
}
if(lib.storage.test){
var str='';
for(var i=0;i<game.players.length;i++){
@ -177,6 +180,7 @@ mode.guozhan={
game.over('战斗胜利');
}
}
game.showIdentity();
},
chooseCharacter:function(){
var next=game.createEvent('chooseCharacter',false);

View File

@ -4,7 +4,7 @@ mode.identity={
getIdentityList:function(player){
if(player.identityShown) return;
if(player==game.me) return;
if(get.config('identity_mode')=='zhong'){
if(_status.mode=='zhong'){
if(game.zhu&&game.zhu.isZhu){
return {
fan:'反',
@ -55,6 +55,7 @@ mode.identity={
if(!lib.config.new_tutorial){
ui.arena.classList.add('only_dialog');
}
_status.mode=get.config('identity_mode');
"step 1"
var playback=localStorage.getItem(lib.configprefix+'playback');
if(playback){
@ -76,7 +77,7 @@ mode.identity={
event.finish();
}
else{
if(get.config('identity_mode')=='zhong'){
if(_status.mode=='zhong'){
game.prepareArena(8);
}
else{
@ -137,78 +138,6 @@ mode.identity={
ui.create.dialog('触屏模式中,下划可以显示菜单,上划可以切换托管,双指单击可以暂停');
ui.dialog.add('<div class="text center">你可以在选项-通用-中更改手势设置');
ui.create.control('继续',step4);
// var node=ui.create.div('.tutorial_tap',ui.window);
// var nodefunc=function(){
// setTimeout(function(){
// node.style.top='20px';
// node.style.left='10%';
// setTimeout(function(){
// node.style.transition='all 0.2s';
// node.style.opacity=0;
// setTimeout(function(){
// node.style.opacity='';
// setTimeout(function(){
// node.style.transition='';
// },300);
// },300);
// },1200);
// setTimeout(function(){
// node.style.left='calc(90% - 30px)';
// setTimeout(function(){
// node.style.transition='all 0.2s';
// node.style.opacity=0;
// setTimeout(function(){
// node.style.opacity='';
// setTimeout(function(){
// node.style.transition='';
// },300);
// },300);
// },1200);
// setTimeout(function(){
// node.style.top='';
// node.style.left='';
// },2000);
// },2000);
// },1000);
// };
// nodefunc();
// var interval=setInterval(nodefunc,7000);
// var interval2,node2;
// var double=true;
// ui.create.control('继续',function(){
// if(double){
// node2=ui.create.div('.tutorial_tap',ui.window);
// ui.refresh(node2);
// node2.style.top='20px';
// node2.style.left='calc(50% - 15px)';
// interval2=setInterval(function(){
// node2.style.transition='all 0.2s';
// node2.style.opacity=0;
// setTimeout(function(){
// node2.style.opacity='';
// setTimeout(function(){
// node2.style.opacity=0;
// setTimeout(function(){
// node2.style.opacity='';
// setTimeout(function(){
// node2.style.transition='';
// },300);
// },300);
// },300);
// },300);
// },3000);
// clearInterval(interval);
// node.delete();
// double=false;
// ui.dialog.close();
// ui.create.dialog('双击顶部可令界面下移,方便进行标身份等操作');
// }
// else{
// clearInterval(interval2);
// node2.delete();
// step4();
// }
// });
}
else{
step4();
@ -262,6 +191,9 @@ mode.identity={
}
game.chooseCharacter();
"step 4"
if(ui.coin){
_status.coinCoeff=get.coinCoeff([game.me.name]);
}
if(game.players.length==2){
game.showIdentity(true);
}
@ -276,7 +208,7 @@ mode.identity={
game.zhu=game.zhu2;
delete game.zhu2;
}
if(get.config('identity_mode')!='zhong'&&get.config('enhance_zhu')&&get.population('fan')>=3){
if(_status.mode!='zhong'&&get.config('enhance_zhu')&&get.population('fan')>=3){
var skill;
switch(game.zhu.name){
case 'liubei':skill='jizhen';break;
@ -459,7 +391,7 @@ mode.identity={
var list2=[];
var list3=[];
var identityList;
if(get.config('identity_mode')=='zhong'){
if(_status.mode=='zhong'){
event.zhongmode=true;
identityList=['zhu','zhong','mingzhong','nei','fan','fan','fan','fan'];
}
@ -1073,33 +1005,6 @@ mode.identity={
}
}
},
ui:{
click:{
// identity:function(){
// if(_status.dragged) return;
// _status.clicked=true;
// if(this.parentNode.identityShown) return;
// if(this.parentNode==game.me) return;
// if(get.config('identity_mode')=='zhong'){
// switch(this.firstChild.innerHTML){
// case '猜':this.firstChild.innerHTML='反';this.dataset.color='fan';break;
// case '反':this.firstChild.innerHTML='忠';this.dataset.color='zhong';break;
// case '忠':this.firstChild.innerHTML='内';this.dataset.color='nei';break;
// case '内':this.firstChild.innerHTML='主';this.dataset.color='zhu';break;
// case '主':this.firstChild.innerHTML='猜';this.dataset.color='cai';break;
// }
// }
// else{
// switch(this.firstChild.innerHTML){
// case '猜':this.firstChild.innerHTML='反';this.dataset.color='fan';break;
// case '反':this.firstChild.innerHTML='忠';this.dataset.color='zhong';break;
// case '忠':this.firstChild.innerHTML='内';this.dataset.color='nei';break;
// case '内':this.firstChild.innerHTML='猜';this.dataset.color='cai';break;
// }
// }
// }
}
},
config:['player_number','double_character','double_hp',
'ban_weak','enhance_zhu','free_choose','change_identity',
'change_choice','change_card','dierestart','swap','revive',

File diff suppressed because it is too large Load Diff

View File

@ -452,6 +452,8 @@ mode.versus={
"step 1"
_status.friendDied=[];
_status.enemyDied=[];
_status.totalCount=_status.friend.length;
_status.coinCoeff=get.coinCoeff(_status.friend);
ui.auto.show();
ui.wuxie.show();

28
play/coin.js Normal file
View File

@ -0,0 +1,28 @@
play.coin={
init:function(){
if(lib.config.mode!='chess'||get.config('chess_mode')!='leader'){
_status.coin=0;
}
},
arenaReady:function(){
if(_status.video) return;
if(lib.config.mode!='chess'||get.config('chess_mode')!='leader'){
ui.coin=ui.create.system('<span style="position:absolute">㉤</span><span style="margin-left:18px;font-family:xinwei;line-height:10px">'+lib.config.coin+'</span>',null,true);
}
},
game:{
changeCoin:function(num){
if(typeof num=='number'&&ui.coin){
game.saveConfig('coin',lib.config.coin+num);
ui.coin.lastChild.innerHTML=lib.config.coin;
}
},
},
help:{
'富甲天下':'<ul><li>每完成一次对局,可获得一定数量的金币'+
'<li>战斗胜利可额外获得20金币每杀死一个敌人可获得10金币托管无效'+
'<li>使用的武将越强,获得的金币数越少'+
'<li>每进行一次作弊扣除20金币'+
'<li>金币暂时还没什么用〜'
}
}