$(function(){ var basicPath = document.location.pathname; basicPath = basicPath.substring(0, basicPath.lastIndexOf('/'))+'/'; var headTbl = $('table:eq(0)'); var $userFrame; var 국가테이블= $('table:gt(0):lt(-2)'); var getUserType = function(통,무,지){ var 총 = 통+무+지; if(통 < 40){ if(무+지 < 40){ return "무능"; } return "무지"; } var 최대능력치 = Math.max(통, 무, 지); var 능력치2합 = Math.min(통+무, 무+지, 지+통); if(최대능력치 >= 70 && 능력치2합 >= 최대능력치 * 1.7){ return "만능"; } if(무 >= 60 && 지 < 무*0.8){ return "무"; } if(지 >= 60 && 무 < 지*0.8){ return "지"; } if(통 >= 60 && 무 + 지 < 통){ return "통"; } return "평범"; }; function formatScore(x) { console.log(x); return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } var runAnalysis = function(){ var $content = $('#on_mover .content'); $.get(basicPath+'a_genList.php',function(rawData){ try{ var $html = $(rawData); var $장수일람 = {}; var 국가별 = {}; var cnt =0; $html.each(function(idx){ if(this.tagName == "TABLE"){ cnt+=1; if(cnt==2){ $장수일람 = $(this); return false; } } }); $장수일람.find('tr:gt(0)').each(function(){ var 장수 = {}; $this = $(this); $tds = $this.find('td'); var 장수명 = $.trim($tds.eq(1).text()); var 국가 = $.trim($tds.eq(6).text()); var 부상 = $this.data('general-wounded'); 장수.html = $this.clone(); 장수.장수명 = 장수명; 장수.국가 = 국가; 장수.벌점 = parseInt($tds.eq(-1).text()); 장수.통 = parseInt($this.data('general-leadership')); 장수.무 = parseInt($this.data('general-power')); 장수.지 = parseInt($this.data('general-intel')); 장수.삭턴 = parseInt($tds.eq(-2).text()); 장수.종류 = getUserType(장수.통, 장수.무, 장수.지); 장수.NPC = $this.data('is-npc'); if(!(국가 in 국가별)){ 국가별[국가] = {}; 국가별[국가].만능 = []; 국가별[국가].통 = []; 국가별[국가].무 = []; 국가별[국가].지 = []; 국가별[국가].평범 = []; 국가별[국가].무지 = []; 국가별[국가].무능 = []; //국가별[국가].NPC = []; } //if(장수.NPC) 국가별[국가].NPC.push(장수); 국가별[국가][장수.종류].push(장수); 장수.html.hide(); $content.append(장수.html); }); 국가테이블.each(function(idx){ var $this = $(this); var $tbl = $this; var $td = $this.find('td:last'); var name = $.trim($this.find('td:first').text()); name = name.substr(2,name.length-4); var 국가정보 = 국가별[name]; var total = 0; var 전투유저장수 = 0; var 통솔합 = 0; var 삭턴장수 = 0; var 전투N장수 = 0; var N장통솔합 = 0; $td.html('
'); $td.css('text-indent','-5.8em').css('padding-left','5.8em'); for(var 종류명 in 국가정보){ var $p = $("").css('margin','0'); var 테이블 = 국가정보[종류명]; if(테이블.length == 0)continue; 테이블.sort(function(좌, 우){ if(우.벌점 == 좌.벌점){ return 좌.장수명 > 우.장수명 ? 1 : 0; } return 우.벌점 - 좌.벌점 }); var text = " "+종류명; text = text.substr(text.length-2); $p.append(text+'장('); text = ""+테이블.length; $p.append(text + ')'); if(text.length<3){ $p.append(" "); } $p.append(': '); total += 테이블.length; $.each(테이블,function(idx,val){ var 종능 = val.통 + val.무 + val.지; console.log(val); if(종류명 != '무능' && 종류명 != '무지'){ if(val.삭턴 >= 80 && !val.NPC){ 전투유저장수 += 1; 통솔합 += val.통; } if(val.삭턴 > 5 && val.NPC){ 전투N장수 += 1; N장통솔합 += val.통; } } var $obj = $(''); var $obj2 = $(''); $obj.html(val.장수명); if(!val.NPC && val.삭턴 < 80){ $obj.css('text-decoration','line-through'); 삭턴장수+=1; } if(val.NPC){ $obj.css('color','cyan'); } if(val.벌점 >= 1500) $obj.css('color','yellow'); else if(val.벌점 >= 200) $obj.css('color','lightgreen'); $obj2.append($obj); if(idx < 테이블.length-1){ $obj2.append(', '); } $p.append($obj2); $obj2.hover(function(){ var top = $tbl.offset().top + $tbl.outerHeight() + 3; $userFrame.css('top',top); val.html.show(); $userFrame.show(); console.log('올림!'+val.장수명); },function(){ $userFrame.hide(); val.html.hide(); console.log('내림!'+val.장수명); }); }); $td.append($p); } var result = "* 총("+total+"), 전투장("+전투유저장수+", 약 "+formatScore(통솔합*100)+"명), 전투N장("+전투N장수+", 약 "+formatScore(N장통솔합*100)+"명), 삭턴장("+삭턴장수+") *"; $tbl.find('.sum').html(result); }); } catch(err){ console.log(err); } }); } $userFrame = $('| 얼 굴 | '+ '이 름 | '+ '연령 | '+ '성격 | '+ '특기 | '+ '레 벨 | '+ '국 가 | '+ '명 성 | '+ '계 급 | '+ '관 직 | '+ '통솔 | '+ '무력 | '+ '지력 | '+ '삭턴 | '+ '벌점 | '+ '