This commit is contained in:
libccy 2015-11-18 11:39:14 +08:00
parent 23485a722c
commit be962d74b9
75 changed files with 460 additions and 66 deletions

View File

@ -1,4 +1,5 @@
1.5.6
修复安卓版的两个显示问题
按钮效果
不对敌将用桃选项
1.5.7
对决模式改进
屏蔽强将选项
卡牌、卡背、体力条样式
新武将

View File

@ -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文件夹内的同名文件
####选项设置
#####通用

View File

@ -90,6 +90,7 @@ character.gujian={
},
content:function(){
"step 0"
player.line(trigger.player,'green');
player.phase();
player.storage.meiying=trigger.player;
"step 1"

View File

@ -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:'重生',

View File

@ -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',

View File

@ -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:'每当你装备一张牌,可摸一张牌,每当你失去一张装备牌(不含替换),你可以弃置其他角色的一张牌',

View File

@ -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,

View File

@ -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(){

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 236 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 515 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 494 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

View File

@ -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}

View File

@ -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();

View File

@ -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);
}

View File

@ -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);
}

View File

@ -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')){

View File

@ -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);
}

View File

@ -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'));

Binary file not shown.

View File

@ -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;
}

View File

@ -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 {

View File

@ -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;
}

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

View File

@ -0,0 +1,6 @@
.card:empty{
color:rgb(77, 60, 51);
text-shadow:none;
background: url('../../music/wood3.png');
background-size:auto;
}

View File

@ -0,0 +1,4 @@
.card:empty{
background: url('image/official.png');
background-size: cover;
}

View File

@ -0,0 +1,6 @@
.card:empty{
color:rgb(77, 60, 51);
text-shadow:none;
background: url('../../woodden/wood.jpg');
background-size:auto;
}

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -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);
}