Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2445c79805 | ||
|
|
63be2dee47 | ||
|
|
5bfef1be32 | ||
|
|
8253526f23 | ||
|
|
db19548e2c | ||
|
|
10af31f042 | ||
|
|
e7c6e17590 | ||
|
|
a277ac182b | ||
|
|
0eee613a95 | ||
|
|
b76fa38e09 | ||
|
|
c0f5c8a358 | ||
|
|
71dd82afe8 | ||
|
|
ea5425a528 | ||
|
|
d4ba13eee3 | ||
|
|
16831880dd | ||
|
|
f79fc98ba6 | ||
|
|
0483c75dd7 | ||
|
|
3a4dcacd56 | ||
|
|
5f6f09674e | ||
|
|
c785027c5c | ||
|
|
d2659cea5f | ||
|
|
a9b966b159 | ||
|
|
f2c23e21c5 | ||
|
|
53b973e2d3 | ||
|
|
b7a570cba2 | ||
|
|
c77b79f0d2 | ||
|
|
ef6678d8b0 | ||
|
|
21609fa9c4 | ||
|
|
accc083702 | ||
|
|
9e677f3871 | ||
|
|
55290eac30 | ||
|
|
d480502d33 | ||
|
|
c1cda16be0 | ||
|
|
8ca9df9f34 | ||
|
|
406b67b081 | ||
|
|
2c9fecf3ef | ||
|
|
6bc78b67bd | ||
|
|
5bbc46e070 | ||
|
|
6a9ceda361 | ||
|
|
ab2d5fd58f | ||
|
|
7018413777 | ||
|
|
77385616a4 | ||
|
|
c809f27bf5 | ||
|
|
493e778124 | ||
|
|
7373af50b9 | ||
|
|
309f053510 | ||
|
|
d976cf8a27 | ||
|
|
5d60a62a38 | ||
|
|
a3f7dbccea | ||
|
|
0c4cce3339 | ||
|
|
58ccbc4d3d | ||
|
|
c6cabc2087 | ||
|
|
ef1f2722fc | ||
|
|
6b4a7ee03b | ||
|
|
7745a2051d | ||
|
|
eabd5e9acc | ||
|
|
d7dcbf98ff | ||
|
|
ff4c73f3d3 | ||
|
|
dbf044b418 | ||
|
|
7a514e2492 | ||
|
|
a73e533287 | ||
|
|
0f175ac4c6 | ||
|
|
be15f1c698 | ||
|
|
a315da6041 | ||
|
|
3f43f218ac | ||
|
|
5c8ad646af | ||
|
|
77f5fddd90 | ||
|
|
eab8b1ede5 | ||
|
|
2ab0896523 | ||
|
|
639fe920df | ||
|
|
7577c84eca | ||
|
|
22c4ec2d4a | ||
|
|
8ac85881a9 | ||
|
|
724804efc6 | ||
|
|
ca57ef17fc | ||
|
|
480f015fb0 | ||
|
|
d90e087f20 | ||
|
|
3916cc0562 | ||
|
|
cb54e56417 | ||
|
|
6aa606f2fa | ||
|
|
53d13a11ce | ||
|
|
9ba2b4142d | ||
|
|
f5161a5b99 | ||
|
|
f9d5d190d5 | ||
|
|
eead9639a2 | ||
|
|
5044d5d3b4 |
@@ -0,0 +1,132 @@
|
|||||||
|
//download.js v3.0, by dandavis; 2008-2014. [CCBY2] see http://danml.com/download.html for tests/usage
|
||||||
|
// v1 landed a FF+Chrome compat way of downloading strings to local un-named files, upgraded to use a hidden frame and optional mime
|
||||||
|
// v2 added named files via a[download], msSaveBlob, IE (10+) support, and window.URL support for larger+faster saves than dataURLs
|
||||||
|
// v3 added dataURL and Blob Input, bind-toggle arity, and legacy dataURL fallback was improved with force-download mime and base64 support
|
||||||
|
|
||||||
|
// data can be a string, Blob, File, or dataURL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function download(data, strFileName, strMimeType) {
|
||||||
|
|
||||||
|
var self = window, // this script is only for browsers anyway...
|
||||||
|
u = "application/octet-stream", // this default mime also triggers iframe downloads
|
||||||
|
m = strMimeType || u,
|
||||||
|
x = data,
|
||||||
|
D = document,
|
||||||
|
a = D.createElement("a"),
|
||||||
|
z = function(a){return String(a);},
|
||||||
|
|
||||||
|
|
||||||
|
B = self.Blob || self.MozBlob || self.WebKitBlob || z,
|
||||||
|
BB = self.MSBlobBuilder || self.WebKitBlobBuilder || self.BlobBuilder,
|
||||||
|
fn = strFileName || "download",
|
||||||
|
blob,
|
||||||
|
b,
|
||||||
|
ua,
|
||||||
|
fr;
|
||||||
|
|
||||||
|
//if(typeof B.bind === 'function' ){ B=B.bind(self); }
|
||||||
|
|
||||||
|
if(String(this)==="true"){ //reverse arguments, allowing download.bind(true, "text/xml", "export.xml") to act as a callback
|
||||||
|
x=[x, m];
|
||||||
|
m=x[0];
|
||||||
|
x=x[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//go ahead and download dataURLs right away
|
||||||
|
if(String(x).match(/^data\:[\w+\-]+\/[\w+\-]+[,;]/)){
|
||||||
|
return navigator.msSaveBlob ? // IE10 can't do a[download], only Blobs:
|
||||||
|
navigator.msSaveBlob(d2b(x), fn) :
|
||||||
|
saver(x) ; // everyone else can save dataURLs un-processed
|
||||||
|
}//end if dataURL passed?
|
||||||
|
|
||||||
|
try{
|
||||||
|
|
||||||
|
blob = x instanceof B ?
|
||||||
|
x :
|
||||||
|
new B([x], {type: m}) ;
|
||||||
|
}catch(y){
|
||||||
|
if(BB){
|
||||||
|
b = new BB();
|
||||||
|
b.append([x]);
|
||||||
|
blob = b.getBlob(m); // the blob
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function d2b(u) {
|
||||||
|
var p= u.split(/[:;,]/),
|
||||||
|
t= p[1],
|
||||||
|
dec= p[2] == "base64" ? atob : decodeURIComponent,
|
||||||
|
bin= dec(p.pop()),
|
||||||
|
mx= bin.length,
|
||||||
|
i= 0,
|
||||||
|
uia= new Uint8Array(mx);
|
||||||
|
|
||||||
|
for(i;i<mx;++i) uia[i]= bin.charCodeAt(i);
|
||||||
|
|
||||||
|
return new B([uia], {type: t});
|
||||||
|
}
|
||||||
|
|
||||||
|
function saver(url, winMode){
|
||||||
|
|
||||||
|
|
||||||
|
if ('download' in a) { //html5 A[download]
|
||||||
|
a.href = url;
|
||||||
|
a.setAttribute("download", fn);
|
||||||
|
a.innerHTML = "downloading...";
|
||||||
|
D.body.appendChild(a);
|
||||||
|
setTimeout(function() {
|
||||||
|
a.click();
|
||||||
|
D.body.removeChild(a);
|
||||||
|
if(winMode===true){setTimeout(function(){ self.URL.revokeObjectURL(a.href);}, 250 );}
|
||||||
|
}, 66);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//do iframe dataURL download (old ch+FF):
|
||||||
|
var f = D.createElement("iframe");
|
||||||
|
D.body.appendChild(f);
|
||||||
|
if(!winMode){ // force a mime that will download:
|
||||||
|
url="data:"+url.replace(/^data:([\w\/\-\+]+)/, u);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
f.src = url;
|
||||||
|
setTimeout(function(){ D.body.removeChild(f); }, 333);
|
||||||
|
|
||||||
|
}//end saver
|
||||||
|
|
||||||
|
|
||||||
|
if (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL)
|
||||||
|
return navigator.msSaveBlob(blob, fn);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(self.URL){ // simple fast and modern way using Blob and URL:
|
||||||
|
saver(self.URL.createObjectURL(blob), true);
|
||||||
|
}else{
|
||||||
|
// handle non-Blob()+non-URL browsers:
|
||||||
|
if(typeof blob === "string" || blob.constructor===z ){
|
||||||
|
try{
|
||||||
|
return saver( "data:" + m + ";base64," + self.btoa(blob) );
|
||||||
|
}catch(y){
|
||||||
|
return saver( "data:" + m + "," + encodeURIComponent(blob) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Blob but not URL:
|
||||||
|
fr=new FileReader();
|
||||||
|
fr.onload=function(e){
|
||||||
|
saver(this.result);
|
||||||
|
};
|
||||||
|
fr.readAsDataURL(blob);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} /* end download() */
|
||||||
|
|
||||||
Vendored
+1
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,155 @@
|
|||||||
|
(function($) {
|
||||||
|
$.extend($.summernote.lang, {
|
||||||
|
'ko-KR': {
|
||||||
|
font: {
|
||||||
|
bold: '굵게',
|
||||||
|
italic: '기울임꼴',
|
||||||
|
underline: '밑줄',
|
||||||
|
clear: '글자 효과 없애기',
|
||||||
|
height: '줄간격',
|
||||||
|
name: '글꼴',
|
||||||
|
superscript: '위 첨자',
|
||||||
|
subscript: '아래 첨자',
|
||||||
|
strikethrough: '취소선',
|
||||||
|
size: '글자 크기'
|
||||||
|
},
|
||||||
|
image: {
|
||||||
|
image: '사진',
|
||||||
|
insert: '사진 추가',
|
||||||
|
resizeFull: '100% 크기로 변경',
|
||||||
|
resizeHalf: '50% 크기로 변경',
|
||||||
|
resizeQuarter: '25% 크기로 변경',
|
||||||
|
floatLeft: '왼쪽 정렬',
|
||||||
|
floatRight: '오른쪽 정렬',
|
||||||
|
floatNone: '정렬하지 않음',
|
||||||
|
shapeRounded: '스타일: 둥근 모서리',
|
||||||
|
shapeCircle: '스타일: 원형',
|
||||||
|
shapeThumbnail: '스타일: 액자',
|
||||||
|
shapeNone: '스타일: 없음',
|
||||||
|
dragImageHere: '텍스트 혹은 사진을 이곳으로 끌어오세요',
|
||||||
|
dropImage: '텍스트 혹은 사진을 내려놓으세요',
|
||||||
|
selectFromFiles: '파일 선택',
|
||||||
|
maximumFileSize: 'Maximum file size',
|
||||||
|
maximumFileSizeError: 'Maximum file size exceeded.',
|
||||||
|
url: '사진 URL',
|
||||||
|
remove: '사진 삭제',
|
||||||
|
original: 'Original'
|
||||||
|
},
|
||||||
|
video: {
|
||||||
|
video: '동영상',
|
||||||
|
videoLink: '동영상 링크',
|
||||||
|
insert: '동영상 추가',
|
||||||
|
url: '동영상 URL',
|
||||||
|
providers: '(YouTube, Vimeo, Vine, Instagram, DailyMotion, Youku 사용 가능)'
|
||||||
|
},
|
||||||
|
link: {
|
||||||
|
link: '링크',
|
||||||
|
insert: '링크 추가',
|
||||||
|
unlink: '링크 삭제',
|
||||||
|
edit: '수정',
|
||||||
|
textToDisplay: '링크에 표시할 내용',
|
||||||
|
url: '이동할 URL',
|
||||||
|
openInNewWindow: '새창으로 열기'
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
table: '테이블',
|
||||||
|
addRowAbove: 'Add row above',
|
||||||
|
addRowBelow: 'Add row below',
|
||||||
|
addColLeft: 'Add column left',
|
||||||
|
addColRight: 'Add column right',
|
||||||
|
delRow: 'Delete row',
|
||||||
|
delCol: 'Delete column',
|
||||||
|
delTable: 'Delete table'
|
||||||
|
},
|
||||||
|
hr: {
|
||||||
|
insert: '구분선 추가'
|
||||||
|
},
|
||||||
|
style: {
|
||||||
|
style: '스타일',
|
||||||
|
p: '본문',
|
||||||
|
blockquote: '인용구',
|
||||||
|
pre: '코드',
|
||||||
|
h1: '제목 1',
|
||||||
|
h2: '제목 2',
|
||||||
|
h3: '제목 3',
|
||||||
|
h4: '제목 4',
|
||||||
|
h5: '제목 5',
|
||||||
|
h6: '제목 6'
|
||||||
|
},
|
||||||
|
lists: {
|
||||||
|
unordered: '글머리 기호',
|
||||||
|
ordered: '번호 매기기'
|
||||||
|
},
|
||||||
|
options: {
|
||||||
|
help: '도움말',
|
||||||
|
fullscreen: '전체 화면',
|
||||||
|
codeview: '코드 보기'
|
||||||
|
},
|
||||||
|
paragraph: {
|
||||||
|
paragraph: '문단 정렬',
|
||||||
|
outdent: '내어쓰기',
|
||||||
|
indent: '들여쓰기',
|
||||||
|
left: '왼쪽 정렬',
|
||||||
|
center: '가운데 정렬',
|
||||||
|
right: '오른쪽 정렬',
|
||||||
|
justify: '양쪽 정렬'
|
||||||
|
},
|
||||||
|
color: {
|
||||||
|
recent: '마지막으로 사용한 색',
|
||||||
|
more: '다른 색 선택',
|
||||||
|
background: '배경색',
|
||||||
|
foreground: '글자색',
|
||||||
|
transparent: '투명',
|
||||||
|
setTransparent: '투명',
|
||||||
|
reset: '취소',
|
||||||
|
resetToDefault: '기본 값으로 변경'
|
||||||
|
},
|
||||||
|
shortcut: {
|
||||||
|
shortcuts: '키보드 단축키',
|
||||||
|
close: '닫기',
|
||||||
|
textFormatting: '글자 스타일 적용',
|
||||||
|
action: '기능',
|
||||||
|
paragraphFormatting: '문단 스타일 적용',
|
||||||
|
documentStyle: '문서 스타일 적용',
|
||||||
|
extraKeys: 'Extra keys'
|
||||||
|
},
|
||||||
|
help: {
|
||||||
|
'insertParagraph': 'Insert Paragraph',
|
||||||
|
'undo': 'Undoes the last command',
|
||||||
|
'redo': 'Redoes the last command',
|
||||||
|
'tab': 'Tab',
|
||||||
|
'untab': 'Untab',
|
||||||
|
'bold': 'Set a bold style',
|
||||||
|
'italic': 'Set a italic style',
|
||||||
|
'underline': 'Set a underline style',
|
||||||
|
'strikethrough': 'Set a strikethrough style',
|
||||||
|
'removeFormat': 'Clean a style',
|
||||||
|
'justifyLeft': 'Set left align',
|
||||||
|
'justifyCenter': 'Set center align',
|
||||||
|
'justifyRight': 'Set right align',
|
||||||
|
'justifyFull': 'Set full align',
|
||||||
|
'insertUnorderedList': 'Toggle unordered list',
|
||||||
|
'insertOrderedList': 'Toggle ordered list',
|
||||||
|
'outdent': 'Outdent on current paragraph',
|
||||||
|
'indent': 'Indent on current paragraph',
|
||||||
|
'formatPara': 'Change current block\'s format as a paragraph(P tag)',
|
||||||
|
'formatH1': 'Change current block\'s format as H1',
|
||||||
|
'formatH2': 'Change current block\'s format as H2',
|
||||||
|
'formatH3': 'Change current block\'s format as H3',
|
||||||
|
'formatH4': 'Change current block\'s format as H4',
|
||||||
|
'formatH5': 'Change current block\'s format as H5',
|
||||||
|
'formatH6': 'Change current block\'s format as H6',
|
||||||
|
'insertHorizontalRule': 'Insert horizontal rule',
|
||||||
|
'linkDialog.show': 'Show Link Dialog'
|
||||||
|
},
|
||||||
|
history: {
|
||||||
|
undo: '실행 취소',
|
||||||
|
redo: '다시 실행'
|
||||||
|
},
|
||||||
|
specialChar: {
|
||||||
|
specialChar: '특수문자',
|
||||||
|
select: '특수문자를 선택하세요'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})(jQuery);
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
.ext-databasic {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
min-height: 50px;
|
||||||
|
background-color: cyan;
|
||||||
|
text-align: center;
|
||||||
|
padding: 20px;
|
||||||
|
border: 1px solid white;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ext-databasic p {
|
||||||
|
color: white;
|
||||||
|
font-size: 1.2em;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,292 @@
|
|||||||
|
(function(factory) {
|
||||||
|
/* global define */
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
// AMD. Register as an anonymous module.
|
||||||
|
define(['jquery'], factory);
|
||||||
|
} else if (typeof module === 'object' && module.exports) {
|
||||||
|
// Node/CommonJS
|
||||||
|
module.exports = factory(require('jquery'));
|
||||||
|
} else {
|
||||||
|
// Browser globals
|
||||||
|
factory(window.jQuery);
|
||||||
|
}
|
||||||
|
}(function($) {
|
||||||
|
// pull in some summernote core functions
|
||||||
|
var ui = $.summernote.ui;
|
||||||
|
var dom = $.summernote.dom;
|
||||||
|
|
||||||
|
// define the popover plugin
|
||||||
|
var DataBasicPlugin = function(context) {
|
||||||
|
var self = this;
|
||||||
|
var options = context.options;
|
||||||
|
var lang = options.langInfo;
|
||||||
|
|
||||||
|
self.icon = '<i class="fa fa-object-group"/>';
|
||||||
|
|
||||||
|
// add context menu button for dialog
|
||||||
|
context.memo('button.databasic', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: self.icon,
|
||||||
|
tooltip: lang.databasic.insert,
|
||||||
|
click: context.createInvokeHandler('databasic.showDialog')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
|
||||||
|
// add popover edit button
|
||||||
|
context.memo('button.databasicDialog', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: self.icon,
|
||||||
|
tooltip: lang.databasic.edit,
|
||||||
|
click: context.createInvokeHandler('databasic.showDialog')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
|
||||||
|
// add popover size buttons
|
||||||
|
context.memo('button.databasicSize100', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: '<span class="note-fontsize-10">100%</span>',
|
||||||
|
tooltip: lang.image.resizeFull,
|
||||||
|
click: context.createInvokeHandler('editor.resize', '1')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
context.memo('button.databasicSize50', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: '<span class="note-fontsize-10">50%</span>',
|
||||||
|
tooltip: lang.image.resizeHalf,
|
||||||
|
click: context.createInvokeHandler('editor.resize', '0.5')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
context.memo('button.databasicSize25', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: '<span class="note-fontsize-10">25%</span>',
|
||||||
|
tooltip: lang.image.resizeQuarter,
|
||||||
|
click: context.createInvokeHandler('editor.resize', '0.25')
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
|
||||||
|
self.events = {
|
||||||
|
'summernote.init': function(we, e) {
|
||||||
|
// update existing containers
|
||||||
|
$('data.ext-databasic', e.editable).each(function() { self.setContent($(this)); });
|
||||||
|
// TODO: make this an undo snapshot...
|
||||||
|
},
|
||||||
|
'summernote.keyup summernote.mouseup summernote.change summernote.scroll': function() {
|
||||||
|
self.update();
|
||||||
|
},
|
||||||
|
'summernote.dialog.shown': function() {
|
||||||
|
self.hidePopover();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
self.initialize = function() {
|
||||||
|
// create dialog markup
|
||||||
|
var $container = options.dialogsInBody ? $(document.body) : context.layoutInfo.editor;
|
||||||
|
|
||||||
|
var body = '<div class="form-group row-fluid">' +
|
||||||
|
'<label>' + lang.databasic.testLabel + '</label>' +
|
||||||
|
'<input class="ext-databasic-test form-control" type="text" />' +
|
||||||
|
'</div>';
|
||||||
|
var footer = '<button href="#" class="btn btn-primary ext-databasic-save">' + lang.databasic.insert + '</button>';
|
||||||
|
|
||||||
|
self.$dialog = ui.dialog({
|
||||||
|
title: lang.databasic.name,
|
||||||
|
fade: options.dialogsFade,
|
||||||
|
body: body,
|
||||||
|
footer: footer
|
||||||
|
}).render().appendTo($container);
|
||||||
|
|
||||||
|
// create popover
|
||||||
|
self.$popover = ui.popover({
|
||||||
|
className: 'ext-databasic-popover'
|
||||||
|
}).render().appendTo('body');
|
||||||
|
var $content = self.$popover.find('.popover-content');
|
||||||
|
|
||||||
|
context.invoke('buttons.build', $content, options.popover.databasic);
|
||||||
|
};
|
||||||
|
|
||||||
|
self.destroy = function() {
|
||||||
|
self.$popover.remove();
|
||||||
|
self.$popover = null;
|
||||||
|
self.$dialog.remove();
|
||||||
|
self.$dialog = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
self.update = function() {
|
||||||
|
// Prevent focusing on editable when invoke('code') is executed
|
||||||
|
if (!context.invoke('editor.hasFocus')) {
|
||||||
|
self.hidePopover();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var rng = context.invoke('editor.createRange');
|
||||||
|
var visible = false;
|
||||||
|
|
||||||
|
if (rng.isOnData()) {
|
||||||
|
var $data = $(rng.sc).closest('data.ext-databasic');
|
||||||
|
|
||||||
|
if ($data.length) {
|
||||||
|
var pos = dom.posFromPlaceholder($data[0]);
|
||||||
|
|
||||||
|
self.$popover.css({
|
||||||
|
display: 'block',
|
||||||
|
left: pos.left,
|
||||||
|
top: pos.top
|
||||||
|
});
|
||||||
|
|
||||||
|
// save editor target to let size buttons resize the container
|
||||||
|
context.invoke('editor.saveTarget', $data[0]);
|
||||||
|
|
||||||
|
visible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// hide if not visible
|
||||||
|
if (!visible) {
|
||||||
|
self.hidePopover();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
self.hidePopover = function() {
|
||||||
|
self.$popover.hide();
|
||||||
|
};
|
||||||
|
|
||||||
|
// define plugin dialog
|
||||||
|
self.getInfo = function() {
|
||||||
|
var rng = context.invoke('editor.createRange');
|
||||||
|
|
||||||
|
if (rng.isOnData()) {
|
||||||
|
var $data = $(rng.sc).closest('data.ext-databasic');
|
||||||
|
|
||||||
|
if ($data.length) {
|
||||||
|
// Get the first node on range(for edit).
|
||||||
|
return {
|
||||||
|
node: $data,
|
||||||
|
test: $data.attr('data-test')
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {};
|
||||||
|
};
|
||||||
|
|
||||||
|
self.setContent = function($node) {
|
||||||
|
$node.html('<p contenteditable="false">' + self.icon + ' ' + lang.databasic.name + ': ' +
|
||||||
|
$node.attr('data-test') + '</p>');
|
||||||
|
};
|
||||||
|
|
||||||
|
self.updateNode = function(info) {
|
||||||
|
self.setContent(info.node
|
||||||
|
.attr('data-test', info.test));
|
||||||
|
};
|
||||||
|
|
||||||
|
self.createNode = function(info) {
|
||||||
|
var $node = $('<data class="ext-databasic"></data>');
|
||||||
|
|
||||||
|
if ($node) {
|
||||||
|
// save node to info structure
|
||||||
|
info.node = $node;
|
||||||
|
// insert node into editor dom
|
||||||
|
context.invoke('editor.insertNode', $node[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $node;
|
||||||
|
};
|
||||||
|
|
||||||
|
self.showDialog = function() {
|
||||||
|
var info = self.getInfo();
|
||||||
|
var newNode = !info.node;
|
||||||
|
context.invoke('editor.saveRange');
|
||||||
|
|
||||||
|
self
|
||||||
|
.openDialog(info)
|
||||||
|
.then(function(dialogInfo) {
|
||||||
|
// [workaround] hide dialog before restore range for IE range focus
|
||||||
|
ui.hideDialog(self.$dialog);
|
||||||
|
context.invoke('editor.restoreRange');
|
||||||
|
|
||||||
|
// insert a new node
|
||||||
|
if (newNode) {
|
||||||
|
self.createNode(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
// update info with dialog info
|
||||||
|
$.extend(info, dialogInfo);
|
||||||
|
|
||||||
|
self.updateNode(info);
|
||||||
|
})
|
||||||
|
.fail(function() {
|
||||||
|
context.invoke('editor.restoreRange');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
self.openDialog = function(info) {
|
||||||
|
return $.Deferred(function(deferred) {
|
||||||
|
var $inpTest = self.$dialog.find('.ext-databasic-test');
|
||||||
|
var $saveBtn = self.$dialog.find('.ext-databasic-save');
|
||||||
|
var onKeyup = function(event) {
|
||||||
|
if (event.keyCode === 13) {
|
||||||
|
$saveBtn.trigger('click');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ui.onDialogShown(self.$dialog, function() {
|
||||||
|
context.triggerEvent('dialog.shown');
|
||||||
|
|
||||||
|
$inpTest.val(info.test).on('input', function() {
|
||||||
|
ui.toggleBtn($saveBtn, $inpTest.val());
|
||||||
|
}).trigger('focus').on('keyup', onKeyup);
|
||||||
|
|
||||||
|
$saveBtn
|
||||||
|
.text(info.node ? lang.databasic.edit : lang.databasic.insert)
|
||||||
|
.click(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
deferred.resolve({ test: $inpTest.val() });
|
||||||
|
});
|
||||||
|
|
||||||
|
// init save button
|
||||||
|
ui.toggleBtn($saveBtn, $inpTest.val());
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.onDialogHidden(self.$dialog, function() {
|
||||||
|
$inpTest.off('input keyup');
|
||||||
|
$saveBtn.off('click');
|
||||||
|
|
||||||
|
if (deferred.state() === 'pending') {
|
||||||
|
deferred.reject();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.showDialog(self.$dialog);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Extends summernote
|
||||||
|
$.extend(true, $.summernote, {
|
||||||
|
plugins: {
|
||||||
|
databasic: DataBasicPlugin
|
||||||
|
},
|
||||||
|
|
||||||
|
options: {
|
||||||
|
popover: {
|
||||||
|
databasic: [
|
||||||
|
['databasic', ['databasicDialog', 'databasicSize100', 'databasicSize50', 'databasicSize25']]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// add localization texts
|
||||||
|
lang: {
|
||||||
|
'en-US': {
|
||||||
|
databasic: {
|
||||||
|
name: 'Basic Data Container',
|
||||||
|
insert: 'insert basic data container',
|
||||||
|
edit: 'edit basic data container',
|
||||||
|
testLabel: 'test input'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
}));
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
(function(factory) {
|
||||||
|
/* global define */
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
// AMD. Register as an anonymous module.
|
||||||
|
define(['jquery'], factory);
|
||||||
|
} else if (typeof module === 'object' && module.exports) {
|
||||||
|
// Node/CommonJS
|
||||||
|
module.exports = factory(require('jquery'));
|
||||||
|
} else {
|
||||||
|
// Browser globals
|
||||||
|
factory(window.jQuery);
|
||||||
|
}
|
||||||
|
}(function($) {
|
||||||
|
// Extends plugins for adding hello.
|
||||||
|
// - plugin is external module for customizing.
|
||||||
|
$.extend($.summernote.plugins, {
|
||||||
|
/**
|
||||||
|
* @param {Object} context - context object has status of editor.
|
||||||
|
*/
|
||||||
|
'hello': function(context) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
// ui has renders to build ui elements.
|
||||||
|
// - you can create a button with `ui.button`
|
||||||
|
var ui = $.summernote.ui;
|
||||||
|
|
||||||
|
// add hello button
|
||||||
|
context.memo('button.hello', function() {
|
||||||
|
// create button
|
||||||
|
var button = ui.button({
|
||||||
|
contents: '<i class="fa fa-child"/> Hello',
|
||||||
|
tooltip: 'hello',
|
||||||
|
click: function() {
|
||||||
|
self.$panel.show();
|
||||||
|
self.$panel.hide(500);
|
||||||
|
// invoke insertText method with 'hello' on editor module.
|
||||||
|
context.invoke('editor.insertText', 'hello');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// create jQuery object from button instance.
|
||||||
|
var $hello = button.render();
|
||||||
|
return $hello;
|
||||||
|
});
|
||||||
|
|
||||||
|
// This events will be attached when editor is initialized.
|
||||||
|
this.events = {
|
||||||
|
// This will be called after modules are initialized.
|
||||||
|
'summernote.init': function(we, e) {
|
||||||
|
console.log('summernote initialized', we, e);
|
||||||
|
},
|
||||||
|
// This will be called when user releases a key on editable.
|
||||||
|
'summernote.keyup': function(we, e) {
|
||||||
|
console.log('summernote keyup', we, e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// This method will be called when editor is initialized by $('..').summernote();
|
||||||
|
// You can create elements for plugin
|
||||||
|
this.initialize = function() {
|
||||||
|
this.$panel = $('<div class="hello-panel"/>').css({
|
||||||
|
position: 'absolute',
|
||||||
|
width: 100,
|
||||||
|
height: 100,
|
||||||
|
left: '50%',
|
||||||
|
top: '50%',
|
||||||
|
background: 'red'
|
||||||
|
}).hide();
|
||||||
|
|
||||||
|
this.$panel.appendTo('body');
|
||||||
|
};
|
||||||
|
|
||||||
|
// This methods will be called when editor is destroyed by $('..').summernote('destroy');
|
||||||
|
// You should remove elements on `initialize`.
|
||||||
|
this.destroy = function() {
|
||||||
|
this.$panel.remove();
|
||||||
|
this.$panel = null;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}));
|
||||||
@@ -0,0 +1,312 @@
|
|||||||
|
(function(factory) {
|
||||||
|
/* global define */
|
||||||
|
if (typeof define === 'function' && define.amd) {
|
||||||
|
// AMD. Register as an anonymous module.
|
||||||
|
define(['jquery'], factory);
|
||||||
|
} else if (typeof module === 'object' && module.exports) {
|
||||||
|
// Node/CommonJS
|
||||||
|
module.exports = factory(require('jquery'));
|
||||||
|
} else {
|
||||||
|
// Browser globals
|
||||||
|
factory(window.jQuery);
|
||||||
|
}
|
||||||
|
}(function($) {
|
||||||
|
$.extend($.summernote.plugins, {
|
||||||
|
'specialchars': function(context) {
|
||||||
|
var self = this;
|
||||||
|
var ui = $.summernote.ui;
|
||||||
|
|
||||||
|
var $editor = context.layoutInfo.editor;
|
||||||
|
var options = context.options;
|
||||||
|
var lang = options.langInfo;
|
||||||
|
|
||||||
|
var KEY = {
|
||||||
|
UP: 38,
|
||||||
|
DOWN: 40,
|
||||||
|
LEFT: 37,
|
||||||
|
RIGHT: 39,
|
||||||
|
ENTER: 13
|
||||||
|
};
|
||||||
|
var COLUMN_LENGTH = 15;
|
||||||
|
var COLUMN_WIDTH = 35;
|
||||||
|
|
||||||
|
var currentColumn = 0;
|
||||||
|
var currentRow = 0;
|
||||||
|
var totalColumn = 0;
|
||||||
|
var totalRow = 0;
|
||||||
|
|
||||||
|
// special characters data set
|
||||||
|
var specialCharDataSet = [
|
||||||
|
'"', '&', '<', '>', '¡', '¢',
|
||||||
|
'£', '¤', '¥', '¦', '§',
|
||||||
|
'¨', '©', 'ª', '«', '¬',
|
||||||
|
'®', '¯', '°', '±', '²',
|
||||||
|
'³', '´', 'µ', '¶', '·',
|
||||||
|
'¸', '¹', 'º', '»', '¼',
|
||||||
|
'½', '¾', '¿', '×', '÷',
|
||||||
|
'ƒ', 'ˆ', '˜', '–', '—',
|
||||||
|
'‘', '’', '‚', '“', '”',
|
||||||
|
'„', '†', '‡', '•', '…',
|
||||||
|
'‰', '′', '″', '‹', '›',
|
||||||
|
'‾', '⁄', '€', 'ℑ', '℘',
|
||||||
|
'ℜ', '™', 'ℵ', '←', '↑',
|
||||||
|
'→', '↓', '↔', '↵', '⇐',
|
||||||
|
'⇑', '⇒', '⇓', '⇔', '∀',
|
||||||
|
'∂', '∃', '∅', '∇', '∈',
|
||||||
|
'∉', '∋', '∏', '∑', '−',
|
||||||
|
'∗', '√', '∝', '∞', '∠',
|
||||||
|
'∧', '∨', '∩', '∪', '∫',
|
||||||
|
'∴', '∼', '≅', '≈', '≠',
|
||||||
|
'≡', '≤', '≥', '⊂', '⊃',
|
||||||
|
'⊄', '⊆', '⊇', '⊕', '⊗',
|
||||||
|
'⊥', '⋅', '⌈', '⌉', '⌊',
|
||||||
|
'⌋', '◊', '♠', '♣', '♥',
|
||||||
|
'♦'
|
||||||
|
];
|
||||||
|
|
||||||
|
context.memo('button.specialchars', function() {
|
||||||
|
return ui.button({
|
||||||
|
contents: '<i class="fa fa-font fa-flip-vertical">',
|
||||||
|
tooltip: lang.specialChar.specialChar,
|
||||||
|
click: function() {
|
||||||
|
self.show();
|
||||||
|
}
|
||||||
|
}).render();
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make Special Characters Table
|
||||||
|
*
|
||||||
|
* @member plugin.specialChar
|
||||||
|
* @private
|
||||||
|
* @return {jQuery}
|
||||||
|
*/
|
||||||
|
this.makeSpecialCharSetTable = function() {
|
||||||
|
var $table = $('<table/>');
|
||||||
|
$.each(specialCharDataSet, function(idx, text) {
|
||||||
|
var $td = $('<td/>').addClass('note-specialchar-node');
|
||||||
|
var $tr = (idx % COLUMN_LENGTH === 0) ? $('<tr/>') : $table.find('tr').last();
|
||||||
|
|
||||||
|
var $button = ui.button({
|
||||||
|
callback: function($node) {
|
||||||
|
$node.html(text);
|
||||||
|
$node.attr('title', text);
|
||||||
|
$node.attr('data-value', encodeURIComponent(text));
|
||||||
|
$node.css({
|
||||||
|
width: COLUMN_WIDTH,
|
||||||
|
'margin-right': '2px',
|
||||||
|
'margin-bottom': '2px'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).render();
|
||||||
|
|
||||||
|
$td.append($button);
|
||||||
|
|
||||||
|
$tr.append($td);
|
||||||
|
if (idx % COLUMN_LENGTH === 0) {
|
||||||
|
$table.append($tr);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
totalRow = $table.find('tr').length;
|
||||||
|
totalColumn = COLUMN_LENGTH;
|
||||||
|
|
||||||
|
return $table;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.initialize = function() {
|
||||||
|
var $container = options.dialogsInBody ? $(document.body) : $editor;
|
||||||
|
|
||||||
|
var body = '<div class="form-group row-fluid">' + this.makeSpecialCharSetTable()[0].outerHTML + '</div>';
|
||||||
|
|
||||||
|
this.$dialog = ui.dialog({
|
||||||
|
title: lang.specialChar.select,
|
||||||
|
body: body
|
||||||
|
}).render().appendTo($container);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.show = function() {
|
||||||
|
var text = context.invoke('editor.getSelectedText');
|
||||||
|
context.invoke('editor.saveRange');
|
||||||
|
this.showSpecialCharDialog(text).then(function(selectChar) {
|
||||||
|
context.invoke('editor.restoreRange');
|
||||||
|
|
||||||
|
// build node
|
||||||
|
var $node = $('<span></span>').html(selectChar)[0];
|
||||||
|
|
||||||
|
if ($node) {
|
||||||
|
// insert video node
|
||||||
|
context.invoke('editor.insertNode', $node);
|
||||||
|
}
|
||||||
|
}).fail(function() {
|
||||||
|
context.invoke('editor.restoreRange');
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* show image dialog
|
||||||
|
*
|
||||||
|
* @param {jQuery} $dialog
|
||||||
|
* @return {Promise}
|
||||||
|
*/
|
||||||
|
this.showSpecialCharDialog = function(text) {
|
||||||
|
return $.Deferred(function(deferred) {
|
||||||
|
var $specialCharDialog = self.$dialog;
|
||||||
|
var $specialCharNode = $specialCharDialog.find('.note-specialchar-node');
|
||||||
|
var $selectedNode = null;
|
||||||
|
var ARROW_KEYS = [KEY.UP, KEY.DOWN, KEY.LEFT, KEY.RIGHT];
|
||||||
|
var ENTER_KEY = KEY.ENTER;
|
||||||
|
|
||||||
|
function addActiveClass($target) {
|
||||||
|
if (!$target) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$target.find('button').addClass('active');
|
||||||
|
$selectedNode = $target;
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeActiveClass($target) {
|
||||||
|
$target.find('button').removeClass('active');
|
||||||
|
$selectedNode = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// find next node
|
||||||
|
function findNextNode(row, column) {
|
||||||
|
var findNode = null;
|
||||||
|
$.each($specialCharNode, function(idx, $node) {
|
||||||
|
var findRow = Math.ceil((idx + 1) / COLUMN_LENGTH);
|
||||||
|
var findColumn = ((idx + 1) % COLUMN_LENGTH === 0) ? COLUMN_LENGTH : (idx + 1) % COLUMN_LENGTH;
|
||||||
|
if (findRow === row && findColumn === column) {
|
||||||
|
findNode = $node;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return $(findNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
function arrowKeyHandler(keyCode) {
|
||||||
|
// left, right, up, down key
|
||||||
|
var $nextNode;
|
||||||
|
var lastRowColumnLength = $specialCharNode.length % totalColumn;
|
||||||
|
|
||||||
|
if (KEY.LEFT === keyCode) {
|
||||||
|
if (currentColumn > 1) {
|
||||||
|
currentColumn = currentColumn - 1;
|
||||||
|
} else if (currentRow === 1 && currentColumn === 1) {
|
||||||
|
currentColumn = lastRowColumnLength;
|
||||||
|
currentRow = totalRow;
|
||||||
|
} else {
|
||||||
|
currentColumn = totalColumn;
|
||||||
|
currentRow = currentRow - 1;
|
||||||
|
}
|
||||||
|
} else if (KEY.RIGHT === keyCode) {
|
||||||
|
if (currentRow === totalRow && lastRowColumnLength === currentColumn) {
|
||||||
|
currentColumn = 1;
|
||||||
|
currentRow = 1;
|
||||||
|
} else if (currentColumn < totalColumn) {
|
||||||
|
currentColumn = currentColumn + 1;
|
||||||
|
} else {
|
||||||
|
currentColumn = 1;
|
||||||
|
currentRow = currentRow + 1;
|
||||||
|
}
|
||||||
|
} else if (KEY.UP === keyCode) {
|
||||||
|
if (currentRow === 1 && lastRowColumnLength < currentColumn) {
|
||||||
|
currentRow = totalRow - 1;
|
||||||
|
} else {
|
||||||
|
currentRow = currentRow - 1;
|
||||||
|
}
|
||||||
|
} else if (KEY.DOWN === keyCode) {
|
||||||
|
currentRow = currentRow + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentRow === totalRow && currentColumn > lastRowColumnLength) {
|
||||||
|
currentRow = 1;
|
||||||
|
} else if (currentRow > totalRow) {
|
||||||
|
currentRow = 1;
|
||||||
|
} else if (currentRow < 1) {
|
||||||
|
currentRow = totalRow;
|
||||||
|
}
|
||||||
|
|
||||||
|
$nextNode = findNextNode(currentRow, currentColumn);
|
||||||
|
|
||||||
|
if ($nextNode) {
|
||||||
|
removeActiveClass($selectedNode);
|
||||||
|
addActiveClass($nextNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function enterKeyHandler() {
|
||||||
|
if (!$selectedNode) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
deferred.resolve(decodeURIComponent($selectedNode.find('button').attr('data-value')));
|
||||||
|
$specialCharDialog.modal('hide');
|
||||||
|
}
|
||||||
|
|
||||||
|
function keyDownEventHandler(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var keyCode = event.keyCode;
|
||||||
|
if (keyCode === undefined || keyCode === null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// check arrowKeys match
|
||||||
|
if (ARROW_KEYS.indexOf(keyCode) > -1) {
|
||||||
|
if ($selectedNode === null) {
|
||||||
|
addActiveClass($specialCharNode.eq(0));
|
||||||
|
currentColumn = 1;
|
||||||
|
currentRow = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
arrowKeyHandler(keyCode);
|
||||||
|
} else if (keyCode === ENTER_KEY) {
|
||||||
|
enterKeyHandler();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove class
|
||||||
|
removeActiveClass($specialCharNode);
|
||||||
|
|
||||||
|
// find selected node
|
||||||
|
if (text) {
|
||||||
|
for (var i = 0; i < $specialCharNode.length; i++) {
|
||||||
|
var $checkNode = $($specialCharNode[i]);
|
||||||
|
if ($checkNode.text() === text) {
|
||||||
|
addActiveClass($checkNode);
|
||||||
|
currentRow = Math.ceil((i + 1) / COLUMN_LENGTH);
|
||||||
|
currentColumn = (i + 1) % COLUMN_LENGTH;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ui.onDialogShown(self.$dialog, function() {
|
||||||
|
$(document).on('keydown', keyDownEventHandler);
|
||||||
|
|
||||||
|
self.$dialog.find('button').tooltip();
|
||||||
|
|
||||||
|
$specialCharNode.on('click', function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
deferred.resolve(decodeURIComponent($(event.currentTarget).find('button').attr('data-value')));
|
||||||
|
ui.hideDialog(self.$dialog);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.onDialogHidden(self.$dialog, function() {
|
||||||
|
$specialCharNode.off('click');
|
||||||
|
|
||||||
|
self.$dialog.find('button').tooltip('destroy');
|
||||||
|
|
||||||
|
$(document).off('keydown', keyDownEventHandler);
|
||||||
|
|
||||||
|
if (deferred.state() === 'pending') {
|
||||||
|
deferred.reject();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
ui.showDialog(self.$dialog);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}));
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
+3
File diff suppressed because one or more lines are too long
-1660
@@ -1,1660 +0,0 @@
|
|||||||
<?php
|
|
||||||
namespace sammo;
|
|
||||||
|
|
||||||
include "lib.php";
|
|
||||||
include "func.php";
|
|
||||||
|
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
|
||||||
$userID = Session::getUserID();
|
|
||||||
|
|
||||||
//로그인 검사
|
|
||||||
|
|
||||||
$isgen = Util::getReq('isgen');
|
|
||||||
|
|
||||||
$leader1 = Util::getReq('leader1', 'int', 0);
|
|
||||||
$power1 = Util::getReq('power1', 'int', 0);
|
|
||||||
$intel1 = Util::getReq('intel1', 'int', 0);
|
|
||||||
$type1 = Util::getReq('type1', 'int', 0);
|
|
||||||
$crew1 = Util::getReq('crew1', 'int', 0);
|
|
||||||
$train1 = Util::getReq('train1', 'int', 0);
|
|
||||||
$atmos1 = Util::getReq('atmos1', 'int', 0);
|
|
||||||
$level1 = Util::getReq('level1', 'int', 0);
|
|
||||||
$explevel1 = Util::getReq('explevel1', 'int', 0);
|
|
||||||
$tech1 = Util::getReq('tech1', 'int', 0);
|
|
||||||
|
|
||||||
$dex10 = Util::getReq('dex10', 'int', 0);
|
|
||||||
$dex110 = Util::getReq('dex110', 'int', 0);
|
|
||||||
$dex120 = Util::getReq('dex120', 'int', 0);
|
|
||||||
$dex130 = Util::getReq('dex130', 'int', 0);
|
|
||||||
$dex140 = Util::getReq('dex140', 'int', 0);
|
|
||||||
|
|
||||||
$dx10 = array_fill(0, 20, '');
|
|
||||||
$dx110 = array_fill(0, 20, '');
|
|
||||||
$dx120 = array_fill(0, 20, '');
|
|
||||||
$dx130 = array_fill(0, 20, '');
|
|
||||||
$dx140 = array_fill(0, 20, '');
|
|
||||||
|
|
||||||
$leader2 = Util::getReq('leader2', 'int', 0);
|
|
||||||
$power2 = Util::getReq('power2', 'int', 0);
|
|
||||||
$intel2 = Util::getReq('intel2', 'int', 0);
|
|
||||||
$type2 = Util::getReq('type2', 'int', 0);
|
|
||||||
$crew2 = Util::getReq('crew2', 'int', 0);
|
|
||||||
$train2 = Util::getReq('train2', 'int', 0);
|
|
||||||
$atmos2 = Util::getReq('atmos2', 'int', 0);
|
|
||||||
$level2 = Util::getReq('level2', 'int', 0);
|
|
||||||
$explevel2 = Util::getReq('explevel2', 'int', 0);
|
|
||||||
$tech2 = Util::getReq('tech2', 'int', 0);
|
|
||||||
|
|
||||||
$dex20 = Util::getReq('dex20', 'int', 0);
|
|
||||||
$dex210 = Util::getReq('dex210', 'int', 0);
|
|
||||||
$dex220 = Util::getReq('dex220', 'int', 0);
|
|
||||||
$dex230 = Util::getReq('dex230', 'int', 0);
|
|
||||||
$dex240 = Util::getReq('dex240', 'int', 0);
|
|
||||||
|
|
||||||
$dx20 = array_fill(0, 20, '');
|
|
||||||
$dx210 = array_fill(0, 20, '');
|
|
||||||
$dx220 = array_fill(0, 20, '');
|
|
||||||
$dx230 = array_fill(0, 20, '');
|
|
||||||
$dx240 = array_fill(0, 20, '');
|
|
||||||
|
|
||||||
$def = Util::getReq('def', 'int', 0);
|
|
||||||
$wall = Util::getReq('wall', 'int', 0);
|
|
||||||
$atmos3 = Util::getReq('atmos3', 'int', 0);
|
|
||||||
$train3 = Util::getReq('train3', 'int', 0);
|
|
||||||
|
|
||||||
$sellevel1 = array_fill(0, 13, '');
|
|
||||||
$sel1 = array_fill(0,44, '');
|
|
||||||
$tch1 = array_fill(0,11, '');
|
|
||||||
|
|
||||||
$sellevel2 = array_fill(0, 13, '');
|
|
||||||
$sel2 = array_fill(0,44, '');
|
|
||||||
$tch2 = array_fill(0,11, '');
|
|
||||||
|
|
||||||
$dec = 0;
|
|
||||||
$rice = 0;
|
|
||||||
|
|
||||||
$db = DB::db();
|
|
||||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
|
||||||
$connect=$db->get();
|
|
||||||
increaseRefresh("시뮬", 2);
|
|
||||||
|
|
||||||
$query = "select no,tournament,con,turntime from general where owner='{$userID}'";
|
|
||||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
$me = MYDB_fetch_array($result);
|
|
||||||
|
|
||||||
$admin = $gameStor->getAll();
|
|
||||||
|
|
||||||
$con = checkLimit($me['con']);
|
|
||||||
if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
|
||||||
|
|
||||||
if($session->userGrade < 3) {
|
|
||||||
echo "특별회원이 아닙니다.";
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
$mydeathnumSum = 0;
|
|
||||||
$mykillnumSum = 0;
|
|
||||||
$expSum = 0;
|
|
||||||
$ricingSum = 0;
|
|
||||||
$expSum2 = 0;
|
|
||||||
$ricingSum2 = 0;
|
|
||||||
|
|
||||||
if($isgen == "장수평균" || $isgen == "성벽평균") {
|
|
||||||
$simulCount = 1000;
|
|
||||||
} else {
|
|
||||||
$simulCount = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
$general = [
|
|
||||||
'no'=>1
|
|
||||||
];
|
|
||||||
$oppose = [
|
|
||||||
'no'=>2
|
|
||||||
];
|
|
||||||
$city = [
|
|
||||||
'gen1'=>0,
|
|
||||||
'gen2'=>0,
|
|
||||||
'gen3'=>0,
|
|
||||||
];
|
|
||||||
|
|
||||||
if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평균" || $isgen == "성벽평균") {
|
|
||||||
$msg2 = "";
|
|
||||||
for($i=0; $i < $simulCount; $i++) {
|
|
||||||
$general['leader'] = $leader1;
|
|
||||||
$general['power'] = $power1;
|
|
||||||
$general['intel'] = $intel1;
|
|
||||||
$general['crewtype'] = $type1;
|
|
||||||
$general['crew'] = $crew1;
|
|
||||||
$general['train'] = $train1;
|
|
||||||
$general['atmos'] = $atmos1;
|
|
||||||
$general['level'] = $level1;
|
|
||||||
$general['explevel'] = $explevel1;
|
|
||||||
$general['dex0'] = $dex10;
|
|
||||||
$general['dex10'] = $dex110;
|
|
||||||
$general['dex20'] = $dex120;
|
|
||||||
$general['dex30'] = $dex130;
|
|
||||||
$general['dex40'] = $dex140;
|
|
||||||
|
|
||||||
$general['injury'] = 0;
|
|
||||||
$general['horse'] = 0;
|
|
||||||
$general['weap'] = 0;
|
|
||||||
$general['book'] = 0;
|
|
||||||
|
|
||||||
$oppose['leader'] = $leader2;
|
|
||||||
$oppose['power'] = $power2;
|
|
||||||
$oppose['intel'] = $intel2;
|
|
||||||
$oppose['crewtype'] = $type2;
|
|
||||||
$oppose['crew'] = $crew2;
|
|
||||||
$oppose['train'] = $train2;
|
|
||||||
$oppose['atmos'] = $atmos2;
|
|
||||||
$oppose['level'] = $level2;
|
|
||||||
$oppose['explevel'] = $explevel2;
|
|
||||||
$oppose['dex0'] = $dex20;
|
|
||||||
$oppose['dex10'] = $dex210;
|
|
||||||
$oppose['dex20'] = $dex220;
|
|
||||||
$oppose['dex30'] = $dex230;
|
|
||||||
$oppose['dex40'] = $dex240;
|
|
||||||
|
|
||||||
$oppose['injury'] = 0;
|
|
||||||
$oppose['horse'] = 0;
|
|
||||||
$oppose['weap'] = 0;
|
|
||||||
$oppose['book'] = 0;
|
|
||||||
|
|
||||||
$city['def'] = $def;
|
|
||||||
$city['wall'] = $wall;
|
|
||||||
$city['agri'] = 0;
|
|
||||||
$city['comm'] = 0;
|
|
||||||
$city['secu'] = 0;
|
|
||||||
|
|
||||||
if($isgen == "장수공격" || $isgen == "장수평균") {
|
|
||||||
$opposecount = 1;
|
|
||||||
} else {
|
|
||||||
$opposecount = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$warphase = getRate($admin, $general['crewtype'], "spd"); //병종간 페이즈 수 얻기
|
|
||||||
|
|
||||||
// 우선 스케일링
|
|
||||||
$city['def'] *= 10;
|
|
||||||
$city['wall'] *= 10;
|
|
||||||
|
|
||||||
$msg = "";
|
|
||||||
$msg .= "<C>●</>1월:공격장수가 <R>공격</>합니다.<br>";
|
|
||||||
|
|
||||||
$exp = 0; //병사 소진 시킨 만큼
|
|
||||||
$opexp = 0;
|
|
||||||
$exp2 = 1; //능력경험치
|
|
||||||
$phase = 0;
|
|
||||||
while($phase < $warphase) {
|
|
||||||
// 장수가 없어서 도시 공격
|
|
||||||
if($opposecount == 0) {
|
|
||||||
$josaRo = JosaUtil::pick(GameUnitConst::byID($general['crewtype'])->name, '로');
|
|
||||||
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."{$josaRo} 성을 <M>공격</>합니다.<br>";
|
|
||||||
|
|
||||||
$mykillnum = 0; $mydeathnum = 0;
|
|
||||||
while($phase < $warphase) {
|
|
||||||
$phase++;
|
|
||||||
$myAtt = getAtt($general, $tech1, 0);
|
|
||||||
$myDef = getDef($general, $tech1);
|
|
||||||
$cityAtt = getCityAtt($city);
|
|
||||||
$cityDef = getCityDef($city);
|
|
||||||
|
|
||||||
// 감소할 병사 수
|
|
||||||
$cityCrew = GameConst::$armperphase + $myAtt - $cityDef;
|
|
||||||
$myCrew = GameConst::$armperphase + $cityAtt - $myDef;
|
|
||||||
$cityweight = $myAtt - $cityDef;
|
|
||||||
$myweight = $cityAtt - $myDef;
|
|
||||||
|
|
||||||
//훈련 사기따라
|
|
||||||
$myCrew = getCrew($myCrew, $atmos3, $general['train']);
|
|
||||||
$cityCrew = getCrew($cityCrew, $general['atmos'], $train3);
|
|
||||||
//숙련도 따라
|
|
||||||
$genDexAtt = getGenDex($general, $general['crewtype']);
|
|
||||||
$genDexDef = getGenDex($general, 40);
|
|
||||||
$cityCrew *= getDexLog($genDexAtt, ($train3-60)*7200);
|
|
||||||
$myCrew *= getDexLog(($atmos3-60)*7200, $genDexDef);
|
|
||||||
|
|
||||||
$avoid = 1;
|
|
||||||
// 병종간 특성
|
|
||||||
if(intdiv($general['crewtype'], 10) == 3) { // 귀병
|
|
||||||
$int = $general['intel'] + getBookEff($general['book']);
|
|
||||||
if($general['crewtype'] == 30) {
|
|
||||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
|
||||||
} elseif($general['crewtype'] == 31) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 32) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 33) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 34) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 35) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($general['crewtype'] == 36) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($general['crewtype'] == 37) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 38) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
}
|
|
||||||
$ratio = rand() % 1000; // 0~999
|
|
||||||
if($ratio <= $ratio2) {
|
|
||||||
$ratio = rand() % 100; // 0~99
|
|
||||||
if($ratio >= 30) {
|
|
||||||
$type = rand() % 3;
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>급습</>을 <C>성공</>했다!<br>";
|
|
||||||
$cityCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 <C>성공</>했다!<br>";
|
|
||||||
$cityCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 <C>성공</>했다!<br>";
|
|
||||||
$cityCrew *= 1.6;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$type = rand() % 3;
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>급습</>을 <R>실패</>했다!<br>";
|
|
||||||
$cityCrew /= 1.2;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 <R>실패</>했다!<br>";
|
|
||||||
$cityCrew /= 1.4;
|
|
||||||
$myCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 <R>실패</>했다!<br>";
|
|
||||||
$cityCrew /= 1.6;
|
|
||||||
$myCrew *= 1.6;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} elseif($general['crewtype'] == 40) { // 정란
|
|
||||||
$cityCrew = $cityCrew * 1.5;
|
|
||||||
} elseif($general['crewtype'] == 41) { // 충차
|
|
||||||
$cityCrew = $cityCrew * 2.0;
|
|
||||||
} elseif($general['crewtype'] == 42) { // 벽력거
|
|
||||||
$cityCrew = $cityCrew * 1.5;
|
|
||||||
}
|
|
||||||
//군주, 참모, 장군 공격 보정 5%
|
|
||||||
if($general['level'] == 12 || $general['level'] == 11 || $general['level'] == 10 || $general['level'] == 8 || $general['level'] == 6) {
|
|
||||||
$cityCrew = $cityCrew * 1.05;
|
|
||||||
}
|
|
||||||
//레벨 보정
|
|
||||||
$cityCrew = $cityCrew * (100 + $general['explevel']/6)/100;
|
|
||||||
|
|
||||||
//크리
|
|
||||||
$rd = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio = CriticalRatio3($general['leader'], $general['power'], $general['intel']);
|
|
||||||
if($ratio >= $rd && $avoid == 1) {
|
|
||||||
$msg .= "<C>●</><C>필살</>공격!</><br>";
|
|
||||||
$cityCrew = CriticalScore2($cityCrew);
|
|
||||||
$avoid = 0;
|
|
||||||
}
|
|
||||||
//회피
|
|
||||||
$ratio = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio2 = getRate($admin, $general['crewtype'], "avd"); //회피율
|
|
||||||
if($ratio < $ratio2 && $avoid == 1) {
|
|
||||||
$msg .= "<C>●</><C>회피</>했다!</><br>";
|
|
||||||
$myCrew /= 10; // 10%만 소모
|
|
||||||
$avoid = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//랜타추가
|
|
||||||
$cityCrew *= (rand() % 21 + 90)/100; // 90~110%
|
|
||||||
$myCrew *= (rand() % 21 + 90)/100; // 90~110%
|
|
||||||
|
|
||||||
$general['crew'] -= Util::round($myCrew);
|
|
||||||
$city['def'] -= Util::round($cityCrew);
|
|
||||||
$city['wall'] -= Util::round($cityCrew);
|
|
||||||
|
|
||||||
$tempMyCrew = $myCrew; $tempCityCrew = $cityCrew;
|
|
||||||
$tempGeneralCrew = $general['crew']; $tempCityDef = $city['def'];
|
|
||||||
|
|
||||||
if($city['wall'] <= 0) { $city['wall'] = 0; }
|
|
||||||
|
|
||||||
if($city['def'] < 0) {
|
|
||||||
$offset = Util::round($tempCityDef*$tempMyCrew/$tempCityCrew);
|
|
||||||
$myCrew += $offset;
|
|
||||||
$general['crew'] -= $offset;
|
|
||||||
$cityCrew += $tempCityDef;
|
|
||||||
$city['def'] = 0;
|
|
||||||
}
|
|
||||||
if($general['crew'] < 0) {
|
|
||||||
$offset = Util::round($tempGeneralCrew*$tempCityCrew/$tempMyCrew);
|
|
||||||
$cityCrew += $offset;
|
|
||||||
$city['def'] -= $offset;
|
|
||||||
$myCrew += $tempGeneralCrew;
|
|
||||||
$general['crew'] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
$exp += $cityCrew;
|
|
||||||
$opexp += $myCrew;
|
|
||||||
$general['crew'] = Util::round($general['crew']);
|
|
||||||
$cityCrew = Util::round($cityCrew);
|
|
||||||
$myCrew = Util::round($myCrew);
|
|
||||||
$myAtt = round($myAtt, 2);
|
|
||||||
$myDef = round($myDef, 2);
|
|
||||||
$cityAtt = round($cityAtt, 2);
|
|
||||||
$cityDef = round($cityDef, 2);
|
|
||||||
$msg .= "<C>●</> $phase : <Y1>【공격장수】</> <C>{$general['crew']} (-$myCrew)</> VS <C>{$city['def']} (-$cityCrew)</> <Y1>【성벽】</><br>";
|
|
||||||
|
|
||||||
$mykillnum += $cityCrew; $mydeathnum += $myCrew;
|
|
||||||
|
|
||||||
if($city['def'] <= 0) { break; }
|
|
||||||
if($general['crew'] <= 0) { break; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// 도시쌀 소모 계산
|
|
||||||
$opexp = Util::round($opexp / 50);
|
|
||||||
$rice = Util::round($opexp * 4 * getCrewtypeRice(0, 0) * ($train3/100 - 0.2));
|
|
||||||
|
|
||||||
//원래대로 스케일링
|
|
||||||
$city['def'] = Util::round($city['def'] / 10);
|
|
||||||
$city['wall'] = Util::round($city['wall'] / 10);
|
|
||||||
//내정 감소
|
|
||||||
$dec = Util::round($cityCrew / 10);
|
|
||||||
$city['agri'] -= $dec;
|
|
||||||
$city['comm'] -= $dec;
|
|
||||||
$city['secu'] -= $dec;
|
|
||||||
if($city['agri'] < 0) { $city['agri'] = 0; }
|
|
||||||
if($city['comm'] < 0) { $city['comm'] = 0; }
|
|
||||||
if($city['secu'] < 0) { $city['secu'] = 0; }
|
|
||||||
$msg .= "<S>★</>병사수 변화 : <C>-$mydeathnum</> vs <C>-$mykillnum</><br>";
|
|
||||||
$msg .= "<R>★</>【성벽】내정 감소량 : $dec 【성벽】쌀 소모 : $rice<br>";
|
|
||||||
|
|
||||||
// $msg2 .= "<S>★</>병사수 변화 : <C>-$mydeathnum</> vs <C>-$mykillnum</> ";
|
|
||||||
// $msg2 .= "<R>★</>【성벽】내정 감소량 : $dec 【성벽】쌀 소모 : $rice<br>";
|
|
||||||
|
|
||||||
if($city['def'] == 0 || $general['crew'] == 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// 장수 대결
|
|
||||||
} else {
|
|
||||||
$josaUl = JosaUtil::pick(GameUnitConst::byID($oppose['crewtype'])->name, '을');
|
|
||||||
$josaRo = JosaUtil::pick(GameUnitConst::byID($general['crewtype'])->name, '로');
|
|
||||||
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."{$josaRo} <Y>수비장수</>의 ".GameUnitConst::byID($oppose['crewtype'])->name."{$josaUl} 공격합니다.<br>";
|
|
||||||
|
|
||||||
$mykillnum = 0; $mydeathnum = 0;
|
|
||||||
while($phase < $warphase) {
|
|
||||||
$phase++;
|
|
||||||
|
|
||||||
$myAtt = getAtt($general, $tech1, 0);
|
|
||||||
$myDef = getDef($general, $tech1);
|
|
||||||
$opAtt = getAtt($oppose, $tech2, 0);
|
|
||||||
$opDef = getDef($oppose, $tech2);
|
|
||||||
// 감소할 병사 수
|
|
||||||
$myCrew = GameConst::$armperphase + $opAtt - $myDef;
|
|
||||||
$opCrew = GameConst::$armperphase + $myAtt - $opDef;
|
|
||||||
//훈련 사기따라
|
|
||||||
$myCrew = getCrew($myCrew, $oppose['atmos'], $general['train']);
|
|
||||||
$opCrew = getCrew($opCrew, $general['atmos'], $oppose['train']);
|
|
||||||
//숙련도 따라
|
|
||||||
$genDexAtt = getGenDex($general, $general['crewtype']);
|
|
||||||
$genDexDef = getGenDex($general, $oppose['crewtype']);
|
|
||||||
$oppDexAtt = getGenDex($oppose, $oppose['crewtype']);
|
|
||||||
$oppDexDef = getGenDex($oppose, $general['crewtype']);
|
|
||||||
$opCrew *= getDexLog($genDexAtt, $oppDexDef);
|
|
||||||
$myCrew *= getDexLog($oppDexAtt, $genDexDef);
|
|
||||||
|
|
||||||
$myAvoid = 1;
|
|
||||||
$opAvoid = 1;
|
|
||||||
// 병종간 특성
|
|
||||||
if(intdiv($general['crewtype'], 10) == 3) { // 귀병
|
|
||||||
$int = $general['intel'] + getBookEff($general['book']);
|
|
||||||
if($general['crewtype'] == 30) {
|
|
||||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
|
||||||
} elseif($general['crewtype'] == 31) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 32) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 33) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 34) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 35) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($general['crewtype'] == 36) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($general['crewtype'] == 37) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($general['crewtype'] == 38) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
}
|
|
||||||
$ratio = rand() % 1000; // 0~999
|
|
||||||
if($ratio <= $ratio2) {
|
|
||||||
$ratio = rand() % 100;
|
|
||||||
if($ratio >= 30) {
|
|
||||||
$type = rand() % 5; // 0~4
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>매복</>을 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>반목</>을 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 1.6;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$msg .= "<C>●</><D>화계</>를 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 1.8;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 <C>성공</>했다!<br>";
|
|
||||||
$opCrew *= 2.0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$type = rand() % 5; // 0~4
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.1;
|
|
||||||
$myCrew *= 1.1;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>매복</>을 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.2;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>반목</>을 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.3;
|
|
||||||
$myCrew *= 1.3;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$msg .= "<C>●</><D>화계</>를 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.4;
|
|
||||||
$myCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 <R>실패</>했다!<br>";
|
|
||||||
$opCrew /= 1.5;
|
|
||||||
$myCrew *= 1.5;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 상대 장수 병종간 특성
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 3) { // 귀병
|
|
||||||
$int = $oppose['intel'] + getBookEff($oppose['book']);
|
|
||||||
if($oppose['crewtype'] == 30) {
|
|
||||||
$ratio2 = $int * 5; // 0~500 즉 50%
|
|
||||||
} elseif($oppose['crewtype'] == 31) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 32) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 33) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 34) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 35) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($oppose['crewtype'] == 36) {
|
|
||||||
$ratio2 = $int * 8; // 0~800 즉 80%
|
|
||||||
} elseif($oppose['crewtype'] == 37) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
} elseif($oppose['crewtype'] == 38) {
|
|
||||||
$ratio2 = $int * 6; // 0~600 즉 60%
|
|
||||||
}
|
|
||||||
$ratio = rand() % 1000; // 0~999
|
|
||||||
if($ratio <= $ratio2) {
|
|
||||||
$ratio = rand() % 100;
|
|
||||||
if($ratio >= 30) {
|
|
||||||
$type = rand() % 5; // 0~4
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>위보</>에 당했다!<br>";
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>매복</>에 당했다!<br>";
|
|
||||||
$myCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>반목</>에 당했다!<br>";
|
|
||||||
$myCrew *= 1.6;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$msg .= "<C>●</><D>화계</>에 당했다!<br>";
|
|
||||||
$myCrew *= 1.8;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$msg .= "<C>●</><D>혼란</>에 당했다!<br>";
|
|
||||||
$myCrew *= 2.0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$type = rand() % 5; // 0~4
|
|
||||||
switch($type) {
|
|
||||||
case 0:
|
|
||||||
$msg .= "<C>●</><D>위보</>를 간파했다!<br>";
|
|
||||||
$myCrew /= 1.1;
|
|
||||||
$opCrew *= 1.1;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
$msg .= "<C>●</><D>매복</>을 간파했다!<br>";
|
|
||||||
$myCrew /= 1.2;
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
$msg .= "<C>●</><D>반목</>을 간파했다!<br>";
|
|
||||||
$myCrew /= 1.3;
|
|
||||||
$opCrew *= 1.3;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
$msg .= "<C>●</><D>화계</>를 간파했다!<br>";
|
|
||||||
$myCrew /= 1.4;
|
|
||||||
$opCrew *= 1.4;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
$msg .= "<C>●</><D>혼란</>을 간파했다!<br>";
|
|
||||||
$myCrew /= 1.5;
|
|
||||||
$opCrew *= 1.5;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if($oppose['crewtype'] == 43) { // 목우
|
|
||||||
$r = 0;
|
|
||||||
$r += $oppose['atmos'];
|
|
||||||
$r += $oppose['train'];
|
|
||||||
$ratio = rand() % 400; // 최대 50% 저지
|
|
||||||
if($ratio < $r && $opAvoid == 1) {
|
|
||||||
$msg .= "<C>●</><R>저지</>당했다!</><br>";
|
|
||||||
$opAvoid = 0;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// my 입장 상성
|
|
||||||
// 보병계열 > 궁병계열
|
|
||||||
if(intdiv($general['crewtype'], 10) == 0 && intdiv($oppose['crewtype'], 10) == 1) {
|
|
||||||
$myCrew *= 0.8;
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 궁병계열 > 기병계열
|
|
||||||
if(intdiv($general['crewtype'], 10) == 1 && intdiv($oppose['crewtype'], 10) == 2) {
|
|
||||||
$myCrew *= 0.8;
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 기병계열 > 보병계열
|
|
||||||
if(intdiv($general['crewtype'], 10) == 2 && intdiv($oppose['crewtype'], 10) == 0) {
|
|
||||||
$myCrew *= 0.8;
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 차병계열
|
|
||||||
if(intdiv($general['crewtype'], 10) == 4) {
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
$opCrew *= 0.8;
|
|
||||||
}
|
|
||||||
|
|
||||||
// op 입장 상성
|
|
||||||
// 보병계열 > 궁병계열
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 0 && intdiv($general['crewtype'], 10) == 1) {
|
|
||||||
$opCrew *= 0.8;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 궁병계열 > 기병계열
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 1 && intdiv($general['crewtype'], 10) == 2) {
|
|
||||||
$opCrew *= 0.8;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 기병계열 > 보병계열
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 2 && intdiv($general['crewtype'], 10) == 0) {
|
|
||||||
$opCrew *= 0.8;
|
|
||||||
$myCrew *= 1.2;
|
|
||||||
}
|
|
||||||
// 차병계열
|
|
||||||
if(intdiv($oppose['crewtype'], 10) == 4) {
|
|
||||||
$opCrew *= 1.2;
|
|
||||||
$myCrew *= 0.8;
|
|
||||||
}
|
|
||||||
|
|
||||||
//군주, 참모, 장군 공격 보정 5%
|
|
||||||
if($general['level'] == 12 || $general['level'] == 11 || $general['level'] == 10 || $general['level'] == 8 || $general['level'] == 6) {
|
|
||||||
$opCrew = $opCrew * 1.05;
|
|
||||||
}
|
|
||||||
//상대장수 관직 보정
|
|
||||||
//군주, 참모, 모사 방어 보정 5%
|
|
||||||
if($oppose['level'] == 12 || $oppose['level'] == 11 || $oppose['level'] == 9 || $oppose['level'] == 7 || $oppose['level'] == 5) {
|
|
||||||
$opCrew = $opCrew * 0.95;
|
|
||||||
} elseif($oppose['level'] == 4 && $oppose['no'] == $city['gen1']) { // 태수 보정
|
|
||||||
$opCrew = $opCrew * 0.95;
|
|
||||||
} elseif($oppose['level'] == 3 && $oppose['no'] == $city['gen2']) { // 군사 보정
|
|
||||||
$opCrew = $opCrew * 0.95;
|
|
||||||
} elseif($oppose['level'] == 2 && $oppose['no'] == $city['gen3']) { // 시중 보정
|
|
||||||
$opCrew = $opCrew * 0.95;
|
|
||||||
}
|
|
||||||
|
|
||||||
//레벨 보정
|
|
||||||
$myCrew = $myCrew * ((100 - $general['explevel']/3)/100);
|
|
||||||
$opCrew = $opCrew / ((100 - $general['explevel']/3)/100);
|
|
||||||
$myCrew = $myCrew / ((100 - $oppose['explevel']/3)/100);
|
|
||||||
$opCrew = $opCrew * ((100 - $oppose['explevel']/3)/100);
|
|
||||||
|
|
||||||
//크리
|
|
||||||
$rd = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio = CriticalRatio3($general['leader'], $general['power'], $general['intel']);
|
|
||||||
if($ratio >= $rd && $myAvoid == 1) {
|
|
||||||
$msg .= "<C>●</><C>필살</>공격!</><br>";
|
|
||||||
$opCrew = CriticalScore2($opCrew);
|
|
||||||
$myAvoid = 0;
|
|
||||||
}
|
|
||||||
//크리
|
|
||||||
$rd = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio = CriticalRatio3($oppose['leader'], $oppose['power'], $oppose['intel']);
|
|
||||||
if($ratio >= $rd && $opAvoid == 1) {
|
|
||||||
$msg .= "<C>●</>상대의 <R>필살</>공격!</><br>";
|
|
||||||
$myCrew = CriticalScore2($myCrew);
|
|
||||||
$opAvoid = 0;
|
|
||||||
}
|
|
||||||
//회피
|
|
||||||
$ratio = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio2 = getRate($admin, $general['crewtype'], "avd"); //회피율
|
|
||||||
if($ratio < $ratio2 && $myAvoid == 1) {
|
|
||||||
$msg .= "<C>●</><C>회피</>했다!</><br>";
|
|
||||||
$myCrew /= 10; // 10%만 소모
|
|
||||||
$myAvoid = 0;
|
|
||||||
}
|
|
||||||
//회피
|
|
||||||
$ratio = rand() % 100; // 0 ~ 99
|
|
||||||
$ratio2 = getRate($admin, $oppose['crewtype'], "avd"); //회피율
|
|
||||||
if($ratio < $ratio2 && $opAvoid == 1) {
|
|
||||||
$msg .= "<C>●</>상대가 <R>회피</>했다!</><br>";
|
|
||||||
$opCrew /= 10; // 10%만 소모
|
|
||||||
$opAvoid = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//랜타추가
|
|
||||||
$opCrew *= (rand() % 21 + 90)/100; // 90~110%
|
|
||||||
$myCrew *= (rand() % 21 + 90)/100; // 90~110%
|
|
||||||
|
|
||||||
$general['crew'] -= Util::round($myCrew);
|
|
||||||
$oppose['crew'] -= Util::round($opCrew);
|
|
||||||
$tempMyCrew = $myCrew; $tempOpCrew = $opCrew;
|
|
||||||
$tempGeneralCrew = $general['crew']; $tempOpposeCrew = $oppose['crew'];
|
|
||||||
if($general['crew'] <= 0 && $oppose['crew'] <= 0) {
|
|
||||||
$r1 = $tempGeneralCrew / $tempMyCrew;
|
|
||||||
$r2 = $tempOpposeCrew / $tempOpCrew;
|
|
||||||
|
|
||||||
if($r1 > $r2) {
|
|
||||||
$offset = Util::round($tempOpposeCrew*$tempMyCrew/$tempOpCrew);
|
|
||||||
$myCrew += $offset;
|
|
||||||
$general['crew'] -= $offset;
|
|
||||||
$opCrew += $tempOpposeCrew;
|
|
||||||
$oppose['crew'] = 0;
|
|
||||||
} else {
|
|
||||||
$offset = Util::round($tempGeneralCrew*$tempOpCrew/$tempMyCrew);
|
|
||||||
$opCrew += $offset;
|
|
||||||
$oppose['crew'] -= $offset;
|
|
||||||
$myCrew += $tempGeneralCrew;
|
|
||||||
$general['crew'] = 0;
|
|
||||||
}
|
|
||||||
} elseif($general['crew'] * $oppose['crew'] <= 0) {
|
|
||||||
if($oppose['crew'] < 0) {
|
|
||||||
$offset = Util::round($tempOpposeCrew*$tempMyCrew/$tempOpCrew);
|
|
||||||
$myCrew += $offset;
|
|
||||||
$general['crew'] -= $offset;
|
|
||||||
$opCrew += $tempOpposeCrew;
|
|
||||||
$oppose['crew'] = 0;
|
|
||||||
}
|
|
||||||
if($general['crew'] < 0) {
|
|
||||||
$offset = Util::round($tempGeneralCrew*$tempOpCrew/$tempMyCrew);
|
|
||||||
$opCrew += $offset;
|
|
||||||
$oppose['crew'] -= $offset;
|
|
||||||
$myCrew += $tempGeneralCrew;
|
|
||||||
$general['crew'] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$exp += $opCrew;
|
|
||||||
$opexp += $myCrew;
|
|
||||||
$general['crew'] = Util::round($general['crew']);
|
|
||||||
$oppose['crew'] = Util::round($oppose['crew']);
|
|
||||||
$myCrew = Util::round($myCrew);
|
|
||||||
$opCrew = Util::round($opCrew);
|
|
||||||
$myAtt = round($myAtt, 2);
|
|
||||||
$myDef = round($myDef, 2);
|
|
||||||
$opAtt = round($opAtt, 2);
|
|
||||||
$opDef = round($opDef, 2);
|
|
||||||
$msg .= "<C>●</> $phase : <Y1>【공격장수】</> <C>{$general['crew']} (-$myCrew)</> VS <C>{$oppose['crew']} (-$opCrew)</> <Y1>【수비장수】</><br>";
|
|
||||||
|
|
||||||
$mykillnum += $opCrew; $mydeathnum += $myCrew;
|
|
||||||
|
|
||||||
if($oppose['crew'] <= 0) { break; }
|
|
||||||
if($general['crew'] <= 0) { break; }
|
|
||||||
}
|
|
||||||
|
|
||||||
$msg .= "<S>★</>병사수 변화 : <C>-$mydeathnum</> vs <C>-$mykillnum</><br>";
|
|
||||||
// $msg2 .= "<S>★</>병사수 변화 : <C>-$mydeathnum</> vs <C>-$mykillnum</> ";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 공헌, 명성 상승
|
|
||||||
$exp = Util::round($exp / 50);
|
|
||||||
$ricing = ($exp * 5 * getCrewtypeRice($general['crewtype'], $tech1));
|
|
||||||
$msg .= "★ 【공격장수】공헌 상승 : $exp 쌀 소비 : {$exp}x5x".getCrewtypeRice($general['crewtype'], $tech1)." = $ricing<br>";
|
|
||||||
// $msg2 .= "★ 【공격장수】공헌 상승 : $exp 쌀 소비 : {$exp}x5x".getCrewtypeRice($general['crewtype'], $tech1)." = $ricing<br>";
|
|
||||||
|
|
||||||
$msg = ConvertLog($msg, 1);
|
|
||||||
|
|
||||||
$mydeathnumSum += $mydeathnum;
|
|
||||||
$mykillnumSum += $mykillnum;
|
|
||||||
$expSum += $exp;
|
|
||||||
$ricingSum += $ricing;
|
|
||||||
$expSum2 += $dec;
|
|
||||||
$ricingSum2 += $rice;
|
|
||||||
}
|
|
||||||
|
|
||||||
$mydeathnumSum /= $simulCount;
|
|
||||||
$mykillnumSum /= $simulCount;
|
|
||||||
$expSum /= $simulCount;
|
|
||||||
$ricingSum /= $simulCount;
|
|
||||||
$expSum2 /= $simulCount;
|
|
||||||
$ricingSum2 /= $simulCount;
|
|
||||||
if($isgen == "성벽평균") {
|
|
||||||
$msg2 .= "{$simulCount}회 평균<br>";
|
|
||||||
$msg2 .= "<S>★</>병사수 변화 : <C>-$mydeathnumSum</> vs <C>-$mykillnumSum</> ";
|
|
||||||
$msg2 .= "<R>★</>【성벽】내정 감소량 : $expSum2 【성벽】쌀 소모 : $ricingSum2<br>";
|
|
||||||
$msg2 .= "★ 【공격장수】공헌 상승 : $expSum 쌀 소비 : {$expSum}x5x".getCrewtypeRice($general['crewtype'], $tech1)." = $ricingSum<br>";
|
|
||||||
} elseif($isgen == "장수평균") {
|
|
||||||
$msg2 .= "{$simulCount}회 평균<br>";
|
|
||||||
$msg2 .= "<S>★</>병사수 변화 : <C>-$mydeathnumSum</> vs <C>-$mykillnumSum</> ";
|
|
||||||
$msg2 .= "★ 【공격장수】공헌 상승 : $expSum 쌀 소비 : {$expSum}x5x".getCrewtypeRice($general['crewtype'], $tech1)." = $ricingSum<br>";
|
|
||||||
}
|
|
||||||
|
|
||||||
$msg2 = ConvertLog($msg2, 1);
|
|
||||||
} else {
|
|
||||||
$leader1 = 70;
|
|
||||||
$power1 = 70;
|
|
||||||
$intel1 = 10;
|
|
||||||
$type1 = 0;
|
|
||||||
$crew1 = 7000;
|
|
||||||
$train1 = 100;
|
|
||||||
$atmos1 = 100;
|
|
||||||
$level1 = 1;
|
|
||||||
$explevel1 = 20;
|
|
||||||
|
|
||||||
$leader2 = 70;
|
|
||||||
$power2 = 70;
|
|
||||||
$intel2 = 10;
|
|
||||||
$type2 = 0;
|
|
||||||
$crew2 = 7000;
|
|
||||||
$train2 = 100;
|
|
||||||
$atmos2 = 100;
|
|
||||||
$level2 = 1;
|
|
||||||
$explevel2 = 20;
|
|
||||||
|
|
||||||
$def = 7000;
|
|
||||||
$wall = 7000;
|
|
||||||
$train3 = $admin['city_rate'];
|
|
||||||
$atmos3 = $admin['city_rate'];
|
|
||||||
}
|
|
||||||
|
|
||||||
switch($level1) {
|
|
||||||
case 12: $sellevel1[12] = "selected"; break;
|
|
||||||
case 11: $sellevel1[11] = "selected"; break;
|
|
||||||
case 10: $sellevel1[10] = "selected"; break;
|
|
||||||
case 9: $sellevel1[9] = "selected"; break;
|
|
||||||
case 8: $sellevel1[8] = "selected"; break;
|
|
||||||
case 7: $sellevel1[7] = "selected"; break;
|
|
||||||
case 6: $sellevel1[6] = "selected"; break;
|
|
||||||
case 5: $sellevel1[5] = "selected"; break;
|
|
||||||
case 1: $sellevel1[1] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($level2) {
|
|
||||||
case 12: $sellevel2[12] = "selected"; break;
|
|
||||||
case 11: $sellevel2[11] = "selected"; break;
|
|
||||||
case 10: $sellevel2[10] = "selected"; break;
|
|
||||||
case 9: $sellevel2[9] = "selected"; break;
|
|
||||||
case 8: $sellevel2[8] = "selected"; break;
|
|
||||||
case 7: $sellevel2[7] = "selected"; break;
|
|
||||||
case 6: $sellevel2[6] = "selected"; break;
|
|
||||||
case 5: $sellevel2[5] = "selected"; break;
|
|
||||||
case 1: $sellevel2[1] = "selected"; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch($type1) {
|
|
||||||
case 0: $sel1[0] = "selected"; break;
|
|
||||||
case 1: $sel1[1] = "selected"; break;
|
|
||||||
case 2: $sel1[2] = "selected"; break;
|
|
||||||
case 3: $sel1[3] = "selected"; break;
|
|
||||||
case 4: $sel1[4] = "selected"; break;
|
|
||||||
case 5: $sel1[5] = "selected"; break;
|
|
||||||
case 10: $sel1[10] = "selected"; break;
|
|
||||||
case 11: $sel1[11] = "selected"; break;
|
|
||||||
case 12: $sel1[12] = "selected"; break;
|
|
||||||
case 13: $sel1[13] = "selected"; break;
|
|
||||||
case 14: $sel1[14] = "selected"; break;
|
|
||||||
case 20: $sel1[20] = "selected"; break;
|
|
||||||
case 21: $sel1[21] = "selected"; break;
|
|
||||||
case 22: $sel1[22] = "selected"; break;
|
|
||||||
case 23: $sel1[23] = "selected"; break;
|
|
||||||
case 24: $sel1[24] = "selected"; break;
|
|
||||||
case 25: $sel1[25] = "selected"; break;
|
|
||||||
case 26: $sel1[26] = "selected"; break;
|
|
||||||
case 27: $sel1[27] = "selected"; break;
|
|
||||||
case 30: $sel1[30] = "selected"; break;
|
|
||||||
case 31: $sel1[31] = "selected"; break;
|
|
||||||
case 32: $sel1[32] = "selected"; break;
|
|
||||||
case 33: $sel1[33] = "selected"; break;
|
|
||||||
case 34: $sel1[34] = "selected"; break;
|
|
||||||
case 35: $sel1[35] = "selected"; break;
|
|
||||||
case 36: $sel1[36] = "selected"; break;
|
|
||||||
case 37: $sel1[37] = "selected"; break;
|
|
||||||
case 38: $sel1[38] = "selected"; break;
|
|
||||||
case 40: $sel1[40] = "selected"; break;
|
|
||||||
case 41: $sel1[41] = "selected"; break;
|
|
||||||
case 42: $sel1[42] = "selected"; break;
|
|
||||||
case 43: $sel1[43] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($type2) {
|
|
||||||
case 0: $sel2[0] = "selected"; break;
|
|
||||||
case 1: $sel2[1] = "selected"; break;
|
|
||||||
case 2: $sel2[2] = "selected"; break;
|
|
||||||
case 3: $sel2[3] = "selected"; break;
|
|
||||||
case 4: $sel2[4] = "selected"; break;
|
|
||||||
case 5: $sel2[5] = "selected"; break;
|
|
||||||
case 10: $sel2[10] = "selected"; break;
|
|
||||||
case 11: $sel2[11] = "selected"; break;
|
|
||||||
case 12: $sel2[12] = "selected"; break;
|
|
||||||
case 13: $sel2[13] = "selected"; break;
|
|
||||||
case 14: $sel2[14] = "selected"; break;
|
|
||||||
case 20: $sel2[20] = "selected"; break;
|
|
||||||
case 21: $sel2[21] = "selected"; break;
|
|
||||||
case 22: $sel2[22] = "selected"; break;
|
|
||||||
case 23: $sel2[23] = "selected"; break;
|
|
||||||
case 24: $sel2[24] = "selected"; break;
|
|
||||||
case 25: $sel2[25] = "selected"; break;
|
|
||||||
case 26: $sel2[26] = "selected"; break;
|
|
||||||
case 27: $sel2[27] = "selected"; break;
|
|
||||||
case 30: $sel2[30] = "selected"; break;
|
|
||||||
case 31: $sel2[31] = "selected"; break;
|
|
||||||
case 32: $sel2[32] = "selected"; break;
|
|
||||||
case 33: $sel2[33] = "selected"; break;
|
|
||||||
case 34: $sel2[34] = "selected"; break;
|
|
||||||
case 35: $sel2[35] = "selected"; break;
|
|
||||||
case 36: $sel2[36] = "selected"; break;
|
|
||||||
case 37: $sel2[37] = "selected"; break;
|
|
||||||
case 38: $sel2[38] = "selected"; break;
|
|
||||||
case 40: $sel2[40] = "selected"; break;
|
|
||||||
case 41: $sel2[41] = "selected"; break;
|
|
||||||
case 42: $sel2[42] = "selected"; break;
|
|
||||||
case 43: $sel2[43] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($tech1) {
|
|
||||||
case 0: $tch1[0] = "selected"; break;
|
|
||||||
case 1000: $tch1[1] = "selected"; break;
|
|
||||||
case 2000: $tch1[2] = "selected"; break;
|
|
||||||
case 3000: $tch1[3] = "selected"; break;
|
|
||||||
case 4000: $tch1[4] = "selected"; break;
|
|
||||||
case 5000: $tch1[5] = "selected"; break;
|
|
||||||
case 6000: $tch1[6] = "selected"; break;
|
|
||||||
case 7000: $tch1[7] = "selected"; break;
|
|
||||||
case 8000: $tch1[8] = "selected"; break;
|
|
||||||
case 9000: $tch1[9] = "selected"; break;
|
|
||||||
case 10000: $tch1[10] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($tech2) {
|
|
||||||
case 0: $tch2[0] = "selected"; break;
|
|
||||||
case 1000: $tch2[1] = "selected"; break;
|
|
||||||
case 2000: $tch2[2] = "selected"; break;
|
|
||||||
case 3000: $tch2[3] = "selected"; break;
|
|
||||||
case 4000: $tch2[4] = "selected"; break;
|
|
||||||
case 5000: $tch2[5] = "selected"; break;
|
|
||||||
case 6000: $tch2[6] = "selected"; break;
|
|
||||||
case 7000: $tch2[7] = "selected"; break;
|
|
||||||
case 8000: $tch2[8] = "selected"; break;
|
|
||||||
case 9000: $tch2[9] = "selected"; break;
|
|
||||||
case 10000: $tch2[10] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex10) {
|
|
||||||
case 0: $dx10[0] = "selected"; break;
|
|
||||||
case 2500: $dx10[1] = "selected"; break;
|
|
||||||
case 7500: $dx10[2] = "selected"; break;
|
|
||||||
case 15000: $dx10[3] = "selected"; break;
|
|
||||||
case 25000: $dx10[4] = "selected"; break;
|
|
||||||
case 37500: $dx10[5] = "selected"; break;
|
|
||||||
case 52500: $dx10[6] = "selected"; break;
|
|
||||||
case 70000: $dx10[7] = "selected"; break;
|
|
||||||
case 90000: $dx10[8] = "selected"; break;
|
|
||||||
case 112500: $dx10[9] = "selected"; break;
|
|
||||||
case 137500: $dx10[10] = "selected"; break;
|
|
||||||
case 165000: $dx10[11] = "selected"; break;
|
|
||||||
case 195000: $dx10[12] = "selected"; break;
|
|
||||||
case 227500: $dx10[13] = "selected"; break;
|
|
||||||
case 262500: $dx10[14] = "selected"; break;
|
|
||||||
case 300000: $dx10[15] = "selected"; break;
|
|
||||||
case 340000: $dx10[16] = "selected"; break;
|
|
||||||
case 382500: $dx10[17] = "selected"; break;
|
|
||||||
case 427500: $dx10[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex110) {
|
|
||||||
case 0: $dx110[0] = "selected"; break;
|
|
||||||
case 2500: $dx110[1] = "selected"; break;
|
|
||||||
case 7500: $dx110[2] = "selected"; break;
|
|
||||||
case 15000: $dx110[3] = "selected"; break;
|
|
||||||
case 25000: $dx110[4] = "selected"; break;
|
|
||||||
case 37500: $dx110[5] = "selected"; break;
|
|
||||||
case 52500: $dx110[6] = "selected"; break;
|
|
||||||
case 70000: $dx110[7] = "selected"; break;
|
|
||||||
case 90000: $dx110[8] = "selected"; break;
|
|
||||||
case 112500: $dx110[9] = "selected"; break;
|
|
||||||
case 137500: $dx110[10] = "selected"; break;
|
|
||||||
case 165000: $dx110[11] = "selected"; break;
|
|
||||||
case 195000: $dx110[12] = "selected"; break;
|
|
||||||
case 227500: $dx110[13] = "selected"; break;
|
|
||||||
case 262500: $dx110[14] = "selected"; break;
|
|
||||||
case 300000: $dx110[15] = "selected"; break;
|
|
||||||
case 340000: $dx110[16] = "selected"; break;
|
|
||||||
case 382500: $dx110[17] = "selected"; break;
|
|
||||||
case 427500: $dx110[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex120) {
|
|
||||||
case 0: $dx120[0] = "selected"; break;
|
|
||||||
case 2500: $dx120[1] = "selected"; break;
|
|
||||||
case 7500: $dx120[2] = "selected"; break;
|
|
||||||
case 15000: $dx120[3] = "selected"; break;
|
|
||||||
case 25000: $dx120[4] = "selected"; break;
|
|
||||||
case 37500: $dx120[5] = "selected"; break;
|
|
||||||
case 52500: $dx120[6] = "selected"; break;
|
|
||||||
case 70000: $dx120[7] = "selected"; break;
|
|
||||||
case 90000: $dx120[8] = "selected"; break;
|
|
||||||
case 112500: $dx120[9] = "selected"; break;
|
|
||||||
case 137500: $dx120[10] = "selected"; break;
|
|
||||||
case 165000: $dx120[11] = "selected"; break;
|
|
||||||
case 195000: $dx120[12] = "selected"; break;
|
|
||||||
case 227500: $dx120[13] = "selected"; break;
|
|
||||||
case 262500: $dx120[14] = "selected"; break;
|
|
||||||
case 300000: $dx120[15] = "selected"; break;
|
|
||||||
case 340000: $dx120[16] = "selected"; break;
|
|
||||||
case 382500: $dx120[17] = "selected"; break;
|
|
||||||
case 427500: $dx120[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex130) {
|
|
||||||
case 0: $dx130[0] = "selected"; break;
|
|
||||||
case 2500: $dx130[1] = "selected"; break;
|
|
||||||
case 7500: $dx130[2] = "selected"; break;
|
|
||||||
case 15000: $dx130[3] = "selected"; break;
|
|
||||||
case 25000: $dx130[4] = "selected"; break;
|
|
||||||
case 37500: $dx130[5] = "selected"; break;
|
|
||||||
case 52500: $dx130[6] = "selected"; break;
|
|
||||||
case 70000: $dx130[7] = "selected"; break;
|
|
||||||
case 90000: $dx130[8] = "selected"; break;
|
|
||||||
case 112500: $dx130[9] = "selected"; break;
|
|
||||||
case 137500: $dx130[10] = "selected"; break;
|
|
||||||
case 165000: $dx130[11] = "selected"; break;
|
|
||||||
case 195000: $dx130[12] = "selected"; break;
|
|
||||||
case 227500: $dx130[13] = "selected"; break;
|
|
||||||
case 262500: $dx130[14] = "selected"; break;
|
|
||||||
case 300000: $dx130[15] = "selected"; break;
|
|
||||||
case 340000: $dx130[16] = "selected"; break;
|
|
||||||
case 382500: $dx130[17] = "selected"; break;
|
|
||||||
case 427500: $dx130[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex140) {
|
|
||||||
case 0: $dx140[0] = "selected"; break;
|
|
||||||
case 2500: $dx140[1] = "selected"; break;
|
|
||||||
case 7500: $dx140[2] = "selected"; break;
|
|
||||||
case 15000: $dx140[3] = "selected"; break;
|
|
||||||
case 25000: $dx140[4] = "selected"; break;
|
|
||||||
case 37500: $dx140[5] = "selected"; break;
|
|
||||||
case 52500: $dx140[6] = "selected"; break;
|
|
||||||
case 70000: $dx140[7] = "selected"; break;
|
|
||||||
case 90000: $dx140[8] = "selected"; break;
|
|
||||||
case 112500: $dx140[9] = "selected"; break;
|
|
||||||
case 137500: $dx140[10] = "selected"; break;
|
|
||||||
case 165000: $dx140[11] = "selected"; break;
|
|
||||||
case 195000: $dx140[12] = "selected"; break;
|
|
||||||
case 227500: $dx140[13] = "selected"; break;
|
|
||||||
case 262500: $dx140[14] = "selected"; break;
|
|
||||||
case 300000: $dx140[15] = "selected"; break;
|
|
||||||
case 340000: $dx140[16] = "selected"; break;
|
|
||||||
case 382500: $dx140[17] = "selected"; break;
|
|
||||||
case 427500: $dx140[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex20) {
|
|
||||||
case 0: $dx20[0] = "selected"; break;
|
|
||||||
case 2500: $dx20[1] = "selected"; break;
|
|
||||||
case 7500: $dx20[2] = "selected"; break;
|
|
||||||
case 15000: $dx20[3] = "selected"; break;
|
|
||||||
case 25000: $dx20[4] = "selected"; break;
|
|
||||||
case 37500: $dx20[5] = "selected"; break;
|
|
||||||
case 52500: $dx20[6] = "selected"; break;
|
|
||||||
case 70000: $dx20[7] = "selected"; break;
|
|
||||||
case 90000: $dx20[8] = "selected"; break;
|
|
||||||
case 112500: $dx20[9] = "selected"; break;
|
|
||||||
case 137500: $dx20[10] = "selected"; break;
|
|
||||||
case 165000: $dx20[11] = "selected"; break;
|
|
||||||
case 195000: $dx20[12] = "selected"; break;
|
|
||||||
case 227500: $dx20[13] = "selected"; break;
|
|
||||||
case 262500: $dx20[14] = "selected"; break;
|
|
||||||
case 300000: $dx20[15] = "selected"; break;
|
|
||||||
case 340000: $dx20[16] = "selected"; break;
|
|
||||||
case 382500: $dx20[17] = "selected"; break;
|
|
||||||
case 427500: $dx20[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex210) {
|
|
||||||
case 0: $dx210[0] = "selected"; break;
|
|
||||||
case 2500: $dx210[1] = "selected"; break;
|
|
||||||
case 7500: $dx210[2] = "selected"; break;
|
|
||||||
case 15000: $dx210[3] = "selected"; break;
|
|
||||||
case 25000: $dx210[4] = "selected"; break;
|
|
||||||
case 37500: $dx210[5] = "selected"; break;
|
|
||||||
case 52500: $dx210[6] = "selected"; break;
|
|
||||||
case 70000: $dx210[7] = "selected"; break;
|
|
||||||
case 90000: $dx210[8] = "selected"; break;
|
|
||||||
case 112500: $dx210[9] = "selected"; break;
|
|
||||||
case 137500: $dx210[10] = "selected"; break;
|
|
||||||
case 165000: $dx210[11] = "selected"; break;
|
|
||||||
case 195000: $dx210[12] = "selected"; break;
|
|
||||||
case 227500: $dx210[13] = "selected"; break;
|
|
||||||
case 262500: $dx210[14] = "selected"; break;
|
|
||||||
case 300000: $dx210[15] = "selected"; break;
|
|
||||||
case 340000: $dx210[16] = "selected"; break;
|
|
||||||
case 382500: $dx210[17] = "selected"; break;
|
|
||||||
case 427500: $dx210[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex220) {
|
|
||||||
case 0: $dx220[0] = "selected"; break;
|
|
||||||
case 2500: $dx220[1] = "selected"; break;
|
|
||||||
case 7500: $dx220[2] = "selected"; break;
|
|
||||||
case 15000: $dx220[3] = "selected"; break;
|
|
||||||
case 25000: $dx220[4] = "selected"; break;
|
|
||||||
case 37500: $dx220[5] = "selected"; break;
|
|
||||||
case 52500: $dx220[6] = "selected"; break;
|
|
||||||
case 70000: $dx220[7] = "selected"; break;
|
|
||||||
case 90000: $dx220[8] = "selected"; break;
|
|
||||||
case 112500: $dx220[9] = "selected"; break;
|
|
||||||
case 137500: $dx220[10] = "selected"; break;
|
|
||||||
case 165000: $dx220[11] = "selected"; break;
|
|
||||||
case 195000: $dx220[12] = "selected"; break;
|
|
||||||
case 227500: $dx220[13] = "selected"; break;
|
|
||||||
case 262500: $dx220[14] = "selected"; break;
|
|
||||||
case 300000: $dx220[15] = "selected"; break;
|
|
||||||
case 340000: $dx220[16] = "selected"; break;
|
|
||||||
case 382500: $dx220[17] = "selected"; break;
|
|
||||||
case 427500: $dx220[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex230) {
|
|
||||||
case 0: $dx230[0] = "selected"; break;
|
|
||||||
case 2500: $dx230[1] = "selected"; break;
|
|
||||||
case 7500: $dx230[2] = "selected"; break;
|
|
||||||
case 15000: $dx230[3] = "selected"; break;
|
|
||||||
case 25000: $dx230[4] = "selected"; break;
|
|
||||||
case 37500: $dx230[5] = "selected"; break;
|
|
||||||
case 52500: $dx230[6] = "selected"; break;
|
|
||||||
case 70000: $dx230[7] = "selected"; break;
|
|
||||||
case 90000: $dx230[8] = "selected"; break;
|
|
||||||
case 112500: $dx230[9] = "selected"; break;
|
|
||||||
case 137500: $dx230[10] = "selected"; break;
|
|
||||||
case 165000: $dx230[11] = "selected"; break;
|
|
||||||
case 195000: $dx230[12] = "selected"; break;
|
|
||||||
case 227500: $dx230[13] = "selected"; break;
|
|
||||||
case 262500: $dx230[14] = "selected"; break;
|
|
||||||
case 300000: $dx230[15] = "selected"; break;
|
|
||||||
case 340000: $dx230[16] = "selected"; break;
|
|
||||||
case 382500: $dx230[17] = "selected"; break;
|
|
||||||
case 427500: $dx230[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
switch($dex240) {
|
|
||||||
case 0: $dx240[0] = "selected"; break;
|
|
||||||
case 2500: $dx240[1] = "selected"; break;
|
|
||||||
case 7500: $dx240[2] = "selected"; break;
|
|
||||||
case 15000: $dx240[3] = "selected"; break;
|
|
||||||
case 25000: $dx240[4] = "selected"; break;
|
|
||||||
case 37500: $dx240[5] = "selected"; break;
|
|
||||||
case 52500: $dx240[6] = "selected"; break;
|
|
||||||
case 70000: $dx240[7] = "selected"; break;
|
|
||||||
case 90000: $dx240[8] = "selected"; break;
|
|
||||||
case 112500: $dx240[9] = "selected"; break;
|
|
||||||
case 137500: $dx240[10] = "selected"; break;
|
|
||||||
case 165000: $dx240[11] = "selected"; break;
|
|
||||||
case 195000: $dx240[12] = "selected"; break;
|
|
||||||
case 227500: $dx240[13] = "selected"; break;
|
|
||||||
case 262500: $dx240[14] = "selected"; break;
|
|
||||||
case 300000: $dx240[15] = "selected"; break;
|
|
||||||
case 340000: $dx240[16] = "selected"; break;
|
|
||||||
case 382500: $dx240[17] = "selected"; break;
|
|
||||||
case 427500: $dx240[18] = "selected"; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=1024" />
|
|
||||||
<title>전투시뮬레이션</title>
|
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
|
||||||
<style type="text/css">
|
|
||||||
select { background-color:black;color:white; }
|
|
||||||
input { background-color:black;color:white; }
|
|
||||||
</style>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<form method=post action=_simul.php>
|
|
||||||
<table align=center width=1000 class='tb_layout bg0'>
|
|
||||||
<tr id=bg1>
|
|
||||||
<td>공격장수</td>
|
|
||||||
<td>상대장수</td>
|
|
||||||
<td>상대성벽</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>관직
|
|
||||||
<select name=level1 size=1>
|
|
||||||
<option <?=$sellevel1[1]?> value=1>일반</option>
|
|
||||||
<option <?=$sellevel1[5]?> value=5>제3모사</option>
|
|
||||||
<option <?=$sellevel1[6]?> value=6>제3장군</option>
|
|
||||||
<option <?=$sellevel1[7]?> value=7>제2모사</option>
|
|
||||||
<option <?=$sellevel1[8]?> value=8>제2장군</option>
|
|
||||||
<option <?=$sellevel1[9]?> value=9>제1모사</option>
|
|
||||||
<option <?=$sellevel1[10]?> value=10>제1장군</option>
|
|
||||||
<option <?=$sellevel1[11]?> value=11>참모</option>
|
|
||||||
<option <?=$sellevel1[12]?> value=12>군주</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>관직
|
|
||||||
<select name=level2 size=1>
|
|
||||||
<option <?=$sellevel2[1]?> value=1>일반</option>
|
|
||||||
<option <?=$sellevel2[5]?> value=5>제3모사</option>
|
|
||||||
<option <?=$sellevel2[6]?> value=6>제3장군</option>
|
|
||||||
<option <?=$sellevel2[7]?> value=7>제2모사</option>
|
|
||||||
<option <?=$sellevel2[8]?> value=8>제2장군</option>
|
|
||||||
<option <?=$sellevel2[9]?> value=9>제1모사</option>
|
|
||||||
<option <?=$sellevel2[10]?> value=10>제1장군</option>
|
|
||||||
<option <?=$sellevel2[11]?> value=11>참모</option>
|
|
||||||
<option <?=$sellevel2[12]?> value=12>군주</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>-</td>
|
|
||||||
<tr>
|
|
||||||
<td>Lv <input size=2 maxlength=2 name=explevel1 value=<?=$explevel1?>></td>
|
|
||||||
<td>Lv <input size=2 maxlength=2 name=explevel2 value=<?=$explevel2?>></td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>통솔 <input size=3 maxlength=3 name=leader1 value=<?=$leader1?>></td>
|
|
||||||
<td>통솔 <input size=3 maxlength=3 name=leader2 value=<?=$leader2?>></td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>무력 <input size=3 maxlength=3 name=power1 value=<?=$power1?>></td>
|
|
||||||
<td>무력 <input size=3 maxlength=3 name=power2 value=<?=$power2?>></td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>지력 <input size=3 maxlength=3 name=intel1 value=<?=$intel1?>></td>
|
|
||||||
<td>지력 <input size=3 maxlength=3 name=intel2 value=<?=$intel2?>></td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>병종
|
|
||||||
<select name=type1 size=1>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[0]?> value=0>보병</option>
|
|
||||||
<option <?=$sel1[1]?> value=1>청주병</option>
|
|
||||||
<option <?=$sel1[2]?> value=2>수병</option>
|
|
||||||
<option <?=$sel1[3]?> value=3>자객병</option>
|
|
||||||
<option <?=$sel1[4]?> value=4>근위병</option>
|
|
||||||
<option <?=$sel1[5]?> value=5>등갑병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[10]?> value=10>궁병</option>
|
|
||||||
<option <?=$sel1[11]?> value=11>궁기병</option>
|
|
||||||
<option <?=$sel1[12]?> value=12>연노병</option>
|
|
||||||
<option <?=$sel1[13]?> value=13>강궁병</option>
|
|
||||||
<option <?=$sel1[14]?> value=14>석궁병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[20]?> value=20>기병</option>
|
|
||||||
<option <?=$sel1[21]?> value=21>백마병</option>
|
|
||||||
<option <?=$sel1[22]?> value=22>중장기병</option>
|
|
||||||
<option <?=$sel1[23]?> value=23>돌격기병</option>
|
|
||||||
<option <?=$sel1[24]?> value=24>철기병</option>
|
|
||||||
<option <?=$sel1[25]?> value=25>수렵기병</option>
|
|
||||||
<option <?=$sel1[26]?> value=26>맹수병</option>
|
|
||||||
<option <?=$sel1[27]?> value=27>호표기병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[30]?> value=30>귀병</option>
|
|
||||||
<option <?=$sel1[31]?> value=31>신귀병</option>
|
|
||||||
<option <?=$sel1[32]?> value=32>백귀병</option>
|
|
||||||
<option <?=$sel1[33]?> value=33>흑귀병</option>
|
|
||||||
<option <?=$sel1[34]?> value=34>악귀병</option>
|
|
||||||
<option <?=$sel1[35]?> value=35>남귀병</option>
|
|
||||||
<option <?=$sel1[36]?> value=36>황귀병</option>
|
|
||||||
<option <?=$sel1[37]?> value=37>천귀병</option>
|
|
||||||
<option <?=$sel1[38]?> value=38>마귀병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel1[40]?> value=40>정란</option>
|
|
||||||
<option <?=$sel1[41]?> value=41>충차</option>
|
|
||||||
<option <?=$sel1[42]?> value=42>벽력거</option>
|
|
||||||
<option <?=$sel1[43]?> value=43>목우</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>병종
|
|
||||||
<select name=type2 size=1>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[0]?> value=0>보병</option>
|
|
||||||
<option <?=$sel2[1]?> value=1>청주병</option>
|
|
||||||
<option <?=$sel2[2]?> value=2>수병</option>
|
|
||||||
<option <?=$sel2[3]?> value=3>자객병</option>
|
|
||||||
<option <?=$sel2[4]?> value=4>근위병</option>
|
|
||||||
<option <?=$sel2[5]?> value=5>등갑병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[10]?> value=10>궁병</option>
|
|
||||||
<option <?=$sel2[11]?> value=11>궁기병</option>
|
|
||||||
<option <?=$sel2[12]?> value=12>연노병</option>
|
|
||||||
<option <?=$sel2[13]?> value=13>강궁병</option>
|
|
||||||
<option <?=$sel2[14]?> value=14>석궁병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[20]?> value=20>기병</option>
|
|
||||||
<option <?=$sel2[21]?> value=21>백마병</option>
|
|
||||||
<option <?=$sel2[22]?> value=22>중장기병</option>
|
|
||||||
<option <?=$sel2[23]?> value=23>돌격기병</option>
|
|
||||||
<option <?=$sel2[24]?> value=24>철기병</option>
|
|
||||||
<option <?=$sel2[25]?> value=25>수렵기병</option>
|
|
||||||
<option <?=$sel2[26]?> value=26>맹수병</option>
|
|
||||||
<option <?=$sel2[27]?> value=27>호표기병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[30]?> value=30>귀병</option>
|
|
||||||
<option <?=$sel2[31]?> value=31>신귀병</option>
|
|
||||||
<option <?=$sel2[32]?> value=32>백귀병</option>
|
|
||||||
<option <?=$sel2[33]?> value=33>흑귀병</option>
|
|
||||||
<option <?=$sel2[34]?> value=34>악귀병</option>
|
|
||||||
<option <?=$sel2[35]?> value=35>남귀병</option>
|
|
||||||
<option <?=$sel2[36]?> value=36>황귀병</option>
|
|
||||||
<option <?=$sel2[37]?> value=37>천귀병</option>
|
|
||||||
<option <?=$sel2[38]?> value=38>마귀병</option>
|
|
||||||
<option value=0>--------</option>
|
|
||||||
<option <?=$sel2[40]?> value=40>정란</option>
|
|
||||||
<option <?=$sel2[41]?> value=41>충차</option>
|
|
||||||
<option <?=$sel2[42]?> value=42>벽력거</option>
|
|
||||||
<option <?=$sel2[43]?> value=43>목우</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>성벽 <input size=4 maxlength=4 name=wall value=<?=$wall?>></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>병력 <input size=5 maxlength=5 name=crew1 value=<?=$crew1?>></td>
|
|
||||||
<td>병력 <input size=5 maxlength=5 name=crew2 value=<?=$crew2?>></td>
|
|
||||||
<td>수비 <input size=4 maxlength=4 name=def value=<?=$def?>></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>훈련 <input size=3 maxlength=3 name=train1 value=<?=$train1?>></td>
|
|
||||||
<td>훈련 <input size=3 maxlength=3 name=train2 value=<?=$train2?>></td>
|
|
||||||
<td>훈련 <input size=3 maxlength=3 name=train3 value=<?=$train3?>></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>사기 <input size=3 maxlength=3 name=atmos1 value=<?=$atmos1?>></td>
|
|
||||||
<td>사기 <input size=3 maxlength=3 name=atmos2 value=<?=$atmos2?>></td>
|
|
||||||
<td>사기 <input size=3 maxlength=3 name=atmos3 value=<?=$atmos3?>></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>기술
|
|
||||||
<select name=tech1 size=1>
|
|
||||||
<option <?=$tch1[0]?> value=0>0등급</option>
|
|
||||||
<option <?=$tch1[1]?> value=1000>1등급</option>
|
|
||||||
<option <?=$tch1[2]?> value=2000>2등급</option>
|
|
||||||
<option <?=$tch1[3]?> value=3000>3등급</option>
|
|
||||||
<option <?=$tch1[4]?> value=4000>4등급</option>
|
|
||||||
<option <?=$tch1[5]?> value=5000>5등급</option>
|
|
||||||
<option <?=$tch1[6]?> value=6000>6등급</option>
|
|
||||||
<option <?=$tch1[7]?> value=7000>7등급</option>
|
|
||||||
<option <?=$tch1[8]?> value=8000>8등급</option>
|
|
||||||
<option <?=$tch1[9]?> value=9000>9등급</option>
|
|
||||||
<option <?=$tch1[10]?> value=10000>10등급</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>기술
|
|
||||||
<select name=tech2 size=1>
|
|
||||||
<option <?=$tch2[0]?> value=0>0등급</option>
|
|
||||||
<option <?=$tch2[1]?> value=1000>1등급</option>
|
|
||||||
<option <?=$tch2[2]?> value=2000>2등급</option>
|
|
||||||
<option <?=$tch2[3]?> value=3000>3등급</option>
|
|
||||||
<option <?=$tch2[4]?> value=4000>4등급</option>
|
|
||||||
<option <?=$tch2[5]?> value=5000>5등급</option>
|
|
||||||
<option <?=$tch2[6]?> value=6000>6등급</option>
|
|
||||||
<option <?=$tch2[7]?> value=7000>7등급</option>
|
|
||||||
<option <?=$tch2[8]?> value=8000>8등급</option>
|
|
||||||
<option <?=$tch2[9]?> value=9000>9등급</option>
|
|
||||||
<option <?=$tch2[10]?> value=10000>10등급</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>보
|
|
||||||
<select name=dex10 size=1>
|
|
||||||
<option <?=$dx10[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx10[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx10[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx10[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx10[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx10[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx10[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx10[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx10[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx10[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx10[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx10[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx10[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx10[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx10[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx10[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx10[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx10[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx10[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
궁
|
|
||||||
<select name=dex110 size=1>
|
|
||||||
<option <?=$dx110[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx110[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx110[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx110[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx110[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx110[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx110[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx110[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx110[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx110[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx110[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx110[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx110[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx110[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx110[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx110[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx110[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx110[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx110[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
기
|
|
||||||
<select name=dex120 size=1>
|
|
||||||
<option <?=$dx120[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx120[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx120[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx120[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx120[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx120[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx120[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx120[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx120[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx120[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx120[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx120[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx120[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx120[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx120[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx120[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx120[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx120[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx120[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
귀
|
|
||||||
<select name=dex130 size=1>
|
|
||||||
<option <?=$dx130[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx130[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx130[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx130[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx130[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx130[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx130[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx130[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx130[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx130[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx130[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx130[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx130[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx130[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx130[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx130[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx130[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx130[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx130[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
차
|
|
||||||
<select name=dex140 size=1>
|
|
||||||
<option <?=$dx140[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx140[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx140[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx140[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx140[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx140[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx140[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx140[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx140[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx140[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx140[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx140[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx140[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx140[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx140[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx140[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx140[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx140[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx140[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>보
|
|
||||||
<select name=dex20 size=1>
|
|
||||||
<option <?=$dx20[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx20[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx20[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx20[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx20[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx20[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx20[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx20[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx20[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx20[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx20[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx20[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx20[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx20[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx20[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx20[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx20[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx20[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx20[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
궁
|
|
||||||
<select name=dex210 size=1>
|
|
||||||
<option <?=$dx210[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx210[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx210[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx210[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx210[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx210[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx210[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx210[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx210[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx210[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx210[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx210[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx210[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx210[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx210[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx210[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx210[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx210[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx210[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
기
|
|
||||||
<select name=dex220 size=1>
|
|
||||||
<option <?=$dx220[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx220[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx220[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx220[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx220[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx220[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx220[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx220[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx220[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx220[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx220[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx220[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx220[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx220[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx220[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx220[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx220[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx220[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx220[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
귀
|
|
||||||
<select name=dex230 size=1>
|
|
||||||
<option <?=$dx230[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx230[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx230[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx230[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx230[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx230[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx230[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx230[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx230[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx230[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx230[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx230[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx230[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx230[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx230[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx230[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx230[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx230[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx230[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
차
|
|
||||||
<select name=dex240 size=1>
|
|
||||||
<option <?=$dx240[0]?> value=0>F</option>
|
|
||||||
<option <?=$dx240[1]?> value=2500>E-</option>
|
|
||||||
<option <?=$dx240[2]?> value=7500>E</option>
|
|
||||||
<option <?=$dx240[3]?> value=15000>E+</option>
|
|
||||||
<option <?=$dx240[4]?> value=25000>D-</option>
|
|
||||||
<option <?=$dx240[5]?> value=37500>D</option>
|
|
||||||
<option <?=$dx240[6]?> value=52500>D+</option>
|
|
||||||
<option <?=$dx240[7]?> value=70000>C-</option>
|
|
||||||
<option <?=$dx240[8]?> value=90000>C</option>
|
|
||||||
<option <?=$dx240[9]?> value=112500>C+</option>
|
|
||||||
<option <?=$dx240[10]?> value=137500>B-</option>
|
|
||||||
<option <?=$dx240[11]?> value=165000>B</option>
|
|
||||||
<option <?=$dx240[12]?> value=195000>B+</option>
|
|
||||||
<option <?=$dx240[13]?> value=227500>A-</option>
|
|
||||||
<option <?=$dx240[14]?> value=262500>A</option>
|
|
||||||
<option <?=$dx240[15]?> value=300000>A+</option>
|
|
||||||
<option <?=$dx240[16]?> value=340000>S</option>
|
|
||||||
<option <?=$dx240[17]?> value=382500>SS</option>
|
|
||||||
<option <?=$dx240[18]?> value=427500>SSS</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
<td>-</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>-</td>
|
|
||||||
<td>
|
|
||||||
<input type=submit name=isgen value=장수공격>
|
|
||||||
<?='<input type=submit name=isgen value=장수평균>'?>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<input type=submit name=isgen value=성벽공격>
|
|
||||||
<?='<input type=submit name=isgen value=성벽평균>'?>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr><td colspan=3>
|
|
||||||
<?php
|
|
||||||
if($isgen == "장수공격" || $isgen == "성벽공격") {
|
|
||||||
echo $msg;
|
|
||||||
} elseif($isgen == "장수평균" || $isgen == "성벽평균") {
|
|
||||||
echo $msg2;
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</td></tr>
|
|
||||||
</table>
|
|
||||||
<table align=center width=1000 class='tb_layout bg0'>
|
|
||||||
<tr id=bg1>
|
|
||||||
<td align=right></td>
|
|
||||||
<td align=center>공격</td>
|
|
||||||
<td align=center>방어</td>
|
|
||||||
<td align=center>기동</td>
|
|
||||||
<td align=center>회피</td>
|
|
||||||
<td align=center>가격</td>
|
|
||||||
<td align=center>군량</td>
|
|
||||||
<td width=500 align=center>-</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
for($i=0; $i <= 5; $i++) {
|
|
||||||
printSimul($admin, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
for($i=10; $i <= 14; $i++) {
|
|
||||||
printSimul($admin, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
for($i=20; $i <= 27; $i++) {
|
|
||||||
printSimul($admin, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
for($i=30; $i <= 38; $i++) {
|
|
||||||
printSimul($admin, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
|
|
||||||
for($i=40; $i <= 43; $i++) {
|
|
||||||
printSimul($admin, $i);
|
|
||||||
}
|
|
||||||
echo "
|
|
||||||
<tr><td height=5 colspan=8 id=bg1></td></tr>";
|
|
||||||
?>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
<?php
|
|
||||||
|
|
||||||
function printSimul($admin, $i) {
|
|
||||||
$att = $admin["att{$i}"];
|
|
||||||
$def = $admin["def{$i}"];
|
|
||||||
$spd = $admin["spd{$i}"];
|
|
||||||
$avd = $admin["avd{$i}"];
|
|
||||||
$cst = $admin["cst{$i}"];
|
|
||||||
$ric = $admin["ric{$i}"];
|
|
||||||
echo "
|
|
||||||
<tr>
|
|
||||||
<td align=right>".GameUnitConst::byId($i)->name."</td>
|
|
||||||
<td align=center>$att</td>
|
|
||||||
<td align=center>$def</td>
|
|
||||||
<td align=center>$spd</td>
|
|
||||||
<td align=center>$avd</td>
|
|
||||||
<td align=center>$cst</td>
|
|
||||||
<td align=center>$ric</td>
|
|
||||||
<td align=center>-</td>
|
|
||||||
</tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
+4
-3
@@ -16,6 +16,10 @@ increaseRefresh("왕조일람", 1);
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
@@ -50,9 +54,6 @@ if ($showCurrentNation) {
|
|||||||
<tr>
|
<tr>
|
||||||
<td style="background-color:#333333;" align=center colspan=8>
|
<td style="background-color:#333333;" align=center colspan=8>
|
||||||
<font size=5>현재 (<?=$year?>年 <?=$month?>月)</font>
|
<font size=5>현재 (<?=$year?>年 <?=$month?>月)</font>
|
||||||
|
|
||||||
<a href="a_emperior_detail.php"><button>자세히</button></a>
|
|
||||||
|
|
||||||
<a href="a_history.php"><button>역사 보기</button></a>
|
<a href="a_history.php"><button>역사 보기</button></a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -21,6 +21,10 @@ increaseRefresh("왕조일람", 2);
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,10 @@ $serverID = $emperior['server_id']??($emperior['serverID']??null);
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
<title><?=UniqueConst::$serverName?>: 왕조일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
@@ -33,7 +37,7 @@ $serverID = $emperior['server_id']??($emperior['serverID']??null);
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<table align=center width=1000 class="tb_layout bg0">
|
<table align=center width=1000 class="tb_layout bg0">
|
||||||
<tr><td><?=$emperior?'역 대 왕 조':'현 재 왕 조'?><br>
|
<tr><td>역 대 왕 조<br>
|
||||||
<button onclick=window.close()>창 닫기</button>
|
<button onclick=window.close()>창 닫기</button>
|
||||||
<div style="float:right;"><a href="a_emperior.php"><button>전체보기</button></a><div>
|
<div style="float:right;"><a href="a_emperior.php"><button>전체보기</button></a><div>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
@@ -156,7 +160,7 @@ if($emperior):
|
|||||||
<?php
|
<?php
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
$showServers = $serverID || (!$emperior);
|
$showServers = $emperior;
|
||||||
|
|
||||||
if(!$serverID){
|
if(!$serverID){
|
||||||
$serverID = UniqueConst::$serverID;
|
$serverID = UniqueConst::$serverID;
|
||||||
|
|||||||
+1
-1
@@ -174,7 +174,7 @@ for ($j=0; $j < $gencount; $j++) {
|
|||||||
data-general-intel='{$general['intel']}'
|
data-general-intel='{$general['intel']}'
|
||||||
data-is-npc='".($general['npc']>=2?'true':'false')."'
|
data-is-npc='".($general['npc']>=2?'true':'false')."'
|
||||||
>
|
>
|
||||||
<td align=center><img width='64' height='64' src={$imageTemp}/{$general['picture']}></img></td>
|
<td align=center><img class='generalIcon' width='64' height='64' src='{$imageTemp}/{$general['picture']}'></img></td>
|
||||||
<td align=center>$name</td>
|
<td align=center>$name</td>
|
||||||
<td align=center>{$general['age']}세</td>
|
<td align=center>{$general['age']}세</td>
|
||||||
<td align=center>".displayCharInfo($general['personal'])."</td>
|
<td align=center>".displayCharInfo($general['personal'])."</td>
|
||||||
|
|||||||
@@ -28,10 +28,13 @@ if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 세력일람</title>
|
<title><?=UniqueConst::$serverName?>: 세력일람</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('js/ext.kingdoms.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
|
||||||
<?=WebUtil::printJS('js/ext.kingdoms.js')?>
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|||||||
+3
-4
@@ -29,13 +29,12 @@ $sel[$type] = "selected";
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 빙의일람</title>
|
<title><?=UniqueConst::$serverName?>: 빙의일람</title>
|
||||||
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
|
||||||
|
|
||||||
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
<?=WebUtil::printJS('js/common.js')?>
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,10 @@ if ($admin['maxonline'] < $curonline) {
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@@ -31,6 +31,10 @@ $vote = $admin['vote']?:['-'];
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@@ -59,6 +59,10 @@ if ($msg2 == "") {
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@@ -77,6 +77,10 @@ $sel[$type] = "selected";
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,10 @@ if($str3){
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 베팅장</title>
|
<title><?=UniqueConst::$serverName?>: 베팅장</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@@ -29,6 +29,10 @@ if($me['level'] < 5) {
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,10 @@ for($i= $lv - 1; $i>=5; $i--){
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 사령부</title>
|
<title><?=UniqueConst::$serverName?>: 사령부</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|||||||
+10
-1
@@ -11,6 +11,7 @@ extractMissingPostToGlobals();
|
|||||||
//로그인 검사
|
//로그인 검사
|
||||||
$session = Session::requireGameLogin()->setReadOnly();
|
$session = Session::requireGameLogin()->setReadOnly();
|
||||||
$userID = Session::getUserID();
|
$userID = Session::getUserID();
|
||||||
|
$userGrade = Session::getUserGrade();
|
||||||
|
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$connect=$db->get();
|
$connect=$db->get();
|
||||||
@@ -34,6 +35,10 @@ $templates = new \League\Plates\Engine('templates');
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<style>
|
<style>
|
||||||
@@ -164,7 +169,7 @@ echo "
|
|||||||
unset($city);
|
unset($city);
|
||||||
|
|
||||||
// 첩보된 도시까지만 허용
|
// 첩보된 도시까지만 허용
|
||||||
if($valid == 0 && $session->userGrade < 5) {
|
if($valid == 0 && $userGrade < 5) {
|
||||||
$citylist = $me['city'];
|
$citylist = $me['city'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -208,6 +213,10 @@ for($j=0; $j < $gencount; $j++) {
|
|||||||
$ourGeneral = false;
|
$ourGeneral = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($userGrade == 6){
|
||||||
|
$ourGeneral = true;
|
||||||
|
}
|
||||||
|
|
||||||
$isNPC = $general['npc']>1;
|
$isNPC = $general['npc']>1;
|
||||||
$wounded = $general['injury'];
|
$wounded = $general['injury'];
|
||||||
|
|
||||||
|
|||||||
+40
-5
@@ -48,13 +48,23 @@ if ($me['level'] >= 5) {
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 내무부</title>
|
<title><?=UniqueConst::$serverName?>: 내무부</title>
|
||||||
|
<script>
|
||||||
|
var editable = <?=($me['level']>=5?'true':'false')?>;
|
||||||
|
</script>
|
||||||
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/summernote/summernote-bs4.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/summernote/lang/summernote-ko-KR.js')?>
|
||||||
<?=WebUtil::printJS('../d_shared/common_path.js')?>
|
<?=WebUtil::printJS('../d_shared/common_path.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('js/dipcenter.js')?>
|
||||||
|
|
||||||
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/summernote/summernote-bs4.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/dipcenter.css')?>
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Nanum+Gothic|Nanum+Myeongjo|Nanum+Pen+Script" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@@ -223,10 +233,35 @@ if ($budgetricediff > 0) {
|
|||||||
<form name=form1 method=post action=c_dipcenter.php>
|
<form name=form1 method=post action=c_dipcenter.php>
|
||||||
<tr><td colspan=2 height=10></td></tr>
|
<tr><td colspan=2 height=10></td></tr>
|
||||||
<tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 & 임관 권유 메시지</td></tr>
|
<tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 & 임관 권유 메시지</td></tr>
|
||||||
<tr><td colspan=2 class=bg1>국가 방침 <textarea <?=$read?> maxlength=16000 rows="5" style="color:white;background-color:black;width:830px;" name=msg><?=$nation['msg']?></textarea><input type=<?=$btn?> name=btn value=국가방침></td></tr>
|
<tr><td colspan='2'><div id='noticeForm'>
|
||||||
<tr><td colspan=2 class=bg1>임관 권유 <input type=text <?=$read?> maxlength=1000 style=color:white;background-color:black;width:830px; name=scoutmsg value='<?=$nation['scoutmsg']?>'><input type=<?=$btn?> name=btn value=임관권유></td></tr>
|
<div class='bg1' style="display: flex; justify-content: space-around">
|
||||||
<tr><td colspan=2>870px x 200px를 넘어서는 내용은 표시되지 않습니다.</td></tr>
|
<div style='flex: 1 1 auto;'>
|
||||||
<tr><td colspan=2 height=10></td></tr>
|
국가 방침
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<input type='submit' class='submit' name=btn value='국가방침 수정'><input type='button' class='cancel_edit' value='취소'>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<textarea type=hidden class='input_form' style='display:none;' name=msg><?=$nation['msg']?></textarea>
|
||||||
|
<div class='edit_form viewer'></div>
|
||||||
|
</div></td></tr>
|
||||||
|
<tr><td colspan='2'><div id='scoutMsgForm'>
|
||||||
|
<div class='bg1' style="display: flex; justify-content: space-around">
|
||||||
|
<div style='flex: 1 1 auto;'>
|
||||||
|
임관 권유
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<input type='submit' class='submit' name=btn value='임관 권유문 수정'><input type='button' class='cancel_edit' value='취소'>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style='border-bottom:solid gray 0.5px;'>870px x 200px를 넘어서는 내용은 표시되지 않습니다.</div>
|
||||||
|
<textarea type=hidden class='input_form' style='display:none;' name=scoutmsg><?=$nation['scoutmsg']?></textarea>
|
||||||
|
<div style="width:870px;margin-left:auto;">
|
||||||
|
<div class='edit_form viewer'></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div></td></tr>
|
||||||
<tr><td colspan=2 align=center bgcolor=green>예 산 & 정 책</td></tr>
|
<tr><td colspan=2 align=center bgcolor=green>예 산 & 정 책</td></tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan=2>
|
<td colspan=2>
|
||||||
|
|||||||
+7
-11
@@ -33,6 +33,10 @@ if($meLevel == 0) {
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 인사부</title>
|
<title><?=UniqueConst::$serverName?>: 인사부</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@@ -88,10 +92,10 @@ for($i=12; $i >= $lv; $i-=2) {
|
|||||||
?>
|
?>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=98 align=center id=bg1><font size=4><?=getLevel($i1, $nation['level'])?></font></td>
|
<td width=98 align=center id=bg1><font size=4><?=getLevel($i1, $nation['level'])?></font></td>
|
||||||
<td width=64 height=64 style='background:no-repeat center url("<?=$imageTemp1?>/<?=$level[$i1]['picture']??'default.jpg'?>");background-size:64px;'></td>
|
<td width=64 class='generalIcon' height=64 style='background:no-repeat center url("<?=$imageTemp1?>/<?=$level[$i1]['picture']??'default.jpg'?>");background-size:64px;'></td>
|
||||||
<td width=332><font size=4><?=$level[$i1]['name']??'-'?>(<?=$level[$i1]['belong']??'-'?>년)</font></td>
|
<td width=332><font size=4><?=$level[$i1]['name']??'-'?>(<?=$level[$i1]['belong']??'-'?>년)</font></td>
|
||||||
<td width=98 align=center id=bg1><font size=4><?=getLevel($i2, $nation['level'])?></font></td>
|
<td width=98 align=center id=bg1><font size=4><?=getLevel($i2, $nation['level'])?></font></td>
|
||||||
<td width=64 height=64 style='background:no-repeat center url("<?=$imageTemp2?>/<?=$level[$i2]['picture']??'default.jpg'?>");background-size:64px;'></td>
|
<td width=64 class='generalIcon' height=64 style='background:no-repeat center url("<?=$imageTemp2?>/<?=$level[$i2]['picture']??'default.jpg'?>");background-size:64px;'></td>
|
||||||
<td width=332><font size=4><?=$level[$i2]['name']??'-'?>(<?=$level[$i2]['belong']??'-'?>년)</font></td>
|
<td width=332><font size=4><?=$level[$i2]['name']??'-'?>(<?=$level[$i2]['belong']??'-'?>년)</font></td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
@@ -452,15 +456,7 @@ echo "
|
|||||||
</tr>
|
</tr>
|
||||||
";
|
";
|
||||||
|
|
||||||
$citylevel = [];
|
$citylevel = getCityLevelList();
|
||||||
$citylevel[1] = "수";
|
|
||||||
$citylevel[2] = "진";
|
|
||||||
$citylevel[3] = "관";
|
|
||||||
$citylevel[4] = "이";
|
|
||||||
$citylevel[5] = "소";
|
|
||||||
$citylevel[6] = "중";
|
|
||||||
$citylevel[7] = "대";
|
|
||||||
$citylevel[8] = "특";
|
|
||||||
|
|
||||||
$query = "select city,name,gen1,gen2,gen3,level,region,gen1set,gen2set,gen3set from city where nation='{$nation['nation']}' order by region,level desc,binary(name)"; // 도시 이름 목록
|
$query = "select city,name,gen1,gen2,gen3,level,region,gen1set,gen2set,gen3set from city where nation='{$nation['nation']}' order by region,level desc,binary(name)"; // 도시 이름 목록
|
||||||
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$cityresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
|
|||||||
@@ -40,11 +40,14 @@ $sel = [$type => "selected"];
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 세력도시</title>
|
<title><?=UniqueConst::$serverName?>: 세력도시</title>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('../e_lib/jquery-ui.min.css')?>
|
<?=WebUtil::printCSS('../e_lib/jquery-ui.min.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
<?=WebUtil::printJS('../e_lib/jquery-ui.min.js')?>
|
<?=WebUtil::printJS('../e_lib/jquery-ui.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
<?=WebUtil::printJS('js/ext.expand_city.js')?>
|
<?=WebUtil::printJS('js/ext.expand_city.js')?>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
+1
-1
@@ -174,7 +174,7 @@ for($j=0; $j < $gencount; $j++) {
|
|||||||
$imageTemp = GetImageURL($general['imgsvr']);
|
$imageTemp = GetImageURL($general['imgsvr']);
|
||||||
echo "
|
echo "
|
||||||
<tr>
|
<tr>
|
||||||
<td align=center style='background:no-repeat center url(\"{$imageTemp}/{$general['picture']}\");background-size:64px;' height=64></td>
|
<td align=center class='generalIcon' style='background:no-repeat center url(\"{$imageTemp}/{$general['picture']}\");background-size:64px;' height=64></td>
|
||||||
<td align=center>$name</td>
|
<td align=center>$name</td>
|
||||||
<td align=center>"; echo getLevel($general['level'], $nationLevel); echo "</td>
|
<td align=center>"; echo getLevel($general['level'], $nationLevel); echo "</td>
|
||||||
<td align=center>".getDed($general['dedication'])."</td>
|
<td align=center>".getDed($general['dedication'])."</td>
|
||||||
|
|||||||
@@ -30,6 +30,10 @@ if($me['level'] == 0) {
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 세력정보</title>
|
<title><?=UniqueConst::$serverName?>: 세력정보</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,9 @@ if (($btn == "설정저장" || $detachNPC) && $me['myset'] > 0) {
|
|||||||
'tnmt'=>$tnmt
|
'tnmt'=>$tnmt
|
||||||
], 'owner=%i', $userID);
|
], 'owner=%i', $userID);
|
||||||
|
|
||||||
|
$me['mode'] = $mode;
|
||||||
|
$me['tnmt'] = $tnmt;
|
||||||
|
|
||||||
if($me['npc'] == 1 && $detachNPC){
|
if($me['npc'] == 1 && $detachNPC){
|
||||||
$turnterm = $gameStor->turnterm;
|
$turnterm = $gameStor->turnterm;
|
||||||
|
|
||||||
@@ -84,6 +87,7 @@ if (($btn == "설정저장" || $detachNPC) && $me['myset'] > 0) {
|
|||||||
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
<?=WebUtil::printJS('js/common.js')?>
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('js/myPage.js')?>
|
||||||
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
@@ -119,6 +123,8 @@ if (($btn == "설정저장" || $detachNPC) && $me['myset'] > 0) {
|
|||||||
<a href="c_vacation.php"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>휴가 신청</button></a><br><br>
|
<a href="c_vacation.php"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>휴가 신청</button></a><br><br>
|
||||||
<!--빙의 해제용 삭턴 조절<br>
|
<!--빙의 해제용 삭턴 조절<br>
|
||||||
<a href="b_myPage.php?detachNPC=1"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>빙의 해체 요청</button></a>-->
|
<a href="b_myPage.php?detachNPC=1"><button type="button" style=background-color:<?=GameConst::$basecolor2?>;color:white;width:160px;height:30px;font-size:13px;>빙의 해체 요청</button></a>-->
|
||||||
|
개인용 CSS<br>
|
||||||
|
<textarea id='custom_css' style='color:white;background-color:black;width:420px;height:150px;'></textarea>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -24,6 +24,10 @@ $me = MYDB_fetch_array($result);
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ increaseRefresh("국법", 1);
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
|
||||||
|
|||||||
+8
-5
@@ -73,11 +73,14 @@ uasort($troops, function($lhs, $rhs){
|
|||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
<title><?=UniqueConst::$serverName?>: 부대편성</title>
|
<title><?=UniqueConst::$serverName?>: 부대편성</title>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('js/ext.plugin_troop.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/troops.css')?>
|
<?=WebUtil::printCSS('css/troops.css')?>
|
||||||
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
|
||||||
<?=WebUtil::printJS('js/ext.plugin_troop.js')?>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@@ -101,7 +104,7 @@ uasort($troops, function($lhs, $rhs){
|
|||||||
<?php elseif($me['troop'] == 0): ?>
|
<?php elseif($me['troop'] == 0): ?>
|
||||||
<input type=submit name=btn value='부 대 가 입'>
|
<input type=submit name=btn value='부 대 가 입'>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<input type=submit name=btn value='부 대 탈 퇴' onclick='return confirm(\"정말 부대를 탈퇴하시겠습니까?\")'>
|
<input type=submit name=btn value='부 대 탈 퇴' onclick='return confirm("정말 부대를 탈퇴하시겠습니까?")'>
|
||||||
<?php endif;?>
|
<?php endif;?>
|
||||||
</td></tr></tfoot>
|
</td></tr></tfoot>
|
||||||
<tbody>
|
<tbody>
|
||||||
@@ -132,7 +135,7 @@ foreach ($troops as $troopNo=>$troop) {
|
|||||||
<tr>
|
<tr>
|
||||||
<td align=center rowspan=2><input type='radio' name='troop' value='<?=$troop['troop']?>'></td>
|
<td align=center rowspan=2><input type='radio' name='troop' value='<?=$troop['troop']?>'></td>
|
||||||
<td align=center><?=$troop['name']?><br>【 <?=$cityText?> 】</td>
|
<td align=center><?=$troop['name']?><br>【 <?=$cityText?> 】</td>
|
||||||
<td height=64 style='background:no-repeat center url("<?=$troopLeader['pictureFullPath']?>");background-size:64px;'> </td>
|
<td height=64 class='generalIcon' style='background:no-repeat center url("<?=$troopLeader['pictureFullPath']?>");background-size:64px;'> </td>
|
||||||
<td rowspan=2 width=62><?=$genlistText?></td>
|
<td rowspan=2 width=62><?=$genlistText?></td>
|
||||||
<td rowspan=2><?=$troopLeader['turnText']?></td>
|
<td rowspan=2><?=$troopLeader['turnText']?></td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -145,7 +148,7 @@ foreach ($troops as $troopNo=>$troop) {
|
|||||||
<tr>
|
<tr>
|
||||||
<td align=center rowspan=2> </td>
|
<td align=center rowspan=2> </td>
|
||||||
<td align=center ><?=$troop['name']?><br>【 <?=$cityText?> 】</td>
|
<td align=center ><?=$troop['name']?><br>【 <?=$cityText?> 】</td>
|
||||||
<td height=64 style='background:no-repeat center url("<?=$troopLeader['pictureFullPath']?>");background-size:64px;'> </td>
|
<td height=64 class='generalIcon' style='background:no-repeat center url("<?=$troopLeader['pictureFullPath']?>");background-size:64px;'> </td>
|
||||||
<td rowspan=2 width=62><?=$genlistText?></td>
|
<td rowspan=2 width=62><?=$genlistText?></td>
|
||||||
<td rowspan=2>
|
<td rowspan=2>
|
||||||
<?php if ($me['no'] == $troopLeader['no']): ?>
|
<?php if ($me['no'] == $troopLeader['no']): ?>
|
||||||
|
|||||||
@@ -0,0 +1,473 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo;
|
||||||
|
|
||||||
|
include "lib.php";
|
||||||
|
include "func.php";
|
||||||
|
|
||||||
|
$session = Session::requireLogin()->setReadOnly();
|
||||||
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
|
||||||
|
$startYear = $gameStor->getValue('startyear');
|
||||||
|
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title><?=UniqueConst::$serverName?>: 전투 시뮬레이터</title>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=1100" />
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
|
<?=WebUtil::printCSS('css/battle_simulator.css')?>
|
||||||
|
<?=WebUtil::printJS('../d_shared/common_path.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/moment.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/download2.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printJS('js/battle_simulator.js')?>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="container">
|
||||||
|
<div class="card mb-3">
|
||||||
|
<div class="card-header">
|
||||||
|
전역 설정
|
||||||
|
</div>
|
||||||
|
<div class="card-body dragpad_battle">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="number" class="form-control" aria-describedby="text_year" value="<?=$startYear?>" disabled>
|
||||||
|
<div class="input-group-append">
|
||||||
|
<span class="input-group-text">년 시작</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control" id="year" value="<?=$startYear+3?>" min="<?=$startYear?>">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<span class="input-group-text">년</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control" id="month" value="1" min="1" max="12">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<span class="input-group-text">월</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<div class="btn-toolbar" role="toolbar">
|
||||||
|
<div class="input-group mr-2" role="group">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">반복 횟수</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select" id="repeat_cnt">
|
||||||
|
<option value="1">1회 (로그 표기)</option>
|
||||||
|
<option value="1000">1000회 (요약 표기)</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group mr-2" role="group">
|
||||||
|
<button type="button" class="btn btn-danger btn-begin_battle">전투</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group mr-2" role="group">
|
||||||
|
<button type="button" class="btn btn-info btn-battle-save">모두 저장</button>
|
||||||
|
<input type="file" class="form_load_battle_file" accept=".json" style="display: none;" />
|
||||||
|
<button type="button" class="btn btn-primary btn-battle-load">모두 불러오기</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm">
|
||||||
|
<div class="card mb-2 attacker_nation">
|
||||||
|
<div class="card-header">
|
||||||
|
출병국 설정
|
||||||
|
</div>
|
||||||
|
<div class="card-body nation_detail dragpad_battle">
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">국가 성향</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_nation_type" style="width:25ch;">
|
||||||
|
<?php foreach(getNationTypeList() as $typeID => [$name,$pros,$cons]): ?>
|
||||||
|
<option value="<?=$typeID?>"><?=$name?> (<?=$pros?>, <?=$cons?>)</option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">기술</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_tech" value="1" min="0" max="12">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<span class="input-group-text">등급</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-3">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">국가 규모</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_nation_level">
|
||||||
|
<?php foreach(getNationLevelList() as $nationLevel => [$name,$chiefCnt,$cityCnt]): ?>
|
||||||
|
<option value="<?=$nationLevel?>"><?=$name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">도시 규모</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_city_level">
|
||||||
|
<?php foreach(getCityLevelList() as $levelID => $name): ?>
|
||||||
|
<option value="<?=$levelID?>"><?=$name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">수도</span>
|
||||||
|
</div>
|
||||||
|
<div class="input-group-append btn-group btn-group-toggle" data-toggle="buttons">
|
||||||
|
<label class="btn btn-secondary">
|
||||||
|
<input type="radio" name="is_attacker_capital" class="form_is_capital" value="1" autocomplete="off">Y
|
||||||
|
</label>
|
||||||
|
<label class="btn btn-secondary active">
|
||||||
|
<input type="radio" name="is_attacker_capital" class="form_is_capital" value="2" autocomplete="off" checked>N
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card mb-2 attacker_form general_form" data-general_no='1'>
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="float-sm-left" style="line-height:25px;">출병자 설정</div>
|
||||||
|
<div class="float-sm-right btn-toolbar" role="toolbar">
|
||||||
|
<div class="btn-group btn-group-sm mr-2" role="group">
|
||||||
|
<button type="button" class="btn btn-info btn-general-save">저장</button>
|
||||||
|
<input type="file" class="form_load_general_file" accept=".json" style="display: none;" />
|
||||||
|
<button type="button" class="btn btn-primary btn-general-load">불러오기</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- <div class="col-sm"> -->
|
||||||
|
<div class="col-sm defender-column">
|
||||||
|
<div class="card mb-2 defender_nation">
|
||||||
|
<div class="card-header">
|
||||||
|
수비국 설정
|
||||||
|
</div>
|
||||||
|
<div class="card-body dragpad_battle">
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">국가 성향</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_nation_type" style="width:25ch;">
|
||||||
|
<?php foreach(getNationTypeList() as $typeID => [$name,$pros,$cons]): ?>
|
||||||
|
<option value="<?=$typeID?>"><?=$name?> (<?=$pros?>, <?=$cons?>)</option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">기술</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_tech" value="1" min="0" max="12">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<span class="input-group-text">등급</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-3">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">국가 규모</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_nation_level">
|
||||||
|
<?php foreach(getNationLevelList() as $nationLevel => [$name,$chiefCnt,$cityCnt]): ?>
|
||||||
|
<option value="<?=$nationLevel?>"><?=$name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">도시 규모</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_city_level">
|
||||||
|
<?php foreach(getCityLevelList() as $levelID => $name): ?>
|
||||||
|
<option value="<?=$levelID?>"><?=$name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">수도</span>
|
||||||
|
</div>
|
||||||
|
<div class="input-group-append btn-group btn-group-toggle" data-toggle="buttons">
|
||||||
|
<label class="btn btn-secondary">
|
||||||
|
<input type="radio" name="is_defender_capital" class="form_is_capital" value="1" autocomplete="off">Y
|
||||||
|
</label>
|
||||||
|
<label class="btn btn-secondary active">
|
||||||
|
<input type="radio" name="is_defender_capital" class="form_is_capital" value="0" autocomplete="off" checked>N
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">수비</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_def" id="city_def" value="1000" min="10" step="10">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">성벽</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_wall" id="city_wall" value="1000" min="0" step="10">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card mb-2 defender_add_form">
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="float-sm-left" style="line-height:25px;">수비자 설정</div>
|
||||||
|
<div class="float-sm-right btn-toolbar" role="toolbar">
|
||||||
|
<div class="btn-group btn-group-sm mr-2" role="group">
|
||||||
|
<button type="button" class="btn btn-dark btn-reorder_defender">수비 순서대로 정렬</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group btn-group-sm" role="group">
|
||||||
|
<button type="button" class="btn btn-success add-defender">추가</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card mb-2 form_sample">
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="float-sm-left" style="line-height:25px;">수비자 설정</div>
|
||||||
|
<div class="float-sm-right btn-toolbar" role="toolbar">
|
||||||
|
<div class="btn-group btn-group-sm mr-2" role="group">
|
||||||
|
<button type="button" class="btn btn-info btn-general-save">저장</button>
|
||||||
|
<input type="file" class="form_load_general_file" accept=".json" style="display: none;" />
|
||||||
|
<button type="button" class="btn btn-primary btn-general-load">불러오기</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group btn-group-sm" role="group">
|
||||||
|
<button type="button" class="btn btn-warning copy-defender">복제</button>
|
||||||
|
<button type="button" class="btn btn-danger delete-defender">제거</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body general_detail">
|
||||||
|
<div class="input-group mb-3">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">이름</span>
|
||||||
|
</div>
|
||||||
|
<input type="text" class="form-control form_general_name" value="무명" style="width:15ch;">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">직위</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_general_level" style="width:8ch;">
|
||||||
|
<option value="1">일반</option>
|
||||||
|
<option value="4">태수</option>
|
||||||
|
<option value="3">군사</option>
|
||||||
|
<option value="2">시중</option>
|
||||||
|
<option value="10">무장 수뇌</option>
|
||||||
|
<option value="9">지장 수뇌</option>
|
||||||
|
<option value="11">참모</option>
|
||||||
|
<option value="12">군주</option>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">Level</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_exp_level" value="20" min="0" max="300" step="1">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">통솔</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_leadership" value="50" min="1" max="300" step="1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">무력</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_power" value="50" min="1" max="300" step="1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">지력</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_intel" value="50" min="1" max="300" step="1">
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">명마</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_general_horse">
|
||||||
|
<?php foreach(range(0, 26) as $horseID): ?>
|
||||||
|
<option value="<?=$horseID?>"><?=getHorseName($horseID)?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">무기</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_general_weap">
|
||||||
|
<?php foreach(range(0, 26) as $weapID): ?>
|
||||||
|
<option value="<?=$weapID?>"><?=getWeapName($weapID)?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">서적</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_general_book">
|
||||||
|
<?php foreach(range(0, 26) as $bookID): ?>
|
||||||
|
<option value="<?=$bookID?>"><?=getBookName($bookID)?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-3">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">부상</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_injury" value="0" min="0" max="80" step="1">
|
||||||
|
<div class="input-group-append">
|
||||||
|
<span class="input-group-text">%(<span class="injury_helptext">건강</span>)</span>
|
||||||
|
</div>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">군량</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_rice" value="5000" min="50" max="40000" step="50">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">도구</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_general_item">
|
||||||
|
<?php foreach(range(0, 26) as $bookID): ?>
|
||||||
|
<option value="<?=$bookID?>"><?=getItemName($bookID)?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">병종</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_crewtype">
|
||||||
|
<?php foreach(GameUnitConst::all() as $crewTypeID => $crewType): ?>
|
||||||
|
<?php if($crewTypeID < 0){ continue; } ?>
|
||||||
|
<option value="<?=$crewTypeID?>"><?=$crewType->name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">병사</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_crew" value="7000" min="100" step="100">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">성격</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_general_character">
|
||||||
|
<?php foreach(getCharacterList() as $characterID => [$name,$info]): ?>
|
||||||
|
<option value="<?=$characterID?>"><?=$name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-3">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">훈련</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_train" value="100" min="40" max="<?=GameConst::$maxTrainByWar?>" step="1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">사기</span>
|
||||||
|
</div>
|
||||||
|
<input type="number" class="form-control form_atmos" value="100" min="40" max="<?=GameConst::$maxAtmosByWar?>" step="1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">전특</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_general_special_war">
|
||||||
|
<option value="0">-</option>
|
||||||
|
<?php foreach(SpecialityConst::WAR as $specialWarID => [$name,$buff,$cond]): ?>
|
||||||
|
<option value="<?=$specialWarID?>"><?=$name?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">보병숙련</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_dex0">
|
||||||
|
<?php foreach(getDexLevelList() as $dexLevel => [$dexAmount, $color, $name]): ?>
|
||||||
|
<option value="<?=$dexAmount?>"><?="{$name} (".number_format($dexAmount).")"?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">궁병숙련</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_dex10">
|
||||||
|
<?php foreach(getDexLevelList() as $dexLevel => [$dexAmount, $color, $name]): ?>
|
||||||
|
<option value="<?=$dexAmount?>"><?="{$name} (".number_format($dexAmount).")"?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">기병숙련</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_dex20">
|
||||||
|
<?php foreach(getDexLevelList() as $dexLevel => [$dexAmount, $color, $name]): ?>
|
||||||
|
<option value="<?=$dexAmount?>"><?="{$name} (".number_format($dexAmount).")"?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="input-group mb-1">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">귀병숙련</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_dex30">
|
||||||
|
<?php foreach(getDexLevelList() as $dexLevel => [$dexAmount, $color, $name]): ?>
|
||||||
|
<option value="<?=$dexAmount?>"><?="{$name} (".number_format($dexAmount).")"?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">차병숙련</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_dex40">
|
||||||
|
<?php foreach(getDexLevelList() as $dexLevel => [$dexAmount, $color, $name]): ?>
|
||||||
|
<option value="<?=$dexAmount?>"><?="{$name} (".number_format($dexAmount).")"?></option>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<div class="input-group-prepend only_defender">
|
||||||
|
<span class="input-group-text">수비여부</span>
|
||||||
|
</div>
|
||||||
|
<select class="custom-select form_defend_mode only_defender">
|
||||||
|
<option value="2">훈사 80</option>
|
||||||
|
<option value="3">훈사 60</option>
|
||||||
|
<option value="0">안함</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div><!-- <div class="col-sm"> -->
|
||||||
|
</div>
|
||||||
|
<div class="card mb-3">
|
||||||
|
<div class="card-header">
|
||||||
|
전투 요약
|
||||||
|
</div>
|
||||||
|
<table class="table">
|
||||||
|
<tbody id="battle_result_summary">
|
||||||
|
<tr><th style='width:18ch;'>전투 일시</th><td id='result_datetime'></td></tr>
|
||||||
|
<tr><th>전투 횟수</th><td id='result_warcnt'></td></tr>
|
||||||
|
<tr><th>전투 페이즈</th><td id='result_phase'></td></tr>
|
||||||
|
<tr><th>준 피해</th><td><span id='result_killed'>0</span><span id='result_varKilled'> (<span id='result_minKilled'>0</span> ~ <span id='result_maxKilled'>0</span>)</span></td></tr>
|
||||||
|
<tr><th>받은 피해</th><td><span id='result_dead'>0</span><span id='result_varDead'> (<span id='result_minDead'>0</span> ~ <span id='result_maxDead'>0</span>)</span></td></tr>
|
||||||
|
<tr><th>출병자 군량 소모</th><td id='result_attackerRice'></td></tr>
|
||||||
|
<tr><th>수비자 군량 소모</th><td id='result_defenderRice'></td></tr>
|
||||||
|
<tr><th>공격자 스킬</th><td id='result_attackerSkills'></td></tr>
|
||||||
|
<tr class='result_defenderSkills'><th>수비자1 스킬</th><td></td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm">
|
||||||
|
<div class="card mb-3">
|
||||||
|
<div class="card-header">
|
||||||
|
마지막 전투 로그
|
||||||
|
</div>
|
||||||
|
<div class="card-body" id="generalBattleResultLog">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm">
|
||||||
|
<div class="card mb-3">
|
||||||
|
<div class="card-header">
|
||||||
|
마지막 전투 상세 로그
|
||||||
|
</div>
|
||||||
|
<div class="card-body" id="generalBattleDetailLog">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
+2
-2
@@ -28,13 +28,13 @@ if($me['level'] < 5) {
|
|||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
if($btn == "국가방침") {
|
if($btn == "국가방침 수정") {
|
||||||
$msg = mb_substr($msg, 0, 16384);
|
$msg = mb_substr($msg, 0, 16384);
|
||||||
//$msg = StringUtil::
|
//$msg = StringUtil::
|
||||||
$db->update('nation', [
|
$db->update('nation', [
|
||||||
'msg'=>WebUtil::htmlPurify($msg)
|
'msg'=>WebUtil::htmlPurify($msg)
|
||||||
], 'nation=%i',$me['nation']);
|
], 'nation=%i',$me['nation']);
|
||||||
} elseif($btn == "임관권유") {
|
} elseif($btn == "임관 권유문 수정") {
|
||||||
$scoutmsg = mb_substr($scoutmsg, 0, 1000);
|
$scoutmsg = mb_substr($scoutmsg, 0, 1000);
|
||||||
$db->update('nation', [
|
$db->update('nation', [
|
||||||
'scoutmsg'=>WebUtil::htmlPurify($scoutmsg)
|
'scoutmsg'=>WebUtil::htmlPurify($scoutmsg)
|
||||||
|
|||||||
+5
-1
@@ -16,6 +16,10 @@ $db = DB::db();
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=1024" />
|
<meta name="viewport" content="width=1024" />
|
||||||
|
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
|
||||||
|
<?=WebUtil::printJS('../e_lib/bootstrap.bundle.min.js')?>
|
||||||
|
<?=WebUtil::printJS('js/common.js')?>
|
||||||
|
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
|
||||||
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
<?=WebUtil::printCSS('../d_shared/common.css')?>
|
||||||
<?=WebUtil::printCSS('css/common.css')?>
|
<?=WebUtil::printCSS('css/common.css')?>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
@@ -107,7 +111,7 @@ function myCommandList() {
|
|||||||
echo "
|
echo "
|
||||||
<tr height=28>
|
<tr height=28>
|
||||||
<td width=24 align=center height=24 id=bg0><b>$j</b></td>
|
<td width=24 align=center height=24 id=bg0><b>$j</b></td>
|
||||||
<td width=71 align=center height=24 id=bg1><b>{$year}年 {$month}月</b></td>
|
<td width=71 align=center height=24 id=bg1 style='overflow:hidden;'><b>{$year}年 {$month}月</b></td>
|
||||||
<td width=42 align=center bgcolor=black><b>$turndate</b></td>
|
<td width=42 align=center bgcolor=black><b>$turndate</b></td>
|
||||||
<td width=150 align=center height=24 style=table-layout:fixed;>$turn[$i]</td>
|
<td width=150 align=center height=24 style=table-layout:fixed;>$turn[$i]</td>
|
||||||
</tr>";
|
</tr>";
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
#container{
|
||||||
|
width:1024px;
|
||||||
|
margin:auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.defender_add_form .general_detail{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.form_sample{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type=number]{
|
||||||
|
text-align:right;
|
||||||
|
}
|
||||||
+17
-1
@@ -201,4 +201,20 @@ div.bar_out div.bar_in{
|
|||||||
font-size : .875rem;
|
font-size : .875rem;
|
||||||
line-height : .5;
|
line-height : .5;
|
||||||
border-radius : .2rem;
|
border-radius : .2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.edit_form.viewer{
|
||||||
|
max-height:200px;
|
||||||
|
overflow-y:auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.trumbowyg-box{
|
||||||
|
margin:0;
|
||||||
|
border-left:none;
|
||||||
|
border-right:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit_form.trumbowyg-editor{
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
#scoutMsgForm .viewer{
|
||||||
|
max-height:200px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note-editor.card {
|
||||||
|
background:inherit;
|
||||||
|
color:inherit;
|
||||||
|
font-family: inherit;
|
||||||
|
border:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note-editor.note-frame .note-editing-area .note-editable {
|
||||||
|
background:inherit;
|
||||||
|
color:inherit;
|
||||||
|
font-family: inherit;
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note-editor.note-frame .note-statusbar{
|
||||||
|
background-color:#444444;
|
||||||
|
border-top: 1px solid rgba(0,0,0,0.125);
|
||||||
|
}
|
||||||
+5
-4
@@ -417,7 +417,7 @@ function addCommand($typename, $value, $valid = 1, $color=0) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
echo "
|
echo "
|
||||||
<option style=color:white;background-color:red; value={$value}>{$typename}</option>";
|
<option style=color:white;background-color:red; value={$value}>{$typename}(불가)</option>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -877,7 +877,7 @@ function generalInfo($no) {
|
|||||||
$imageTemp = GetImageURL($general['imgsvr']);
|
$imageTemp = GetImageURL($general['imgsvr']);
|
||||||
echo "<table width=498 class='tb_layout bg2'>
|
echo "<table width=498 class='tb_layout bg2'>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=64 height=64 rowspan=3 style='text-align:center;background:no-repeat center url(\"{$imageTemp}/{$general['picture']}\");background-size:64px;'> </td>
|
<td width=64 height=64 rowspan=3 class='generalIcon' style='text-align:center;background:no-repeat center url(\"{$imageTemp}/{$general['picture']}\");background-size:64px;'> </td>
|
||||||
<td colspan=9 height=16 style=text-align:center;color:".newColor($nation['color']).";background-color:{$nation['color']};font-weight:bold;font-size:13px;>{$general['name']} 【 {$level} | {$call} | {$color}{$injury}</font> 】 ".substr($general['turntime'], 11)."</td>
|
<td colspan=9 height=16 style=text-align:center;color:".newColor($nation['color']).";background-color:{$nation['color']};font-weight:bold;font-size:13px;>{$general['name']} 【 {$level} | {$call} | {$color}{$injury}</font> 】 ".substr($general['turntime'], 11)."</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr height=16>
|
<tr height=16>
|
||||||
@@ -1148,7 +1148,7 @@ function msgprint($msg, $name, $picture, $imgsvr, $when, $num, $type) {
|
|||||||
<td width=148 style='text-align:center;' class='bg1'>$when</td>
|
<td width=148 style='text-align:center;' class='bg1'>$when</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td width=90 height=64 valign=top><img width='64' height='64' src={$imageTemp}/{$picture} border='0'></td>
|
<td width=90 height=64 valign=top><img width='64' height='64' class='generalIcon' src='{$imageTemp}/{$picture}' border='0'></td>
|
||||||
<td width=906 colspan=2>$message[1]</td>
|
<td width=906 colspan=2>$message[1]</td>
|
||||||
</tr>";
|
</tr>";
|
||||||
for($i=0; $i < $count; $i++) {
|
for($i=0; $i < $count; $i++) {
|
||||||
@@ -1245,6 +1245,7 @@ function increaseRefresh($type="", $cnt=1) {
|
|||||||
$session = Session::getInstance();
|
$session = Session::getInstance();
|
||||||
$userID = $session->userID;
|
$userID = $session->userID;
|
||||||
$generalID = $session->generalID;
|
$generalID = $session->generalID;
|
||||||
|
$userGrade = $session->userGrade;
|
||||||
|
|
||||||
$date = date('Y-m-d H:i:s');
|
$date = date('Y-m-d H:i:s');
|
||||||
|
|
||||||
@@ -1252,7 +1253,7 @@ function increaseRefresh($type="", $cnt=1) {
|
|||||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$gameStor->refresh = $gameStor->refresh+$cnt; //TODO: +로 증가하는 값은 별도로 분리
|
$gameStor->refresh = $gameStor->refresh+$cnt; //TODO: +로 증가하는 값은 별도로 분리
|
||||||
|
|
||||||
if($generalID) {
|
if($generalID && $userGrade < 6) {
|
||||||
$db->update('general', [
|
$db->update('general', [
|
||||||
'lastrefresh'=>$date,
|
'lastrefresh'=>$date,
|
||||||
'con'=>$db->sqleval('con + %i', $cnt),
|
'con'=>$db->sqleval('con + %i', $cnt),
|
||||||
|
|||||||
+120
-162
@@ -8,43 +8,43 @@ namespace sammo;
|
|||||||
* Side effect 없이 값의 변환만을 수행하는 함수들의 모음.
|
* Side effect 없이 값의 변환만을 수행하는 함수들의 모음.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
function NationCharCall($call) {
|
function NationCharCall($call) {
|
||||||
switch($call) {
|
static $invTable = [];
|
||||||
case '명가': $type =13; break;
|
if(!$invTable){
|
||||||
case '음양가': $type =12; break;
|
foreach(getNationTypeList() as $typeID => [$name, $pros, $cons]){
|
||||||
case '종횡가': $type =11; break;
|
$invTable[$name] = $typeID;
|
||||||
case '불가': $type =10; break;
|
}
|
||||||
case '도적': $type = 9; break;
|
|
||||||
case '오두미도':$type = 8; break;
|
|
||||||
case '태평도': $type = 7; break;
|
|
||||||
case '도가': $type = 6; break;
|
|
||||||
case '묵가': $type = 5; break;
|
|
||||||
case '덕가': $type = 4; break;
|
|
||||||
case '병가': $type = 3; break;
|
|
||||||
case '유가': $type = 2; break;
|
|
||||||
case '법가': $type = 1; break;
|
|
||||||
default: $type = 0; break;
|
|
||||||
}
|
}
|
||||||
return $type;
|
return $invTable[$call]??0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCharacterList(){
|
||||||
|
$infoText = [
|
||||||
|
9=>['안전', '사기 -5, 징·모병 비용 -20%'],
|
||||||
|
8=>['유지', '훈련 -5, 징·모병 비용 -20%'],
|
||||||
|
7=>['재간', '명성 -10%, 징·모병 비용 -20%'],
|
||||||
|
6=>['출세', '명성 +10%, 징·모병 비용 +20%'],
|
||||||
|
5=>['할거', '명성 -10%, 훈련 +5'],
|
||||||
|
4=>['정복', '명성 -10%, 사기 +5'],
|
||||||
|
3=>['패권', '훈련 +5, 징·모병 비용 +20%'],
|
||||||
|
2=>['의협', '사기 +5, 징·모병 비용 +20%'],
|
||||||
|
1=>['대의', '명성 +10%, 훈련 -5'],
|
||||||
|
0=>['왕좌', '명성 +10%, 사기 -5'],
|
||||||
|
10=>['은둔', '명성 -10%, 계급 -10%, 사기 -5, 훈련 -5, 단련 성공률 +10%'],
|
||||||
|
];
|
||||||
|
return $infoText;
|
||||||
}
|
}
|
||||||
|
|
||||||
function CharCall($call) {
|
function CharCall($call) {
|
||||||
switch($call) {
|
static $invTable = [];
|
||||||
case '은둔': $type =10; break;
|
if(\key_exists($call, $invTable)){
|
||||||
case '안전'; $type = 9; break;
|
return $invTable[$call];
|
||||||
case '유지'; $type = 8; break;
|
|
||||||
case '재간'; $type = 7; break;
|
|
||||||
case '출세'; $type = 6; break;
|
|
||||||
case '할거'; $type = 5; break;
|
|
||||||
case '정복'; $type = 4; break;
|
|
||||||
case '패권'; $type = 3; break;
|
|
||||||
case '의협'; $type = 2; break;
|
|
||||||
default:
|
|
||||||
case '대의'; $type = 1; break;
|
|
||||||
case '왕좌'; $type = 0; break;
|
|
||||||
}
|
}
|
||||||
return $type;
|
|
||||||
|
foreach(getCharacterList() as $id => [$name, $info]){
|
||||||
|
$invTable[$name] = $id;
|
||||||
|
}
|
||||||
|
return $invTable[$call];
|
||||||
}
|
}
|
||||||
|
|
||||||
function SpecCall($call) {
|
function SpecCall($call) {
|
||||||
@@ -120,42 +120,14 @@ function getNationLevel($level) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getGenChar($type) {
|
function getGenChar($type) {
|
||||||
switch($type) {
|
return getCharacterList()[$type][0];
|
||||||
case 10: $call = '은둔'; break;
|
|
||||||
case 9: $call = '안전'; break;
|
|
||||||
case 8: $call = '유지'; break;
|
|
||||||
case 7: $call = '재간'; break;
|
|
||||||
case 6: $call = '출세'; break;
|
|
||||||
case 5: $call = '할거'; break;
|
|
||||||
case 4: $call = '정복'; break;
|
|
||||||
case 3: $call = '패권'; break;
|
|
||||||
case 2: $call = '의협'; break;
|
|
||||||
case 1: $call = '대의'; break;
|
|
||||||
case 0: $call = '왕좌'; break;
|
|
||||||
}
|
|
||||||
return $call;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCharInfo(?int $type):?string {
|
function getCharInfo(?int $type):?string {
|
||||||
if($type === null){
|
if($type === null){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
return getCharacterList()[$type][1]??null;
|
||||||
$infoText = [
|
|
||||||
10=>['은둔', '명성 -10%, 계급 -10%, 사기 -5, 훈련 -5, 단련 성공률 +10%'],
|
|
||||||
9=>['안전', '사기 -5, 징·모병 비용 -20%'],
|
|
||||||
8=>['유지', '훈련 -5, 징·모병 비용 -20%'],
|
|
||||||
7=>['재간', '명성 -10%, 징·모병 비용 -20%'],
|
|
||||||
6=>['출세', '명성 +10%, 징·모병 비용 +20%'],
|
|
||||||
5=>['할거', '명성 -10%, 훈련 +5'],
|
|
||||||
4=>['정복', '명성 -10%, 사기 +5'],
|
|
||||||
3=>['패권', '훈련 +5, 징·모병 비용 +20%'],
|
|
||||||
2=>['의협', '사기 +5, 징·모병 비용 +20%'],
|
|
||||||
1=>['대의', '명성 +10%, 훈련 -5'],
|
|
||||||
0=>['왕좌', '명성 +10%, 사기 -5'],
|
|
||||||
];
|
|
||||||
|
|
||||||
return $infoText[$type][1]??null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getGenSpecial($type) {
|
function getGenSpecial($type) {
|
||||||
@@ -251,24 +223,20 @@ function getSpecialInfo(?int $type):?string{
|
|||||||
return $infoText[$type][1]??null;
|
return $infoText[$type][1]??null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNationType($type) {
|
function getNationType(?int $type) {
|
||||||
switch($type) {
|
if($type === null){
|
||||||
case 13: $call = '명 가'; break;
|
return '-';
|
||||||
case 12: $call = '음 양 가'; break;
|
|
||||||
case 11: $call = '종 횡 가'; break;
|
|
||||||
case 10: $call = '불 가'; break;
|
|
||||||
case 9: $call = '도 적'; break;
|
|
||||||
case 8: $call = '오 두 미 도'; break;
|
|
||||||
case 7: $call = '태 평 도'; break;
|
|
||||||
case 6: $call = '도 가'; break;
|
|
||||||
case 5: $call = '묵 가'; break;
|
|
||||||
case 4: $call = '덕 가'; break;
|
|
||||||
case 3: $call = '병 가'; break;
|
|
||||||
case 2: $call = '유 가'; break;
|
|
||||||
case 1: $call = '법 가'; break;
|
|
||||||
case 0: $call = '-'; break;
|
|
||||||
}
|
}
|
||||||
return $call;
|
static $cache = [];
|
||||||
|
if(\key_exists($type, $cache)){
|
||||||
|
return $cache[$type];
|
||||||
|
}
|
||||||
|
|
||||||
|
$text = getNationTypeList()[$type][0]??'-';
|
||||||
|
$text = join(' ', StringUtil::splitString($text));
|
||||||
|
$cache[$type] = $text;
|
||||||
|
|
||||||
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -287,24 +255,12 @@ function getConnect($con) {
|
|||||||
return $conname;
|
return $conname;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNationType2($type) {
|
function getNationType2(?int $type) {
|
||||||
switch($type) {
|
if($type === null){
|
||||||
case 13: $call = '<font color=cyan>기술↑ 인구↑</font> <font color=magenta>쌀수입↓ 수성↓</font>'; break;
|
return '-';
|
||||||
case 12: $call = '<font color=cyan>내정↑ 인구↑</font> <font color=magenta>기술↓ 전략↓</font>'; break;
|
|
||||||
case 11: $call = '<font color=cyan>전략↑ 수성↑</font> <font color=magenta>금수입↓ 내정↓</font>'; break;
|
|
||||||
case 10: $call = '<font color=cyan>민심↑ 수성↑</font> <font color=magenta>금수입↓</font>'; break;
|
|
||||||
case 9: $call = '<font color=cyan>계략↑</font> <font color=magenta>금수입↓ 치안↓ 민심↓</font>'; break;
|
|
||||||
case 8: $call = '<font color=cyan>쌀수입↑ 인구↑</font> <font color=magenta>기술↓ 수성↓ 내정↓</font>'; break;
|
|
||||||
case 7: $call = '<font color=cyan>인구↑ 민심↑</font> <font color=magenta>기술↓ 수성↓</font>'; break;
|
|
||||||
case 6: $call = '<font color=cyan>인구↑</font> <font color=magenta>기술↓ 치안↓</font>'; break;
|
|
||||||
case 5: $call = '<font color=cyan>수성↑</font> <font color=magenta>기술↓</font>'; break;
|
|
||||||
case 4: $call = '<font color=cyan>치안↑인구↑ 민심↑</font> <font color=magenta>쌀수입↓ 수성↓</font>'; break;
|
|
||||||
case 3: $call = '<font color=cyan>기술↑ 수성↑</font> <font color=magenta>인구↓ 민심↓</font>'; break;
|
|
||||||
case 2: $call = '<font color=cyan>내정↑ 민심↑</font> <font color=magenta>쌀수입↓</font>'; break;
|
|
||||||
case 1: $call = '<font color=cyan>금수입↑ 치안↑</font> <font color=magenta>인구↓ 민심↓</font>'; break;
|
|
||||||
case 0: $call = '-'; break;
|
|
||||||
}
|
}
|
||||||
return $call;
|
[$name, $pros, $cons] = getNationTypeList()[$type]??['-', '', ''];
|
||||||
|
return "<font color=cyan>{$pros}</font> <font color=magenta>{$cons}</font>";
|
||||||
}
|
}
|
||||||
|
|
||||||
function getLevel($level, $nlevel=8) {
|
function getLevel($level, $nlevel=8) {
|
||||||
@@ -358,7 +314,7 @@ function getCall($leader, $power, $intel) {
|
|||||||
$call = '평범';
|
$call = '평범';
|
||||||
|
|
||||||
if($leader < 40){
|
if($leader < 40){
|
||||||
if($power + $intel < $leader){
|
if($power + $intel < 40){
|
||||||
return '아둔';
|
return '아둔';
|
||||||
}
|
}
|
||||||
if($intel >= GameConst::$chiefStatMin && $power < $intel * 0.8){
|
if($intel >= GameConst::$chiefStatMin && $power < $intel * 0.8){
|
||||||
@@ -381,6 +337,9 @@ function getCall($leader, $power, $intel) {
|
|||||||
if($intel >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $power < $intel * 0.8){
|
if($intel >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $power < $intel * 0.8){
|
||||||
return '명장';
|
return '명장';
|
||||||
}
|
}
|
||||||
|
if($leader >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $power + $intel < $leader){
|
||||||
|
return '차장';
|
||||||
|
}
|
||||||
return '평범';
|
return '평범';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -491,74 +450,73 @@ function getTechCall($tech) : string {
|
|||||||
return "{$techLevel}등급";
|
return "{$techLevel}등급";
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDexCall($dex) : string {
|
function getDexLevelList(): array{
|
||||||
if($dex < 2500) { $str = '<font color="navy">F-</font>'; }
|
return [
|
||||||
elseif($dex < 7500) { $str = '<font color="navy">F</font>'; }
|
[0, 'navy', 'F-'],
|
||||||
elseif($dex < 15000) { $str = '<font color="navy">F+</font>'; }
|
[2500, 'navy', 'F'],
|
||||||
elseif($dex < 25000) { $str = '<font color="skyblue">E-</font>'; }
|
[7500, 'navy', 'F+'],
|
||||||
elseif($dex < 37500) { $str = '<font color="skyblue">E</font>'; }
|
[15000, 'skyblue', 'E-'],
|
||||||
elseif($dex < 52500) { $str = '<font color="skyblue">E+</font>'; }
|
[25000, 'skyblue', 'E'],
|
||||||
elseif($dex < 70000) { $str = '<font color="seagreen">D-</font>'; }
|
[37500, 'skyblue', 'E+'],
|
||||||
elseif($dex < 90000) { $str = '<font color="seagreen">D</font>'; }
|
[52500, 'seagreen', 'D-'],
|
||||||
elseif($dex < 112500) { $str = '<font color="seagreen">D+</font>'; }
|
[70000, 'seagreen', 'D'],
|
||||||
elseif($dex < 137500) { $str = '<font color="teal">C-</font>'; }
|
[90000, 'seagreen', 'D+'],
|
||||||
elseif($dex < 165000) { $str = '<font color="teal">C</font>'; }
|
[112500, 'teal', 'C-'],
|
||||||
elseif($dex < 195000) { $str = '<font color="teal">C+</font>'; }
|
[137500, 'teal', 'C'],
|
||||||
elseif($dex < 227500) { $str = '<font color="limegreen">B-</font>'; }
|
[165000, 'teal', 'C+'],
|
||||||
elseif($dex < 262500) { $str = '<font color="limegreen">B</font>'; }
|
[195000, 'limegreen', 'B-'],
|
||||||
elseif($dex < 300000) { $str = '<font color="limegreen">B+</font>'; }
|
[227500, 'limegreen', 'B'],
|
||||||
elseif($dex < 340000) { $str = '<font color="gold">A-</font>'; }
|
[262500, 'limegreen', 'B+'],
|
||||||
elseif($dex < 382500) { $str = '<font color="gold">A</font>'; }
|
[300000, 'gold', 'A-'],
|
||||||
elseif($dex < 427500) { $str = '<font color="gold">A+</font>'; }
|
[340000, 'gold', 'A'],
|
||||||
elseif($dex < 475000) { $str = '<font color="darkorange">S-</font>'; }
|
[382500, 'gold', 'A+'],
|
||||||
elseif($dex < 525000) { $str = '<font color="darkorange">S</font>'; }
|
[427500, 'darkorange', 'S-'],
|
||||||
elseif($dex < 577500) { $str = '<font color="darkorange">S+</font>'; }
|
[475000, 'darkorange', 'S'],
|
||||||
elseif($dex < 632500) { $str = '<font color="tomato">SS-</font>'; }
|
[525000, 'darkorange', 'S+'],
|
||||||
elseif($dex < 690000) { $str = '<font color="tomato">SS</font>'; }
|
[577500, 'tomato', 'SS-'],
|
||||||
elseif($dex < 750000) { $str = '<font color="tomato">SS+</font>'; }
|
[632500, 'tomato', 'SS'],
|
||||||
elseif($dex < 812500) { $str = '<font color="red">SSS-</font>'; }
|
[690000, 'tomato', 'SS+'],
|
||||||
elseif($dex < 877500) { $str = '<font color="red">SSS</font>'; }
|
[750000, 'red', 'SSS-'],
|
||||||
elseif($dex < 945000) { $str = '<font color="red">SSS+</font>'; }
|
[812500, 'red', 'SSS'],
|
||||||
elseif($dex < 1015000) { $str = '<font color="darkviolet">Z-</font>'; }
|
[877500, 'red', 'SSS+'],
|
||||||
elseif($dex < 1087500) { $str = '<font color="darkviolet">Z</font>'; }
|
[945000, 'darkviolet', 'Z-'],
|
||||||
elseif($dex < 1162500) { $str = '<font color="darkviolet">Z+</font>'; }
|
[1015000, 'darkviolet', 'Z'],
|
||||||
else { $str = '<font color="white">?</font>'; }
|
[1087500, 'darkviolet', 'Z+'],
|
||||||
return $str;
|
[1162500, 'white', '?']
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDexLevel($dex) : int {
|
function getDexCall(int $dex) : string {
|
||||||
if($dex < 2500) { $lvl = 0; }
|
if($dex < 0){
|
||||||
elseif($dex < 7500) { $lvl = 1; }
|
throw new \InvalidArgumentException();
|
||||||
elseif($dex < 15000) { $lvl = 2; }
|
}
|
||||||
elseif($dex < 25000) { $lvl = 3; }
|
|
||||||
elseif($dex < 37500) { $lvl = 4; }
|
$color = null;
|
||||||
elseif($dex < 52500) { $lvl = 5; }
|
$name = null;
|
||||||
elseif($dex < 70000) { $lvl = 6; }
|
foreach(getDexLevelList() as $dexLevel => [$dexKey, $nextColor, $nextName]){
|
||||||
elseif($dex < 90000) { $lvl = 7; }
|
if($dex < $dexKey){
|
||||||
elseif($dex < 112500) { $lvl = 8; }
|
break;
|
||||||
elseif($dex < 137500) { $lvl = 9; }
|
}
|
||||||
elseif($dex < 165000) { $lvl = 10; }
|
$color = $nextColor;
|
||||||
elseif($dex < 195000) { $lvl = 11; }
|
$name = $nextName;
|
||||||
elseif($dex < 227500) { $lvl = 12; }
|
}
|
||||||
elseif($dex < 262500) { $lvl = 13; }
|
|
||||||
elseif($dex < 300000) { $lvl = 14; }
|
return "<font color='{$color}'>{$name}</font>";
|
||||||
elseif($dex < 340000) { $lvl = 15; }
|
}
|
||||||
elseif($dex < 382500) { $lvl = 16; }
|
|
||||||
elseif($dex < 427500) { $lvl = 17; }
|
function getDexLevel(int $dex) : int {
|
||||||
elseif($dex < 475000) { $lvl = 18; }
|
if($dex < 0){
|
||||||
elseif($dex < 525000) { $lvl = 19; }
|
throw new \InvalidArgumentException();
|
||||||
elseif($dex < 577500) { $lvl = 20; }
|
}
|
||||||
elseif($dex < 632500) { $lvl = 21; }
|
|
||||||
elseif($dex < 690000) { $lvl = 22; }
|
$retVal = null;
|
||||||
elseif($dex < 750000) { $lvl = 23; }
|
foreach(getDexLevelList() as $dexLevel => [$dexKey, $nextColor, $nextName]){
|
||||||
elseif($dex < 812500) { $lvl = 24; }
|
if($dex < $dexKey){
|
||||||
elseif($dex < 877500) { $lvl = 25; }
|
break;
|
||||||
elseif($dex < 945000) { $lvl = 26; }
|
}
|
||||||
elseif($dex < 1015000) { $lvl = 27; }
|
$retVal = $dexLevel;
|
||||||
elseif($dex < 1087500) { $lvl = 28; }
|
}
|
||||||
elseif($dex < 1162500) { $lvl = 29; }
|
return $dexLevel;
|
||||||
else { $lvl = 30; }
|
|
||||||
return $lvl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getDexLog($dex1, $dex2) {
|
function getDexLog($dex1, $dex2) {
|
||||||
|
|||||||
@@ -5,6 +5,51 @@ namespace sammo;
|
|||||||
* 게임 룰에 해당하는 함수 모음
|
* 게임 룰에 해당하는 함수 모음
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
function getNationLevelList():array{
|
||||||
|
$table = [
|
||||||
|
0 => ['방랑군', 2, 0],
|
||||||
|
1 => ['호족', 2, 1],
|
||||||
|
2 => ['군벌', 4, 2],
|
||||||
|
3 => ['주자사', 4, 5],
|
||||||
|
4 => ['주목', 6, 8],
|
||||||
|
5 => ['공', 6, 11],
|
||||||
|
6 => ['왕', 8, 16],
|
||||||
|
7 => ['황제', 8, 21],
|
||||||
|
];
|
||||||
|
return $table;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNationTypeList():array{
|
||||||
|
$table = [
|
||||||
|
13=>['명가', '기술↑ 인구↑', '쌀수입↓ 수성↓'],
|
||||||
|
12=>['음양가', '내정↑ 인구↑', '기술↓ 전략↓'],
|
||||||
|
11=>['종횡가', '전략↑ 수성↑', '금수입↓ 내정↓'],
|
||||||
|
10=>['불가', '민심↑ 수성↑', '금수입↓'],
|
||||||
|
9=>['도적', '계략↑', '금수입↓ 치안↓ 민심↓'],
|
||||||
|
8=>['오두미도', '쌀수입↑ 인구↑', '기술↓ 수성↓ 내정↓'],
|
||||||
|
7=>['태평도', '인구↑ 민심↑', '기술↓ 수성↓'],
|
||||||
|
6=>['도가', '인구↑', '기술↓ 치안↓'],
|
||||||
|
5=>['묵가', '수성↑', '기술↓'],
|
||||||
|
4=>['덕가', '치안↑인구↑ 민심↑', '쌀수입↓ 수성↓'],
|
||||||
|
3=>['병가', '기술↑ 수성↑', '인구↓ 민심↓'],
|
||||||
|
2=>['유가', '내정↑ 민심↑', '쌀수입↓'],
|
||||||
|
1=>['법가', '금수입↑ 치안↑', '인구↓ 민심↓'],
|
||||||
|
];
|
||||||
|
return $table;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCityLevelList():array{
|
||||||
|
return [
|
||||||
|
1 => '수',
|
||||||
|
2 => '진',
|
||||||
|
3 => '관',
|
||||||
|
4 => '이',
|
||||||
|
5 => '소',
|
||||||
|
6 => '중',
|
||||||
|
7 => '대',
|
||||||
|
8 => '특'
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 게임 내부에 사용하는 유틸리티 함수들을 분리
|
* 게임 내부에 사용하는 유틸리티 함수들을 분리
|
||||||
|
|||||||
@@ -397,7 +397,7 @@ function process_52(&$general) {
|
|||||||
$younation = MYDB_fetch_array($result);
|
$younation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
if($gold > $mynation['gold']-GameConst::$basegold) { $gold = $mynation['gold'] - GameConst::$basegold; }
|
if($gold > $mynation['gold']-GameConst::$basegold) { $gold = $mynation['gold'] - GameConst::$basegold; }
|
||||||
if($rice > $mynation['rice']-GameConst::$baserice) { $rice = $mynation['rice'] - GameConst::$basegold; }
|
if($rice > $mynation['rice']-GameConst::$baserice) { $rice = $mynation['rice'] - GameConst::$baserice; }
|
||||||
|
|
||||||
if($younation['nation'] == 0) {
|
if($younation['nation'] == 0) {
|
||||||
$log[] = "<C>●</>{$admin['month']}월:멸망한 국가입니다. 원조 실패. <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:멸망한 국가입니다. 원조 실패. <1>$date</>";
|
||||||
@@ -1032,7 +1032,7 @@ function process_66(&$general) {
|
|||||||
$log[] = "<C>●</>{$admin['month']}월:인접도시가 아닙니다. 천도 실패. <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:인접도시가 아닙니다. 천도 실패. <1>$date</>";
|
||||||
} elseif($nation['capset'] == 1) {
|
} elseif($nation['capset'] == 1) {
|
||||||
$log[] = "<C>●</>{$admin['month']}월:다음 분기에 가능합니다. 천도 실패. <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:다음 분기에 가능합니다. 천도 실패. <1>$date</>";
|
||||||
} elseif($nation['gold']-GameConst::$basegold < $amount || $nation['rice']-GameConst::$basegold < $amount) {
|
} elseif($nation['gold']-GameConst::$basegold < $amount || $nation['rice']-GameConst::$baserice < $amount) {
|
||||||
$log[] = "<C>●</>{$admin['month']}월:물자가 부족합니다. 천도 실패. <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:물자가 부족합니다. 천도 실패. <1>$date</>";
|
||||||
} elseif($term < 3) {
|
} elseif($term < 3) {
|
||||||
$log[] = "<C>●</>{$admin['month']}월:천도중... ({$term}/3) <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:천도중... ({$term}/3) <1>$date</>";
|
||||||
@@ -1114,7 +1114,7 @@ function process_67(&$general) {
|
|||||||
$log[] = "<C>●</>{$admin['month']}월:수뇌부가 아닙니다. 증축 실패. <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:수뇌부가 아닙니다. 증축 실패. <1>$date</>";
|
||||||
} elseif($nation['capset'] == 1) {
|
} elseif($nation['capset'] == 1) {
|
||||||
$log[] = "<C>●</>{$admin['month']}월:다음 분기에 가능합니다. 증축 실패. <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:다음 분기에 가능합니다. 증축 실패. <1>$date</>";
|
||||||
} elseif($nation['gold']-GameConst::$basegold < $amount || $nation['rice']-GameConst::$basegold < $amount) {
|
} elseif($nation['gold']-GameConst::$basegold < $amount || $nation['rice']-GameConst::$baserice < $amount) {
|
||||||
$log[] = "<C>●</>{$admin['month']}월:물자가 부족합니다. 증축 실패. <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:물자가 부족합니다. 증축 실패. <1>$date</>";
|
||||||
} elseif($term < 6) {
|
} elseif($term < 6) {
|
||||||
$log[] = "<C>●</>{$admin['month']}월:증축중... ({$term}/6) <1>$date</>";
|
$log[] = "<C>●</>{$admin['month']}월:증축중... ({$term}/6) <1>$date</>";
|
||||||
@@ -2076,7 +2076,7 @@ function process_76(&$general) {
|
|||||||
) values (
|
) values (
|
||||||
'$npccount','$npc','$npc','$affinity','$name','$picture','{$nation['nation']}',
|
'$npccount','$npc','$npc','$affinity','$name','$picture','{$nation['nation']}',
|
||||||
'{$general['city']}','$leader','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
'{$general['city']}','$leader','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
||||||
'1','100','100','0','0','0','0','0',
|
'1','100','100','0','".GameUnitConst::DEFAULT_CREWTYPE."','0','0','0',
|
||||||
'0','0','0','$turntime','$killturn','{$avgGen['age']}','1','$personal','0','0','0','0','',
|
'0','0','0','$turntime','$killturn','{$avgGen['age']}','1','$personal','0','0','0','0','',
|
||||||
'0','$bornyear','$deadyear',
|
'0','$bornyear','$deadyear',
|
||||||
'{$avgGen['dex0']}','{$avgGen['dex10']}','{$avgGen['dex20']}','{$avgGen['dex30']}','{$avgGen['dex40']}'
|
'{$avgGen['dex0']}','{$avgGen['dex10']}','{$avgGen['dex20']}','{$avgGen['dex30']}','{$avgGen['dex40']}'
|
||||||
|
|||||||
@@ -452,7 +452,7 @@ function process_29(&$general) {
|
|||||||
) values (
|
) values (
|
||||||
'$npccount','$npc','$npc','$affinity','$name','$picture','$scoutNation',
|
'$npccount','$npc','$npc','$affinity','$name','$picture','$scoutNation',
|
||||||
'{$general['city']}','$leader','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
'{$general['city']}','$leader','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
||||||
'$scoutLevel','100','100','0','0','0','0','0',
|
'$scoutLevel','100','100','0','".GameUnitConst::DEFAULT_CREWTYPE."','0','0','0',
|
||||||
'0','0','0','$turntime','$killturn','$age','1','$personal','0','$specage','0','$specage2','',
|
'0','0','0','$turntime','$killturn','$age','1','$personal','0','$specage','0','$specage2','',
|
||||||
'0','$bornyear','$deadyear',
|
'0','$bornyear','$deadyear',
|
||||||
'{$avgGen['dex0']}','{$avgGen['dex10']}','{$avgGen['dex20']}','{$avgGen['dex30']}','{$avgGen['dex40']}'
|
'{$avgGen['dex0']}','{$avgGen['dex10']}','{$avgGen['dex20']}','{$avgGen['dex30']}','{$avgGen['dex40']}'
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ function process_32(&$general) {
|
|||||||
|
|
||||||
$dist = searchDistance($srcCityID, 5, false);
|
$dist = searchDistance($srcCityID, 5, false);
|
||||||
$srcCity = $db->queryFirstRow('SELECT city,nation,supply FROM city WHERE city=%i', $srcCityID);
|
$srcCity = $db->queryFirstRow('SELECT city,nation,supply FROM city WHERE city=%i', $srcCityID);
|
||||||
$destCity = $db->queryFirstRow('SELECT city,name,nation,supply,agri,comm FROM city WHERE city=%i',$destCityID);
|
$destCity = $db->queryFirstRow('SELECT city,name,level,nation,secu,secu2,supply,agri,comm,def,wall,rate FROM city WHERE city=%i',$destCityID);
|
||||||
$destCityName = $destCity['name']??null;
|
$destCityName = $destCity['name']??null;
|
||||||
|
|
||||||
$srcNationID = $general['nation'];
|
$srcNationID = $general['nation'];
|
||||||
@@ -161,7 +161,7 @@ function process_32(&$general) {
|
|||||||
$srcNation = getNationStaticInfo($srcNationID);
|
$srcNation = getNationStaticInfo($srcNationID);
|
||||||
$destNation = getNationStaticInfo($destNationID);
|
$destNation = getNationStaticInfo($destNationID);
|
||||||
|
|
||||||
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level FROM general WHERE city=%i and nation=%i', $city['city'], $city['nation']);
|
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||||
|
|
||||||
[
|
[
|
||||||
$srcGenScore,
|
$srcGenScore,
|
||||||
@@ -278,7 +278,7 @@ function process_33(&$general) {
|
|||||||
|
|
||||||
$dist = searchDistance($srcCityID, 5, false);
|
$dist = searchDistance($srcCityID, 5, false);
|
||||||
$srcCity = $db->queryFirstRow('SELECT city,nation,supply FROM city WHERE city=%i', $srcCityID);
|
$srcCity = $db->queryFirstRow('SELECT city,nation,supply FROM city WHERE city=%i', $srcCityID);
|
||||||
$destCity = $db->queryFirstRow('SELECT city,name,level,nation,secu,secu2,supply,agri,comm FROM city WHERE city=%i',$destCityID);
|
$destCity = $db->queryFirstRow('SELECT city,name,level,nation,secu,secu2,supply,agri,comm,def,wall,rate FROM city WHERE city=%i',$destCityID);
|
||||||
$destCityName = $destCity['name']??null;
|
$destCityName = $destCity['name']??null;
|
||||||
|
|
||||||
$srcNationID = $general['nation'];
|
$srcNationID = $general['nation'];
|
||||||
@@ -298,7 +298,7 @@ function process_33(&$general) {
|
|||||||
$srcNation = getNationStaticInfo($srcNationID);
|
$srcNation = getNationStaticInfo($srcNationID);
|
||||||
$destNation = getNationStaticInfo($destNationID);
|
$destNation = getNationStaticInfo($destNationID);
|
||||||
|
|
||||||
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level FROM general WHERE city=%i and nation=%i', $city['city'], $city['nation']);
|
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||||
|
|
||||||
[
|
[
|
||||||
$srcGenScore,
|
$srcGenScore,
|
||||||
@@ -449,7 +449,7 @@ function process_34(&$general) {
|
|||||||
|
|
||||||
$dist = searchDistance($srcCityID, 5, false);
|
$dist = searchDistance($srcCityID, 5, false);
|
||||||
$srcCity = $db->queryFirstRow('SELECT city,nation,supply FROM city WHERE city=%i', $srcCityID);
|
$srcCity = $db->queryFirstRow('SELECT city,nation,supply FROM city WHERE city=%i', $srcCityID);
|
||||||
$destCity = $db->queryFirstRow('SELECT city,name,nation,def,wall,secu,secu2,supply FROM city WHERE city=%i',$destCityID);
|
$destCity = $db->queryFirstRow('SELECT city,name,level,nation,secu,secu2,supply,agri,comm,def,wall,rate FROM city WHERE city=%i',$destCityID);
|
||||||
$destCityName = $destCity['name']??null;
|
$destCityName = $destCity['name']??null;
|
||||||
|
|
||||||
$srcNationID = $general['nation'];
|
$srcNationID = $general['nation'];
|
||||||
@@ -467,7 +467,7 @@ function process_34(&$general) {
|
|||||||
$srcNation = getNationStaticInfo($srcNationID);
|
$srcNation = getNationStaticInfo($srcNationID);
|
||||||
$destNation = getNationStaticInfo($destNationID);
|
$destNation = getNationStaticInfo($destNationID);
|
||||||
|
|
||||||
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level FROM general WHERE city=%i and nation=%i', $city['city'], $city['nation']);
|
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||||
|
|
||||||
[
|
[
|
||||||
$srcGenScore,
|
$srcGenScore,
|
||||||
@@ -587,7 +587,7 @@ function process_35(&$general) {
|
|||||||
|
|
||||||
$dist = searchDistance($srcCityID, 5, false);
|
$dist = searchDistance($srcCityID, 5, false);
|
||||||
$srcCity = $db->queryFirstRow('SELECT city,nation,supply FROM city WHERE city=%i', $srcCityID);
|
$srcCity = $db->queryFirstRow('SELECT city,nation,supply FROM city WHERE city=%i', $srcCityID);
|
||||||
$destCity = $db->queryFirstRow('SELECT city,name,nation,rate,secu,secu2,supply FROM city WHERE city=%i',$destCityID);
|
$destCity = $db->queryFirstRow('SELECT city,name,level,nation,secu,secu2,supply,agri,comm,def,wall,rate FROM city WHERE city=%i',$destCityID);
|
||||||
$destCityName = $destCity['name']??null;
|
$destCityName = $destCity['name']??null;
|
||||||
|
|
||||||
$srcNationID = $general['nation'];
|
$srcNationID = $general['nation'];
|
||||||
@@ -607,8 +607,7 @@ function process_35(&$general) {
|
|||||||
$srcNation = getNationStaticInfo($srcNationID);
|
$srcNation = getNationStaticInfo($srcNationID);
|
||||||
$destNation = getNationStaticInfo($destNationID);
|
$destNation = getNationStaticInfo($destNationID);
|
||||||
|
|
||||||
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level FROM general WHERE city=%i and nation=%i', $city['city'], $city['nation']);
|
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||||
|
|
||||||
[
|
[
|
||||||
$srcGenScore,
|
$srcGenScore,
|
||||||
$srcSpecialScore,
|
$srcSpecialScore,
|
||||||
|
|||||||
+4
-4
@@ -114,7 +114,7 @@ $(function(){
|
|||||||
<?=WebUtil::printCSS('css/main.css')?>
|
<?=WebUtil::printCSS('css/main.css')?>
|
||||||
<?=WebUtil::printCSS('css/map.css')?>
|
<?=WebUtil::printCSS('css/map.css')?>
|
||||||
<?=WebUtil::printCSS('css/msg.css')?>
|
<?=WebUtil::printCSS('css/msg.css')?>
|
||||||
|
<link href="https://fonts.googleapis.com/css?family=Nanum+Gothic|Nanum+Myeongjo|Nanum+Pen+Script" rel="stylesheet">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body class="img_back">
|
<body class="img_back">
|
||||||
@@ -200,7 +200,7 @@ echo "
|
|||||||
?>
|
?>
|
||||||
<tr><td colspan=5 style="text-align:left;">접속중인 국가: <?=onlinenation()?></td></tr>
|
<tr><td colspan=5 style="text-align:left;">접속중인 국가: <?=onlinenation()?></td></tr>
|
||||||
<tr><td colspan=5 style="text-align:left;"><?=adminMsg()?></td></tr>
|
<tr><td colspan=5 style="text-align:left;"><?=adminMsg()?></td></tr>
|
||||||
<tr><td colspan=5 style="text-align:left;"><div>【 국가방침 】</div><div style="color:orange;"><?=nationMsg()?></div></td></tr>
|
<tr><td colspan=5 style="text-align:left;"><div>【 국가방침 】</div><div><?=nationMsg()?></div></td></tr>
|
||||||
<tr><td colspan=5 style="text-align:left;">【 접속자 】<?=onlinegen()?></td></tr>
|
<tr><td colspan=5 style="text-align:left;">【 접속자 】<?=onlinegen()?></td></tr>
|
||||||
<?php
|
<?php
|
||||||
if ($session->userGrade >= 5) {
|
if ($session->userGrade >= 5) {
|
||||||
@@ -232,10 +232,10 @@ else if($session->userGrade == 4){
|
|||||||
</table>
|
</table>
|
||||||
<table class="tb_layout bg0" style="width:1000px;">
|
<table class="tb_layout bg0" style="width:1000px;">
|
||||||
<tr>
|
<tr>
|
||||||
<td width=698 height=520 colspan=2>
|
<td style='width:700px;height:520px;' colspan=2>
|
||||||
<?=getMapHtml($mapTheme)?>
|
<?=getMapHtml($mapTheme)?>
|
||||||
</td>
|
</td>
|
||||||
<td width=298 rowspan=4><iframe seamless="seamless" name=commandlist src='commandlist.php' width=298 height=700 frameborder=0 marginwidth=0 marginheight=0 topmargin=0 scrolling=no></iframe></td>
|
<td style='width:300px;' rowspan=4><iframe seamless="seamless" name=commandlist src='commandlist.php' style='width:300px;height:700px;' frameborder=0 marginwidth=0 marginheight=0 topmargin=0 scrolling=no></iframe></td>
|
||||||
</tr>
|
</tr>
|
||||||
<form name=form2 action=preprocessing.php method=post target=commandlist>
|
<form name=form2 action=preprocessing.php method=post target=commandlist>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
+8
-1
@@ -19,6 +19,14 @@ $allowReset = in_array('reset', $serverAcl);
|
|||||||
$allowFullReset = in_array('fullReset',$serverAcl);
|
$allowFullReset = in_array('fullReset',$serverAcl);
|
||||||
$allowReset |= $allowFullReset;
|
$allowReset |= $allowFullReset;
|
||||||
|
|
||||||
|
$reserve_open = Util::getReq('reserve_open');
|
||||||
|
if($reserve_open && $reserve_open < date('Y-m-d H:i')){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'현재 시간보다 이전 시간대를 예약 시간으로 지정했습니다.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
if($session->userGrade < 5 && !$allowReset){
|
if($session->userGrade < 5 && !$allowReset){
|
||||||
Json::die([
|
Json::die([
|
||||||
'result'=>false,
|
'result'=>false,
|
||||||
@@ -85,7 +93,6 @@ $npcmode = (int)$_POST['npcmode'];
|
|||||||
$show_img_level = (int)$_POST['show_img_level'];
|
$show_img_level = (int)$_POST['show_img_level'];
|
||||||
$tournament_trig = (int)$_POST['tournament_trig'];
|
$tournament_trig = (int)$_POST['tournament_trig'];
|
||||||
|
|
||||||
$reserve_open = Util::getReq('reserve_open');
|
|
||||||
if($reserve_open){
|
if($reserve_open){
|
||||||
$reserve_open = new \DateTime($reserve_open);
|
$reserve_open = new \DateTime($reserve_open);
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
|
|||||||
@@ -0,0 +1,437 @@
|
|||||||
|
<?php
|
||||||
|
namespace sammo;
|
||||||
|
|
||||||
|
include "lib.php";
|
||||||
|
include "func.php";
|
||||||
|
|
||||||
|
$session = Session::requireLogin([])->setReadOnly();
|
||||||
|
$userID = Session::getUserID();
|
||||||
|
|
||||||
|
$query = Util::getReq('query');
|
||||||
|
if($query === null){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'입력값이 없습니다.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$action = Util::getReq('action');
|
||||||
|
if($action === null || !in_array($action, ['reorder', 'battle'])){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'원하는 동작이 지정되지 않았습니다.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = Json::decode($query);
|
||||||
|
if($query === null){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'올바르지 않은 JSON입니다.'
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$defaultCheck = [
|
||||||
|
'required'=>[
|
||||||
|
'attackerGeneral', 'attackerCity', 'attackerNation',
|
||||||
|
'defenderGenerals', 'defenderCity', 'defenderNation',
|
||||||
|
'year', 'month', 'repeatCnt'
|
||||||
|
],
|
||||||
|
'integer'=>[
|
||||||
|
'year','month','repeatCnt'
|
||||||
|
],
|
||||||
|
'between'=>[
|
||||||
|
['month', [1, 12]]
|
||||||
|
],
|
||||||
|
'in'=>[
|
||||||
|
['repeatCnt', [1, 1000]]
|
||||||
|
],
|
||||||
|
'min'=>[
|
||||||
|
['year', 0]
|
||||||
|
],
|
||||||
|
'array'=>[
|
||||||
|
'attackerGeneral', 'attackerCity', 'attackerNation',
|
||||||
|
'defenderGenerals', 'defenderCity', 'defenderNation'
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
$v = new Validator($query);
|
||||||
|
$v->rules($defaultCheck);
|
||||||
|
if(!$v->validate()){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>$v->errorStr()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$year = $query['year'];
|
||||||
|
$month = $query['month'];
|
||||||
|
$repeatCnt = $query['repeatCnt'];
|
||||||
|
|
||||||
|
$rawAttacker = $query['attackerGeneral'];
|
||||||
|
$rawAttacker['turntime'] = date('Y-m-d H:i:s');
|
||||||
|
$rawAttackerCity = $query['attackerCity'];
|
||||||
|
$rawAttackerNation = $query['attackerNation'];
|
||||||
|
|
||||||
|
$defenderList = $query['defenderGenerals'];
|
||||||
|
$rawDefenderCity = $query['defenderCity'];
|
||||||
|
$rawDefenderNation = $query['defenderNation'];
|
||||||
|
|
||||||
|
|
||||||
|
$generalCheck = [
|
||||||
|
'required'=>[
|
||||||
|
'no', 'name', 'nation', 'turntime', 'personal', 'special2', 'crew', 'crewtype', 'atmos', 'train',
|
||||||
|
'intel', 'intel2', 'book', 'power', 'power2', 'weap', 'injury', 'leader', 'leader2', 'horse', 'item',
|
||||||
|
'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex0', 'dex10', 'dex20', 'dex30', 'dex40',
|
||||||
|
'warnum', 'killnum', 'deathnum', 'killcrew', 'deathcrew', 'recwar'
|
||||||
|
],
|
||||||
|
'integer'=>[
|
||||||
|
'no', 'nation', 'personal', 'special2', 'crew', 'crewtype', 'atmos', 'train',
|
||||||
|
'intel', 'intel2', 'book', 'power', 'power2', 'weap', 'injury', 'leader', 'leader2', 'horse', 'item',
|
||||||
|
'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex0', 'dex10', 'dex20', 'dex30', 'dex40',
|
||||||
|
'warnum', 'killnum', 'deathnum', 'killcrew', 'deathcrew'
|
||||||
|
],
|
||||||
|
'min'=>[
|
||||||
|
['no', 1],
|
||||||
|
['nation', 1],
|
||||||
|
['crew', 0],
|
||||||
|
['intel', 0],
|
||||||
|
['power', 0],
|
||||||
|
['leader', 0],
|
||||||
|
['experience', 0],
|
||||||
|
['gold', 0],
|
||||||
|
['rice', 0],
|
||||||
|
['dex0', 0],
|
||||||
|
['dex10', 0],
|
||||||
|
['dex20', 0],
|
||||||
|
['dex30', 0],
|
||||||
|
['dex40', 0],
|
||||||
|
],
|
||||||
|
'between'=>[
|
||||||
|
['train', [40, GameConst::$maxTrainByWar]],
|
||||||
|
['atmos', [40, GameConst::$maxAtmosByWar]],
|
||||||
|
['book', [0, 26]],
|
||||||
|
['weap', [0, 26]],
|
||||||
|
['horse', [0, 26]],
|
||||||
|
['item', [0, 26]],
|
||||||
|
['explevel', [0, 300]],
|
||||||
|
['injury', [0, 80]],
|
||||||
|
['level', [1, 12]]
|
||||||
|
],
|
||||||
|
'in'=>[
|
||||||
|
['personal', array_keys(getCharacterList())],
|
||||||
|
['special2', array_merge(array_keys(SpecialityConst::WAR), [0])],
|
||||||
|
['crewtype', array_keys(GameUnitConst::all())],
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
$v = new Validator($rawAttacker);
|
||||||
|
$v->rules($generalCheck);
|
||||||
|
if(!$v->validate()){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'[출병자]'.$v->errorStr()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($defenderList as $idx=>$rawDefenderGeneral){
|
||||||
|
$v = new Validator($rawDefenderGeneral);
|
||||||
|
$v->rules($generalCheck);
|
||||||
|
if(!$v->validate()){
|
||||||
|
$idx+=1;
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>"[수비자{$idx}]".$v->errorStr()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$cityCheck = [
|
||||||
|
'required'=>[
|
||||||
|
'city', 'nation', 'supply', 'name',
|
||||||
|
'pop', 'agri', 'comm', 'secu', 'def', 'wall',
|
||||||
|
'rate', 'level',
|
||||||
|
'pop2', 'agri2', 'comm2', 'secu2', 'def2', 'wall2',
|
||||||
|
'dead', 'state', 'gen1', 'gen2', 'gen3', 'conflict',
|
||||||
|
],
|
||||||
|
'numeric'=>[
|
||||||
|
'pop', 'agri', 'comm', 'secu', 'def', 'wall', 'rate', 'dead'
|
||||||
|
],
|
||||||
|
'integer'=>[
|
||||||
|
'city', 'nation', 'supply',
|
||||||
|
'pop2', 'agri2', 'comm2', 'secu2', 'def2', 'wall2',
|
||||||
|
'state', 'gen1', 'gen2', 'gen3'
|
||||||
|
],
|
||||||
|
'min'=>[
|
||||||
|
['def', 0],
|
||||||
|
['wall', 0],
|
||||||
|
['rate', 0],
|
||||||
|
['pop', 0],
|
||||||
|
['comm', 0],
|
||||||
|
['secu', 0],
|
||||||
|
['city', 1],
|
||||||
|
['nation', 0]
|
||||||
|
],
|
||||||
|
'in'=>[
|
||||||
|
['level', array_keys(getCityLevelList())]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
$v = new Validator($rawAttackerCity);
|
||||||
|
$v->rules($cityCheck);
|
||||||
|
if(!$v->validate()){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'[출병도시]'.$v->errorStr()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$v = new Validator($rawDefenderCity);
|
||||||
|
$v->rules($cityCheck);
|
||||||
|
if(!$v->validate()){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'[수비도시]'.$v->errorStr()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$nationCheck = [
|
||||||
|
'required'=>[
|
||||||
|
'type', 'tech', 'level', 'capital',
|
||||||
|
'nation', 'name', 'gold', 'rice', 'totaltech', 'gennum'
|
||||||
|
],
|
||||||
|
'integer'=>[
|
||||||
|
'type', 'level', 'capital', 'nation', 'gennum',
|
||||||
|
],
|
||||||
|
'numeric'=>[
|
||||||
|
'tech', 'gold', 'rice', 'totaltech'
|
||||||
|
],
|
||||||
|
'min'=>[
|
||||||
|
['tech', 0],
|
||||||
|
['totaltech', 0],
|
||||||
|
['gold', 0],
|
||||||
|
['rice', 0],
|
||||||
|
['gennum', 1],
|
||||||
|
['gen1', 0],
|
||||||
|
['gen2', 0],
|
||||||
|
['gen3', 0],
|
||||||
|
],
|
||||||
|
'in'=>[
|
||||||
|
['type', array_keys(getNationTypeList())],
|
||||||
|
['level', array_keys(getNationLevelList())]
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
||||||
|
$v = new Validator($rawAttackerNation);
|
||||||
|
$v->rules($nationCheck);
|
||||||
|
if(!$v->validate()){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'[출병국]'.$v->errorStr()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$v = new Validator($rawDefenderNation);
|
||||||
|
$v->rules($nationCheck);
|
||||||
|
if(!$v->validate()){
|
||||||
|
Json::die([
|
||||||
|
'result'=>false,
|
||||||
|
'reason'=>'[수비국]'.$v->errorStr()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($action == 'reorder'){
|
||||||
|
usort($defenderList, function($lhs, $rhs){
|
||||||
|
return -(extractBattleOrder($lhs) <=> extractBattleOrder($rhs));
|
||||||
|
});
|
||||||
|
|
||||||
|
$order = [];
|
||||||
|
foreach($defenderList as $rawDefenderGeneral){
|
||||||
|
$order[] = $rawDefenderGeneral['no'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Json::die([
|
||||||
|
'result'=>true,
|
||||||
|
'reason'=>'success',
|
||||||
|
'order'=>$order
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
usort($defenderList, function($lhs, $rhs){
|
||||||
|
return -(extractBattleOrder($lhs) <=> extractBattleOrder($rhs));
|
||||||
|
});
|
||||||
|
|
||||||
|
$db = DB::db();
|
||||||
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
|
$startYear = $gameStor->startyear;
|
||||||
|
$cityRate = Util::round(($year - $startYear) / 1.5) + 60;
|
||||||
|
|
||||||
|
|
||||||
|
function simulateBattle(
|
||||||
|
$rawAttacker, $rawAttackerCity, $rawAttackerNation,
|
||||||
|
$defenderList, $rawDefenderCity, $rawDefenderNation,
|
||||||
|
$startYear, $year, $month, $cityRate
|
||||||
|
){
|
||||||
|
$attacker = new WarUnitGeneral($rawAttacker, $rawAttackerCity, $rawAttackerNation, true, $year, $month);
|
||||||
|
$city = new WarUnitCity($rawDefenderCity, $rawDefenderNation, $year, $month, $cityRate);
|
||||||
|
|
||||||
|
$iterDefender = new \ArrayIterator($defenderList);
|
||||||
|
$iterDefender->rewind();
|
||||||
|
|
||||||
|
$battleResult = [];
|
||||||
|
|
||||||
|
$attackerRice = $rawAttacker['rice'];
|
||||||
|
$defenderRice = 0;
|
||||||
|
|
||||||
|
$getNextDefender = function(?WarUnit $prevDefender, bool $reqNext)
|
||||||
|
use ($iterDefender, $rawDefenderCity, $rawDefenderNation, $year, $month, &$battleResult, &$defenderRice) {
|
||||||
|
if($prevDefender !== null){
|
||||||
|
$prevDefender->getLogger()->rollback();
|
||||||
|
$battleResult[] = $prevDefender;
|
||||||
|
if($prevDefender instanceof WarUnitGeneral){
|
||||||
|
$defenderRice -= $prevDefender->getVar('rice');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$reqNext){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$iterDefender->valid()){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$rawGeneral = $iterDefender->current();
|
||||||
|
if(extractBattleOrder($rawGeneral) <= 0){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$defenderRice += $rawGeneral['rice'];
|
||||||
|
|
||||||
|
$retVal = new WarUnitGeneral($rawGeneral, $rawDefenderCity, $rawDefenderNation, false, $year, $month);
|
||||||
|
$iterDefender->next();
|
||||||
|
return $retVal;
|
||||||
|
};
|
||||||
|
|
||||||
|
$conquerCity = processWar_NG($attacker, $getNextDefender, $city, $year - $startYear);
|
||||||
|
|
||||||
|
$rawDefenderCity = $city->getRaw();
|
||||||
|
$updateAttackerNation = [];
|
||||||
|
$updateDefenderNation = [];
|
||||||
|
|
||||||
|
$attackerRice -= $attacker->getVar('rice');
|
||||||
|
|
||||||
|
if($city->getPhase() > 0){
|
||||||
|
$rice = $city->getKilled() / 100 * 0.8;
|
||||||
|
$rice *= $city->getCrewType()->rice;
|
||||||
|
$rice *= getTechCost($rawDefenderNation['tech']);
|
||||||
|
$rice *= $cityRate / 100 - 0.2;
|
||||||
|
Util::setRound($rice);
|
||||||
|
|
||||||
|
$defenderRice += $rice;
|
||||||
|
}
|
||||||
|
|
||||||
|
$totalDead = $attacker->getKilled() + $attacker->getDead();
|
||||||
|
$attackerCityDead = $totalDead * 0.4;
|
||||||
|
$defenderCityDead = $totalDead * 0.6;
|
||||||
|
|
||||||
|
return [$attacker, $city, $battleResult, $conquerCity, $attackerRice, $defenderRice];
|
||||||
|
}
|
||||||
|
|
||||||
|
$lastWarLog = [];
|
||||||
|
|
||||||
|
$attackerKilled = 0;
|
||||||
|
$attackerDead = 0;
|
||||||
|
|
||||||
|
$attackerMaxKilled = 0;
|
||||||
|
$attackerMinKilled = PHP_INT_MAX;
|
||||||
|
|
||||||
|
$attackerMaxDead = 0;
|
||||||
|
$attackerMinDead = PHP_INT_MAX;
|
||||||
|
|
||||||
|
|
||||||
|
$attackerAvgRice = 0;
|
||||||
|
$defenderAvgRice = 0;
|
||||||
|
|
||||||
|
$avgPhase = 0;
|
||||||
|
$avgWar = 0;
|
||||||
|
|
||||||
|
$attackerActivatedSkills = [];
|
||||||
|
$defendersActivatedSkills = [];
|
||||||
|
|
||||||
|
foreach(range(1, $repeatCnt) as $repeatIdx){
|
||||||
|
[$attacker, $city, $battleResult, $conquerCity, $attackerRice, $defenderRice] = simulateBattle(
|
||||||
|
$rawAttacker, $rawAttackerCity, $rawAttackerNation,
|
||||||
|
$defenderList, $rawDefenderCity, $rawDefenderNation,
|
||||||
|
$startYear, $year, $month, $cityRate
|
||||||
|
);
|
||||||
|
$lastWarLog = Util::mapWithKey(function($key, $values){
|
||||||
|
return ConvertLog(join('<br>', $values));
|
||||||
|
}, $attacker->getLogger()->rollback());
|
||||||
|
|
||||||
|
$avgPhase += $attacker->getPhase() / $repeatCnt;
|
||||||
|
|
||||||
|
$killed = $attacker->getKilled();
|
||||||
|
$dead = $attacker->getDead();
|
||||||
|
|
||||||
|
$attackerKilled += $killed / $repeatCnt;
|
||||||
|
$attackerDead += $dead / $repeatCnt;
|
||||||
|
|
||||||
|
$attackerMaxKilled = max($attackerMaxKilled, $killed);
|
||||||
|
$attackerMinKilled = min($attackerMinKilled, $killed);
|
||||||
|
|
||||||
|
$attackerMaxDead = max($attackerMaxDead, $dead);
|
||||||
|
$attackerMinDead = min($attackerMinDead, $dead);
|
||||||
|
|
||||||
|
$attackerAvgRice += $attackerRice / $repeatCnt;
|
||||||
|
$defenderAvgRice += $defenderRice / $repeatCnt;
|
||||||
|
|
||||||
|
$avgWar += count($battleResult) / $repeatCnt;
|
||||||
|
|
||||||
|
foreach($attacker->getActivatedSkillLog() as $skillName => $skillCnt){
|
||||||
|
if(!key_exists($skillName, $attackerActivatedSkills)){
|
||||||
|
$attackerActivatedSkills[$skillName] = $skillCnt / $repeatCnt;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$attackerActivatedSkills[$skillName] += $skillCnt / $repeatCnt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($battleResult as $idx=>$defender){
|
||||||
|
while($idx >= count($defendersActivatedSkills)){
|
||||||
|
$defendersActivatedSkills[] = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$activatedSkills = &$defendersActivatedSkills[$idx];
|
||||||
|
foreach($defender->getActivatedSkillLog() as $skillName => $skillCnt){
|
||||||
|
if(!key_exists($skillName, $activatedSkills)){
|
||||||
|
$activatedSkills[$skillName] = $skillCnt / $repeatCnt;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$activatedSkills[$skillName] += $skillCnt / $repeatCnt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Json::die([
|
||||||
|
'result'=>true,
|
||||||
|
'datetime'=>$rawAttacker['turntime'],
|
||||||
|
'reason'=>'success',
|
||||||
|
'lastWarLog'=>$lastWarLog,
|
||||||
|
'avgWar'=>$avgWar,
|
||||||
|
'phase'=>$avgPhase,
|
||||||
|
'killed'=>$attackerKilled,
|
||||||
|
'maxKilled'=>$attackerMaxKilled,
|
||||||
|
'minKilled'=>$attackerMinKilled,
|
||||||
|
'dead'=>$attackerDead,
|
||||||
|
'maxDead'=>$attackerMaxDead,
|
||||||
|
'minDead'=>$attackerMinDead,
|
||||||
|
'attackerRice'=>$attackerAvgRice,
|
||||||
|
'defenderRice'=>$defenderAvgRice,
|
||||||
|
'attackerSkills'=>$attackerActivatedSkills,
|
||||||
|
'defendersSkills'=>$defendersActivatedSkills,
|
||||||
|
]);
|
||||||
@@ -0,0 +1,817 @@
|
|||||||
|
jQuery(function($){
|
||||||
|
|
||||||
|
|
||||||
|
var $generalForm = $('.form_sample .general_detail');
|
||||||
|
var $defenderHeaderForm = $('.form_sample .card-header');
|
||||||
|
var $defenderColumn = $('.defender-column');
|
||||||
|
|
||||||
|
var defenderNoList = {};
|
||||||
|
|
||||||
|
var $attackerCard = $('.attacker_form');
|
||||||
|
|
||||||
|
var initBasicEvent = function(){
|
||||||
|
|
||||||
|
$('.form_injury').change(function(){
|
||||||
|
var $this = $(this);
|
||||||
|
var $general = getGeneralDetail($this);
|
||||||
|
var $helptext = $general.find('.injury_helptext');
|
||||||
|
|
||||||
|
var injury = parseInt($this.val());
|
||||||
|
//FIXME: PHP 코드와 항상 일치하도록 변경
|
||||||
|
var text = '건강';
|
||||||
|
var color = 'white';
|
||||||
|
if(injury > 60){
|
||||||
|
text = '위독';
|
||||||
|
color = 'red';
|
||||||
|
}
|
||||||
|
else if(injury > 40){
|
||||||
|
text = '심각';
|
||||||
|
color = 'magenta';
|
||||||
|
}
|
||||||
|
else if(injury > 20){
|
||||||
|
text = '중상';
|
||||||
|
color = 'orange';
|
||||||
|
}
|
||||||
|
else if(injury > 0){
|
||||||
|
text = '경상';
|
||||||
|
color = 'yellow';
|
||||||
|
}
|
||||||
|
$helptext.html(text).css('color', color);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.export_general').click(function(){
|
||||||
|
var $btn = $(this);
|
||||||
|
var $general = getGeneralDetail($btn);
|
||||||
|
|
||||||
|
var values = exportGeneralInfo($general);
|
||||||
|
console.log(values);
|
||||||
|
});
|
||||||
|
$('.delete-defender').click(function(){
|
||||||
|
var $card = getGeneralFrame($(this));
|
||||||
|
deleteDefender($card);
|
||||||
|
});
|
||||||
|
$('.copy-defender').click(function(){
|
||||||
|
var $card = getGeneralFrame($(this));
|
||||||
|
copyDefender($card);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.add-defender').click(function(){
|
||||||
|
addDefender();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.btn-general-load').click(function(){
|
||||||
|
var $file = $(this).prev();
|
||||||
|
$file[0].click();
|
||||||
|
})
|
||||||
|
|
||||||
|
$('.form_load_general_file').on('change', function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
var $this = $(this);
|
||||||
|
var $card = getGeneralFrame($this);
|
||||||
|
|
||||||
|
var files = e.target.files;
|
||||||
|
|
||||||
|
importGeneralInfoByFile(files, $card);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.btn-general-save').click(function(){
|
||||||
|
var $this = $(this);
|
||||||
|
var $general = getGeneralDetail($this);
|
||||||
|
var generalData = exportGeneralInfo($general);
|
||||||
|
|
||||||
|
var filename = "general_{0}.json".format(generalData.name);
|
||||||
|
var saveData = JSON.stringify({
|
||||||
|
objType:'general',
|
||||||
|
data:generalData
|
||||||
|
}, null, 4);
|
||||||
|
|
||||||
|
download(saveData, filename, 'application/json');
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.btn-battle-load').click(function(){
|
||||||
|
var $file = $(this).prev();
|
||||||
|
$file[0].click();
|
||||||
|
})
|
||||||
|
|
||||||
|
$('.form_load_battle_file').on('change', function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
var $this = $(this);
|
||||||
|
var files = e.target.files;
|
||||||
|
|
||||||
|
importBattleInfoByFile(files);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.btn-battle-save').click(function(){
|
||||||
|
var battleData = exportAllData();
|
||||||
|
var filename = "battle_{0}.json".format(moment().format('YYYYMMDD_hhmmss'));
|
||||||
|
var saveData = JSON.stringify({
|
||||||
|
objType:'battle',
|
||||||
|
data:battleData
|
||||||
|
}, null, 4);
|
||||||
|
|
||||||
|
download(saveData, filename, 'application/json');
|
||||||
|
})
|
||||||
|
|
||||||
|
var $generals = $('.general_detail');
|
||||||
|
$generals.bind('dragover dragleave', function(e) {
|
||||||
|
e.stopPropagation()
|
||||||
|
e.preventDefault()
|
||||||
|
})
|
||||||
|
$generals.bind('drop', function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
var $this = $(this);
|
||||||
|
var $card = getGeneralFrame($this);
|
||||||
|
|
||||||
|
var files = e.originalEvent.dataTransfer.files;
|
||||||
|
|
||||||
|
importGeneralInfoByFile(files, $card);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
|
||||||
|
var $battlePad = $('.dragpad_battle');
|
||||||
|
$battlePad.bind('dragover dragleave', function(e) {
|
||||||
|
e.stopPropagation()
|
||||||
|
e.preventDefault()
|
||||||
|
})
|
||||||
|
$battlePad.bind('drop', function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
|
||||||
|
var files = e.originalEvent.dataTransfer.files;
|
||||||
|
|
||||||
|
importBattleInfoByFile(files);
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var importGeneralInfo = function($general, data){
|
||||||
|
var setVal = function(query, val){
|
||||||
|
$general.find(query).val(val).change();
|
||||||
|
}
|
||||||
|
|
||||||
|
setVal('.form_general_name', data.name);
|
||||||
|
|
||||||
|
setVal('.form_general_level', data.level);
|
||||||
|
setVal('.form_exp_level', data.explevel);
|
||||||
|
setVal('.form_injury', data.injury);
|
||||||
|
|
||||||
|
setVal('.form_leadership', data.leader);
|
||||||
|
setVal('.form_general_horse', data.horse);
|
||||||
|
setVal('.form_power', data.power);
|
||||||
|
setVal('.form_general_weap', data.weap);
|
||||||
|
setVal('.form_intel', data.intel);
|
||||||
|
setVal('.form_general_book', data.book);
|
||||||
|
setVal('.form_general_item', data.item);
|
||||||
|
|
||||||
|
setVal('.form_injury', data.injury);
|
||||||
|
|
||||||
|
setVal('.form_rice', data.rice);
|
||||||
|
|
||||||
|
setVal('.form_general_character', data.personal);
|
||||||
|
setVal('.form_general_special_war', data.special2);
|
||||||
|
|
||||||
|
setVal('.form_crew', data.crew);
|
||||||
|
setVal('.form_crewtype', data.crewtype);
|
||||||
|
setVal('.form_atmos', data.atmos);
|
||||||
|
setVal('.form_train', data.train);
|
||||||
|
|
||||||
|
setVal('.form_dex0', data.dex0);
|
||||||
|
setVal('.form_dex10', data.dex10);
|
||||||
|
setVal('.form_dex20', data.dex20);
|
||||||
|
setVal('.form_dex30', data.dex30);
|
||||||
|
setVal('.form_dex40', data.dex40);
|
||||||
|
setVal('.form_defend_mode', data.mode);
|
||||||
|
|
||||||
|
if(!setGeneralNo($general, data.no)){
|
||||||
|
setGeneralNo($general, generateNewGeneralNo());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var exportGeneralInfo = function($general){
|
||||||
|
var getInt = function(query){
|
||||||
|
return parseInt($general.find(query).val());
|
||||||
|
}
|
||||||
|
|
||||||
|
var getVal = function(query){
|
||||||
|
return $general.find(query).val();
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
no:getGeneralNo($general),
|
||||||
|
name:getVal('.form_general_name'),
|
||||||
|
level:getInt('.form_general_level'),
|
||||||
|
explevel:getInt('.form_exp_level'),
|
||||||
|
|
||||||
|
leader:getInt('.form_leadership'),
|
||||||
|
horse:getInt('.form_general_horse'),
|
||||||
|
power:getInt('.form_power'),
|
||||||
|
weap:getInt('.form_general_weap'),
|
||||||
|
intel:getInt('.form_intel'),
|
||||||
|
book:getInt('.form_general_book'),
|
||||||
|
item:getInt('.form_general_item'),
|
||||||
|
|
||||||
|
injury:getInt('.form_injury'),
|
||||||
|
|
||||||
|
rice:getInt('.form_rice'),
|
||||||
|
|
||||||
|
personal:getInt('.form_general_character'),
|
||||||
|
special2:getInt('.form_general_special_war'),
|
||||||
|
|
||||||
|
crew:getInt('.form_crew'),
|
||||||
|
crewtype:getInt('.form_crewtype'),
|
||||||
|
atmos:getInt('.form_atmos'),
|
||||||
|
train:getInt('.form_train'),
|
||||||
|
|
||||||
|
dex0:getInt('.form_dex0'),
|
||||||
|
dex10:getInt('.form_dex10'),
|
||||||
|
dex20:getInt('.form_dex20'),
|
||||||
|
dex30:getInt('.form_dex30'),
|
||||||
|
dex40:getInt('.form_dex40'),
|
||||||
|
mode:getInt('.form_defend_mode'),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
var importBattleInfoByFile = function(files){
|
||||||
|
if(files === null){
|
||||||
|
alert('파일 에러!');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(files.length < 1){
|
||||||
|
alert("파일 에러!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var file = files[0];
|
||||||
|
if(file.size > 1024*1024){
|
||||||
|
alert('파일이 너무 큽니다!');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(file.type === ''){
|
||||||
|
alert('폴더를 업로드할 수 없습니다!');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var reader = new FileReader();
|
||||||
|
reader.onload = function(){
|
||||||
|
var battleData = {};
|
||||||
|
try {
|
||||||
|
battleData = JSON.parse(reader.result);
|
||||||
|
} catch(e) {
|
||||||
|
alert('올바르지 않은 파일 형식입니다');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!('objType' in battleData)){
|
||||||
|
alert('파일 형식을 확인할 수 없습니다');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(battleData.objType != 'battle'){
|
||||||
|
alert('전투 데이터가 아닙니다');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
importBattleInfo(battleData.data);
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
reader.readAsText(file);
|
||||||
|
}
|
||||||
|
catch(e) {
|
||||||
|
alert('파일을 읽는데 실패했습니다.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var importGeneralInfoByFile = function(files, $card){
|
||||||
|
if($card === undefined){
|
||||||
|
$card = addDefender();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(files === null){
|
||||||
|
alert('파일 에러!');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(files.length < 1){
|
||||||
|
alert("파일 에러!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var file = files[0];
|
||||||
|
if(file.size > 1024*1024){
|
||||||
|
alert('파일이 너무 큽니다!');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(file.type === ''){
|
||||||
|
alert('폴더를 업로드할 수 없습니다!');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var reader = new FileReader();
|
||||||
|
reader.onload = function(){
|
||||||
|
var generalData = {};
|
||||||
|
try {
|
||||||
|
generalData = JSON.parse(reader.result);
|
||||||
|
} catch(e) {
|
||||||
|
alert('올바르지 않은 파일 형식입니다');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!('objType' in generalData)){
|
||||||
|
alert('파일 형식을 확인할 수 없습니다');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(generalData.objType == 'battle'){
|
||||||
|
importBattleInfo(generalData.data);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(generalData.objType != 'general'){
|
||||||
|
alert('장수 데이터가 아닙니다');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$card.find('.form_load_general_file').val('');
|
||||||
|
|
||||||
|
importGeneralInfo($card, generalData.data);
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
reader.readAsText(file);
|
||||||
|
}
|
||||||
|
catch(e) {
|
||||||
|
alert('파일을 읽는데 실패했습니다.');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var extendGeneralInfoForDB = function(generalData){
|
||||||
|
|
||||||
|
var dbVal = {
|
||||||
|
nation: (generalData.no)<=1 ? 1 : 2,
|
||||||
|
city: (generalData.no)<=1 ? 1 : 3,
|
||||||
|
turntime:'2018-08-26 12:00',
|
||||||
|
special:0,
|
||||||
|
leader2:0,
|
||||||
|
power2:0,
|
||||||
|
intel2:0,
|
||||||
|
|
||||||
|
gold:10000,
|
||||||
|
|
||||||
|
dedication:0,
|
||||||
|
warnum:0,
|
||||||
|
killnum:0,
|
||||||
|
deathnum:0,
|
||||||
|
|
||||||
|
killcrew:20000,
|
||||||
|
deathcrew:20000,
|
||||||
|
recwar:'SUCCESS',
|
||||||
|
experience:Math.pow(generalData.explevel, 2),
|
||||||
|
};
|
||||||
|
|
||||||
|
return $.extend({}, generalData, dbVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
var getGeneralFrame = function($btn){
|
||||||
|
var $card = $btn.closest('.general_form');
|
||||||
|
return $card;
|
||||||
|
}
|
||||||
|
|
||||||
|
var getGeneralDetail = function($btn){
|
||||||
|
var $card = getGeneralFrame($btn);
|
||||||
|
var $general = $card.find('.general_detail');
|
||||||
|
return $general;
|
||||||
|
}
|
||||||
|
|
||||||
|
var getGeneralNo = function($btn){
|
||||||
|
return parseInt(getGeneralFrame($btn).data('general_no'));
|
||||||
|
}
|
||||||
|
|
||||||
|
var setGeneralNo = function($btn, value){
|
||||||
|
if(value == 1){
|
||||||
|
//1번은 무조건 공격자임
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(value in defenderNoList){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var $card = getGeneralFrame($btn);
|
||||||
|
$card.data('general_no', value);
|
||||||
|
defenderNoList[value] = $card;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var generateNewGeneralNo = function(){
|
||||||
|
while(true){
|
||||||
|
var newGeneralNo = parseInt(Math.random()*(1<<24))+2;
|
||||||
|
if(newGeneralNo in defenderNoList){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
return newGeneralNo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var deleteGeneralNo = function($btn){
|
||||||
|
var $card = getGeneralFrame($btn);
|
||||||
|
$card.removeData('general_no');
|
||||||
|
var generalNo = getGeneralNo($card);
|
||||||
|
delete defenderNoList[generalNo];
|
||||||
|
}
|
||||||
|
|
||||||
|
var addDefender = function($cardAfter){
|
||||||
|
var $newCard = $('<div class="card mb-2 defender_form general_form"></div>');
|
||||||
|
|
||||||
|
if($cardAfter === undefined){
|
||||||
|
$defenderColumn.append($newCard);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$cardAfter.after($newCard);
|
||||||
|
}
|
||||||
|
|
||||||
|
$newCard.append($defenderHeaderForm.clone(true,true));
|
||||||
|
$newCard.append($generalForm.clone(true,true));
|
||||||
|
|
||||||
|
$newGeneral = getGeneralDetail($newCard);
|
||||||
|
setGeneralNo($newCard, generateNewGeneralNo());
|
||||||
|
|
||||||
|
return $newCard;
|
||||||
|
}
|
||||||
|
|
||||||
|
var deleteDefender = function($card){
|
||||||
|
deleteGeneralNo($card);
|
||||||
|
$card.detach();
|
||||||
|
}
|
||||||
|
|
||||||
|
var copyDefender = function($card){
|
||||||
|
var $general = getGeneralDetail($card);
|
||||||
|
|
||||||
|
var generalData = exportGeneralInfo($general);
|
||||||
|
var $newObj = addDefender($card);
|
||||||
|
importGeneralInfo(getGeneralDetail($newObj), generalData);
|
||||||
|
}
|
||||||
|
|
||||||
|
var importBattleInfo = function(battleData){
|
||||||
|
|
||||||
|
$('.form_load_battle_file').val('');
|
||||||
|
console.log(battleData);
|
||||||
|
|
||||||
|
var $attackerNation = $('.attacker_nation');
|
||||||
|
var $defenderNation = $('.defender_nation');
|
||||||
|
|
||||||
|
var attackerGeneral = battleData.attackerGeneral;
|
||||||
|
var attackerCity = battleData.attackerCity;
|
||||||
|
var attackerNation = battleData.attackerNation;
|
||||||
|
|
||||||
|
var defenderGenerals = battleData.defenderGenerals;
|
||||||
|
var defenderCity = battleData.defenderCity;
|
||||||
|
var defenderNation = battleData.defenderNation;
|
||||||
|
|
||||||
|
$('#year').val(battleData.year);
|
||||||
|
$('#month').val(battleData.month);
|
||||||
|
$('#repeat_cnt').val(battleData.repeatCnt);
|
||||||
|
|
||||||
|
$('.delete-defender').click();
|
||||||
|
|
||||||
|
$attackerNation.find('.form_nation_type').val(attackerNation.type);
|
||||||
|
$attackerNation.find('.form_tech').val(Math.floor(attackerNation.tech/1000));
|
||||||
|
$attackerNation.find('.form_nation_level').val(attackerNation.level);
|
||||||
|
if(attackerNation.capital == 1){
|
||||||
|
$attackerNation.find('.form_is_capital:first').click();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$attackerNation.find('.form_is_capital:last').click();
|
||||||
|
}
|
||||||
|
$attackerNation.find('.form_city_level').val(attackerCity.level);
|
||||||
|
|
||||||
|
importGeneralInfo($('.attacker_form'), attackerGeneral);
|
||||||
|
|
||||||
|
$defenderNation.find('.form_nation_type').val(defenderNation.type);
|
||||||
|
$defenderNation.find('.form_tech').val(Math.floor(defenderNation.tech/1000));
|
||||||
|
$defenderNation.find('.form_nation_level').val(defenderNation.level);
|
||||||
|
if(defenderNation.capital == 1){
|
||||||
|
$defenderNation.find('.form_is_capital:first').click();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$defenderNation.find('.form_is_capital:last').click();
|
||||||
|
}
|
||||||
|
$defenderNation.find('.form_city_level').val(defenderCity.level);
|
||||||
|
$('#city_def').val(defenderCity.def);
|
||||||
|
$('#city_wall').val(defenderCity.wall);
|
||||||
|
|
||||||
|
$.each(defenderGenerals, function(idx, defenderGeneral){
|
||||||
|
var $card = addDefender();
|
||||||
|
importGeneralInfo($card, defenderGeneral);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var exportAllData = function(){
|
||||||
|
var $attackerNation = $('.attacker_nation');
|
||||||
|
var $defenderNation = $('.defender_nation');
|
||||||
|
|
||||||
|
var attackerGeneral = exportGeneralInfo($('.attacker_form'));
|
||||||
|
|
||||||
|
var attackerCity = {
|
||||||
|
level:parseInt($attackerNation.find('.form_city_level').val()),
|
||||||
|
};
|
||||||
|
|
||||||
|
var attackerNation = {
|
||||||
|
type:parseInt($attackerNation.find('.form_nation_type').val()),
|
||||||
|
tech:parseInt($attackerNation.find('.form_tech').val()) * 1000,
|
||||||
|
level:parseInt($attackerNation.find('.form_nation_level').val()),
|
||||||
|
capital:$attackerNation.find('.form_is_capital:checked').val()=='1'?1:2,
|
||||||
|
}
|
||||||
|
|
||||||
|
var defenderGenerals = $('.defender_form').map(function(){
|
||||||
|
return exportGeneralInfo($(this));
|
||||||
|
}).toArray();
|
||||||
|
|
||||||
|
var defenderCity = {
|
||||||
|
def: parseInt($('#city_def').val()),
|
||||||
|
wall: parseInt($('#city_wall').val()),
|
||||||
|
level:parseInt($defenderNation.find('.form_city_level').val()),
|
||||||
|
};
|
||||||
|
|
||||||
|
var defenderNation = {
|
||||||
|
type:parseInt($defenderNation.find('.form_nation_type').val()),
|
||||||
|
tech:parseInt($defenderNation.find('.form_tech').val()) * 1000,
|
||||||
|
level:parseInt($defenderNation.find('.form_nation_level').val()),
|
||||||
|
capital:$defenderNation.find('.form_is_capital:checked').val()=='1'?3:4,
|
||||||
|
}
|
||||||
|
|
||||||
|
var year = parseInt($('#year').val());
|
||||||
|
var month = parseInt($('#month').val());
|
||||||
|
var repeatCnt = parseInt($('#repeat_cnt').val());
|
||||||
|
|
||||||
|
return {
|
||||||
|
attackerGeneral:attackerGeneral,
|
||||||
|
attackerCity:attackerCity,
|
||||||
|
attackerNation:attackerNation,
|
||||||
|
|
||||||
|
defenderGenerals:defenderGenerals,
|
||||||
|
defenderCity:defenderCity,
|
||||||
|
defenderNation:defenderNation,
|
||||||
|
|
||||||
|
year:year,
|
||||||
|
month:month,
|
||||||
|
repeatCnt:repeatCnt,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
var extendAllDataForDB = function(allData){
|
||||||
|
var defaultNation = {
|
||||||
|
nation:0,
|
||||||
|
name:'재야',
|
||||||
|
capital:0,
|
||||||
|
level:0,
|
||||||
|
gold:0,
|
||||||
|
rice:2000,
|
||||||
|
type:0,
|
||||||
|
tech:0,
|
||||||
|
totaltech:0,
|
||||||
|
gennum:200,
|
||||||
|
};
|
||||||
|
|
||||||
|
var defaultCity = {
|
||||||
|
nation:0,
|
||||||
|
supply:1,
|
||||||
|
name:'도시',
|
||||||
|
|
||||||
|
pop:500000,
|
||||||
|
agri:10000,
|
||||||
|
comm:10000,
|
||||||
|
secu:10000,
|
||||||
|
def:1000,
|
||||||
|
wall:1000,
|
||||||
|
|
||||||
|
rate:100,
|
||||||
|
|
||||||
|
pop2:600000,
|
||||||
|
agri2:12000,
|
||||||
|
comm2:12000,
|
||||||
|
secu2:10000,
|
||||||
|
def2:12000,
|
||||||
|
wall2:12000,
|
||||||
|
|
||||||
|
dead:0,
|
||||||
|
|
||||||
|
state:0,
|
||||||
|
gen1:0,
|
||||||
|
gen2:0,
|
||||||
|
gen3:0,
|
||||||
|
|
||||||
|
conflict:'{}',
|
||||||
|
};
|
||||||
|
|
||||||
|
var attackerNation = $.extend({}, defaultNation, allData.attackerNation);
|
||||||
|
attackerNation.nation = 1;
|
||||||
|
attackerNation.name = '출병국';
|
||||||
|
attackerNation.totaltech = attackerNation.tech * attackerNation.gennum;
|
||||||
|
|
||||||
|
var attackerCity = $.extend({}, defaultCity, allData.attackerCity);
|
||||||
|
attackerCity.nation = 1;
|
||||||
|
attackerCity.city = 1;
|
||||||
|
|
||||||
|
var attackerGeneral = extendGeneralInfoForDB(allData.attackerGeneral);
|
||||||
|
if(attackerGeneral.level == 4){
|
||||||
|
attackerCity.gen1 = attackerGeneral.no;
|
||||||
|
}
|
||||||
|
if(attackerGeneral.level == 3){
|
||||||
|
attackerCity.gen2 = attackerGeneral.no;
|
||||||
|
}
|
||||||
|
if(attackerGeneral.level == 2){
|
||||||
|
attackerCity.gen3 = attackerGeneral.no;
|
||||||
|
}
|
||||||
|
|
||||||
|
var defenderNation = $.extend({}, defaultNation, allData.defenderNation);
|
||||||
|
defenderNation.nation = 2;
|
||||||
|
defenderNation.name = '수비국';
|
||||||
|
defenderNation.totaltech = defenderNation.tech * defenderNation.gennum;
|
||||||
|
|
||||||
|
var defenderCity = $.extend({}, defaultCity, allData.defenderCity);
|
||||||
|
defenderCity.nation = 2;
|
||||||
|
defenderCity.city = 3;
|
||||||
|
defenderCity.wall2 = defenderCity.wall/5*6;
|
||||||
|
defenderCity.def2 = defenderCity.def/5*6;
|
||||||
|
|
||||||
|
var defenderGenerals = [];
|
||||||
|
$.each(allData.defenderGenerals, function(){
|
||||||
|
var defenderGeneral = extendGeneralInfoForDB(this);
|
||||||
|
if(defenderGeneral.level == 4){
|
||||||
|
defenderCity.gen1 = defenderGeneral.no;
|
||||||
|
}
|
||||||
|
if(defenderGeneral.level == 3){
|
||||||
|
defenderCity.gen2 = defenderGeneral.no;
|
||||||
|
}
|
||||||
|
if(defenderGeneral.level == 2){
|
||||||
|
defenderCity.gen3 = defenderGeneral.no;
|
||||||
|
}
|
||||||
|
|
||||||
|
defenderGenerals.push(defenderGeneral);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
return $.extend({}, allData, {
|
||||||
|
attackerGeneral:attackerGeneral,
|
||||||
|
attackerCity:attackerCity,
|
||||||
|
attackerNation:attackerNation,
|
||||||
|
|
||||||
|
defenderGenerals:defenderGenerals,
|
||||||
|
defenderCity:defenderCity,
|
||||||
|
defenderNation:defenderNation,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var parseSkillCount = function(skills){
|
||||||
|
var result = [];
|
||||||
|
$.each(skills, function(key, value){
|
||||||
|
result.push("{0}({1}회)".format(key, toPretty(value)));
|
||||||
|
})
|
||||||
|
|
||||||
|
if(result.length == 0){
|
||||||
|
return '-';
|
||||||
|
}
|
||||||
|
return result.join(', ');
|
||||||
|
}
|
||||||
|
|
||||||
|
var toPretty = function(number){
|
||||||
|
if(isInt(number)){
|
||||||
|
number = parseInt(number);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
number = parseFloat(number).toFixed(2);
|
||||||
|
}
|
||||||
|
return numberWithCommas(number);
|
||||||
|
}
|
||||||
|
|
||||||
|
var showBattleResult = function(result){
|
||||||
|
$('#result_datetime').html(result.datetime);
|
||||||
|
$('#result_warcnt').html(toPretty(result.avgWar));
|
||||||
|
$('#result_phase').html(toPretty(result.phase));
|
||||||
|
$('#result_killed').html(toPretty(result.killed));
|
||||||
|
if(result.minKilled != result.maxKilled){
|
||||||
|
$('#result_maxKilled').html(toPretty(result.maxKilled));
|
||||||
|
$('#result_minKilled').html(toPretty(result.minKilled));
|
||||||
|
$('#result_varKilled').show();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$('#result_varKilled').hide();
|
||||||
|
}
|
||||||
|
$('#result_dead').html(toPretty(result.dead));
|
||||||
|
if(result.minDead != result.maxDead){
|
||||||
|
$('#result_maxDead').html(toPretty(result.maxDead));
|
||||||
|
$('#result_minDead').html(toPretty(result.minDead));
|
||||||
|
$('#result_varDead').show();
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$('#result_varDead').hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#result_attackerRice').html(toPretty(result.attackerRice));
|
||||||
|
$('#result_defenderRice').html(toPretty(result.defenderRice));
|
||||||
|
$('#result_attackerSkills').html(parseSkillCount(result.attackerSkills));
|
||||||
|
|
||||||
|
$('.result_defenderSkills').detach();
|
||||||
|
|
||||||
|
var $summary = $('#battle_result_summary');
|
||||||
|
|
||||||
|
$.each(result.defendersSkills, function(idx, defenderSkills){
|
||||||
|
console.log(defenderSkills);
|
||||||
|
var $result = $("<tr class='result_defenderSkills'><th>수비자{0} 스킬</th><td></td></tr>".format(idx + 1));
|
||||||
|
$result.find('td').html(parseSkillCount(defenderSkills));
|
||||||
|
$summary.append($result);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#generalBattleResultLog').html(result.lastWarLog.generalBattleResultLog);
|
||||||
|
$('#generalBattleDetailLog').html(result.lastWarLog.generalBattleDetailLog);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var beginBattle = function(){
|
||||||
|
var data = extendAllDataForDB(exportAllData());
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
url:'j_simulate_battle.php',
|
||||||
|
dataType:'json',
|
||||||
|
data:{
|
||||||
|
action:'battle',
|
||||||
|
query:JSON.stringify(data),
|
||||||
|
}
|
||||||
|
}).then(function(result){
|
||||||
|
console.log(result);
|
||||||
|
if(!result.result){
|
||||||
|
alert(result.reason);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
showBattleResult(result);
|
||||||
|
|
||||||
|
}, function(result){
|
||||||
|
alert('전투 개시 실패!');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var reorderDefender = function(defenderOrder){
|
||||||
|
$.each(defenderOrder, function(idx, generalNo){
|
||||||
|
|
||||||
|
if(!(generalNo in defenderNoList)){
|
||||||
|
//음..?
|
||||||
|
alert("{0}이 수비자 리스트에 없습니다. 버그인 듯 합니다.".format(generalNo));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var $defenderObj = defenderNoList[generalNo];
|
||||||
|
$defenderObj.detach();
|
||||||
|
$defenderColumn.append($defenderObj);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
var requestReorderDefender = function(){
|
||||||
|
var data = extendAllDataForDB(exportAllData());
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:'post',
|
||||||
|
url:'j_simulate_battle.php',
|
||||||
|
dataType:'json',
|
||||||
|
data:{
|
||||||
|
action:'reorder',
|
||||||
|
query:JSON.stringify(data),
|
||||||
|
}
|
||||||
|
}).then(function(result){
|
||||||
|
console.log(result);
|
||||||
|
if(!result.result){
|
||||||
|
alert(result.reason);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
reorderDefender(result.order);
|
||||||
|
|
||||||
|
}, function(result){
|
||||||
|
alert('재정렬 실패!');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
initBasicEvent();
|
||||||
|
$attackerCard.append($generalForm.clone(true,true));
|
||||||
|
addDefender();
|
||||||
|
|
||||||
|
$('.btn-begin_battle').click(function(){
|
||||||
|
beginBattle();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.btn-reorder_defender').click(function(){
|
||||||
|
requestReorderDefender();
|
||||||
|
})
|
||||||
|
});
|
||||||
@@ -23,6 +23,14 @@ var escapeHtml = (function (string) {
|
|||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 변수가 정수인지 확인하는 함수
|
||||||
|
* @param {*} n 정수인지 확인하기 위한 인자
|
||||||
|
* @return {boolean} 정수인지 여부
|
||||||
|
*/
|
||||||
|
function isInt(n) {
|
||||||
|
return +n === n && !(n % 1);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* object의 array를 id를 key로 삼는 object로 재 변환
|
* object의 array를 id를 key로 삼는 object로 재 변환
|
||||||
@@ -89,6 +97,11 @@ function convColorValue(color) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function numberWithCommas(x) {
|
||||||
|
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 단순한 Template 함수. <%변수명%>으로 template 가능
|
* 단순한 Template 함수. <%변수명%>으로 template 가능
|
||||||
* @see https://github.com/krasimir/absurd/blob/master/lib/processors/html/helpers/TemplateEngine.js
|
* @see https://github.com/krasimir/absurd/blob/master/lib/processors/html/helpers/TemplateEngine.js
|
||||||
@@ -137,4 +150,11 @@ jQuery(function($){
|
|||||||
},
|
},
|
||||||
html:true
|
html:true
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var customCSS = localStorage.getItem('sam_customCSS');
|
||||||
|
if(customCSS){
|
||||||
|
var $style = $('<style type="text/css"></style>');
|
||||||
|
$style.text(customCSS);
|
||||||
|
$style.appendTo($('head'));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -0,0 +1,75 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
jQuery(function($){
|
||||||
|
|
||||||
|
function guiEditorInit($obj, editable){
|
||||||
|
var $submitBtn = $obj.find('.submit');
|
||||||
|
var $noticeInput = $obj.find('.input_form');
|
||||||
|
var $editForm = $obj.find('.edit_form');
|
||||||
|
var $cancelEdit = $obj.find('.cancel_edit');
|
||||||
|
|
||||||
|
var editMode = false;
|
||||||
|
|
||||||
|
function enableEditor(){
|
||||||
|
editMode = true;
|
||||||
|
$cancelEdit.show();
|
||||||
|
$editForm.removeClass('viewer').summernote({
|
||||||
|
minHeight:200,
|
||||||
|
maxHeight:null,
|
||||||
|
focus:true,
|
||||||
|
lang:'ko-KR',
|
||||||
|
toolbar: [
|
||||||
|
// [groupName, [list of button]]
|
||||||
|
['do', ['undo', 'redo']],
|
||||||
|
['style', ['bold', 'italic', 'underline', 'clear']],
|
||||||
|
['font2', ['fontname', 'fontsize']],
|
||||||
|
['font', ['strikethrough', 'superscript', 'subscript']],
|
||||||
|
['color', ['color']],
|
||||||
|
['in', ['picture', 'link', 'video', 'table', 'hr']],
|
||||||
|
['para', ['ul', 'ol', 'paragraph']],
|
||||||
|
['height', ['height', 'codeview']]
|
||||||
|
],
|
||||||
|
fontNames: ['맑은 고딕', 'Nanum Gothic', 'Nanum Myeongjo', 'Nanum Pen Script', '굴림', '굴림체', '바탕', '바탕체', '궁서', '궁서체'],
|
||||||
|
fontSizes: ['8', '9', '10', '11', '12', '14', '16', '20', '24', '28', '32', '36', '40', '46', '52', '60'],
|
||||||
|
|
||||||
|
}).summernote('code', $noticeInput.val());
|
||||||
|
}
|
||||||
|
|
||||||
|
function disableEditor(){
|
||||||
|
editMode = false;
|
||||||
|
$editForm.summernote('destroy');
|
||||||
|
$cancelEdit.hide();
|
||||||
|
$editForm.html($noticeInput.val()).addClass('viewer');
|
||||||
|
}
|
||||||
|
|
||||||
|
$cancelEdit.hide();
|
||||||
|
$editForm.html($noticeInput.val());
|
||||||
|
if(editable){
|
||||||
|
$submitBtn.prop('disabled', false);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$submitBtn.prop('disabled', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$submitBtn.click(function(e){
|
||||||
|
if(!editMode){
|
||||||
|
e.preventDefault();
|
||||||
|
enableEditor();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$noticeInput.val($editForm.summernote('code'));
|
||||||
|
});
|
||||||
|
|
||||||
|
$cancelEdit.click(function(e){
|
||||||
|
e.preventDefault();
|
||||||
|
disableEditor();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
guiEditorInit($('#noticeForm'), editable);
|
||||||
|
guiEditorInit($('#scoutMsgForm'), editable);
|
||||||
|
|
||||||
|
})
|
||||||
@@ -10,7 +10,7 @@ $(function(){
|
|||||||
var getUserType = function(통,무,지){
|
var getUserType = function(통,무,지){
|
||||||
var 총 = 통+무+지;
|
var 총 = 통+무+지;
|
||||||
if(통 < 40){
|
if(통 < 40){
|
||||||
if(무+지 < 통){
|
if(무+지 < 40){
|
||||||
return "무능";
|
return "무능";
|
||||||
}
|
}
|
||||||
return "무지";
|
return "무지";
|
||||||
@@ -28,6 +28,9 @@ $(function(){
|
|||||||
if(지 >= 60 && 무 < 지*0.8){
|
if(지 >= 60 && 무 < 지*0.8){
|
||||||
return "지";
|
return "지";
|
||||||
}
|
}
|
||||||
|
if(통 >= 60 && 무 + 지 < 통){
|
||||||
|
return "통";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -83,6 +86,7 @@ $(function(){
|
|||||||
if(!(국가 in 국가별)){
|
if(!(국가 in 국가별)){
|
||||||
국가별[국가] = {};
|
국가별[국가] = {};
|
||||||
국가별[국가].만능 = [];
|
국가별[국가].만능 = [];
|
||||||
|
국가별[국가].통 = [];
|
||||||
국가별[국가].무 = [];
|
국가별[국가].무 = [];
|
||||||
국가별[국가].지 = [];
|
국가별[국가].지 = [];
|
||||||
국가별[국가].평범 = [];
|
국가별[국가].평범 = [];
|
||||||
|
|||||||
+1
-1
@@ -165,7 +165,7 @@ jQuery(function($){
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#join_form').submit(function(){
|
$('#join_form').submit(function(){
|
||||||
var currentStatTotal = parseInt($leader.val()) + parseInt($power.val()) + parseInt($leader.val());
|
var currentStatTotal = parseInt($leader.val()) + parseInt($power.val()) + parseInt($intel.val());
|
||||||
if(currentStatTotal < defaultStatTotal){
|
if(currentStatTotal < defaultStatTotal){
|
||||||
if(!confirm('현재 능력치 총합은 {0}으로, {1}보다 낮습니다. 장수 생성을 진행할까요?'.format(currentStatTotal, defaultStatTotal))){
|
if(!confirm('현재 능력치 총합은 {0}으로, {1}보다 낮습니다. 장수 생성을 진행할까요?'.format(currentStatTotal, defaultStatTotal))){
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
+1
-1
@@ -402,7 +402,7 @@ function activateMessageForm(){
|
|||||||
jQuery(function($){
|
jQuery(function($){
|
||||||
|
|
||||||
//tmp_template.html은 추후 msg.js에 통합될 수 있음
|
//tmp_template.html은 추후 msg.js에 통합될 수 있음
|
||||||
var getTemplate = $.get('js/templates/message.html',function(obj){
|
var getTemplate = $.get('js/templates/message.html?3',function(obj){
|
||||||
messageTemplate = obj;
|
messageTemplate = obj;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
jQuery(function($){
|
||||||
|
|
||||||
|
|
||||||
|
var initCustomCSSForm = function(){
|
||||||
|
var lastTimeOut = null;
|
||||||
|
var $obj = $('#custom_css');
|
||||||
|
var key = 'sam_customCSS';
|
||||||
|
|
||||||
|
var text = localStorage.getItem(key);
|
||||||
|
if(text){
|
||||||
|
$obj.val(text);
|
||||||
|
console.log(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($obj.on('change keyup paste', function(){
|
||||||
|
var newText = $obj.val();
|
||||||
|
if(text == newText){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(lastTimeOut){
|
||||||
|
clearTimeout(lastTimeOut);
|
||||||
|
}
|
||||||
|
$obj.css('background-color', '#222222');
|
||||||
|
lastTimeOut = setTimeout(function(){
|
||||||
|
text = $obj.val();
|
||||||
|
localStorage.setItem(key, text);
|
||||||
|
$obj.css('background-color', 'black');
|
||||||
|
}, 500);
|
||||||
|
}));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
initCustomCSSForm();
|
||||||
|
});
|
||||||
@@ -5,9 +5,9 @@
|
|||||||
>
|
>
|
||||||
<div class="msg_icon">
|
<div class="msg_icon">
|
||||||
<%if(src.icon){ %>
|
<%if(src.icon){ %>
|
||||||
<img width='64' height='64' src="<%encodeURI(src.icon)%>">
|
<img class='generalIcon' width='64' height='64' src="<%encodeURI(src.icon)%>">
|
||||||
<%} else {%>
|
<%} else {%>
|
||||||
<img width='64' height='64' src="<%encodeURI(defaultIcon)%>">
|
<img class='generalIcon' width='64' height='64' src="<%encodeURI(defaultIcon)%>">
|
||||||
<%}%>
|
<%}%>
|
||||||
</div>
|
</div>
|
||||||
<div class="msg_body">
|
<div class="msg_body">
|
||||||
@@ -16,9 +16,9 @@
|
|||||||
<%if(src.name == generalName){%>
|
<%if(src.name == generalName){%>
|
||||||
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;">나</span
|
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;">나</span
|
||||||
><span class="msg_from_to">▶</span
|
><span class="msg_from_to">▶</span
|
||||||
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"><%e(dest.name)%>:<%e(dest.nation)%></span>
|
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"><%e(dest.name)%>:<%dest.nation%></span>
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span
|
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%src.nation%></span
|
||||||
><span class="msg_from_to">▶</span
|
><span class="msg_from_to">▶</span
|
||||||
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;">나</span>
|
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;">나</span>
|
||||||
<%}%>
|
<%}%>
|
||||||
@@ -28,13 +28,13 @@
|
|||||||
<%if(src.nation_id == nationID){%>
|
<%if(src.nation_id == nationID){%>
|
||||||
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%></span
|
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%></span
|
||||||
><span class="msg_from_to">▶</span
|
><span class="msg_from_to">▶</span
|
||||||
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"><%e(dest.nation)%></span>
|
><span class="msg_target msg_<%dest.colorType%>" style="background-color:<%dest.color%>;"><%dest.nation%></span>
|
||||||
<%}else{%>
|
<%}else{%>
|
||||||
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span
|
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%src.nation%></span
|
||||||
><span class="msg_from_to"></span>
|
><span class="msg_from_to"></span>
|
||||||
<%}%>
|
<%}%>
|
||||||
<%} else {%>
|
<%} else {%>
|
||||||
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%e(src.nation)%></span>
|
<span class="msg_target msg_<%src.colorType%>" style="background-color:<%src.color%>;"><%e(src.name)%>:<%src.nation%></span>
|
||||||
<%} %>
|
<%} %>
|
||||||
<span class="msg_time"><<%e(time)%>></span>
|
<span class="msg_time"><<%e(time)%>></span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+34
-17
@@ -35,9 +35,9 @@ function processWar(array $rawAttacker, array $rawDefenderCity){
|
|||||||
|
|
||||||
$attacker = new WarUnitGeneral($rawAttacker, $rawAttackerCity, $rawAttackerNation, true, $year, $month);
|
$attacker = new WarUnitGeneral($rawAttacker, $rawAttackerCity, $rawAttackerNation, true, $year, $month);
|
||||||
|
|
||||||
$city = new WarUnitCity($rawDefenderCity, $rawAttackerNation, $year, $month, $cityRate);
|
$city = new WarUnitCity($rawDefenderCity, $rawDefenderNation, $year, $month, $cityRate);
|
||||||
|
|
||||||
$defenderList = $db->query('SELECT no,name,nation,turntime,personal,special2,crew,crewtype,atmos,train,intel,intel2,book,power,power2,weap,injury,leader,leader2,horse,item,explevel,experience,dedication,level,gold,rice,dex0,dex10,dex20,dex30,dex40,warnum,killnum,deathnum,killcrew,deathcrew,recwar FROM general WHERE nation=%i AND city=%i AND nation!=0 and crew > 0 and rice>(crew/100) and ((train>=60 and atmos>=60 and mode=1) or (train>=80 and atmos>=80 and mode=2))', $city->getVar('nation'), $city->getVar('city'));
|
$defenderList = $db->query('SELECT no,name,nation,turntime,personal,special2,crew,crewtype,atmos,train,intel,intel2,book,power,power2,weap,injury,leader,leader2,horse,item,explevel,experience,dedication,level,gold,rice,dex0,dex10,dex20,dex30,dex40,warnum,killnum,deathnum,killcrew,deathcrew,recwar,mode FROM general WHERE nation=%i AND city=%i AND nation!=0 and crew > 0 and rice>(crew/100) and ((train>=60 and atmos>=60 and mode=1) or (train>=80 and atmos>=80 and mode=2))', $city->getVar('nation'), $city->getVar('city'));
|
||||||
|
|
||||||
if(!$defenderList){
|
if(!$defenderList){
|
||||||
$defenderList = [];
|
$defenderList = [];
|
||||||
@@ -63,7 +63,12 @@ function processWar(array $rawAttacker, array $rawDefenderCity){
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$retVal = new WarUnitGeneral($iterDefender->current(), $rawDefenderCity, $rawDefenderNation, false, $year, $month);
|
$rawGeneral = $iterDefender->current();
|
||||||
|
if(extractBattleOrder($rawGeneral) <= 0){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$retVal = new WarUnitGeneral($rawGeneral, $rawDefenderCity, $rawDefenderNation, false, $year, $month);
|
||||||
$iterDefender->next();
|
$iterDefender->next();
|
||||||
return $retVal;
|
return $retVal;
|
||||||
};
|
};
|
||||||
@@ -154,6 +159,26 @@ function processWar(array $rawAttacker, array $rawDefenderCity){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function extractBattleOrder($general){
|
function extractBattleOrder($general){
|
||||||
|
if($general['crew'] == 0){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($general['rice'] <= $general['crew'] / 100){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($general['mode'] == 0){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($general['mode'] == 1 && ($general['train'] < 60 || $general['atmos'] < 60)){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($general['mode'] == 2 && ($general['train'] < 80 || $general['atmos'] < 80)){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
$general['leader'] +
|
$general['leader'] +
|
||||||
$general['power'] +
|
$general['power'] +
|
||||||
@@ -237,7 +262,7 @@ function processWar_NG(
|
|||||||
$josaYi = JosaUtil::pick($attacker->getName(), '이');
|
$josaYi = JosaUtil::pick($attacker->getName(), '이');
|
||||||
$josaRo = JosaUtil::pick($attacker->getCrewTypeName(), '로');
|
$josaRo = JosaUtil::pick($attacker->getCrewTypeName(), '로');
|
||||||
$logger->pushGlobalActionLog("<Y>{$attacker->getName()}</>{$josaYi} {$attacker->getCrewTypeName()}{$josaRo} 성벽을 공격합니다.");
|
$logger->pushGlobalActionLog("<Y>{$attacker->getName()}</>{$josaYi} {$attacker->getCrewTypeName()}{$josaRo} 성벽을 공격합니다.");
|
||||||
$logger->pushGeneralActionLog("<C>●</>{$attacker->getCrewTypeName()}{$josaRo} 성벽을 <M>공격</>합니다.", ActionLogger::PLAIN);
|
$logger->pushGeneralActionLog("{$attacker->getCrewTypeName()}{$josaRo} 성벽을 <M>공격</>합니다.", ActionLogger::PLAIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
$defender->useBattleInitItem();
|
$defender->useBattleInitItem();
|
||||||
@@ -396,11 +421,11 @@ function processWar_NG(
|
|||||||
|
|
||||||
if($currPhase == $attacker->getMaxPhase()){
|
if($currPhase == $attacker->getMaxPhase()){
|
||||||
//마지막 페이즈의 전투 마무리
|
//마지막 페이즈의 전투 마무리
|
||||||
$attacker->tryWound();
|
|
||||||
$defender->tryWound();
|
|
||||||
|
|
||||||
$attacker->logBattleResult();
|
$attacker->logBattleResult();
|
||||||
$defender->logBattleResult();
|
$defender->logBattleResult();
|
||||||
|
|
||||||
|
$attacker->tryWound();
|
||||||
|
$defender->tryWound();
|
||||||
}
|
}
|
||||||
|
|
||||||
if($defender instanceof WarUnitCity){
|
if($defender instanceof WarUnitCity){
|
||||||
@@ -637,14 +662,11 @@ function ConquerCity($admin, $general, $city, $nation, $destnation) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$general['atmos'] *= 1.1; //사기 증가
|
|
||||||
if($general['atmos'] > GameConst::$maxAtmosByWar) { $general['atmos'] = GameConst::$maxAtmosByWar; }
|
|
||||||
|
|
||||||
$conquerNation = getConquerNation($city);
|
$conquerNation = getConquerNation($city);
|
||||||
|
|
||||||
if($conquerNation == $general['nation']) {
|
if($conquerNation == $general['nation']) {
|
||||||
// 이동 및 사기 변경
|
// 이동
|
||||||
$query = "update general set city='{$city['city']}',atmos='{$general['atmos']}',killnum=killnum+1 where no='{$general['no']}'";
|
$query = "update general set city='{$city['city']}' where no='{$general['no']}'";
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
if($city['level'] > 3) {
|
if($city['level'] > 3) {
|
||||||
// 도시 소속 변경, 태수,군사,시중 초기화
|
// 도시 소속 변경, 태수,군사,시중 초기화
|
||||||
@@ -663,16 +685,11 @@ function ConquerCity($admin, $general, $city, $nation, $destnation) {
|
|||||||
$conquerResult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
$conquerResult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||||
$conquerNationArray = MYDB_fetch_array($conquerResult);
|
$conquerNationArray = MYDB_fetch_array($conquerResult);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$josaUl = JosaUtil::pick($city['name'], '을');
|
$josaUl = JosaUtil::pick($city['name'], '을');
|
||||||
$josaYi = JosaUtil::pick($conquerNationArray['name'], '이');
|
$josaYi = JosaUtil::pick($conquerNationArray['name'], '이');
|
||||||
$history[] = "<C>●</>{$year}년 {$month}월:<Y><b>【분쟁협상】</b></><D><b>{$conquerNationArray['name']}</b></>{$josaYi} 영토분쟁에서 우위를 점하여 <G><b>{$city['name']}</b></>{$josaUl} 양도받았습니다.";
|
$history[] = "<C>●</>{$year}년 {$month}월:<Y><b>【분쟁협상】</b></><D><b>{$conquerNationArray['name']}</b></>{$josaYi} 영토분쟁에서 우위를 점하여 <G><b>{$city['name']}</b></>{$josaUl} 양도받았습니다.";
|
||||||
pushNationHistory($nation, "<C>●</>{$year}년 {$month}월:<G><b>{$city['name']}</b></>{$josaUl} <D><b>{$conquerNationArray['name']}</b></>에 <Y>양도</>");
|
pushNationHistory($nation, "<C>●</>{$year}년 {$month}월:<G><b>{$city['name']}</b></>{$josaUl} <D><b>{$conquerNationArray['name']}</b></>에 <Y>양도</>");
|
||||||
pushNationHistory($conquerNationArray, "<C>●</>{$year}년 {$month}월:<D><b>{$nation['name']}</b></>에서 <G><b>{$city['name']}</b></>{$josaUl} <S>양도</> 받음");
|
pushNationHistory($conquerNationArray, "<C>●</>{$year}년 {$month}월:<D><b>{$nation['name']}</b></>에서 <G><b>{$city['name']}</b></>{$josaUl} <S>양도</> 받음");
|
||||||
// 이동X 및 사기 변경
|
|
||||||
$query = "update general set atmos='{$general['atmos']}',killnum=killnum+1 where no='{$general['no']}'";
|
|
||||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
|
||||||
|
|
||||||
$query = [
|
$query = [
|
||||||
'supply'=>1,
|
'supply'=>1,
|
||||||
|
|||||||
+7
-7
@@ -1609,11 +1609,11 @@ function command_53($turn, $command) {
|
|||||||
$result = MYDB_query($query, $connect) or Error("command_53 ".MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error("command_53 ".MYDB_error($connect),"");
|
||||||
$me = MYDB_fetch_array($result);
|
$me = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$query = "select round(avg(power)) as power,round(avg(gennum)) as gennum from nation where level>=1";
|
$query = "select avg(power) as power,avg(gennum) as gennum from nation where level>=1";
|
||||||
$result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
|
||||||
$avgNation = MYDB_fetch_array($result);
|
$avgNation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
$query = "select round(std(power)) as power,round(std(gennum)) as gennum from nation where level>=1";
|
$query = "select std(power) as power,std(gennum) as gennum from nation where level>=1";
|
||||||
$result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
|
||||||
$stdNation = MYDB_fetch_array($result);
|
$stdNation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
@@ -1633,13 +1633,13 @@ function command_53($turn, $command) {
|
|||||||
$result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
|
$result = MYDB_query($query, $connect) or Error("aaa_processing.php ".MYDB_error($connect),"");
|
||||||
$count = MYDB_num_rows($result);
|
$count = MYDB_num_rows($result);
|
||||||
|
|
||||||
$cond1 = $avgNation['power']+$stdNation['power'];
|
$cond1 = (-0.25 * $stdNation['power']) + $avgNation['power'];
|
||||||
$cond2 = $avgNation['gennum']+$stdNation['gennum'];
|
$cond2 = (-0.67 * $stdNation['gennum']) + $avgNation['gennum'];
|
||||||
|
|
||||||
for($i=1; $i <= $count; $i++) {
|
for($i=1; $i <= $count; $i++) {
|
||||||
$nation = MYDB_fetch_array($result);
|
$nation = MYDB_fetch_array($result);
|
||||||
|
|
||||||
if($myNation['power']+$nation['power'] > $cond1 || $myNation['gennum']+$nation['gennum'] > $cond2 || !isNeighbor($me['nation'], $nation['nation'])) {
|
if(($myNation['power']+$nation['power'])/2 > $cond1 || ($myNation['gennum']+$nation['gennum'])/2 > $cond2 || !isNeighbor($me['nation'], $nation['nation'])) {
|
||||||
echo "<option style=color:{$nation['color']};background-color:red; value={$nation['nation']}>【 {$nation['name']} 】</option>";
|
echo "<option style=color:{$nation['color']};background-color:red; value={$nation['nation']}>【 {$nation['name']} 】</option>";
|
||||||
} else {
|
} else {
|
||||||
echo "<option style=color:{$nation['color']} value={$nation['nation']}>【 {$nation['name']} 】</option>";
|
echo "<option style=color:{$nation['color']} value={$nation['nation']}>【 {$nation['name']} 】</option>";
|
||||||
@@ -1661,8 +1661,8 @@ function command_53($turn, $command) {
|
|||||||
제한 조건<br>
|
제한 조건<br>
|
||||||
- 인접 국가<br>
|
- 인접 국가<br>
|
||||||
- 양국 모두 외교제한 없음<br>
|
- 양국 모두 외교제한 없음<br>
|
||||||
- 양국 국력의 합이 평균+표준편차(현재 {$cond1}) 이하<br>
|
- 두 국가의 국력 평균이 상위 60%(현재 ".round($cond1,2).") 이하.<br>
|
||||||
- 양국 장수수의 합이 평균+표준편차(현재 {$cond2}) 이하<br>
|
- 두 국가의 장수수 평균이 상위 75%(현재 ".round($cond2,1).") 이하.<br>
|
||||||
";
|
";
|
||||||
ender(1);
|
ender(1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,6 +43,16 @@ class ActionLogger{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function rollback(){
|
public function rollback(){
|
||||||
|
$backup = [
|
||||||
|
'generalHistoryLog'=>$this->generalHistoryLog,
|
||||||
|
'generalActionLog'=>$this->generalActionLog,
|
||||||
|
'generalBattleResultLog'=>$this->generalBattleResultLog,
|
||||||
|
'generalBattleDetailLog'=>$this->generalBattleDetailLog,
|
||||||
|
'nationalHistoryLog'=>$this->nationalHistoryLog,
|
||||||
|
'globalHistoryLog'=>$this->globalHistoryLog,
|
||||||
|
'globalActionLog'=>$this->globalActionLog,
|
||||||
|
];
|
||||||
|
|
||||||
$this->generalHistoryLog = [];
|
$this->generalHistoryLog = [];
|
||||||
$this->generalActionLog = [];
|
$this->generalActionLog = [];
|
||||||
$this->generalBattleResultLog = [];
|
$this->generalBattleResultLog = [];
|
||||||
@@ -50,6 +60,8 @@ class ActionLogger{
|
|||||||
$this->nationalHistoryLog = [];
|
$this->nationalHistoryLog = [];
|
||||||
$this->globalHistoryLog = [];
|
$this->globalHistoryLog = [];
|
||||||
$this->globalActionLog = [];
|
$this->globalActionLog = [];
|
||||||
|
|
||||||
|
return $backup;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function flush(){
|
public function flush(){
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ class DiplomaticMessage extends Message{
|
|||||||
$josaWa = JosaUtil::pick($this->src->nationName, '와');
|
$josaWa = JosaUtil::pick($this->src->nationName, '와');
|
||||||
pushGeneralHistory(
|
pushGeneralHistory(
|
||||||
['no'=>$this->dest->generalID],
|
['no'=>$this->dest->generalID],
|
||||||
["<C>●</>{$helper->year}년 {$helper->month}월:<D><b>{$this->src->nationName}</b></>{$josaWa} 통합 시도"]
|
"<C>●</>{$helper->year}년 {$helper->month}월:<D><b>{$this->src->nationName}</b></>{$josaWa} 통합 시도"
|
||||||
);
|
);
|
||||||
pushGenLog(
|
pushGenLog(
|
||||||
['no'=>$this->dest->generalID],
|
['no'=>$this->dest->generalID],
|
||||||
@@ -200,7 +200,7 @@ class DiplomaticMessage extends Message{
|
|||||||
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
|
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
|
||||||
pushGeneralHistory(
|
pushGeneralHistory(
|
||||||
['no'=>$this->src->generalID],
|
['no'=>$this->src->generalID],
|
||||||
["<C>●</>{$helper->year}년 {$helper->month}월:<D><b>{$this->dest->nationName}</b></>{$josaWa} 통합 시도"]
|
"<C>●</>{$helper->year}년 {$helper->month}월:<D><b>{$this->dest->nationName}</b></>{$josaWa} 통합 시도"
|
||||||
);
|
);
|
||||||
$josaYi = JosaUtil::pick($this->dest->nationName, '이');
|
$josaYi = JosaUtil::pick($this->dest->nationName, '이');
|
||||||
pushGenLog(
|
pushGenLog(
|
||||||
|
|||||||
@@ -29,12 +29,12 @@ class Diplomacy{
|
|||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$srcNation = $db->queryFirstRow(
|
$srcNation = $db->queryFirstRow(
|
||||||
'SELECT nation, `name`, `power`, capital, gold, rice, surlimit, color, `level` FROM nation WHERE nation=%i',
|
'SELECT nation, `name`, `power`, capital, gold, rice, gennum, surlimit, color, `level` FROM nation WHERE nation=%i',
|
||||||
$srcNationID
|
$srcNationID
|
||||||
);
|
);
|
||||||
|
|
||||||
$destNation = $db->queryFirstRow(
|
$destNation = $db->queryFirstRow(
|
||||||
'SELECT nation, `name`, `power`, capital, gold, rice, surlimit, color, `level` FROM nation WHERE nation=%i',
|
'SELECT nation, `name`, `power`, capital, gold, rice, gennum, surlimit, color, `level` FROM nation WHERE nation=%i',
|
||||||
$destNationID
|
$destNationID
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,18 @@ class NPC{
|
|||||||
public function build($env=[]){
|
public function build($env=[]){
|
||||||
//scenario에 life==1인 경우 수명 제한이 없어지는 모양.
|
//scenario에 life==1인 경우 수명 제한이 없어지는 모양.
|
||||||
|
|
||||||
|
if(!key_exists('stored_icons', $env)){
|
||||||
|
try{
|
||||||
|
$text = \file_get_contents(\sammo\ServConfig::getSharedIconPath('../hook/list.json?1'));
|
||||||
|
$storedIcons = \sammo\Json::decode($text);
|
||||||
|
}
|
||||||
|
catch(\Exception $e){
|
||||||
|
$storedIcons = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
$env['stored_icons'] = $storedIcons;
|
||||||
|
}
|
||||||
|
|
||||||
$isFictionMode = (Util::array_get($env['fiction'], 0)!=0);
|
$isFictionMode = (Util::array_get($env['fiction'], 0)!=0);
|
||||||
|
|
||||||
$year = $env['year'];
|
$year = $env['year'];
|
||||||
|
|||||||
+31
-2
@@ -28,11 +28,32 @@ class WarUnit{
|
|||||||
protected $warPowerMultiply = 1.0;
|
protected $warPowerMultiply = 1.0;
|
||||||
|
|
||||||
protected $activatedSkill = [];
|
protected $activatedSkill = [];
|
||||||
|
protected $logActivatedSkill = [];
|
||||||
protected $isFinished = false;
|
protected $isFinished = false;
|
||||||
|
|
||||||
private function __construct(){
|
private function __construct(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function clearActivatedSkill(){
|
||||||
|
foreach($this->activatedSkill as $skillName=>$state){
|
||||||
|
if(!$state){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!key_exists($skillName, $this->logActivatedSkill)){
|
||||||
|
$this->logActivatedSkill[$skillName] = 1;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$this->logActivatedSkill[$skillName] += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->activatedSkill = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
function getActivatedSkillLog():array{
|
||||||
|
return $this->logActivatedSkill;
|
||||||
|
}
|
||||||
|
|
||||||
function getRaw():array{
|
function getRaw():array{
|
||||||
return $this->raw;
|
return $this->raw;
|
||||||
}
|
}
|
||||||
@@ -183,7 +204,7 @@ class WarUnit{
|
|||||||
$this->oppose = $oppose;
|
$this->oppose = $oppose;
|
||||||
$this->killedCurr = 0;
|
$this->killedCurr = 0;
|
||||||
$this->deadCurr = 0;
|
$this->deadCurr = 0;
|
||||||
$this->activatedSkill = [];
|
$this->clearActivatedSkill();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getOppose():?WarUnit{
|
function getOppose():?WarUnit{
|
||||||
@@ -269,6 +290,14 @@ class WarUnit{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function addTrainBonus(int $trainBonus){
|
||||||
|
$this->trainBonus += $trainBonus;
|
||||||
|
}
|
||||||
|
|
||||||
|
function addAtmosBonus(int $atmosBonus){
|
||||||
|
$this->atmosBonus += $atmosBonus;
|
||||||
|
}
|
||||||
|
|
||||||
function getComputedTrain(){
|
function getComputedTrain(){
|
||||||
return GameConst::$maxTrainByCommand;
|
return GameConst::$maxTrainByCommand;
|
||||||
}
|
}
|
||||||
@@ -304,7 +333,7 @@ class WarUnit{
|
|||||||
}
|
}
|
||||||
|
|
||||||
function beginPhase():void{
|
function beginPhase():void{
|
||||||
$this->activatedSkill = [];
|
$this->clearActivatedSkill();
|
||||||
$this->computeWarPower();
|
$this->computeWarPower();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ class WarUnitCity extends WarUnit{
|
|||||||
if($this->isFinished){
|
if($this->isFinished){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
$this->clearActivatedSkill();
|
||||||
$this->isFinished = true;
|
$this->isFinished = true;
|
||||||
|
|
||||||
$this->updateVar('def', Util::round($this->getHP() / 10));
|
$this->updateVar('def', Util::round($this->getHP() / 10));
|
||||||
|
|||||||
@@ -311,12 +311,12 @@ class WarUnitGeneral extends WarUnit{
|
|||||||
}
|
}
|
||||||
else if($item >= 14 && $item <= 16){
|
else if($item >= 14 && $item <= 16){
|
||||||
//의적주, 두강주, 보령압주 사용
|
//의적주, 두강주, 보령압주 사용
|
||||||
$this->addAtmos(5);
|
$this->addAtmosBonus(5);
|
||||||
$itemActivated = true;
|
$itemActivated = true;
|
||||||
}
|
}
|
||||||
else if($item >= 19 && $item <= 20){
|
else if($item >= 19 && $item <= 20){
|
||||||
//춘화첩, 초선화 사용
|
//춘화첩, 초선화 사용
|
||||||
$this->addAtmos(7);
|
$this->addAtmosBonus(7);
|
||||||
$itemActivated = true;
|
$itemActivated = true;
|
||||||
}
|
}
|
||||||
else if($item == 4){
|
else if($item == 4){
|
||||||
@@ -327,12 +327,12 @@ class WarUnitGeneral extends WarUnit{
|
|||||||
}
|
}
|
||||||
else if($item >= 12 && $item <= 13){
|
else if($item >= 12 && $item <= 13){
|
||||||
//과실주, 이강주 사용
|
//과실주, 이강주 사용
|
||||||
$this->addTrain(5);
|
$this->addTrainBonus(5);
|
||||||
$itemActivated = true;
|
$itemActivated = true;
|
||||||
}
|
}
|
||||||
else if($item >= 18 && $item <= 18){
|
else if($item >= 18 && $item <= 18){
|
||||||
//철벽서, 단결도 사용
|
//철벽서, 단결도 사용
|
||||||
$this->addTrain(7);
|
$this->addTrainBonus(7);
|
||||||
$itemActivated = true;
|
$itemActivated = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -475,7 +475,6 @@ class WarUnitGeneral extends WarUnit{
|
|||||||
$rice *= 0.8;
|
$rice *= 0.8;
|
||||||
}
|
}
|
||||||
|
|
||||||
$rice *= getCharExpMultiplier($this->getCharacter());
|
|
||||||
$rice *= $this->crewType->rice;
|
$rice *= $this->crewType->rice;
|
||||||
$rice *= getTechCost($this->getNationVar('tech'));
|
$rice *= getTechCost($this->getNationVar('tech'));
|
||||||
|
|
||||||
@@ -593,7 +592,7 @@ class WarUnitGeneral extends WarUnit{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($oppose instanceof WarUnitCity){
|
if($oppose instanceof WarUnitCity){
|
||||||
$magic = Util::choiceRandom(['급습', '위보',' 혼란']);
|
$magic = Util::choiceRandom(['급습', '위보', '혼란']);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
$magic = Util::choiceRandom(['위보', '매복', '반목', '화계', '혼란']);
|
$magic = Util::choiceRandom(['위보', '매복', '반목', '화계', '혼란']);
|
||||||
@@ -822,8 +821,8 @@ class WarUnitGeneral extends WarUnit{
|
|||||||
$thisLogger->pushGeneralBattleDetailLog("<D>{$skillKey}</>{$josaUl} <R>실패</>했다!");
|
$thisLogger->pushGeneralBattleDetailLog("<D>{$skillKey}</>{$josaUl} <R>실패</>했다!");
|
||||||
$opposeLogger->pushGeneralBattleDetailLog("<D>{$skillKey}</>{$josaUl} 간파했다!");
|
$opposeLogger->pushGeneralBattleDetailLog("<D>{$skillKey}</>{$josaUl} 간파했다!");
|
||||||
|
|
||||||
$this->multiplyWarPowerMultiply($skillMultiply);
|
$this->multiplyWarPowerMultiply(1/$skillMultiply);
|
||||||
$oppose->multiplyWarPowerMultiply(1/$skillMultiply);
|
$oppose->multiplyWarPowerMultiply($skillMultiply);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -955,6 +954,7 @@ class WarUnitGeneral extends WarUnit{
|
|||||||
if($this->isFinished){
|
if($this->isFinished){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
$this->clearActivatedSkill();
|
||||||
$this->isFinished = true;
|
$this->isFinished = true;
|
||||||
|
|
||||||
$this->increaseVar('killcrew', $this->killed);
|
$this->increaseVar('killcrew', $this->killed);
|
||||||
|
|||||||
+178
-191
@@ -23,25 +23,25 @@
|
|||||||
"diplomacy":[],
|
"diplomacy":[],
|
||||||
"general":[
|
"general":[
|
||||||
[0, "기타노시오리", null, 0, null, 96, 92, 93, 0, 160, 333, "왕좌", null],
|
[0, "기타노시오리", null, 0, null, 96, 92, 93, 0, 160, 333, "왕좌", null],
|
||||||
[0, "마도카", null, 0, null, 86, 50, 77, 0, 160, 300, null, "집중", "친구들에겐 비밀이야★"],
|
[0, "카나메 마도카", null, 0, null, 86, 50, 77, 0, 160, 300, null, "집중", "친구들에겐 비밀이야★"],
|
||||||
[0, "마미", null, 0, null, 70, 74, 60, 0, 165, 240, null, null, "이젠 아무것도 두렵지 않아"],
|
[0, "토모에 마미", null, 0, null, 70, 74, 60, 0, 165, 240, null, null, "이젠 아무것도 두렵지 않아"],
|
||||||
[0, "호무라", null, 0, null, 76, 64, 80, 0, 160, 333, null, "집중", "이게바로…사랑이야..♥"],
|
[0, "아케미 호무라", null, 0, null, 76, 64, 80, 0, 160, 333, null, "집중", "이게바로…사랑이야..♥"],
|
||||||
[0, "쿄코", null, 0, null, 68, 77, 54, 0, 160, 240, null, null],
|
[0, "사쿠라 쿄코", null, 0, null, 68, 77, 54, 0, 160, 240, null, null],
|
||||||
[0, "미키사야카", null, 0, null, 80, 77, 62, 0, 160, 240, null, null, "나는 정말…바보"],
|
[0, "미키 사야카", null, 0, null, 80, 77, 62, 0, 160, 240, null, null, "나는 정말…바보"],
|
||||||
[0, "나기사", null, 0, null, 72, 80, 70, 0, 160, 240, null, null, "나기사는 단지 치즈가 먹고싶엇던것 뿐이에요!"],
|
[0, "모모에 나기사", null, 0, null, 72, 80, 70, 0, 160, 240, null, null, "나기사는 단지 치즈가 먹고싶엇던것 뿐이에요!"],
|
||||||
[0, "오리코", null, 0, null, 65, 33, 94, 0, 160, 240, null, null, "이세계에 최악의 절망을."],
|
[0, "미쿠니 오리코", null, 0, null, 65, 33, 94, 0, 160, 240, null, null, "이세계에 최악의 절망을."],
|
||||||
[0, "쿠레키리카", null, 0, null, 50, 80, 50, 0, 160, 240, null, null],
|
[0, "쿠레 키리카", null, 0, null, 50, 80, 50, 0, 160, 240, null, null],
|
||||||
[0, "유마", null, 0, null, 69, 74, 70, 0, 160, 333, null, null],
|
[0, "치토세 유마", null, 0, null, 69, 74, 70, 0, 160, 333, null, null],
|
||||||
[0, "큐베", null, 0, null, 22, 14, 64, 0, 160, 333, null, null, "나랑 계약해서 마녀가 되어줘!"],
|
[0, "큐베", null, 0, null, 22, 14, 64, 0, 160, 333, null, null, "나랑 계약해서 마녀가 되어줘!"],
|
||||||
[0, "사사", null, 0, null, 64, 78, 72, 0, 160, 333, null, null],
|
[0, "사사", null, 0, null, 64, 78, 72, 0, 160, 333, null, null],
|
||||||
[0, "코이토", null, 0, null, 65, 70, 74, 0, 160, 333, null, null],
|
[0, "코이토", null, 0, null, 65, 70, 74, 0, 160, 333, null, null],
|
||||||
[0, "코마키", null, 0, null, 80, 75, 49, 0, 160, 333, null, null],
|
[0, "코마키", null, 0, null, 80, 75, 49, 0, 160, 333, null, null],
|
||||||
[0, "파브", null, 0, null, 40, 3, 32, 0, 160, 300, null, null, "지금부터 마을의 마법소녀를 반으로 줄여야 한다퐁!"],
|
[0, "파브", null, 0, null, 40, 3, 32, 0, 160, 300, null, null, "지금부터 마을의 마법소녀를 반으로 줄여야 한다퐁!"],
|
||||||
[0, "스노우화이트", null, 0, null, 68, 83, 79, 0, 160, 333, null, "돌격", "사람들을 도울수 있는게 기뻐서!"],
|
[0, "스노우화이트", null, 0, null, 86, 84, 79, 0, 160, 333, null, "돌격", "사람들을 도울수 있는게 기뻐서!"],
|
||||||
[0, "프흐레", null, 0, null, 84, 25, 100, 0, 160, 333, null, "집중", "괜찮아...... 그리고 데류지 에게 전달해 줘...... 원하는 나의 요구"],
|
[0, "프흐레", null, 0, null, 84, 25, 100, 0, 160, 333, null, "집중", "괜찮아...... 그리고 데류지 에게 전달해 줘...... 원하는 나의 요구"],
|
||||||
[0, "섀도게일", null, 0, null, 52, 75, 74, 0, 160, 333, null, null],
|
[0, "섀도게일", null, 0, null, 52, 75, 74, 0, 160, 333, null, null],
|
||||||
[0, "7753.0", null, 0, null, 64, 19, 84, 0, 160, 333, null, null, "전 인사부문소속의 7753이라고 합니다"],
|
[0, "7753.0", null, 0, null, 64, 19, 84, 0, 160, 333, null, null, "전 인사부문소속의 7753이라고 합니다"],
|
||||||
[0, "인페르노", null, 0, null, 79, 85, 60, 0, 160, 399, null, null, "저녀석..해버려줘,,,,마법소녀…사냥….그럼….가.."],
|
[0, "인페르노", null, 0, null, 82, 85, 60, 0, 160, 399, null, null, "저녀석..해버려줘,,,,마법소녀…사냥….그럼….가.."],
|
||||||
[0, "룰러", null, 0, null, 70, 30, 80, 0, 160, 333, null, null, "룰러의 이름으로 명한다"],
|
[0, "룰러", null, 0, null, 70, 30, 80, 0, 160, 333, null, null, "룰러의 이름으로 명한다"],
|
||||||
[0, "네무링", null, 0, null, 71, 63, 58, 0, 160, 333, null, null, "공주님이 되어버리면 되는거야."],
|
[0, "네무링", null, 0, null, 71, 63, 58, 0, 160, 333, null, null, "공주님이 되어버리면 되는거야."],
|
||||||
[0, "크랑테일", null, 0, null, 75, 86, 72, 0, 160, 333, null, null, "라즐리느와 페치카가 살려준 난...... 못 죽어"],
|
[0, "크랑테일", null, 0, null, 75, 86, 72, 0, 160, 333, null, null, "라즐리느와 페치카가 살려준 난...... 못 죽어"],
|
||||||
@@ -49,19 +49,19 @@
|
|||||||
[0, "글라시아네", null, 0, null, 42, 20, 85, 0, 160, 333, null, null, "죽이지마! 죽고싶지 않아!!"],
|
[0, "글라시아네", null, 0, null, 42, 20, 85, 0, 160, 333, null, null, "죽이지마! 죽고싶지 않아!!"],
|
||||||
[0, "페치카", null, 0, null, 71, 33, 75, 0, 160, 333, null, null, "그래도…이번엔 누군가를 구할수있어서..행복해요…"],
|
[0, "페치카", null, 0, null, 71, 33, 75, 0, 160, 333, null, null, "그래도…이번엔 누군가를 구할수있어서..행복해요…"],
|
||||||
[0, "하무엘", null, 0, null, 73, 23, 65, 0, 160, 333, null, null, "푸크푹이 유적안으로..윽…들어가고…있습니다…"],
|
[0, "하무엘", null, 0, null, 73, 23, 65, 0, 160, 333, null, null, "푸크푹이 유적안으로..윽…들어가고…있습니다…"],
|
||||||
[0, "타마", null, 0, null, 66, 81, 27, 0, 160, 300, null, null],
|
[0, "타마", null, 0, null, 76, 88, 27, 0, 160, 300, null, null],
|
||||||
[0, "파르", null, 0, null, 30, 10, 74, 0, 160, 300, null, null, "게임마스터와 마스코트간에 규칙소통의 차이가 있엇퐁."],
|
[0, "파르", null, 0, null, 30, 10, 82, 0, 160, 300, null, null, "여기서 벌어진 일들을 모두 마법나라에 고발했퐁!"],
|
||||||
[0, "나노하", null, 0, null, 85, 105, 85, 0, 160, 300, "패권", "위압", "잠깐 머리좀 식힐까?"],
|
[0, "타카마치 나노하", null, 0, null, 85, 105, 85, 0, 160, 300, "패권", "위압", "잠깐 머리좀 식힐까?"],
|
||||||
[0, "페이트", null, 0, null, 75, 89, 73, 0, 160, 300, null, null],
|
[0, "페이트", null, 0, null, 75, 89, 73, 0, 160, 300, null, null],
|
||||||
[0, "비비오", null, 0, null, 75, 70, 70, 0, 160, 300, null, null, "엄마를 돌려줘!!"],
|
[0, "타카마치 비비오", null, 0, null, 75, 70, 70, 0, 160, 300, null, null, "엄마를 돌려줘!!"],
|
||||||
[0, "린디", null, 0, null, 78, 50, 50, 0, 160, 300, null, null],
|
[0, "린디", null, 0, null, 78, 50, 50, 0, 160, 300, null, null],
|
||||||
[0, "크로노", null, 0, null, 73, 27, 58, 0, 160, 300, null, null],
|
[0, "크로노", null, 0, null, 73, 27, 58, 0, 160, 300, null, null],
|
||||||
[0, "스밥팅", null, 0, null, 53, 50, 64, 0, 160, 300, null, null],
|
[0, "스바루 나카지마", null, 0, null, 53, 50, 64, 0, 160, 300, null, null],
|
||||||
[0, "긴카", null, 0, null, 73, 80, 52, 0, 160, 300, null, null],
|
[0, "긴카 나카지마", null, 0, null, 73, 80, 52, 0, 160, 300, null, null],
|
||||||
[0, "캐로", null, 0, null, 71, 63, 74, 0, 160, 300, null, null],
|
[0, "캐로", null, 0, null, 71, 63, 74, 0, 160, 300, null, null],
|
||||||
[0, "에리오", null, 0, null, 65, 68, 72, 0, 160, 300, null, null],
|
[0, "에리오 몬디알", null, 0, null, 65, 68, 72, 0, 160, 300, null, null],
|
||||||
[0, "티아나", null, 0, null, 72, 82, 78, 0, 160, 300, null, null],
|
[0, "티아나 란스터", null, 0, null, 72, 82, 78, 0, 160, 300, null, null],
|
||||||
[0, "하야테", null, 0, null, 74, 55, 85, 0, 160, 300, null, "환술"],
|
[0, "야가미 하야테", null, 0, null, 74, 55, 85, 0, 160, 300, null, "환술"],
|
||||||
[0, "시그넘", null, 0, null, 75, 78, 79, 0, 160, 300, null, null],
|
[0, "시그넘", null, 0, null, 75, 78, 79, 0, 160, 300, null, null],
|
||||||
[0, "비타", null, 0, null, 70, 85, 50, 0, 160, 300, null, null],
|
[0, "비타", null, 0, null, 70, 85, 50, 0, 160, 300, null, null],
|
||||||
[0, "샤멀", null, 0, null, 55, 42, 80, 0, 160, 300, null, null],
|
[0, "샤멀", null, 0, null, 55, 42, 80, 0, 160, 300, null, null],
|
||||||
@@ -72,101 +72,101 @@
|
|||||||
[0, "유노", null, 0, null, 64, 45, 81, 0, 160, 300, null, null],
|
[0, "유노", null, 0, null, 64, 45, 81, 0, 160, 300, null, null],
|
||||||
[0, "쟈피라", null, 0, null, 20, 40, 65, 0, 160, 300, null, null],
|
[0, "쟈피라", null, 0, null, 20, 40, 65, 0, 160, 300, null, null],
|
||||||
[0, "셰인", null, 0, null, 43, 67, 30, 0, 160, 300, null, null],
|
[0, "셰인", null, 0, null, 43, 67, 30, 0, 160, 300, null, null],
|
||||||
[0, "이리야", null, 0, null, 79, 72, 67, 0, 160, 300, null, null, "소중한 내 친구니까!!"],
|
[0, "이리야스필", null, 0, null, 79, 72, 67, 0, 160, 300, null, null, "소중한 내 친구니까!!"],
|
||||||
[0, "미유", null, 0, null, 76, 82, 84, 0, 160, 300, null, null],
|
[0, "미유 에델펠트", null, 0, null, 76, 82, 84, 0, 160, 300, null, null],
|
||||||
[0, "쿠로", null, 0, null, 60, 73, 70, 0, 160, 300, null, null],
|
[0, "클로에", null, 0, null, 60, 73, 70, 0, 160, 300, null, null],
|
||||||
[0, "토오사카린", null, 0, null, 72, 62, 83, 0, 160, 300, null, null],
|
[0, "토오사카 린", null, 0, null, 72, 62, 83, 0, 160, 300, null, null],
|
||||||
[0, "루비아", null, 0, null, 56, 40, 50, 0, 160, 300, null, "상재"],
|
[0, "루비아", null, 0, null, 56, 40, 50, 0, 160, 300, null, "상재"],
|
||||||
[0, "시로", null, 0, null, 78, 40, 70, 0, 160, 300, null, null],
|
[0, "에미야 시로", null, 0, null, 78, 40, 70, 0, 160, 300, null, null],
|
||||||
[0, "타이가", null, 0, null, 55, 50, 40, 0, 160, 300, null, null],
|
[0, "타이가", null, 0, null, 55, 50, 40, 0, 160, 300, null, null],
|
||||||
[0, "루비", null, 0, null, 49, 20, 70, 0, 160, 300, null, "척사"],
|
[0, "루비", null, 0, null, 49, 20, 70, 0, 160, 300, null, "척사"],
|
||||||
[0, "사파이어", null, 0, null, 49, 55, 86, 0, 160, 300, null, null],
|
[0, "사파이어", null, 0, null, 49, 55, 86, 0, 160, 300, null, null],
|
||||||
[0, "세라", null, 0, null, 50, 77, 30, 0, 160, 300, null, null],
|
[0, "세라", null, 0, null, 50, 77, 30, 0, 160, 300, null, null],
|
||||||
[0, "리즈", null, 0, null, 50, 80, 30, 0, 160, 300, null, null],
|
[0, "리즈", null, 0, null, 50, 80, 30, 0, 160, 300, null, null],
|
||||||
[0, "아이리스필", null, 0, null, 80, 45, 79, 0, 160, 300, null, null],
|
[0, "아이리스필", null, 0, null, 80, 45, 79, 0, 160, 300, null, null],
|
||||||
[0, "키리츠구", null, 0, null, 90, 95, 89, 0, 160, 300, null, null, "나는 너를 죽이고…세계를 구한다….!"],
|
[0, "에미야 키리츠쿠", null, 0, null, 90, 95, 89, 0, 160, 300, null, null, "나는 너를 죽이고…세계를 구한다….!"],
|
||||||
[0, "젤레치", null, 0, null, 57, 52, 99, 0, 100, 300, null, null],
|
[0, "젤레치", null, 0, null, 57, 52, 99, 0, 100, 300, null, null],
|
||||||
[0, "로드 엘멜로이", null, 0, null, 75, 43, 90, 0, 160, 300, null, null, "아니,나는 그의 신하다"],
|
[0, "로드 엘멜로이", null, 0, null, 75, 43, 90, 0, 160, 300, null, null, "아니,나는 그의 신하다"],
|
||||||
[0, "클라나기사", null, 0, null, 85, 30, 85, 0, 160, 300, null, null, "경단~ 경단~ 경단 경단 경단 경단 대가족~"],
|
[0, "후루카와 나기사", null, 0, null, 85, 30, 85, 0, 160, 300, null, null, "경단~ 경단~ 경단 경단 경단 경단 대가족~"],
|
||||||
[0, "토모야", null, 0, null, 85, 84, 75, 0, 160, 300, null, null],
|
[0, "오카자키 토모야", null, 0, null, 85, 84, 75, 0, 160, 300, null, null],
|
||||||
[0, "후지바야시쿄", null, 0, null, 80, 85, 69, 0, 160, 300, null, "무쌍", "요헤이! 또 그러는 거야??"],
|
[0, "후지바야시쿄", null, 0, null, 80, 85, 82, 0, 160, 300, null, "무쌍", "요헤이! 또 그러는 거야??"],
|
||||||
[0, "후지바야시료", null, 0, null, 74, 30, 77, 0, 160, 300, null, null],
|
[0, "후지바야시료", null, 0, null, 74, 30, 77, 0, 160, 300, null, null],
|
||||||
[0, "토모요", null, 0, null, 80, 85, 65, 0, 160, 300, null, "무쌍"],
|
[0, "사카가미 토모요", null, 0, null, 80, 92, 87, 0, 160, 300, null, "무쌍"],
|
||||||
[0, "캇페이", null, 0, null, 75, 55, 18, 0, 160, 300, null, null],
|
[0, "히이라기 캇페이", null, 0, null, 75, 55, 18, 0, 160, 300, null, null],
|
||||||
[0, "요헤이", null, 0, null, 69, 60, 30, 0, 160, 300, null, "견고", "우오오오오오오!!!"],
|
[0, "스노하라 요헤이", null, 0, null, 69, 60, 30, 0, 160, 300, null, "견고", "그리고 변기커버!"],
|
||||||
[0, "스노하라메이", null, 0, null, 70, 70, 70, 0, 160, 300, null, null, "저희 못난 오빠떔에 고생이 많으십니다"],
|
[0, "스노하라 메이", null, 0, null, 70, 70, 70, 0, 160, 300, null, null, "저희 못난 오빠떔에 고생이 많으십니다"],
|
||||||
[0, "사나에", null, 0, null, 80, 40, 75, 0, 160, 300, null, null],
|
[0, "후루카와 사나에", null, 0, null, 80, 40, 75, 0, 160, 300, null, null],
|
||||||
[0, "아키오", null, 0, null, 74, 86, 70, 0, 160, 300, null, null],
|
[0, "후루카와 아키오", null, 0, null, 76, 86, 70, 0, 160, 300, null, "무쌍"],
|
||||||
[0, "나오유키", null, 0, null, 70, 55, 55, 0, 160, 300, null, null, "토모야.. 고맙다."],
|
[0, "오카자키 나오유키", null, 0, null, 70, 20, 55, 0, 160, 300, null, null, "토모야.. 고맙다."],
|
||||||
[0, "코토미", null, 0, null, 74, 52, 78, 0, 160, 300, null, null],
|
[0, "이치노세 코토미", null, 0, null, 74, 52, 78, 0, 160, 300, null, null],
|
||||||
[0, "우시오", null, 0, null, 75, 60, 78, 0, 160, 300, null, null, "안녕.. 아빠…"],
|
[0, "오카자키 우시오", null, 0, null, 82, 55, 83, 0, 160, 300, null, null, "안녕.. 아빠…"],
|
||||||
[0, "리에", null, 0, null, 77, 37, 82, 0, 160, 300, null, null],
|
[0, "니시나 리에", null, 0, null, 77, 37, 82, 0, 160, 300, null, null],
|
||||||
[0, "미야자와", null, 0, null, 78, 30, 85, 0, 160, 300, null, null],
|
[0, "미야자와 유키네", null, 0, null, 78, 30, 85, 0, 160, 300, null, null],
|
||||||
[0, "시마카츠키", null, 0, null, 72, 49, 63, 0, 160, 300, null, null],
|
[0, "시마 카츠키", null, 0, null, 72, 49, 63, 0, 160, 300, null, null],
|
||||||
[0, "사가라미사에", null, 0, null, 85, 87, 85, 0, 160, 300, null, "위압"],
|
[0, "사가라 미사에", null, 0, null, 85, 87, 85, 0, 160, 300, null, "위압"],
|
||||||
[0, "코즈키미유", null, 0, null, 77, 73, 64, 0, 160, 300, null, null, "혹시 루에게 고백이라도 한거니?"],
|
[0, "코즈키 미유", null, 0, null, 77, 73, 64, 0, 160, 300, null, null, "혹시 루에게 고백이라도 한거니?"],
|
||||||
[0, "카나타", null, 0, null, 75, 70, 69, 0, 160, 300, null, null],
|
[0, "사이온지 카나타", null, 0, null, 75, 70, 69, 0, 160, 300, null, null],
|
||||||
[0, "사이온지미우", null, 0, null, 2, 9, 4, 0, 160, 300, null, null, "엄마! 쉿! 쉬잇!!"],
|
[0, "사이온지 미우", null, 0, null, 75, 49, 76, 0, 160, 300, null, null, "엄마! 쉿! 쉬잇!!"],
|
||||||
[0, "크리스틴", null, 0, null, 67, 80, 60, 0, 160, 300, null, "무쌍", "미유랑 카나타가 붙어있어…."],
|
[0, "하나코마치 크리스", null, 0, null, 67, 80, 60, 0, 160, 300, null, "무쌍", "미유랑 카나타가 붙어있어…."],
|
||||||
[0, "모모카", null, 0, null, 80, 60, 55, 0, 160, 300, null, null, "마이 달링! 루!"],
|
[0, "하나코마치 모모카", null, 0, null, 80, 60, 55, 0, 160, 300, null, null, "마이 달링! 루!"],
|
||||||
[0, "산타", null, 0, null, 54, 10, 30, 0, 160, 300, "유지", null],
|
[0, "쿠로스 산타", null, 0, null, 54, 10, 30, 0, 160, 300, "유지", null],
|
||||||
[0, "쿠리타", null, 0, null, 46, 14, 10, 0, 160, 300, null, null],
|
[0, "하나코마치 쿠리타", null, 0, null, 46, 14, 10, 0, 160, 300, null, null],
|
||||||
[0, "고니시아야", null, 0, null, 67, 15, 77, 0, 160, 300, null, null],
|
[0, "고니시 아야", null, 0, null, 67, 15, 77, 0, 160, 300, null, null],
|
||||||
[0, "루", null, 0, null, 81, 50, 73, 0, 160, 300, null, null, "다아!★"],
|
[0, "루", null, 0, null, 81, 50, 73, 0, 160, 300, null, null, "다아!★"],
|
||||||
[0, "완냐", null, 0, null, 69, 48, 75, 0, 160, 300, null, null],
|
[0, "완냐", null, 0, null, 69, 48, 75, 0, 160, 300, null, null],
|
||||||
[0, "야마무라미캉", null, 0, null, 75, 64, 30, 0, 160, 300, null, null],
|
[0, "야마무라 미캉", null, 0, null, 75, 64, 30, 0, 160, 300, null, null],
|
||||||
[0, "야보시세이야", null, 0, null, 70, 50, 70, 0, 160, 300, null, null],
|
[0, "야보시 세이야", null, 0, null, 70, 50, 70, 0, 160, 300, null, null],
|
||||||
[0, "야보시 루이", null, 0, null, 75, 73, 71, 0, 160, 300, null, null],
|
[0, "야보시 루이", null, 0, null, 75, 73, 71, 0, 160, 300, null, null],
|
||||||
[0, "도리안", null, 0, null, 65, 49, 86, 0, 160, 300, null, "발명"],
|
[0, "도리안", null, 0, null, 65, 49, 86, 0, 160, 300, null, "발명"],
|
||||||
[0, "키위", null, 0, null, 66, 33, 70, 0, 160, 300, null, "상재"],
|
[0, "키위", null, 0, null, 66, 33, 70, 0, 160, 300, null, "상재"],
|
||||||
[0, "구아바", null, 0, null, 45, 49, 51, 0, 160, 300, null, null],
|
[0, "구아바", null, 0, null, 45, 49, 51, 0, 160, 300, null, null],
|
||||||
[0, "히카리가오가", null, 0, null, 70, 49, 77, 0, 160, 300, null, null],
|
[0, "히카리가오카", null, 0, null, 70, 49, 77, 0, 160, 300, null, null],
|
||||||
[0, "코즈키유우", null, 0, null, 85, 33, 75, 0, 160, 300, null, "발명"],
|
[0, "코즈키유우", null, 0, null, 85, 33, 75, 0, 160, 300, null, "발명"],
|
||||||
[0, "코즈키미키", null, 0, null, 88, 33, 80, 0, 160, 300, null, null],
|
[0, "코즈키미키", null, 0, null, 88, 33, 80, 0, 160, 300, null, null],
|
||||||
[0, "란", null, 0, null, 80, 72, 40, 0, 160, 300, null, null],
|
[0, "란", null, 0, null, 80, 72, 40, 0, 160, 300, null, null],
|
||||||
[0, "하루네아이라", null, 0, null, 84, 45, 74, 0, 160, 300, null, null, "오로라~~~~~~~~~라이징~ 드리임!"],
|
[0, "하루네 아이라", null, 0, null, 84, 45, 74, 0, 160, 300, null, null, "오로라~~~~~~~~~라이징~ 드리임!"],
|
||||||
[0, "리즈무", null, 0, null, 80, 25, 82, 0, 160, 300, null, null],
|
[0, "아마미야 리즈무", null, 0, null, 80, 25, 82, 0, 160, 300, null, null],
|
||||||
[0, "미온", null, 0, null, 78, 25, 90, 0, 160, 300, null, null],
|
[0, "타카미네 미온", null, 0, null, 78, 25, 90, 0, 160, 300, null, null],
|
||||||
[0, "아세치쿄코", null, 0, null, 76, 30, 82, 0, 160, 300, null, "상재"],
|
[0, "아세치 쿄코", null, 0, null, 76, 30, 82, 0, 160, 300, null, "상재"],
|
||||||
[0, "쥰매니저", null, 0, null, 75, 65, 75, 0, 160, 300, null, null],
|
[0, "쥰매니저", null, 0, null, 75, 65, 75, 0, 160, 300, null, null],
|
||||||
[0, "미스터K", null, 0, null, 55, 20, 70, 0, 160, 300, null, null],
|
[0, "미스터K", null, 0, null, 55, 20, 70, 0, 160, 300, null, null],
|
||||||
[0, "아세치킨타로", null, 0, null, 11, 22, 78, 0, 160, 300, null, null],
|
[0, "아세치 킨타로", null, 0, null, 11, 22, 78, 0, 160, 300, null, null],
|
||||||
[0, "카논", null, 0, null, 79, 50, 81, 0, 160, 300, null, null],
|
[0, "죠노우치 세레나", null, 0, null, 78, 50, 82, 0, 160, 300, null, "상재"],
|
||||||
[0, "카나메", null, 0, null, 73, 23, 92, 0, 160, 300, null, null],
|
[0, "토도 카논", null, 0, null, 79, 50, 81, 0, 160, 300, null, null],
|
||||||
[0, "소나타", null, 0, null, 70, 35, 84, 0, 160, 300, null, null],
|
[0, "크리스 카나메", null, 0, null, 73, 23, 92, 0, 160, 300, null, null],
|
||||||
[0, "아게하미아", null, 0, null, 35, 9, 4, 0, 160, 300, null, null],
|
[0, "칸자키 소나타", null, 0, null, 70, 35, 84, 0, 160, 300, null, null],
|
||||||
|
[0, "미야후지 요시카", null, 0, null, 87, 74, 72, 0, 160, 300, null, "의술"],
|
||||||
[0, "안경언니", null, 0, null, 74, 66, 77, 0, 160, 300, null, null, "프리즘스타의 세계에 온것을 환영해."],
|
[0, "안경언니", null, 0, null, 74, 66, 77, 0, 160, 300, null, null, "프리즘스타의 세계에 온것을 환영해."],
|
||||||
[0, "토가시카리나", null, 0, null, 89, 23, 81, 0, 160, 300, null, null],
|
[0, "토가시 카리나", null, 0, null, 89, 23, 81, 0, 160, 300, null, null],
|
||||||
[0, "혜인", null, 0, null, 78, 50, 87, 0, 160, 300, null, null],
|
[0, "혜인", null, 0, null, 78, 50, 87, 0, 160, 300, null, null],
|
||||||
[0, "하루네이츠키", null, 0, null, 85, 30, 85, 0, 160, 300, null, null],
|
[0, "하루네 이츠키", null, 0, null, 85, 30, 85, 0, 160, 300, null, null],
|
||||||
[0, "쇼우", null, 0, null, 87, 90, 78, 0, 160, 300, null, null],
|
[0, "쇼우", null, 0, null, 87, 90, 78, 0, 160, 300, null, null],
|
||||||
[0, "오로라드림히비키", null, 0, null, 85, 33, 80, 0, 160, 300, null, null],
|
[0, "토도 히비키", null, 0, null, 85, 33, 80, 0, 160, 300, null, null],
|
||||||
[0, "와타루", null, 0, null, 80, 11, 80, 0, 160, 300, null, null],
|
[0, "와타루", null, 0, null, 80, 11, 80, 0, 160, 300, null, null],
|
||||||
[0, "펭귄선생", null, 0, null, 55, 44, 49, 0, 160, 300, null, null],
|
[0, "펭귄선생", null, 0, null, 55, 44, 49, 0, 160, 300, null, null],
|
||||||
[0, "카미죠토우마", null, 0, null, 70, 80, 50, 0, 160, 300, null, null, "불행해…"],
|
[0, "카미죠 토우마", null, 0, null, 70, 80, 50, 0, 160, 300, null, null, "불행해…"],
|
||||||
[0, "인덱스", null, 0, null, 30, 10, 89, 0, 160, 300, null, null],
|
[0, "인덱스", null, 0, null, 30, 10, 89, 0, 160, 300, null, null],
|
||||||
[0, "미사카미코토", null, 0, null, 78, 93, 88, 0, 160, 300, null, null, "찌릿찌릿이라고 부르지마!!"],
|
[0, "미사카 미코토", null, 0, null, 78, 93, 88, 0, 160, 300, null, null, "찌릿찌릿이라고 부르지마!!"],
|
||||||
[0, "엑셀레이터", null, 0, null, 64, 110, 90, 0, 160, 300, null, "위압", "압축! 압축! 공기를 압축!"],
|
[0, "엑셀레이터", null, 0, null, 64, 110, 90, 0, 160, 300, null, "위압", "압축! 압축! 공기를 압축!"],
|
||||||
[0, "시스터즈", null, 0, null, 44, 65, 50, 0, 160, 300, null, null, "~라고 미사카는 말합니다"],
|
[0, "리네트 비숍", null, 0, null, 80, 81, 82, 0, 160, 300, null, "저격"],
|
||||||
[0, "라스트오더", null, 0, null, 75, 10, 90, 0, 160, 300, null, null, "미사카는 미사카는 말해보기도 하고~"],
|
[0, "라스트오더", null, 0, null, 75, 10, 90, 0, 160, 300, null, null, "미사카는 미사카는 말해보기도 하고~"],
|
||||||
[0, "카키네", null, 0, null, 44, 98, 22, 0, 160, 222, null, null],
|
[0, "카키네 테이토쿠", null, 0, null, 44, 98, 22, 0, 160, 222, null, null],
|
||||||
[0, "무기농시즈리", null, 0, null, 78, 90, 80, 0, 160, 300, null, null],
|
[0, "무기노 시즈리", null, 0, null, 78, 90, 80, 0, 160, 300, null, null],
|
||||||
[0, "쇼쿠호미사키", null, 0, null, 77, 30, 60, 0, 160, 300, null, null],
|
[0, "쇼쿠호 미사키", null, 0, null, 77, 30, 60, 0, 160, 300, null, null],
|
||||||
[0, "키하라겐세이", null, 0, null, 7, 9, 85, 0, 160, 300, null, "발명"],
|
[0, "에리카 하르트만", null, 0, null, 81, 88, 68, 0, 160, 300, null, null],
|
||||||
[0, "아레이스타", null, 0, null, 67, 39, 90, 0, 160, 300, null, null],
|
[0, "아레이스타", null, 0, null, 67, 39, 90, 0, 160, 300, null, null],
|
||||||
[0, "무스지메", null, 0, null, 57, 49, 75, 0, 160, 300, null, null],
|
[0, "무스지메 이와키", null, 0, null, 57, 49, 75, 0, 160, 300, null, null],
|
||||||
[0, "시라이쿠로코", null, 0, null, 56, 29, 60, 0, 160, 300, null, "견고", "오네사마!!!!!!!!!!!!!!!!!!!!!!!!!"],
|
[0, "시라이 쿠로코", null, 0, null, 56, 29, 60, 0, 160, 300, null, "견고", "오네사마!!!!!!!!!!!!!!!!!!!!!!!!!"],
|
||||||
[0, "시아게", null, 0, null, 67, 40, 30, 0, 160, 300, null, null],
|
[0, "사텐 루이코", null, 0, null, 55, 94, 30, 0, 160, 300, null, "무쌍"],
|
||||||
[0, "사텐", null, 0, null, 55, 94, 30, 0, 160, 300, null, "무쌍"],
|
[0, "우이하루 카자리", null, 0, null, 33, 15, 89, 0, 160, 300, null, null],
|
||||||
[0, "우이하루", null, 0, null, 33, 15, 89, 0, 160, 300, null, null],
|
|
||||||
[0, "헤븐캔슬러", null, 0, null, 79, 10, 90, 0, 160, 300, "은둔", "의술"],
|
[0, "헤븐캔슬러", null, 0, null, 79, 10, 90, 0, 160, 300, "은둔", "의술"],
|
||||||
[0, "칸자키", null, 0, null, 70, 92, 75, 0, 160, 300, null, null],
|
[0, "칸자키", null, 0, null, 70, 92, 75, 0, 160, 300, null, null],
|
||||||
[0, "스테일", null, 0, null, 47, 88, 55, 0, 160, 300, null, null],
|
[0, "스테일 마그누스", null, 0, null, 47, 88, 55, 0, 160, 300, null, null],
|
||||||
[0, "코모에", null, 0, null, 78, 10, 85, 0, 160, 300, null, null],
|
[0, "츠쿠요미 코모에", null, 0, null, 78, 10, 85, 0, 160, 300, null, null],
|
||||||
[0, "코난", null, 0, null, 55, 72, 99, 0, 160, 300, null, null, "미궁을 모르는 명탐정! 진실은 언제나 하나!"],
|
[0, "에도카와 코난", null, 0, null, 55, 72, 99, 0, 160, 300, null, null, "미궁을 모르는 명탐정! 진실은 언제나 하나!"],
|
||||||
[0, "모리란", null, 0, null, 67, 100, 82, 0, 160, 300, null, "돌격"],
|
[0, "모리 란", null, 0, null, 67, 100, 82, 0, 160, 300, null, "돌격"],
|
||||||
[0, "스즈키소노코", null, 0, null, 66, 55, 86, 0, 160, 300, null, "상재"],
|
[0, "스즈키 소노코", null, 0, null, 66, 55, 86, 0, 160, 300, null, "상재"],
|
||||||
[0, "쿄고쿠마코토", null, 0, null, 79, 108, 52, 0, 160, 300, null, "무쌍"],
|
[0, "쿄고쿠 마코토", null, 0, null, 79, 108, 52, 0, 160, 300, null, "무쌍"],
|
||||||
[0, "진", null, 0, null, 79, 87, 90, 0, 160, 300, null, "돌격"],
|
[0, "진", null, 0, null, 79, 87, 90, 0, 160, 300, null, "돌격"],
|
||||||
[0, "베르무트", null, 0, null, 75, 67, 96, 0, 160, 300, null, null, "A secret makes a woman woman…"],
|
[0, "베르무트", null, 0, null, 75, 67, 96, 0, 160, 300, null, null, "A secret makes a woman woman…"],
|
||||||
[0, "키얀티", null, 0, null, 56, 80, 49, 0, 160, 300, null, "저격"],
|
[0, "키얀티", null, 0, null, 56, 80, 49, 0, 160, 300, null, "저격"],
|
||||||
@@ -176,20 +176,20 @@
|
|||||||
[0, "Rum", null, 0, null, 80, 30, 80, 0, 160, 300, null, null],
|
[0, "Rum", null, 0, null, 80, 30, 80, 0, 160, 300, null, null],
|
||||||
[0, "헤이지", null, 0, null, 85, 83, 95, 0, 160, 300, null, null],
|
[0, "헤이지", null, 0, null, 85, 83, 95, 0, 160, 300, null, null],
|
||||||
[0, "카즈하", null, 0, null, 87, 79, 74, 0, 160, 300, null, null],
|
[0, "카즈하", null, 0, null, 87, 79, 74, 0, 160, 300, null, null],
|
||||||
[0, "메구레경부", null, 0, null, 94, 79, 88, 0, 160, 300, null, null],
|
[0, "메구레 경부", null, 0, null, 94, 79, 88, 0, 160, 300, null, null],
|
||||||
[0, "타카기형사", null, 0, null, 67, 80, 79, 0, 160, 300, null, null],
|
[0, "타카기 형사", null, 0, null, 67, 80, 79, 0, 160, 300, null, null],
|
||||||
[0, "미와코", null, 0, null, 70, 83, 82, 0, 160, 300, null, null],
|
[0, "미와코", null, 0, null, 70, 83, 82, 0, 160, 300, null, null],
|
||||||
[0, "시라토리형사", null, 0, null, 71, 84, 81, 0, 160, 300, null, null],
|
[0, "시라토리 형사", null, 0, null, 71, 84, 81, 0, 160, 300, null, null],
|
||||||
[0, "하네다슈키치", null, 0, null, 76, 33, 100, 0, 160, 300, null, null],
|
[0, "하네다 슈키치", null, 0, null, 76, 33, 100, 0, 160, 300, null, null],
|
||||||
[0, "조디", null, 0, null, 79, 67, 88, 0, 160, 300, null, null],
|
[0, "조디 수사관", null, 0, null, 79, 67, 88, 0, 160, 300, null, null],
|
||||||
[0, "슈이치", null, 0, null, 86, 90, 100, 0, 160, 300, null, "저격"],
|
[0, "아카이 슈이치", null, 0, null, 86, 90, 100, 0, 160, 300, null, "저격"],
|
||||||
[0, "제임스 블랙", null, 0, null, 88, 55, 85, 0, 160, 300, null, null],
|
[0, "제임스 블랙", null, 0, null, 88, 55, 85, 0, 160, 300, null, null],
|
||||||
[0, "케멜수사관", null, 0, null, 67, 78, 79, 0, 160, 300, null, null],
|
[0, "케멜수사관", null, 0, null, 67, 78, 79, 0, 160, 300, null, null],
|
||||||
[0, "히아바라아이", null, 0, null, 78, 49, 100, 0, 160, 300, null, "발명"],
|
[0, "하이바라 아이", null, 0, null, 78, 49, 100, 0, 160, 300, null, "발명"],
|
||||||
[0, "소년탐정단", null, 0, null, 67, 85, 74, 0, 160, 300, null, null],
|
[0, "소년탐정단", null, 0, null, 67, 85, 74, 0, 160, 300, null, null],
|
||||||
[0, "워커", null, 0, null, 73, 80, 66, 0, 160, 300, null, null],
|
[0, "워커", null, 0, null, 73, 80, 66, 0, 160, 300, null, null],
|
||||||
[0, "카리스마렌야", null, 0, null, 75, 78, 78, 0, 160, 300, null, "상재"],
|
[0, "보스", null, 0, null, 75, 78, 78, 0, 160, 300, null, null],
|
||||||
[0, "모리코고로", null, 0, null, 78, 77, 92, 0, 160, 300, null, null, "그만할수는 없어 진상을 밝혀내는게 탐정의 습성이니까."],
|
[0, "모리 코고로", null, 0, null, 78, 77, 92, 0, 160, 300, null, null, "그만할수는 없어 진상을 밝혀내는게 탐정의 습성이니까."],
|
||||||
[0, "토우카", null, 0, null, 86, 57, 77, 0, 160, 300, null, "인덕"],
|
[0, "토우카", null, 0, null, 86, 57, 77, 0, 160, 300, null, "인덕"],
|
||||||
[0, "아이샤", null, 0, null, 97, 97, 75, 0, 160, 300, null, "위압"],
|
[0, "아이샤", null, 0, null, 97, 97, 75, 0, 160, 300, null, "위압"],
|
||||||
[0, "린린", null, 0, null, 86, 98, 22, 0, 160, 300, null, "무쌍"],
|
[0, "린린", null, 0, null, 86, 98, 22, 0, 160, 300, null, "무쌍"],
|
||||||
@@ -218,7 +218,7 @@
|
|||||||
[0, "엔야", null, 0, null, 79, 91, 38, 0, 160, 300, null, null],
|
[0, "엔야", null, 0, null, 79, 91, 38, 0, 160, 300, null, null],
|
||||||
[0, "키쿄우", null, 0, null, 86, 90, 72, 0, 160, 300, null, null],
|
[0, "키쿄우", null, 0, null, 86, 90, 72, 0, 160, 300, null, null],
|
||||||
[0, "유도", null, 0, null, 19, 11, 52, 0, 160, 300, null, null],
|
[0, "유도", null, 0, null, 19, 11, 52, 0, 160, 300, null, null],
|
||||||
[0, "레이하", null, 0, null, 80, 30, 65, 0, 160, 300, null, null],
|
[0, "레이하", null, 0, null, 55, 30, 52, 0, 160, 300, null, null],
|
||||||
[0, "토시", null, 0, null, 86, 92, 36, 0, 160, 300, null, "돌격"],
|
[0, "토시", null, 0, null, 86, 92, 36, 0, 160, 300, null, "돌격"],
|
||||||
[0, "이이셰", null, 0, null, 87, 94, 41, 0, 160, 300, null, null, "지력 36이 지력100을 이겼다!"],
|
[0, "이이셰", null, 0, null, 87, 94, 41, 0, 160, 300, null, null, "지력 36이 지력100을 이겼다!"],
|
||||||
[0, "마치", null, 0, null, 77, 23, 94, 0, 160, 300, null, null],
|
[0, "마치", null, 0, null, 77, 23, 94, 0, 160, 300, null, null],
|
||||||
@@ -264,19 +264,19 @@
|
|||||||
[0, "캔다", null, 0, null, 70, 74, 70, 0, 160, 300, null, null],
|
[0, "캔다", null, 0, null, 70, 74, 70, 0, 160, 300, null, null],
|
||||||
[0, "이싸", null, 0, null, 55, 75, 55, 0, 160, 300, null, null],
|
[0, "이싸", null, 0, null, 55, 75, 55, 0, 160, 300, null, null],
|
||||||
[0, "미스터리", null, 0, null, 82, 10, 67, 0, 160, 300, null, "발명"],
|
[0, "미스터리", null, 0, null, 82, 10, 67, 0, 160, 300, null, "발명"],
|
||||||
[0, "타케다쿠미코", null, 0, null, 80, 60, 80, 0, 160, 300, null, null],
|
[0, "타케다 쿠미코", null, 0, null, 80, 60, 80, 0, 160, 300, null, null],
|
||||||
[0, "니얀다카멘", null, 0, null, 88, 96, 88, 0, 160, 300, null, "무쌍", "난다! 난다! 니얀다 카멘!"],
|
[0, "니얀다카멘", null, 0, null, 88, 96, 88, 0, 160, 300, null, "무쌍", "난다! 난다! 니얀다 카멘!"],
|
||||||
[0, "냐고", null, 0, null, 37, 46, 42, 0, 160, 300, "유지", null],
|
[0, "냐고", null, 0, null, 37, 46, 42, 0, 160, 300, "유지", null],
|
||||||
[0, "니얀다카렌", null, 0, null, 77, 90, 75, 0, 160, 300, null, null, "난다! 난다! 니얀다 카렌!"],
|
[0, "니얀다카렌", null, 0, null, 84, 90, 80, 0, 160, 300, null, null, "난다! 난다! 니얀다 카렌!"],
|
||||||
[0, "미코", null, 0, null, 49, 21, 84, 0, 160, 300, null, null],
|
[0, "미코", null, 0, null, 49, 21, 84, 0, 160, 300, null, null],
|
||||||
[0, "냐온", null, 0, null, 72, 30, 90, 0, 160, 300, "패권", "발명"],
|
[0, "냐온", null, 0, null, 72, 30, 90, 0, 160, 300, "패권", "발명"],
|
||||||
[0, "콩", null, 0, null, 62, 60, 75, 0, 160, 300, null, null],
|
[0, "콩이", null, 0, null, 62, 60, 75, 0, 160, 300, null, null],
|
||||||
[0, "네코선인", null, 0, null, 88, 52, 89, 0, 160, 300, "은둔", "신산"],
|
[0, "네코선인", null, 0, null, 88, 52, 80, 0, 160, 300, "은둔", "신산"],
|
||||||
[0, "긴코", null, 0, null, 67, 79, 90, 0, 160, 300, null, null],
|
[0, "긴코", null, 0, null, 67, 79, 90, 0, 160, 300, null, null],
|
||||||
[0, "사라카치", null, 0, null, 70, 83, 80, 0, 160, 300, null, null],
|
[0, "사라카치", null, 0, null, 70, 83, 60, 0, 160, 300, null, null],
|
||||||
[0, "미이라맨", null, 0, null, 82, 86, 60, 0, 160, 300, null, "돌격", "미이라~맨"],
|
[0, "미이라맨", null, 0, null, 80, 80, 60, 0, 160, 300, null, "돌격", "미이라~맨"],
|
||||||
[0, "망토대왕", null, 0, null, 67, 94, 70, 0, 160, 300, null, "돌격", "이몸은 숲의 왕이시다!"],
|
[0, "망토대왕", null, 0, null, 67, 90, 60, 0, 160, 300, null, "돌격", "이몸은 숲의 왕이시다!"],
|
||||||
[0, "타누코", null, 0, null, 72, 78, 82, 0, 160, 300, null, null],
|
[0, "타누코", null, 0, null, 70, 65, 82, 0, 160, 300, null, null],
|
||||||
[0, "쿠모네코", null, 0, null, 74, 74, 45, 0, 160, 300, null, null],
|
[0, "쿠모네코", null, 0, null, 74, 74, 45, 0, 160, 300, null, null],
|
||||||
[0, "도쿠로왕", null, 0, null, 90, 95, 80, 0, 160, 300, null, "돌격", "하지마!! 이대로 봉인되긴 싫단말이다!!"],
|
[0, "도쿠로왕", null, 0, null, 90, 95, 80, 0, 160, 300, null, "돌격", "하지마!! 이대로 봉인되긴 싫단말이다!!"],
|
||||||
[0, "네프론", null, 0, null, 40, 93, 35, 0, 160, 300, null, null],
|
[0, "네프론", null, 0, null, 40, 93, 35, 0, 160, 300, null, null],
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
[0, "또또", null, 0, null, 19, 10, 78, 0, 160, 300, null, "발명"],
|
[0, "또또", null, 0, null, 19, 10, 78, 0, 160, 300, null, "발명"],
|
||||||
[0, "나나", null, 0, null, 50, 19, 88, 0, 160, 300, null, null],
|
[0, "나나", null, 0, null, 50, 19, 88, 0, 160, 300, null, null],
|
||||||
[0, "카카코선생님", null, 0, null, 67, 40, 75, 0, 160, 300, null, null],
|
[0, "카카코선생님", null, 0, null, 67, 40, 75, 0, 160, 300, null, null],
|
||||||
[0, "스즈코센세", null, 0, null, 76, 41, 84, 0, 160, 300, null, null],
|
[0, "스즈코 선생님", null, 0, null, 76, 41, 84, 0, 160, 300, null, null],
|
||||||
[0, "투투", null, 0, null, 52, 60, 70, 0, 160, 300, null, null],
|
[0, "투투", null, 0, null, 52, 60, 70, 0, 160, 300, null, null],
|
||||||
[0, "츄츄", null, 0, null, 64, 70, 30, 0, 160, 300, null, null],
|
[0, "츄츄", null, 0, null, 64, 70, 30, 0, 160, 300, null, null],
|
||||||
[0, "모모", null, 0, null, 78, 70, 75, 0, 160, 300, null, null],
|
[0, "모모", null, 0, null, 78, 70, 75, 0, 160, 300, null, null],
|
||||||
@@ -296,32 +296,32 @@
|
|||||||
[0, "메루루", null, 0, null, 87, 75, 92, 0, 160, 300, null, null],
|
[0, "메루루", null, 0, null, 87, 75, 92, 0, 160, 300, null, null],
|
||||||
[0, "쿠데리아", null, 0, null, 75, 68, 79, 0, 160, 300, null, "상재", "그렇게 부르지 말랬지!!"],
|
[0, "쿠데리아", null, 0, null, 75, 68, 79, 0, 160, 300, null, "상재", "그렇게 부르지 말랬지!!"],
|
||||||
[0, "스테르크", null, 0, null, 80, 102, 81, 0, 160, 300, null, "무쌍", "자 따라해봐 로.로.나"],
|
[0, "스테르크", null, 0, null, 80, 102, 81, 0, 160, 300, null, "무쌍", "자 따라해봐 로.로.나"],
|
||||||
[0, "아스트리드", null, 0, null, 39, 78, 96, 0, 160, 300, "유지", null, "에에고 자시고 이아는 로로나가 맞다."],
|
[0, "아스트리드", null, 0, null, 39, 78, 96, 0, 160, 300, "유지", null, "난 아스트리드 젝시드. 너의 스승의 스승의 스승이다."],
|
||||||
[0, "미미", null, 0, null, 78, 82, 76, 0, 160, 300, null, null],
|
[0, "미미", null, 0, null, 78, 82, 76, 0, 160, 300, null, null],
|
||||||
[0, "지노 크나프", null, 0, null, 72, 84, 70, 0, 160, 300, null, null],
|
[0, "지노 크나프", null, 0, null, 72, 84, 70, 0, 160, 300, null, null],
|
||||||
[0, "에스카", null, 0, null, 84, 75, 91, 0, 160, 300, null, null],
|
[0, "에스카", null, 0, null, 84, 75, 91, 0, 160, 300, null, null],
|
||||||
[0, "로직스", null, 0, null, 80, 85, 79, 0, 160, 300, null, null],
|
[0, "로직스", null, 0, null, 80, 85, 79, 0, 160, 300, null, null],
|
||||||
[0, "소피", null, 0, null, 97, 94, 99, 0, 160, 300, null, "집중", "피리스, 연금술 해보지 않을래?"],
|
[0, "소피", null, 0, null, 97, 82, 102, 0, 160, 300, null, "집중", "피리스, 연금술 해보지 않을래?"],
|
||||||
[0, "플라흐타", null, 0, null, 79, 80, 101, 0, 160, 300, null, "환술"],
|
[0, "플라흐타", null, 0, null, 84, 72, 106, 0, 160, 300, null, "환술"],
|
||||||
[0, "피리스", null, 0, null, 81, 66, 80, 0, 160, 300, null, "반계", "소피선생님..! 플라흐타상!!"],
|
[0, "피리스", null, 0, null, 86, 66, 87, 0, 160, 300, null, "반계", "소피선생님..! 플라흐타상!!"],
|
||||||
[0, "일메리아", null, 0, null, 90, 64, 85, 0, 160, 300, null, null],
|
[0, "일메리아", null, 0, null, 90, 58, 85, 0, 160, 300, null, null],
|
||||||
[0, "리디", null, 0, null, 77, 79, 82, 0, 160, 300, null, null],
|
[0, "리디", null, 0, null, 77, 79, 82, 0, 160, 300, null, null],
|
||||||
[0, "수르", null, 0, null, 79, 77, 84, 0, 160, 300, null, null],
|
[0, "수르", null, 0, null, 79, 77, 84, 0, 160, 300, null, null],
|
||||||
[0, "리아나", null, 0, null, 72, 78, 67, 0, 160, 300, null, null],
|
[0, "리아나", null, 0, null, 72, 78, 67, 0, 160, 300, null, null],
|
||||||
[0, "이츠카시도", null, 0, null, 94, 82, 80, 0, 160, 300, null, "환술", "린~~~~네~~~!!!!!!!!!!!!!!!!!!!"],
|
[0, "이츠카시도", null, 0, null, 94, 82, 80, 0, 160, 300, null, "환술", "린~~~~네~~~!!!!!!!!!!!!!!!!!!!"],
|
||||||
[0, "이츠카코토리", null, 0, null, 87, 91, 78, 0, 160, 300, null, null],
|
[0, "이츠카코토리", null, 0, null, 87, 91, 78, 0, 160, 300, null, null],
|
||||||
[0, "야토가미토카", null, 0, null, 84, 94, 22, 0, 160, 300, null, null],
|
[0, "야토가미토카", null, 0, null, 84, 94, 10, 0, 160, 300, null, null],
|
||||||
[0, "요시노", null, 0, null, 88, 85, 64, 0, 160, 300, null, null],
|
[0, "요시노", null, 0, null, 88, 85, 64, 0, 160, 300, null, null],
|
||||||
[0, "쿠루미", null, 0, null, 86, 88, 83, 0, 160, 300, null, null],
|
[0, "쿠루미", null, 0, null, 86, 92, 83, 0, 160, 300, null, null],
|
||||||
[0, "타카미야마나", null, 0, null, 81, 90, 83, 0, 160, 300, null, null],
|
[0, "타카미야마나", null, 0, null, 81, 82, 74, 0, 160, 300, null, null],
|
||||||
[0, "소노가미린네", null, 0, null, 90, 93, 84, 0, 160, 300, null, null, "시도..! 시도!"],
|
[0, "소노가미린네", null, 0, null, 90, 93, 80, 0, 160, 300, null, null, "시도..! 시도!"],
|
||||||
[0, "카구야", null, 0, null, 72, 90, 34, 0, 160, 300, null, null, "훗 이몸의 종이 되거라 시도."],
|
[0, "카구야", null, 0, null, 72, 90, 20, 0, 160, 300, null, null, "훗 이몸의 종이 되거라 시도."],
|
||||||
[0, "유즈루", null, 0, null, 72, 90, 75, 0, 160, 300, null, null],
|
[0, "유즈루", null, 0, null, 75, 80, 80, 0, 160, 300, null, null],
|
||||||
[0, "이자요이미쿠", null, 0, null, 87, 82, 70, 0, 160, 300, null, null],
|
[0, "이자요이미쿠", null, 0, null, 87, 82, 70, 0, 160, 300, null, null],
|
||||||
[0, "마유리", null, 0, null, 81, 81, 81, 0, 160, 300, null, null],
|
[0, "마유리", null, 0, null, 81, 81, 81, 0, 160, 300, null, null],
|
||||||
[0, "아루스마리아", null, 0, null, 75, 59, 92, 0, 160, 300, null, null],
|
[0, "아루스 마리아", null, 0, null, 75, 59, 92, 0, 160, 300, null, null],
|
||||||
[0, "마리나", null, 0, null, 75, 59, 94, 0, 160, 300, null, null],
|
[0, "아루스 마리나", null, 0, null, 75, 59, 94, 0, 160, 300, null, null],
|
||||||
[0, "소노가미리오", null, 0, null, 80, 87, 77, 0, 160, 300, null, null, "리오 나는 소노가미 리오야."],
|
[0, "소노가미 리오", null, 0, null, 80, 87, 77, 0, 160, 300, null, null, "리오 나는 소노가미 리오야."],
|
||||||
[0, "나츠미", null, 0, null, 70, 79, 77, 0, 160, 300, null, "환술"],
|
[0, "나츠미", null, 0, null, 70, 79, 77, 0, 160, 300, null, "환술"],
|
||||||
[0, "오리가미", null, 0, null, 78, 88, 75, 0, 160, 300, null, "저격"],
|
[0, "오리가미", null, 0, null, 78, 88, 75, 0, 160, 300, null, "저격"],
|
||||||
[0, "니아", null, 0, null, 70, 30, 82, 0, 160, 300, null, null],
|
[0, "니아", null, 0, null, 70, 30, 82, 0, 160, 300, null, null],
|
||||||
@@ -358,28 +358,28 @@
|
|||||||
[0, "큐어이그렛", null, 0, null, 82, 88, 94, 0, 160, 300, null, null],
|
[0, "큐어이그렛", null, 0, null, 82, 88, 94, 0, 160, 300, null, null],
|
||||||
[0, "미치루", null, 0, null, 84, 86, 80, 0, 160, 300, null, null],
|
[0, "미치루", null, 0, null, 84, 86, 80, 0, 160, 300, null, null],
|
||||||
[0, "카오루", null, 0, null, 84, 80, 86, 0, 160, 300, null, null],
|
[0, "카오루", null, 0, null, 84, 80, 86, 0, 160, 300, null, null],
|
||||||
[0, "큐어드림", null, 0, null, 92, 96, 55, 0, 160, 300, null, "통찰", "희망이가진 위대한 힘! 큐어드림!"],
|
[0, "큐어 드림", null, 0, null, 92, 96, 60, 0, 160, 300, null, "통찰", "희망이가진 위대한 힘! 큐어드림!"],
|
||||||
[0, "큐어루즈", null, 0, null, 74, 93, 78, 0, 160, 300, null, null],
|
[0, "큐어 루즈", null, 0, null, 74, 93, 78, 0, 160, 300, null, null],
|
||||||
[0, "키리야", null, 0, null, 77, 89, 85, 0, 160, 300, null, null, "고마워요..선배들…이세계에 살아가는 의미를 알게해줘서…"],
|
[0, "키리야", null, 0, null, 77, 89, 85, 0, 160, 300, null, null, "고마워요..선배들…이세계에 살아가는 의미를 알게해줘서…"],
|
||||||
[0, "루미너스", null, 0, null, 73, 89, 75, 0, 160, 300, null, null],
|
[0, "루미너스", null, 0, null, 73, 89, 75, 0, 160, 300, null, null],
|
||||||
[0, "레모네이드", null, 0, null, 84, 87, 66, 0, 160, 300, null, null],
|
[0, "레모네이드", null, 0, null, 84, 87, 66, 0, 160, 300, null, null],
|
||||||
[0, "민트", null, 0, null, 80, 75, 77, 0, 160, 300, null, null],
|
[0, "큐어 민트", null, 0, null, 80, 75, 77, 0, 160, 300, null, null],
|
||||||
[0, "아쿠아", null, 0, null, 83, 80, 76, 0, 160, 300, null, null],
|
[0, "큐어 아쿠아", null, 0, null, 83, 80, 76, 0, 160, 300, null, null],
|
||||||
[0, "밀키로즈", null, 0, null, 84, 97, 72, 0, 160, 300, null, null, "밀키로즈 메탈 블리자드..!!!"],
|
[0, "밀키로즈", null, 0, null, 84, 97, 72, 0, 160, 300, null, null, "밀키로즈 메탈 블리자드..!!!"],
|
||||||
[0, "분비", null, 0, null, 88, 98, 80, 0, 160, 300, null, "견고", "이렇게 죽긴 싫은데..!!"],
|
[0, "분비", null, 0, null, 88, 98, 80, 0, 160, 300, null, "견고", "이렇게 죽긴 싫은데..!!"],
|
||||||
[0, "가마오", null, 0, null, 42, 84, 36, 0, 160, 300, null, null],
|
[0, "가마오", null, 0, null, 42, 84, 36, 0, 160, 300, null, null],
|
||||||
[0, "큐어블로섬", null, 0, null, 86, 75, 84, 0, 160, 300, null, null],
|
[0, "큐어 블로섬", null, 0, null, 86, 75, 84, 0, 160, 300, null, null],
|
||||||
[0, "큐어마린", null, 0, null, 71, 82, 41, 0, 160, 300, null, null],
|
[0, "큐어 마린", null, 0, null, 71, 82, 41, 0, 160, 300, null, null],
|
||||||
[0, "큐어션샤인", null, 0, null, 77, 83, 80, 0, 160, 300, null, null],
|
[0, "큐어 션샤인", null, 0, null, 77, 83, 80, 0, 160, 300, null, null],
|
||||||
[0, "큐어문라이트", null, 0, null, 82, 88, 84, 0, 160, 300, null, null],
|
[0, "큐어 문라이트", null, 0, null, 82, 88, 84, 0, 160, 300, null, null],
|
||||||
[0, "큐어멜로디", null, 0, null, 80, 85, 49, 0, 160, 300, null, null],
|
[0, "큐어 멜로디", null, 0, null, 80, 85, 49, 0, 160, 300, null, null],
|
||||||
[0, "큐어리듬", null, 0, null, 77, 85, 88, 0, 160, 300, null, null],
|
[0, "큐어 리듬", null, 0, null, 77, 85, 88, 0, 160, 300, null, null],
|
||||||
[0, "큐어비트", null, 0, null, 80, 84, 80, 0, 160, 300, null, null],
|
[0, "큐어 비트", null, 0, null, 80, 84, 80, 0, 160, 300, null, null],
|
||||||
[0, "하미", null, 0, null, 56, 50, 77, 0, 160, 300, null, null, "큰일이다냥!! 지금 자고있을떄가 아니다냥!"],
|
[0, "하미", null, 0, null, 56, 50, 77, 0, 160, 300, null, null, "큰일이다냥!! 지금 자고있을떄가 아니다냥!"],
|
||||||
[0, "큐어뮤즈", null, 0, null, 86, 92, 81, 0, 160, 300, null, null],
|
[0, "큐어 뮤즈", null, 0, null, 86, 92, 81, 0, 160, 300, null, null],
|
||||||
[0, "큐어하트", null, 0, null, 93, 90, 95, 0, 160, 300, null, "위압"],
|
[0, "큐어 하트", null, 0, null, 93, 90, 95, 0, 160, 300, null, "위압"],
|
||||||
[0, "다이아몬드", null, 0, null, 86, 88, 90, 0, 160, 300, null, null],
|
[0, "큐어 다이아몬드", null, 0, null, 86, 88, 90, 0, 160, 300, null, null],
|
||||||
[0, "큐어로제타", null, 0, null, 80, 80, 85, 0, 160, 300, null, "상재"],
|
[0, "큐어 로제타", null, 0, null, 80, 80, 85, 0, 160, 300, null, "상재"],
|
||||||
[0, "큐어소드", null, 0, null, 79, 87, 82, 0, 160, 300, null, "착사"],
|
[0, "큐어소드", null, 0, null, 79, 87, 82, 0, 160, 300, null, "착사"],
|
||||||
[0, "큐어에이스", null, 0, null, 75, 83, 77, 0, 160, 300, null, null],
|
[0, "큐어에이스", null, 0, null, 75, 83, 77, 0, 160, 300, null, null],
|
||||||
[0, "하세가와스바루", null, 0, null, 86, 77, 80, 0, 160, 300, null, null, "정말 초등학생은 최고야!!"],
|
[0, "하세가와스바루", null, 0, null, 86, 77, 80, 0, 160, 300, null, null, "정말 초등학생은 최고야!!"],
|
||||||
@@ -403,27 +403,27 @@
|
|||||||
[0, "피셰", null, 0, null, 70, 61, 69, 0, 160, 300, null, null],
|
[0, "피셰", null, 0, null, 70, 61, 69, 0, 160, 300, null, null],
|
||||||
[0, "비샤", null, 0, null, 75, 86, 75, 0, 160, 300, null, null],
|
[0, "비샤", null, 0, null, 75, 86, 75, 0, 160, 300, null, null],
|
||||||
[0, "우즈메", null, 0, null, 78, 88, 82, 0, 160, 300, null, null],
|
[0, "우즈메", null, 0, null, 78, 88, 82, 0, 160, 300, null, null],
|
||||||
[0, "미나즈키하루카", null, 0, null, 83, 86, 70, 0, 160, 300, null, null],
|
[0, "미나즈키하루카", null, 0, null, 86, 88, 72, 0, 160, 300, null, null],
|
||||||
[0, "칸나즈키아오이", null, 0, null, 86, 84, 88, 0, 160, 300, null, null],
|
[0, "칸나즈키아오이", null, 0, null, 86, 84, 88, 0, 160, 300, null, null],
|
||||||
[0, "하즈키쿠루미", null, 0, null, 75, 84, 80, 0, 160, 300, null, null, "설령… 다시한번 세상이 트윈엔젤을 필요로 한다고 해도. 우리는 함께 있으니 괜찮겠죠?"],
|
[0, "하즈키쿠루미", null, 0, null, 78, 84, 80, 0, 160, 300, null, null, "설령 우리가 헤어진다고 해도.. 우리는 가족이니까요!"],
|
||||||
[0, "테슬라바이올렛", null, 0, null, 69, 85, 77, 0, 160, 300, null, null, "이 에로고양이가!!!"],
|
[0, "테슬라바이올렛", null, 0, null, 80, 85, 77, 0, 160, 300, null, null, "이 에로고양이가!!!"],
|
||||||
[0, "나인바이올렛", null, 0, null, 73, 84, 79, 0, 160, 300, null, null],
|
[0, "나인바이올렛", null, 0, null, 73, 84, 79, 0, 160, 300, null, null],
|
||||||
[0, "나폴레옹정령", null, 0, null, 60, 60, 50, 0, 160, 300, null, null, "변태가 아냐!! 신사다!"],
|
[0, "나폴레옹정령", null, 0, null, 60, 60, 50, 0, 160, 300, null, null, "변태가 아냐!! 신사다!"],
|
||||||
[0, "사이죠세츠코", null, 0, null, 77, 67, 81, 0, 160, 300, null, null],
|
[0, "사이죠 세츠코", null, 0, null, 77, 67, 81, 0, 160, 300, null, null],
|
||||||
[0, "블랙트레이더", null, 0, null, 86, 95, 78, 0, 160, 300, null, null],
|
[0, "블랙 트레이더", null, 0, null, 86, 95, 78, 0, 160, 300, null, null],
|
||||||
[0, "엘리스", null, 0, null, 77, 91, 80, 0, 160, 300, null, null],
|
[0, "엘리스 필리우스", null, 0, null, 77, 91, 80, 0, 160, 300, null, null],
|
||||||
[0, "리리카", null, 0, null, 65, 59, 71, 0, 160, 300, null, null],
|
[0, "리리카 아스타딜", null, 0, null, 65, 59, 71, 0, 160, 300, null, null],
|
||||||
[0, "제르시퍼", null, 0, null, 95, 99, 89, 0, 160, 300, null, null],
|
[0, "제르시퍼", null, 0, null, 87, 99, 80, 0, 160, 300, null, null],
|
||||||
[0, "메구루", null, 0, null, 70, 80, 67, 0, 160, 300, null, null],
|
[0, "아마츠키 메구루", null, 0, null, 70, 80, 67, 0, 160, 300, null, null],
|
||||||
[0, "스미레", null, 0, null, 75, 85, 80, 0, 160, 300, null, null],
|
[0, "키사라기 스미레", null, 0, null, 75, 85, 80, 0, 160, 300, null, null],
|
||||||
[0, "메어리", null, 0, null, 70, 88, 78, 0, 160, 300, null, null],
|
[0, "메어리", null, 0, null, 70, 88, 78, 0, 160, 300, null, null],
|
||||||
[0, "유우키유우나", null, 0, null, 88, 91, 78, 0, 160, 300, null, null, "유우키 유우나! 용자부소속이야!"],
|
[0, "유우키유우나", null, 0, null, 88, 91, 78, 0, 160, 300, null, null, "유우키 유우나! 용자부소속이야!"],
|
||||||
[0, "토고미모리", null, 0, null, 88, 105, 97, 0, 160, 300, null, null],
|
[0, "토고미모리", null, 0, null, 88, 92, 95, 0, 160, 300, null, null],
|
||||||
[0, "후우", null, 0, null, 85, 90, 86, 0, 160, 300, null, null],
|
[0, "후우", null, 0, null, 85, 90, 80, 0, 160, 300, null, null],
|
||||||
[0, "이츠키", null, 0, null, 87, 91, 84, 0, 160, 300, null, null],
|
[0, "이츠키", null, 0, null, 87, 80, 70, 0, 160, 300, null, null],
|
||||||
[0, "미요시카린", null, 0, null, 85, 93, 80, 0, 160, 300, null, null],
|
[0, "미요시카린", null, 0, null, 85, 88, 80, 0, 160, 300, null, null],
|
||||||
[0, "노기소노코", null, 0, null, 79, 84, 78, 0, 160, 300, null, null],
|
[0, "노기소노코", null, 0, null, 81, 81, 78, 0, 160, 300, null, null],
|
||||||
[0, "미노와긴", null, 0, null, 83, 87, 81, 0, 160, 300, null, null],
|
[0, "미노와긴", null, 0, null, 83, 87, 67, 0, 160, 300, null, null],
|
||||||
[0, "아키선생님", null, 0, null, 85, 39, 88, 0, 160, 300, null, "귀모"],
|
[0, "아키선생님", null, 0, null, 85, 39, 88, 0, 160, 300, null, "귀모"],
|
||||||
[0, "신수", null, 0, null, 97, 69, 99, 0, 160, 300, null, "집증"],
|
[0, "신수", null, 0, null, 97, 69, 99, 0, 160, 300, null, "집증"],
|
||||||
[0, "노기와카바", null, 0, null, 87, 85, 79, 0, 160, 300, null, null],
|
[0, "노기와카바", null, 0, null, 87, 85, 79, 0, 160, 300, null, null],
|
||||||
@@ -520,9 +520,9 @@
|
|||||||
[0, "아카히라셋카", null, 0, null, 77, 85, 70, 0, 160, 300, null, null],
|
[0, "아카히라셋카", null, 0, null, 77, 85, 70, 0, 160, 300, null, null],
|
||||||
[0, "나츠메", null, 0, null, 79, 86, 50, 0, 160, 300, null, null],
|
[0, "나츠메", null, 0, null, 79, 86, 50, 0, 160, 300, null, null],
|
||||||
[0, "아키미네유우나", null, 0, null, 70, 86, 54, 0, 160, 300, null, null],
|
[0, "아키미네유우나", null, 0, null, 70, 86, 54, 0, 160, 300, null, null],
|
||||||
[0, "사토시", null, 0, null, 51, 95, 13, 0, 160, 300, null, null],
|
[1, "사토시", null, 0, null, 51, 95, 13, 0, 160, 300, null, null],
|
||||||
[0, "타케시", null, 0, null, 80, 32, 92, 0, 160, 300, null, null],
|
[0, "타케시", null, 0, null, 80, 32, 92, 0, 160, 300, null, null],
|
||||||
[0, "카스미", null, 0, null, 80, 44, 70, 0, 160, 300, null, null],
|
[1, "카스미", null, 0, null, 80, 44, 70, 0, 160, 300, null, null],
|
||||||
[0, "그린", null, 0, null, 76, 55, 82, 0, 160, 222, null, null],
|
[0, "그린", null, 0, null, 76, 55, 82, 0, 160, 222, null, null],
|
||||||
[0, "관철", null, 0, null, 79, 33, 83, 0, 160, 300, null, null],
|
[0, "관철", null, 0, null, 79, 33, 83, 0, 160, 300, null, null],
|
||||||
[0, "오키드 박사", null, 0, null, 70, 31, 95, 0, 160, 300, null, null],
|
[0, "오키드 박사", null, 0, null, 70, 31, 95, 0, 160, 300, null, null],
|
||||||
@@ -533,7 +533,7 @@
|
|||||||
[0, "태홍", null, 0, null, 90, 59, 95, 0, 160, 300, null, null, "마음이 없는 세계…"],
|
[0, "태홍", null, 0, null, 90, 59, 95, 0, 160, 300, null, null, "마음이 없는 세계…"],
|
||||||
[0, "마적", null, 0, null, 85, 33, 91, 0, 160, 300, null, null],
|
[0, "마적", null, 0, null, 85, 33, 91, 0, 160, 300, null, null],
|
||||||
[0, "섀턴", null, 0, null, 79, 39, 90, 0, 160, 300, null, null, "선전용이엇지만 이번엔 진짜로 새로운 에너지라도 찾아볼까?"],
|
[0, "섀턴", null, 0, null, 79, 39, 90, 0, 160, 300, null, null, "선전용이엇지만 이번엔 진짜로 새로운 에너지라도 찾아볼까?"],
|
||||||
[0, "N", null, 0, null, 80, 45, 91, 0, 160, 300, null, null, "네 디지몬의 목소리를 들려줘"],
|
[0, "N", null, 0, null, 80, 45, 91, 0, 160, 300, null, null, "네 포켓몬의 목소리를 들려줘"],
|
||||||
[0, "야가미 타이치", null, 0, null, 91, 85, 76, 0, 160, 300, null, null],
|
[0, "야가미 타이치", null, 0, null, 91, 85, 76, 0, 160, 300, null, null],
|
||||||
[0, "이시다야마토", null, 0, null, 75, 83, 80, 0, 160, 300, null, null],
|
[0, "이시다야마토", null, 0, null, 75, 83, 80, 0, 160, 300, null, null],
|
||||||
[0, "타케노우치소라", null, 0, null, 81, 66, 84, 0, 160, 300, null, null],
|
[0, "타케노우치소라", null, 0, null, 81, 66, 84, 0, 160, 300, null, null],
|
||||||
@@ -565,11 +565,11 @@
|
|||||||
[0, "사쿠라메구미", null, 0, null, 77, 32, 80, 0, 160, 300, null, null, "언니가 아니라 사쿠라 선생님!"],
|
[0, "사쿠라메구미", null, 0, null, 77, 32, 80, 0, 160, 300, null, null, "언니가 아니라 사쿠라 선생님!"],
|
||||||
[0, "다이몬마사루", null, 0, null, 56, 99, 42, 0, 160, 300, null, null],
|
[0, "다이몬마사루", null, 0, null, 56, 99, 42, 0, 160, 300, null, null],
|
||||||
[0, "히나모리아무", null, 0, null, 83, 70, 67, 0, 160, 300, null, null, "네거티브 하트 록온! 오픈 하트!!"],
|
[0, "히나모리아무", null, 0, null, 83, 70, 67, 0, 160, 300, null, null, "네거티브 하트 록온! 오픈 하트!!"],
|
||||||
[0, "발푸르기스의밤", null, 0, null, 67, 99, 56, 0, 160, 300, null, null],
|
[0, "발푸르기스의밤", null, 0, null, 67, 99, 56, 0, 160, 300, null, null, "하하하하하하하하!!"],
|
||||||
[0, "멘마", null, 0, null, 75, 56, 77, 0, 160, 300, null, null, "진땅 정말 좋아해 신부가 되고싶다는 말이야."],
|
[0, "멘마", null, 0, null, 75, 56, 77, 0, 160, 300, null, null, "진땅 정말 좋아해 신부가 되고싶다는 말이야."],
|
||||||
[0, "진땅", null, 0, null, 73, 55, 75, 0, 160, 300, null, null, "멘마!!! 미츠케타!!"],
|
[0, "진땅", null, 0, null, 73, 55, 75, 0, 160, 300, null, null, "멘마!!! 미츠케타!!"],
|
||||||
[0, "유키아츠", null, 0, null, 75, 69, 72, 0, 160, 300, null, null],
|
[0, "유키아츠", null, 0, null, 75, 69, 72, 0, 160, 300, null, null],
|
||||||
[0, "폿포", null, 0, null, 62, 69, 50, 0, 160, 300, null, null, "진땅 멘마 미츠케타!"],
|
[0, "폿포", null, 0, null, 62, 69, 50, 0, 160, 300, null, null],
|
||||||
[0, "야냐루", null, 0, null, 75, 55, 72, 0, 160, 300, null, null, "에! 진땅 또 멘마를 울렷어!!"],
|
[0, "야냐루", null, 0, null, 75, 55, 72, 0, 160, 300, null, null, "에! 진땅 또 멘마를 울렷어!!"],
|
||||||
[0, "츠루코", null, 0, null, 73, 52, 88, 0, 160, 300, null, null, "진땅 그러면 안되!"],
|
[0, "츠루코", null, 0, null, 73, 52, 88, 0, 160, 300, null, null, "진땅 그러면 안되!"],
|
||||||
[0, "공백소라", null, 0, null, 71, 50, 95, 0, 160, 300, null, null],
|
[0, "공백소라", null, 0, null, 71, 50, 95, 0, 160, 300, null, null],
|
||||||
@@ -583,7 +583,7 @@
|
|||||||
[0, "고길동", null, 0, null, 74, 88, 70, 0, 160, 300, null, null],
|
[0, "고길동", null, 0, null, 74, 88, 70, 0, 160, 300, null, null],
|
||||||
[0, "이그드라실", null, 0, null, 15, 82, 97, 0, 160, 300, null, null],
|
[0, "이그드라실", null, 0, null, 15, 82, 97, 0, 160, 300, null, null],
|
||||||
[0, "마츠다타카토", null, 0, null, 72, 56, 74, 0, 160, 300, null, null],
|
[0, "마츠다타카토", null, 0, null, 72, 56, 74, 0, 160, 300, null, null],
|
||||||
[0, "마키노루키", null, 0, null, 77, 63, 77, 0, 160, 300, null, null],
|
[0, "마키노 루키", null, 0, null, 77, 63, 77, 0, 160, 300, null, null],
|
||||||
[0, "리젠랴", null, 0, null, 72, 70, 77, 0, 160, 300, null, null],
|
[0, "리젠랴", null, 0, null, 72, 70, 77, 0, 160, 300, null, null],
|
||||||
[0, "리슈촌", null, 0, null, 67, 43, 52, 0, 160, 300, null, null],
|
[0, "리슈촌", null, 0, null, 67, 43, 52, 0, 160, 300, null, null],
|
||||||
[0, "쿠도타이키", null, 0, null, 82, 55, 80, 0, 160, 300, null, null],
|
[0, "쿠도타이키", null, 0, null, 82, 55, 80, 0, 160, 300, null, null],
|
||||||
@@ -592,18 +592,18 @@
|
|||||||
[0, "코구레카게루", null, 0, null, 80, 78, 60, 0, 160, 300, null, null, "널 좋아해 우타."],
|
[0, "코구레카게루", null, 0, null, 80, 78, 60, 0, 160, 300, null, null, "널 좋아해 우타."],
|
||||||
[0, "히이라기케이이치", null, 0, null, 86, 72, 88, 0, 160, 300, null, null],
|
[0, "히이라기케이이치", null, 0, null, 86, 72, 88, 0, 160, 300, null, null],
|
||||||
[0, "사쿠라즈카미키", null, 0, null, 79, 31, 82, 0, 160, 300, null, null],
|
[0, "사쿠라즈카미키", null, 0, null, 79, 31, 82, 0, 160, 300, null, null],
|
||||||
[0, "후지사키마나", null, 0, null, 77, 90, 73, 0, 160, 300, null, null],
|
[0, "후지사키 마나", null, 0, null, 77, 90, 73, 0, 160, 300, null, null],
|
||||||
[0, "마이멜로디", null, 0, null, 84, 60, 74, 0, 160, 300, null, null],
|
[0, "마이멜로디", null, 0, null, 84, 60, 74, 0, 160, 300, null, null],
|
||||||
[0, "히아라기준", null, 0, null, 82, 60, 75, 0, 160, 300, null, null],
|
[0, "히아라기준", null, 0, null, 82, 60, 75, 0, 160, 300, null, null],
|
||||||
[0, "호시즈키키라라", null, 0, null, 83, 70, 65, 0, 160, 300, null, null],
|
[0, "호시즈키키라라", null, 0, null, 83, 70, 65, 0, 160, 300, null, null],
|
||||||
[0, "오토나시유즈루", null, 0, null, 85, 61, 72, 0, 160, 300, null, null],
|
[0, "오토나시유즈루", null, 0, null, 85, 61, 72, 0, 160, 300, null, null],
|
||||||
[0, "타치바나카나데", null, 0, null, 89, 88, 74, 0, 160, 300, null, null],
|
[0, "타치바나카나데", null, 0, null, 89, 88, 74, 0, 160, 300, null, null, "좋아해 유즈루 나에게 심장을 줘서 고마워…"],
|
||||||
[0, "나오키아야토", null, 0, null, 80, 53, 80, 0, 160, 300, null, null, "좋아해 유즈루 심장을 줘서 고마워…"],
|
[0, "나오키 아야토", null, 0, null, 80, 53, 80, 0, 160, 300, null, null],
|
||||||
[0, "나카무라유리", null, 0, null, 81, 62, 76, 0, 160, 300, null, null],
|
[0, "나카무라 유리", null, 0, null, 81, 62, 76, 0, 160, 300, null, null],
|
||||||
[0, "캐캐체유이", null, 0, null, 77, 77, 56, 0, 160, 300, null, null, "결혼! 여자들의 궁극의 행복."],
|
[0, "Yui", null, 0, null, 82, 77, 76, 0, 160, 300, null, null, "결혼! 여자들의 궁극의 행복."],
|
||||||
[0, "히나타히데키", null, 0, null, 78, 70, 60, 0, 160, 300, null, null, "내가 해줄게!!"],
|
[0, "히나타 히데키", null, 0, null, 78, 70, 60, 0, 160, 300, null, null, "내가 해줄게!!"],
|
||||||
[0, "오토나시하츠네", null, 0, null, 74, 27, 80, 0, 160, 300, null, null],
|
[0, "오토나시 하츠네", null, 0, null, 74, 27, 80, 0, 160, 300, null, null],
|
||||||
[0, "이와사와마사미", null, 0, null, 76, 29, 88, 0, 160, 300, null, null],
|
[0, "이와사와 마사미", null, 0, null, 76, 29, 88, 0, 160, 300, null, null],
|
||||||
[0, "아마노네네", null, 0, null, 82, 44, 81, 0, 160, 300, null, null],
|
[0, "아마노네네", null, 0, null, 82, 44, 81, 0, 160, 300, null, null],
|
||||||
[0, "아마노유우", null, 0, null, 77, 49, 92, 0, 160, 300, null, null, "어차피 게임인걸?"],
|
[0, "아마노유우", null, 0, null, 77, 49, 92, 0, 160, 300, null, null, "어차피 게임인걸?"],
|
||||||
[0, "아오누마키리하", null, 0, null, 76, 50, 84, 0, 160, 300, null, null],
|
[0, "아오누마키리하", null, 0, null, 76, 50, 84, 0, 160, 300, null, null],
|
||||||
@@ -622,15 +622,13 @@
|
|||||||
[0, "타카미치카", null, 0, null, 80, 40, 76, 0, 160, 300, null, null],
|
[0, "타카미치카", null, 0, null, 80, 40, 76, 0, 160, 300, null, null],
|
||||||
[0, "사쿠라우치리코", null, 0, null, 80, 44, 84, 0, 160, 300, null, null],
|
[0, "사쿠라우치리코", null, 0, null, 80, 44, 84, 0, 160, 300, null, null],
|
||||||
[0, "큐어에코", null, 0, null, 83, 62, 74, 0, 160, 300, null, null],
|
[0, "큐어에코", null, 0, null, 83, 62, 74, 0, 160, 300, null, null],
|
||||||
[0, "홍진호", null, 0, null, 22, 22, 22, 0, 160, 222, null, null, "폭풍저그 콩진호가 간다!"],
|
|
||||||
[0, "큐어러블리", null, 0, null, 80, 83, 47, 0, 160, 300, null, null],
|
[0, "큐어러블리", null, 0, null, 80, 83, 47, 0, 160, 300, null, null],
|
||||||
[0, "큐어프린세스", null, 0, null, 76, 85, 55, 0, 160, 300, null, null],
|
[0, "큐어프린세스", null, 0, null, 76, 85, 55, 0, 160, 300, null, null],
|
||||||
[0, "큐어허니", null, 0, null, 83, 86, 67, 0, 160, 300, null, null],
|
[0, "큐어허니", null, 0, null, 83, 86, 67, 0, 160, 300, null, null],
|
||||||
[0, "큐어포춘", null, 0, "`", 82, 90, 80, 0, 160, 300, null, null],
|
[0, "큐어포춘", null, 0, null, 82, 90, 80, 0, 160, 300, null, null],
|
||||||
[0, "블루", null, 0, null, 41, 29, 17, 0, 160, 210, null, null],
|
[0, "블루", null, 0, null, 41, 29, 17, 0, 160, 210, null, null],
|
||||||
[0, "큐어텐더", null, 0, null, 82, 94, 77, 0, 160, 300, null, null],
|
[0, "큐어텐더", null, 0, null, 82, 94, 77, 0, 160, 300, null, null],
|
||||||
[0, "큐어플로라", null, 0, null, 81, 87, 69, 0, 160, 300, null, null],
|
[0, "큐어플로라", null, 0, null, 81, 87, 69, 0, 160, 300, null, null],
|
||||||
[0, "임요환", null, 0, null, 89, 57, 100, 0, 160, 300, null, null, "콩은 까야 제맛입니다"],
|
|
||||||
[0, "큐어머메이드", null, 0, null, 88, 80, 93, 0, 160, 300, null, null],
|
[0, "큐어머메이드", null, 0, null, 88, 80, 93, 0, 160, 300, null, null],
|
||||||
[0, "큐어트윙클", null, 0, null, 88, 84, 80, 0, 160, 300, null, null],
|
[0, "큐어트윙클", null, 0, null, 88, 84, 80, 0, 160, 300, null, null],
|
||||||
[0, "큐어미라클", null, 0, null, 80, 86, 74, 0, 160, 300, null, null],
|
[0, "큐어미라클", null, 0, null, 80, 86, 74, 0, 160, 300, null, null],
|
||||||
@@ -652,7 +650,7 @@
|
|||||||
[0, "아마쿠사카나데", null, 0, null, 80, 20, 75, 0, 160, 300, null, null],
|
[0, "아마쿠사카나데", null, 0, null, 80, 20, 75, 0, 160, 300, null, null],
|
||||||
[0, "나레이션", null, 0, null, 50, 50, 50, 0, 160, 300, null, null, "에라베!"],
|
[0, "나레이션", null, 0, null, 50, 50, 50, 0, 160, 300, null, null, "에라베!"],
|
||||||
[0, "도라쿠우타케", null, 0, null, 79, 31, 85, 0, 160, 300, null, null],
|
[0, "도라쿠우타케", null, 0, null, 79, 31, 85, 0, 160, 300, null, null],
|
||||||
[0, "아마가미소라", null, 0, null, 67, 17, 92, 0, 160, 300, null, null, "그에 대해선 잊어버려! 내꺼니까~♥"],
|
[0, "아마가미소라", null, 0, null, 67, 17, 92, 0, 160, 300, null, null],
|
||||||
[0, "코우사카쿄우스케", null, 0, null, 70, 19, 30, 0, 160, 300, null, null],
|
[0, "코우사카쿄우스케", null, 0, null, 70, 19, 30, 0, 160, 300, null, null],
|
||||||
[0, "코우사카키리노", null, 0, null, 60, 60, 19, 0, 160, 300, null, null, "나한테 우리오빠 뺏긴 기분이 어떄?"],
|
[0, "코우사카키리노", null, 0, null, 60, 60, 19, 0, 160, 300, null, null, "나한테 우리오빠 뺏긴 기분이 어떄?"],
|
||||||
[0, "쿠로네코", null, 0, null, 81, 20, 72, 0, 160, 300, null, null],
|
[0, "쿠로네코", null, 0, null, 81, 20, 72, 0, 160, 300, null, null],
|
||||||
@@ -668,7 +666,7 @@
|
|||||||
[0, "노야마아즈사", null, 0, null, 82, 30, 72, 0, 160, 300, null, null],
|
[0, "노야마아즈사", null, 0, null, 82, 30, 72, 0, 160, 300, null, null],
|
||||||
[0, "강영웅", null, 0, null, 86, 39, 90, 0, 160, 300, null, null],
|
[0, "강영웅", null, 0, null, 86, 39, 90, 0, 160, 300, null, null],
|
||||||
[0, "마츠오카유이치", null, 0, null, 84, 36, 72, 0, 160, 300, null, null],
|
[0, "마츠오카유이치", null, 0, null, 84, 36, 72, 0, 160, 300, null, null],
|
||||||
[0, "타카야나기켄", "`", 0, null, 82, 28, 80, 0, 160, 300, null, null],
|
[0, "타카야나기켄", null, 0, null, 82, 28, 80, 0, 160, 300, null, null],
|
||||||
[0, "니시노카오루", null, 0, null, 86, 34, 85, 0, 160, 300, null, null],
|
[0, "니시노카오루", null, 0, null, 86, 34, 85, 0, 160, 300, null, null],
|
||||||
[0, "코다마미노리", null, 0, null, 75, 30, 82, 0, 160, 300, null, null],
|
[0, "코다마미노리", null, 0, null, 75, 30, 82, 0, 160, 300, null, null],
|
||||||
[0, "사카키바라요코", null, 0, null, 85, 35, 77, 0, 160, 300, null, null],
|
[0, "사카키바라요코", null, 0, null, 85, 35, 77, 0, 160, 300, null, null],
|
||||||
@@ -681,10 +679,10 @@
|
|||||||
[0, "사소리나", null, 0, null, 77, 80, 40, 0, 160, 300, null, null],
|
[0, "사소리나", null, 0, null, 77, 80, 40, 0, 160, 300, null, null],
|
||||||
[0, "킨토레스키", null, 0, null, 77, 100, 70, 0, 160, 300, null, null],
|
[0, "킨토레스키", null, 0, null, 77, 100, 70, 0, 160, 300, null, null],
|
||||||
[0, "시비렛타", null, 0, null, 54, 76, 89, 0, 160, 300, null, null, "싫어…! 이렇게 죽고싶지 않단말이야…!"],
|
[0, "시비렛타", null, 0, null, 54, 76, 89, 0, 160, 300, null, null, "싫어…! 이렇게 죽고싶지 않단말이야…!"],
|
||||||
[0, "미즈시타타레", null, 0, null, 76, 80, 70, 0, 160, 300, null, null, "숙제를 잊지마라…!"],
|
[0, "미즈 시타타레", null, 0, null, 76, 80, 70, 0, 160, 300, null, null, "숙제를 잊지마라…!"],
|
||||||
[0, "고얀", null, 0, null, 52, 94, 70, 0, 160, 300, null, null],
|
[0, "고얀", null, 0, null, 52, 94, 70, 0, 160, 300, null, null],
|
||||||
[0, "레지나", null, 0, null, 85, 85, 85, 0, 160, 300, null, null],
|
[0, "레지나", null, 0, null, 85, 85, 85, 0, 160, 300, null, null],
|
||||||
[0, "킹지코츄", null, 0, null, 56, 90, 70, 0, 160, 300, null, null],
|
[0, "킹 지코츄", null, 0, null, 56, 90, 70, 0, 160, 300, null, null],
|
||||||
[0, "베르", null, 0, null, 43, 62, 90, 0, 160, 300, null, null],
|
[0, "베르", null, 0, null, 43, 62, 90, 0, 160, 300, null, null],
|
||||||
[0, "이라", null, 0, null, 89, 81, 60, 0, 160, 300, null, null],
|
[0, "이라", null, 0, null, 89, 81, 60, 0, 160, 300, null, null],
|
||||||
[0, "큐어피치", null, 0, null, 77, 88, 59, 0, 160, 300, null, null],
|
[0, "큐어피치", null, 0, null, 77, 88, 59, 0, 160, 300, null, null],
|
||||||
@@ -701,37 +699,26 @@
|
|||||||
[0, "큐어젤라토", null, 0, null, 82, 78, 83, 0, 160, 300, null, null],
|
[0, "큐어젤라토", null, 0, null, 82, 78, 83, 0, 160, 300, null, null],
|
||||||
[0, "큐어마카롱", null, 0, null, 83, 76, 89, 0, 160, 300, null, null],
|
[0, "큐어마카롱", null, 0, null, 83, 76, 89, 0, 160, 300, null, null],
|
||||||
[0, "큐어파르페", null, 0, null, 81, 80, 80, 0, 160, 300, null, null],
|
[0, "큐어파르페", null, 0, null, 81, 80, 80, 0, 160, 300, null, null],
|
||||||
[0, "큐어옐", null, 0, null, 85, 78, 74, 0, 160, 300, null, null],
|
[0, "유메노코토", null, 0, null, 81, 39, 80, 0, 160, 300, null, null],
|
||||||
[0, "큐어앙주", null, 0, null, 80, 74, 88, 0, 160, 300, null, null],
|
[0, "쿠로미", null, 0, null, 80, 49, 80, 0, 160, 300, null, null],
|
||||||
[0, "큐어에투알", null, 0, null, 84, 79, 83, 0, 160, 300, null, null],
|
|
||||||
[0, "큐어마셰리", null, 0, null, 82, 65, 82, 0, 160, 300, null, null],
|
|
||||||
[0, "유메노코토", null, 0, null, 81, 39, 80, 0, 160, 300, null, null, "혼노~ 스코시~ 이지와루나~ 뎅와노 키리카타오~ 시타노~ 다앗테 큐우니 신켄~나오에데하나시 다스노~ 즈루이~ 스키타요토~ 이와세테아 게나이 다앗테 히카세테아게나이"],
|
|
||||||
[0, "쿠로미", null, 0, null, 80, 49, 80, 0, 160, 300, null, null, "쿠로미 사건일지 XXX호!!"],
|
|
||||||
[0, "바쿠", null, 0, null, 55, 55, 50, 0, 160, 300, null, null],
|
[0, "바쿠", null, 0, null, 55, 55, 50, 0, 160, 300, null, null],
|
||||||
[0, "쿠로미파이브", null, 0, null, 59, 67, 60, 0, 160, 300, null, null],
|
[0, "쿠로미파이브", null, 0, null, 59, 67, 60, 0, 160, 300, null, null],
|
||||||
[0, "나빛나", null, 0, null, 87, 49, 83, 0, 160, 300, null, null],
|
[0, "나빛나", null, 0, null, 87, 49, 83, 0, 160, 300, null, null, "혼노~ 스코시~ 이지와루나~ 뎅와노 키리카타오~ 시타노~ 다앗테 큐우니 신켄~나오에데하나시 다스노~ 즈루이~ 스키타요토~ 이와세테아 게나이 다앗테 히카세테아게나이"],
|
||||||
[0, "아이리스", null, 0, null, 83, 50, 86, 0, 160, 300, null, null],
|
[0, "아이리스", null, 0, null, 83, 50, 86, 0, 160, 300, null, null, "쿠로미 사건일지 XXX호!!"],
|
||||||
[0, "세레나", null, 0, null, 85, 50, 82, 0, 160, 300, null, null],
|
[0, "포켓몬 세레나", null, 0, null, 85, 50, 82, 0, 160, 300, null, null],
|
||||||
[0, "시트론", null, 0, null, 79, 41, 92, 0, 160, 300, null, "발명"],
|
[0, "시트론", null, 0, null, 79, 41, 92, 0, 160, 300, null, "발명"],
|
||||||
[0, "야가미라이토", null, 0, null, 80, 87, 95, 0, 160, 300, null, null],
|
|
||||||
[0, "난천", null, 0, null, 84, 53, 87, 0, 160, 300, null, null],
|
[0, "난천", null, 0, null, 84, 53, 87, 0, 160, 300, null, null],
|
||||||
[0, "루자미네", null, 0, null, 80, 40, 92, 0, 160, 300, null, null],
|
[0, "루자미네", null, 0, null, 80, 40, 92, 0, 160, 300, null, null],
|
||||||
[0, "릴리에", null, 0, null, 82, 64, 69, 0, 160, 300, null, null],
|
[0, "릴리에", null, 0, null, 82, 64, 69, 0, 160, 300, null, null],
|
||||||
[0, "비트마", null, 0, null, 78, 90, 55, 0, 160, 300, null, null],
|
[0, "나카가와노리코", null, 0, null, 81, 19, 72, 0, 160, 300, null, null],
|
||||||
[0, "비트마ex", null, 0, null, 77, 95, 55, 0, 160, 300, null, null],
|
[0, "오다토시노리", null, 0, null, 56, 40, 81, 0, 160, 300, null, null],
|
||||||
[0, "토마", null, 0, null, 79, 52, 75, 0, 160, 300, null, null],
|
[0, "나나하라슈야", null, 0, null, 85, 55, 74, 0, 160, 300, null, null],
|
||||||
[0, "와이버스트", null, 0, null, 75, 85, 50, 0, 160, 300, null, null],
|
[0, "어른로로나", null, 0, null, 92, 89, 94, 0, 160, 300, null, null, "에… 여러분들은???"],
|
||||||
[0, "몰리", null, 0, null, 82, 78, 45, 0, 160, 300, null, null],
|
[0, "푸크푹", null, 0, null, 92, 79, 80, 0, 160, 300, null, null, "어서와 섀도게일 언니."],
|
||||||
[0, "나카가와노리코", null, 0, null, 81, 19, 72, 0, 160, 300, null, null, "알고있엇니?? 20년간 전쟁이 지속된 이 땅에도 이렇게 아름다운 봄이 온다는 것을. 돌아오지 않는 계절은 없어 놀라워"],
|
[0, "그림하트", null, 0, null, 77, 51, 49, 0, 160, 300, null, null, "목을 쳐라.."],
|
||||||
[0, "오다토시노리", null, 0, null, 56, 40, 81, 0, 160, 300, null, null, "이게임에서 살아남는건 위대하신 이몸이라는 것이다!!!!!!!!!!!!!!!"],
|
|
||||||
[0, "나나하라슈야", null, 0, null, 85, 55, 74, 0, 160, 300, null, null, "메리크리스마스 와일드 세븐 나나하라슈야"],
|
|
||||||
[0, "어른로로나", null, 0, null, 92, 89, 94, 0, 160, 300, null, null, "에. 여러분들은 누구시죠..?"],
|
|
||||||
[0, "푸크푹", null, 0, null, 92, 79, 80, 0, 160, 300, null, null, "어서와 섀도게일 언니"],
|
|
||||||
[0, "그림하트", null, 0, null, 77, 51, 49, 0, 160, 300, null, null, "그자의 목을 쳐라."],
|
|
||||||
[0, "마왕팜", null, 0, null, 72, 94, 50, 0, 160, 300, null, null],
|
[0, "마왕팜", null, 0, null, 72, 94, 50, 0, 160, 300, null, null],
|
||||||
[0, "피티프레데리카", null, 0, null, 84, 33, 86, 0, 160, 300, null, null],
|
[0, "피티프레데리카", null, 0, null, 84, 33, 86, 0, 160, 300, null, null],
|
||||||
[0, "데어라팬텀", null, 0, null, 82, 48, 88, 0, 160, 300, null, null],
|
[0, "웨딘", null, 0, null, 86, 40, 85, 0, 160, 300, null, null, "마법나라잖아요! 꿈과 판타지잖아요! 당신들, 바보 아녜요? 어떻게 일이 잘 안 풀린다고 남까지 말려들게 해서 몽땅 죽여 버리겠다는 결론을 낼 수 있죠?"]
|
||||||
[0, "웨딘", null, 0, null, 86, 40, 85, 0, 160, 300, null, null, "마법나라'잖아요! 꿈과 판타지잖아요! 당신들, 바보 아녜요? 어떻게 일이 잘 안풀린다고 남까지 말려들게 해서 몽땅 죽여 버리겠다는 결론을 낼 수있는거죠?"]
|
|
||||||
],
|
],
|
||||||
"general_ex":[
|
"general_ex":[
|
||||||
|
|
||||||
|
|||||||
+544
-545
@@ -2,555 +2,554 @@
|
|||||||
"title": "【가상모드17】 루드라사움",
|
"title": "【가상모드17】 루드라사움",
|
||||||
"startYear": 1,
|
"startYear": 1,
|
||||||
"history": [
|
"history": [
|
||||||
"<C>●</>LP 1년 1월:<L><b>【가상모드16】</> 루드라사움",
|
"<C>●</>180년 1월:<L><b>【가상모드16】 루드라사움</>",
|
||||||
"<C>●</>LP 1년 1월:<L><b>【이벤트】</b></>제작자 : Cure.",
|
"<C>●</>180년 1월:<L><b>【이벤트】</b>제작자 : Cure,거북마루, 네이미</>",
|
||||||
"<C>●</>LP 1년 1월:<L><b>【이벤트】</b></>도움을주신분 : 네이미님, 거북마루님",
|
"<C>●</>180년 1월:<L><b>【이벤트】</b>루드라사움의 세계관을 불러옵니다.</>"
|
||||||
"<C>●</>LP 1년 1월:<L><b>【이벤트】</b></>지도와 병종을 포함한 루드라사움의 세계관을 불러옵니다."
|
|
||||||
],
|
],
|
||||||
"stat": {
|
"stat": {
|
||||||
"total": 240,
|
"total": 230,
|
||||||
"min": 50,
|
"min": 50,
|
||||||
"max": 110
|
"max": 105
|
||||||
},
|
},
|
||||||
"iconPath": "루드라사움",
|
"iconPath": "루드라사움",
|
||||||
"fiction": 0,
|
"fiction": 0,
|
||||||
"nation":[
|
"nation":[
|
||||||
|
|
||||||
],
|
],
|
||||||
"map":{
|
"map":{
|
||||||
"mapName":"ludo_rathowm",
|
"mapName":"ludo_rathowm",
|
||||||
"unitSet":"ludo_rathowm"
|
"unitSet":"ludo_rathowm"
|
||||||
},
|
},
|
||||||
"diplomacy":[],
|
"diplomacy":[],
|
||||||
"general":[
|
"general":[
|
||||||
[0, "3G", null, 0, null, 34, 67, 67, 0, -15, 300, null, null],
|
[0, "바보라", null, 0, null, 102, 82, 10, 0, -15, 300, null, null],
|
||||||
[0, "PG 7", "PG-7.png", 0, null, 77, 83, 60, 0, -15, 300, null, null],
|
[0, "리아P리자스", null, 0, null, 99, 60, 82, 0, -15, 300, null, null],
|
||||||
[0, "PG 9", "PG-9.png", 0, null, 77, 60, 83, 0, -15, 300, null, null],
|
[0, "피구", null, 0, null, 96, 84, 47, 0, -15, 300, null, null],
|
||||||
[0, "가넷", null, 0, null, 83, 56, 88, 0, -15, 300, null, null],
|
[0, "마사무네", null, 0, null, 95, 95, 54, 0, -15, 300, null, null],
|
||||||
[0, "가라샤", null, 0, null, 65, 68, 47, 0, -15, 300, null, null],
|
[0, "스 프로반스", null, 0, null, 95, 75, 75, 0, -15, 300, null, null],
|
||||||
[0, "가르티아", null, 0, null, 68, 101, 73, 0, -15, 300, null, null],
|
[0, "아길레다", null, 0, null, 95, 85, 50, 0, -15, 300, null, null],
|
||||||
[0, "가무로아 마티오", "가무로아-마티오.png", 0, null, 55, 65, 40, 0, -15, 300, null, null],
|
[0, "세실 카나", null, 0, null, 94, 82, 57, 0, -15, 300, null, null],
|
||||||
[0, "가와노에 미네", "가와노에-미네.png", 0, null, 66, 71, 71, 0, -15, 300, null, null],
|
[0, "시라 헬만", null, 0, null, 94, 47, 82, 0, -15, 300, null, null],
|
||||||
[0, "가와노에 유즈루", "가와노에-유즈루.png", 0, null, 71, 76, 61, 0, -15, 300, null, null],
|
[0, "패튼 미스날지", null, 0, null, 94, 85, 65, 0, -15, 300, null, null],
|
||||||
[0, "가이야스 야스토", null, 0, null, 46, 60, 31, 0, -15, 300, null, null],
|
[0, "바레스 프로반스", null, 0, null, 93, 78, 53, 0, -15, 300, null, null],
|
||||||
[0, "가이젤 고도", null, 0, null, 55, 40, 60, 0, -15, 300, null, null],
|
[0, "이지스 카라", null, 0, null, 93, 87, 59, 0, -15, 300, null, null],
|
||||||
[0, "검호", null, 0, null, 69, 80, 59, 0, -15, 300, null, null],
|
[0, "레이라 글레크니", null, 0, null, 92, 88, 61, 0, -15, 300, null, null],
|
||||||
[0, "겐리", null, 0, null, 72, 55, 72, 0, -15, 300, null, null],
|
[0, "우르자", null, 0, null, 92, 93, 60, 0, -15, 300, null, null],
|
||||||
[0, "겟코", null, 0, null, 75, 85, 58, 0, -15, 300, null, null],
|
[0, "사나다 토우린", null, 0, null, 91, 47, 89, 0, -15, 300, null, null],
|
||||||
[0, "고닌자 그린", "고닌자-그린.png", 0, null, 55, 20, 65, 0, -15, 300, null, null],
|
[0, "카오루Q카구라", null, 0, null, 91, 82, 61, 0, -15, 300, null, null],
|
||||||
[0, "고닌자 레드", "고닌자-레드.png", 0, null, 70, 70, 10, 0, -15, 300, null, null],
|
[0, "크림", null, 0, null, 91, 43, 92, 0, -15, 300, null, null],
|
||||||
[0, "고닌자 블랙", "고닌자-블랙.png", 0, null, 65, 65, 20, 0, -15, 300, null, null],
|
[0, "란마루", null, 0, null, 90, 83, 59, 0, -15, 300, null, null],
|
||||||
[0, "고닌자 블루", "고닌자-블루.png", 0, null, 60, 75, 15, 0, -15, 300, null, null],
|
[0, "아미토스", null, 0, null, 90, 84, 55, 0, -15, 300, null, null],
|
||||||
[0, "고닌자 옐로", "고닌자-옐로.png", 0, null, 55, 15, 70, 0, -15, 300, null, null],
|
[0, "알코트 마리우스", null, 0, null, 90, 35, 93, 0, -15, 300, null, null],
|
||||||
[0, "고에몬", null, 0, null, 50, 40, 50, 0, -15, 300, null, null],
|
[0, "야마모토 란기", null, 0, null, 90, 85, 59, 0, -15, 300, null, null],
|
||||||
[0, "고킨켄", null, 0, null, 65, 83, 44, 0, -15, 300, null, null],
|
[0, "이오시프", null, 0, null, 90, 54, 89, 0, -15, 300, null, null],
|
||||||
[0, "고토", null, 0, null, 50, 40, 51, 0, -15, 300, null, null],
|
[0, "지마 바카스코", null, 0, null, 90, 86, 57, 0, -15, 300, null, null],
|
||||||
[0, "곤", null, 0, null, 71, 81, 59, 0, -15, 300, null, null],
|
[0, "지크", null, 0, null, 90, 80, 80, 0, -15, 300, null, null],
|
||||||
[0, "곤도 이사미", null, 0, null, 42, 22, 60, 0, -15, 300, null, null],
|
[0, "쩌둥", null, 0, null, 90, 89, 54, 0, -15, 300, null, null],
|
||||||
[0, "그라크 알카포네", null, 0, null, 50, 40, 52, 0, -15, 300, null, null],
|
[0, "나오에 아이", null, 0, null, 89, 57, 90, 0, -15, 300, null, null],
|
||||||
[0, "그린 오니", null, 0, null, 50, 40, 53, 0, -15, 300, null, null],
|
[0, "이소로쿠", null, 0, null, 89, 86, 64, 0, -15, 300, null, null],
|
||||||
[0, "기가이", null, 0, null, 75, 99, 63, 0, -15, 300, null, null],
|
[0, "크룩 모프스", null, 0, null, 89, 56, 95, 0, -15, 300, null, null],
|
||||||
[0, "김치 드라이브", "김치-드라이브.png", 0, null, 29, 67, 68, 0, -15, 300, null, null],
|
[0, "레류코프 바코프", null, 0, null, 88, 84, 60, 0, -15, 300, null, null],
|
||||||
[0, "나기 스 라갈", "나기-스-라갈.png", 0, null, 82, 54, 93, 0, -15, 300, null, null],
|
[0, "루베란 체르", null, 0, null, 88, 74, 57, 0, -15, 300, null, null],
|
||||||
[0, "나오에 아이", "나오에-아이.png", 0, null, 87, 49, 72, 0, -15, 300, null, null],
|
[0, "미르 요크스", null, 0, null, 88, 49, 79, 0, -15, 300, null, null],
|
||||||
[0, "나와토리", null, 0, null, 70, 75, 61, 0, -15, 300, null, null],
|
[0, "베제르아이", null, 0, null, 88, 94, 61, 0, -15, 300, null, null],
|
||||||
[0, "나토리", null, 0, null, 75, 58, 85, 0, -15, 300, null, null],
|
[0, "하니킹", null, 0, null, 88, 101, 52, 0, -15, 300, null, null],
|
||||||
[0, "난죠 란", "난죠-란.png", 0, null, 78, 49, 72, 0, -15, 300, null, null],
|
[0, "릭 아디슨", null, 0, null, 87, 99, 62, 0, -15, 300, null, null],
|
||||||
[0, "네로차페트7세", "네로차페트7세.png", 0, null, 71, 67, 34, 0, -15, 300, null, null],
|
[0, "엘레노아 란", null, 0, null, 87, 78, 78, 0, -15, 300, null, null],
|
||||||
[0, "네이 우롱", "네이-우롱.png", 0, null, 50, 40, 54, 0, -15, 300, null, null],
|
[0, "우에스기 겐신", null, 0, null, 87, 97, 52, 0, -15, 300, null, null],
|
||||||
[0, "네카이 시스", "네카이-시스.png", 0, null, 73, 69, 38, 0, -15, 300, null, null],
|
[0, "이시스", null, 0, null, 87, 92, 50, 0, -15, 300, null, null],
|
||||||
[0, "넬슨 서버", "넬슨-서버.png", 0, null, 74, 60, 50, 0, -15, 300, null, null],
|
[0, "학자", null, 0, null, 87, 53, 86, 0, -15, 300, null, null],
|
||||||
[0, "노기쿠", null, 0, null, 72, 63, 78, 0, -15, 300, null, null],
|
[0, "휴버트 리프톤", null, 0, null, 87, 85, 50, 0, -15, 300, null, null],
|
||||||
[0, "노벨", null, 0, null, 50, 40, 55, 0, -15, 300, null, null],
|
[0, "매직 더 간지", null, 0, null, 86, 41, 99, 0, -15, 300, null, null],
|
||||||
[0, "노스", null, 0, null, 87, 106, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "노아 하코부네", "노아-하코부네.png", 0, null, 69, 46, 74, 0, -15, 300, null, null],
|
|
||||||
[0, "노에마세", null, 0, null, 50, 40, 56, 0, -15, 300, null, null],
|
|
||||||
[0, "누누하라 캐비지", "누누하라-캐비지.png", 0, null, 60, 59, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "느와르", null, 0, null, 72, 78, 63, 0, -15, 300, null, null],
|
|
||||||
[0, "니나", null, 0, null, 50, 40, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "니들", null, 0, null, 71, 76, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "니코페리", null, 0, null, 82, 52, 97, 0, -15, 300, null, null],
|
|
||||||
[0, "닛코", null, 0, null, 50, 90, 90, 0, -15, 300, null, null],
|
|
||||||
[0, "다 게일", "다-게일.png", 0, null, 59, 70, 70, 0, -15, 300, null, null],
|
|
||||||
[0, "다니엘 세프티", "다니엘-세프티.png", 0, null, 50, 60, 58, 0, -15, 300, null, null],
|
|
||||||
[0, "다마네기", null, 0, null, 50, 40, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "다이몬 지타로", null, 0, null, 50, 50, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "다크란스", null, 0, null, 70, 100, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "닷지 에반스", null, 0, null, 42, 60, 27, 0, -15, 300, null, null],
|
|
||||||
[0, "덴저러스 브라보", null, 0, null, 50, 51, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "덴즈 브라우", null, 0, null, 50, 52, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "도르한 크리케트", "도르한-크리케트.png", 0, null, 62, 58, 69, 0, -15, 300, null, null],
|
|
||||||
[0, "도시바", null, 0, null, 84, 32, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "도코모", null, 0, null, 43, 60, 28, 0, -15, 300, null, null],
|
|
||||||
[0, "도하라스 해피네스", null, 0, null, 50, 53, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "돈 도에스스키", null, 0, null, 50, 54, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "듀란", null, 0, null, 62, 67, 39, 0, -15, 300, null, null],
|
|
||||||
[0, "라 사이젤", "라-사이젤.png", 0, null, 79, 103, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "라 하우젤", "라-하우젤.png", 0, null, 79, 103, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "라기시스", null, 0, null, 56, 70, 92, 0, -15, 300, null, null],
|
|
||||||
[0, "라돈 알폰느", "라돈-알폰느.png", 0, null, 50, 55, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "라르가", null, 0, null, 64, 56, 69, 0, -15, 300, null, null],
|
|
||||||
[0, "라벤더", null, 0, null, 50, 56, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "라우네아", null, 0, null, 73, 89, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "라인코크", null, 0, null, 77, 61, 91, 0, -15, 300, null, null],
|
|
||||||
[0, "라인하르트", null, 0, null, 58, 75, 43, 0, -15, 300, null, null],
|
|
||||||
[0, "라쳇 랜천", null, 0, null, 50, 57, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "라크 파이크스피크", null, 0, null, 50, 58, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "라파리아 무스카", null, 0, null, 50, 59, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "란마루", null, 0, null, 68, 74, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "란스", null, 0, null, 84, 105, 51, 0, -15, 300, null, null],
|
|
||||||
[0, "래시", null, 0, null, 70, 83, 19, 0, -15, 300, null, null],
|
|
||||||
[0, "레드 오니", null, 0, null, 55, 40, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "레드아이", null, 0, null, 76, 84, 84, 0, -15, 300, null, null],
|
|
||||||
[0, "레류코프 바코프", "레류코프-바코프.png", 0, null, 74, 80, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "레리 세리카", null, 0, null, 55, 40, 51, 0, -15, 300, null, null],
|
|
||||||
[0, "레베카 코프리", "레베카-코프리.png", 0, null, 61, 49, 64, 0, -15, 300, null, null],
|
|
||||||
[0, "레이", null, 0, null, 80, 109, 53, 0, -15, 300, null, null],
|
|
||||||
[0, "레이라 글레크니", "레이라-글레크니.png", 0, null, 68, 80, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "레이콕", null, 0, null, 70, 66, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "레자리안", null, 0, null, 55, 40, 52, 0, -15, 300, null, null],
|
|
||||||
[0, "렉싱턴", null, 0, null, 82, 97, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "렌고쿠", null, 0, null, 82, 84, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "로나 케스치나", "로나-케스치나.png", 0, null, 46, 55, 55, 0, -15, 300, null, null],
|
|
||||||
[0, "로도네 로도네", "로도네-로도네.png", 0, null, 54, 67, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "로라 인더스", "로라-인더스.png", 0, null, 55, 40, 53, 0, -15, 300, null, null],
|
|
||||||
[0, "로레 엔론", "로레-엔론.png", 0, null, 50, 40, 65, 0, -15, 300, null, null],
|
|
||||||
[0, "로렉스 가드라스", "로렉스-가드라스.png", 0, null, 80, 90, 55, 0, -15, 300, null, null],
|
|
||||||
[0, "로버트 랜드스타", "로버트-랜드스타.png", 0, null, 55, 40, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "로제 카드", "로제-카드.png", 0, null, 64, 60, 49, 0, -15, 300, null, null],
|
|
||||||
[0, "로즈", null, 0, null, 55, 40, 55, 0, -15, 300, null, null],
|
|
||||||
[0, "로키 뱅크", "로키-뱅크.png", 0, null, 55, 56, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "루리카 카라", "루리카-카라.png", 0, null, 64, 48, 70, 0, -15, 300, null, null],
|
|
||||||
[0, "루베란 체르", "루베란-체르.png", 0, null, 55, 40, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "루시 줄리에타", "루시-줄리에타.png", 0, null, 30, 65, 65, 0, -15, 300, null, null],
|
|
||||||
[0, "루이스 키토와크", null, 0, null, 55, 40, 58, 0, -15, 300, null, null],
|
|
||||||
[0, "루트 아리", "루트-아리.png", 0, null, 34, 67, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "르메이", null, 0, null, 84, 95, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "리림", null, 0, null, 71, 71, 71, 0, -15, 300, null, null],
|
|
||||||
[0, "리세트 카라", "리세트-카라.png", 0, null, 59, 53, 72, 0, -15, 300, null, null],
|
|
||||||
[0, "리아P리자스", null, 0, null, 92, 34, 44, 0, -15, 300, null, null],
|
|
||||||
[0, "리즈나 란프비트", "리즈나-란프비트.png", 0, null, 75, 53, 95, 0, -15, 300, null, null],
|
|
||||||
[0, "릭 아디슨", "릭-아디슨.png", 0, null, 78, 96, 62, 0, -15, 300, null, null],
|
|
||||||
[0, "마도", null, 0, null, 77, 87, 58, 0, -15, 300, null, null],
|
|
||||||
[0, "마르티나 카레", "마르티나-카레.png", 0, null, 67, 45, 56, 0, -15, 300, null, null],
|
|
||||||
[0, "마리스", null, 0, null, 74, 58, 86, 0, -15, 300, null, null],
|
|
||||||
[0, "마리시텐", null, 0, null, 55, 50, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "마리아 카스타드", "마리아-카스타드.png", 0, null, 68, 58, 73, 0, -15, 300, null, null],
|
|
||||||
[0, "마사무네", null, 0, null, 87, 95, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "마사토 이주인", null, 0, null, 55, 51, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "마소우 시즈카", "마소우-시즈카.png", 0, null, 82, 54, 93, 0, -15, 300, null, null],
|
|
||||||
[0, "마스조웨", null, 0, null, 82, 97, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "마시 줄리에타", "마시-줄리에타.png", 0, null, 30, 65, 65, 0, -15, 300, null, null],
|
|
||||||
[0, "마에다 케이지", "마에다-케이지.png", 0, null, 66, 66, 72, 0, -15, 300, null, null],
|
|
||||||
[0, "마에다 토시이에", "마에다-토시이에.png", 0, null, 68, 53, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "마키바노 메구", "마키바노-메구.png", 0, null, 55, 52, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "마키바노 앤트", "마키바노-앤트.png", 0, null, 55, 53, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "마틸다 마테우리", "마틸다-마테우리.png", 0, null, 66, 83, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "마하 마가렛", "마하-마가렛.png", 0, null, 65, 50, 83, 0, -15, 300, null, null],
|
|
||||||
[0, "마호코P마사이", null, 0, null, 66, 56, 70, 0, -15, 300, null, null],
|
|
||||||
[0, "만마루", null, 0, null, 55, 54, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "매직 더 간지", "매직-더-간지.png", 0, null, 91, 41, 94, 0, -15, 300, null, null],
|
|
||||||
[0, "머슬", null, 0, null, 65, 82, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "메가데스 모로미", "메가데스-모로미.png", 0, null, 57, 46, 68, 0, -15, 300, null, null],
|
|
||||||
[0, "메가스", null, 0, null, 65, 75, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "메가와스", null, 0, null, 65, 75, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "메가포스", null, 0, null, 65, 75, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "메나드 시세이", "메나드-시세이.png", 0, null, 66, 70, 56, 0, -15, 300, null, null],
|
|
||||||
[0, "메디우사", null, 0, null, 67, 100, 75, 0, -15, 300, null, null],
|
|
||||||
[0, "메르시 아처", "메르시-아처.png", 0, null, 33, 40, 65, 0, -15, 300, null, null],
|
|
||||||
[0, "메리 앤", "메리-앤.png", 0, null, 55, 55, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "메림 체르", "메림-체르.png", 0, null, 49, 64, 56, 0, -15, 300, null, null],
|
|
||||||
[0, "메이", null, 0, null, 55, 56, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "멜페이스", null, 0, null, 68, 61, 81, 0, -15, 300, null, null],
|
|
||||||
[0, "모던 카라", "모던-카라.png", 0, null, 85, 48, 100, 0, -15, 300, null, null],
|
|
||||||
[0, "모리 모토나리", "모리-모토나리.png", 0, null, 82, 93, 56, 0, -15, 300, null, null],
|
|
||||||
[0, "모리 테루", "모리-테루.png", 0, null, 77, 88, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "모스크바 동장군", "모스크바-동장군.png", 0, null, 85, 73, 73, 0, -15, 300, null, null],
|
|
||||||
[0, "모즈나", null, 0, null, 55, 57, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "모코모코", null, 0, null, 55, 58, 41, 0, -15, 300, null, null],
|
|
||||||
[0, "무라라", null, 0, null, 60, 72, 44, 0, -15, 300, null, null],
|
|
||||||
[0, "미 로드링", "미-로드링.png", 0, null, 73, 41, 79, 0, -15, 300, null, null],
|
|
||||||
[0, "미네바 마가렛", "미네바-마가렛.png", 0, null, 79, 93, 63, 0, -15, 300, null, null],
|
|
||||||
[0, "미라클 토우", "미라클-토우.png", 0, null, 59, 73, 103, 0, -15, 300, null, null],
|
|
||||||
[0, "미르 요크스", "미르-요크스.png", 0, null, 62, 71, 49, 0, -15, 300, null, null],
|
|
||||||
[0, "미리 요크스", "미리-요크스.png", 0, null, 63, 76, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "미스테리아 토우", "미스테리아-토우.png", 0, null, 76, 63, 93, 0, -15, 300, null, null],
|
|
||||||
[0, "미쓰비시", null, 0, null, 86, 60, 55, 0, -15, 300, null, null],
|
[0, "미쓰비시", null, 0, null, 86, 60, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "사치코 센터즈", null, 0, null, 86, 76, 69, 0, -15, 300, null, null],
|
||||||
|
[0, "시마즈 요시히사", null, 0, null, 86, 85, 48, 0, -15, 300, null, null],
|
||||||
|
[0, "시마즈 토시히사", null, 0, null, 86, 82, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "오다 코우", null, 0, null, 86, 56, 44, 0, -15, 300, null, null],
|
||||||
|
[0, "하우렌 프로반스", null, 0, null, 86, 81, 65, 0, -15, 300, null, null],
|
||||||
|
[0, "레이콕", null, 0, null, 85, 75, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "리즈나 란프비트", null, 0, null, 85, 61, 92, 0, -15, 300, null, null],
|
||||||
|
[0, "모스크바 동장군", null, 0, null, 85, 73, 73, 0, -15, 300, null, null],
|
||||||
|
[0, "슈퍼 간지", null, 0, null, 85, 50, 99, 0, -15, 300, null, null],
|
||||||
|
[0, "시바타 가츠이에", null, 0, null, 85, 79, 45, 0, -15, 300, null, null],
|
||||||
|
[0, "엑스 반케트", null, 0, null, 85, 79, 52, 0, -15, 300, null, null],
|
||||||
|
[0, "오로라", null, 0, null, 85, 82, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "우스피라 신토", null, 0, null, 85, 51, 97, 0, -15, 300, null, null],
|
||||||
|
[0, "쵸쵸맨 파브리", null, 0, null, 85, 18, 70, 0, -15, 300, null, null],
|
||||||
|
[0, "칠디 샤프", null, 0, null, 85, 93, 62, 0, -15, 300, null, null],
|
||||||
|
[0, "카바한", null, 0, null, 85, 45, 98, 0, -15, 300, null, null],
|
||||||
|
[0, "코바야카와 치누", null, 0, null, 85, 89, 42, 0, -15, 300, null, null],
|
||||||
|
[0, "도시바", null, 0, null, 84, 32, 59, 0, -15, 300, null, null],
|
||||||
|
[0, "란스", null, 0, null, 84, 104, 51, 0, -15, 300, null, null],
|
||||||
|
[0, "르메이", null, 0, null, 84, 95, 54, 0, -15, 300, null, null],
|
||||||
|
[0, "마리아 카스타드", null, 0, null, 84, 71, 89, 0, -15, 300, null, null],
|
||||||
[0, "미쓰이", null, 0, null, 84, 60, 31, 0, -15, 300, null, null],
|
[0, "미쓰이", null, 0, null, 84, 60, 31, 0, -15, 300, null, null],
|
||||||
[0, "미캉", null, 0, null, 51, 52, 64, 0, -15, 300, null, null],
|
[0, "암즈 아크", null, 0, null, 84, 98, 57, 0, -15, 300, null, null],
|
||||||
[0, "미킬 데파 라질", "미킬-데파-라질.png", 0, null, 55, 58, 40, 0, -15, 300, null, null],
|
[0, "야마다 치즈코", null, 0, null, 84, 42, 93, 0, -15, 300, null, null],
|
||||||
[0, "밀리 링클", "밀리-링클.png", 0, null, 49, 62, 56, 0, -15, 300, null, null],
|
[0, "코판돈 도트", null, 0, null, 84, 46, 62, 0, -15, 300, null, null],
|
||||||
[0, "바레스 프로반스", "바레스-프로반스.png", 0, null, 77, 81, 53, 0, -15, 300, null, null],
|
[0, "피텐 차오", null, 0, null, 84, 94, 57, 0, -15, 300, null, null],
|
||||||
[0, "바바 쇼우엔", "바바-쇼우엔.png", 0, null, 77, 79, 59, 0, -15, 300, null, null],
|
[0, "히타치", null, 0, null, 84, 57, 60, 0, -15, 300, null, null],
|
||||||
[0, "바바라", null, 0, null, 77, 58, 87, 0, -15, 300, null, null],
|
[0, "가넷", null, 0, null, 83, 50, 97, 0, -15, 300, null, null],
|
||||||
[0, "바보라", null, 0, null, 71, 99, 70, 0, -15, 300, null, null],
|
[0, "나기 스 라갈", null, 0, null, 83, 50, 99, 0, -15, 300, null, null],
|
||||||
[0, "바쇼 마티오", "바쇼-마티오.png", 0, null, 55, 59, 50, 0, -15, 300, null, null],
|
[0, "느와르", null, 0, null, 83, 97, 63, 0, -15, 300, null, null],
|
||||||
[0, "바운드 레스", null, 0, null, 45, 50, 50, 0, -15, 300, null, null],
|
[0, "니들", null, 0, null, 83, 76, 54, 0, -15, 300, null, null],
|
||||||
[0, "반 데로스", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
[0, "로렉스 가드라스", null, 0, null, 83, 95, 55, 0, -15, 300, null, null],
|
||||||
[0, "배팅 센터즈", "배팅-센터즈.png", 0, null, 73, 81, 59, 0, -15, 300, null, null],
|
[0, "마리스", null, 0, null, 83, 65, 98, 0, -15, 300, null, null],
|
||||||
[0, "버나드 세라미테", "버나드-세라미테.png", 0, null, 61, 65, 65, 0, -15, 300, null, null],
|
[0, "이에야스", null, 0, null, 83, 95, 53, 0, -15, 300, null, null],
|
||||||
[0, "버드 리스피", "버드-리스피.png", 0, null, 56, 62, 58, 0, -15, 300, null, null],
|
[0, "카페 아트풀", null, 0, null, 83, 51, 97, 0, -15, 300, null, null],
|
||||||
[0, "베제르아이", null, 0, null, 82, 93, 55, 0, -15, 300, null, null],
|
[0, "쿠로베", null, 0, null, 83, 92, 53, 0, -15, 300, null, null],
|
||||||
[0, "베키", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
[0, "토파즈", null, 0, null, 83, 40, 97, 0, -15, 300, null, null],
|
||||||
[0, "벨", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
[0, "피사로", null, 0, null, 83, 54, 95, 0, -15, 300, null, null],
|
||||||
[0, "보두", null, 0, null, 62, 67, 50, 0, -15, 300, null, null],
|
[0, "화염서사", null, 0, null, 83, 50, 93, 0, -15, 300, null, null],
|
||||||
[0, "보브자 프란다스", null, 0, null, 41, 60, 22, 0, -15, 300, null, null],
|
[0, "난죠 란", null, 0, null, 82, 49, 92, 0, -15, 300, null, null],
|
||||||
[0, "복수짱", null, 0, null, 65, 80, 56, 0, -15, 300, null, null],
|
[0, "노기쿠", null, 0, null, 82, 73, 73, 0, -15, 300, null, null],
|
||||||
[0, "브란브라", null, 0, null, 69, 65, 52, 0, -15, 300, null, null],
|
[0, "니코페리", null, 0, null, 82, 52, 97, 0, -15, 300, null, null],
|
||||||
[0, "브리티쉬", null, 0, null, 74, 93, 65, 0, -15, 300, null, null],
|
[0, "모리 테루", null, 0, null, 82, 95, 30, 0, -15, 300, null, null],
|
||||||
[0, "블랙 로터스", "블랙-로터스.png", 0, null, 28, 55, 72, 0, -15, 300, null, null],
|
[0, "사이아스 크라운", null, 0, null, 82, 54, 90, 0, -15, 300, null, null],
|
||||||
[0, "블레이저", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
[0, "사테라", null, 0, null, 82, 84, 84, 0, -15, 300, null, null],
|
||||||
[0, "블루 오니", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
[0, "시마즈 이에히사", null, 0, null, 82, 50, 85, 0, -15, 300, null, null],
|
||||||
[0, "비비드 카라", "비비드-카라.png", 0, null, 87, 47, 100, 0, -15, 300, null, null],
|
[0, "유즈하라 유즈미", null, 0, null, 82, 94, 54, 0, -15, 300, null, null],
|
||||||
[0, "비스케타 벨룬즈", "비스케타-벨룬즈.png", 0, null, 15, 75, 72, 0, -15, 300, null, null],
|
[0, "테라", null, 0, null, 82, 20, 63, 0, -15, 300, null, null],
|
||||||
[0, "비욘호우 오스만", "비욘호우-오스만.png", 0, null, 30, 69, 65, 0, -15, 300, null, null],
|
[0, "토마 리프톤", null, 0, null, 82, 99, 51, 0, -15, 300, null, null],
|
||||||
[0, "빈탄 데스트라", null, 0, null, 36, 60, 21, 0, -15, 300, null, null],
|
[0, "PG 7", null, 0, null, 81, 94, 60, 0, -15, 300, null, null],
|
||||||
[0, "빗치 고르치", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
[0, "PG 9", null, 0, null, 81, 60, 94, 0, -15, 300, null, null],
|
||||||
[0, "사나다 토우린", "사나다-토우린.png", 0, null, 89, 47, 82, 0, -15, 300, null, null],
|
[0, "나토리", null, 0, null, 81, 50, 93, 0, -15, 300, null, null],
|
||||||
[0, "사나키아", null, 0, null, 15, 60, 45, 0, -15, 300, null, null],
|
[0, "마소우 시즈카", null, 0, null, 81, 42, 100, 0, -15, 300, null, null],
|
||||||
[0, "사메잔", null, 0, null, 77, 56, 89, 0, -15, 300, null, null],
|
[0, "멜페이스", null, 0, null, 81, 42, 94, 0, -15, 300, null, null],
|
||||||
[0, "사야 프라이디", "사야-프라이디.png", 0, null, 34, 67, 67, 0, -15, 300, null, null],
|
[0, "스즈메", null, 0, null, 81, 92, 57, 0, -15, 300, null, null],
|
||||||
[0, "사유", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
[0, "아레프갈드", null, 0, null, 81, 64, 95, 0, -15, 300, null, null],
|
||||||
[0, "사이아스 크라운", "사이아스-크라운.png", 0, null, 76, 54, 80, 0, -15, 300, null, null],
|
[0, "유키", null, 0, null, 81, 61, 96, 0, -15, 300, null, null],
|
||||||
[0, "사치코 센터즈", "사치코-센터즈.png", 0, null, 69, 74, 64, 0, -15, 300, null, null],
|
[0, "이누카이", null, 0, null, 81, 89, 55, 0, -15, 300, null, null],
|
||||||
[0, "사카나쿠 텐카", null, 0, null, 43, 28, 60, 0, -15, 300, null, null],
|
[0, "카츄사 봇슈", null, 0, null, 81, 89, 65, 0, -15, 300, null, null],
|
||||||
[0, "사카모토 료마", "사카모토-료마.png", 0, null, 76, 80, 54, 0, -15, 300, null, null],
|
[0, "타마구시 후카", null, 0, null, 81, 60, 93, 0, -15, 300, null, null],
|
||||||
[0, "사카이 타다츠구", "사카이-타다츠구.png", 0, null, 67, 68, 53, 0, -15, 300, null, null],
|
[0, "토쿠가와 센", null, 0, null, 81, 97, 58, 0, -15, 300, null, null],
|
||||||
[0, "사카키바라", null, 0, null, 67, 53, 68, 0, -15, 300, null, null],
|
[0, "하우세스너스", null, 0, null, 81, 37, 98, 0, -15, 300, null, null],
|
||||||
[0, "사쿠라 카라", "사쿠라-카라.png", 0, null, 71, 73, 73, 0, -15, 300, null, null],
|
[0, "마스조웨", null, 0, null, 80, 98, 51, 0, -15, 300, null, null],
|
||||||
[0, "사테라", null, 0, null, 77, 81, 81, 0, -15, 300, null, null],
|
[0, "메나드 시세이", null, 0, null, 80, 75, 56, 0, -15, 300, null, null],
|
||||||
[0, "사파이어", null, 0, null, 83, 88, 56, 0, -15, 300, null, null],
|
[0, "미네바 마가렛", null, 0, null, 80, 95, 61, 0, -15, 300, null, null],
|
||||||
[0, "산카쿠", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
[0, "브리티쉬", null, 0, null, 80, 94, 65, 0, -15, 300, null, null],
|
||||||
[0, "삼손 막시모프", "삼손-막시모프.png", 0, null, 15, 65, 60, 0, -15, 300, null, null],
|
[0, "비비드 카라", null, 0, null, 80, 47, 100, 0, -15, 300, null, null],
|
||||||
[0, "샤론", null, 0, null, 72, 75, 75, 0, -15, 300, null, null],
|
[0, "셀 카치골프", null, 0, null, 80, 20, 80, 0, -15, 300, null, null],
|
||||||
[0, "샤리에라", null, 0, null, 32, 58, 70, 0, -15, 300, null, null],
|
[0, "시마즈 카즈히사", null, 0, null, 80, 81, 56, 0, -15, 300, null, null],
|
||||||
[0, "세라크로라스", null, 0, null, 75, 4, 80, 0, -15, 300, null, null],
|
|
||||||
[0, "세스나 벤빌", "세스나-벤빌.png", 0, null, 59, 70, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "세실 카나", "세실-카나.png", 0, null, 74, 80, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "세이간", null, 0, null, 78, 48, 77, 0, -15, 300, null, null],
|
|
||||||
[0, "세이조 모치키요", null, 0, null, 42, 27, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "세일러", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
|
||||||
[0, "세키토리", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
|
||||||
[0, "세티나 파보", "세티나-파보.png", 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
|
||||||
[0, "세피아 랜드스타", "세피아-랜드스타.png", 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
|
||||||
[0, "셀 카치골프", "셀-카치골프.png", 0, null, 45, 20, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "소르니아 벤츠", "소르니아-벤츠.png", 0, null, 43, 21, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "소울 레스", null, 0, null, 42, 22, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "소환짱", null, 0, null, 41, 23, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "솔트안", null, 0, null, 64, 64, 68, 0, -15, 300, null, null],
|
|
||||||
[0, "슈퍼 간지", "슈퍼-간지.png", 0, null, 93, 41, 99, 0, -15, 300, null, null],
|
|
||||||
[0, "스 프로반스", "스-프로반스.png", 0, null, 67, 56, 69, 0, -15, 300, null, null],
|
|
||||||
[0, "스바 고야", null, 0, null, 46, 31, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "스즈메", null, 0, null, 70, 85, 75, 0, -15, 300, null, null],
|
|
||||||
[0, "스즈야 무쌍", "스즈야-무쌍.png", 0, null, 51, 79, 79, 0, -15, 300, null, null],
|
|
||||||
[0, "스즈키", null, 0, null, 40, 24, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "스테셀 로마노프", "스테셀-로마노프.png", 0, null, 33, 63, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "스트로가노프", null, 0, null, 28, 82, 45, 0, -15, 300, null, null],
|
|
||||||
[0, "스티브 올란다", null, 0, null, 45, 30, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "스파르탄", null, 0, null, 34, 25, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "시게히코", null, 0, null, 75, 75, 30, 0, -15, 300, null, null],
|
|
||||||
[0, "시노다 겐고로", "시노다-겐고로.png", 0, null, 78, 56, 88, 0, -15, 300, null, null],
|
|
||||||
[0, "시노부", null, 0, null, 48, 74, 74, 0, -15, 300, null, null],
|
|
||||||
[0, "시라 헬만", "시라-헬만.png", 0, null, 94, 47, 83, 0, -15, 300, null, null],
|
|
||||||
[0, "시르바렐", null, 0, null, 33, 26, 62, 0, -15, 300, null, null],
|
|
||||||
[0, "시마즈 요시히사", "시마즈-요시히사.png", 0, null, 86, 83, 48, 0, -15, 300, null, null],
|
|
||||||
[0, "시마즈 이에히사", "시마즈-이에히사.png", 0, null, 82, 74, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "시마즈 카즈히사", "시마즈-카즈히사.png", 0, null, 80, 81, 56, 0, -15, 300, null, null],
|
|
||||||
[0, "시마즈 토시히사", "시마즈-토시히사.png", 0, null, 86, 48, 83, 0, -15, 300, null, null],
|
|
||||||
[0, "시바타 가츠이에", "시바타-가츠이에.png", 0, null, 75, 76, 45, 0, -15, 300, null, null],
|
|
||||||
[0, "시저", null, 0, null, 76, 98, 63, 0, -15, 300, null, null],
|
|
||||||
[0, "시치세이", null, 0, null, 75, 62, 84, 0, -15, 300, null, null],
|
|
||||||
[0, "시카쿠", null, 0, null, 32, 27, 62, 0, -15, 300, null, null],
|
|
||||||
[0, "시키부", null, 0, null, 80, 86, 58, 0, -15, 300, null, null],
|
[0, "시키부", null, 0, null, 80, 86, 58, 0, -15, 300, null, null],
|
||||||
[0, "시타크 루소", null, 0, null, 44, 29, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "신시아", null, 0, null, 43, 28, 62, 0, -15, 300, null, null],
|
|
||||||
[0, "실 플라인", "실-플라인.png", 0, null, 70, 63, 101, 0, -15, 300, null, null],
|
|
||||||
[0, "실키 리틀레즌", "실키-리틀레즌.png", 0, null, 82, 108, 53, 0, -15, 300, null, null],
|
|
||||||
[0, "실피드", null, 0, null, 41, 29, 63, 0, -15, 300, null, null],
|
|
||||||
[0, "아길레다", null, 0, null, 72, 81, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "아나셀 카스포라", "아나셀-카스포라.png", 0, null, 28, 66, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "아니", null, 0, null, 40, 30, 63, 0, -15, 300, null, null],
|
|
||||||
[0, "아니스 사와타리", "아니스-사와타리.png", 0, null, 73, 61, 106, 0, -15, 300, null, null],
|
|
||||||
[0, "아레프갈드", null, 0, null, 76, 64, 95, 0, -15, 300, null, null],
|
|
||||||
[0, "아르카리아", null, 0, null, 68, 72, 72, 0, -15, 300, null, null],
|
|
||||||
[0, "아리스토레스 캄", "아리스토레스-캄.png", 0, null, 76, 73, 53, 0, -15, 300, null, null],
|
|
||||||
[0, "아리시아", null, 0, null, 41, 31, 63, 0, -15, 300, null, null],
|
|
||||||
[0, "아리오스 테오만", "아리오스-테오만.png", 0, null, 83, 104, 51, 0, -15, 300, null, null],
|
|
||||||
[0, "아마즈사", null, 0, null, 34, 32, 64, 0, -15, 300, null, null],
|
|
||||||
[0, "아미란 바코프", "아미란-바코프.png", 0, null, 33, 33, 64, 0, -15, 300, null, null],
|
|
||||||
[0, "아미토스", null, 0, null, 84, 75, 55, 0, -15, 300, null, null],
|
|
||||||
[0, "아바토르 스캇트", null, 0, null, 40, 60, 20, 0, -15, 300, null, null],
|
|
||||||
[0, "아베 헤이조", null, 0, null, 32, 34, 64, 0, -15, 300, null, null],
|
|
||||||
[0, "아벨트 세프티", "아벨트-세프티.png", 0, null, 74, 98, 68, 0, -15, 300, null, null],
|
|
||||||
[0, "아부라코 도우산", "아부라코-도우산.png", 0, null, 68, 71, 48, 0, -15, 300, null, null],
|
|
||||||
[0, "아사히나 하쿠만", null, 0, null, 49, 20, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "아스베스트", null, 0, null, 65, 70, 52, 0, -15, 300, null, null],
|
|
||||||
[0, "아스카 카드뮴", "아스카-카드뮴.png", 0, null, 55, 50, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "아시 줄리에타", "아시-줄리에타.png", 0, null, 33, 66, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "아시카가 쵸신", "아시카가-쵸신.png", 0, null, 61, 44, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "아야 후지노미야", "아야-후지노미야.png", 0, null, 48, 20, 41, 0, -15, 300, null, null],
|
|
||||||
[0, "아오이", null, 0, null, 45, 62, 48, 0, -15, 300, null, null],
|
|
||||||
[0, "아이 컴", "아이-컴.png", 0, null, 34, 61, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "아이작", null, 0, null, 47, 60, 32, 0, -15, 300, null, null],
|
|
||||||
[0, "아이젤", null, 0, null, 76, 59, 107, 0, -15, 300, null, null],
|
|
||||||
[0, "아치볼트", null, 0, null, 47, 20, 42, 0, -15, 300, null, null],
|
|
||||||
[0, "아카시 카제마루", "아카시-카제마루.png", 0, null, 75, 68, 37, 0, -15, 300, null, null],
|
|
||||||
[0, "아카시로 카라", "아카시로-카라.png", 0, null, 65, 52, 70, 0, -15, 300, null, null],
|
|
||||||
[0, "아케치 미츠히데", "아케치-미츠히데.png", 0, null, 71, 41, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "아키 델", "아키-델.png", 0, null, 46, 20, 43, 0, -15, 300, null, null],
|
|
||||||
[0, "아키히메", null, 0, null, 33, 66, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "아타고 마카트", "아타고-마카트.png", 0, null, 45, 20, 44, 0, -15, 300, null, null],
|
|
||||||
[0, "아테나1호", null, 0, null, 44, 20, 45, 0, -15, 300, null, null],
|
|
||||||
[0, "아테나2호", null, 0, null, 69, 70, 70, 0, -15, 300, null, null],
|
|
||||||
[0, "아텐 누", "아텐-누.png", 0, null, 59, 55, 82, 0, -15, 300, null, null],
|
|
||||||
[0, "아틀란타", null, 0, null, 80, 90, 58, 0, -15, 300, null, null],
|
[0, "아틀란타", null, 0, null, 80, 90, 58, 0, -15, 300, null, null],
|
||||||
|
[0, "주노", null, 0, null, 80, 58, 90, 0, -15, 300, null, null],
|
||||||
|
[0, "쿠로히메", null, 0, null, 80, 40, 92, 0, -15, 300, null, null],
|
||||||
|
[0, "파스텔 카라", null, 0, null, 80, 46, 101, 0, -15, 300, null, null],
|
||||||
|
[0, "파파이아 서버", null, 0, null, 80, 55, 98, 0, -15, 300, null, null],
|
||||||
|
[0, "페리스", null, 0, null, 80, 54, 96, 0, -15, 300, null, null],
|
||||||
|
[0, "프레이아 이즌", null, 0, null, 80, 86, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "기가이", null, 0, null, 79, 100, 56, 0, -15, 300, null, null],
|
||||||
|
[0, "모던 카라", null, 0, null, 79, 48, 100, 0, -15, 300, null, null],
|
||||||
|
[0, "미 로드링", null, 0, null, 79, 41, 82, 0, -15, 300, null, null],
|
||||||
|
[0, "실키 리틀레즌", null, 0, null, 79, 102, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "아이젤", null, 0, null, 79, 51, 100, 0, -15, 300, null, null],
|
||||||
|
[0, "오가와 켄타로", null, 0, null, 79, 96, 63, 0, -15, 300, null, null],
|
||||||
|
[0, "오마치", null, 0, null, 79, 55, 102, 0, -15, 300, null, null],
|
||||||
|
[0, "와그 아카", null, 0, null, 79, 47, 103, 0, -15, 300, null, null],
|
||||||
|
[0, "케셀링크", null, 0, null, 79, 103, 65, 0, -15, 300, null, null],
|
||||||
|
[0, "타르고", null, 0, null, 79, 90, 56, 0, -15, 300, null, null],
|
||||||
|
[0, "세이간", null, 0, null, 78, 48, 92, 0, -15, 300, null, null],
|
||||||
|
[0, "시노다 겐고로", null, 0, null, 78, 56, 88, 0, -15, 300, null, null],
|
||||||
|
[0, "아벨트 세프티", null, 0, null, 78, 100, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "알렉스 발스", null, 0, null, 78, 45, 94, 0, -15, 300, null, null],
|
||||||
|
[0, "오즈 토터스", null, 0, null, 78, 31, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "이오 이슈타르", null, 0, null, 78, 38, 74, 0, -15, 300, null, null],
|
||||||
|
[0, "케이브리스", null, 0, null, 78, 105, 62, 0, -15, 300, null, null],
|
||||||
|
[0, "포론 차오", null, 0, null, 78, 73, 63, 0, -15, 300, null, null],
|
||||||
|
[0, "히카리 미 블랑", null, 0, null, 78, 70, 78, 0, -15, 300, null, null],
|
||||||
|
[0, "라 사이젤", null, 0, null, 77, 101, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "라 하우젤", null, 0, null, 77, 101, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "마도", null, 0, null, 77, 87, 58, 0, -15, 300, null, null],
|
||||||
|
[0, "바바 쇼우엔", null, 0, null, 77, 79, 59, 0, -15, 300, null, null],
|
||||||
|
[0, "바바라", null, 0, null, 77, 58, 87, 0, -15, 300, null, null],
|
||||||
|
[0, "사메잔", null, 0, null, 77, 56, 89, 0, -15, 300, null, null],
|
||||||
|
[0, "실 플라인", null, 0, null, 77, 56, 102, 0, -15, 300, null, null],
|
||||||
|
[0, "암 이스엘", null, 0, null, 77, 47, 104, 0, -15, 300, null, null],
|
||||||
|
[0, "야마가타", null, 0, null, 77, 61, 77, 0, -15, 300, null, null],
|
||||||
|
[0, "요시카게", null, 0, null, 77, 33, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "케이코쿠", null, 0, null, 77, 54, 101, 0, -15, 300, null, null],
|
||||||
|
[0, "라우네아", null, 0, null, 76, 91, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "라인코크", null, 0, null, 76, 50, 97, 0, -15, 300, null, null],
|
||||||
|
[0, "레드아이", null, 0, null, 76, 86, 86, 0, -15, 300, null, null],
|
||||||
|
[0, "레이", null, 0, null, 76, 105, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "미라클 토우", null, 0, null, 76, 35, 103, 0, -15, 300, null, null],
|
||||||
|
[0, "미스테리아 토우", null, 0, null, 76, 57, 99, 0, -15, 300, null, null],
|
||||||
|
[0, "세라크로라스", null, 0, null, 76, 40, 101, 0, -15, 300, null, null],
|
||||||
|
[0, "아리스토레스 캄", null, 0, null, 76, 73, 53, 0, -15, 300, null, null],
|
||||||
|
[0, "아텐 누", null, 0, null, 76, 55, 96, 0, -15, 300, null, null],
|
||||||
|
[0, "알카네제 라이즈", null, 0, null, 76, 94, 30, 0, -15, 300, null, null],
|
||||||
|
[0, "오다 노부나가", null, 0, null, 76, 97, 67, 0, -15, 300, null, null],
|
||||||
|
[0, "유란 미라쥬", null, 0, null, 76, 84, 45, 0, -15, 300, null, null],
|
||||||
|
[0, "자비에르", null, 0, null, 76, 100, 57, 0, -15, 300, null, null],
|
||||||
|
[0, "쟈하룻카스", null, 0, null, 76, 94, 64, 0, -15, 300, null, null],
|
||||||
|
[0, "코르도바 반", null, 0, null, 76, 79, 59, 0, -15, 300, null, null],
|
||||||
|
[0, "가르티아", null, 0, null, 75, 103, 48, 0, -15, 300, null, null],
|
||||||
|
[0, "겟코", null, 0, null, 75, 93, 58, 0, -15, 300, null, null],
|
||||||
|
[0, "다니엘 세프티", null, 0, null, 75, 78, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "메디우사", null, 0, null, 75, 101, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "시게히코", null, 0, null, 75, 75, 30, 0, -15, 300, null, null],
|
||||||
|
[0, "시치세이", null, 0, null, 75, 62, 84, 0, -15, 300, null, null],
|
||||||
|
[0, "아카시 카제마루", null, 0, null, 75, 68, 37, 0, -15, 300, null, null],
|
||||||
|
[0, "웬리나", null, 0, null, 75, 3, 80, 0, -15, 300, null, null],
|
||||||
|
[0, "코마츠", null, 0, null, 75, 73, 52, 0, -15, 300, null, null],
|
||||||
|
[0, "프리크 파라핀", null, 0, null, 75, 42, 97, 0, -15, 300, null, null],
|
||||||
|
[0, "넬슨 서버", null, 0, null, 74, 60, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "노스", null, 0, null, 74, 103, 62, 0, -15, 300, null, null],
|
||||||
|
[0, "모리 모토나리", null, 0, null, 74, 95, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "사파이어", null, 0, null, 74, 46, 98, 0, -15, 300, null, null],
|
||||||
|
[0, "야마나카 코지카", null, 0, null, 74, 35, 73, 0, -15, 300, null, null],
|
||||||
|
[0, "카미라", null, 0, null, 74, 58, 104, 0, -15, 300, null, null],
|
||||||
|
[0, "케이코", null, 0, null, 74, 58, 99, 0, -15, 300, null, null],
|
||||||
|
[0, "호넷", null, 0, null, 74, 60, 105, 0, -15, 300, null, null],
|
||||||
|
[0, "네카이 시스", null, 0, null, 73, 69, 38, 0, -15, 300, null, null],
|
||||||
|
[0, "배팅 센터즈", null, 0, null, 73, 81, 59, 0, -15, 300, null, null],
|
||||||
|
[0, "에르시르", null, 0, null, 73, 74, 74, 0, -15, 300, null, null],
|
||||||
|
[0, "카나요", null, 0, null, 73, 74, 74, 0, -15, 300, null, null],
|
||||||
|
[0, "풀 카라", null, 0, null, 73, 51, 104, 0, -15, 300, null, null],
|
||||||
|
[0, "하라 쇼우지", null, 0, null, 73, 63, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "한티 카라", null, 0, null, 73, 53, 104, 0, -15, 300, null, null],
|
||||||
|
[0, "겐리", null, 0, null, 72, 55, 72, 0, -15, 300, null, null],
|
||||||
|
[0, "노아 하코부네", null, 0, null, 72, 57, 82, 0, -15, 300, null, null],
|
||||||
|
[0, "렌고쿠", null, 0, null, 72, 87, 57, 0, -15, 300, null, null],
|
||||||
|
[0, "사카모토 료마", null, 0, null, 72, 90, 54, 0, -15, 300, null, null],
|
||||||
|
[0, "샤론", null, 0, null, 72, 75, 75, 0, -15, 300, null, null],
|
||||||
|
[0, "아니스 사와타리", null, 0, null, 72, 49, 105, 0, -15, 300, null, null],
|
||||||
|
[0, "잔 사비스", null, 0, null, 72, 75, 38, 0, -15, 300, null, null],
|
||||||
|
[0, "챠카 카드뮴", null, 0, null, 72, 49, 90, 0, -15, 300, null, null],
|
||||||
|
[0, "카스미K카스미", null, 0, null, 72, 73, 72, 0, -15, 300, null, null],
|
||||||
|
[0, "가와노에 유즈루", null, 0, null, 71, 76, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "곤", null, 0, null, 71, 87, 41, 0, -15, 300, null, null],
|
||||||
|
[0, "리림", null, 0, null, 71, 71, 71, 0, -15, 300, null, null],
|
||||||
|
[0, "사쿠라 카라", null, 0, null, 71, 73, 73, 0, -15, 300, null, null],
|
||||||
|
[0, "아케치 미츠히데", null, 0, null, 71, 41, 67, 0, -15, 300, null, null],
|
||||||
|
[0, "오리메", null, 0, null, 71, 63, 83, 0, -15, 300, null, null],
|
||||||
|
[0, "우에스기 카츠코", null, 0, null, 71, 71, 53, 0, -15, 300, null, null],
|
||||||
|
[0, "우에스기 토라코", null, 0, null, 71, 53, 71, 0, -15, 300, null, null],
|
||||||
|
[0, "카이트", null, 0, null, 71, 102, 62, 0, -15, 300, null, null],
|
||||||
|
[0, "파레로아", null, 0, null, 71, 74, 74, 0, -15, 300, null, null],
|
||||||
|
[0, "핫킨 다산", null, 0, null, 71, 73, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "다크란스", null, 0, null, 70, 99, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "래시", null, 0, null, 70, 83, 19, 0, -15, 300, null, null],
|
||||||
|
[0, "아리오스 테오만", null, 0, null, 70, 102, 51, 0, -15, 300, null, null],
|
||||||
|
[0, "체네자리 드라갈", null, 0, null, 70, 55, 81, 0, -15, 300, null, null],
|
||||||
|
[0, "호죠 소운", null, 0, null, 70, 62, 94, 0, -15, 300, null, null],
|
||||||
|
[0, "히바치", null, 0, null, 70, 90, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "마틸다 마테우리", null, 0, null, 69, 92, 53, 0, -15, 300, null, null],
|
||||||
|
[0, "브란브라", null, 0, null, 69, 65, 52, 0, -15, 300, null, null],
|
||||||
|
[0, "세스나 벤빌", null, 0, null, 69, 91, 30, 0, -15, 300, null, null],
|
||||||
|
[0, "아테나2호", null, 0, null, 69, 81, 81, 0, -15, 300, null, null],
|
||||||
|
[0, "우에스기 겐세이", null, 0, null, 69, 59, 39, 0, -15, 300, null, null],
|
||||||
|
[0, "카마 아트랜저", null, 0, null, 69, 54, 54, 0, -15, 300, null, null],
|
||||||
|
[0, "카파라 우치", null, 0, null, 69, 47, 65, 0, -15, 300, null, null],
|
||||||
|
[0, "칼 오지잔", null, 0, null, 69, 74, 53, 0, -15, 300, null, null],
|
||||||
|
[0, "검호", null, 0, null, 68, 80, 54, 0, -15, 300, null, null],
|
||||||
|
[0, "렉싱턴", null, 0, null, 68, 104, 20, 0, -15, 300, null, null],
|
||||||
|
[0, "마에다 토시이에", null, 0, null, 68, 53, 67, 0, -15, 300, null, null],
|
||||||
|
[0, "마호코P마사이", null, 0, null, 68, 56, 85, 0, -15, 300, null, null],
|
||||||
|
[0, "복수짱", null, 0, null, 68, 87, 56, 0, -15, 300, null, null],
|
||||||
|
[0, "아르카리아", null, 0, null, 68, 72, 72, 0, -15, 300, null, null],
|
||||||
|
[0, "아스카 카드뮴", null, 0, null, 68, 40, 99, 0, -15, 300, null, null],
|
||||||
[0, "아파치", null, 0, null, 68, 78, 57, 0, -15, 300, null, null],
|
[0, "아파치", null, 0, null, 68, 78, 57, 0, -15, 300, null, null],
|
||||||
[0, "알렉산더", null, 0, null, 68, 67, 55, 0, -15, 300, null, null],
|
[0, "알렉산더", null, 0, null, 68, 67, 55, 0, -15, 300, null, null],
|
||||||
[0, "알렉스 발스", "알렉스-발스.png", 0, null, 81, 45, 90, 0, -15, 300, null, null],
|
[0, "에미 알폰느", null, 0, null, 68, 52, 61, 0, -15, 300, null, null],
|
||||||
[0, "알카네제 라이즈", "알카네제-라이즈.png", 0, null, 74, 86, 56, 0, -15, 300, null, null],
|
[0, "콘버트 탁스", null, 0, null, 68, 48, 50, 0, -15, 300, null, null],
|
||||||
[0, "알코트 마리우스", "알코트-마리우스.png", 0, null, 85, 46, 89, 0, -15, 300, null, null],
|
[0, "파이아르", null, 0, null, 68, 30, 105, 0, -15, 300, null, null],
|
||||||
[0, "알토 한브라", null, 0, null, 43, 20, 46, 0, -15, 300, null, null],
|
[0, "마르티나 카레", null, 0, null, 67, 45, 56, 0, -15, 300, null, null],
|
||||||
[0, "암 이스엘", "암-이스엘.png", 0, null, 72, 61, 105, 0, -15, 300, null, null],
|
[0, "사카이 타다츠구", null, 0, null, 67, 68, 53, 0, -15, 300, null, null],
|
||||||
[0, "암즈 아크", "암즈-아크.png", 0, null, 72, 94, 64, 0, -15, 300, null, null],
|
[0, "사카키바라", null, 0, null, 67, 53, 68, 0, -15, 300, null, null],
|
||||||
[0, "야마가타", null, 0, null, 77, 61, 77, 0, -15, 300, null, null],
|
[0, "위치타 스케트", null, 0, null, 67, 62, 76, 0, -15, 300, null, null],
|
||||||
[0, "야마나카 코지카", "야마나카-코지카.png", 0, null, 74, 35, 73, 0, -15, 300, null, null],
|
[0, "이이 나오마사", null, 0, null, 67, 72, 56, 0, -15, 300, null, null],
|
||||||
[0, "야마다", null, 0, null, 42, 20, 47, 0, -15, 300, null, null],
|
[0, "쿠모 단죠", null, 0, null, 67, 67, 44, 0, -15, 300, null, null],
|
||||||
[0, "야마다 치즈코", "야마다-치즈코.png", 0, null, 80, 42, 85, 0, -15, 300, null, null],
|
[0, "혼다 타다카츠", null, 0, null, 67, 80, 53, 0, -15, 300, null, null],
|
||||||
[0, "야마모토 란기", "야마모토-란기.png", 0, null, 71, 76, 59, 0, -15, 300, null, null],
|
[0, "가와노에 미네", null, 0, null, 66, 71, 71, 0, -15, 300, null, null],
|
||||||
[0, "에구치", null, 0, null, 41, 20, 48, 0, -15, 300, null, null],
|
[0, "마에다 케이지", null, 0, null, 66, 66, 74, 0, -15, 300, null, null],
|
||||||
[0, "에로피챠 냥코", "에로피챠-냥코.png", 0, null, 40, 20, 49, 0, -15, 300, null, null],
|
[0, "아부라코 도우산", null, 0, null, 66, 71, 48, 0, -15, 300, null, null],
|
||||||
[0, "에르무 트라이", "에르무-트라이.png", 0, null, 43, 20, 50, 0, -15, 300, null, null],
|
[0, "카로리아 크리켓", null, 0, null, 66, 56, 72, 0, -15, 300, null, null],
|
||||||
[0, "에르시르", null, 0, null, 73, 74, 74, 0, -15, 300, null, null],
|
[0, "혼다 마사노부", null, 0, null, 66, 68, 44, 0, -15, 300, null, null],
|
||||||
[0, "에리느 해피네스", null, 0, null, 42, 20, 51, 0, -15, 300, null, null],
|
[0, "가라샤", null, 0, null, 65, 68, 47, 0, -15, 300, null, null],
|
||||||
[0, "에미 알폰느", "에미-알폰느.png", 0, null, 68, 52, 61, 0, -15, 300, null, null],
|
[0, "고닌자 레드", null, 0, null, 65, 70, 10, 0, -15, 300, null, null],
|
||||||
[0, "엑스 반케트", "엑스-반케트.png", 0, null, 85, 79, 52, 0, -15, 300, null, null],
|
[0, "고닌자 블랙", null, 0, null, 65, 65, 20, 0, -15, 300, null, null],
|
||||||
[0, "엘레나 엘알", "엘레나-엘알.png", 0, null, 37, 20, 52, 0, -15, 300, null, null],
|
[0, "마하 마가렛", null, 0, null, 65, 50, 83, 0, -15, 300, null, null],
|
||||||
[0, "엘레나 플라워", "엘레나-플라워.png", 0, null, 50, 78, 30, 0, -15, 300, null, null],
|
[0, "메가스", null, 0, null, 65, 75, 57, 0, -15, 300, null, null],
|
||||||
[0, "엘레노아 란", "엘레노아-란.png", 0, null, 69, 50, 76, 0, -15, 300, null, null],
|
[0, "메가와스", null, 0, null, 65, 75, 57, 0, -15, 300, null, null],
|
||||||
[0, "엘리자베스 데스", "엘리자베스-데스.png", 0, null, 33, 64, 66, 0, -15, 300, null, null],
|
[0, "아스베스트", null, 0, null, 65, 70, 52, 0, -15, 300, null, null],
|
||||||
[0, "엣찌", null, 0, null, 44, 60, 29, 0, -15, 300, null, null],
|
[0, "아카시로 카라", null, 0, null, 65, 52, 70, 0, -15, 300, null, null],
|
||||||
[0, "예리코 코론", "예리코-코론.png", 0, null, 41, 20, 53, 0, -15, 300, null, null],
|
[0, "켄토우 카나미", null, 0, null, 65, 62, 58, 0, -15, 300, null, null],
|
||||||
[0, "오가와 켄타로", "오가와-켄타로.png", 0, null, 79, 96, 63, 0, -15, 300, null, null],
|
|
||||||
[0, "오기르 롯 스테인", null, 0, null, 40, 20, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "오노하 메스포스", "오노하-메스포스.png", 0, null, 34, 60, 64, 0, -15, 300, null, null],
|
|
||||||
[0, "오다 노부나가", "오다-노부나가.png", 0, null, 76, 97, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "오다 코우", "오다-코우.png", 0, null, 86, 56, 44, 0, -15, 300, null, null],
|
|
||||||
[0, "오로 마티오", "오로-마티오.png", 0, null, 64, 55, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "오로라", null, 0, null, 73, 78, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "오리메", null, 0, null, 71, 63, 78, 0, -15, 300, null, null],
|
|
||||||
[0, "오마치", null, 0, null, 80, 55, 102, 0, -15, 300, null, null],
|
|
||||||
[0, "오아마 모토히데", null, 0, null, 62, 77, 38, 0, -15, 300, null, null],
|
|
||||||
[0, "오즈 토터스", "오즈-토터스.png", 0, null, 78, 31, 66, 0, -15, 300, null, null],
|
|
||||||
[0, "오키타 노조미", "오키타-노조미.png", 0, null, 60, 96, 76, 0, -15, 300, null, null],
|
|
||||||
[0, "오토히메", null, 0, null, 63, 56, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "올오레 더 서드", "올오레-더-서드.png", 0, null, 49, 76, 76, 0, -15, 300, null, null],
|
|
||||||
[0, "와그 아카", "와그-아카.png", 0, null, 88, 50, 99, 0, -15, 300, null, null],
|
|
||||||
[0, "와요소 벤빌", "와요소-벤빌.png", 0, null, 62, 57, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "요라", null, 0, null, 61, 58, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "요시모토", null, 0, null, 50, 69, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "요시카게", null, 0, null, 77, 33, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "요시카와 마치코", "요시카와-마치코.png", 0, null, 53, 66, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "요시카와 쿄코", "요시카와-쿄코.png", 0, null, 53, 50, 66, 0, -15, 300, null, null],
|
|
||||||
[0, "욧짱", null, 0, null, 60, 59, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "우", null, 0, null, 59, 60, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "우라질", null, 0, null, 58, 61, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "우르자", null, 0, null, 92, 90, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "우스피라 신토", "우스피라-신토.png", 0, null, 74, 51, 84, 0, -15, 300, null, null],
|
|
||||||
[0, "우에스기 겐세이", "우에스기-겐세이.png", 0, null, 69, 59, 39, 0, -15, 300, null, null],
|
|
||||||
[0, "우에스기 겐신", "우에스기-겐신.png", 0, null, 87, 97, 52, 0, -15, 300, null, null],
|
|
||||||
[0, "우에스기 카츠코", "우에스기-카츠코.png", 0, null, 71, 71, 53, 0, -15, 300, null, null],
|
|
||||||
[0, "우에스기 토라코", "우에스기-토라코.png", 0, null, 71, 53, 71, 0, -15, 300, null, null],
|
|
||||||
[0, "운가 사요리", null, 0, null, 57, 62, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "웬디 크루미라", "웬디-크루미라.png", 0, null, 56, 63, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "웬리나", null, 0, null, 75, 3, 80, 0, -15, 300, null, null],
|
|
||||||
[0, "위리스 후지사키", "위리스-후지사키.png", 0, null, 51, 64, 56, 0, -15, 300, null, null],
|
|
||||||
[0, "위치타 스케트", "위치타-스케트.png", 0, null, 67, 62, 76, 0, -15, 300, null, null],
|
|
||||||
[0, "유니콘", null, 0, null, 63, 76, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "유란 미라쥬", "유란-미라쥬.png", 0, null, 66, 75, 45, 0, -15, 300, null, null],
|
|
||||||
[0, "유우게", null, 0, null, 70, 75, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "유즈 필라리아", "유즈-필라리아.png", 0, null, 55, 64, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "유즈하라 유즈미", "유즈하라-유즈미.png", 0, null, 67, 88, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "유키", null, 0, null, 67, 77, 77, 0, -15, 300, null, null],
|
|
||||||
[0, "유키 델", "유키-델.png", 0, null, 54, 65, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "유키히메", null, 0, null, 53, 66, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "유틴 프루스", "유틴-프루스.png", 0, null, 52, 67, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "이누카이", null, 0, null, 67, 72, 72, 0, -15, 300, null, null],
|
|
||||||
[0, "이마가와 앙코", "이마가와-앙코.png", 0, null, 51, 68, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "이베트 체리아", "이베트-체리아.png", 0, null, 63, 77, 46, 0, -15, 300, null, null],
|
|
||||||
[0, "이소로쿠", null, 0, null, 73, 77, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "이시스", null, 0, null, 79, 88, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "이시지지", null, 0, null, 55, 40, 49, 0, -15, 300, null, null],
|
|
||||||
[0, "이안", null, 0, null, 54, 48, 64, 0, -15, 300, null, null],
|
|
||||||
[0, "이에야스", null, 0, null, 76, 85, 53, 0, -15, 300, null, null],
|
|
||||||
[0, "이오 이슈타르", "이오-이슈타르.png", 0, null, 78, 38, 74, 0, -15, 300, null, null],
|
|
||||||
[0, "이오시프", null, 0, null, 90, 54, 89, 0, -15, 300, null, null],
|
|
||||||
[0, "이이 나오마사", "이이-나오마사.png", 0, null, 67, 72, 56, 0, -15, 300, null, null],
|
|
||||||
[0, "이지스 카라", "이지스-카라.png", 0, null, 81, 87, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "이쿠노", null, 0, null, 70, 75, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "잇큐", null, 0, null, 34, 66, 55, 0, -15, 300, null, null],
|
|
||||||
[0, "자락", null, 0, null, 47, 32, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "자비에르", null, 0, null, 76, 97, 67, 0, -15, 300, null, null],
|
|
||||||
[0, "잔 사비스", "잔-사비스.png", 0, null, 72, 67, 38, 0, -15, 300, null, null],
|
|
||||||
[0, "쟈로 쟈스락", null, 0, null, 40, 20, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "쟈하룻카스", null, 0, null, 76, 94, 64, 0, -15, 300, null, null],
|
|
||||||
[0, "점퍼", null, 0, null, 55, 41, 48, 0, -15, 300, null, null],
|
|
||||||
[0, "제리피 고라", "제리피-고라.png", 0, null, 55, 42, 47, 0, -15, 300, null, null],
|
|
||||||
[0, "조후카", null, 0, null, 55, 43, 46, 0, -15, 300, null, null],
|
|
||||||
[0, "죠니", null, 0, null, 51, 55, 64, 0, -15, 300, null, null],
|
|
||||||
[0, "죠셉", null, 0, null, 55, 44, 45, 0, -15, 300, null, null],
|
|
||||||
[0, "주노", null, 0, null, 80, 58, 90, 0, -15, 300, null, null],
|
|
||||||
[0, "줄리아 린담", "줄리아-린담.png", 0, null, 34, 66, 63, 0, -15, 300, null, null],
|
|
||||||
[0, "줄키 크라운", "줄키-크라운.png", 0, null, 62, 63, 41, 0, -15, 300, null, null],
|
|
||||||
[0, "지마 바카스코", "지마-바카스코.png", 0, null, 68, 75, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "지블 마크토미", null, 0, null, 41, 21, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "지크", null, 0, null, 77, 63, 97, 0, -15, 300, null, null],
|
|
||||||
[0, "쩌둥", null, 0, null, 90, 89, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "챠카 카드뮴", "챠카-카드뮴.png", 0, null, 72, 49, 90, 0, -15, 300, null, null],
|
|
||||||
[0, "체네자리 드라갈", "체네자리-드라갈.png", 0, null, 70, 55, 81, 0, -15, 300, null, null],
|
|
||||||
[0, "초르초토브", null, 0, null, 44, 60, 24, 0, -15, 300, null, null],
|
|
||||||
[0, "쵸쵸맨 파브리", "쵸쵸맨-파브리.png", 0, null, 85, 18, 70, 0, -15, 300, null, null],
|
|
||||||
[0, "츠치다 못코", "츠치다-못코.png", 0, null, 55, 45, 44, 0, -15, 300, null, null],
|
|
||||||
[0, "치사 고도", "치사-고도.png", 0, null, 55, 46, 43, 0, -15, 300, null, null],
|
|
||||||
[0, "치치쿠리", null, 0, null, 41, 60, 23, 0, -15, 300, null, null],
|
|
||||||
[0, "칠디 샤프", "칠디-샤프.png", 0, null, 73, 90, 62, 0, -15, 300, null, null],
|
|
||||||
[0, "카나 세이하쥬", "카나-세이하쥬.png", 0, null, 55, 47, 42, 0, -15, 300, null, null],
|
|
||||||
[0, "카나요", null, 0, null, 73, 74, 74, 0, -15, 300, null, null],
|
|
||||||
[0, "카네오", null, 0, null, 55, 48, 41, 0, -15, 300, null, null],
|
|
||||||
[0, "카로리아 크리켓", "카로리아-크리켓.png", 0, null, 66, 56, 72, 0, -15, 300, null, null],
|
|
||||||
[0, "카마 아트랜저", "카마-아트랜저.png", 0, null, 69, 54, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "카미라", null, 0, null, 85, 49, 109, 0, -15, 300, null, null],
|
|
||||||
[0, "카바한", null, 0, null, 76, 45, 98, 0, -15, 300, null, null],
|
|
||||||
[0, "카스미K카스미", null, 0, null, 63, 73, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "카오루Q카구라", null, 0, null, 72, 78, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "카오스", null, 0, null, 50, 89, 89, 0, -15, 300, null, null],
|
|
||||||
[0, "카이트", null, 0, null, 78, 102, 62, 0, -15, 300, null, null],
|
|
||||||
[0, "카츄사 봇슈", "카츄사-봇슈.png", 0, null, 64, 73, 68, 0, -15, 300, null, null],
|
|
||||||
[0, "카토 스즈메", "카토-스즈메.png", 0, null, 55, 49, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "카토 키요시모리", null, 0, null, 55, 40, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "카파라 우치", "카파라-우치.png", 0, null, 69, 47, 65, 0, -15, 300, null, null],
|
|
||||||
[0, "카페 아트풀", "카페-아트풀.png", 0, null, 78, 57, 89, 0, -15, 300, null, null],
|
|
||||||
[0, "칼 오지잔", "칼-오지잔.png", 0, null, 69, 68, 53, 0, -15, 300, null, null],
|
|
||||||
[0, "캐로리 메이트", "캐로리-메이트.png", 0, null, 55, 41, 58, 0, -15, 300, null, null],
|
|
||||||
[0, "커티스 아벨렌", null, 0, null, 41, 60, 26, 0, -15, 300, null, null],
|
|
||||||
[0, "케셀링크", null, 0, null, 90, 107, 47, 0, -15, 300, null, null],
|
|
||||||
[0, "케이브냥", null, 0, null, 55, 70, 32, 0, -15, 300, null, null],
|
|
||||||
[0, "케이브리스", null, 0, null, 85, 110, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "케이브왕", null, 0, null, 55, 70, 32, 0, -15, 300, null, null],
|
|
||||||
[0, "케이코", null, 0, null, 74, 58, 96, 0, -15, 300, null, null],
|
|
||||||
[0, "케이코쿠", null, 0, null, 63, 68, 83, 0, -15, 300, null, null],
|
|
||||||
[0, "케챠크 반고", "케챠크-반고.png", 0, null, 55, 42, 57, 0, -15, 300, null, null],
|
|
||||||
[0, "켄토우 카나미", "켄토우-카나미.png", 0, null, 55, 56, 43, 0, -15, 300, null, null],
|
|
||||||
[0, "코난 호카벤", null, 0, null, 55, 44, 55, 0, -15, 300, null, null],
|
|
||||||
[0, "코르도바 반", "코르도바-반.png", 0, null, 76, 79, 59, 0, -15, 300, null, null],
|
|
||||||
[0, "코마츠", null, 0, null, 75, 73, 52, 0, -15, 300, null, null],
|
|
||||||
[0, "코바야카와 치누", "코바야카와-치누.png", 0, null, 72, 74, 62, 0, -15, 300, null, null],
|
|
||||||
[0, "코슈인 하즈키", "코슈인-하즈키.png", 0, null, 55, 45, 54, 0, -15, 300, null, null],
|
|
||||||
[0, "코우사카", null, 0, null, 65, 75, 70, 0, -15, 300, null, null],
|
[0, "코우사카", null, 0, null, 65, 75, 70, 0, -15, 300, null, null],
|
||||||
[0, "코판돈 도트", "코판돈-도트.png", 0, null, 55, 46, 53, 0, -15, 300, null, null],
|
[0, "큐티 밴드", null, 0, null, 65, 69, 41, 0, -15, 300, null, null],
|
||||||
[0, "콘 마가린", null, 0, null, 55, 47, 52, 0, -15, 300, null, null],
|
|
||||||
[0, "콘버트 탁스", "콘버트-탁스.png", 0, null, 68, 48, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "콘타마", null, 0, null, 55, 48, 51, 0, -15, 300, null, null],
|
|
||||||
[0, "콜린 코콜린", "콜린-코콜린.png", 0, null, 55, 49, 50, 0, -15, 300, null, null],
|
|
||||||
[0, "콩고", null, 0, null, 42, 23, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠로베", null, 0, null, 83, 92, 53, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠로히메", null, 0, null, 80, 20, 65, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠마", null, 0, null, 70, 75, 15, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠마노 고로", null, 0, null, 41, 26, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠모 단죠", "쿠모-단죠.png", 0, null, 67, 67, 44, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠소가키", null, 0, null, 55, 50, 49, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠유", null, 0, null, 55, 51, 48, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠제 쿄코", null, 0, null, 40, 25, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "쿠제 키요코", null, 0, null, 44, 24, 60, 0, -15, 300, null, null],
|
|
||||||
[0, "큐티 밴드", "큐티-밴드.png", 0, null, 68, 69, 41, 0, -15, 300, null, null],
|
|
||||||
[0, "크레인", null, 0, null, 55, 52, 47, 0, -15, 300, null, null],
|
|
||||||
[0, "크루체 머핀", "크루체-머핀.png", 0, null, 58, 75, 46, 0, -15, 300, null, null],
|
|
||||||
[0, "크룩 모프스", "크룩-모프스.png", 0, null, 93, 50, 95, 0, -15, 300, null, null],
|
|
||||||
[0, "크림", null, 0, null, 91, 43, 90, 0, -15, 300, null, null],
|
|
||||||
[0, "클린 뷰", "클린-뷰.png", 0, null, 55, 66, 45, 0, -15, 300, null, null],
|
|
||||||
[0, "키바코", null, 0, null, 65, 74, 66, 0, -15, 300, null, null],
|
[0, "키바코", null, 0, null, 65, 74, 66, 0, -15, 300, null, null],
|
||||||
[0, "키사라 코프리", "키사라-코프리.png", 0, null, 58, 67, 49, 0, -15, 300, null, null],
|
|
||||||
[0, "키스 골드", null, 0, null, 55, 54, 45, 0, -15, 300, null, null],
|
|
||||||
[0, "키이", null, 0, null, 65, 79, 56, 0, -15, 300, null, null],
|
[0, "키이", null, 0, null, 65, 79, 56, 0, -15, 300, null, null],
|
||||||
[0, "킷카와 키쿠", "킷카와-키쿠.png", 0, null, 64, 79, 71, 0, -15, 300, null, null],
|
[0, "하삼 크라운", null, 0, null, 65, 69, 42, 0, -15, 300, null, null],
|
||||||
[0, "킹", null, 0, null, 61, 78, 73, 0, -15, 300, null, null],
|
[0, "호 라가", null, 0, null, 65, 47, 101, 0, -15, 300, null, null],
|
||||||
[0, "킹죠지 아바레", "킹죠지-아바레.png", 0, null, 64, 61, 69, 0, -15, 300, null, null],
|
[0, "로제 카드", null, 0, null, 64, 50, 77, 0, -15, 300, null, null],
|
||||||
[0, "타락한 정치인", null, 0, null, 40, 60, 25, 0, -15, 300, null, null],
|
[0, "루리카 카라", null, 0, null, 64, 48, 70, 0, -15, 300, null, null],
|
||||||
[0, "타르고", null, 0, null, 74, 89, 56, 0, -15, 300, null, null],
|
[0, "솔트안", null, 0, null, 64, 64, 68, 0, -15, 300, null, null],
|
||||||
[0, "타마", null, 0, null, 55, 55, 44, 0, -15, 300, null, null],
|
[0, "오로 마티오", null, 0, null, 64, 55, 15, 0, -15, 300, null, null],
|
||||||
[0, "타마구시 후카", "타마구시-후카.png", 0, null, 64, 60, 70, 0, -15, 300, null, null],
|
[0, "킷카와 키쿠", null, 0, null, 64, 79, 71, 0, -15, 300, null, null],
|
||||||
[0, "타마시이시바리", null, 0, null, 55, 56, 43, 0, -15, 300, null, null],
|
[0, "킹죠지 아바레", null, 0, null, 64, 86, 61, 0, -15, 300, null, null],
|
||||||
[0, "타미 존", "타미-존.png", 0, null, 55, 57, 42, 0, -15, 300, null, null],
|
[0, "토포스", null, 0, null, 64, 100, 38, 0, -15, 300, null, null],
|
||||||
[0, "테라", null, 0, null, 82, 20, 63, 0, -15, 300, null, null],
|
[0, "미리 요크스", null, 0, null, 63, 83, 54, 0, -15, 300, null, null],
|
||||||
[0, "텐마바시 아리스", "텐마바시-아리스.png", 0, null, 30, 65, 67, 0, -15, 300, null, null],
|
[0, "오토히메", null, 0, null, 63, 56, 15, 0, -15, 300, null, null],
|
||||||
[0, "토마 리프톤", "토마-리프톤.png", 0, null, 82, 89, 61, 0, -15, 300, null, null],
|
[0, "유니콘", null, 0, null, 63, 76, 67, 0, -15, 300, null, null],
|
||||||
[0, "토마토 퓨레", "토마토-퓨레.png", 0, null, 60, 64, 60, 0, -15, 300, null, null],
|
[0, "이베트 체리아", null, 0, null, 63, 77, 46, 0, -15, 300, null, null],
|
||||||
[0, "토쿠가와 센", "토쿠가와-센.png", 0, null, 79, 86, 58, 0, -15, 300, null, null],
|
|
||||||
[0, "토파즈", null, 0, null, 83, 72, 72, 0, -15, 300, null, null],
|
|
||||||
[0, "토포스", null, 0, null, 78, 102, 61, 0, -15, 300, null, null],
|
|
||||||
[0, "톨스토이 바트", "톨스토이-바트.png", 0, null, 55, 59, 40, 0, -15, 300, null, null],
|
|
||||||
[0, "파레로아", null, 0, null, 71, 74, 74, 0, -15, 300, null, null],
|
|
||||||
[0, "파렌", null, 0, null, 63, 71, 71, 0, -15, 300, null, null],
|
[0, "파렌", null, 0, null, 63, 71, 71, 0, -15, 300, null, null],
|
||||||
[0, "파르프텐크스", null, 0, null, 33, 66, 66, 0, -15, 300, null, null],
|
[0, "나와토리", null, 0, null, 62, 88, 50, 0, -15, 300, null, null],
|
||||||
[0, "파멜라 헬만", "파멜라-헬만.png", 0, null, 35, 59, 60, 0, -15, 300, null, null],
|
[0, "도르한 크리케트", null, 0, null, 62, 58, 69, 0, -15, 300, null, null],
|
||||||
[0, "파스텔 카라", "파스텔-카라.png", 0, null, 86, 46, 100, 0, -15, 300, null, null],
|
[0, "듀란", null, 0, null, 62, 67, 39, 0, -15, 300, null, null],
|
||||||
[0, "파이아르", null, 0, null, 76, 61, 98, 0, -15, 300, null, null],
|
[0, "보두", null, 0, null, 62, 72, 50, 0, -15, 300, null, null],
|
||||||
[0, "파티", null, 0, null, 36, 58, 60, 0, -15, 300, null, null],
|
[0, "오아마 모토히데", null, 0, null, 62, 77, 38, 0, -15, 300, null, null],
|
||||||
[0, "파티 더 서머", "파티-더-서머.png", 0, null, 37, 57, 60, 0, -15, 300, null, null],
|
[0, "와요소 벤빌", null, 0, null, 62, 57, 15, 0, -15, 300, null, null],
|
||||||
[0, "파파데마스", null, 0, null, 38, 56, 60, 0, -15, 300, null, null],
|
[0, "줄키 크라운", null, 0, null, 62, 63, 41, 0, -15, 300, null, null],
|
||||||
[0, "파파이아 서버", "파파이아-서버.png", 0, null, 74, 59, 90, 0, -15, 300, null, null],
|
[0, "후트 롯", null, 0, null, 62, 69, 60, 0, -15, 300, null, null],
|
||||||
[0, "패트리샤 베이컨", "패트리샤-베이컨.png", 0, null, 39, 55, 60, 0, -15, 300, null, null],
|
[0, "라르가", null, 0, null, 61, 56, 69, 0, -15, 300, null, null],
|
||||||
[0, "패튼 미스날지", "패튼-미스날지.png", 0, null, 75, 85, 65, 0, -15, 300, null, null],
|
[0, "레베카 코프리", null, 0, null, 61, 49, 77, 0, -15, 300, null, null],
|
||||||
[0, "페가수스 포트", null, 0, null, 40, 54, 60, 0, -15, 300, null, null],
|
[0, "시저", null, 0, null, 61, 99, 40, 0, -15, 300, null, null],
|
||||||
[0, "페르에레 칼레트", "페르에레-칼레트.png", 0, null, 33, 67, 61, 0, -15, 300, null, null],
|
[0, "아시카가 쵸신", null, 0, null, 61, 44, 50, 0, -15, 300, null, null],
|
||||||
[0, "페리스", null, 0, null, 58, 76, 76, 0, -15, 300, null, null],
|
[0, "요라", null, 0, null, 61, 58, 15, 0, -15, 300, null, null],
|
||||||
[0, "페스포 톤토네", "페스포-톤토네.png", 0, null, 31, 64, 67, 0, -15, 300, null, null],
|
[0, "킹", null, 0, null, 61, 78, 73, 0, -15, 300, null, null],
|
||||||
[0, "페페 위지마", "페페-위지마.png", 0, null, 41, 53, 60, 0, -15, 300, null, null],
|
[0, "호리카와 나미", null, 0, null, 61, 62, 61, 0, -15, 300, null, null],
|
||||||
[0, "페페론 차오", null, 0, null, 42, 52, 60, 0, -15, 300, null, null],
|
[0, "고닌자 블루", null, 0, null, 60, 75, 15, 0, -15, 300, null, null],
|
||||||
[0, "포론 차오", "포론-차오.png", 0, null, 78, 73, 63, 0, -15, 300, null, null],
|
[0, "네로차페트7세", null, 0, null, 60, 62, 34, 0, -15, 300, null, null],
|
||||||
[0, "포토프 토카레프", "포토프-토카레프.png", 0, null, 43, 51, 60, 0, -15, 300, null, null],
|
[0, "머슬", null, 0, null, 60, 84, 60, 0, -15, 300, null, null],
|
||||||
[0, "풀 카라", "풀-카라.png", 0, null, 76, 58, 104, 0, -15, 300, null, null],
|
[0, "메가포스", null, 0, null, 60, 75, 57, 0, -15, 300, null, null],
|
||||||
[0, "프레이아 이즌", "프레이아-이즌.png", 0, null, 49, 77, 77, 0, -15, 300, null, null],
|
[0, "무라라", null, 0, null, 60, 72, 44, 0, -15, 300, null, null],
|
||||||
[0, "프로스트바인", null, 0, null, 44, 50, 60, 0, -15, 300, null, null],
|
[0, "오키타 노조미", null, 0, null, 60, 96, 76, 0, -15, 300, null, null],
|
||||||
[0, "프론소와즈", null, 0, null, 45, 49, 60, 0, -15, 300, null, null],
|
[0, "욧짱", null, 0, null, 60, 59, 15, 0, -15, 300, null, null],
|
||||||
[0, "프리마 호노노먼", "프리마-호노노먼.png", 0, null, 59, 54, 56, 0, -15, 300, null, null],
|
[0, "유우게", null, 0, null, 60, 75, 61, 0, -15, 300, null, null],
|
||||||
[0, "프리크 파라핀", "프리크-파라핀.png", 0, null, 67, 65, 94, 0, -15, 300, null, null],
|
[0, "이쿠노", null, 0, null, 60, 75, 61, 0, -15, 300, null, null],
|
||||||
[0, "플레처 모델", "플레처-모델.png", 0, null, 46, 48, 60, 0, -15, 300, null, null],
|
[0, "토마토 퓨레", null, 0, null, 60, 70, 60, 0, -15, 300, null, null],
|
||||||
[0, "플루페트", null, 0, null, 29, 40, 88, 0, -15, 300, null, null],
|
[0, "톨스토이 바트", null, 0, null, 60, 60, 40, 0, -15, 300, null, null],
|
||||||
[0, "피구", null, 0, null, 75, 73, 56, 0, -15, 300, null, null],
|
[0, "핫토리 한조", null, 0, null, 60, 70, 64, 0, -15, 300, null, null],
|
||||||
[0, "피니 사나다", "피니-사나다.png", 0, null, 47, 47, 60, 0, -15, 300, null, null],
|
[0, "다 게일", null, 0, null, 59, 70, 70, 0, -15, 300, null, null],
|
||||||
[0, "피사로", null, 0, null, 84, 54, 95, 0, -15, 300, null, null],
|
[0, "리세트 카라", null, 0, null, 59, 53, 81, 0, -15, 300, null, null],
|
||||||
[0, "피텐 차오", "피텐-차오.png", 0, null, 75, 80, 57, 0, -15, 300, null, null],
|
[0, "우", null, 0, null, 59, 60, 15, 0, -15, 300, null, null],
|
||||||
[0, "하니킹", null, 0, null, 92, 101, 44, 0, -15, 300, null, null],
|
[0, "프리마 호노노먼", null, 0, null, 59, 54, 56, 0, -15, 300, null, null],
|
||||||
[0, "하라 쇼우지", "하라-쇼우지.png", 0, null, 73, 63, 50, 0, -15, 300, null, null],
|
[0, "라인하르트", null, 0, null, 58, 75, 43, 0, -15, 300, null, null],
|
||||||
[0, "하삼 크라운", "하삼-크라운.png", 0, null, 70, 69, 42, 0, -15, 300, null, null],
|
[0, "크루체 머핀", null, 0, null, 58, 75, 46, 0, -15, 300, null, null],
|
||||||
[0, "하우렌 프로반스", "하우렌-프로반스.png", 0, null, 73, 70, 50, 0, -15, 300, null, null],
|
[0, "키사라 코프리", null, 0, null, 58, 67, 49, 0, -15, 300, null, null],
|
||||||
[0, "하우세스너스", null, 0, null, 78, 89, 37, 0, -15, 300, null, null],
|
[0, "메가데스 모로미", null, 0, null, 57, 68, 46, 0, -15, 300, null, null],
|
||||||
[0, "하이니 바흐", null, 0, null, 48, 46, 60, 0, -15, 300, null, null],
|
[0, "운가 사요리", null, 0, null, 57, 62, 15, 0, -15, 300, null, null],
|
||||||
[0, "하이디 팡크라우", "하이디-팡크라우.png", 0, null, 40, 58, 66, 0, -15, 300, null, null],
|
[0, "라기시스", null, 0, null, 56, 58, 92, 0, -15, 300, null, null],
|
||||||
[0, "하제후카 리모브", null, 0, null, 49, 45, 60, 0, -15, 300, null, null],
|
[0, "버나드 세라미테", null, 0, null, 56, 65, 65, 0, -15, 300, null, null],
|
||||||
[0, "학자", null, 0, null, 78, 53, 73, 0, -15, 300, null, null],
|
[0, "웬디 크루미라", null, 0, null, 56, 63, 15, 0, -15, 300, null, null],
|
||||||
[0, "한스킨스", null, 0, null, 50, 44, 60, 0, -15, 300, null, null],
|
[0, "가무로아 마티오", null, 0, null, 55, 65, 40, 0, -15, 300, null, null],
|
||||||
[0, "한티 카라", "한티-카라.png", 0, null, 65, 67, 108, 0, -15, 300, null, null],
|
[0, "가이젤 고도", null, 0, null, 55, 40, 60, 0, -15, 300, null, null],
|
||||||
[0, "핫킨 다산", "핫킨-다산.png", 0, null, 71, 73, 60, 0, -15, 300, null, null],
|
[0, "고닌자 옐로", null, 0, null, 55, 15, 70, 0, -15, 300, null, null],
|
||||||
[0, "핫토리 한조", "핫토리-한조.png", 0, null, 60, 70, 64, 0, -15, 300, null, null],
|
[0, "레드 오니", null, 0, null, 55, 40, 50, 0, -15, 300, null, null],
|
||||||
[0, "헨더슨 던트리스", "헨더슨-던트리스.png", 0, null, 51, 43, 60, 0, -15, 300, null, null],
|
[0, "레리 세리카", null, 0, null, 55, 40, 51, 0, -15, 300, null, null],
|
||||||
[0, "호 라가", "호-라가.png", 0, null, 74, 56, 101, 0, -15, 300, null, null],
|
[0, "레자리안", null, 0, null, 55, 40, 52, 0, -15, 300, null, null],
|
||||||
[0, "호넷", null, 0, null, 95, 40, 110, 0, -15, 300, null, null],
|
[0, "로라 인더스", null, 0, null, 55, 40, 53, 0, -15, 300, null, null],
|
||||||
[0, "호리카와 나미", "호리카와-나미.png", 0, null, 61, 62, 61, 0, -15, 300, null, null],
|
[0, "로버트 랜드스타", null, 0, null, 55, 40, 54, 0, -15, 300, null, null],
|
||||||
[0, "호죠 마사코", "호죠-마사코.png", 0, null, 52, 42, 60, 0, -15, 300, null, null],
|
[0, "로키 뱅크", null, 0, null, 55, 65, 40, 0, -15, 300, null, null],
|
||||||
[0, "호죠 소운", "호죠-소운.png", 0, null, 70, 62, 94, 0, -15, 300, null, null],
|
[0, "루이스 키토와크", null, 0, null, 55, 40, 58, 0, -15, 300, null, null],
|
||||||
[0, "혼다 마사노부", "혼다-마사노부.png", 0, null, 66, 68, 44, 0, -15, 300, null, null],
|
[0, "마키바노 메구", null, 0, null, 55, 52, 40, 0, -15, 300, null, null],
|
||||||
[0, "혼다 타다카츠", "혼다-타다카츠.png", 0, null, 67, 80, 53, 0, -15, 300, null, null],
|
[0, "마키바노 앤트", null, 0, null, 55, 53, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "만마루", null, 0, null, 55, 59, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "메이", null, 0, null, 55, 56, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "모즈나", null, 0, null, 55, 57, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "미킬 데파 라질", null, 0, null, 55, 58, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "바쇼 마티오", null, 0, null, 55, 59, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "블루 오니", null, 0, null, 55, 79, 10, 0, -15, 300, null, null],
|
||||||
|
[0, "유즈 필라리아", null, 0, null, 55, 64, 15, 0, -15, 300, null, null],
|
||||||
|
[0, "점퍼", null, 0, null, 55, 41, 48, 0, -15, 300, null, null],
|
||||||
|
[0, "제리피 고라", null, 0, null, 55, 42, 47, 0, -15, 300, null, null],
|
||||||
|
[0, "조후카", null, 0, null, 55, 43, 46, 0, -15, 300, null, null],
|
||||||
|
[0, "죠셉", null, 0, null, 55, 44, 45, 0, -15, 300, null, null],
|
||||||
|
[0, "츠치다 못코", null, 0, null, 55, 45, 44, 0, -15, 300, null, null],
|
||||||
|
[0, "치사 고도", null, 0, null, 55, 46, 43, 0, -15, 300, null, null],
|
||||||
|
[0, "카나 세이하쥬", null, 0, null, 55, 47, 42, 0, -15, 300, null, null],
|
||||||
|
[0, "카네오", null, 0, null, 55, 48, 41, 0, -15, 300, null, null],
|
||||||
|
[0, "카토 스즈메", null, 0, null, 55, 49, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "카토 키요시모리", null, 0, null, 55, 40, 59, 0, -15, 300, null, null],
|
||||||
|
[0, "캐로리 메이트", null, 0, null, 55, 41, 58, 0, -15, 300, null, null],
|
||||||
|
[0, "케이브냥", null, 0, null, 55, 70, 32, 0, -15, 300, null, null],
|
||||||
|
[0, "케이브왕", null, 0, null, 55, 32, 70, 0, -15, 300, null, null],
|
||||||
|
[0, "케챠크 반고", null, 0, null, 55, 42, 57, 0, -15, 300, null, null],
|
||||||
|
[0, "코슈인 하즈키", null, 0, null, 55, 45, 54, 0, -15, 300, null, null],
|
||||||
|
[0, "콘 마가린", null, 0, null, 55, 47, 52, 0, -15, 300, null, null],
|
||||||
|
[0, "콘타마", null, 0, null, 55, 48, 51, 0, -15, 300, null, null],
|
||||||
|
[0, "콜린 코콜린", null, 0, null, 55, 49, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "클린 뷰", null, 0, null, 55, 66, 45, 0, -15, 300, null, null],
|
||||||
|
[0, "타마", null, 0, null, 55, 75, 44, 0, -15, 300, null, null],
|
||||||
|
[0, "고킨켄", null, 0, null, 54, 85, 37, 0, -15, 300, null, null],
|
||||||
|
[0, "로도네 로도네", null, 0, null, 54, 65, 69, 0, -15, 300, null, null],
|
||||||
|
[0, "이안", null, 0, null, 54, 48, 64, 0, -15, 300, null, null],
|
||||||
|
[0, "요시카와 마치코", null, 0, null, 53, 66, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "요시카와 쿄코", null, 0, null, 53, 50, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "쿠유", null, 0, null, 53, 51, 48, 0, -15, 300, null, null],
|
||||||
|
[0, "타마시이시바리", null, 0, null, 53, 56, 43, 0, -15, 300, null, null],
|
||||||
[0, "화성대왕", null, 0, null, 53, 41, 60, 0, -15, 300, null, null],
|
[0, "화성대왕", null, 0, null, 53, 41, 60, 0, -15, 300, null, null],
|
||||||
[0, "화염서사", null, 0, null, 59, 73, 87, 0, -15, 300, null, null],
|
[0, "히미코", null, 0, null, 53, 56, 66, 0, -15, 300, null, null],
|
||||||
[0, "후루루 반", "후루루-반.png", 0, null, 54, 40, 60, 0, -15, 300, null, null],
|
[0, "마리시텐", null, 0, null, 52, 50, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "유틴 프루스", null, 0, null, 52, 67, 15, 0, -15, 300, null, null],
|
||||||
|
[0, "타미 존", null, 0, null, 52, 57, 42, 0, -15, 300, null, null],
|
||||||
|
[0, "호죠 마사코", null, 0, null, 52, 42, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "미캉", null, 0, null, 51, 52, 70, 0, -15, 300, null, null],
|
||||||
|
[0, "스즈야 무쌍", null, 0, null, 51, 79, 79, 0, -15, 300, null, null],
|
||||||
|
[0, "위리스 후지사키", null, 0, null, 51, 64, 80, 0, -15, 300, null, null],
|
||||||
|
[0, "죠니", null, 0, null, 51, 55, 64, 0, -15, 300, null, null],
|
||||||
|
[0, "헨더슨 던트리스", null, 0, null, 51, 43, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "고닌자 그린", null, 0, null, 50, 20, 65, 0, -15, 300, null, null],
|
||||||
|
[0, "고에몬", null, 0, null, 50, 40, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "고토", null, 0, null, 50, 40, 51, 0, -15, 300, null, null],
|
||||||
|
[0, "그라크 알카포네", null, 0, null, 50, 40, 52, 0, -15, 300, null, null],
|
||||||
|
[0, "그린 오니", null, 0, null, 50, 79, 10, 0, -15, 300, null, null],
|
||||||
|
[0, "네이 우롱", null, 0, null, 50, 40, 54, 0, -15, 300, null, null],
|
||||||
|
[0, "노벨", null, 0, null, 50, 40, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "니나", null, 0, null, 50, 40, 57, 0, -15, 300, null, null],
|
||||||
|
[0, "닛코", null, 0, null, 50, 84, 84, 0, -15, 300, null, null],
|
||||||
|
[0, "덴저러스 브라보", null, 0, null, 50, 51, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "덴즈 브라우", null, 0, null, 50, 52, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "도하라스 해피네스", null, 0, null, 50, 53, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "돈 도에스스키", null, 0, null, 50, 54, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "라돈 알폰느", null, 0, null, 50, 40, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "라벤더", null, 0, null, 50, 56, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "라크 파이크스피크", null, 0, null, 50, 58, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "라파리아 무스카", null, 0, null, 50, 59, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "로레 엔론", null, 0, null, 50, 40, 65, 0, -15, 300, null, null],
|
||||||
|
[0, "로즈", null, 0, null, 50, 40, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "마사토 이주인", null, 0, null, 50, 51, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "모코모코", null, 0, null, 50, 58, 41, 0, -15, 300, null, null],
|
||||||
|
[0, "버드 리스피", null, 0, null, 50, 62, 51, 0, -15, 300, null, null],
|
||||||
|
[0, "엘레나 플라워", null, 0, null, 50, 78, 30, 0, -15, 300, null, null],
|
||||||
|
[0, "요시모토", null, 0, null, 50, 69, 15, 0, -15, 300, null, null],
|
||||||
|
[0, "우라질", null, 0, null, 50, 61, 15, 0, -15, 300, null, null],
|
||||||
|
[0, "이시지지", null, 0, null, 50, 40, 49, 0, -15, 300, null, null],
|
||||||
|
[0, "카오스", null, 0, null, 50, 93, 63, 0, -15, 300, null, null],
|
||||||
|
[0, "코난 호카벤", null, 0, null, 50, 44, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "키스 골드", null, 0, null, 50, 54, 45, 0, -15, 300, null, null],
|
||||||
|
[0, "한스킨스", null, 0, null, 50, 44, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "밀리 링클", null, 0, null, 49, 62, 56, 0, -15, 300, null, null],
|
||||||
|
[0, "아사히나 하쿠만", null, 0, null, 49, 20, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "올오레 더 서드", null, 0, null, 49, 76, 76, 0, -15, 300, null, null],
|
||||||
|
[0, "하제후카 리모브", null, 0, null, 49, 45, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "시노부", null, 0, null, 48, 74, 74, 0, -15, 300, null, null],
|
||||||
|
[0, "아야 후지노미야", null, 0, null, 48, 20, 41, 0, -15, 300, null, null],
|
||||||
|
[0, "하이니 바흐", null, 0, null, 48, 46, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "아이작", null, 0, null, 47, 60, 32, 0, -15, 300, null, null],
|
||||||
|
[0, "아치볼트", null, 0, null, 47, 20, 42, 0, -15, 300, null, null],
|
||||||
|
[0, "유키히메", null, 0, null, 47, 10, 86, 0, -15, 300, null, null],
|
||||||
|
[0, "자락", null, 0, null, 47, 32, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "가이야스 야스토", null, 0, null, 46, 60, 31, 0, -15, 300, null, null],
|
||||||
|
[0, "스바 고야", null, 0, null, 46, 31, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "아키 델", null, 0, null, 46, 20, 43, 0, -15, 300, null, null],
|
||||||
|
[0, "이마가와 앙코", null, 0, null, 46, 68, 15, 0, -15, 300, null, null],
|
||||||
|
[0, "노에마세", null, 0, null, 45, 40, 56, 0, -15, 300, null, null],
|
||||||
|
[0, "라쳇 랜천", null, 0, null, 45, 65, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "메리 앤", null, 0, null, 45, 55, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "바운드 레스", null, 0, null, 45, 50, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "스티브 올란다", null, 0, null, 45, 30, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "아타고 마카트", null, 0, null, 45, 20, 44, 0, -15, 300, null, null],
|
||||||
|
[0, "유키 델", null, 0, null, 45, 65, 15, 0, -15, 300, null, null],
|
||||||
|
[0, "쿠마", null, 0, null, 45, 78, 15, 0, -15, 300, null, null],
|
||||||
|
[0, "쿠소가키", null, 0, null, 45, 50, 49, 0, -15, 300, null, null],
|
||||||
[0, "후브리 마츠시타", null, 0, null, 45, 60, 30, 0, -15, 300, null, null],
|
[0, "후브리 마츠시타", null, 0, null, 45, 60, 30, 0, -15, 300, null, null],
|
||||||
[0, "후트 롯", "후트-롯.png", 0, null, 62, 69, 60, 0, -15, 300, null, null],
|
[0, "시타크 루소", null, 0, null, 44, 29, 60, 0, -15, 300, null, null],
|
||||||
[0, "휴버트 리프톤", "휴버트-리프톤.png", 0, null, 80, 80, 65, 0, -15, 300, null, null],
|
[0, "아테나1호", null, 0, null, 44, 60, 60, 0, -15, 300, null, null],
|
||||||
[0, "히미코", null, 0, null, 62, 56, 66, 0, -15, 300, null, null],
|
[0, "엣찌", null, 0, null, 44, 60, 29, 0, -15, 300, null, null],
|
||||||
[0, "히바치", null, 0, null, 73, 90, 60, 0, -15, 300, null, null],
|
[0, "초르초토브", null, 0, null, 44, 60, 24, 0, -15, 300, null, null],
|
||||||
[0, "히카리 미 블랑", "히카리-미-블랑.png", 0, null, 72, 40, 69, 0, -15, 300, null, null],
|
[0, "쿠제 키요코", null, 0, null, 44, 24, 70, 0, -15, 300, null, null],
|
||||||
[0, "히타치", null, 0, null, 84, 57, 60, 0, -15, 300, null, null]
|
[0, "도코모", null, 0, null, 43, 60, 28, 0, -15, 300, null, null],
|
||||||
|
[0, "로나 케스치나", null, 0, null, 43, 55, 55, 0, -15, 300, null, null],
|
||||||
|
[0, "사카나쿠 텐카", null, 0, null, 43, 28, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "소르니아 벤츠", null, 0, null, 43, 21, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "신시아", null, 0, null, 43, 28, 62, 0, -15, 300, null, null],
|
||||||
|
[0, "알토 한브라", null, 0, null, 43, 20, 46, 0, -15, 300, null, null],
|
||||||
|
[0, "에르무 트라이", null, 0, null, 43, 20, 50, 0, -15, 300, null, null],
|
||||||
|
[0, "포토프 토카레프", null, 0, null, 43, 51, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "프론소와즈", null, 0, null, 43, 49, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "후루루 반", null, 0, null, 43, 40, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "곤도 이사미", null, 0, null, 42, 22, 65, 0, -15, 300, null, null],
|
||||||
|
[0, "누누하라 캐비지", null, 0, null, 42, 49, 86, 0, -15, 300, null, null],
|
||||||
|
[0, "다이몬 지타로", null, 0, null, 42, 55, 40, 0, -15, 300, null, null],
|
||||||
|
[0, "닷지 에반스", null, 0, null, 42, 60, 27, 0, -15, 300, null, null],
|
||||||
|
[0, "세이조 모치키요", null, 0, null, 42, 27, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "소울 레스", null, 0, null, 42, 22, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "야마다", null, 0, null, 42, 20, 47, 0, -15, 300, null, null],
|
||||||
|
[0, "에리느 해피네스", null, 0, null, 42, 20, 51, 0, -15, 300, null, null],
|
||||||
|
[0, "페페론 차오", null, 0, null, 42, 52, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "프로스트바인", null, 0, null, 42, 50, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "플레처 모델", null, 0, null, 42, 48, 70, 0, -15, 300, null, null],
|
||||||
|
[0, "보브자 프란다스", null, 0, null, 41, 60, 22, 0, -15, 300, null, null],
|
||||||
|
[0, "시카쿠", null, 0, null, 41, 27, 62, 0, -15, 300, null, null],
|
||||||
|
[0, "실피드", null, 0, null, 41, 29, 63, 0, -15, 300, null, null],
|
||||||
|
[0, "아리시아", null, 0, null, 41, 31, 63, 0, -15, 300, null, null],
|
||||||
|
[0, "에구치", null, 0, null, 41, 20, 48, 0, -15, 300, null, null],
|
||||||
|
[0, "예리코 코론", null, 0, null, 41, 20, 53, 0, -15, 300, null, null],
|
||||||
|
[0, "지블 마크토미", null, 0, null, 41, 21, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "치치쿠리", null, 0, null, 41, 60, 23, 0, -15, 300, null, null],
|
||||||
|
[0, "커티스 아벨렌", null, 0, null, 41, 60, 26, 0, -15, 300, null, null],
|
||||||
|
[0, "페페 위지마", null, 0, null, 41, 53, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "다마네기", null, 0, null, 40, 30, 81, 0, -15, 300, null, null],
|
||||||
|
[0, "사나키아", null, 0, null, 40, 60, 45, 0, -15, 300, null, null],
|
||||||
|
[0, "스즈키", null, 0, null, 40, 24, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "아바토르 스캇트", null, 0, null, 40, 60, 20, 0, -15, 300, null, null],
|
||||||
|
[0, "오기르 롯 스테인", null, 0, null, 40, 20, 54, 0, -15, 300, null, null],
|
||||||
|
[0, "쟈로 쟈스락", null, 0, null, 40, 20, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "쿠제 쿄코", null, 0, null, 40, 25, 70, 0, -15, 300, null, null],
|
||||||
|
[0, "하이디 팡크라우", null, 0, null, 40, 58, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "패트리샤 베이컨", null, 0, null, 39, 55, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "아니", null, 0, null, 38, 30, 63, 0, -15, 300, null, null],
|
||||||
|
[0, "에로피챠 냥코", null, 0, null, 38, 20, 82, 0, -15, 300, null, null],
|
||||||
|
[0, "파파데마스", null, 0, null, 38, 56, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "엘레나 엘알", null, 0, null, 37, 20, 52, 0, -15, 300, null, null],
|
||||||
|
[0, "파티 더 서머", null, 0, null, 37, 57, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "페가수스 포트", null, 0, null, 37, 54, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "빈탄 데스트라", null, 0, null, 36, 75, 21, 0, -15, 300, null, null],
|
||||||
|
[0, "파티", null, 0, null, 36, 58, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "소환짱", null, 0, null, 35, 23, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "줄리아 린담", null, 0, null, 35, 66, 63, 0, -15, 300, null, null],
|
||||||
|
[0, "콩고", null, 0, null, 35, 23, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "타락한 정치인", null, 0, null, 35, 61, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "파멜라 헬만", null, 0, null, 35, 59, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "피니 사나다", null, 0, null, 35, 60, 47, 0, -15, 300, null, null],
|
||||||
|
[0, "루트 아리", null, 0, null, 34, 67, 67, 0, -15, 300, null, null],
|
||||||
|
[0, "사야 프라이디", null, 0, null, 34, 67, 67, 0, -15, 300, null, null],
|
||||||
|
[0, "스파르탄", null, 0, null, 34, 25, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "아마즈사", null, 0, null, 34, 32, 64, 0, -15, 300, null, null],
|
||||||
|
[0, "아이 컴", null, 0, null, 34, 61, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "오노하 메스포스", null, 0, null, 34, 60, 64, 0, -15, 300, null, null],
|
||||||
|
[0, "잇큐", null, 0, null, 34, 12, 85, 0, -15, 300, null, null],
|
||||||
|
[0, "메르시 아처", null, 0, null, 33, 40, 68, 0, -15, 300, null, null],
|
||||||
|
[0, "스테셀 로마노프", null, 0, null, 33, 63, 67, 0, -15, 300, null, null],
|
||||||
|
[0, "시르바렐", null, 0, null, 33, 1, 62, 0, -15, 300, null, null],
|
||||||
|
[0, "아미란 바코프", null, 0, null, 33, 33, 64, 0, -15, 300, null, null],
|
||||||
|
[0, "아시 줄리에타", null, 0, null, 33, 66, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "아키히메", null, 0, null, 33, 66, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "엘리자베스 데스", null, 0, null, 33, 64, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "파르프텐크스", null, 0, null, 33, 66, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "페르에레 칼레트", null, 0, null, 33, 67, 61, 0, -15, 300, null, null],
|
||||||
|
[0, "샤리에라", null, 0, null, 32, 58, 75, 0, -15, 300, null, null],
|
||||||
|
[0, "아베 헤이조", null, 0, null, 32, 34, 64, 0, -15, 300, null, null],
|
||||||
|
[0, "페스포 톤토네", null, 0, null, 31, 64, 67, 0, -15, 300, null, null],
|
||||||
|
[0, "루시 줄리에타", null, 0, null, 30, 65, 65, 0, -15, 300, null, null],
|
||||||
|
[0, "마시 줄리에타", null, 0, null, 30, 70, 65, 0, -15, 300, null, null],
|
||||||
|
[0, "비욘호우 오스만", null, 0, null, 30, 30, 77, 0, -15, 300, null, null],
|
||||||
|
[0, "쿠마노 고로", null, 0, null, 30, 26, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "텐마바시 아리스", null, 0, null, 30, 72, 76, 0, -15, 300, null, null],
|
||||||
|
[0, "김치 드라이브", null, 0, null, 29, 67, 70, 0, -15, 300, null, null],
|
||||||
|
[0, "플루페트", null, 0, null, 29, 40, 88, 0, -15, 300, null, null],
|
||||||
|
[0, "3G", null, 0, null, 28, 30, 89, 0, -15, 300, null, null],
|
||||||
|
[0, "블랙 로터스", null, 0, null, 28, 55, 77, 0, -15, 300, null, null],
|
||||||
|
[0, "스트로가노프", null, 0, null, 28, 82, 45, 0, -15, 300, null, null],
|
||||||
|
[0, "메림 체르", null, 0, null, 20, 42, 97, 0, -15, 300, null, null],
|
||||||
|
[0, "아오이", null, 0, null, 20, 10, 69, 0, -15, 300, null, null],
|
||||||
|
[0, "반 데로스", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "베키", null, 0, null, 15, 54, 71, 0, -15, 300, null, null],
|
||||||
|
[0, "벨", null, 0, null, 15, 54, 71, 0, -15, 300, null, null],
|
||||||
|
[0, "블레이저", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "비스케타 벨룬즈", null, 0, null, 15, 80, 80, 0, -15, 300, null, null],
|
||||||
|
[0, "빗치 고르치", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "사유", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "산카쿠", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "삼손 막시모프", null, 0, null, 15, 77, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "세일러", null, 0, null, 15, 49, 68, 0, -15, 300, null, null],
|
||||||
|
[0, "세키토리", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "세티나 파보", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "세피아 랜드스타", null, 0, null, 15, 49, 66, 0, -15, 300, null, null],
|
||||||
|
[0, "아나셀 카스포라", null, 0, null, 10, 20, 60, 0, -15, 300, null, null],
|
||||||
|
[0, "크레인", null, 0, null, 10, 52, 85, 0, -15, 300, null, null]
|
||||||
],
|
],
|
||||||
"general_ex":[
|
"general_ex":[
|
||||||
[999, "KD", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "KD", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
@@ -558,14 +557,15 @@
|
|||||||
[999, "겟페이", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "겟페이", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "나이치사", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "나이치사", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "네프라카스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "네프라카스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "다케다 신겐", "다케다-신겐", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "다케다 신겐", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "도키치로", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "도키치로", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "라 바스왈드", "라-바스왈드", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "라 바스왈드", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "라사움", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "라사움", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "렌치 랜천", "렌치-랜천", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "렌치 랜천", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "로벤 팡", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "로벤 팡", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "루드라사움", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "루드라사움", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "리틀 프린세스", "리틀-프린세스", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "리틀 프린세스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
|
[999, "릴 가드라스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "마소우 소조", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "마소우 소조", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "스랄", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "스랄", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "시스템", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "시스템", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
@@ -573,22 +573,21 @@
|
|||||||
[999, "아마테라스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "아마테라스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "아벨", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "아벨", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "아스마제", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "아스마제", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "여신 앨리스", "여신-앨리스", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "여신 앨리스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "오다 키쵸", "오다-키쵸", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "오다 키쵸", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "와카", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "와카", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "웬즈딩 리자스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "웬즈딩 리자스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "자나게스 헬만", "자나게스-헬만", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "자나게스 헬만", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "질", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "질", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
|
[999, "콜라", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "쿠엘플란", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "쿠엘플란", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "쿠크루쿠크루", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "쿠크루쿠크루", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "테로 에티에노", "테로-에티에노", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "테로 에티에노", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "파슬리R제스", "파슬리R제스", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "파슬리R제스", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "파엘리나", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "파엘리나", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "프란나", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "프란나", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "프란체스카", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "프란체스카", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "하모니트", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "하모니트", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
||||||
[999, "후지와라", null, 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
[999, "후지와라", null, 0, null, 1, 1, 1, 0, -15, 300, null, null]
|
||||||
[999, "릴 가드라스", "릴-가드라스", 0, null, 1, 1, 1, 0, -15, 300, null, null],
|
|
||||||
[999, "콜라", null, 0, null, 1, 1, 1, 0, -15, 300, null, null]
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
<a href="/bbs/history2" target="_blank"><button class="toolbarButton">개인 열전</button></a>
|
<a href="/bbs/history2" target="_blank"><button class="toolbarButton">개인 열전</button></a>
|
||||||
<a href="/bbs/history3" target="_blank"><button class="toolbarButton">국가 열전</button></a>
|
<a href="/bbs/history3" target="_blank"><button class="toolbarButton">국가 열전</button></a>
|
||||||
<a href="/bbs/patch" target="_blank"><button class="toolbarButton">패치 내역</button></a>
|
<a href="/bbs/patch" target="_blank"><button class="toolbarButton">패치 내역</button></a>
|
||||||
<a href="../i_other/help.php" target="_blank"><button class="toolbarButton">튜토리얼</button></a>
|
<a href="battle_simulator" target="_blank"><button class="toolbarButton">전투 시뮬레이터</button></a>
|
||||||
<a href="<?=$site?>" target="_blank"><button class="toolbarButton"><?=$call?></button></a>
|
<a href="<?=$site?>" target="_blank"><button class="toolbarButton"><?=$call?></button></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<div class="hall_rank bg2 with_border">
|
<div class="hall_rank bg2 with_border">
|
||||||
<?=$general['rankName']??(($rank+1).'위')?>
|
<?=$general['rankName']??(($rank+1).'위')?>
|
||||||
</div>
|
</div>
|
||||||
<div class="hall_img"><img width="64" height="64" src="<?=$general['pictureFullPath']?>"></div>
|
<div class="hall_img"><img width="64" height="64" class='generalIcon' src="<?=$general['pictureFullPath']?>"></div>
|
||||||
<?php if(key_exists("serverName",$general)): ?>
|
<?php if(key_exists("serverName",$general)): ?>
|
||||||
<div class="hall_server obj_tooltip" data-toggle="tooltip" data-placement="top"><?=$general['serverName']?><?=$general['serverIdx']?>기
|
<div class="hall_server obj_tooltip" data-toggle="tooltip" data-placement="top"><?=$general['serverName']?><?=$general['serverIdx']?>기
|
||||||
<span class="tooltiptext">
|
<span class="tooltiptext">
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ var userFrame = '\
|
|||||||
<td class="small"><%emailFunc(email)%><br>(<%authType%>)</td>\
|
<td class="small"><%emailFunc(email)%><br>(<%authType%>)</td>\
|
||||||
<td><%userGradeText%><p class="small hide_text user_grade_<%userGrade%>" style="margin:0;"><%shortDate(blockUntil)%></p></td>\
|
<td><%userGradeText%><p class="small hide_text user_grade_<%userGrade%>" style="margin:0;"><%shortDate(blockUntil)%></p></td>\
|
||||||
<td><%nickname%></td>\
|
<td><%nickname%></td>\
|
||||||
<td><img src="<%icon%>" width="64" height="64"></td>\
|
<td><img class="generalIcon" src="<%icon%>" width="64" height="64"></td>\
|
||||||
<td class="small"><%slotGeneralList%></td>\
|
<td class="small"><%slotGeneralList%></td>\
|
||||||
<td class="small"><%shortDate(joinDate)%></td>\
|
<td class="small"><%shortDate(joinDate)%></td>\
|
||||||
<td class="small"><%shortDate(loginDate)%></td>\
|
<td class="small"><%shortDate(loginDate)%></td>\
|
||||||
|
|||||||
@@ -350,6 +350,8 @@ class Util extends \utilphp\util
|
|||||||
|
|
||||||
shuffle($keys);
|
shuffle($keys);
|
||||||
|
|
||||||
|
$new = [];
|
||||||
|
|
||||||
foreach($keys as $key) {
|
foreach($keys as $key) {
|
||||||
$new[$key] = $array[$key];
|
$new[$key] = $array[$key];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user