挑战模式
32
.jshintrc
|
@ -1,18 +1,42 @@
|
||||||
{
|
{
|
||||||
"camelcase": true,
|
"-W041": false,
|
||||||
"eqeqeq": true,
|
|
||||||
"globalstrict": true,
|
"globalstrict": true,
|
||||||
|
"funcscope": true,
|
||||||
"esnext": true,
|
"esnext": true,
|
||||||
|
"eqnull": true,
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"newcap": false,
|
"newcap": false,
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"unused": true,
|
"unused": true,
|
||||||
"loopfunc": true,
|
"loopfunc": true,
|
||||||
"noyield": true,
|
"noyield": true,
|
||||||
"quotmark": "single",
|
|
||||||
"devel": true,
|
"devel": true,
|
||||||
"node":true,
|
"node":true,
|
||||||
|
"asi":true,
|
||||||
|
"evil":true,
|
||||||
|
"expr":true,
|
||||||
|
"shadow":true,
|
||||||
"globals": {
|
"globals": {
|
||||||
|
"player":true,
|
||||||
|
"event":true,
|
||||||
|
"target":true,
|
||||||
|
"targets":true,
|
||||||
|
"num":true,
|
||||||
|
"source":true,
|
||||||
|
"card":true,
|
||||||
|
"cards":true,
|
||||||
|
"result":true,
|
||||||
|
"trigger":true,
|
||||||
|
"mode":true,
|
||||||
|
"character":true,
|
||||||
|
"card":true,
|
||||||
|
"play":true,
|
||||||
|
"lib":true,
|
||||||
|
"game":true,
|
||||||
|
"ui":true,
|
||||||
|
"get":true,
|
||||||
|
"ai":true,
|
||||||
|
"_status":true,
|
||||||
|
"forced":true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,8 @@ character.diy={
|
||||||
// diy_hanlong:['male','wei',4,['siji','ciqiu'],['fullskin']],
|
// diy_hanlong:['male','wei',4,['siji','ciqiu'],['fullskin']],
|
||||||
diy_feishi:['male','shu',3,['shuaiyan','moshou'],['fullskin']],
|
diy_feishi:['male','shu',3,['shuaiyan','moshou'],['fullskin']],
|
||||||
diy_liuyan:['male','shu',4,['juedao','geju'],['fullskin']],
|
diy_liuyan:['male','shu',4,['juedao','geju'],['fullskin']],
|
||||||
diy_luxun:['male','wu',3,['shaoying','zonghuo'],['fullskin']],
|
// diy_luxun:['male','wu',3,['shaoying','zonghuo'],['fullskin']],
|
||||||
diy_yuji:['male','qun',3,['diyguhuo','diychanyuan'],['fullskin']],
|
// diy_yuji:['male','qun',3,['diyguhuo','diychanyuan'],['fullskin']],
|
||||||
// diy_zhouyu:['male','wu',3,['jieyan','honglian']],
|
// diy_zhouyu:['male','wu',3,['jieyan','honglian']],
|
||||||
diy_zhouyu:['male','wu',3,['xiongzi','yaliang'],['fullskin']],
|
diy_zhouyu:['male','wu',3,['xiongzi','yaliang'],['fullskin']],
|
||||||
diy_caiwenji:['female','qun',3,['beige','guihan'],['fullskin']],
|
diy_caiwenji:['female','qun',3,['beige','guihan'],['fullskin']],
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
(function(){
|
(function(){
|
||||||
var temp;
|
var temp;
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -8,6 +8,7 @@ window.config={
|
||||||
forbidstone:['zhugedan','pal_xuanxiao'],
|
forbidstone:['zhugedan','pal_xuanxiao'],
|
||||||
forbidchess:['hetaihou','swd_kangnalishi'],
|
forbidchess:['hetaihou','swd_kangnalishi'],
|
||||||
forbiddouble:['zhugedan','swd_kangnalishi','swd_nicole','dongzhuo','jg_simayi'],
|
forbiddouble:['zhugedan','swd_kangnalishi','swd_nicole','dongzhuo','jg_simayi'],
|
||||||
|
layoutfixed:['chess','boss'],
|
||||||
all:{
|
all:{
|
||||||
mode:['identity','guozhan','versus','boss','chess','stone'],
|
mode:['identity','guozhan','versus','boss','chess','stone'],
|
||||||
characters:['standard','wind','fire','woods','mountain','extra','sp','yijiang','refresh','guozhan','jiange','zhuogui','diy','yxs','swd','xswd','gujian','xianjian'],
|
characters:['standard','wind','fire','woods','mountain','extra','sp','yijiang','refresh','guozhan','jiange','zhuogui','diy','yxs','swd','xswd','gujian','xianjian'],
|
||||||
|
|
175
game/game.js
|
@ -132,6 +132,7 @@ window.play={};
|
||||||
init:function(){
|
init:function(){
|
||||||
lib.config={};
|
lib.config={};
|
||||||
var config2;
|
var config2;
|
||||||
|
var config=window.config;
|
||||||
for(var i in config){
|
for(var i in config){
|
||||||
lib.config[i]=lib.init.eval(config[i]);
|
lib.config[i]=lib.init.eval(config[i]);
|
||||||
}
|
}
|
||||||
|
@ -175,7 +176,7 @@ window.play={};
|
||||||
lib.init.js('character',lib.config.all.characters);
|
lib.init.js('character',lib.config.all.characters);
|
||||||
lib.init.js('play',lib.config.plays);
|
lib.init.js('play',lib.config.plays);
|
||||||
ui.css={};
|
ui.css={};
|
||||||
if(lib.config.mode=='chess'){
|
if(lib.config.layoutfixed.indexOf(lib.config.mode)!==-1){
|
||||||
lib.config.layout='newlayout';
|
lib.config.layout='newlayout';
|
||||||
}
|
}
|
||||||
ui.css.layout=lib.init.css('layout/'+lib.config.layout,'layout');
|
ui.css.layout=lib.init.css('layout/'+lib.config.layout,'layout');
|
||||||
|
@ -1991,8 +1992,12 @@ window.play={};
|
||||||
if(!game.minskin&&lib.config.layout=='newlayout'&&info[4].contains('fullskin')){
|
if(!game.minskin&&lib.config.layout=='newlayout'&&info[4].contains('fullskin')){
|
||||||
this.classList.remove('minskin');
|
this.classList.remove('minskin');
|
||||||
this.classList.add('fullskin');
|
this.classList.add('fullskin');
|
||||||
this.node.avatar.style.backgroundImage='url("image/character/fullskin/'+character+'.jpg")';
|
if(lib.fakeavatar&&lib.fakeavatar[character]){
|
||||||
this.node.avatar.style.backgroundSize='cover';
|
this.node.avatar.setBackground('character/fullskin/'+lib.fakeavatar[character]);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.node.avatar.setBackground('character/fullskin/'+character);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.node.avatar.setBackground(character,'character');
|
this.node.avatar.setBackground(character,'character');
|
||||||
|
@ -2012,7 +2017,6 @@ window.play={};
|
||||||
this.group=info[1];
|
this.group=info[1];
|
||||||
this.hp=info[2];
|
this.hp=info[2];
|
||||||
this.maxHp=info[2];
|
this.maxHp=info[2];
|
||||||
// this.node.identity.style.backgroundColor=get.translation(this.group+'Color');
|
|
||||||
this.node.intro.innerHTML=lib.config.intro;
|
this.node.intro.innerHTML=lib.config.intro;
|
||||||
if(lib.config.touchscreen){
|
if(lib.config.touchscreen){
|
||||||
lib.setLongPress(this,ui.click.intro);
|
lib.setLongPress(this,ui.click.intro);
|
||||||
|
@ -2036,8 +2040,12 @@ window.play={};
|
||||||
|
|
||||||
if(lib.config.layout=='newlayout'&&lib.config.only_fullskin){
|
if(lib.config.layout=='newlayout'&&lib.config.only_fullskin){
|
||||||
this.classList.add('fullskin2');
|
this.classList.add('fullskin2');
|
||||||
this.node.avatar2.style.backgroundImage='url("image/character/fullskin/'+character2+'.jpg")';
|
if(lib.fakeavatar&&lib.fakeavatar[character2]){
|
||||||
this.node.avatar2.style.backgroundSize='cover';
|
this.node.avatar2.setBackground('character/fullskin/'+lib.fakeavatar[character2]);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.node.avatar2.setBackground('character/fullskin/'+character2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.node.avatar2.setBackground(character2,'character');
|
this.node.avatar2.setBackground(character2,'character');
|
||||||
|
@ -2128,6 +2136,12 @@ window.play={};
|
||||||
hp.innerHTML=this.hp+'/'+this.maxHp;
|
hp.innerHTML=this.hp+'/'+this.maxHp;
|
||||||
hp.classList.add('text');
|
hp.classList.add('text');
|
||||||
}
|
}
|
||||||
|
else if(lib.config.layout=='newlayout'&&
|
||||||
|
(this.maxHp>9||(this.maxHp>5&&this.classList.contains('minskin')))){
|
||||||
|
hp.innerHTML=this.hp+'<br>/<br>'+this.maxHp;
|
||||||
|
hp.classList.add('text');
|
||||||
|
hp.classList.remove('long');
|
||||||
|
}
|
||||||
else{
|
else{
|
||||||
hp.innerHTML='';
|
hp.innerHTML='';
|
||||||
hp.classList.remove('text');
|
hp.classList.remove('text');
|
||||||
|
@ -2145,38 +2159,24 @@ window.play={};
|
||||||
hp.childNodes[i].classList.add('lost');
|
hp.childNodes[i].classList.add('lost');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(this.classList.contains('minskin')){
|
if(this.maxHp==9){
|
||||||
if(this.maxHp>5){
|
hp.classList.add('long');
|
||||||
this.node.hp.classList.add('longlong');
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
this.node.hp.classList.remove('longlong');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(this.maxHp>9){
|
hp.classList.remove('long');
|
||||||
this.node.hp.classList.add('longlong');
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
this.node.hp.classList.remove('longlong');
|
|
||||||
}
|
|
||||||
if(this.maxHp==9||this.maxHp>=17){
|
|
||||||
this.node.hp.classList.add('long');
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
this.node.hp.classList.remove('long');
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(this.hp==0){
|
||||||
if(this.hp>Math.round(this.maxHp/2)||this.hp===this.maxHp){
|
hp.dataset.condition='';
|
||||||
this.node.hp.dataset.condition='high';
|
}
|
||||||
|
else if(this.hp>Math.round(this.maxHp/2)||this.hp===this.maxHp){
|
||||||
|
hp.dataset.condition='high';
|
||||||
}
|
}
|
||||||
else if(this.hp>Math.floor(this.maxHp/3)){
|
else if(this.hp>Math.floor(this.maxHp/3)){
|
||||||
this.node.hp.dataset.condition='mid';
|
hp.dataset.condition='mid';
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.node.hp.dataset.condition='low';
|
hp.dataset.condition='low';
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
|
@ -2529,6 +2529,7 @@ window.play={};
|
||||||
chooseToRespond:function(){
|
chooseToRespond:function(){
|
||||||
var next=game.createEvent('chooseToRespond');
|
var next=game.createEvent('chooseToRespond');
|
||||||
next.player=this;
|
next.player=this;
|
||||||
|
var filter;
|
||||||
for(var i=0;i<arguments.length;i++){
|
for(var i=0;i<arguments.length;i++){
|
||||||
if(typeof arguments[i]=='number'){
|
if(typeof arguments[i]=='number'){
|
||||||
next.selectCard=[arguments[i],arguments[i]];
|
next.selectCard=[arguments[i],arguments[i]];
|
||||||
|
@ -2548,7 +2549,7 @@ window.play={};
|
||||||
}
|
}
|
||||||
else if(typeof arguments[i]=='object'){
|
else if(typeof arguments[i]=='object'){
|
||||||
next.filterCard=get.filter(arguments[i]);
|
next.filterCard=get.filter(arguments[i]);
|
||||||
var filter=arguments[i];
|
filter=arguments[i];
|
||||||
}
|
}
|
||||||
else if(arguments[i]=='nosource'){
|
else if(arguments[i]=='nosource'){
|
||||||
next.nosource=true;
|
next.nosource=true;
|
||||||
|
@ -5112,6 +5113,10 @@ window.play={};
|
||||||
if(lib.updates.length===1){
|
if(lib.updates.length===1){
|
||||||
game.run();
|
game.run();
|
||||||
}
|
}
|
||||||
|
return func;
|
||||||
|
},
|
||||||
|
unupdate:function(func){
|
||||||
|
lib.updates.remove(func);
|
||||||
},
|
},
|
||||||
stop:function(){
|
stop:function(){
|
||||||
cancelAnimationFrame(lib.status.frameId);
|
cancelAnimationFrame(lib.status.frameId);
|
||||||
|
@ -5682,6 +5687,20 @@ window.play={};
|
||||||
if(game.players[i].classList.contains('selected')){
|
if(game.players[i].classList.contains('selected')){
|
||||||
game.players[i].classList.add('selectable');
|
game.players[i].classList.add('selectable');
|
||||||
}
|
}
|
||||||
|
if(game.players[i].instance){
|
||||||
|
if(game.players[i].classList.contains('selected')){
|
||||||
|
game.players[i].instance.classList.add('selected');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.players[i].instance.classList.remove('selected');
|
||||||
|
}
|
||||||
|
if(game.players[i].classList.contains('selectable')){
|
||||||
|
game.players[i].instance.classList.add('selectable');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
game.players[i].instance.classList.remove('selectable');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(ui.selected.targets.length<range[0]){
|
if(ui.selected.targets.length<range[0]){
|
||||||
if(!event.forced||get.selectableTargets().length)
|
if(!event.forced||get.selectableTargets().length)
|
||||||
|
@ -5803,6 +5822,10 @@ window.play={};
|
||||||
for(j=0;j<game.players.length;j++){
|
for(j=0;j<game.players.length;j++){
|
||||||
game.players[j].classList.remove('selected');
|
game.players[j].classList.remove('selected');
|
||||||
game.players[j].classList.remove('selectable');
|
game.players[j].classList.remove('selectable');
|
||||||
|
if(game.players[j].instance){
|
||||||
|
game.players[j].instance.classList.remove('selected');
|
||||||
|
game.players[j].instance.classList.remove('selectable');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ui.selected.targets.length=0;
|
ui.selected.targets.length=0;
|
||||||
}
|
}
|
||||||
|
@ -6578,6 +6601,8 @@ window.play={};
|
||||||
else{
|
else{
|
||||||
for(var i in lib.character){
|
for(var i in lib.character){
|
||||||
if(lib.character[i][4].contains('minskin')) continue;
|
if(lib.character[i][4].contains('minskin')) continue;
|
||||||
|
if(lib.character[i][4].contains('boss')) continue;
|
||||||
|
if(lib.character[i][4].contains('hiddenboss')) continue;
|
||||||
if(filter&&filter(i)) continue;
|
if(filter&&filter(i)) continue;
|
||||||
list.push(i);
|
list.push(i);
|
||||||
if(namecapt.indexOf(getCapt(i))==-1){
|
if(namecapt.indexOf(getCapt(i))==-1){
|
||||||
|
@ -7068,7 +7093,10 @@ window.play={};
|
||||||
modeconfig.push(ui.create.switcher('strict_sort',get.config('strict_sort'),ui.click.sidebar.local));
|
modeconfig.push(ui.create.switcher('strict_sort',get.config('strict_sort'),ui.click.sidebar.local));
|
||||||
modeconfig.push(ui.create.switcher('reverse_sort',get.config('reverse_sort'),ui.click.sidebar.reverse_sort));break;
|
modeconfig.push(ui.create.switcher('reverse_sort',get.config('reverse_sort'),ui.click.sidebar.reverse_sort));break;
|
||||||
default:{
|
default:{
|
||||||
if(typeof lib.config.current_mode[i]==='function'){
|
if(Array.isArray(lib.config.current_mode[i])){
|
||||||
|
modeconfig.push(ui.create.switcher.apply(this,lib.config.current_mode[i]));
|
||||||
|
}
|
||||||
|
else if(typeof lib.config.current_mode[i]==='function'){
|
||||||
modeconfig.push(lib.config.current_mode[i](game,lib,get,ui));
|
modeconfig.push(lib.config.current_mode[i](game,lib,get,ui));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7163,7 +7191,11 @@ window.play={};
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
appearence.push(ui.create.switcher('theme',lib.config.all.theme,lib.config.theme,ui.click.sidebar.theme));
|
appearence.push(ui.create.switcher('theme',lib.config.all.theme,lib.config.theme,ui.click.sidebar.theme));
|
||||||
appearence.push(ui.create.switcher('layout',lib.config.all.layout,lib.config.layout,ui.click.sidebar.layout));
|
var layoutconfig=ui.create.switcher('layout',lib.config.all.layout,lib.config.layout,ui.click.sidebar.layout);
|
||||||
|
appearence.push(layoutconfig);
|
||||||
|
if(lib.config.layoutfixed.contains(lib.config.mode)){
|
||||||
|
layoutconfig.classList.add('disabled');
|
||||||
|
}
|
||||||
appearence.push(ui.create.switcher('image_background',lib.config.all.image_background,lib.config.image_background,ui.click.sidebar.image_background));
|
appearence.push(ui.create.switcher('image_background',lib.config.all.image_background,lib.config.image_background,ui.click.sidebar.image_background));
|
||||||
appearence.push(ui.create.switcher('image_background_filter',lib.config.all.image_background_filter,lib.config.image_background_filter,ui.click.sidebar.image_background_filter));
|
appearence.push(ui.create.switcher('image_background_filter',lib.config.all.image_background_filter,lib.config.image_background_filter,ui.click.sidebar.image_background_filter));
|
||||||
appearence.push(ui.create.switcher('ui_zoom',['极小','很小','较小','原始','较大','很大'],lib.config.ui_zoom,ui.click.sidebar.ui_zoom));
|
appearence.push(ui.create.switcher('ui_zoom',['极小','很小','较小','原始','较大','很大'],lib.config.ui_zoom,ui.click.sidebar.ui_zoom));
|
||||||
|
@ -8631,6 +8663,7 @@ window.play={};
|
||||||
},
|
},
|
||||||
switcher:function(){
|
switcher:function(){
|
||||||
if(_status.dragged) return;
|
if(_status.dragged) return;
|
||||||
|
if(this.parentNode.classList.contains('disabled')) return;
|
||||||
if(_status.choosing) return;
|
if(_status.choosing) return;
|
||||||
_status.clicked=true;
|
_status.clicked=true;
|
||||||
_status.tempunpop=true;
|
_status.tempunpop=true;
|
||||||
|
@ -9038,6 +9071,9 @@ window.play={};
|
||||||
node.appendChild(ui.sidebar);
|
node.appendChild(ui.sidebar);
|
||||||
node.appendChild(ui.sidebar3);
|
node.appendChild(ui.sidebar3);
|
||||||
ui.arena.classList.add('paused');
|
ui.arena.classList.add('paused');
|
||||||
|
if(game.onpause){
|
||||||
|
game.onpause();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
resume:function(e){
|
resume:function(e){
|
||||||
if(_status.pausing) return;
|
if(_status.pausing) return;
|
||||||
|
@ -9048,6 +9084,9 @@ window.play={};
|
||||||
ui.arena.classList.remove('paused');
|
ui.arena.classList.remove('paused');
|
||||||
game.resume2();
|
game.resume2();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
if(game.onresume){
|
||||||
|
game.onresume();
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
config:function(){
|
config:function(){
|
||||||
|
@ -9064,6 +9103,9 @@ window.play={};
|
||||||
ui.config.animate('start');
|
ui.config.animate('start');
|
||||||
ui.window.appendChild(ui.config);
|
ui.window.appendChild(ui.config);
|
||||||
},100);
|
},100);
|
||||||
|
if(game.onpause2){
|
||||||
|
game.onpause2();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
config2:function(e){
|
config2:function(e){
|
||||||
_status.clicked=true;
|
_status.clicked=true;
|
||||||
|
@ -9087,6 +9129,9 @@ window.play={};
|
||||||
game.resume2();
|
game.resume2();
|
||||||
}
|
}
|
||||||
// e.stopPropagation();
|
// e.stopPropagation();
|
||||||
|
if(game.onresume2){
|
||||||
|
game.onresume2();
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
swap:function(){
|
swap:function(){
|
||||||
|
@ -9096,30 +9141,30 @@ window.play={};
|
||||||
if(ui.auto) ui.auto.show();
|
if(ui.auto) ui.auto.show();
|
||||||
game.swapPlayer(this);
|
game.swapPlayer(this);
|
||||||
},
|
},
|
||||||
mousewheel: function(e){
|
mousewheel:function(evt){
|
||||||
var evt = window.event || e;
|
|
||||||
var node=this;
|
var node=this;
|
||||||
var num=50;
|
var num=this._scrollnum||6;
|
||||||
|
var speed=this._scrollspeed||16;
|
||||||
clearInterval(node.interval);
|
clearInterval(node.interval);
|
||||||
if(evt.detail > 0 || evt.wheelDelta < 0){
|
if(evt.detail > 0 || evt.wheelDelta < 0){
|
||||||
node.interval=setInterval(function(){
|
node.interval=setInterval(function(){
|
||||||
if(num--&&Math.abs(node.scrollLeft+node.clientWidth-node.scrollWidth)>5){
|
if(num--&&Math.abs(node.scrollLeft+node.clientWidth-node.scrollWidth)>0){
|
||||||
node.scrollLeft +=2;
|
node.scrollLeft +=speed;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
clearInterval(node.interval);
|
clearInterval(node.interval);
|
||||||
}
|
}
|
||||||
},1);
|
},16);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
node.interval=setInterval(function(){
|
node.interval=setInterval(function(){
|
||||||
if(num--&&node.scrollLeft>0){
|
if(num--&&node.scrollLeft>0){
|
||||||
node.scrollLeft -=2;
|
node.scrollLeft -=speed;
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
clearInterval(node.interval);
|
clearInterval(node.interval);
|
||||||
}
|
}
|
||||||
},1);
|
},16);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
touchStart:function(e){
|
touchStart:function(e){
|
||||||
|
@ -10062,17 +10107,17 @@ window.play={};
|
||||||
if(num<0||num>99) return num;
|
if(num<0||num>99) return num;
|
||||||
if(num<=10){
|
if(num<=10){
|
||||||
switch(num){
|
switch(num){
|
||||||
case 0:return '〇';break;
|
case 0:return '〇';
|
||||||
case 1:return '一';break;
|
case 1:return '一';
|
||||||
case 2:return two?'二':'两';break;
|
case 2:return two?'二':'两';
|
||||||
case 3:return '三';break;
|
case 3:return '三';
|
||||||
case 4:return '四';break;
|
case 4:return '四';
|
||||||
case 5:return '五';break;
|
case 5:return '五';
|
||||||
case 6:return '六';break;
|
case 6:return '六';
|
||||||
case 7:return '七';break;
|
case 7:return '七';
|
||||||
case 8:return '八';break;
|
case 8:return '八';
|
||||||
case 9:return '九';break;
|
case 9:return '九';
|
||||||
case 10:return '十';break;
|
case 10:return '十';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(num<20){
|
if(num<20){
|
||||||
|
@ -10349,38 +10394,31 @@ window.play={};
|
||||||
if(content>0){
|
if(content>0){
|
||||||
return '共有'+content+'个标记';
|
return '共有'+content+'个标记';
|
||||||
}
|
}
|
||||||
else{
|
return false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 'turn':{
|
case 'turn':{
|
||||||
if(content>0){
|
if(content>0){
|
||||||
return '还剩'+content+'个回合';
|
return '还剩'+content+'个回合';
|
||||||
}
|
}
|
||||||
else{
|
return false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 'time':{
|
case 'time':{
|
||||||
if(content>0){
|
if(content>0){
|
||||||
return '还剩'+content+'次';
|
return '还剩'+content+'次';
|
||||||
}
|
}
|
||||||
else{
|
return false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 'limited':{
|
case 'limited':{
|
||||||
if(content){
|
if(content){
|
||||||
return '已发动';
|
return '已发动';
|
||||||
}
|
}
|
||||||
else{
|
return '未发动';
|
||||||
return '未发动';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
case 'cardCount':{
|
case 'cardCount':{
|
||||||
if(typeof content=='object'&&typeof content.length=='number'){
|
if(typeof content=='object'&&typeof content.length=='number'){
|
||||||
return '共有'+get.cnNumber(content.length)+'张牌';
|
return '共有'+get.cnNumber(content.length)+'张牌';
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
case 'card':case 'cards':{
|
case 'card':case 'cards':{
|
||||||
if(get.itemtype(content)=='card'){
|
if(get.itemtype(content)=='card'){
|
||||||
|
@ -10393,16 +10431,13 @@ window.play={};
|
||||||
else{
|
else{
|
||||||
dialog.add(content);
|
dialog.add(content);
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(content&&content.length){
|
if(content&&content.length){
|
||||||
return get.translation(content);
|
return get.translation(content);
|
||||||
}
|
}
|
||||||
else{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
case 'player':case 'players':{
|
case 'player':case 'players':{
|
||||||
if(get.itemtype(content)=='player'){
|
if(get.itemtype(content)=='player'){
|
||||||
|
@ -10421,9 +10456,7 @@ window.play={};
|
||||||
if(content&&content.length){
|
if(content&&content.length){
|
||||||
return get.translation(content);
|
return get.translation(content);
|
||||||
}
|
}
|
||||||
else{
|
return false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
default:{
|
default:{
|
||||||
|
|
After Width: | Height: | Size: 91 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 181 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 451 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 344 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 79 KiB |
After Width: | Height: | Size: 47 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 577 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 19 KiB |
|
@ -259,6 +259,17 @@ margin-bottom: 5px;
|
||||||
border: 1px solid rgba(39, 79, 7, 1);
|
border: 1px solid rgba(39, 79, 7, 1);
|
||||||
-webkit-filter: grayscale(1);
|
-webkit-filter: grayscale(1);
|
||||||
}
|
}
|
||||||
|
.hp.text[data-condition="low"]{
|
||||||
|
text-shadow: black 0 0 1px,rgba(232, 53, 53,1) 0 0 2px,rgba(232, 53, 53,1) 0 0 5px,rgba(232, 53, 53,1) 0 0 10px
|
||||||
|
}
|
||||||
|
.hp.text[data-condition="mid"]{
|
||||||
|
text-shadow: black 0 0 1px,rgba(255, 203, 0,1) 0 0 2px,rgba(255, 203, 0,1) 0 0 5px,rgba(255, 203, 0,1) 0 0 10px
|
||||||
|
}
|
||||||
|
.hp.text[data-condition="high"]{
|
||||||
|
text-shadow: rgba(57, 123, 4,1) 0 0 2px,rgba(57, 123, 4,1) 0 0 5px,rgba(57, 123, 4,1) 0 0 10px
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*.hp>div{width: 6px;height: 6px;margin-left: 3px;position: relative;}*/
|
/*.hp>div{width: 6px;height: 6px;margin-left: 3px;position: relative;}*/
|
||||||
|
@ -465,6 +476,11 @@ div:hover>.intro{opacity: 1;}
|
||||||
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px;
|
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px;
|
||||||
border-radius:4px;
|
border-radius:4px;
|
||||||
}
|
}
|
||||||
|
.shadowed{
|
||||||
|
background: rgba(0,0,0,0.2);
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px;
|
||||||
|
border-radius:8px;
|
||||||
|
}
|
||||||
.underline,.underlinenode{
|
.underline,.underlinenode{
|
||||||
padding:3px;
|
padding:3px;
|
||||||
width:auto;
|
width:auto;
|
||||||
|
@ -674,6 +690,31 @@ div[data-nature='soil']{
|
||||||
top:59px;
|
top:59px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.player.selectable{
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 133, 255, 0.8) 0 0 15px;
|
||||||
|
}
|
||||||
|
.selected{
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.8) 0 0 15px !important;
|
||||||
|
}
|
||||||
|
.glow{
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 133, 255, 0.8) 0 0 15px !important;
|
||||||
|
}
|
||||||
|
.glow2{
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(10, 155, 67, 1) 0 0 15px, rgba(10, 155, 67, 1) 0 0 15px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.control.blue{
|
||||||
|
background-image: linear-gradient(rgba(47,101,150,1), rgba(43, 90, 132,1));
|
||||||
|
}
|
||||||
|
.control.red{
|
||||||
|
background-image: linear-gradient(rgba(150, 47, 47, 1), rgba(132, 43, 43, 1));
|
||||||
|
}
|
||||||
|
.control.red,.control.blue{
|
||||||
|
color:white;
|
||||||
|
text-shadow:black 0 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
/*--------动画--------*/
|
/*--------动画--------*/
|
||||||
@-webkit-keyframes cardflip{
|
@-webkit-keyframes cardflip{
|
||||||
from {-webkit-transform:perspective(600px) rotateY(-90deg) translateX(52px)}
|
from {-webkit-transform:perspective(600px) rotateY(-90deg) translateX(52px)}
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
#bosslist{
|
||||||
|
width:100%;
|
||||||
|
height:calc(50% + 200px);
|
||||||
|
text-align:center;
|
||||||
|
top:calc(50% - 200px);
|
||||||
|
white-space:nowrap;
|
||||||
|
z-index:1;
|
||||||
|
}
|
||||||
|
#bosslist.scroll{
|
||||||
|
overflow-x:scroll;
|
||||||
|
}
|
||||||
|
.bosspaused>#bosslist,
|
||||||
|
.bosspaused>#control{
|
||||||
|
opacity:0.2 !important;
|
||||||
|
}
|
||||||
|
#bosslist>.player.bossshow{
|
||||||
|
opacity:1;
|
||||||
|
-webkit-animation:boss_start 0.5s;
|
||||||
|
-webkit-transform:none;
|
||||||
|
}
|
||||||
|
#bosslist>.player{
|
||||||
|
position:relative;
|
||||||
|
margin:10px;
|
||||||
|
left:0;
|
||||||
|
top:0;
|
||||||
|
width:180px;
|
||||||
|
height:216px;
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s;
|
||||||
|
-webkit-transform:translateY(-200px);
|
||||||
|
}
|
||||||
|
#bosslist>.player:hover{
|
||||||
|
-webkit-transform:scale(1.1);
|
||||||
|
}
|
||||||
|
#bosslist>div:first-child,
|
||||||
|
#bosslist>div:last-child{
|
||||||
|
width:20px;
|
||||||
|
position:relative;
|
||||||
|
}
|
||||||
|
#bosslist>.player>div:not(.hp):not(.identity):not(.avatar){
|
||||||
|
display:none !important;
|
||||||
|
}
|
||||||
|
#bosslist>.player>.identity{
|
||||||
|
left:16px;
|
||||||
|
top:20px;
|
||||||
|
line-height:24px;
|
||||||
|
white-space:normal;
|
||||||
|
}
|
||||||
|
#bosslist>.player>.hp{
|
||||||
|
top:22px;
|
||||||
|
left:144px;
|
||||||
|
}
|
||||||
|
#bosslist>.player>.avatar{
|
||||||
|
width:156px;
|
||||||
|
height:192px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#control.bosslist{
|
||||||
|
top:calc(50% + 100px);
|
||||||
|
}
|
||||||
|
#control.bosslist>div{
|
||||||
|
transition:opacity 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes boss_start{from {opacity: 0;-webkit-transform:translateY(-200px);}}
|
|
@ -87,6 +87,14 @@
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
|
transition:box-shadow 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fakeme.player>.selectable{
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 133, 255, 1) 0 0 5px, rgba(0, 133, 255, 1) 0 0 10px;
|
||||||
|
}
|
||||||
|
.fakeme.player>.selected{
|
||||||
|
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(255, 0, 0, 1) 0 0 5px, rgba(255, 0, 0, 1) 0 0 10px !important;
|
||||||
}
|
}
|
||||||
.fakeme.player>.dead{
|
.fakeme.player>.dead{
|
||||||
-webkit-filter:grayscale(1);
|
-webkit-filter:grayscale(1);
|
||||||
|
|
|
@ -19,6 +19,9 @@
|
||||||
.player.minskin .hp{
|
.player.minskin .hp{
|
||||||
left:86px;
|
left:86px;
|
||||||
}
|
}
|
||||||
|
.player.minskin .hp.text{
|
||||||
|
left:86px;
|
||||||
|
}
|
||||||
.player.minskin .hp.longlong{
|
.player.minskin .hp.longlong{
|
||||||
left:74px;
|
left:74px;
|
||||||
}
|
}
|
||||||
|
@ -217,6 +220,13 @@
|
||||||
z-index:3;
|
z-index:3;
|
||||||
-webkit-transform:rotate(180deg);
|
-webkit-transform:rotate(180deg);
|
||||||
}
|
}
|
||||||
|
.player .hp.text{
|
||||||
|
font-family:'huangcao';
|
||||||
|
font-size:22px;
|
||||||
|
-webkit-transform:none;
|
||||||
|
transition:all 0s;
|
||||||
|
left:114px;
|
||||||
|
}
|
||||||
.player .hp.long{
|
.player .hp.long{
|
||||||
bottom:12px;
|
bottom:12px;
|
||||||
max-height:156px;
|
max-height:156px;
|
||||||
|
|
136
mode/boss.js
|
@ -1,26 +1,140 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
mode.boss={
|
mode.boss={
|
||||||
game:{
|
game:{
|
||||||
|
reserveDead:true,
|
||||||
start:function(){
|
start:function(){
|
||||||
var next=game.createEvent('game',false);
|
var next=game.createEvent('game',false);
|
||||||
next.content=function(){
|
next.content=function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
lib.init.css('layout/mode','boss')
|
for(var i in lib.skill){
|
||||||
|
if(lib.skill[i].changeSeat){
|
||||||
|
lib.skill[i]={};
|
||||||
|
if(lib.translate[i+'_info']){
|
||||||
|
lib.translate[i+'_info']='此模式下不可用';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
lib.init.css('layout/mode','boss');
|
||||||
|
var bosslist=ui.create.div('#bosslist');
|
||||||
|
if(!lib.config.touchscreen&&lib.config.mousewheel){
|
||||||
|
bosslist._scrollspeed=30;
|
||||||
|
bosslist._scrollnum=10;
|
||||||
|
bosslist.onmousewheel=ui.click.mousewheel;
|
||||||
|
}
|
||||||
|
var bosslistlinks={};
|
||||||
|
var toggleBoss=function(bool){
|
||||||
|
game.saveConfig(this.name,bool,true);
|
||||||
|
var node=bosslistlinks[this.name];
|
||||||
|
if(bool){
|
||||||
|
node.style.display='';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
node.style.display='none';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var onpause=function(){
|
||||||
|
ui.window.classList.add('bosspaused');
|
||||||
|
}
|
||||||
|
var onresume=function(){
|
||||||
|
ui.window.classList.remove('bosspaused');
|
||||||
|
}
|
||||||
|
game.onpause=onpause;
|
||||||
|
game.onpause2=onpause;
|
||||||
|
game.onresume=onresume;
|
||||||
|
game.onresume2=onresume;
|
||||||
|
ui.create.div(bosslist);
|
||||||
|
|
||||||
|
var list=[];
|
||||||
|
for(var i in lib.character){
|
||||||
|
var info=lib.character[i];
|
||||||
|
if(info[4].contains('boss')){
|
||||||
|
var cfg=i+'_bossconfig';
|
||||||
|
if(get.config(cfg)==undefined){
|
||||||
|
game.saveConfig(cfg,true,true);
|
||||||
|
}
|
||||||
|
lib.translate[cfg+'_config']=lib.translate[i];
|
||||||
|
lib.config.current_mode.push([cfg,get.config(cfg),toggleBoss]);
|
||||||
|
var player=ui.create.player(bosslist).init(i);
|
||||||
|
list.push(player);
|
||||||
|
player.node.hp.classList.add('text');
|
||||||
|
player.node.hp.dataset.condition='';
|
||||||
|
player.node.hp.innerHTML=info[2];
|
||||||
|
player.setIdentity(player.name);
|
||||||
|
player.node.identity.dataset.color=info[5];
|
||||||
|
bosslistlinks[cfg]=player;
|
||||||
|
|
||||||
|
if(!get.config(cfg)){
|
||||||
|
player.style.display='none';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ui.create.div(bosslist);
|
||||||
|
lib.translate.boss_pangtong='涅槃凤雏';
|
||||||
ui.create.arena();
|
ui.create.arena();
|
||||||
var dialog=ui.create.dialog('还没完工~');
|
var time=(ui.window.offsetWidth-30)/200;
|
||||||
dialog.style.height='52px';
|
ui.window.appendChild(ui.control);
|
||||||
dialog.style.background=' rgba(0,0,0,0.2)';
|
ui.control.classList.add('bosslist');
|
||||||
dialog.style.boxShadow=' rgba(0, 0, 0, 0.3) 0 0 0 1px';
|
|
||||||
dialog.style.borderRadius='8px';
|
ui.window.appendChild(bosslist);
|
||||||
dialog.style.top='calc(50% - 52px)';
|
var interval=setInterval(function(){
|
||||||
|
if(list.length){
|
||||||
|
list.shift().classList.add('bossshow');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
clearInterval(interval);
|
||||||
|
}
|
||||||
|
},500/time);
|
||||||
|
setTimeout(function(){
|
||||||
|
bosslist.classList.add('scroll');
|
||||||
|
},1000);
|
||||||
|
setTimeout(function(){
|
||||||
|
var control=ui.create.control('快速开始',function(){
|
||||||
|
control.hide();
|
||||||
|
bosslist.delete();
|
||||||
|
});
|
||||||
|
},500);
|
||||||
game.pause();
|
game.pause();
|
||||||
"step 1"
|
|
||||||
console.log(1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
character:{
|
character:{
|
||||||
boss_zuiqiangshenhua:['male','qun',8,['mashu','wushuang','baonu'],['boss']],
|
boss_zhangchunhua:['female','shu',4,[],['fullskin','boss'],'wei'],
|
||||||
boss_baonuzhanshen:['male','qun',4,['mashu','wushuang','xiuluo','shenwei','shenji'],['boss']],
|
boss_zhenji:['female','shu',4,[],['fullskin','boss'],'wei'],
|
||||||
|
boss_liubei:['male','shu',4,[],['fullskin','boss'],'qun'],
|
||||||
|
boss_zhugeliang:['male','shu',4,[],['fullskin','boss'],'qun'],
|
||||||
|
boss_huangyueying:['female','shu',4,[],['fullskin','boss'],'wei'],
|
||||||
|
boss_pangtong:['male','shu',4,[],['fullskin','boss'],'zhu'],
|
||||||
|
boss_zhouyu:['male','wu',4,[],['fullskin','boss'],'zhu'],
|
||||||
|
boss_lvbu1:['male','qun',8,['mashu','wushuang','baonu'],['fullskin','boss'],'wei'],
|
||||||
|
boss_lvbu2:['male','qun',4,['mashu','wushuang','xiuluo','shenwei','shenji'],['fullskin','hiddenboss'],'qun'],
|
||||||
|
boss_caiwenji:['female','qun',8,[],['fullskin','boss'],'wei'],
|
||||||
|
boss_zhangjiao:['male','qun',8,[],['fullskin','boss'],'shu'],
|
||||||
|
boss_zuoci:['male','qun',8,[],['fullskin','boss'],'shu'],
|
||||||
|
boss_yuji:['male','qun',8,[],['fullskin','boss'],'nei'],
|
||||||
|
boss_diaochan:['male','qun',8,[],['fullskin','boss'],'qun'],
|
||||||
|
boss_huatuo:['male','qun',8,[],['fullskin','boss'],'wu'],
|
||||||
|
boss_dongzhuo:['male','qun',8,[],['fullskin','boss'],'shu'],
|
||||||
|
boss_shuijing:['male','qun',8,[],['fullskin','boss'],'wei'],
|
||||||
},
|
},
|
||||||
|
translate:{
|
||||||
|
boss_shuijing:'水镜先生',
|
||||||
|
boss_huangyueying:'奇智女杰',
|
||||||
|
boss_zhangchunhua:'冷血皇后',
|
||||||
|
boss_satan:'堕落天使',
|
||||||
|
boss_dongzhuo:'乱世魔王',
|
||||||
|
boss_lvbu1:'最强神话',
|
||||||
|
boss_lvbu2:'暴怒战神',
|
||||||
|
boss_zhouyu:'赤壁火神',
|
||||||
|
boss_pangtong:'涅盘凤雏',
|
||||||
|
boss_zhugeliang:'祭风卧龙',
|
||||||
|
boss_zhangjiao:'天公将军',
|
||||||
|
boss_zuoci:'迷之仙人',
|
||||||
|
boss_yuji:'琅琊道士',
|
||||||
|
boss_liubei:'昭烈皇帝',
|
||||||
|
boss_caiwenji:'异乡孤女',
|
||||||
|
boss_huatuo:'药坛圣手',
|
||||||
|
boss_luxun:'蹁跹君子',
|
||||||
|
boss_zhenji:'洛水仙子',
|
||||||
|
boss_diaochan:'绝代妖姬',
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -433,7 +433,6 @@ mode.chess={
|
||||||
if(targets.length==0){
|
if(targets.length==0){
|
||||||
if(randomMove.length){
|
if(randomMove.length){
|
||||||
var list=randomMove.slice(0);
|
var list=randomMove.slice(0);
|
||||||
var randomMoved=false;
|
|
||||||
while(list.length){
|
while(list.length){
|
||||||
var thismove=list.randomRemove();
|
var thismove=list.randomRemove();
|
||||||
if(player[thismove]()){
|
if(player[thismove]()){
|
||||||
|
@ -594,7 +593,7 @@ mode.chess={
|
||||||
var next=game.createEvent('game',false);
|
var next=game.createEvent('game',false);
|
||||||
next.content=function(){
|
next.content=function(){
|
||||||
"step 0"
|
"step 0"
|
||||||
for(i in lib.skill){
|
for(var i in lib.skill){
|
||||||
if(lib.skill[i].changeSeat){
|
if(lib.skill[i].changeSeat){
|
||||||
lib.skill[i]={};
|
lib.skill[i]={};
|
||||||
if(lib.translate[i+'_info']){
|
if(lib.translate[i+'_info']){
|
||||||
|
@ -647,10 +646,10 @@ mode.chess={
|
||||||
}
|
}
|
||||||
this._chessdrag=[e,this.parentNode.scrollLeft,this.parentNode.scrollTop];
|
this._chessdrag=[e,this.parentNode.scrollLeft,this.parentNode.scrollTop];
|
||||||
});
|
});
|
||||||
ui.chess.addEventListener('mouseleave',function(e){
|
ui.chess.addEventListener('mouseleave',function(){
|
||||||
this._chessdrag=null;
|
this._chessdrag=null;
|
||||||
});
|
});
|
||||||
ui.chess.addEventListener('mouseup',function(e){
|
ui.chess.addEventListener('mouseup',function(){
|
||||||
if(this._chessdrag){
|
if(this._chessdrag){
|
||||||
this._chessdrag=null;
|
this._chessdrag=null;
|
||||||
}
|
}
|
||||||
|
@ -662,7 +661,7 @@ mode.chess={
|
||||||
}
|
}
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
ui.chessContainer.addEventListener('mousewheel',function(e){
|
ui.chessContainer.addEventListener('mousewheel',function(){
|
||||||
if(_status.currentChessFocus){
|
if(_status.currentChessFocus){
|
||||||
clearInterval(_status.currentChessFocus);
|
clearInterval(_status.currentChessFocus);
|
||||||
delete _status.currentChessFocus;
|
delete _status.currentChessFocus;
|
||||||
|
@ -742,7 +741,7 @@ mode.chess={
|
||||||
lib.posmap[enemy.dataset.position]=enemy;
|
lib.posmap[enemy.dataset.position]=enemy;
|
||||||
}
|
}
|
||||||
|
|
||||||
lib.setPopped(ui.create.system('查看手牌',null,true),function(e){
|
lib.setPopped(ui.create.system('查看手牌',null,true),function(){
|
||||||
var uiintro=ui.create.dialog('hidden');
|
var uiintro=ui.create.dialog('hidden');
|
||||||
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
@ -760,11 +759,6 @@ mode.chess={
|
||||||
|
|
||||||
return uiintro;
|
return uiintro;
|
||||||
});
|
});
|
||||||
var clearPrompt=function(){
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
|
||||||
game.players[i].unprompt();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
ui.create.system('显示距离',function(){
|
ui.create.system('显示距离',function(){
|
||||||
if(!game.me.isAlive()) return;
|
if(!game.me.isAlive()) return;
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
@ -814,6 +808,7 @@ mode.chess={
|
||||||
node.style.backgroundImage=p.node.avatar.style.backgroundImage;
|
node.style.backgroundImage=p.node.avatar.style.backgroundImage;
|
||||||
node.link=p;
|
node.link=p;
|
||||||
node.listen(game.clickChessInfo);
|
node.listen(game.clickChessInfo);
|
||||||
|
p.instance=node;
|
||||||
if(_status.currentPhase==p){
|
if(_status.currentPhase==p){
|
||||||
node.classList.add('glow2');
|
node.classList.add('glow2');
|
||||||
}
|
}
|
||||||
|
@ -824,6 +819,7 @@ mode.chess={
|
||||||
clickChessInfo:function(e){
|
clickChessInfo:function(e){
|
||||||
if(this.link.isAlive()){
|
if(this.link.isAlive()){
|
||||||
this.link.chessFocus();
|
this.link.chessFocus();
|
||||||
|
ui.click.target.call(this.link,e);
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
mode.guozhan={
|
mode.guozhan={
|
||||||
game:{
|
game:{
|
||||||
start:function(){
|
start:function(){
|
||||||
|
@ -56,7 +57,6 @@ mode.guozhan={
|
||||||
},
|
},
|
||||||
showIdentity:function(started){
|
showIdentity:function(started){
|
||||||
if(game.phaseNumber==0&&!started) return;
|
if(game.phaseNumber==0&&!started) return;
|
||||||
var players=game.players.concat(game.dead);
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
game.players[i].showCharacter(2);
|
game.players[i].showCharacter(2);
|
||||||
}
|
}
|
||||||
|
@ -173,6 +173,7 @@ mode.guozhan={
|
||||||
};
|
};
|
||||||
next.switchToAuto=function(){
|
next.switchToAuto=function(){
|
||||||
event.ai(game.me,list);
|
event.ai(game.me,list);
|
||||||
|
ui.arena.classList.remove('selecting');
|
||||||
};
|
};
|
||||||
|
|
||||||
event.dialogxx=ui.create.characterDialog();
|
event.dialogxx=ui.create.characterDialog();
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
mode.identity={
|
mode.identity={
|
||||||
game:{
|
game:{
|
||||||
start:function(){
|
start:function(){
|
||||||
|
@ -58,7 +59,6 @@ mode.identity={
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
showIdentity:function(){
|
showIdentity:function(){
|
||||||
var players=game.players.concat(game.dead);
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
game.players[i].identityShown=true;
|
game.players[i].identityShown=true;
|
||||||
game.players[i].ai.shown=1;
|
game.players[i].ai.shown=1;
|
||||||
|
@ -575,19 +575,21 @@ mode.identity={
|
||||||
case 'zhong': return 6;
|
case 'zhong': return 6;
|
||||||
case 'nei':
|
case 'nei':
|
||||||
if(game.players.length==2) return -10;
|
if(game.players.length==2) return -10;
|
||||||
if(ai.get.situation()>1) return 0;
|
if(situation>1) return 0;
|
||||||
return Math.min(3,get.population('fan'));
|
return Math.min(3,get.population('fan'));
|
||||||
case 'fan': return -4;
|
case 'fan': return -4;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case 'zhong':
|
case 'zhong':
|
||||||
switch(identity2){
|
switch(identity2){
|
||||||
case 'zhu': return 10;
|
case 'zhu': return 10;
|
||||||
case 'zhong': return get.population('fan')>0?4:-1;
|
case 'zhong': return get.population('fan')>0?4:-1;
|
||||||
case 'nei':
|
case 'nei':
|
||||||
if(get.population('fan')==0) return -2;
|
if(get.population('fan')==0) return -2;
|
||||||
return Math.min(3,-ai.get.situation());
|
return Math.min(3,-situation);
|
||||||
case 'fan': return -8;
|
case 'fan': return -8;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case 'nei':
|
case 'nei':
|
||||||
if(identity2=='zhu'&&game.players.length==2) return -10;
|
if(identity2=='zhu'&&game.players.length==2) return -10;
|
||||||
var strategy=get.aiStrategy();
|
var strategy=get.aiStrategy();
|
||||||
|
@ -601,16 +603,16 @@ mode.identity={
|
||||||
if(strategy==6) return -1;
|
if(strategy==6) return -1;
|
||||||
if(strategy==5) return 10;
|
if(strategy==5) return 10;
|
||||||
if(to.hp<=0) return 10;
|
if(to.hp<=0) return 10;
|
||||||
if(ai.get.situation()>1) num=0;
|
if(situation>1) num=0;
|
||||||
else num=get.population('fan')+Math.max(0,3-game.zhu.hp);
|
else num=get.population('fan')+Math.max(0,3-game.zhu.hp);
|
||||||
if(strategy==2) num--;
|
if(strategy==2) num--;
|
||||||
if(strategy==3) num++;
|
if(strategy==3) num++;
|
||||||
return num;
|
return num;
|
||||||
case 'zhong':
|
case 'zhong':
|
||||||
if(strategy==5) return Math.min(0,-ai.get.situation());
|
if(strategy==5) return Math.min(0,-situation);
|
||||||
if(strategy==6) return Math.max(-1,-ai.get.situation());
|
if(strategy==6) return Math.max(-1,-situation);
|
||||||
if(get.population('fan')==0) num=-5;
|
if(get.population('fan')==0) num=-5;
|
||||||
else if(ai.get.situation()<=0) num=0;
|
else if(situation<=0) num=0;
|
||||||
else if(game.zhu&&game.zhu.hp<2) num=0;
|
else if(game.zhu&&game.zhu.hp<2) num=0;
|
||||||
else if(game.zhu&&game.zhu.hp==2) num=-0.5
|
else if(game.zhu&&game.zhu.hp==2) num=-0.5
|
||||||
else num=-2;
|
else num=-2;
|
||||||
|
@ -622,27 +624,28 @@ mode.identity={
|
||||||
if(from.ai.friend.contains(to)) return 5;
|
if(from.ai.friend.contains(to)) return 5;
|
||||||
return -1;
|
return -1;
|
||||||
case 'fan':
|
case 'fan':
|
||||||
if(strategy==5) return Math.max(-1,ai.get.situation());
|
if(strategy==5) return Math.max(-1,situation);
|
||||||
if(strategy==6) return Math.min(0,ai.get.situation());
|
if(strategy==6) return Math.min(0,situation);
|
||||||
if((game.zhu&&game.zhu.hp<=2&&ai.get.situation()<=0)||ai.get.situation()<-1) num=-3;
|
if((game.zhu&&game.zhu.hp<=2&&situation<=0)||situation<-1) num=-3;
|
||||||
else if(ai.get.situation()<0||get.population('zhong')==0) num=-2;
|
else if(situation<0||get.population('zhong')==0) num=-2;
|
||||||
else if((game.zhu&&game.zhu.hp>4&&ai.get.situation()>0)||ai.get.situation()>1) num=1;
|
else if((game.zhu&&game.zhu.hp>4&&situation>0)||situation>1) num=1;
|
||||||
else num=0;
|
else num=0;
|
||||||
if(strategy==2) num++;
|
if(strategy==2) num++;
|
||||||
if(strategy==3) num--;
|
if(strategy==3) num--;
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case 'fan':
|
case 'fan':
|
||||||
switch(identity2){
|
switch(identity2){
|
||||||
case 'zhu':
|
case 'zhu':
|
||||||
if(ai.get.situation()==1) return -6;
|
if(situation==1) return -6;
|
||||||
if(ai.get.situation()>1) return -5;
|
if(situation>1) return -5;
|
||||||
return -10;
|
return -10;
|
||||||
case 'zhong': return -7;
|
case 'zhong': return -7;
|
||||||
case 'nei':
|
case 'nei':
|
||||||
if(get.population('zhong')==0) return -7;
|
if(get.population('zhong')==0) return -7;
|
||||||
if(game.zhu&&game.zhu.hp<=2) return -1;
|
if(game.zhu&&game.zhu.hp<=2) return -1;
|
||||||
return Math.min(3,ai.get.situation());
|
return Math.min(3,situation);
|
||||||
case 'fan': return 5;
|
case 'fan': return 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1064,7 +1064,7 @@ mode.stone={
|
||||||
event.chooser.chooseTarget('魏兵:弃置对方一名随从的所有牌',function(card,playerx,target){
|
event.chooser.chooseTarget('魏兵:弃置对方一名随从的所有牌',function(card,playerx,target){
|
||||||
return player.side!=target.side&&target.isMin()&&target.num('he')>0;
|
return player.side!=target.side&&target.isMin()&&target.num('he')>0;
|
||||||
}).ai=function(target){
|
}).ai=function(target){
|
||||||
return 1;
|
return target.num('he');
|
||||||
};
|
};
|
||||||
player.line(event.chooser);
|
player.line(event.chooser);
|
||||||
"step 1"
|
"step 1"
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
'use strict';
|
||||||
mode.versus={
|
mode.versus={
|
||||||
game:{
|
game:{
|
||||||
start:function(){
|
start:function(){
|
||||||
|
@ -585,7 +586,6 @@ mode.versus={
|
||||||
},
|
},
|
||||||
versusCheckHandcards:function(){
|
versusCheckHandcards:function(){
|
||||||
_status.clicked=true;
|
_status.clicked=true;
|
||||||
var i,translation,intro,str;
|
|
||||||
if(ui.intro){
|
if(ui.intro){
|
||||||
ui.intro.close();
|
ui.intro.close();
|
||||||
if(ui.intro.source=='versusCheckHandcards'){
|
if(ui.intro.source=='versusCheckHandcards'){
|
||||||
|
@ -626,7 +626,7 @@ mode.versus={
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
versusHoverEnemy:function(e){
|
versusHoverEnemy:function(){
|
||||||
var uiintro=ui.create.dialog('hidden');
|
var uiintro=ui.create.dialog('hidden');
|
||||||
|
|
||||||
if(_status.enemyDied.length){
|
if(_status.enemyDied.length){
|
||||||
|
@ -644,7 +644,7 @@ mode.versus={
|
||||||
|
|
||||||
return uiintro;
|
return uiintro;
|
||||||
},
|
},
|
||||||
versusHoverFriend:function(e){
|
versusHoverFriend:function(){
|
||||||
var uiintro=ui.create.dialog('hidden');
|
var uiintro=ui.create.dialog('hidden');
|
||||||
|
|
||||||
if(_status.friendDied.length){
|
if(_status.friendDied.length){
|
||||||
|
@ -662,7 +662,7 @@ mode.versus={
|
||||||
|
|
||||||
return uiintro;
|
return uiintro;
|
||||||
},
|
},
|
||||||
versusHoverReplace:function(e){
|
versusHoverReplace:function(){
|
||||||
var uiintro=ui.create.dialog('hidden');
|
var uiintro=ui.create.dialog('hidden');
|
||||||
|
|
||||||
uiintro.add(ui.autoreplace);
|
uiintro.add(ui.autoreplace);
|
||||||
|
@ -680,7 +680,7 @@ mode.versus={
|
||||||
|
|
||||||
return uiintro;
|
return uiintro;
|
||||||
},
|
},
|
||||||
versusHoverHandcards:function(e){
|
versusHoverHandcards:function(){
|
||||||
var uiintro=ui.create.dialog('hidden');
|
var uiintro=ui.create.dialog('hidden');
|
||||||
|
|
||||||
for(var i=0;i<game.players.length;i++){
|
for(var i=0;i<game.players.length;i++){
|
||||||
|
@ -700,7 +700,6 @@ mode.versus={
|
||||||
},
|
},
|
||||||
versusCheckEnemy:function(){
|
versusCheckEnemy:function(){
|
||||||
_status.clicked=true;
|
_status.clicked=true;
|
||||||
var i,translation,intro,str;
|
|
||||||
if(ui.intro){
|
if(ui.intro){
|
||||||
ui.intro.close();
|
ui.intro.close();
|
||||||
if(ui.intro.source=='versusCheckEnemy'){
|
if(ui.intro.source=='versusCheckEnemy'){
|
||||||
|
@ -715,9 +714,6 @@ mode.versus={
|
||||||
ui.intro=ui.create.dialog();
|
ui.intro=ui.create.dialog();
|
||||||
ui.intro.source='versusCheckEnemy';
|
ui.intro.source='versusCheckEnemy';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(_status.enemyDied.length){
|
if(_status.enemyDied.length){
|
||||||
ui.intro.add('已阵亡');
|
ui.intro.add('已阵亡');
|
||||||
ui.intro.add([_status.enemyDied,'character']);
|
ui.intro.add([_status.enemyDied,'character']);
|
||||||
|
@ -733,7 +729,6 @@ mode.versus={
|
||||||
},
|
},
|
||||||
versusCheckFriend:function(){
|
versusCheckFriend:function(){
|
||||||
_status.clicked=true;
|
_status.clicked=true;
|
||||||
var i,translation,intro,str;
|
|
||||||
if(ui.intro){
|
if(ui.intro){
|
||||||
ui.intro.close();
|
ui.intro.close();
|
||||||
if(ui.intro.source=='versusCheckFriend'){
|
if(ui.intro.source=='versusCheckFriend'){
|
||||||
|
@ -779,7 +774,6 @@ mode.versus={
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
_status.clicked=true;
|
_status.clicked=true;
|
||||||
var i,translation,intro,str;
|
|
||||||
if(ui.intro){
|
if(ui.intro){
|
||||||
ui.intro.close();
|
ui.intro.close();
|
||||||
if(ui.intro.source==this.parentNode){
|
if(ui.intro.source==this.parentNode){
|
||||||
|
|
|
@ -19,18 +19,6 @@ html{
|
||||||
.player,#mebg{
|
.player,#mebg{
|
||||||
/*background:url('wood.png') left repeat-y,url('wood.png') right repeat-y,linear-gradient(#4b4b4b, #464646);*/
|
/*background:url('wood.png') left repeat-y,url('wood.png') right repeat-y,linear-gradient(#4b4b4b, #464646);*/
|
||||||
}
|
}
|
||||||
.player.selectable{
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 133, 255, 0.8) 0 0 15px;
|
|
||||||
}
|
|
||||||
.glow{
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 133, 255, 0.8) 0 0 15px !important;
|
|
||||||
}
|
|
||||||
.glow2{
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(10, 155, 67, 1) 0 0 15px, rgba(10, 155, 67, 1) 0 0 15px !important;
|
|
||||||
}
|
|
||||||
.selected{
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.8) 0 0 15px !important;
|
|
||||||
}
|
|
||||||
.card{
|
.card{
|
||||||
color:white;
|
color:white;
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,18 +46,6 @@ html{
|
||||||
.control,#system>div>div,.popup,.dialog>.bar{
|
.control,#system>div>div,.popup,.dialog>.bar{
|
||||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 2px 10px;
|
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.2) 0 2px 10px;
|
||||||
}
|
}
|
||||||
.player.selectable{
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 133, 255, 0.8) 0 0 15px;
|
|
||||||
}
|
|
||||||
.glow{
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(0, 133, 255, 0.8) 0 0 15px !important;
|
|
||||||
}
|
|
||||||
.glow2{
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.3) 0 0 0 1px, rgba(10, 155, 67, 1) 0 0 15px, rgba(10, 155, 67, 1) 0 0 15px !important;
|
|
||||||
}
|
|
||||||
.selected{
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(255, 0, 0, 0.8) 0 0 15px !important;
|
|
||||||
}
|
|
||||||
.card{
|
.card{
|
||||||
text-shadow:rgba(0,0,0,0.1) 0 0 1px;
|
text-shadow:rgba(0,0,0,0.1) 0 0 1px;
|
||||||
}
|
}
|
||||||
|
|