엔그램 슬롯 증가는 3의 배수마다 해서 6레벨이면 나와야하는데..
에이 설마 5레벨부터 시작했으니간 5 8 11 14이런건 아니고(3 6 9 12.. 인거 내가 확인함)
뭐가 문젤끼? 메이플모드나 2024 개조버전은 아예 달라갖고 심지어 원본 번역본은 아예 코드가 같아
뭐 레벨업문구만 나와도 불편함은 없긴하는데...
(function() {
var resultDisplaying = 0;
var pendingLevelUps = [];
// 레벨업 함수
var _Game_Actor_levelUp = Game_Actor.prototype.levelUp;
Game_Actor.prototype.levelUp = function() {
var oldLevel = this._level;
_Game_Actor_levelUp.call(this);
var message = this.name() + '의 전투 레벨이 올랐습니다';
if ($gameParty.inBattle()) {
pendingLevelUps.push(message);
} else {
$gameVariables.setValue(2988, message);
$gameTemp.reserveCommonEvent(955);
}
};
// 전투 종료
var _Scene_Battle_terminate = Scene_Battle.prototype.terminate;
Scene_Battle.prototype.terminate = function() {
_Scene_Battle_terminate.call(this);
if (pendingLevelUps.length > 0) {
// 첫 번째 메시지만 표시
$gameVariables.setValue(2988, pendingLevelUps[0]);
$gameTemp.reserveCommonEvent(955);
pendingLevelUps = [];
}
};
// BattleManager 설정
var _BattleManager_initMembers = BattleManager.initMembers;
BattleManager.initMembers = function() {
_BattleManager_initMembers.call(this);
resultDisplaying = 0;
};
var _BattleManager_update = BattleManager.update;
BattleManager.update = function() {
_BattleManager_update.call(this);
if (resultDisplaying > 0) {
if (++resultDisplaying >= 60) {
if (Input.isTriggered('ok') || TouchInput.isTriggered()) {
resultDisplaying = 0;
}
}
}
};
var _BattleManager_isBusy = BattleManager.isBusy;
BattleManager.isBusy = function() {
return _BattleManager_isBusy.call(this) || resultDisplaying > 0;
};
BattleManager.displayVictoryMessage = function() {
};
BattleManager.displayRewards = function() {
resultDisplaying = 1;
};
Game_Actor.prototype.shouldDisplayLevelUp = function() {
return false;
};
var _Scene_Battle_update = Scene_Battle.prototype.update;
Scene_Battle.prototype.update = function() {
_Scene_Battle_update.call(this);
if (resultDisplaying > 30 && !this._resultWindow) {
this._resultWindow = new Window_BattleResults();
this.addWindow(this._resultWindow);
}
};
var _Scene_Battle_stop = Scene_Battle.prototype.stop;
Scene_Battle.prototype.stop = function() {
_Scene_Battle_stop.call(this);
if (this._resultWindow) {
this._resultWindow.close();
}
};
function Window_BattleResults() {
this.initialize.apply(this, arguments);
}
Window_BattleResults.prototype = Object.create(Window_Base.prototype);
Window_BattleResults.prototype.constructor = Window_BattleResults;
Window_BattleResults.prototype.initialize = function() {
var rewards = BattleManager._rewards;
var width = 400;
var height = this.fittingHeight(Math.min(9, rewards.items.length + 1));
var statusHeight = this.fittingHeight(4);
var x = (Graphics.boxWidth - width) / 2;
var y = (Graphics.boxHeight - statusHeight - height) / 2;
Window_Base.prototype.initialize.call(this, x, y, width, height);
this.refresh();
this.openness = 0;
this.open();
};
Window_BattleResults.prototype.refresh = function() {
var x = this.textPadding();
var y = 0;
var width = this.contents.width;
var lineHeight = this.lineHeight();
var rewards = BattleManager._rewards;
var items = rewards.items;
this.contents.clear();
this.resetTextColor();
this.drawText(rewards.exp, x, y);
x += this.textWidth(rewards.exp) + 6;
this.changeTextColor(this.systemColor());
this.drawText(TextManager.expA, x, y);
x += this.textWidth(TextManager.expA + ' ');
this.resetTextColor();
this.drawText(rewards.gold, x, y);
x += this.textWidth(rewards.gold) + 6;
this.changeTextColor(this.systemColor());
this.drawText(TextManager.currencyUnit, x, y);
x = 0;
y += lineHeight;
items.forEach(function(item) {
this.drawItemName(item, x, y, width);
y += lineHeight;
}, this);
};
})();