/*:----------------------------------------------------------------------------------- * NUUN_IconSideBySide.js * * Copyright (C) 2021 NUUN * This software is released under the MIT License. * http://opensource.org/licenses/mit-license.php * ------------------------------------------------------------------------------------- * * 更新履歴 * 2021/1/24 Ver.1.0.3 * バトルスタイル拡張併用時の処理を再度修正。 * 2021/1/17 Ver.1.0.2 * バトルスタイル拡張プラグイン導入時、ステートの座標許可をtureにすると座標が反映されない問題を修正。 * バトルスタイル拡張プラグイン2.0.0以降対応。 * 2021/1/3 Ver.1.0.1 * 表示する横幅を指定できるように変更。 * 2021/1/2 Ver.1.0.0 * 初版 */ /*: @target MZ @url https://github.com/nuun888/MZ @plugindesc Display actor states side by side during battle @author NUUN @license MIT License @help English Help Translator: munokura This is an unofficial English translation of the plugin help, created to support global RPG Maker users. Feedback is welcome to improve translation quality (see: https://github.com/munokura/NUUN-MZ-plugins ). Original plugin by NUUN. Please check the latest official version at: https://github.com/nuun888/MZ ----- Displays the states of actors in battle side by side. When used in conjunction with the Battle Style Extension Plugin, this plugin is compatible with version 2.0.2 or later. Terms of Use This plugin is distributed under the MIT License. @param StateIconWidth_X @text Width @desc Specifies the width of the state icon to be displayed. @type number @default 0 @min 0 */ /*:ja @target MZ @plugindesc 戦闘時アクターステート横並び表示 @author NUUN @orderAfter NUUN_BattleStyleEX_Base @help 戦闘中のアクターのステート表示を横並びに表示させます。 バトルスタイル拡張プラグインと併用する場合はVer.2.0.2以降対応。 利用規約 このプラグインはMITライセンスで配布しています。 @param StateIconWidth_X @desc ステートアイコンの表示する横幅を指定します。 @text 横幅 @type number @default 0 @min 0 */ var Imported = Imported || {}; Imported.NUUN_IconSideBySide = true; (() => { const parameters = PluginManager.parameters('NUUN_IconSideBySide'); const StateIconWidth = Number(parameters['StateIconWidth'] || 0); const _Scene_Battle_createStatusWindow = Scene_Battle.prototype.createStatusWindow; Scene_Battle.prototype.createStatusWindow = function() { _Scene_Battle_createStatusWindow.call(this); BattleManager._statusWindow = Imported.NUUN_BattleStyleEX_Base ? this._actorStatus : this._statusWindow; }; const _Window_BattleStatus_placeStateIcon = Window_BattleStatus.prototype.placeStateIcon; Window_BattleStatus.prototype.placeStateIcon = function(actor, x, y) { if (actor.isActor()) { this.drawStateIcon(actor, x, y); } else { _Window_BattleStatus_placeStateIcon.call(this, actor, x, y); } }; Window_BattleStatus.prototype.drawStateIcon = function(actor, x, y) { this.drawActorIcons(actor, x, y, (StateIconWidth > 0 ? StateIconWidth : this.itemWidth() - 8)); }; Window_BattleStatus.prototype.refreshContentsDraw = function() { this.contents.clear(); for (const actor of $gameParty.members()) { const index = actor.index(); this.drawItemImage(index); const rect = this.itemRectWithPadding(index); const stateIconX = this.stateIconX(rect); const stateIconY = this.stateIconY(rect); this.drawStateIcon(actor, stateIconX, stateIconY); } }; Window_BattleStatus.prototype.stateIconX = function(rect) { return rect.x; }; Window_BattleStatus.prototype.stateIconY = function(rect) { return rect.y + 4; }; const _Game_Actor_addState = Game_Actor.prototype.addState; Game_Actor.prototype.addState = function(stateId) { _Game_Actor_addState.call(this, stateId); if (BattleManager._statusWindow) { BattleManager._statusWindow.refreshContentsDraw(); } }; const _Game_Actor_removeState = Game_Actor.prototype.removeState; Game_Actor.prototype.removeState = function(stateId) { _Game_Actor_removeState.call(this, stateId); if (BattleManager._statusWindow) { BattleManager._statusWindow.refreshContentsDraw(); } }; })();