Compare commits

...
36 Commits
Author SHA1 Message Date
Hide_D 2445c79805 성벽 상대로 '혼란' 계략을 사용하지 않는 버그 수정 2018-09-08 12:33:41 +09:00
Hide_D 63be2dee47 운영자 찬스 수정 2018-09-07 02:06:13 +09:00
Hide_D 5bfef1be32 운영자 찬스2 2018-09-07 02:04:50 +09:00
Hide_D 8253526f23 운영자 찬스 2018-09-07 02:03:37 +09:00
Hide_D db19548e2c 불가능한 커맨드일 때 '불가' 표기 추가 2018-09-07 00:45:38 +09:00
Hide_D 10af31f042 customCSS를 조금 더 안전하게 적용 2018-09-06 23:38:47 +09:00
Hide_D e7c6e17590 왕조 일람의 '현재'에 대한 자세히 보기를 삭제 2018-09-05 23:39:16 +09:00
Hide_D a277ac182b 통합 안되는 버그 수정 2018-09-04 15:48:18 +09:00
Hide_D 0eee613a95 외교 커맨드 수정 2018-09-04 01:39:58 +09:00
Hide_D b76fa38e09 외교 커맨드 수식 오류 수정 2018-09-04 01:33:21 +09:00
Hide_D c0f5c8a358 내 정보에서 수비, 토너먼트가 즉시 반영되지 않는 버그 수정 2018-09-03 01:09:03 +09:00
Hide_D 71dd82afe8 메인 페이지 width 일부 수정 2018-09-02 21:00:05 +09:00
Hide_D ea5425a528 commandlist 가로로 짤리는 몇몇 유저용 수정 2018-09-02 20:55:47 +09:00
Hide_D d4ba13eee3 부대 탈퇴시 확인 창이 정상적으로 뜨지 않는 버그 수정 2018-09-02 14:19:17 +09:00
Hide_D 16831880dd 이전 시간대에 대해 리셋 가능하지 않도록 변경 2018-08-31 20:36:59 +09:00
Hide_D f79fc98ba6 customCSS 추가
장수 아이콘에 generalIcon 클래스 추가
2018-08-31 20:25:10 +09:00
Hide_D 0483c75dd7 전투 시뮬레이터에서 대미지 범위 표기 2018-08-31 19:32:56 +09:00
Hide_D 3a4dcacd56 글꼴 크기 범위 추가 2018-08-30 22:06:37 +09:00
Hide_D 5f6f09674e Merge branch 'devel' of ssh://storage.hided.net:2525/devsam/core into devel 2018-08-30 22:02:58 +09:00
Hide_D c785027c5c 에디터 변경 2018-08-30 22:02:51 +09:00
Hide_D d2659cea5f 원조시 특정 경우에 쌀 소모를 줄일 수 있는 버그 수정 2018-08-30 11:51:02 +09:00
Hide_D a9b966b159 증축 시 쌀 2000이 아닌 0 기준으로 계산하는 버그 수정 2018-08-30 11:49:37 +09:00
Hide_D f2c23e21c5 천도 시 쌀이 2000 미만이어도 가능한 버그 수정 2018-08-30 11:49:06 +09:00
Hide_D 53b973e2d3 장수 일람 연동 코드 버그 수정 2018-08-30 09:08:19 +09:00
Hide_D b7a570cba2 폰트 크기 변경에 대해서 즉시 반영이 되지 않는 버그 수정 2018-08-30 03:04:05 +09:00
Hide_D c77b79f0d2 글꼴 크기 커스터마이징 완료 2018-08-30 02:41:58 +09:00
Hide_D ef6678d8b0 에디터 글꼴 크기 커스터마이징 2018-08-30 02:12:48 +09:00
Hide_D 21609fa9c4 GUI 에디터 추가 옵션 2018-08-30 01:56:47 +09:00
Hide_D accc083702 gui 에디터 추가 2018-08-30 01:25:45 +09:00
Hide_D 9e677f3871 스탯 분류 방식 변경 2018-08-29 20:36:43 +09:00
Hide_D 55290eac30 네임스페이스 버그 해결 2018-08-29 15:04:44 +09:00
Hide_D d480502d33 NPC 네임스페이스 버그 해결 2018-08-29 15:03:43 +09:00
Hide_D c1cda16be0 성벽 공격 로그 수정 2018-08-28 21:56:33 +09:00
Hide_D 8ca9df9f34 '성인이 되어 등장' 시 전콘이 안뜨는 문제 해결 2018-08-28 20:36:46 +09:00
Hide_D 406b67b081 애니 집결 시나리오 변경 2018-08-28 20:29:42 +09:00
Hide_D 2c9fecf3ef 의병 고용, 인재 탐색시 기본 변종에 0 코드가 없는 경우 수정 2018-08-28 20:17:43 +09:00
63 changed files with 8764 additions and 259 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
+155
View File
@@ -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 = [
'&quot;', '&amp;', '&lt;', '&gt;', '&iexcl;', '&cent;',
'&pound;', '&curren;', '&yen;', '&brvbar;', '&sect;',
'&uml;', '&copy;', '&ordf;', '&laquo;', '&not;',
'&reg;', '&macr;', '&deg;', '&plusmn;', '&sup2;',
'&sup3;', '&acute;', '&micro;', '&para;', '&middot;',
'&cedil;', '&sup1;', '&ordm;', '&raquo;', '&frac14;',
'&frac12;', '&frac34;', '&iquest;', '&times;', '&divide;',
'&fnof;', '&circ;', '&tilde;', '&ndash;', '&mdash;',
'&lsquo;', '&rsquo;', '&sbquo;', '&ldquo;', '&rdquo;',
'&bdquo;', '&dagger;', '&Dagger;', '&bull;', '&hellip;',
'&permil;', '&prime;', '&Prime;', '&lsaquo;', '&rsaquo;',
'&oline;', '&frasl;', '&euro;', '&image;', '&weierp;',
'&real;', '&trade;', '&alefsym;', '&larr;', '&uarr;',
'&rarr;', '&darr;', '&harr;', '&crarr;', '&lArr;',
'&uArr;', '&rArr;', '&dArr;', '&hArr;', '&forall;',
'&part;', '&exist;', '&empty;', '&nabla;', '&isin;',
'&notin;', '&ni;', '&prod;', '&sum;', '&minus;',
'&lowast;', '&radic;', '&prop;', '&infin;', '&ang;',
'&and;', '&or;', '&cap;', '&cup;', '&int;',
'&there4;', '&sim;', '&cong;', '&asymp;', '&ne;',
'&equiv;', '&le;', '&ge;', '&sub;', '&sup;',
'&nsub;', '&sube;', '&supe;', '&oplus;', '&otimes;',
'&perp;', '&sdot;', '&lceil;', '&rceil;', '&lfloor;',
'&rfloor;', '&loz;', '&spades;', '&clubs;', '&hearts;',
'&diams;'
];
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
File diff suppressed because one or more lines are too long
+4 -3
View File
@@ -16,6 +16,10 @@ increaseRefresh("왕조일람", 1);
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
@@ -50,9 +54,6 @@ if ($showCurrentNation) {
<tr>
<td style="background-color:#333333;" align=center colspan=8>
<font size=5>현재 (<?=$year?>年 <?=$month?>月)</font>
<a href="a_emperior_detail.php"><button>자세히</button></a>
<a href="a_history.php"><button>역사 보기</button></a>
</td>
</tr>
+4
View File
@@ -21,6 +21,10 @@ increaseRefresh("왕조일람", 2);
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
+6 -2
View File
@@ -26,6 +26,10 @@ $serverID = $emperior['server_id']??($emperior['serverID']??null);
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
@@ -33,7 +37,7 @@ $serverID = $emperior['server_id']??($emperior['serverID']??null);
<body>
<table align=center width=1000 class="tb_layout bg0">
<tr><td><?=$emperior?'역 대 왕 조':'현 재 왕 조'?><br>
<tr><td>역 대 왕 조<br>
<button onclick=window.close()>창 닫기</button>
<div style="float:right;"><a href="a_emperior.php"><button>전체보기</button></a><div>
</td></tr>
@@ -156,7 +160,7 @@ if($emperior):
<?php
endif;
$showServers = $serverID || (!$emperior);
$showServers = $emperior;
if(!$serverID){
$serverID = UniqueConst::$serverID;
+1 -1
View File
@@ -174,7 +174,7 @@ for ($j=0; $j < $gencount; $j++) {
data-general-intel='{$general['intel']}'
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>{$general['age']}세</td>
<td align=center>".displayCharInfo($general['personal'])."</td>
+5 -2
View File
@@ -28,10 +28,13 @@ if($con >= 2) { printLimitMsg($me['turntime']); exit(); }
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
<?=WebUtil::printJS('js/ext.kingdoms.js')?>
</head>
+3 -4
View File
@@ -29,13 +29,12 @@ $sel[$type] = "selected";
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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/bootstrap.bundle.min.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>
+4
View File
@@ -53,6 +53,10 @@ if ($admin['maxonline'] < $curonline) {
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
<style>
+4
View File
@@ -31,6 +31,10 @@ $vote = $admin['vote']?:['-'];
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
<style>
+4
View File
@@ -59,6 +59,10 @@ if ($msg2 == "") {
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
</head>
+4
View File
@@ -77,6 +77,10 @@ $sel[$type] = "selected";
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
+4
View File
@@ -59,6 +59,10 @@ if($str3){
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
</head>
+4
View File
@@ -29,6 +29,10 @@ if($me['level'] < 5) {
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
+4
View File
@@ -81,6 +81,10 @@ for($i= $lv - 1; $i>=5; $i--){
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
<script type="text/javascript">
+10 -1
View File
@@ -11,6 +11,7 @@ extractMissingPostToGlobals();
//로그인 검사
$session = Session::requireGameLogin()->setReadOnly();
$userID = Session::getUserID();
$userGrade = Session::getUserGrade();
$db = DB::db();
$connect=$db->get();
@@ -34,6 +35,10 @@ $templates = new \League\Plates\Engine('templates');
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
<style>
@@ -164,7 +169,7 @@ echo "
unset($city);
// 첩보된 도시까지만 허용
if($valid == 0 && $session->userGrade < 5) {
if($valid == 0 && $userGrade < 5) {
$citylist = $me['city'];
}
@@ -208,6 +213,10 @@ for($j=0; $j < $gencount; $j++) {
$ourGeneral = false;
}
if($userGrade == 6){
$ourGeneral = true;
}
$isNPC = $general['npc']>1;
$wounded = $general['injury'];
+40 -5
View File
@@ -48,13 +48,23 @@ if ($me['level'] >= 5) {
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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/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('js/common.js')?>
<?=WebUtil::printJS('js/dipcenter.js')?>
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
<?=WebUtil::printCSS('../e_lib/summernote/summernote-bs4.css')?>
<?=WebUtil::printCSS('../d_shared/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>
<body>
@@ -223,10 +233,35 @@ if ($budgetricediff > 0) {
<form name=form1 method=post action=c_dipcenter.php>
<tr><td colspan=2 height=10></td></tr>
<tr><td colspan=2 align=center bgcolor=orange>국 가 방 침 &amp; 임관 권유 메시지</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 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>
<tr><td colspan=2>870px x 200px를 넘어서는 내용은 표시되지 않습니다.</td></tr>
<tr><td colspan=2 height=10></td></tr>
<tr><td colspan='2'><div id='noticeForm'>
<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>
<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>예 산 &amp; 정 책</td></tr>
<tr>
<td colspan=2>
+6 -2
View File
@@ -33,6 +33,10 @@ if($meLevel == 0) {
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
<script type="text/javascript">
@@ -88,10 +92,10 @@ for($i=12; $i >= $lv; $i-=2) {
?>
<tr>
<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=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>
</tr>
<?php
+3
View File
@@ -40,11 +40,14 @@ $sel = [$type => "selected"];
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<title><?=UniqueConst::$serverName?>: 세력도시</title>
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
<?=WebUtil::printCSS('../d_shared/common.css')?>
<?=WebUtil::printCSS('../e_lib/jquery-ui.min.css')?>
<?=WebUtil::printCSS('css/common.css')?>
<?=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('js/common.js')?>
<?=WebUtil::printJS('js/ext.expand_city.js')?>
</head>
+1 -1
View File
@@ -174,7 +174,7 @@ for($j=0; $j < $gencount; $j++) {
$imageTemp = GetImageURL($general['imgsvr']);
echo "
<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>"; echo getLevel($general['level'], $nationLevel); echo "</td>
<td align=center>".getDed($general['dedication'])."</td>
+4
View File
@@ -30,6 +30,10 @@ if($me['level'] == 0) {
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
+6
View File
@@ -56,6 +56,9 @@ if (($btn == "설정저장" || $detachNPC) && $me['myset'] > 0) {
'tnmt'=>$tnmt
], 'owner=%i', $userID);
$me['mode'] = $mode;
$me['tnmt'] = $tnmt;
if($me['npc'] == 1 && $detachNPC){
$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/bootstrap.bundle.min.js')?>
<?=WebUtil::printJS('js/common.js')?>
<?=WebUtil::printJS('js/myPage.js')?>
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
<?=WebUtil::printCSS('../d_shared/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>
<!--빙의 해제용 삭턴 조절<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>-->
개인용 CSS<br>
<textarea id='custom_css' style='color:white;background-color:black;width:420px;height:150px;'></textarea>
</td>
</tr>
<tr>
+4
View File
@@ -24,6 +24,10 @@ $me = MYDB_fetch_array($result);
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
+4
View File
@@ -19,6 +19,10 @@ increaseRefresh("국법", 1);
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
+8 -5
View File
@@ -73,11 +73,14 @@ uasort($troops, function($lhs, $rhs){
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=1024" />
<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('css/common.css')?>
<?=WebUtil::printCSS('css/troops.css')?>
<?=WebUtil::printJS('../e_lib/jquery-3.3.1.min.js')?>
<?=WebUtil::printJS('js/ext.plugin_troop.js')?>
</head>
<body>
@@ -101,7 +104,7 @@ uasort($troops, function($lhs, $rhs){
<?php elseif($me['troop'] == 0): ?>
<input type=submit name=btn value='부 대 가 입'>
<?php else: ?>
<input type=submit name=btn value='부 대 탈 퇴' onclick='return confirm(\"정말 부대를 탈퇴하시겠습니까?\")'>
<input type=submit name=btn value='부 대 탈 퇴' onclick='return confirm("정말 부대를 탈퇴하시겠습니까?")'>
<?php endif;?>
</td></tr></tfoot>
<tbody>
@@ -132,7 +135,7 @@ foreach ($troops as $troopNo=>$troop) {
<tr>
<td align=center rowspan=2><input type='radio' name='troop' value='<?=$troop['troop']?>'></td>
<td align=center><?=$troop['name']?><br>【 <?=$cityText?> 】</td>
<td height=64 style='background:no-repeat center url("<?=$troopLeader['pictureFullPath']?>");background-size:64px;'>&nbsp;</td>
<td height=64 class='generalIcon' style='background:no-repeat center url("<?=$troopLeader['pictureFullPath']?>");background-size:64px;'>&nbsp;</td>
<td rowspan=2 width=62><?=$genlistText?></td>
<td rowspan=2><?=$troopLeader['turnText']?></td>
</tr>
@@ -145,7 +148,7 @@ foreach ($troops as $troopNo=>$troop) {
<tr>
<td align=center rowspan=2>&nbsp;</td>
<td align=center ><?=$troop['name']?><br>【 <?=$cityText?> 】</td>
<td height=64 style='background:no-repeat center url("<?=$troopLeader['pictureFullPath']?>");background-size:64px;'>&nbsp;</td>
<td height=64 class='generalIcon' style='background:no-repeat center url("<?=$troopLeader['pictureFullPath']?>");background-size:64px;'>&nbsp;</td>
<td rowspan=2 width=62><?=$genlistText?></td>
<td rowspan=2>
<?php if ($me['no'] == $troopLeader['no']): ?>
+2 -2
View File
@@ -437,8 +437,8 @@ $startYear = $gameStor->getValue('startyear');
<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 id='result_killed'></td></tr>
<tr><th>받은 피해</th><td id='result_dead'></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>
+2 -2
View File
@@ -28,13 +28,13 @@ if($me['level'] < 5) {
exit();
}
if($btn == "국가방침") {
if($btn == "국가방침 수정") {
$msg = mb_substr($msg, 0, 16384);
//$msg = StringUtil::
$db->update('nation', [
'msg'=>WebUtil::htmlPurify($msg)
], 'nation=%i',$me['nation']);
} elseif($btn == "임관권유") {
} elseif($btn == "임관 권유문 수정") {
$scoutmsg = mb_substr($scoutmsg, 0, 1000);
$db->update('nation', [
'scoutmsg'=>WebUtil::htmlPurify($scoutmsg)
+5 -1
View File
@@ -16,6 +16,10 @@ $db = DB::db();
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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('css/common.css')?>
<script type="text/javascript">
@@ -107,7 +111,7 @@ function myCommandList() {
echo "
<tr height=28>
<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=150 align=center height=24 style=table-layout:fixed;>$turn[$i]</td>
</tr>";
+17 -1
View File
@@ -201,4 +201,20 @@ div.bar_out div.bar_in{
font-size : .875rem;
line-height : .5;
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;
}
+23
View File
@@ -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
View File
@@ -417,7 +417,7 @@ function addCommand($typename, $value, $valid = 1, $color=0) {
}
} else {
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']);
echo "<table width=498 class='tb_layout bg2'>
<tr>
<td width=64 height=64 rowspan=3 style='text-align:center;background:no-repeat center url(\"{$imageTemp}/{$general['picture']}\");background-size:64px;'>&nbsp;</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;'>&nbsp;</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 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>
</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>
</tr>";
for($i=0; $i < $count; $i++) {
@@ -1245,6 +1245,7 @@ function increaseRefresh($type="", $cnt=1) {
$session = Session::getInstance();
$userID = $session->userID;
$generalID = $session->generalID;
$userGrade = $session->userGrade;
$date = date('Y-m-d H:i:s');
@@ -1252,7 +1253,7 @@ function increaseRefresh($type="", $cnt=1) {
$gameStor = KVStorage::getStorage($db, 'game_env');
$gameStor->refresh = $gameStor->refresh+$cnt; //TODO: +로 증가하는 값은 별도로 분리
if($generalID) {
if($generalID && $userGrade < 6) {
$db->update('general', [
'lastrefresh'=>$date,
'con'=>$db->sqleval('con + %i', $cnt),
+4 -1
View File
@@ -314,7 +314,7 @@ function getCall($leader, $power, $intel) {
$call = '평범';
if($leader < 40){
if($power + $intel < $leader){
if($power + $intel < 40){
return '아둔';
}
if($intel >= GameConst::$chiefStatMin && $power < $intel * 0.8){
@@ -337,6 +337,9 @@ function getCall($leader, $power, $intel) {
if($intel >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $power < $intel * 0.8){
return '명장';
}
if($leader >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $power + $intel < $leader){
return '차장';
}
return '평범';
}
+4 -4
View File
@@ -397,7 +397,7 @@ function process_52(&$general) {
$younation = MYDB_fetch_array($result);
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) {
$log[] = "<C>●</>{$admin['month']}월:멸망한 국가입니다. 원조 실패. <1>$date</>";
@@ -1032,7 +1032,7 @@ function process_66(&$general) {
$log[] = "<C>●</>{$admin['month']}월:인접도시가 아닙니다. 천도 실패. <1>$date</>";
} elseif($nation['capset'] == 1) {
$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</>";
} elseif($term < 3) {
$log[] = "<C>●</>{$admin['month']}월:천도중... ({$term}/3) <1>$date</>";
@@ -1114,7 +1114,7 @@ function process_67(&$general) {
$log[] = "<C>●</>{$admin['month']}월:수뇌부가 아닙니다. 증축 실패. <1>$date</>";
} elseif($nation['capset'] == 1) {
$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</>";
} elseif($term < 6) {
$log[] = "<C>●</>{$admin['month']}월:증축중... ({$term}/6) <1>$date</>";
@@ -2076,7 +2076,7 @@ function process_76(&$general) {
) values (
'$npccount','$npc','$npc','$affinity','$name','$picture','{$nation['nation']}',
'{$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','$bornyear','$deadyear',
'{$avgGen['dex0']}','{$avgGen['dex10']}','{$avgGen['dex20']}','{$avgGen['dex30']}','{$avgGen['dex40']}'
+1 -1
View File
@@ -452,7 +452,7 @@ function process_29(&$general) {
) values (
'$npccount','$npc','$npc','$affinity','$name','$picture','$scoutNation',
'{$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','$bornyear','$deadyear',
'{$avgGen['dex0']}','{$avgGen['dex10']}','{$avgGen['dex20']}','{$avgGen['dex30']}','{$avgGen['dex40']}'
+4 -4
View File
@@ -114,7 +114,7 @@ $(function(){
<?=WebUtil::printCSS('css/main.css')?>
<?=WebUtil::printCSS('css/map.css')?>
<?=WebUtil::printCSS('css/msg.css')?>
<link href="https://fonts.googleapis.com/css?family=Nanum+Gothic|Nanum+Myeongjo|Nanum+Pen+Script" rel="stylesheet">
</head>
<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;"><?=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>
<?php
if ($session->userGrade >= 5) {
@@ -232,10 +232,10 @@ else if($session->userGrade == 4){
</table>
<table class="tb_layout bg0" style="width:1000px;">
<tr>
<td width=698 height=520 colspan=2>
<td style='width:700px;height:520px;' colspan=2>
<?=getMapHtml($mapTheme)?>
</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>
<form name=form2 action=preprocessing.php method=post target=commandlist>
<tr>
+8 -1
View File
@@ -19,6 +19,14 @@ $allowReset = in_array('reset', $serverAcl);
$allowFullReset = in_array('fullReset',$serverAcl);
$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){
Json::die([
'result'=>false,
@@ -85,7 +93,6 @@ $npcmode = (int)$_POST['npcmode'];
$show_img_level = (int)$_POST['show_img_level'];
$tournament_trig = (int)$_POST['tournament_trig'];
$reserve_open = Util::getReq('reserve_open');
if($reserve_open){
$reserve_open = new \DateTime($reserve_open);
$db = DB::db();
+22 -2
View File
@@ -345,6 +345,13 @@ $lastWarLog = [];
$attackerKilled = 0;
$attackerDead = 0;
$attackerMaxKilled = 0;
$attackerMinKilled = PHP_INT_MAX;
$attackerMaxDead = 0;
$attackerMinDead = PHP_INT_MAX;
$attackerAvgRice = 0;
$defenderAvgRice = 0;
@@ -366,8 +373,17 @@ foreach(range(1, $repeatCnt) as $repeatIdx){
$avgPhase += $attacker->getPhase() / $repeatCnt;
$attackerKilled += $attacker->getKilled() / $repeatCnt;
$attackerDead += $attacker->getDead() / $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;
@@ -409,7 +425,11 @@ Json::die([
'avgWar'=>$avgWar,
'phase'=>$avgPhase,
'killed'=>$attackerKilled,
'maxKilled'=>$attackerMaxKilled,
'minKilled'=>$attackerMinKilled,
'dead'=>$attackerDead,
'maxDead'=>$attackerMaxDead,
'minDead'=>$attackerMinDead,
'attackerRice'=>$attackerAvgRice,
'defenderRice'=>$defenderAvgRice,
'attackerSkills'=>$attackerActivatedSkills,
+17
View File
@@ -701,7 +701,24 @@ jQuery(function($){
$('#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));
+7
View File
@@ -150,4 +150,11 @@ jQuery(function($){
},
html:true
});
var customCSS = localStorage.getItem('sam_customCSS');
if(customCSS){
var $style = $('<style type="text/css"></style>');
$style.text(customCSS);
$style.appendTo($('head'));
}
});
+75
View File
@@ -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);
})
+5 -1
View File
@@ -10,7 +10,7 @@ $(function(){
var getUserType = function(,,){
var = ++;
if( < 40){
if(+ < ){
if(+ < 40){
return "무능";
}
return "무지";
@@ -28,6 +28,9 @@ $(function(){
if( >= 60 && < *0.8){
return "지";
}
if( >= 60 && + < ){
return "통";
}
@@ -83,6 +86,7 @@ $(function(){
if(!(국가 in 국가별)){
국가별[국가] = {};
국가별[국가].만능 = [];
국가별[국가]. = [];
국가별[국가]. = [];
국가별[국가]. = [];
국가별[국가].평범 = [];
+1 -1
View File
@@ -402,7 +402,7 @@ function activateMessageForm(){
jQuery(function($){
//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;
});
+34
View File
@@ -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();
});
+2 -2
View File
@@ -5,9 +5,9 @@
>
<div class="msg_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 {%>
<img width='64' height='64' src="<%encodeURI(defaultIcon)%>">
<img class='generalIcon' width='64' height='64' src="<%encodeURI(defaultIcon)%>">
<%}%>
</div>
<div class="msg_body">
+1 -1
View File
@@ -262,7 +262,7 @@ function processWar_NG(
$josaYi = JosaUtil::pick($attacker->getName(), '이');
$josaRo = JosaUtil::pick($attacker->getCrewTypeName(), '로');
$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();
+7 -7
View File
@@ -1609,11 +1609,11 @@ function command_53($turn, $command) {
$result = MYDB_query($query, $connect) or Error("command_53 ".MYDB_error($connect),"");
$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),"");
$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),"");
$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),"");
$count = MYDB_num_rows($result);
$cond1 = $avgNation['power']+$stdNation['power'];
$cond2 = $avgNation['gennum']+$stdNation['gennum'];
$cond1 = (-0.25 * $stdNation['power']) + $avgNation['power'];
$cond2 = (-0.67 * $stdNation['gennum']) + $avgNation['gennum'];
for($i=1; $i <= $count; $i++) {
$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>";
} else {
echo "<option style=color:{$nation['color']} value={$nation['nation']}>【 {$nation['name']} 】</option>";
@@ -1661,8 +1661,8 @@ function command_53($turn, $command) {
제한 조건<br>
- 인접 국가<br>
- 양국 모두 외교제한 없음<br>
- 양국 국력의 합이 평균+표준편차(현재 {$cond1}) 이하<br>
- 양국 장수수의 합이 평균+표준편차(현재 {$cond2}) 이하<br>
- 두 국가의 국력 평균이 상위 60%(현재 ".round($cond1,2).") 이하.<br>
- 두 국가의 장수수 평균이 상위 75%(현재 ".round($cond2,1).") 이하.<br>
";
ender(1);
}
+2 -2
View File
@@ -181,7 +181,7 @@ class DiplomaticMessage extends Message{
$josaWa = JosaUtil::pick($this->src->nationName, '와');
pushGeneralHistory(
['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(
['no'=>$this->dest->generalID],
@@ -200,7 +200,7 @@ class DiplomaticMessage extends Message{
$josaWa = JosaUtil::pick($this->dest->nationName, '와');
pushGeneralHistory(
['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, '이');
pushGenLog(
+2 -2
View File
@@ -29,12 +29,12 @@ class Diplomacy{
$db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
$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
);
$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
);
+12
View File
@@ -90,6 +90,18 @@ class NPC{
public function build($env=[]){
//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);
$year = $env['year'];
+1 -1
View File
@@ -592,7 +592,7 @@ class WarUnitGeneral extends WarUnit{
}
if($oppose instanceof WarUnitCity){
$magic = Util::choiceRandom(['급습', '위보',' 혼란']);
$magic = Util::choiceRandom(['급습', '위보', '혼란']);
}
else{
$magic = Util::choiceRandom(['위보', '매복', '반목', '화계', '혼란']);
+178 -191
View File
@@ -23,25 +23,25 @@
"diplomacy":[],
"general":[
[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, 70, 74, 60, 0, 165, 240, null, 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, 80, 77, 62, 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, 50, 80, 50, 0, 160, 240, null, null],
[0, "유마", null, 0, null, 69, 74, 70, 0, 160, 333, null, 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, 76, 64, 80, 0, 160, 333, 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, 72, 80, 70, 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, 69, 74, 70, 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, 65, 70, 74, 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, 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, 52, 75, 74, 0, 160, 333, null, null],
[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, 71, 63, 58, 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, 71, 33, 75, 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, 30, 10, 74, 0, 160, 300, null, null, "게임마스터와 마스코트간에 규칙소통의 차이가 있엇퐁."],
[0, "나노하", null, 0, null, 85, 105, 85, 0, 160, 300, "패권", "위압", "잠깐 머리좀 식힐까?"],
[0, "타마", null, 0, null, 76, 88, 27, 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, 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, 73, 27, 58, 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, 53, 50, 64, 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, 65, 68, 72, 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, 65, 68, 72, 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, 75, 78, 79, 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],
@@ -72,101 +72,101 @@
[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, 43, 67, 30, 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, 60, 73, 70, 0, 160, 300, null, null],
[0, "토오사카린", null, 0, null, 72, 62, 83, 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, 60, 73, 70, 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, 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, 49, 20, 70, 0, 160, 300, 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, 80, 30, 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, 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, 84, 75, 0, 160, 300, null, null],
[0, "후지바야시쿄", null, 0, null, 80, 85, 69, 0, 160, 300, 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, 80, 85, 82, 0, 160, 300, 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, 75, 55, 18, 0, 160, 300, null, 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, 80, 40, 75, 0, 160, 300, null, null],
[0, "아키오", null, 0, null, 74, 86, 70, 0, 160, 300, null, null],
[0, "나오유키", null, 0, null, 70, 55, 55, 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, 77, 37, 82, 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, 85, 87, 85, 0, 160, 300, 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, 2, 9, 4, 0, 160, 300, null, 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, 54, 10, 30, 0, 160, 300, "유지", 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, 80, 92, 87, 0, 160, 300, 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, 70, 70, 70, 0, 160, 300, null, null, "저희 못난 오빠떔에 고생이 많으십니다"],
[0, "후루카와 사나에", null, 0, null, 80, 40, 75, 0, 160, 300, null, null],
[0, "후루카와 아키오", null, 0, null, 76, 86, 70, 0, 160, 300, 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, 82, 55, 83, 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, 72, 49, 63, 0, 160, 300, null, 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, 75, 70, 69, 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, 80, 60, 55, 0, 160, 300, null, 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, 67, 15, 77, 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, 75, 64, 30, 0, 160, 300, null, null],
[0, "야보시세이야", null, 0, null, 70, 50, 70, 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, 75, 73, 71, 0, 160, 300, null, 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, 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, 88, 33, 80, 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, 80, 25, 82, 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, 84, 45, 74, 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, 76, 30, 82, 0, 160, 300, 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, "아세치킨타로", 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, 73, 23, 92, 0, 160, 300, null, null],
[0, "소나타", null, 0, null, 70, 35, 84, 0, 160, 300, null, null],
[0, "아게하미아", null, 0, null, 35, 9, 4, 0, 160, 300, null, null],
[0, "아세치 킨타로", null, 0, null, 11, 22, 78, 0, 160, 300, null, null],
[0, "죠노우치 세레나", null, 0, null, 78, 50, 82, 0, 160, 300, null, "상재"],
[0, "토도 카논", null, 0, null, 79, 50, 81, 0, 160, 300, null, null],
[0, "크리스 카나메", null, 0, null, 73, 23, 92, 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, 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, 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, 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, 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, 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, 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, 44, 98, 22, 0, 160, 222, 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, 7, 9, 85, 0, 160, 300, 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, 77, 30, 60, 0, 160, 300, null, 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, 57, 49, 75, 0, 160, 300, null, 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, 33, 15, 89, 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, 55, 94, 30, 0, 160, 300, 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, 70, 92, 75, 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, 55, 72, 99, 0, 160, 300, null, 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, 79, 108, 52, 0, 160, 300, 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, 55, 72, 99, 0, 160, 300, null, 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, 79, 108, 52, 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, 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, "헤이지", 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, 94, 79, 88, 0, 160, 300, null, null],
[0, "타카기형사", null, 0, null, 67, 80, 79, 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, 70, 83, 82, 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, 79, 67, 88, 0, 160, 300, null, null],
[0, "슈이치", null, 0, null, 86, 90, 100, 0, 160, 300, 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, 79, 67, 88, 0, 160, 300, null, 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, 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, 73, 80, 66, 0, 160, 300, null, null],
[0, "카리스마렌야", null, 0, null, 75, 78, 78, 0, 160, 300, null, "상재"],
[0, "모리코고로", null, 0, null, 78, 77, 92, 0, 160, 300, null, 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, 86, 57, 77, 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, "무쌍"],
@@ -218,7 +218,7 @@
[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, 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, 87, 94, 41, 0, 160, 300, null, null, "지력 36이 지력100을 이겼다!"],
[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, 55, 75, 55, 0, 160, 300, null, 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, 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, 72, 30, 90, 0, 160, 300, "패권", "발명"],
[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, 62, 60, 75, 0, 160, 300, null, null],
[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, 70, 83, 80, 0, 160, 300, null, null],
[0, "미이라맨", null, 0, null, 82, 86, 60, 0, 160, 300, null, "돌격", "미이라~맨"],
[0, "망토대왕", null, 0, null, 67, 94, 70, 0, 160, 300, null, "돌격", "이몸은 숲의 왕이시다!"],
[0, "타누코", null, 0, null, 72, 78, 82, 0, 160, 300, null, null],
[0, "사라카치", null, 0, null, 70, 83, 60, 0, 160, 300, null, null],
[0, "미이라맨", null, 0, null, 80, 80, 60, 0, 160, 300, null, "돌격", "미이라~맨"],
[0, "망토대왕", null, 0, null, 67, 90, 60, 0, 160, 300, 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, 90, 95, 80, 0, 160, 300, 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, 50, 19, 88, 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, 64, 70, 30, 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, 75, 68, 79, 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, 72, 84, 70, 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, 97, 94, 99, 0, 160, 300, null, "집중", "피리스, 연금술 해보지 않을래?"],
[0, "플라흐타", null, 0, null, 79, 80, 101, 0, 160, 300, null, "환술"],
[0, "피리스", null, 0, null, 81, 66, 80, 0, 160, 300, null, "반계", "소피선생님..! 플라흐타상!!"],
[0, "일메리아", null, 0, null, 90, 64, 85, 0, 160, 300, null, null],
[0, "소피", null, 0, null, 97, 82, 102, 0, 160, 300, null, "집중", "피리스, 연금술 해보지 않을래?"],
[0, "플라흐타", null, 0, null, 84, 72, 106, 0, 160, 300, null, "환술"],
[0, "피리스", null, 0, null, 86, 66, 87, 0, 160, 300, 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, 79, 77, 84, 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, 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, 86, 88, 83, 0, 160, 300, null, null],
[0, "타카미야마나", null, 0, null, 81, 90, 83, 0, 160, 300, null, null],
[0, "소노가미린네", null, 0, null, 90, 93, 84, 0, 160, 300, null, null, "시도..! 시도!"],
[0, "카구야", null, 0, null, 72, 90, 34, 0, 160, 300, null, null, "훗 이몸의 종이 되거라 시도."],
[0, "유즈루", null, 0, null, 72, 90, 75, 0, 160, 300, null, null],
[0, "쿠루미", null, 0, null, 86, 92, 83, 0, 160, 300, null, null],
[0, "타카미야마나", null, 0, null, 81, 82, 74, 0, 160, 300, null, null],
[0, "소노가미린네", null, 0, null, 90, 93, 80, 0, 160, 300, null, null, "시도..! 시도!"],
[0, "카구야", null, 0, null, 72, 90, 20, 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, 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, 94, 0, 160, 300, null, null],
[0, "소노가미리오", null, 0, null, 80, 87, 77, 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, 80, 87, 77, 0, 160, 300, null, 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, 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, 84, 86, 80, 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, 74, 93, 78, 0, 160, 300, null, 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, 77, 89, 85, 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, 80, 75, 77, 0, 160, 300, null, null],
[0, "아쿠아", null, 0, null, 83, 80, 76, 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, 84, 97, 72, 0, 160, 300, null, 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, 86, 75, 84, 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, 82, 88, 84, 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, 80, 84, 80, 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, 77, 83, 80, 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, 77, 85, 88, 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, 86, 92, 81, 0, 160, 300, null, 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, 80, 80, 85, 0, 160, 300, 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, 86, 88, 90, 0, 160, 300, null, 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, 75, 83, 77, 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, 75, 86, 75, 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, 75, 84, 80, 0, 160, 300, null, null, "설령… 다시한번 세상이 트윈엔젤을 필요로 한다고 해도. 우리는 함께 있으니 괜찮겠죠?"],
[0, "테슬라바이올렛", null, 0, null, 69, 85, 77, 0, 160, 300, null, null, "이 에로고양이가!!!"],
[0, "하즈키쿠루미", null, 0, null, 78, 84, 80, 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, 60, 60, 50, 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, 77, 91, 80, 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, 70, 80, 67, 0, 160, 300, null, null],
[0, "스미레", null, 0, null, 75, 85, 80, 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, 77, 91, 80, 0, 160, 300, null, null],
[0, "리리카 아스타딜", null, 0, null, 65, 59, 71, 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, 75, 85, 80, 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, 105, 97, 0, 160, 300, null, null],
[0, "후우", null, 0, null, 85, 90, 86, 0, 160, 300, null, null],
[0, "이츠키", null, 0, null, 87, 91, 84, 0, 160, 300, null, null],
[0, "미요시카린", null, 0, null, 85, 93, 80, 0, 160, 300, null, null],
[0, "노기소노코", null, 0, null, 79, 84, 78, 0, 160, 300, null, null],
[0, "미노와긴", null, 0, null, 83, 87, 81, 0, 160, 300, null, null],
[0, "토고미모리", null, 0, null, 88, 92, 95, 0, 160, 300, null, null],
[0, "후우", null, 0, null, 85, 90, 80, 0, 160, 300, null, null],
[0, "이츠키", null, 0, null, 87, 80, 70, 0, 160, 300, null, null],
[0, "미요시카린", null, 0, null, 85, 88, 80, 0, 160, 300, null, null],
[0, "노기소노코", null, 0, null, 81, 81, 78, 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, 97, 69, 99, 0, 160, 300, 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, 79, 86, 50, 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, 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, 79, 33, 83, 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, 85, 33, 91, 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, 75, 83, 80, 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, 56, 99, 42, 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, 73, 55, 75, 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, 73, 52, 88, 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, 15, 82, 97, 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, 67, 43, 52, 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, 86, 72, 88, 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, 82, 60, 75, 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, 89, 88, 74, 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, 77, 77, 56, 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, 76, 29, 88, 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, 81, 62, 76, 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, 74, 27, 80, 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, 77, 49, 92, 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, 44, 84, 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, 76, 85, 55, 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, 82, 94, 77, 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, 84, 80, 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, 50, 50, 50, 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, 60, 60, 19, 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, 86, 39, 90, 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, 75, 30, 82, 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, 100, 70, 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, 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, 89, 81, 60, 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, 83, 76, 89, 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, 80, 74, 88, 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, 81, 39, 80, 0, 160, 300, null, null],
[0, "쿠로미", null, 0, null, 80, 49, 80, 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, 87, 49, 83, 0, 160, 300, null, null],
[0, "아이리스", null, 0, null, 83, 50, 86, 0, 160, 300, null, null],
[0, "세레나", null, 0, null, 85, 50, 82, 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, "쿠로미 사건일지 XXX호!!"],
[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, 80, 87, 95, 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, 82, 64, 69, 0, 160, 300, null, null],
[0, "비트마", null, 0, null, 78, 90, 55, 0, 160, 300, null, null],
[0, "비트마ex", null, 0, null, 77, 95, 55, 0, 160, 300, null, null],
[0, "토마", null, 0, null, 79, 52, 75, 0, 160, 300, null, null],
[0, "와이버스트", null, 0, null, 75, 85, 50, 0, 160, 300, null, null],
[0, "몰리", null, 0, null, 82, 78, 45, 0, 160, 300, null, null],
[0, "나카가와노리코", null, 0, null, 81, 19, 72, 0, 160, 300, null, null, "알고있엇니?? 20년간 전쟁이 지속된 이 땅에도 이렇게 아름다운 봄이 온다는 것을. 돌아오지 않는 계절은 없어 놀라워"],
[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, 81, 19, 72, 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, 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":[
+1 -1
View File
@@ -5,7 +5,7 @@
<div class="hall_rank bg2 with_border">
<?=$general['rankName']??(($rank+1).'위')?>
</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)): ?>
<div class="hall_server obj_tooltip" data-toggle="tooltip" data-placement="top"><?=$general['serverName']?><?=$general['serverIdx']?>기
<span class="tooltiptext">
+1 -1
View File
@@ -5,7 +5,7 @@ var userFrame = '\
<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><%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"><%shortDate(joinDate)%></td>\
<td class="small"><%shortDate(loginDate)%></td>\