|
@ -1,4 +1,5 @@
|
|||
1.5.6
|
||||
修复安卓版的两个显示问题
|
||||
按钮效果
|
||||
不对敌将用桃选项
|
||||
1.5.7
|
||||
对决模式改进
|
||||
屏蔽强将选项
|
||||
卡牌、卡背、体力条样式
|
||||
新武将
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
#####运行
|
||||
使用chrome(推荐)或safari打开index.html<br>
|
||||
#####升级
|
||||
windows:覆盖resources/app文件夹下的同名文件<br>
|
||||
mac:覆盖contents/resources/app下的同名文件
|
||||
windows:覆盖resources/app文件夹内的同名文件<br>
|
||||
mac:右键显示包内容,覆盖contents/resources/app文件夹内的同名文件<br>
|
||||
android:用解压软件打开apk文件,覆盖assets/www文件夹内的同名文件
|
||||
|
||||
####选项设置
|
||||
#####通用
|
||||
|
|
|
@ -90,6 +90,7 @@ character.gujian={
|
|||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.line(trigger.player,'green');
|
||||
player.phase();
|
||||
player.storage.meiying=trigger.player;
|
||||
"step 1"
|
||||
|
|
|
@ -23,6 +23,13 @@ character.hearth={
|
|||
hs_yngvar:['male','qun',3,['huanwu'],['fullskin']],
|
||||
hs_bchillmaw:['male','wei',6,['hanshuang','bingshi'],['fullskin']],
|
||||
hs_malorne:['male','wu',3,['enze','chongsheng'],['fullskin']],
|
||||
hs_malygos:['male','wei',4,['malymowang'],['fullskin']],
|
||||
hs_xuefashi:['male','wei',2,['liehun','xjumo'],['fullskin']],
|
||||
// hs_loatheb:['male','wei',2,[],['fullskin']],
|
||||
// hs_trueheart:['male','wei',2,[],['fullskin']],
|
||||
// hs_sainaliusi:['male','wei',2,[],['fullskin']],
|
||||
// hs_lrhonin:['male','wei',2,[],['fullskin']],
|
||||
hs_bolvar:['male','wei',2,[],['fullskin']],
|
||||
|
||||
hs_ronghejuren:['male','shu',8,[],['fullskin']],
|
||||
hs_edwin:['male','qun',3,['lianzhan'],['fullskin']],
|
||||
|
@ -30,6 +37,9 @@ character.hearth={
|
|||
hs_huzhixiannv:['female','wu',3,['jingmeng','qingliu'],['fullskin']],
|
||||
// hs_tgolem:['male','qun',4,['guozai'],['fullskin']],
|
||||
hs_totemic:['male','wu',3,['s_tuteng'],['fullskin']],
|
||||
hs_xsylvanas:['female','qun',3,['busi','shixin','xmojian'],['fullskin']],
|
||||
hs_siwangzhiyi:['male','qun',12,['mieshi'],['fullskin']],
|
||||
hs_bilanyoulong:['male','wei',4,['lingzhou'],['fullskin']],
|
||||
},
|
||||
perfectPair:{
|
||||
hs_sthrall:['hs_totemic','hs_alakir','hs_neptulon','hs_yngvar','hs_tgolem'],
|
||||
|
@ -38,6 +48,180 @@ character.hearth={
|
|||
hs_malfurion:['hs_malorne'],
|
||||
},
|
||||
skill:{
|
||||
liehun:{
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return player.num('h',{type:'basic'})<player.num('h');
|
||||
},
|
||||
content:function(){
|
||||
var hs=player.get('h');
|
||||
for(var i=0;i<hs.length;i++){
|
||||
if(get.type(hs[i])=='basic'){
|
||||
hs.splice(i--,1);
|
||||
}
|
||||
}
|
||||
if(hs.length){
|
||||
var hs2=[];
|
||||
for(var i=0;i<hs.length;i++){
|
||||
hs2.push(game.createCard(hs[i].name,hs[i].suit,hs[i].number));
|
||||
}
|
||||
player.gain(hs2,'draw');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
threaten:1.5
|
||||
}
|
||||
},
|
||||
xjumo:{
|
||||
mod:{
|
||||
maxHandcard:function(player,num){
|
||||
return num+3;
|
||||
}
|
||||
},
|
||||
},
|
||||
malymowang:{
|
||||
trigger:{source:'damageBegin'},
|
||||
forced:true,
|
||||
filter:function(event){
|
||||
return event.card&&get.type(event.card)=='trick'&&event.parent.name!='_lianhuan'&&event.parent.name!='_lianhuan2';
|
||||
},
|
||||
content:function(){
|
||||
trigger.num++;
|
||||
},
|
||||
group:'malymowang2',
|
||||
ai:{
|
||||
threaten:1.8
|
||||
}
|
||||
},
|
||||
malymowang2:{
|
||||
trigger:{player:'phaseUseBegin'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
var list=[];
|
||||
for(var i in lib.card){
|
||||
if(!lib.translate[i+'_info']) continue;
|
||||
if(lib.card[i].mode&&lib.card[i].mode.contains(lib.config.mode)==false) continue;
|
||||
if(lib.card[i].type=='trick') list.push(['锦囊','',i]);
|
||||
}
|
||||
list=list.randomGets(3);
|
||||
var dialog=ui.create.dialog('选择一张锦囊牌加入你的手牌',[list,'vcard'],'hidden');
|
||||
player.chooseButton(dialog,true);
|
||||
'step 1'
|
||||
if(result.buttons){
|
||||
player.gain(game.createCard(result.buttons[0].link[2]),'gain2');
|
||||
}
|
||||
}
|
||||
},
|
||||
lingzhou:{
|
||||
trigger:{player:'useCard'},
|
||||
direct:true,
|
||||
filter:function(event){
|
||||
return get.type(event.card,'trick')=='trick';
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
var noneed=(trigger.card.name=='tao'&&trigger.targets[0]==player&&player.hp==player.maxHp-1);
|
||||
player.chooseTarget('是否发动【灵咒】?').ai=function(target){
|
||||
var num=ai.get.attitude(player,target);
|
||||
if(num>0){
|
||||
if(noneed&&player==target){
|
||||
num=0.5;
|
||||
}
|
||||
else if(target.hp==1){
|
||||
num+=3;
|
||||
}
|
||||
else if(target.hp==2){
|
||||
num+=1;
|
||||
}
|
||||
}
|
||||
return num;
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('lingzhou',result.targets);
|
||||
var target=result.targets[0];
|
||||
if(target.hp<target.maxHp){
|
||||
target.chooseControl('draw_card','recover_hp',function(event,target){
|
||||
if(target.hp>=3&&target.num('h')<target.hp) return 'draw_card';
|
||||
return 'recover_hp';
|
||||
});
|
||||
event.target=target;
|
||||
}
|
||||
else{
|
||||
target.draw();
|
||||
event.finish();
|
||||
}
|
||||
}
|
||||
else{
|
||||
event.finish();
|
||||
}
|
||||
"step 2"
|
||||
if(result.control=='draw_card'){
|
||||
event.target.draw();
|
||||
}
|
||||
else{
|
||||
event.target.recover();
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
expose:0.2,
|
||||
threaten:1.5
|
||||
}
|
||||
},
|
||||
mieshi:{
|
||||
trigger:{player:'phaseEnd'},
|
||||
forced:true,
|
||||
content:function(){
|
||||
'step 0'
|
||||
player.loseHp();
|
||||
'step 1'
|
||||
event.target=game.players.randomGet(player);
|
||||
player.line(event.target,'fire');
|
||||
game.delayx();
|
||||
'step 2'
|
||||
event.target.damage('fire');
|
||||
}
|
||||
},
|
||||
xmojian:{
|
||||
trigger:{player:'turnOverAfter'},
|
||||
direct:true,
|
||||
filter:function(event,player){
|
||||
return !player.skills.contains('xmojian2');
|
||||
},
|
||||
content:function(){
|
||||
"step 0"
|
||||
player.chooseTarget('是否发动【魔箭】?',function(card,player,target){
|
||||
return lib.filter.targetEnabled({name:'sha'},player,target);
|
||||
}).ai=function(target){
|
||||
return ai.get.effect(target,{name:'sha'},player);
|
||||
}
|
||||
"step 1"
|
||||
if(result.bool){
|
||||
player.logSkill('xmojian');
|
||||
player.useCard({name:'sha'},result.targets,false);
|
||||
player.addTempSkill('xmojian2','phaseAfter');
|
||||
}
|
||||
},
|
||||
ai:{
|
||||
expose:0.2,
|
||||
}
|
||||
},
|
||||
xmojian2:{},
|
||||
shixin:{
|
||||
trigger:{source:'damageEnd'},
|
||||
forced:true,
|
||||
filter:function(event,player){
|
||||
return event.player.isAlive()&&event.player!=player;
|
||||
},
|
||||
content:function(){
|
||||
'step 0'
|
||||
trigger.player.loseHp();
|
||||
'step 1'
|
||||
player.loseHp();
|
||||
}
|
||||
},
|
||||
enze:{
|
||||
enable:'phaseUse',
|
||||
usable:1,
|
||||
|
@ -1827,6 +2011,10 @@ character.hearth={
|
|||
hs_yngvar:'伊戈瓦尔',
|
||||
hs_bchillmaw:'冰喉',
|
||||
hs_malorne:'玛洛恩',
|
||||
hs_xsylvanas:'希尔瓦娜斯',
|
||||
hs_siwangzhiyi:'死亡之翼',
|
||||
hs_malygos:'玛里苟斯',
|
||||
hs_xuefashi:'血法师',
|
||||
|
||||
hs_ronghejuren:'熔核巨人',
|
||||
hs_edwin:'艾德温',
|
||||
|
@ -1834,7 +2022,22 @@ character.hearth={
|
|||
hs_huzhixiannv:'湖之仙女',
|
||||
hs_tgolem:'图腾魔像',
|
||||
hs_totemic:'图腾师',
|
||||
hs_bilanyoulong:'碧蓝幼龙',
|
||||
|
||||
xjumo:'聚魔',
|
||||
xjumo_info:'锁定技,你的手牌上限+3',
|
||||
liehun:'裂魂',
|
||||
liehun_info:'锁定技,出牌阶段开始时,你获得手牌中所有非基本牌的复制',
|
||||
malymowang:'魔网',
|
||||
malymowang_info:'锁定技,你的锦囊牌造成的伤害+1;出牌阶段开始时,你观看随机3张锦囊牌,并将其中一张加入你的手牌',
|
||||
lingzhou:'灵咒',
|
||||
lingzhou_info:'每当你使用一张锦囊牌,可令一名角色摸一张牌或回复一点体力',
|
||||
mieshi:'灭世',
|
||||
mieshi_info:'锁定技,回合结束阶段,你流失一点体力,并对一名随机的其他角色造成一点火焰伤害',
|
||||
shixin:'蚀心',
|
||||
shixin_info:'锁定技,每当你对一名其他角色造成一次伤害,受伤害角色与你各流失一点体力',
|
||||
xmojian:'魔箭',
|
||||
xmojian_info:'每当你翻面时,你可以指定一名角色视为对其使用了一张杀,每回合最多发动一次',
|
||||
enze:'恩泽',
|
||||
enze_info:'出牌阶段限一次,你可以指定一名角色令其手牌数与你相等',
|
||||
chongsheng:'重生',
|
||||
|
|
|
@ -48,6 +48,8 @@ window.characterRank={
|
|||
'liufeng',
|
||||
'swd_kangnalishi',
|
||||
'swd_xiarou',
|
||||
'hs_xsylvanas',
|
||||
'hs_malygos',
|
||||
],
|
||||
a:[
|
||||
'yxs_diaochan',
|
||||
|
@ -85,6 +87,7 @@ window.characterRank={
|
|||
'zhoutai',
|
||||
],
|
||||
am:[
|
||||
'hs_xuefashi',
|
||||
'manchong',
|
||||
'swd_linyue',
|
||||
'swd_fuyan',
|
||||
|
@ -135,9 +138,13 @@ window.characterRank={
|
|||
'chengong',
|
||||
'caifuren',
|
||||
'yj_jushou',
|
||||
'hs_siwangzhiyi',
|
||||
'jg_huangyueying',
|
||||
'hs_bilanyoulong',
|
||||
],
|
||||
bp:[
|
||||
'yxs_mozi',
|
||||
'xiahoushi',
|
||||
'zhangsong',
|
||||
'zhuhuan',
|
||||
'yxs_aijiyanhou',
|
||||
|
@ -197,8 +204,8 @@ window.characterRank={
|
|||
'wangyi',
|
||||
'chenqun',
|
||||
'guyong',
|
||||
'jg_huangyueying',
|
||||
'diy_xuhuang',
|
||||
'sunquan',
|
||||
],
|
||||
b:[
|
||||
'pal_linyueru',
|
||||
|
@ -290,6 +297,7 @@ window.characterRank={
|
|||
'xusheng',
|
||||
'madai',
|
||||
'liru',
|
||||
're_zhangfei',
|
||||
],
|
||||
c:[
|
||||
'huaxiong',
|
||||
|
@ -300,7 +308,6 @@ window.characterRank={
|
|||
'machao',
|
||||
'zhangliang',
|
||||
're_lvmeng',
|
||||
're_zhangfei',
|
||||
're_gongsunzan',
|
||||
're_xiahoudun',
|
||||
'caohong',
|
||||
|
@ -323,6 +330,7 @@ window.characterRank={
|
|||
'yangxiu',
|
||||
'pangde',
|
||||
'yujin',
|
||||
'zhangfei',
|
||||
],
|
||||
legend:[
|
||||
'swd_muyun',
|
||||
|
@ -361,6 +369,7 @@ window.characterRank={
|
|||
'shen_zhouyu',
|
||||
'shen_simayi',
|
||||
'shen_guanyu',
|
||||
'hs_siwangzhiyi',
|
||||
],
|
||||
epic:[
|
||||
'xk_fujianhan',
|
||||
|
@ -411,10 +420,11 @@ window.characterRank={
|
|||
'swd_wangsiyue',
|
||||
'gjqt_fanglansheng',
|
||||
'swd_qiner',
|
||||
'hs_anduin',
|
||||
'hs_xsylvanas',
|
||||
],
|
||||
rare:[
|
||||
'yxs_diaochan',
|
||||
'hs_anduin',
|
||||
'swd_hengai',
|
||||
'hs_wuther',
|
||||
'jg_pangtong',
|
||||
|
|
|
@ -1844,6 +1844,7 @@ character.swd={
|
|||
}
|
||||
}
|
||||
target.addSkill('pozhou3');
|
||||
player.line(target,'green');
|
||||
}
|
||||
},
|
||||
pozhou3:{
|
||||
|
@ -3618,12 +3619,13 @@ character.swd={
|
|||
game.pause();
|
||||
'step 4'
|
||||
if(trigger.name=='phase'){
|
||||
for(var i=0;i<game.players.length;i++){
|
||||
if(game.players[i].hp<event.player.hp){
|
||||
event.player.loseHp();
|
||||
return;
|
||||
}
|
||||
}
|
||||
// for(var i=0;i<game.players.length;i++){
|
||||
// if(game.players[i].hp<event.player.hp){
|
||||
// event.player.loseHp();
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
if(player.hp>1) player.loseHp();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -8143,7 +8145,7 @@ character.swd={
|
|||
shengshou_info:'你可以将一张黑色手牌当作草药使用',
|
||||
susheng_info:'在任意一名角色即将死亡时,你可以弃置一张手牌防止其死亡,并将其体力回复至1,每回合限发动一次',
|
||||
zhanlu_info:'出牌阶段,你可以弃置一张黑桃牌令至多3名角色各回复一点体力',
|
||||
kunlunjing_info:'回合开始前,你可以令场上所有牌还原到你上一回合结束时的位置,此时有其他角色的体力值比你少,你流失一点体力',
|
||||
kunlunjing_info:'回合开始前,你可以令场上所有牌还原到你上一回合结束时的位置,若你此时的体力值大于1,你流失一点体力',
|
||||
swd_xiuluo_info:'回合开始阶段,你可以弃一张手牌来弃置你判断区里的一张延时类锦囊(必须花色相同)',
|
||||
xianyin_info:'出牌阶段,你可以令所有判定区内有牌的角色弃置判定区内的牌,然后交给你一张手牌',
|
||||
qiaoxie_info:'每当你装备一张牌,可摸一张牌,每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌',
|
||||
|
|
|
@ -213,6 +213,8 @@ window.config={
|
|||
theme:'woodden',
|
||||
layout:'mobile',
|
||||
card_style:'default',
|
||||
cardback_style:'default',
|
||||
hp_style:'default',
|
||||
|
||||
image_character:'default',
|
||||
image_background:'default',
|
||||
|
@ -239,6 +241,7 @@ window.config={
|
|||
title:false,
|
||||
right_sidebar:false,
|
||||
button_press:true,
|
||||
damage_shake:true,
|
||||
|
||||
modeconfig:false,
|
||||
gameconfig:false,
|
||||
|
|
119
game/game.js
|
@ -239,6 +239,12 @@
|
|||
else{
|
||||
ui.arena.classList.remove('mobile');
|
||||
}
|
||||
if(lib.config.layout=='default'&&lib.config.hp_style=='official'){
|
||||
ui.arena.classList.add('hpimage');
|
||||
}
|
||||
else{
|
||||
ui.arena.classList.remove('hpimage');
|
||||
}
|
||||
setTimeout(function(){
|
||||
layout.remove();
|
||||
ui.arena.show();
|
||||
|
@ -368,7 +374,7 @@
|
|||
},
|
||||
card_style:{
|
||||
name:'卡牌样式',
|
||||
init:'mobile',
|
||||
init:'default',
|
||||
item:{
|
||||
default:'默认',
|
||||
wood:'木纹',
|
||||
|
@ -378,11 +384,49 @@
|
|||
onclick:function(layout){
|
||||
game.saveConfig('card_style',layout);
|
||||
var style=ui.css.card_style;
|
||||
ui.css.card_style=lib.init.css('theme/cardstyle',lib.config.card_style);
|
||||
ui.css.card_style=lib.init.css('theme/style/card',lib.config.card_style);
|
||||
style.remove();
|
||||
},
|
||||
unfrequent:true,
|
||||
},
|
||||
cardback_style:{
|
||||
name:'卡背样式',
|
||||
init:'default',
|
||||
item:{
|
||||
default:'默认',
|
||||
wood:'木纹',
|
||||
music:'音乐',
|
||||
official:'原版'
|
||||
},
|
||||
onclick:function(layout){
|
||||
game.saveConfig('cardback_style',layout);
|
||||
var style=ui.css.cardback_style;
|
||||
ui.css.cardback_style=lib.init.css('theme/style/cardback',lib.config.cardback_style);
|
||||
style.remove();
|
||||
},
|
||||
unfrequent:true,
|
||||
},
|
||||
hp_style:{
|
||||
name:'体力条样式',
|
||||
init:'default',
|
||||
item:{
|
||||
default:'默认',
|
||||
official:'原版'
|
||||
},
|
||||
onclick:function(layout){
|
||||
game.saveConfig('hp_style',layout);
|
||||
var style=ui.css.hp_style;
|
||||
ui.css.hp_style=lib.init.css('theme/style/hp',lib.config.hp_style);
|
||||
style.remove();
|
||||
if(lib.config.layout=='default'&&lib.config.hp_style=='official'){
|
||||
ui.arena.classList.add('hpimage');
|
||||
}
|
||||
else{
|
||||
ui.arena.classList.remove('hpimage');
|
||||
}
|
||||
},
|
||||
unfrequent:true,
|
||||
},
|
||||
auto_popped_config:{
|
||||
name:'自动弹出选项',
|
||||
init:true,
|
||||
|
@ -602,6 +646,11 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
damage_shake:{
|
||||
name:'伤害抖动',
|
||||
init:true,
|
||||
unfrequent:true,
|
||||
},
|
||||
button_press:{
|
||||
name:'按钮效果',
|
||||
init:true,
|
||||
|
@ -994,6 +1043,11 @@
|
|||
name:'屏蔽弱将',
|
||||
init:false,
|
||||
restart:true,
|
||||
},
|
||||
ban_strong:{
|
||||
name:'屏蔽强将',
|
||||
init:false,
|
||||
restart:true,
|
||||
},
|
||||
enhance_zhu:{
|
||||
name:'加强主公',
|
||||
|
@ -1174,6 +1228,11 @@
|
|||
zonghe:'相加',
|
||||
},
|
||||
restart:true,
|
||||
},
|
||||
ban_strong:{
|
||||
name:'屏蔽强将',
|
||||
init:false,
|
||||
restart:true,
|
||||
},
|
||||
free_choose:{
|
||||
name:'自由选将',
|
||||
|
@ -1304,6 +1363,12 @@
|
|||
init:false,
|
||||
restart:true,
|
||||
frequent:true,
|
||||
},
|
||||
ban_strong:{
|
||||
name:'屏蔽强将',
|
||||
init:false,
|
||||
restart:true,
|
||||
frequent:true,
|
||||
},
|
||||
}
|
||||
},
|
||||
|
@ -1348,6 +1413,12 @@
|
|||
restart:true,
|
||||
frequent:true,
|
||||
},
|
||||
ban_strong:{
|
||||
name:'屏蔽强将',
|
||||
init:false,
|
||||
restart:true,
|
||||
frequent:true,
|
||||
},
|
||||
}
|
||||
},
|
||||
chess:{
|
||||
|
@ -1578,6 +1649,11 @@
|
|||
name:'屏蔽弱将',
|
||||
init:false,
|
||||
restart:true,
|
||||
},
|
||||
ban_strong:{
|
||||
name:'屏蔽强将',
|
||||
init:false,
|
||||
restart:true,
|
||||
},
|
||||
chessscroll_speed:{
|
||||
name:'边缘滚动速度',
|
||||
|
@ -1651,6 +1727,12 @@
|
|||
init:false,
|
||||
restart:true,
|
||||
frequent:true,
|
||||
},
|
||||
ban_strong:{
|
||||
name:'屏蔽强将',
|
||||
init:false,
|
||||
restart:true,
|
||||
frequent:true,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -1923,7 +2005,9 @@
|
|||
if(lib.config.threed_card) ui.css.threed=lib.init.css('layout/default','fold2');
|
||||
if(lib.config.blur_ui) ui.css.blur_ui=lib.init.css('layout/default','blur');
|
||||
ui.css.theme=lib.init.css('theme/'+lib.config.theme,'style');
|
||||
ui.css.card_style=lib.init.css('theme/cardstyle',lib.config.card_style);
|
||||
ui.css.card_style=lib.init.css('theme/style/card',lib.config.card_style);
|
||||
ui.css.cardback_style=lib.init.css('theme/style/cardback',lib.config.cardback_style);
|
||||
ui.css.hp_style=lib.init.css('theme/style/hp',lib.config.hp_style);
|
||||
|
||||
lib.config.duration=500;
|
||||
|
||||
|
@ -3715,7 +3799,7 @@
|
|||
game.playAudio('die',player.name);
|
||||
}
|
||||
else if(lib.config.background_ogg){
|
||||
game.playAudio('die',player.name);
|
||||
game.playAudio('die',player.name.slice(player.name.indexOf('_')+1));
|
||||
}
|
||||
// else if(lib.config.background_audio){
|
||||
// game.playAudio('effect','die_'+(player.sex==='female'?'female':'male'));
|
||||
|
@ -6593,7 +6677,7 @@
|
|||
else{
|
||||
game.addVideo('damage',this);
|
||||
}
|
||||
if(source&&source!=this){
|
||||
if(source&&source!=this&&lib.config.damage_shake){
|
||||
var left,top;
|
||||
if(source.offsetTop==this.offsetTop){
|
||||
left=20;
|
||||
|
@ -6791,14 +6875,14 @@
|
|||
}
|
||||
|
||||
// this.dataset.position=player.dataset.position;
|
||||
if(method=='flip'){
|
||||
this.style.transition='all 0.5s';
|
||||
this.style.transform='rotate'+(Math.random()<0.5?'X':'Y')+'(180deg) perspective(1000px)';
|
||||
}
|
||||
else if(method=='rotate'){
|
||||
this.style.transition='all 0.5s';
|
||||
this.style.transform='rotate(180deg)';
|
||||
}
|
||||
// if(method=='flip'){
|
||||
// this.style.transition='all 0.5s';
|
||||
// this.style.transform='rotate'+(Math.random()<0.5?'X':'Y')+'(180deg) perspective(1000px)';
|
||||
// }
|
||||
// else if(method=='rotate'){
|
||||
// this.style.transition='all 0.5s';
|
||||
// this.style.transform='rotate(180deg)';
|
||||
// }
|
||||
return this;
|
||||
},
|
||||
copy:function(){
|
||||
|
@ -10980,7 +11064,7 @@
|
|||
}
|
||||
ui.controls.unshift(control);
|
||||
if(nc){
|
||||
ui.control.animate('nozoom');
|
||||
ui.control.animate('nozoom',500);
|
||||
}
|
||||
if(lib.config.low_performance||ui.control.classList.contains('nozoom')){
|
||||
nozoom=true;
|
||||
|
@ -11082,6 +11166,9 @@
|
|||
if(lib.config.layout=='mobile'||lib.config.layout=='phone'){
|
||||
ui.arena.classList.add('mobile');
|
||||
}
|
||||
if(lib.config.layout=='default'&&lib.config.hp_style=='official'){
|
||||
ui.arena.classList.add('hpimage');
|
||||
}
|
||||
ui.updatePhone();
|
||||
ui.backgroundMusic=document.createElement('audio');
|
||||
ui.backgroundMusic.volume=lib.config.volumn_background/8;
|
||||
|
@ -16898,12 +16985,12 @@
|
|||
},
|
||||
};
|
||||
lib.init.init();
|
||||
HTMLDivElement.prototype.animate=function(name){
|
||||
HTMLDivElement.prototype.animate=function(name,time){
|
||||
this.classList.add(name);
|
||||
var that=this;
|
||||
setTimeout(function(){
|
||||
that.classList.remove(name);
|
||||
},1000);
|
||||
},time||1000);
|
||||
return this;
|
||||
};
|
||||
HTMLDivElement.prototype.hide=function(){
|
||||
|
|
After Width: | Height: | Size: 98 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 196 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 30 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 236 KiB |
After Width: | Height: | Size: 154 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 515 KiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 65 KiB |
Before Width: | Height: | Size: 479 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 494 KiB |
Before Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 54 KiB |
|
@ -161,7 +161,7 @@ body>.background{z-index:-2}
|
|||
.card>.background.tight{letter-spacing: -0.2em}
|
||||
.marks>.card>.background.skillmark{font-family:'huangcao';padding-top:4px;}
|
||||
/*--------窗口--------*/
|
||||
.dialog{text-align: center;}
|
||||
.dialog{text-align: center;z-index:4;}
|
||||
.dialog{width: calc(90% - 420px);height: calc(100% / 3 - 160px / 3 + 120px);}
|
||||
.dialog.fullheight{height:calc(100% - 80px) !important;top:40px !important}
|
||||
.dialog.fullwidth{left:calc(5% + 60px) !important;width:calc(90% - 120px) !important}
|
||||
|
|
|
@ -423,6 +423,8 @@ mode.boss={
|
|||
if(lib.config.forbidall.contains(i)) continue;
|
||||
if(lib.config.forbidboss.contains(i)) continue;
|
||||
if(get.config('ban_weak')&&lib.config.forbidsingle.contains(i)) continue;
|
||||
if(get.config('ban_weak')&&(lib.rank.c.contains(i)||lib.rank.d.contains(i))) continue;
|
||||
if(get.config('ban_strong')&&(lib.rank.s.contains(i)||lib.rank.ap.contains(i))) continue;
|
||||
list.push(i);
|
||||
}
|
||||
list.randomSort();
|
||||
|
|
|
@ -1566,6 +1566,7 @@ mode.chess={
|
|||
ui.chessContainer.ontouchmove = ui.click.touchScroll;
|
||||
ui.chessContainer.style.WebkitOverflowScrolling='touch';
|
||||
ui.chess=ui.create.div('#chess',ui.chessContainer);
|
||||
lib.setScroll(ui.chess);
|
||||
ui.canvas2=document.createElement('canvas');
|
||||
ui.canvas2.id='canvas2';
|
||||
ui.chess.appendChild(ui.canvas2);
|
||||
|
@ -1929,6 +1930,8 @@ mode.chess={
|
|||
if(lib.config.forbidall.contains(i)) continue;
|
||||
if(lib.config.forbidchess.contains(i)) continue;
|
||||
if(get.config('ban_weak')&&lib.config.forbidsingle.contains(i)) continue;
|
||||
if(get.config('ban_weak')&&(lib.rank.c.contains(i)||lib.rank.d.contains(i))) continue;
|
||||
if(get.config('ban_strong')&&(lib.rank.s.contains(i)||lib.rank.ap.contains(i))) continue;
|
||||
if(lib.character[i][4].contains('boss')) continue;
|
||||
list.push(i);
|
||||
}
|
||||
|
|
|
@ -201,6 +201,7 @@ mode.guozhan={
|
|||
if(lib.config.forbidai.contains(i)) continue;
|
||||
if(lib.config.forbidall.contains(i)) continue;
|
||||
if(lib.config.forbiddouble.contains(i)) continue;
|
||||
if(get.config('ban_strong')&&(lib.rank.s.contains(i)||lib.rank.ap.contains(i))) continue;
|
||||
if(lib.character[i][2]==3||lib.character[i][2]==4||lib.character[i][2]==5)
|
||||
event.list.push(i);
|
||||
}
|
||||
|
|
|
@ -403,7 +403,9 @@ mode.identity={
|
|||
for(i in lib.character){
|
||||
if(lib.config.forbidai.contains(i)) continue;
|
||||
if(lib.config.forbidall.contains(i)) continue;
|
||||
if(!get.config('double_character')&&get.config('ban_weak')&&lib.config.forbidsingle.contains(i)) continue;
|
||||
if(!get.config('double_character')&&get.config('ban_weak')&&
|
||||
(lib.config.forbidsingle.contains(i)||lib.rank.c.contains(i)||lib.rank.d.contains(i))) continue;
|
||||
if(get.config('ban_strong')&&(lib.rank.s.contains(i)||lib.rank.ap.contains(i))) continue;
|
||||
if(get.config('double_character')&&lib.config.forbiddouble.contains(i)) continue;
|
||||
event.list.push(i);
|
||||
if(lib.character[i][4]&&lib.character[i][4].contains('zhu')){
|
||||
|
|
|
@ -479,6 +479,8 @@ mode.stone={
|
|||
if(lib.config.forbidall.contains(i)) continue;
|
||||
if(lib.config.forbidstone.contains(i)) continue;
|
||||
if(!get.config('double_character')&&get.config('ban_weak')&&lib.config.forbidsingle.contains(i)) continue;
|
||||
if(!get.config('double_character')&&get.config('ban_weak')&&(lib.rank.c.contains(i)||lib.rank.d.contains(i))) continue;
|
||||
if(get.config('ban_strong')&&(lib.rank.s.contains(i)||lib.rank.ap.contains(i))) continue;
|
||||
if(get.config('double_character')&&lib.config.forbiddouble.contains(i)) continue;
|
||||
list.push(i);
|
||||
}
|
||||
|
|
|
@ -44,8 +44,15 @@ mode.versus={
|
|||
// if(lib.storage.only_zhu==undefined) game.save('only_zhu',true);
|
||||
if(lib.storage.single_control==undefined) game.save('single_control',true);
|
||||
if(lib.storage.number==undefined) game.save('number',3);
|
||||
if(lib.storage.versus_reward==undefined) game.save('versus_reward',3);
|
||||
if(lib.storage.replace_number==undefined) game.save('replace_number',3);
|
||||
if(lib.storage.control_all==undefined) game.save('control_all',true);
|
||||
|
||||
switch(lib.storage.seat_order){
|
||||
case '交叉':lib.storage.cross_seat=true;lib.storage.random_seat=false;break;
|
||||
case '随机':lib.storage.cross_seat=false;lib.storage.random_seat=true;break;
|
||||
default:lib.storage.cross_seat=false;lib.storage.random_seat=false;
|
||||
}
|
||||
game.save('only_zhu',true);
|
||||
|
||||
ui.create.arena();
|
||||
|
@ -113,29 +120,31 @@ mode.versus={
|
|||
// this.dialog.versus_only_zhu.parentNode.classList.add('disabled');
|
||||
this.dialog.versus_main_zhu.parentNode.classList.add('disabled');
|
||||
}
|
||||
this.dialog.versus_assign_enemy=this.dialog.add(ui.create.switcher('versus_assign_enemy',lib.storage.assign_enemy)).querySelector('.toggle');
|
||||
this.dialog.versus_cross_seat=this.dialog.add(ui.create.switcher('versus_cross_seat',lib.storage.cross_seat)).querySelector('.toggle');
|
||||
this.dialog.versus_random_seat=this.dialog.add(ui.create.switcher('versus_random_seat',lib.storage.random_seat)).querySelector('.toggle');
|
||||
// this.dialog.versus_cross_seat=this.dialog.add(ui.create.switcher('versus_cross_seat',lib.storage.cross_seat)).querySelector('.toggle');
|
||||
// this.dialog.versus_random_seat=this.dialog.add(ui.create.switcher('versus_random_seat',lib.storage.random_seat)).querySelector('.toggle');
|
||||
this.dialog.versus_noreplace_end=this.dialog.add(ui.create.switcher('versus_noreplace_end',lib.storage.noreplace_end)).querySelector('.toggle');
|
||||
this.dialog.versus_assign_enemy=this.dialog.add(ui.create.switcher('versus_assign_enemy',lib.storage.assign_enemy)).querySelector('.toggle');
|
||||
this.dialog.versus_single_control=this.dialog.add(ui.create.switcher('versus_single_control',lib.storage.single_control)).querySelector('.toggle');
|
||||
this.dialog.versus_control_all=this.dialog.add(ui.create.switcher('versus_control_all',lib.storage.control_all)).querySelector('.toggle');
|
||||
this.dialog.versus_die_stop=this.dialog.add(ui.create.switcher('versus_die_stop',lib.storage.die_stop)).querySelector('.toggle');
|
||||
this.dialog.versus_reward=this.dialog.add(ui.create.switcher('versus_reward',[0,1,2,3,4],lib.storage.versus_reward)).querySelector('.toggle');
|
||||
this.dialog.versus_seat_order=this.dialog.add(ui.create.switcher('seat_order',['对阵','交叉','随机'],lib.storage.seat_order)).querySelector('.toggle');
|
||||
this.dialog.versus_number=this.dialog.add(ui.create.switcher('versus_number',[1,2,3],lib.storage.number)).querySelector('.toggle');
|
||||
this.dialog.replace_number=this.dialog.add(ui.create.switcher('replace_number',[0,1,2,3,5,7,9,17],lib.storage.replace_number)).querySelector('.toggle');
|
||||
this.dialog.choice=this.dialog.add(ui.create.switcher('choice',[12,16,20,24,40,'∞'],lib.storage.choice)).querySelector('.toggle');
|
||||
|
||||
if(lib.storage.cross_seat){
|
||||
this.dialog.versus_random_seat.parentNode.classList.add('disabled');
|
||||
}
|
||||
else{
|
||||
this.dialog.versus_random_seat.parentNode.classList.remove('disabled');
|
||||
if(lib.storage.random_seat){
|
||||
this.dialog.versus_cross_seat.parentNode.classList.add('disabled');
|
||||
}
|
||||
else{
|
||||
this.dialog.versus_cross_seat.parentNode.classList.remove('disabled');
|
||||
}
|
||||
}
|
||||
// if(lib.storage.cross_seat){
|
||||
// this.dialog.versus_random_seat.parentNode.classList.add('disabled');
|
||||
// }
|
||||
// else{
|
||||
// this.dialog.versus_random_seat.parentNode.classList.remove('disabled');
|
||||
// if(lib.storage.random_seat){
|
||||
// this.dialog.versus_cross_seat.parentNode.classList.add('disabled');
|
||||
// }
|
||||
// else{
|
||||
// this.dialog.versus_cross_seat.parentNode.classList.remove('disabled');
|
||||
// }
|
||||
// }
|
||||
if(lib.storage.single_control){
|
||||
this.dialog.versus_control_all.parentNode.classList.remove('disabled');
|
||||
}
|
||||
|
@ -172,6 +181,8 @@ mode.versus={
|
|||
if(lib.config.forbidversus.contains(i)) continue;
|
||||
if(get.config('ban_weak')&&lib.config.forbidsingle.contains(i)) continue;
|
||||
if(get.config('ban_weak')&&lib.config.forbidall.contains(i)) continue;
|
||||
if(get.config('ban_weak')&&(lib.rank.c.contains(i)||lib.rank.d.contains(i))) continue;
|
||||
if(get.config('ban_strong')&&(lib.rank.s.contains(i)||lib.rank.ap.contains(i))) continue;
|
||||
list.push(i);
|
||||
}
|
||||
var groupSort=function(name){
|
||||
|
@ -326,21 +337,26 @@ mode.versus={
|
|||
// game.save('only_zhu',dialog.versus_only_zhu.link);
|
||||
game.save('main_zhu',dialog.versus_main_zhu.link);
|
||||
game.save('assign_enemy',dialog.versus_assign_enemy.link);
|
||||
game.save('random_seat',dialog.versus_random_seat.link);
|
||||
game.save('cross_seat',dialog.versus_cross_seat.link);
|
||||
game.save('seat_order',dialog.versus_seat_order.link);
|
||||
// game.save('cross_seat',dialog.versus_cross_seat.link);
|
||||
game.save('noreplace_end',dialog.versus_noreplace_end.link);
|
||||
game.save('single_control',dialog.versus_single_control.link);
|
||||
if(lib.storage.cross_seat){
|
||||
dialog.versus_random_seat.parentNode.classList.add('disabled');
|
||||
}
|
||||
else{
|
||||
dialog.versus_random_seat.parentNode.classList.remove('disabled');
|
||||
if(lib.storage.random_seat){
|
||||
dialog.versus_cross_seat.parentNode.classList.add('disabled');
|
||||
}
|
||||
else{
|
||||
dialog.versus_cross_seat.parentNode.classList.remove('disabled');
|
||||
}
|
||||
// if(lib.storage.cross_seat){
|
||||
// dialog.versus_random_seat.parentNode.classList.add('disabled');
|
||||
// }
|
||||
// else{
|
||||
// dialog.versus_random_seat.parentNode.classList.remove('disabled');
|
||||
// if(lib.storage.random_seat){
|
||||
// dialog.versus_cross_seat.parentNode.classList.add('disabled');
|
||||
// }
|
||||
// else{
|
||||
// dialog.versus_cross_seat.parentNode.classList.remove('disabled');
|
||||
// }
|
||||
// }
|
||||
switch(lib.storage.seat_order){
|
||||
case '交叉':lib.storage.cross_seat=true;lib.storage.random_seat=false;break;
|
||||
case '随机':lib.storage.cross_seat=false;lib.storage.random_seat=true;break;
|
||||
default:lib.storage.cross_seat=false;lib.storage.random_seat=false;
|
||||
}
|
||||
if(lib.storage.single_control){
|
||||
dialog.versus_control_all.parentNode.classList.remove('disabled');
|
||||
|
@ -351,6 +367,7 @@ mode.versus={
|
|||
game.save('control_all',dialog.versus_control_all.link);
|
||||
game.save('die_stop',dialog.versus_die_stop.link);
|
||||
game.save('number',dialog.versus_number.link);
|
||||
game.save('versus_reward',dialog.versus_reward.link);
|
||||
game.save('replace_number',dialog.replace_number.link);
|
||||
game.save('choice',dialog.choice.link);
|
||||
var count,i;
|
||||
|
@ -1018,7 +1035,9 @@ mode.versus={
|
|||
versus_random_seat_config:'随机座位',
|
||||
versus_noreplace_end_config:'无替补时结束',
|
||||
versus_single_control_config:'单人控制',
|
||||
seat_order_config:'座位排列',
|
||||
versus_control_all_config:'固定控制位置',
|
||||
versus_reward_config:'杀敌摸牌',
|
||||
versus_number_config:'对阵人数',
|
||||
replace_number_config:'替补人数',
|
||||
choice_config:'候选人数'
|
||||
|
@ -1102,7 +1121,7 @@ mode.versus={
|
|||
else{
|
||||
if(source){
|
||||
if(source.side!=this.side){
|
||||
source.draw(2);
|
||||
source.draw(lib.storage.versus_reward);
|
||||
}
|
||||
else{
|
||||
source.discard(source.get('he'));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
.card:not(*:empty){
|
||||
color:rgb(77, 60, 51);
|
||||
text-shadow:none;
|
||||
background: url('../music/wood3.png');
|
||||
background: url('../../music/wood3.png');
|
||||
background-size:auto;
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
.card:not(*:empty){
|
||||
color:rgb(77, 60, 51);
|
||||
text-shadow:none;
|
||||
background: url('../simple/card.png');
|
||||
background: url('../../simple/card.png');
|
||||
background-size:cover;
|
||||
}
|
||||
#arena:not(.chess) .player[data-position='0']>.equips>.equip5 {
|
|
@ -1,6 +1,6 @@
|
|||
.card:not(*:empty){
|
||||
color:rgb(77, 60, 51);
|
||||
text-shadow:none;
|
||||
background: url('../woodden/wood.jpg');
|
||||
background: url('../../woodden/wood.jpg');
|
||||
background-size:auto;
|
||||
}
|
After Width: | Height: | Size: 143 KiB |
|
@ -0,0 +1,6 @@
|
|||
.card:empty{
|
||||
color:rgb(77, 60, 51);
|
||||
text-shadow:none;
|
||||
background: url('../../music/wood3.png');
|
||||
background-size:auto;
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
.card:empty{
|
||||
background: url('image/official.png');
|
||||
background-size: cover;
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
.card:empty{
|
||||
color:rgb(77, 60, 51);
|
||||
text-shadow:none;
|
||||
background: url('../../woodden/wood.jpg');
|
||||
background-size:auto;
|
||||
}
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,41 @@
|
|||
.hp:not(.text):not(.actcount)[data-condition="high"]>div:not(.lost){
|
||||
background: url('image/hp1.png');
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
background-size: cover;
|
||||
transform: scale(1.4) rotate(180deg);
|
||||
}
|
||||
.hp:not(.text):not(.actcount)[data-condition="mid"]>div:not(.lost){
|
||||
background: url('image/hp2.png');
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
background-size: cover;
|
||||
transform: scale(1.4) rotate(180deg);
|
||||
}
|
||||
.hp:not(.text):not(.actcount)[data-condition="low"]>div:not(.lost){
|
||||
background: url('image/hp3.png');
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
background-size: cover;
|
||||
transform: scale(1.4) rotate(180deg);
|
||||
}
|
||||
.hp:not(.text):not(.actcount)>.lost{
|
||||
background: url('image/hp4.png');
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
background-size: cover;
|
||||
transform: scale(1.4) rotate(180deg);
|
||||
}
|
||||
|
||||
#arena.hpimage .player .hp:not(.text):not(.actcount)[data-condition="high"]>div:not(.lost){
|
||||
transform: scale(1.6);
|
||||
}
|
||||
#arena.hpimage .player .hp:not(.text):not(.actcount)[data-condition="mid"]>div:not(.lost){
|
||||
transform: scale(1.6);
|
||||
}
|
||||
#arena.hpimage .player .hp:not(.text):not(.actcount)[data-condition="low"]>div:not(.lost){
|
||||
transform: scale(1.6);
|
||||
}
|
||||
#arena.hpimage .player .hp:not(.text):not(.actcount)>.lost{
|
||||
transform: scale(1.6);
|
||||
}
|