您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
helper for AOC
- // ==UserScript==
- // @name Adventure of Chaos helper
- // @namespace http://www.x4code.com
- // @version 1.6
- // @author Manro
- // @match http://cdn1.x4code.com/game/*
- // @match http://cdn2.x4code.com/game/*
- // @match http://cdn3.x4code.com/game/*
- // @match http://cdn4.x4code.com/game/*
- // @match http://cdn5.x4code.com/game/*
- // @match http://cdn6.x4code.com/game/*
- // @match http://www.x4code.com/game/*
- // @match http://112.74.129.222/game/*
- // @grant none
- // @description helper for AOC
- // ==/UserScript==
- //impl script
- !function(a){"use strict";var b=function(a,c){var d=/[^\w\-\.:]/.test(a)?new Function(b.arg+",tmpl","var _e=tmpl.encode"+b.helper+",_s='"+a.replace(b.regexp,b.func)+"';return _s;"):b.cache[a]=b.cache[a]||b(b.load(a));return c?d(c,b):function(a){return d(a,b)}};b.cache={},b.load=function(a){return document.getElementById(a).innerHTML},b.regexp=/([\s'\\])(?!(?:[^{]|\{(?!%))*%\})|(?:\{%(=|#)([\s\S]+?)%\})|(\{%)|(%\})/g,b.func=function(a,b,c,d,e,f){return b?{"\n":"\\n","\r":"\\r"," ":"\\t"," ":" "}[b]||"\\"+b:c?"="===c?"'+_e("+d+")+'":"'+("+d+"==null?'':"+d+")+'":e?"';":f?"_s+='":void 0},b.encReg=/[<>&"'\x00]/g,b.encMap={"<":"<",">":">","&":"&",'"':""","'":"'"},b.encode=function(a){return(null==a?"":""+a).replace(b.encReg,function(a){return b.encMap[a]||""})},b.arg="o",b.helper=",print=function(s,e){_s+=e?(s==null?'':s):_e(s);},include=function(s,d){_s+=tmpl(s,d);}","function"==typeof define&&define.amd?define(function(){return b}):a.tmpl=b}(this);
- (function($) {
- $.fn.tips = function(options) {
- var opts = $.extend({}, $.fn.showinfo.defaults, options);
- if ($("#ToolsTip").size() == 0) $('<div id="ToolsTip"></div>').hide().appendTo('body');
- var $ToolsTip = $("#ToolsTip");
- this.bind('mouseover mousemove mouseout', function(event) {
- var TarData = $(this).attr('title') || $(this).data('title');
- $(this).removeAttr('title');
- $(this).data('title',TarData);
- switch (event.type){
- case 'mousemove':
- var top = event.pageY + 12,
- left = event.pageX + 12;
- if ($ToolsTip.innerHeight() + top + 12 > $(document).height()) top = $(document).height() - $ToolsTip.innerHeight() - 20;
- $ToolsTip.css({top: top, left: left}).show();
- case 'mouseover':
- $ToolsTip.html(TarData);
- break;
- case 'mouseout':
- $ToolsTip.removeClass().removeData().empty().hide();
- break;
- }
- });
- }
- $.fn.showinfo = function(options) {
- var opts = $.extend({}, $.fn.showinfo.defaults, options);
- if ($("#InfoTip").size() == 0) {
- $('<div id="InfoTip"></div>').hide().appendTo('body');
- }
- if ($('[infotip]').size() == 0) {
- $('<div id="InfoTip" infotip></div>').hide().appendTo('body');
- }
- var $InfoTip = $("#InfoTip");
- var $InfoTip2 = $('[infotip]').css({
- 'position': 'absolute',
- 'z-index': '10000',
- 'border-radius': '4px',
- 'border-width': '3px',
- 'border-style': 'ridge',
- 'min-width': '160px',
- 'max-width': '200px',
- 'padding': '5px 10px'
- });
- this.bind('mouseover mouseout mousemove', function(event) {
- var equips = $('#equips button').map(function(index, elem) {
- return $(elem).data('info');
- });
- var TarData = $(this).data('info');
- var showCompare = this.tagName != 'BUTTON';
- var compareData = null;
- var tarType = TarData.type.substr(0,1);
- for (var i = 0; i < equips.length; i++) {
- var equip = equips[i];
- if (equip.type.substr(0,1) == tarType) {
- compareData =equip;
- break;
- }
- }
- var showid = '_';
- if (TarData.eid) showid += TarData.eid+"_";
- if (TarData.tid) showid += TarData.tid;
- switch (event.type){
- case 'mousemove':
- var top = event.pageY + 12,
- left = event.pageX + 12;
- if ($InfoTip.innerHeight() + top + 12 > $(document).height()) top = $(document).height() - $InfoTip.innerHeight() - 12;
- if ($InfoTip.innerWidth() + left + 12 > $(document).width()) left = event.pageX - $InfoTip.innerWidth() - 12;
- $InfoTip.css({top: top, left: left}).show();
- if (showCompare && compareData) {
- $InfoTip2.css({top: top, left: left+$InfoTip.innerWidth()+ 5}).show();
- }
- if ($InfoTip.data('show') == showid) { return false; }
- $InfoTip.data('show',showid);
- case 'mouseover':
- // console.log(TarData.pz);
- $InfoTip.addClass('pz'+TarData.epz);
- var TipData = $.fn.showinfo.ext(TarData,showCompare&&compareData?compareData:null);
- $InfoTip.html(TipData);
- if (showCompare) {
- $InfoTip2.addClass('pz'+compareData.epz);
- var TipData2 = $.fn.showinfo.ext(compareData);
- $InfoTip2.html(TipData2);
- }
- break;
- case 'mouseout':
- $InfoTip.removeClass().removeData().empty().hide();
- $InfoTip2.removeClass().removeData().empty().hide();
- break;
- }
- });
- }
- $.fn.showinfo.ext = function(v,compare) {
- var rtHtml = v.lv > 0 ? "<span class='lv'>Lv:"+v.lv+"</span>":"";
- rtHtml += "<h3>"+v.name;
- if (v.qlv > 0) { rtHtml += " +"+v.qlv; };
- rtHtml += "</h3>";
- var info = v.info ? $.parseJSON(v.info) : {};
- var addinfo = v.addinfo ? $.parseJSON(v.addinfo) : {};
- var compreAddinfo = null;
- if (compare) {
- compreAddinfo = compare.addinfo ? $.parseJSON(compare.addinfo) : null;
- }
- var colorkey = [];
- if (Object.keys(addinfo).length){
- for(var key in addinfo){
- if(info.hasOwnProperty(key)) {
- info[key] = info[key] + addinfo[key];
- colorkey[key] = 1;
- }
- }
- }
- rtHtml += "<p>";
- if (v.rank != 0 && v.rank) rtHtml += "["+$.fn.showinfo.rankstr(v.rank)+"] ";
- rtHtml += '['+$.fn.showinfo.typestr(v.type)+'] ';
- if (v.job != 0) rtHtml += "["+$.fn.showinfo.jobstr(v.job)+"]";
- rtHtml += "</p>";
- if (info.att_min+info.att_max > 0) {
- rtHtml += "攻击力:<b>";
- rtHtml += colorkey.att_min ? "<i>"+info.att_min+"</i> - " : info.att_min + " - ";
- rtHtml += colorkey.att_max ? "<i>"+info.att_max+"</i></b>" : info.att_max+"</b>";
- };
- if (info.att_min) { delete info.att_min; }
- if (info.att_max) { delete info.att_max; }
- // console.log(info.length);
- if (Object.keys(info).length){
- rtHtml += "<ul class='info'>";
- for(var key in info){
- // console.log(key+' : '+info[key]);
- var tags = $.fn.showinfo.extinfo(key);
- rtHtml += "<li>"+tags[0]+":<b>";
- rtHtml += colorkey[key] ? "<i>"+info[key]+tags[1]+"</i></b></li>" : info[key]+tags[1]+"</b></li>";
- }
- rtHtml += "</ul>"
- }
- if (Object.keys(addinfo).length){
- rtHtml += "<ul class='addinfo'>[附加属性]";
- for(var key in addinfo){
- // console.log(key+' : '+info[key]);
- var tags = $.fn.showinfo.extinfo(key);
- var compareString = '';
- if (compreAddinfo && compreAddinfo.hasOwnProperty(key)) {
- compareString = parseInt(addinfo[key]) - parseInt(compreAddinfo[key]);
- }
- rtHtml += "<li>"+tags[0]+":"+addinfo[key]+tags[1]+"<span class='pull-right'>"+compareString+"</span></li>";
- }
- rtHtml += "</ul>"
- }
- rtHtml += v.num ? "<p>数量:"+v.num+"</p>" : "";
- rtHtml += v.about ? "<p><q>"+v.about+"</q></p>" : "";
- // if (v.eid) { rtHtml += "<p>"+v.eid+"</p>" };
- return rtHtml;
- }
- $.fn.showinfo.extinfo = function(key){
- var data = {
- 'hp' : ['生命值',''],
- 'pow' : ['强度',''],
- 'dex' : ['敏捷',''],
- 'con' : ['体质',''],
- 'att_min' : ['最小攻击',''],
- 'att_max' : ['最大攻击',''],
- 'def' : ['防御',''],
- 'eva' : ['闪避机率',' %'],
- 'arm' : ['护甲',''],
- 'dmgeff' : ['伤害减免',' %'],
- 'hit' : ['命中机率',' %'],
- 'cri' : ['暴击机率',' %'],
- 'cridmg' : ['暴击伤害',' %'],
- 'rec' : ['恢复',' %'],
- 'add_hp' : ['生命值',' %'],
- 'add_att' : ['攻击力',' %'],
- 'add_def' : ['防御增强',' %'],
- 'add_eva' : ['闪避机率',' %'],
- 'add_arm' : ['护甲增强',' %'],
- 'add_dmgeff' : ['伤害减免',' %'],
- 'add_hit' : ['命中机率',' %'],
- 'add_cri' : ['暴击机率',' %'],
- 'add_cridmg' : ['暴击伤害',' %'],
- 'add_rec' : ['恢复',' %'],
- };
- return data[key];
- }
- $.fn.showinfo.typestr = function(type){
- var data = {
- "_1" : "普通武器",
- "_2" : "普通防具",
- "_3" : "戒指",
- "_4" : "护符",
- "_5" : "材料",
- "_11" : "剑",
- "_12" : "匕首",
- "_13" : "锤",
- "_14" : "弓",
- "_15" : "弩",
- "_16" : "斧",
- "_17" : "法杖",
- "_18" : "魔杖",
- "_19" : "权杖",
- "_21" : "轻甲",
- "_22" : "中甲",
- "_23" : "重甲",
- "_50" : "材料"
- };
- return data['_'+type];
- }
- $.fn.showinfo.rankstr = function(type){ // 难度装备
- var data = {
- "_0" : "",
- "_1" : "困难",
- "_2" : "专家",
- "_3" : "大师",
- "_4" : "苦痛I",
- "_5" : "苦痛II",
- "_6" : "苦痛III",
- "_7" : "苦痛IV",
- "_8" : "苦痛V",
- "_9" : "苦痛VI"
- };
- return data['_'+type];
- }
- $.fn.showinfo.jobstr = function(jid){
- var data = {
- '_0' : '冒险者',
- '_1' : '护卫', '_2' : '信徒', '_3' : '学徒',
- '_11' : '骑士', '_12' : '斗士', '_21' : '牧师', '_22' : '魔法师', '_31' : '斥候', '_32' : '猎人',
- '_111' : '领主', '_112' : '至尊骑士','_121' : '战狂', '_122' : '圣武士',
- '_211' : '主教', '_212' : '贤者', '_221' : '巫师', '_222' : '先知',
- '_311' : '刺客', '_312' : '侠盗', '_321' : '游侠', '_322' : '神射手'
- };
- return data['_'+jid];
- }
- // 插件的defaults
- $.fn.showinfo.defaults = {
- };
- // 闭包结束
- })(jQuery);
- window.showmain = function(type){
- $('.col-main > div').hide();
- if (type == 'fight') {
- showleft('rolestats');
- $('.window-fight').show();
- var fixheight = $('#enemys').innerHeight() > $('#friends').innerHeight() ?
- $('#enemys').innerHeight() : $('#friends').innerHeight();
- $('.battlelog').height(476 - fixheight);
- }else{
- $('.window-other').empty().append('<span class="boxloading"><img src="src/image/load2.gif" /> <br />载入中...</span>').show();
- $.get('box/'+type, function(result) {
- $('.window-other').empty().html(result);
- $('*[title]').tips();
- if (type == 'item') {
- attachItemEnhance('#bag');
- }
- });
- }
- };
- var junkTypes = [1,2,14,16,18];
- window.showtype = function(fatherbox,type) {
- $(fatherbox+' .showtype button').removeClass('active');
- $(fatherbox+' .showtype button').eq(type).addClass('active');
- if ($(fatherbox+' .items label').size() == 0) { return false; };
- $(fatherbox+' .items label').hide();
- if (type == 0) {
- $(fatherbox+' .items label').show();
- }else if(type == 5){
- $(fatherbox+' .items label').each(function() {
- if( parseInt($(this).data('type').toString().substr(0,1)) >= 5 ) $(this).show();
- });
- }else if(type == 6){
- var jopitem = check_job_equip();
- // console.log(jopitem);
- if (!jopitem) return false;
- $(fatherbox+' .items label').each(function() {
- // console.log(jopitem.indexOf($(this).data('type')));
- if( jopitem.indexOf($(this).data('type')) >= 0 ) $(this).show();
- });
- }else if(type == 7){
- $(fatherbox+' .items label').each(function() {
- var type = $(this).data('type');
- if (type !='50') {
- if ($(this).data('pz') < 4) {
- $(this).show();
- }else if(junkTypes.indexOf(type) != -1){
- $(this).show();
- }
- }
- });
- }else{
- $(fatherbox+' .items label').each(function() {
- if( $(this).data('type').toString().substr(0,1) == type ) $(this).show();
- });
- }
- };
- // 排列
- window.relist = function relist(fatherbox,type){
- $(fatherbox+' .relist button').removeClass('active');
- $(fatherbox+' .relist button').eq(type).addClass('active');
- if ($(fatherbox+' .items label').size() == 0) { return false; };
- var lists = [];
- $(fatherbox+' .items label').each(function(index, el) {
- var info = $(el).data('info');
- if (!info.rank) {
- info.rank = '-1';
- }
- lists.push([$(el).data('lv'),$(el).data('pz'),info.rank,$(el)]);
- });
- lists.sort(function (a,b){return b[type] - a[type];});
- $(fatherbox+' .items').empty();
- for(var i in lists){
- $(fatherbox+' .items').append(lists[i][3]);
- }
- $('.box-checkbox, .equip').showinfo();
- }
- function attachItemEnhance (id) {
- $(id+' .showtype').append('<button onclick="showtype(\''+id+'\',7);" class="btn btn-primary btn-xs" title="显示蓝色及以下,普通装备,弓,魔杖,斧">垃圾</button>');
- $(id+' .relist').append('<button onclick="relist(\''+id+'\',2);" class="btn btn-default btn-xs">难度</button>');
- }
- //仓库功能;
- window.usebank = function(type) {
- if ($('#bank').hasClass('hidden')) {
- $('#bank').removeClass('hidden');
- $('#bag').css('height','49%');
- $('#bag .items').css('height','160');
- $('#bank').empty().append('<span class="boxloading"><img src="src/image/load2.gif" /> <br />载入中...</span>').show();
- $.get(base_url+'box/bank', function(data) {
- $('#bank').html(data);
- attachItemEnhance('#bank');
- bankfun(type);
- $('*[title]').tips();
- $('.box-checkbox, .equip').showinfo();
- });
- }else{
- bankfun(type);
- }
- };
- /************************ fight ********************/
- window.battlesetup = function() {
- showmain('fight');
- if (window.battenow) {
- window.battenow = false;
- $('input[name=btype]').removeAttr('disabled');
- $('#battlebtn').removeClass('btn-danger').addClass('btn-primary').addClass('disabled');
- var Num = 15;
- $('#battlebtn').text('[ '+Num+' ]');
- var timer = setInterval(function() {
- Num --;
- $('#battlebtn').text('[ '+Num+' ]').addClass('disabled');
- if (Num <= 0) {
- clearInterval(timer);
- $('#battlebtn').text('开始战斗').removeClass('disabled');
- };
- }, 1000);
- }else{
- BattleInfo.init();
- window.battenow = true;
- battle();
- $('#battlebtn').removeClass('btn-primary').addClass('btn-danger').addClass('disabled');
- var Num = 15;
- $('#battlebtn').text('[ '+Num+' ]');
- var timer = setInterval(function() {
- Num --;
- $('#battlebtn').text('[ '+Num+' ]').addClass('disabled');
- if (Num <= 0) {
- clearInterval(timer);
- $('#battlebtn').text('停止战斗').removeClass('disabled');
- if (!window.battenow) $('#battlebtn').text('开始战斗').removeClass('btn-danger').addClass('btn-primary');
- }
- }, 1000);
- }
- };
- window.battle = function(){
- //保存自动出售设置
- if(window.localStorage){
- localStorage["s11"] = $('#autosell1').prop("checked") ? 1 : 0;
- localStorage["s22"] = $('#autosell2').prop("checked") ? 1 : 0;
- localStorage["s33"] = $('#autosell3').prop("checked") ? 1 : 0;
- localStorage["bty"] = $('#battletype input:checked').val();
- }
- if (!battenow) return false;
- var autosell1 = $('#autosell1').prop('checked') ? 1 : 0;
- var autosell2 = $('#autosell2').prop('checked') ? 1 : 0;
- var autosell3 = $('#autosell3').prop('checked') ? 1 : 0;
- var fighttype = $('#battletype input:checked').val();
- $.ajax({
- url : base_url+'fight/battle',
- data : {'t':fighttype,'s1':autosell1,'s2':autosell2,'s3':autosell3},
- type : "POST",
- dataType : 'text',
- timeout : 3000,
- success:function(data){
- if (data=='非法请求') {
- setTimeout(function(){ battle(); }, 2000);
- }else{
- checkBattle(data);
- BattleInfo.resolve(data);
- }
- },
- complete : function(XMLHttpRequest,status){
- var error = '';
- if (status=='timeout') {
- error = '连接服务器超时..';
- }else if (status == 'error') {
- error = '服务器暂时无响应..';
- }else if (status == 'success') {
- game_err = 0;
- }
- if (error) {
- game_err ++;
- // if (game_err > 50) window.location.reload();
- viewLog({text:'<span class="text-red">'+error+'</span>'},5000,function(){ battle(); });
- };
- }
- });
- }
- window.BattleInfo = {
- data:{},
- init:function() {
- this.data = {
- startTime: new Date(),
- winCount:0,
- battleCount:0,
- teamInfo:{}
- };
- var $container = $('<div id="battleInfoContainer"><div class="tableContainer"></div><span>战斗统计</span></div>').appendTo('body');
- },
- resolve:function(data) {
- var gamelog = $.parseJSON(data);
- if ($.isArray(gamelog.p)) {
- console.log('123213213'+gamelog.p);
- for (var i = 0; i < gamelog.p.length; i++) {
- var role = gamelog.p[i];
- if (!this.data.teamInfo['p'+i]) {
- this.data.teamInfo['p'+i] = this.getNewRole();
- }
- this.data.teamInfo['p'+i].lv= role.lv;
- this.data.teamInfo['p'+i].name= role.n;
- }
- }
- if (gamelog.exp && $.isArray(gamelog.exp)) {
- for (var j = 0; j < gamelog.exp.length; j++) {
- var expObj = gamelog.exp[j];
- this.data.teamInfo[expObj[0]].exp += expObj[1];
- }
- }
- if (gamelog.gold && $.isArray(gamelog.gold)) {
- for (var k = 0; k < gamelog.gold.length; k++) {
- var goldObj = gamelog.gold[k];
- this.data.teamInfo[goldObj[0]].gold += goldObj[1];
- }
- }
- if (gamelog.log) {
- this.data.battleCount ++;
- for (var l = 0; l < gamelog.log.length; l++) {
- var tempLog = gamelog.log[l];
- if (tempLog[0].indexOf('p') != -1) {
- var pid = tempLog[0];
- var skillName = SDATA['_'+tempLog[1]].n;
- this.data.teamInfo[pid].skillCount +=1;
- if (this.data.teamInfo[pid].skills[skillName]) {
- this.data.teamInfo[pid].skills[skillName] +=1;
- }else{
- this.data.teamInfo[pid].skills[skillName] = 1;
- }
- if (tempLog[2] && $.isArray(tempLog)) {
- for (var m = 0; m < tempLog[2].length; m++) {
- var hitLog = tempLog[2][m];
- if ($.isArray(hitLog) && hitLog[2].length >0) {
- this.data.teamInfo[pid].hitCount++;
- var hitInfos = hitLog[2].split('|');
- if (hitInfos[0] == '1') {
- this.data.teamInfo[pid].rightHitCount ++;
- }
- if (hitInfos[1] == '1') {
- this.data.teamInfo[pid].criCount ++;
- }
- }
- }
- }
- }
- }
- }
- if (gamelog.flag == 'win') {
- this.data.winCount++;
- }
- this.render();
- },
- render:function() {
- $("#battleInfoContainer .tableContainer").html(tmpl(this.template,[this.data]));
- },
- getNewRole: function() {
- return {
- name:'',
- lv:'',
- exp:0,
- gold:0,
- skills:{},
- skillCount: 0,
- hitCount:0,
- rightHitCount:0,
- criCount:0,
- };
- },
- toFix: function(value) {
- return value.toFixed(2);
- },
- valuePerHour: function(value, startTime) {
- var factor = 60 * 60 / (new Date() - startTime) * 1000;
- return (value * factor).toFixed(2);
- },
- template:'{% for(var i=0; i<o.length;i++){ %}'+
- '<table border="1" style="border-collapse:collapse">'+
- '<tr>'+
- '<td>开始时间:</td>'+
- '<td>{%=o[i].startTime.toLocaleString()%}</td>'+
- '</tr>'+
- '<tr>'+
- '<td>持续时间:</td>'+
- '<td>{%=BattleInfo.toFix((new Date() - o[i].startTime)/1000) %} 秒</td>'+
- '</tr>'+
- '<tr>'+
- '<td>胜场|总场|胜率</td>'+
- '<td>{%=o[i].winCount%}|{%=o[i].battleCount%}|{%=BattleInfo.toFix(o[i].winCount/o[i].battleCount*100)%}%</td>'+
- '</tr>'+
- '{% for(var k in o[i].teamInfo) { var role = o[i].teamInfo[k];%}'+
- '<tr>'+
- '<td colspan="2">'+
- '<table border="0" width="100%" style="border-collapse:collapse;">'+
- '<tr>'+
- '<td>角色名:</td>'+
- '<td>{%=role.name%}</td>'+
- '</tr>'+
- '</tr>'+
- '<td>Lv:</td>'+
- '<td>{%=role.lv%}</td>'+
- '</tr>'+
- '<tr>'+
- '<td>获得经验:</td>'+
- '<td>{%=role.exp%}</td>'+
- '</tr>'+
- '</tr>'+
- '<td>经验/小时:</td>'+
- '<td>{%=BattleInfo.valuePerHour(role.exp,o[i].startTime)%}</td>'+
- '</tr>'+
- '<tr>'+
- '<td>获得gold:</td>'+
- '<td>{%=role.gold%}</td>'+
- '</tr>'+
- '</tr>'+
- '<td>gold/小时:</td>'+
- '<td>{%=BattleInfo.valuePerHour(role.gold,o[i].startTime)%}</td>'+
- '</tr>'+
- '<tr>'+
- '<td>命中率:</td>'+
- '<td>{%=BattleInfo.toFix(role.rightHitCount/role.hitCount*100)%}%</td>'+
- '</tr>'+
- '</tr>'+
- '<td>暴击率:</td>'+
- '<td>{%=BattleInfo.toFix(role.criCount/role.hitCount*100)%}%</td>'+
- '</tr>'+
- '<tr>'+
- '<td>技能:</td>'+
- '<td>'+
- '{% var skills = role.skills;%}'+
- '<table width="100%" style="border-collapse:collapse;">'+
- '{% for(var j in skills){ %}'+
- '<tr>'+
- '<td>'+
- '{%=j%}'+
- '</td>'+
- '<td>'+
- '{%=skills[j]%} ({%=BattleInfo.toFix(skills[j]/role.skillCount*100)%}%)'+
- '</td>'+
- '</tr>'+
- '{% } %}'+
- '</table>'+
- '</td>'+
- '</tr>'+
- '</table>'+
- '</td>'+
- '</tr>'+
- '{% }%}'+
- '</table>'+
- '{% } %}',
- };
- //styles
- function addGlobalStyle(css) {
- var head, style;
- head = document.getElementsByTagName('head')[0];
- if (!head) { return; }
- style = document.createElement('style');
- style.type = 'text/css';
- style.innerHTML = css;
- head.appendChild(style);
- }
- addGlobalStyle("\
- #battleInfoContainer{\
- position:absolute;\
- top:0;\
- left:0;\
- z-index:100;\
- padding:10px;\
- background-color:#fff;\
- transform: translate(-100%,0);\
- transition: 300ms;\
- }\
- #battleInfoContainer:hover{\
- transform: translate(0,0);\
- }\
- #battleInfoContainer span{\
- color:#fff;\
- background-color:#049fd9;\
- position: absolute;\
- top: 0px;\
- padding:5px 0px;\
- width:20px;\
- right: -20px;\
- text-align:center;\
- display:inline-block;\
- }\
- .gamewindow{\
- width:1000px;\
- }\
- ");