This commit is contained in:
libccy 2016-11-04 18:09:20 +08:00
parent 09b280b2ee
commit f38ca4fee0
46 changed files with 2301 additions and 77 deletions

184
card/basic.js Normal file
View File

@ -0,0 +1,184 @@
'use strict';
card.basic={
connect:true,
card:{
yexingchengzhang:{
cost:2,
class:'druid',
},
ailongbakebaohuzhe:{
cost:8,
class:'druid',
attack:8,
health:8,
skill:{
taunt:true
},
},
dongwuhuoban:{
cost:3,
class:'hunter'
},
xunshoushi:{
cost:4,
class:'hunter',
attack:4,
health:3,
skill:{
battlecry:{}
},
},
hanbingjian:{
cost:2,
class:'mage',
},
shuiyuansu:{
cost:4,
class:'mage',
attack:3,
health:6,
skill:{
freeze:{}
},
},
fengxian:{
cost:4,
class:'paladin'
},
liewangshouwei:{
cost:7,
class:'paladin',
attack:5,
health:6,
skill:{
battlecry:{}
}
},
zhenyanshudun:{
cost:1,
class:'priest'
},
beijunmushi:{
cost:1,
class:'priest',
attack:1,
health:3,
skill:{
heal:{}
}
},
beici:{
cost:0,
class:'rogue'
},
cikezhiren:{
cost:5,
class:'rogue',
attack:3,
duration:4,
},
yaoshu:{
cost:3,
class:'shaman'
},
huoyuansu:{
cost:6,
class:'shaman',
attack:6,
health:5,
skill:{
battlecry:{}
}
},
diyulieyan:{
cost:4,
class:'warlock'
},
xukongxingzhe:{
cost:1,
class:'warlock',
attack:1,
health:3,
race:'deamon',
skill:{
taunt:true
}
},
chiyanzhanfu:{
cost:2,
class:'warrior',
attack:3,
duration:2,
},
zhangezhihuiguan:{
cost:3,
class:'warrior',
attack:2,
health:3,
skill:{
zhihui:{}
}
},
lansaizhanshi:{
cost:2,
class:'neutral',
attack:2,
health:1,
race:'murlock',
skill:{
charge:true
}
},
zhurufamingjia:{
cost:4,
class:'neutral',
attack:2,
health:4,
skill:{
battlecry:{}
}
}
},
translate:{
yexingchengzhang:'野性成长',
yexingchengzhang_info:'获得一个空的法力水晶',
ailongbakebaohuzhe:'埃隆巴克保护者',
ailongbakebaohuzhe_info:'嘲讽',
dongwuhuoban:'动物伙伴',
dongwuhuoban_info:'随机召唤一个野兽伙伴',
xunshoushi:'驯兽师',
xunshoushi_info:'<b>战吼</b>:使一个友方野兽获得+2/+2并获得<b>嘲讽</b>',
hanbingjian:'寒冰箭',
hanbingjian_info:'对一个角色造成3点伤害并使其<b>冻结</b>',
shuiyuansu:'水元素',
shuiyuansu_info:'<b>冻结</b>任何受到该随从伤害的角色',
fengxian:'奉献',
fengxian_info:'对所有敌人造成2点伤害',
liewangshouwei:'列王守卫',
liewangshouwei_info:'<b>战吼</b>为你的英雄恢复6点生命值',
zhenyanshudun:'真言术·盾',
zhenyanshudun_info:'使一个随从获得+2生命值。抽一张牌',
beijunmushi:'北郡牧师',
beijunmushi_info:'每当一个随从获得治疗时,抽一张牌',
beici:'背刺',
beici_info:'对一个未受伤的随从造成2点伤害',
cikezhiren:'刺客之刃',
cikezhiren_info:' ',
yaoshu:'妖术',
yaoshu_info:'使一个随从变形成为一个0/1并具有<b>嘲讽</b>的青蛙',
huoyuansu:'火元素',
huoyuansu_info:'<b>战吼</b>造成3点伤害',
diyulieyan:'地狱烈焰',
diyulieyan_info:'对所有角色造成3点伤害',
xukongxingzhe:'虚空行者',
xukongxingzhe_info:'<b>嘲讽</b>',
chiyanzhanfu:'炽炎战斧',
chiyanzhanfu_info:' ',
zhangezhihuiguan:'战歌指挥官',
zhangezhihuiguan_info:'你的具有<b>冲锋</b>的随从获得+1攻击力',
lansaizhanshi:'蓝鳃战士',
lansaizhanshi_info:'<b>冲锋</b>',
zhurufamingjia:'侏儒发明家',
zhurufamingjia_info:'<b>战吼</b>:抽一张牌',
},
}

10
card/classic.js Normal file
View File

@ -0,0 +1,10 @@
'use strict';
card.classic={
connect:true,
card:{
},
translate:{
},
}

10
card/naxx.js Normal file
View File

@ -0,0 +1,10 @@
'use strict';
card.naxx={
connect:true,
card:{
},
translate:{
},
}

4
character/classic.js Normal file
View File

@ -0,0 +1,4 @@
'use strict';
character.classic={
}

View File

@ -0,0 +1,96 @@
play.hsmod={
arenaReady:function(){
var data={
total:160,
sha:{
diamond:6,
club:14,
heart:3,
spade:7,
},
huosha:{
diamond:2,
heart:3
},
leisha:{
spade:5,
club:4
},
shan:{
heart:6,
diamond:18
},
jiu:{
diamond:1,
spade:2,
club:2
},
tao:{
heart:9,
diamond:3,
},
wanjian:{
heart:1,
},
nanman:{
spade:2,
club:1,
},
guohe:{
spade:3,
club:2,
heart:1
},
shunshou:{
spade:3,
diamond:2
},
wuxie:{
heart:2,
diamond:1,
spade:2,
club:2
},
tiesuo:{
spade:2,
club:4
}
}
var rand=function(){
return Math.ceil(Math.random()*13);
};
var getn=function(i,j){
return Math.round(data[i][j]*parseFloat(lib.config['cardpile_'+i+'_playpackconfig']));
};
var num=0;
for(var i in data){
for(var j in data[i]){
num+=getn(i,j);
}
}
var dn=num*(lib.card.list.length-data.total)/(data.total-num);
if(dn>1000) dn=1000;
if(dn>0){
var p=0;
for(var i in data){
for(var j in data[i]){
var n=Math.round(dn*getn(i,j)/num);
while(n--){
if(i=='huosha'){
lib.card.list.push([j,rand(),'sha','fire']);
}
else if(i=='leisha'){
lib.card.list.push([j,rand(),'sha','thunder']);
}
else{
lib.card.list.push([j,rand(),i]);
}
}
}
}
}
},
help:{
'牌堆补充':'<ul><li>将杀闪等牌在牌堆中的比例维持在与军争牌堆相同,防止开启扩展包后重要的牌被过多地稀释'
},
}

View File

@ -1,5 +1,5 @@
window.noname_asset_list=[
'1.9.2',
'1.9.3',
'image/background/huangtian_bg.jpg',
'image/background/shengshi_bg.jpg',
'image/background/xueji_bg.jpg',
@ -715,6 +715,16 @@ window.noname_asset_list=[
'image/character/zhuzhi.jpg',
'image/character/zumao.jpg',
'image/character/zuoci.jpg',
'image/class/druid.png',
'image/class/hunter.png',
'image/class/knight.png',
'image/class/mage.png',
'image/class/paladin.png',
'image/class/priest.png',
'image/class/rogue.png',
'image/class/shaman.png',
'image/class/warlock.png',
'image/class/warrior.png',
'image/mode/boss/character/boss_baiwuchang.jpg',
'image/mode/boss/character/boss_caiwenji.jpg',
'image/mode/boss/character/boss_chi.jpg',
@ -788,16 +798,6 @@ window.noname_asset_list=[
'image/mode/tafang/character/tafang_mech_toushiche.jpg',
'image/mode/tafang/character/tafang_mech_tutengzhen.jpg',
'image/mode/tafang/character/tafang_mech_weixingxianjing.jpg',
'image/mode/stone/career/druid.png',
'image/mode/stone/career/hunter.png',
'image/mode/stone/career/knight.png',
'image/mode/stone/career/mage.png',
'image/mode/stone/career/paladin.png',
'image/mode/stone/career/priest.png',
'image/mode/stone/career/rogue.png',
'image/mode/stone/career/shaman.png',
'image/mode/stone/career/warlock.png',
'image/mode/stone/career/warrior.png',
'image/mode/stone/character/stone_chilundashi.jpg',
'image/mode/stone/character/stone_aidewen.jpg',
'image/mode/stone/character/stone_aihaozhihun.jpg',

View File

@ -27,7 +27,8 @@ window.config={
forbiddouble:['zhugedan','swd_kangnalishi','dongzhuo','wutugu','jg_simayi','hs_siwangzhiyi','hs_ronghejuren','hs_shanlingjuren'],
layoutfixed:['chess','brawl'],
all:{
stockmode:['identity','guozhan','versus','boss','chess','stone','connect','brawl','tafang'],
stockmode:['identity','guozhan','versus','boss','chess','stone','connect','brawl','tafang','hearthstone'],
stockextension:['boss','cardpile','character','coin','soldier','weather','wuxing','hs_mod'],
layout:['default','newlayout'],
theme:['woodden','music','simple'],
card_font:['xiaozhuan','huangcao','caoshu','xingshu'],
@ -272,7 +273,7 @@ window.config={
right_click:'pause',
sort:'type_sort',
cards:['standard','ex','extra','sp'],
cards:['standard','ex','extra','sp','classic','basic'],
characters:['standard','shenhua','refresh','sp','yijiang'],
connect_characters:[],
connect_cards:[],

View File

@ -149,6 +149,18 @@
general:{
name:'通用',
config:{
// game:{
// name:'游戏模式',
// init:'sgs',
// item:{
// sgs:'三国杀',
// hs:'炉石传说',
// },
// onclick:function(item){
// game.saveConfig('game',item);
// game.reload();
// }
// },
low_performance:{
name:'流畅模式',
init:false,
@ -190,10 +202,12 @@
wuxie_self:{
name:'不无懈自己',
init:true,
game:'sgs',
},
tao_enemy:{
name:'不对敌将使用桃',
init:false,
game:'sgs',
},
touchscreen:{
name:'触屏模式',
@ -272,6 +286,7 @@
show_splash:{
name:'显示开始界面',
init:false,
game:'sgs',
},
game_speed:{
name:'游戏速度',
@ -479,6 +494,7 @@
layout:{
name:'布局',
init:'mobile',
game:'sgs',
item:{
default:'旧版',
newlayout:'对称',
@ -500,9 +516,24 @@
}
}
},
layouths:{
name:'布局',
init:'mobile',
game:'hs',
item:{
mobile:'默认',
phone:'移动'
},
onclick:function(layout){
game.saveConfig('layouths',layout);
lib.config.layout=layout;
lib.init.layout(layout,true);
}
},
textequip:{
name:'装备显示',
init:'image',
game:'sgs',
item:{
image:'图片',
text:'文字',
@ -654,11 +685,12 @@
},
change_skin:{
name:'双击换肤',
init:true
init:true,
},
card_style:{
name:'卡牌样式',
init:'default',
game:'sgs',
item:{
default:'默认',
wood:'木纹',
@ -697,6 +729,7 @@
hp_style:{
name:'体力条样式',
init:'default',
game:'sgs',
item:{
default:'默认',
official:'勾玉',
@ -745,6 +778,7 @@
show_log:{
name:'历史记录栏',
init:'off',
game:'sgs',
unfrequent:true,
item:{
off:'关闭',
@ -767,6 +801,7 @@
clear_log:{
name:'自动清除历史记录',
init:false,
game:'sgs',
unfrequent:true,
},
log_highlight:{
@ -778,6 +813,7 @@
name:'当前回合角色高亮',
unfrequent:true,
init:'yellow',
game:'sgs',
item:{
none:'无',
yellow:'黄色',
@ -800,6 +836,7 @@
mark_identity_style:{
name:'标记身份操作',
unfrequent:true,
game:'sgs',
init:'menu',
item:{
menu:'菜单',
@ -878,16 +915,19 @@
},
hide_card_prompt_basic:{
name:'隐藏基本牌提示',
game:'sgs',
init:false,
unfrequent:true,
},
hide_card_prompt_equip:{
name:'隐藏装备牌提示',
game:'sgs',
init:false,
unfrequent:true,
},
show_phase_prompt:{
name:'显示阶段提示',
game:'sgs',
init:true,
unfrequent:true,
},
@ -904,21 +944,25 @@
auto_popped_config:{
name:'自动弹出选项',
init:true,
game:'sgs',
unfrequent:true,
},
auto_popped_history:{
name:'自动弹出历史',
init:false,
game:'sgs',
unfrequent:true,
},
remember_dialog:{
name:'记住对话框位置',
init:false,
game:'sgs',
unfrequent:true,
},
reset_dialog:{
name:'重置对话框位置',
clear:true,
game:'sgs',
unfrequent:true,
onclick:function(){
if(ui.dialog){
@ -961,6 +1005,7 @@
character_dialog_tool:{
name:'自由选将显示',
init:'最近',
game:'sgs',
item:{
'收藏':'收藏',
'最近':'最近',
@ -972,6 +1017,7 @@
recent_character_number:{
name:'最近使用武将',
init:'12',
game:'sgs',
item:{
'6':'6',
'12':'12',
@ -983,6 +1029,7 @@
show_favourite:{
name:'显示添加收藏',
init:true,
game:'sgs',
unfrequent:true
},
hide_card_image:{
@ -990,10 +1037,12 @@
init:false,
unfrequent:true,
restart:true,
game:'sgs',
},
show_name:{
name:'显示武将名',
init:false,
game:'sgs',
unfrequent:true,
onclick:function(bool){
game.saveConfig('show_name',bool);
@ -1026,6 +1075,7 @@
show_playerids:{
name:'显示身份按钮',
init:true,
game:'sgs',
unfrequent:true,
onclick:function(bool){
game.saveConfig('show_playerids',bool);
@ -1082,6 +1132,7 @@
show_cardpile:{
name:'显示牌堆按钮',
init:true,
game:'sgs',
unfrequent:true,
onclick:function(bool){
game.saveConfig('show_cardpile',bool);
@ -1096,6 +1147,7 @@
show_handcardbutton:{
name:'显示手牌按钮',
init:true,
game:'sgs',
unfrequent:true,
onclick:function(bool){
game.saveConfig('show_handcardbutton',bool);
@ -1104,6 +1156,7 @@
show_wuxie:{
name:'显示不询问无懈',
init:false,
game:'sgs',
unfrequent:true,
onclick:function(bool){
game.saveConfig('show_wuxie',bool);
@ -1118,6 +1171,7 @@
show_discardpile:{
name:'暂停时显示弃牌堆',
init:false,
game:'sgs',
unfrequent:true,
},
title:{
@ -1161,6 +1215,7 @@
jiu_effect:{
name:'喝酒效果',
init:true,
game:'sgs',
unfrequent:true,
},
die_flip:{
@ -1193,6 +1248,7 @@
link_style:{
name:'横置样式',
init:'rotate',
game:'sgs',
unfrequent:true,
item:{
rotate:'横置',
@ -1226,6 +1282,7 @@
},
identity_font:{
name:'身份字体',
game:'sgs',
init:'huangcao',
unfrequent:true,
item:{},
@ -1513,6 +1570,7 @@
},
reset_hiddenpack:{
name:'重置隐藏扩展包',
game:'sgs',
onclick:function(){
if(this.innerHTML!='已重置'){
this.innerHTML='已重置'
@ -1568,6 +1626,7 @@
},
trim_game:{
name:'隐藏非官方扩展包',
game:'sgs',
onclick:function(){
if(this.innerHTML!='已隐藏'){
this.innerHTML='已隐藏';
@ -1936,6 +1995,31 @@
}
},
},
hsmod:{
enable:{
name:'开启',
init:false,
restart:true,
onclick:function(bool){
if(bool){
lib.config.plays.add('hsmod');
}
else{
lib.config.plays.remove('hsmod');
}
game.saveConfig('plays',lib.config.plays);
}
},
hide:{
name:'隐藏此扩展',
clear:true,
onclick:function(){
this.innerHTML='此扩展将在重启后隐藏';
lib.config.hiddenPlayPack.add('hsmod');
game.saveConfig('hiddenPlayPack',lib.config.hiddenPlayPack);
}
},
},
},
mode:{
identity:{
@ -3592,11 +3676,12 @@
if(window.isNonameServer){
lib.config.mode='connect';
}
if(lib.config.hearth){
if(lib.config.game=='hs'){
character.pack=character.hearthpack;
card.pack=card.hearthpack;
play.pack=play.hearthpack;
mode.pack=mode.hearthpack;
mode.pack=[];
lib.config.mode='hearthstone';
}
for(i in character.pack){
if(lib.config.hiddenCharacterPack.indexOf(i)==-1){
@ -3627,7 +3712,7 @@
}
}
}
if(lib.config.all.mode.length==0){
if(lib.config.all.mode.length==0&&lib.config.game=='sgs'){
lib.config.all.mode.push('identity');
lib.translate.identity='身份';
if(!lib.config.gameRecord.identity){
@ -3688,6 +3773,7 @@
game.saveConfig('confirm_exit',true);
if(!lib.ipad){
game.saveConfig('layout','phone');
game.saveConfig('layouths','phone');
}
}
delete lib.ipad;
@ -3699,9 +3785,13 @@
localStorage.setItem(lib.configprefix+'disable_extension',true);
}
}
var extensionlist;
var extensionlist=[];
if(!localStorage.getItem(lib.configprefix+'disable_extension')){
extensionlist=lib.config.plays.slice(0);
for(var i=0;i<lib.config.plays.length;i++){
if(lib.config.all.plays.indexOf(lib.config.plays[i])!=-1){
extensionlist.push(lib.config.plays[i]);
}
}
for(var i=0;i<lib.config.extensions.length;i++){
var extcontent=localStorage.getItem(lib.configprefix+'extension_'+lib.config.extensions[i]);
if(extcontent){
@ -3720,7 +3810,6 @@
}
}
else{
extensionlist=[];
for(var i=0;i<lib.config.extensions.length;i++){
game.import('extension',{name:lib.config.extensions[i]});
}
@ -3743,6 +3832,10 @@
toLoad++;
lib.init.js(lib.assetURL+'mode',lib.config.mode,packLoaded,packLoaded);
}
else if(lib.config.game=='hs'){
toLoad++;
lib.init.js(lib.assetURL+'mode','hearthstone',packLoaded,packLoaded);
}
else if((localStorage.getItem(lib.configprefix+'directstart')||!lib.config.show_splash)&&
lib.config.all.mode.indexOf(lib.config.mode)!=-1){
toLoad++;
@ -3782,7 +3875,11 @@
ui.css={};
lib.init.css(lib.assetURL+'layout/default','menu');
var layout=lib.config.layout;
if(lib.config.layoutfixed.indexOf(lib.config.mode)!==-1){
if(lib.config.game=='hs'){
layout=lib.config.layouths;
lib.config.layout=layout;
}
else if(lib.config.layoutfixed.indexOf(lib.config.mode)!==-1){
if(layout=='default'){
layout='mobile';
}
@ -3803,7 +3900,8 @@
if(totouch){
game.saveConfig('touchscreen',true);
game.saveConfig('low_performance',true);
game.saveConfig('layout','phone');
game.saveConfig('layout','phone');
game.saveConfig('layouths','phone');
game.saveConfig('confirm_exit',true);
game.reload();
}
@ -4657,8 +4755,8 @@
return script;
}
},
layout:function(layout){
game.saveConfig('layout',layout);
layout:function(layout,nosave){
if(!nosave) game.saveConfig('layout',layout);
ui.arena.hide();
setTimeout(function(){
var layout=ui.css.layout;
@ -8660,7 +8758,7 @@
}
// var name=get.translation(character);
this.node.name.innerHTML=get.slimName(character);
if(!lib.config.show_name){
if(!lib.config.show_name||lib.config.game=='hs'){
this.node.name.style.display='none';
}
// for(var i=0;i<name.length;i++){
@ -8698,7 +8796,7 @@
// var name=get.translation(character2);
this.node.name2.innerHTML=get.slimName(character2);
if(!lib.config.show_name){
if(!lib.config.show_name||lib.config.game=='hs'){
this.node.name2.style.display='none';
}
// for(var i=0;i<name.length;i++){
@ -13141,6 +13239,9 @@
}
if(name.length>=5){
this.node.name.classList.add('long');
if(name.length>=7){
this.node.name.classList.add('longlong');
}
}
this.node.name2.innerHTML=get.translation(card[0])+card[1]+' '+name;
this.suit=card[0];
@ -13183,6 +13284,23 @@
if(_status.connectMode&&!game.online&&lib.cardOL&&!this.cardid){
this.cardid=get.id();
lib.cardOL[this.cardid]=this;
}
if(lib.config.game=='hs'){
var info=lib.card[card[2]];
if(info.class!='neutral'){
this.node.name.dataset.careercolor=info.class;
}
if(info.health){
this.node.info.innerHTML=info.attack+'/'+info.health;
}
else if(info.duration){
this.node.info.innerHTML=info.attack+'/'+info.duration;
}
else{
this.node.info.innerHTML='';
}
this.node.cost=ui.create.div('.cost',this);
this.node.cost.innerHTML=info.cost;
}
return this;
},
@ -20975,10 +21093,16 @@
clickContainer.call(menuContainer);
}
}
menux=createMenu(['开始','选项','武将','卡牌','扩展','其它'],{
position:menuContainer,bar:40
});
if(lib.config.game=='hs'){
menux=createMenu(['选项','卡牌','扩展','其它'],{
position:menuContainer,bar:95
});
}
else{
menux=createMenu(['开始','选项','武将','卡牌','扩展','其它'],{
position:menuContainer,bar:40
});
}
menu=menux.menu;
}
else{
@ -21021,6 +21145,7 @@
var copyObj=get.copy;
(function(){
if(lib.config.game=='hs') return;
var start=menuxpages.shift();
var rightPane=start.lastChild;
@ -21654,6 +21779,9 @@
// cfgnode.hide();
cfgnode.style.display='none';
}
if(cfg.game&&cfg.game!=lib.config.game){
cfgnode.style.display='none';
}
if(j=='import_data_button'){
ui.import_data_button=cfgnode;
cfgnode.hide();
@ -21769,6 +21897,7 @@
};
for(var i in lib.configMenu){
if(i=='skill'&&lib.config.game=='hs') continue;
createModeConfig(i,start.firstChild);
}
for(var i in lib.help){
@ -21836,6 +21965,7 @@
}());
(function(){
if(lib.config.game=='hs') return;
var start=menuxpages.shift();
var rightPane=start.lastChild;
@ -21908,6 +22038,9 @@
var info=lib.characterPack[mode];
var page=ui.create.div('');
var node=ui.create.div('.menubutton.large',lib.translate[mode+'_character_config'],position,clickMode);
if(node.innerHTML.length>=5){
node.classList.add('smallfont');
}
if(position2){
position.insertBefore(node,position2);
}
@ -22802,6 +22935,9 @@
var info=lib.cardPack[mode];
var page=ui.create.div('');
var node=ui.create.div('.menubutton.large',lib.translate[mode+'_card_config'],position,clickMode);
if(node.innerHTML.length>=5){
node.classList.add('smallfont');
}
node.link=page;
node.mode=mode;
var list=[];
@ -23057,7 +23193,7 @@
rightPane.appendChild(active.link);
(function(){
if(connectMenu) return;
if(connectMenu||lib.config.game=='hs') return;
var page=ui.create.div('.menu-buttons');
var node=ui.create.div('.menubutton.large','牌堆',clickMode);
start.firstChild.insertBefore(node,start.firstChild.querySelector('.lefttext'));
@ -23270,6 +23406,9 @@
}
else{
node=ui.create.div('.menubutton.large',lib.translate[mode+'_play_config'],position,clickMode);
}
if(node.innerHTML.length>=5){
node.classList.add('smallfont');
}
node.link=page;
node.mode=mode;
@ -23305,6 +23444,7 @@
return node;
};
for(var i in lib.extensionMenu){
if(lib.config.all.stockextension.contains(i)&&!lib.config.all.plays.contains(i)) continue;
if(lib.config.hiddenPlayPack.contains(i)) continue;
createModeConfig(i,start.firstChild);
}
@ -25876,6 +26016,7 @@
page.appendChild(ul);
}());
(function(){
if(lib.config.game=='hs') return;
var checkCheat=function(){
if(currentrow1&&currentrow2&&row3.querySelector('.glow')){
cheatButton.classList.add('glowing');
@ -26019,6 +26160,7 @@
});
}());
(function(){
if(lib.config.game=='hs') return;
var page=ui.create.div('');
var node=ui.create.div('.menubutton.large','换人',start.firstChild,clickMode);
node.link=page;
@ -27521,7 +27663,7 @@
ui.window.appendChild(ui.backgroundMusic);
ui.arenalog=ui.create.div('#arenalog',ui.arena);
if(lib.config.show_log=='off'){
if(lib.config.show_log=='off'||lib.config.game!='sgs'){
ui.arenalog.style.display='none';
}
else{
@ -27724,10 +27866,10 @@
if(!lib.config.show_auto){
ui.auto.style.display='none';
}
if(!lib.config.show_wuxie){
if(!lib.config.show_wuxie||lib.config.game!='sgs'){
ui.wuxie.style.display='none';
}
if(!lib.config.show_cardpile||_status.connectMode){
if(!lib.config.show_cardpile||_status.connectMode||lib.config.game!='sgs'){
ui.cardPileButton.style.display='none';
}
if(lib.config.touchscreen&&!lib.config.confirmtouch){
@ -27749,7 +27891,7 @@
_status.identityShown=true;
}
},true);
if(!lib.config.show_playerids||!game.showIdentity){
if(!lib.config.show_playerids||!game.showIdentity||lib.config.game!='sgs'){
ui.playerids.style.display='none';
}
if(!lib.config.show_replay){
@ -28021,7 +28163,7 @@
ui.create.div('',node.node.hp);
}
}
if(!lib.config.show_name){
if(!lib.config.show_name||lib.config.game=='hs'){
node.node.name.style.display='none';
}
if(node.node.hp.childNodes.length==0){
@ -28490,6 +28632,7 @@
pausehistory:function(){
if(!lib.config.auto_popped_history) return;
if(!ui.sidebar.childNodes.length) return;
if(lib.config.game=='hs') return;
var uiintro=ui.create.dialog('hidden');
uiintro.style.maxHeight='400px';
uiintro.add(ui.sidebar);
@ -28498,6 +28641,7 @@
pauseconfig:function(){
if(!lib.config.auto_popped_config) return;
if(lib.config.layout=='phone') return;
if(lib.config.game=='hs') return;
// if(!ui.config.childNodes.length) return;
var uiintro=ui.create.dialog('hidden');
uiintro.listen(function(e){
@ -30416,7 +30560,7 @@
game.pause2();
var node=ui.create.pause().animate('start');
ui.sidebar3.innerHTML='';
if(lib.config.show_discardpile){
if(lib.config.show_discardpile&&lib.config.game=='sgs'){
for(var i=0;i<ui.discardPile.childNodes.length;i++){
var div=ui.create.div(ui.sidebar3);
div.innerHTML=get.translation(ui.discardPile.childNodes[i]);
@ -32440,7 +32584,7 @@
}
}
var modepack=lib.characterPack['mode_'+get.mode()];
if(lib.config.show_favourite&&lib.character[node.name]&&game.players.contains(node)&&(!modepack||!modepack[node.name])){
if(lib.config.show_favourite&&lib.config.game=='sgs'&&lib.character[node.name]&&game.players.contains(node)&&(!modepack||!modepack[node.name])){
var addFavourite=ui.create.div('.text.center');
addFavourite.link=node.link;
if(lib.config.favouriteCharacter.contains(node.name)){
@ -32687,7 +32831,8 @@
}
}
var modepack=lib.characterPack['mode_'+get.mode()];
if((node.parentNode.classList.contains('menu-buttons')||lib.config.show_favourite)&&lib.character[node.link]&&(!modepack||!modepack[node.link])){
if((node.parentNode.classList.contains('menu-buttons')||lib.config.show_favourite)&&
lib.config.game=='sgs'&&lib.character[node.link]&&(!modepack||!modepack[node.link])){
var addFavourite=ui.create.div('.text.center');
addFavourite.link=node.link;
addFavourite.style.marginBottom='15px';

View File

@ -16,7 +16,7 @@ character.pack={
xiake:'侠客',
};
character.hearthpack={
hs_classic:'经典',
classic:'经典',
};
card.pack={
standard:'标准',
@ -29,8 +29,9 @@ card.pack={
hearth:'炉石传说',
};
card.hearthpack={
hs_classic:'经典',
hs_naxx:'NAXX',
basic:'基本',
classic:'经典',
naxx:'纳克萨玛斯',
};
play.pack={
boss:'挑战武将',
@ -42,7 +43,7 @@ play.pack={
coin:'富甲天下',
};
play.hearthpack={
hs_mod:'规则调整'
hsmod:'规则调整'
};
mode.pack={
identity:'身份',
@ -55,13 +56,6 @@ mode.pack={
stone:'炉石',
brawl:'乱斗',
};
mode.hearthpack={
hs_combat:'对战',
hs_arena:'竞技',
hs_brawl:'乱斗',
hs_connect:'联机',
hs_deck:'收藏',
};
background.pack={
zhulian_bg:'璧合',
zhulin_bg:'竹林',

View File

@ -1,12 +1,16 @@
window.noname_source_list=[
'card/basic.js',
'card/classic.js',
'card/extra.js',
'card/guozhan.js',
'card/hearth.js',
'card/naxx.js',
'card/sp.js',
'card/standard.js',
'card/swd.js',
'card/yunchou.js',
'card/zhenfa.js',
'character/classic.js',
'character/diy.js',
'character/extra.js',
'character/gujian.js',
@ -37,6 +41,7 @@ window.noname_source_list=[
'game/source.js',
'game/update.js',
'layout/default/codemirror.css',
'layout/default/hearthstone.css',
'layout/default/layout.css',
'layout/default/menu.css',
'layout/mobile/equip.css',
@ -52,6 +57,7 @@ window.noname_source_list=[
'mode/boss.js',
'mode/chess.js',
'mode/guozhan.js',
'mode/hearthstone.js',
'mode/identity.js',
'mode/tafang.js',
'mode/stone.js',
@ -62,6 +68,7 @@ window.noname_source_list=[
'extension/cardpile/extension.js',
'extension/character/extension.js',
'extension/coin/extension.js',
'extension/hsmod/extension.js',
'extension/soldier/extension.js',
'extension/weather/extension.js',
'extension/wuxing/extension.js',

View File

@ -35,20 +35,3 @@ window.noname_update={
'1.9.2.1':[],
}
}
// 'character/ow.js',
// 'character/sp.js',
// 'character/swd.js',
// 'character/rank.js',
// 'character/standard.js',
// 'character/yijiang.js',
// 'character/yxs.js',
// 'card/swd.js',
// 'card/hearth.js',
// 'mode/boss.js',
// 'mode/chess.js',
// 'mode/guozhan.js',
// 'mode/identity.js',
// 'mode/stone.js',
// 'mode/versus.js',
// 'game/game.js',

View File

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

Before

Width:  |  Height:  |  Size: 112 KiB

After

Width:  |  Height:  |  Size: 112 KiB

View File

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

Before

Width:  |  Height:  |  Size: 100 KiB

After

Width:  |  Height:  |  Size: 100 KiB

View File

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

View File

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

View File

Before

Width:  |  Height:  |  Size: 95 KiB

After

Width:  |  Height:  |  Size: 95 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
image/hearthstone/beici.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

BIN
image/hearthstone/beijunmushi.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
image/hearthstone/diyulieyan.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
image/hearthstone/fengxian.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
image/hearthstone/hanbingjian.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
image/hearthstone/yaoshu.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -0,0 +1,392 @@
#arena.stone>.player.minskin[data-position='4']{top:calc(100% - 305px);left:calc(100% - 120px);}
#arena.stone>.card[data-position='4']{top:calc(100% - 297px);left:calc(100% - 112px);}
#arena.stone>.popup[data-position='4']{top:calc(100% - 340px);left:calc(100% - 112px);}
#arena.stone>.player.minskin[data-position='6']{top:calc(100% - 305px);left:calc(100% - 260px);}
#arena.stone>.card[data-position='6']{top:calc(100% - 297px);left:calc(100% - 252px);}
#arena.stone>.popup[data-position='6']{top:calc(100% - 340px);left:calc(100% - 252px);}
#arena.stone>.player.minskin[data-position='7']{top:calc(100% - 305px);left:140px;}
#arena.stone>.card[data-position='7']{top:calc(100% - 297px);left:148px;}
#arena.stone>.popup[data-position='7']{top:calc(100% - 340px);left:148px;}
#arena.stone>.player.minskin[data-position='5']{top:calc(100% - 305px);left:0;}
#arena.stone>.card[data-position='5']{top:calc(100% - 297px);left:8px;}
#arena.stone>.popup[data-position='5']{top:calc(100% - 340px);left:8px;}
#arena.stone>.player.minskin[data-position='9']{top:30px;left:calc(100% - 120px);}
#arena.stone>.card[data-position='9']{top:38px;left:calc(100% - 112px);}
#arena.stone>.popup[data-position='9']{top:160px;left:calc(100% - 112px);}
#arena.stone>.player.minskin[data-position='11']{top:10px;left:calc(100% - 260px);}
#arena.stone>.card[data-position='11']{top:18px;left:calc(100% - 252px);}
#arena.stone>.popup[data-position='11']{top:140px;left:calc(100% - 252px);}
#arena.stone>.player.minskin[data-position='10']{top:10px;left:140px;}
#arena.stone>.card[data-position='10']{top:18px;left:148px;}
#arena.stone>.popup[data-position='10']{top:140px;left:148px;}
#arena.stone>.player.minskin[data-position='8']{top:30px;left:0;}
#arena.stone>.card[data-position='8']{top:38px;left:8px;}
#arena.stone>.popup[data-position='8']{top:160px;left:8px;}
#arena:not(.chess).mobile>.player[data-position='0']>.name{
top:30px;
}
#arena .player>.name{
top:36px;
}
#arena.slim_player .player>.name{
top:33px;
}
#arena .player.linked>.name{
transform: rotate(90deg) translate(120px,-96px);
}
#arena .player.linked>.name.name2{
transform: rotate(90deg) translate(98px,-31px);
}
#arena.oldlayout .player.linked>.name{
transform: none !important;
}
#arena.oldlayout .player.linked>.name.name2{
transform: none !important;
}
.player>.identity.menubutton.round{
padding: 0;
transform: scale(1.2) translate(-2px,2px);
}
.card .wunature{
top:74px;
left:6px;
right: auto;
}
.player .equips{
z-index: 4;
}
#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;*/
/*-webkit-animation:dialog_start2 0.5s;*/
transition: all 0.5s;
}
#deck-builder:not(.shown)>.dialog.fixed{
opacity: 0;
transform: scale(0.8);
pointer-events: none;
}
#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;
}
/*#arena>.skillbar>.skillbartext:hover{
opacity: 1;
}*/
@-webkit-keyframes skillbarglow{
0%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px}
50%{box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px,rgba(255, 0, 0, 0.4) 0 0 5px,
rgba(255, 0, 0, 0.4) 0 0 12px, rgba(255, 0, 0, 1) 0 0 30px, rgba(255, 0, 0, 0.2) 0 0 30px}
100%{box-shadow: rgba(0, 0, 0, 0.1) 0 0 0 1px, rgba(255, 0, 0, 0.4) 0 0 5px}
}
div[data-career='mage']{
background-image: url('../../../image/class/mage.png');
background-size:cover;
}
div[data-career='druid']{
background-image: url('../../../image/class/druid.png');
background-size:cover;
}
div[data-career='hunter']{
background-image: url('../../../image/class/hunter.png');
background-size:cover;
}
div[data-career='shaman']{
background-image: url('../../../image/class/shaman.png');
background-size:cover;
}
div[data-career='paladin']{
background-image: url('../../../image/class/paladin.png');
background-size:cover;
}
div[data-career='rogue']{
background-image: url('../../../image/class/rogue.png');
background-size:cover;
}
div[data-career='priest']{
background-image: url('../../../image/class/priest.png');
background-size:cover;
}
div[data-career='warrior']{
background-image: url('../../../image/class/warrior.png');
background-size:cover;
}
div[data-career='warlock']{
background-image: url('../../../image/class/warlock.png');
background-size:cover;
}
div[data-career='knight']{
background-image: url('../../../image/class/knight.png');
background-size:cover;
}
div[data-careercolor='mage']{
background-image: linear-gradient(rgba(139, 216, 245,0.8),rgba(90, 172, 204,0.8));
box-shadow: rgb(62, 137, 167) 0 0 0 1px;
}
div[data-careercolor='druid']{
background-image: linear-gradient(rgba(158, 87, 13,0.8),rgba(140, 77, 11,0.8));
box-shadow: rgb(101, 54, 5) 0 0 0 1px;
}
div[data-careercolor='hunter']{
background-image: linear-gradient(rgba(70, 162, 1,0.8),rgba(62, 138, 5,0.8));
box-shadow: rgb(39, 86, 3) 0 0 0 1px;
}
div[data-careercolor='shaman']{
background-image: linear-gradient(rgba(11, 99, 230,0.8),rgba(0, 85, 212,0.8));
box-shadow: rgb(4, 60, 142) 0 0 0 1px;
}
div[data-careercolor='paladin']{
background-image: linear-gradient(rgba(255, 236, 11,0.8),rgba(214, 182, 66,0.8));
box-shadow: rgb(177, 138, 53) 0 0 0 1px;
}
div[data-careercolor='rogue']{
background-image: linear-gradient(rgba(107, 120, 150,0.8),rgba(97, 109, 138,0.8));
box-shadow: rgb(75, 85, 111) 0 0 0 1px;
}
div[data-careercolor='priest']{
background-image: linear-gradient(rgba(255, 255, 255,0.8),rgba(224, 224, 224,0.8));
box-shadow: rgb(200, 200, 200) 0 0 0 1px;
}
div[data-careercolor='warrior']{
background-image: linear-gradient(rgba(187, 60, 60,0.8),rgba(165, 40, 40,0.8));
box-shadow: rgb(123, 23, 23) 0 0 0 1px;
}
div[data-careercolor='warlock']{
background-image: linear-gradient(rgba(132, 60, 187,0.8),rgba(114, 48, 165,0.8));
box-shadow: rgb(90, 31, 136) 0 0 0 1px;
}
.card>.info{
/*display: none;*/
}
.card>.name{
padding: 2px;
border-radius: 4px;
top: 8px;
left: 6px;
}
.card>.name,
div:not(.handcards)>.card>.name,
.handcards>.card:last-child>.name{
transform: scale(0.8) !important;
}
.card>.name.longlong{
top: 5px;
}
.card>.cost{
bottom: 6px;
right: 6px;
text-align: center;
font-family: 'xinwei';
border: none;
}

View File

@ -1870,6 +1870,10 @@ span[data-color="unknownm"]{
.menubutton.large.disabled{
opacity: 0.5;
}
.menubutton.large.smallfont{
font-size: 22px !important;
text-indent: -2px;
}
.config>.toggle.onoff>div>div{
width:8px;
height:8px;

View File

@ -289,42 +289,42 @@
}
div[data-career='mage']{
background-image: url('../../../image/mode/stone/career/mage.png');
background-image: url('../../../image/class/mage.png');
background-size:cover;
}
div[data-career='druid']{
background-image: url('../../../image/mode/stone/career/druid.png');
background-image: url('../../../image/class/druid.png');
background-size:cover;
}
div[data-career='hunter']{
background-image: url('../../../image/mode/stone/career/hunter.png');
background-image: url('../../../image/class/hunter.png');
background-size:cover;
}
div[data-career='shaman']{
background-image: url('../../../image/mode/stone/career/shaman.png');
background-image: url('../../../image/class/shaman.png');
background-size:cover;
}
div[data-career='paladin']{
background-image: url('../../../image/mode/stone/career/paladin.png');
background-image: url('../../../image/class/paladin.png');
background-size:cover;
}
div[data-career='rogue']{
background-image: url('../../../image/mode/stone/career/rogue.png');
background-image: url('../../../image/class/rogue.png');
background-size:cover;
}
div[data-career='priest']{
background-image: url('../../../image/mode/stone/career/priest.png');
background-image: url('../../../image/class/priest.png');
background-size:cover;
}
div[data-career='warrior']{
background-image: url('../../../image/mode/stone/career/warrior.png');
background-image: url('../../../image/class/warrior.png');
background-size:cover;
}
div[data-career='warlock']{
background-image: url('../../../image/mode/stone/career/warlock.png');
background-image: url('../../../image/class/warlock.png');
background-size:cover;
}
div[data-career='knight']{
background-image: url('../../../image/mode/stone/career/knight.png');
background-image: url('../../../image/class/knight.png');
background-size:cover;
}

View File

@ -150,6 +150,7 @@ mode.brawl={
if(bool&&level.index+1<stage.scenes.length){
ui.create.control('下一关',function(){
game.save('directStage',[stage.name,level.index+1],'brawl');
localStorage.setItem(lib.configprefix+'directstart',true);
game.reload();
});
if(level.index+1>stage.level){
@ -168,6 +169,7 @@ mode.brawl={
else{
game.save('directStage',[stage.name,level.index],'brawl');
}
localStorage.setItem(lib.configprefix+'directstart',true);
game.reload();
});
if(stage.mode=='sequal'&&level.index==stage.scenes.length-1){

1392
mode/hearthstone.js Normal file

File diff suppressed because it is too large Load Diff