/*:
* @plugindesc 整队界面替换
* @author
* @license MIT
*
* @target MZ
*
* @param characterWidth
* @desc 角色步行图形的横向尺寸
* @text 角色的横向尺寸
* @type number
* @default 48
*
* @param characterHeight
* @desc キャラクター歩行グラフィックの縦サイズ
* @text 角色的纵向尺寸
* @type number
* @default 72
*
* @param characterDirectionToLeft
* @desc キャラクターグラフィックを左向きで表示するかどうか
* @text 角色朝向左
* @type boolean
* @default false
*
* @param inheritMenuBackground
* @desc メニュー系の画面から遷移した場合に背景を引き継ぐかどうか
* @text 使用菜单背景
* @type boolean
* @default true
*
* @param cancelButtonLeftMergin
* @desc 返回按钮与调整队列文本窗口之间的距离
* @text 返回与整队文本的距离
* @type number
* @default 20
*
* @param cancelButtonRightMergin
* @desc 返回按钮和屏幕右侧边缘之间的宽度
* @text 返回和右侧边缘的距离
* @type number
* @default 4
*
* @param showHelpWindow
* @desc 如果关闭,则隐藏顶部的帮助窗口,并相应地扩大装备状态窗口。
* @text 显示帮助窗口
* @type boolean
* @default true
*
* @command openFormationScene
* @text 打开整理队列场景
*
* @help
* 插件版本: 1.4.1
* 提供调整队列的场景。
*
* 插件命令可以开始重新排列的场景。
* 只有这个插件不会改变菜单的重新排列命令的行为。
* 改变菜单的行为和插件一起使用,可以改变。
* 例如,darkplasma_formationinmenu
* トリアコンタンさん的菜单子命令。
* 打开重新排列场景所需的脚本代码:
* SceneManager.push(Scene_Formation);
*/
(() => {
'use strict';
const pluginName = document.currentScript.src.replace(/^.*\/(.*).js$/, function () {
return arguments[1];
});
const pluginParametersOf = (pluginName) => PluginManager.parameters(pluginName);
const pluginParameters = pluginParametersOf(pluginName);
const settings = {
characterWidth: Number(pluginParameters.characterWidth || 48),
characterHeight: Number(pluginParameters.characterHeight || 72),
characterDirectionToLeft: String(pluginParameters.characterDirectionToLeft || true) === 'true',
inheritMenuBackground: String(pluginParameters.inheritMenuBackground || true) === 'true',
cancelButtonLeftMergin: Number(pluginParameters.cancelButtonLeftMergin || 4),
cancelButtonRightMergin: Number(pluginParameters.cancelButtonRightMergin || 4),
showHelpWindow: String(pluginParameters.showHelpWindow || true) === 'true',
};
const command_openFormationScene = 'openFormationScene';
/**
* 默认的角色大小
* @type {number}
*/
const DEFAULT_CHARACTER_SIZE = 48;
/**
* 待机窗口的上下填充宽度(右侧未参战角色栏的宽度)
* @type {number}
*/
const WAITING_WINDOW_PADDING = 36;
PluginManager.registerCommand(pluginName, command_openFormationScene, function () {
SceneManager.push(Scene_Formation);
});
SceneManager.isPreviousSceneExtendsMenuBase = function () {
return !!this._previousClass && new this._previousClass() instanceof Scene_MenuBase;
};
function Game_Temp_FormationMixIn(gameTemp) {
const _initialize = gameTemp.initialize;
gameTemp.initialize = function () {
_initialize.call(this);
this._needsFormationBattleMemberWindowRefresh = false;
this._needsFormationWaitingMemberWindowRefresh = false;
};
const _requestBattleRefresh = gameTemp.requestBattleRefresh;
gameTemp.requestBattleRefresh = function () {
_requestBattleRefresh.call(this);
this.requestFormationMemberWindowsRefresh();
};
gameTemp.requestFormationMemberWindowsRefresh = function () {
this._needsFormationBattleMemberWindowRefresh = true;
this._needsFormationWaitingMemberWindowRefresh = true;
};
gameTemp.clearFormationBattleMemberWindowRefreshRequest = function () {
this._needsFormationBattleMemberWindowRefresh = false;
};
gameTemp.clearFormationWaitingMemberWindowRefreshRequest = function () {
this._needsFormationWaitingMemberWindowRefresh = false;
};
gameTemp.isFormationBattleMemberWindowRefreshRequested = function () {
return this._needsFormationBattleMemberWindowRefresh;
};
gameTemp.isFormationWaitingMemberWindowRefreshRequested = function () {
return this._needsFormationWaitingMemberWindowRefresh;
};
}
Game_Temp_FormationMixIn(Game_Temp.prototype);
function Scene_FormationMixIn(sceneClass) {
return class extends sceneClass {
/**
* @return {Rectangle}
*/
helpWindowRect() {
if (settings.showHelpWindow) {
const width = ConfigManager.touchUI
? Graphics.boxWidth -
this.cancelButtonWidth() -
settings.cancelButtonRightMergin -
settings.cancelButtonLeftMergin
: Graphics.boxWidth;
return new Rectangle(0, 0, width, this.calcWindowHeight(1, false));
} else {
return new Rectangle(0, 0, 0, 0);
}
}
/**
* @return {Rectangle}
*/
statusWindowRect() {
return new Rectangle(
0,
this.formationHelpWindow().height + this.waitingMemberWindowHeight(),
this.formationStatusWindowWidth(),
this.formationStatusWindowHeight()
);
}
formationStatusWindowWidth() {
return Graphics.boxWidth;
}
//原本是4 改为6
formationStatusWindowHeight() {
return this.calcWindowHeight(6, false);
}
/**
* @return {Rectangle}
*/
battleMemberWindowRect() {
return new Rectangle(
0,
this.formationHelpWindow().height,
this.battleMemberWindowWidth(),
this.waitingMemberWindowHeight()
);
}
battleMemberWindowWidth() {
const characterSpacing = Window_FormationBattleMember.prototype.spacing();
return settings.characterHeight > DEFAULT_CHARACTER_SIZE
? (settings.characterWidth + characterSpacing) * $gameParty.maxBattleMembers()
: (settings.characterWidth + characterSpacing) * Math.floor(($gameParty.maxBattleMembers() + 1) / 2) + 32;
}
/**
* @return {Rectangle}
*/
waitingMemberWindowRect() {
return new Rectangle(
this.formationBattleMemberWindow().width,
this.formationHelpWindow().height,
Graphics.boxWidth - this.formationBattleMemberWindow().width,
this.waitingMemberWindowHeight()
);
}
waitingMemberWindowHeight() {
return settings.characterHeight > DEFAULT_CHARACTER_SIZE
? settings.characterHeight + WAITING_WINDOW_PADDING
: settings.characterHeight * 2 + Math.floor((WAITING_WINDOW_PADDING * 4) / 3);
}
cancelButtonWidth() {
return 0;
}
formationHelpWindow() {
return new Window_Help(new Rectangle(0, 0, 0, 0));
}
formationBattleMemberWindow() {
return new Window_FormationBattleMember(new Rectangle(0, 0, 0, 0));
}
formationWaitingMemberWindow() {
return new Window_FormationWaitingMember(new Rectangle(0, 0, 0, 0));
}
formationSelectWindow() {
return new Window_FormationSelect(new Rectangle(0, 0, 0, 0));
}
formationStatusWindow() {
return new Window_FormationStatus(new Rectangle(0, 0, 0, 0));
}
formationStatusParamsWindow() {
return new Window_StatusParams(new Rectangle(0, 0, 0, 0));
}
formationEquipStatusWindow() {
return new Window_StatusEquip(new Rectangle(0, 0, 0, 0));
}
setupFormationSelectWindow() {
this.formationSelectWindow().setStatusWindow(this.formationStatusWindow());
this.formationSelectWindow().setBattleMemberWindow(this.formationBattleMemberWindow());
this.formationSelectWindow().setWaitingMemberWindow(this.formationWaitingMemberWindow());
this.formationSelectWindow().setStatusParamsWindow(this.formationStatusParamsWindow());
this.formationSelectWindow().setEquipWindow(this.formationEquipStatusWindow());
this.formationSelectWindow().setHandler('ok', this.onFormationOk.bind(this));
this.formationSelectWindow().setHandler('cancel', this.onFormationCancel.bind(this));
this.formationSelectWindow().select(0);
/**
* 为了实现光标重叠透明窗口的显示,请准备一个专用层
*/
this._selectWindowLayer = new WindowLayer();
this._selectWindowLayer.x = (Graphics.width - Graphics.boxWidth);
this._selectWindowLayer.y = (Graphics.height - Graphics.boxHeight);
this.addChild(this._selectWindowLayer);
this._selectWindowLayer.addChild(this.formationSelectWindow());
}
/**
* @return {Rectangle}
*/
selectWindowRect() {
return new Rectangle(
0,
this.formationWaitingMemberWindow().y,
Graphics.boxWidth,
this.formationWaitingMemberWindow().height
);
}
onFormationOk() {
const index = this.formationSelectWindow().index();
const pendingIndex = this.formationSelectWindow().pendingIndex();
if (pendingIndex >= 0) {
$gameParty.swapOrder(index, pendingIndex);
this.formationSelectWindow().setPendingIndex(-1);
$gameTemp.requestFormationMemberWindowsRefresh();
} else {
this.formationSelectWindow().setPendingIndex(index);
}
this.formationSelectWindow().activate();
}
onFormationCancel() {
if (this.formationSelectWindow().pendingIndex() >= 0) {
this.formationSelectWindow().setPendingIndex(-1);
this.formationSelectWindow().activate();
} else {
this.quitFromFormation();
}
}
quitFromFormation() {}
};
}
globalThis.Scene_FormationMixIn = Scene_FormationMixIn;
class Scene_Formation extends Scene_FormationMixIn(Scene_Base) {
constructor() {
super(...arguments);
this._backgroundSprite = null;
this._cancelButton = null;
this._selectWindow = null;
this._helpWindow = null;
this._statusWindow = null;
this._statusParamsWindow = null;
this._equipWindow = null;
this._battleMemberWindow = null;
this._waitingMemberWindow = null;
}
create() {
super.create();
this.createBackground();
this.createWindowLayer();
this.createButtons();
this.createHelpWindow();
this.createBattleMemberWindow();
this.createWaitingMemberWindow();
this.createStatusWindow();
this.createStatusParamsWindow();
this.createStatusEquipWindow();
this.createSelectWindow();
}
start() {
super.start();
this._selectWindow.activate();
}
createBackground() {
if (settings.inheritMenuBackground && SceneManager.isPreviousSceneExtendsMenuBase()) {
Scene_MenuBase.prototype.createBackground.call(this);
} else {
this._backgroundSprite = new Sprite();
this._backgroundSprite.bitmap = SceneManager.backgroundBitmap();
this.addChild(this._backgroundSprite);
}
}
setBackgroundOpacity(opacity) {
if (this._backgroundSprite) {
this._backgroundSprite.opacity = opacity;
}
}
createHelpWindow() {
this._helpWindow = new Window_Help(this.helpWindowRect());
this._helpWindow.setText(this.helpWindowText());
this.addWindow(this._helpWindow);
}
helpWindowText() {
return TextManager.formation;
}
createButtons() {
if (ConfigManager.touchUI) {
this._cancelButton = new Sprite_Button('cancel');
this._cancelButton.x = Graphics.boxWidth - this.cancelButtonWidth() - settings.cancelButtonRightMergin;
this._cancelButton.y = this.buttonY();
this.addChild(this._cancelButton);
}
}
cancelButtonWidth() {
return this._cancelButton ? this._cancelButton.width : 0;
}
formationHelpWindow() {
return this._helpWindow;
}
createStatusWindow() {
this._statusWindow = new Window_FormationStatus(this.statusWindowRect());
this.addWindow(this._statusWindow);
}
formationStatusWindow() {
return this._statusWindow;
}
createStatusParamsWindow() {
this._statusParamsWindow = new Window_StatusParams(this.statusParamsWindowRect());
this.addWindow(this._statusParamsWindow);
}
statusParamsWindowRect() {
return new Rectangle(
0,
this.formationHelpWindow().height + this.formationStatusWindow().height + this.waitingMemberWindowHeight(),
Scene_Status.prototype.statusParamsWidth.call(this),
this.formationStatusParamsWindowHeight()
);
}
formationStatusParamsWindowHeight() {
return (
Graphics.boxHeight -
this.waitingMemberWindowHeight() -
this.formationStatusWindow().height -
this.formationHelpWindow().height
);
}
formationStatusParamsWindow() {
return this._statusParamsWindow;
}
createStatusEquipWindow() {
this._equipWindow = new Window_StatusEquip(this.equipStatusWindowRect());
this.addWindow(this._equipWindow);
}
equipStatusWindowRect() {
return new Rectangle(
this._statusParamsWindow.width,
this._statusParamsWindow.y,
Graphics.boxWidth - this._statusParamsWindow.width,
this._statusParamsWindow.height
);
}
formationEquipStatusWindow() {
return this._equipWindow;
}
createBattleMemberWindow() {
this._battleMemberWindow = new Window_FormationBattleMember(this.battleMemberWindowRect());
this.addWindow(this._battleMemberWindow);
}
formationBattleMemberWindow() {
return this._battleMemberWindow;
}
createWaitingMemberWindow() {
this._waitingMemberWindow = new Window_FormationWaitingMember(this.waitingMemberWindowRect());
this.addWindow(this._waitingMemberWindow);
}
formationWaitingMemberWindow() {
return this._waitingMemberWindow;
}
createSelectWindow() {
this._selectWindow = new Window_FormationSelect(this.selectWindowRect());
this.setupFormationSelectWindow();
}
formationSelectWindow() {
return this._selectWindow;
}
quitFromFormation() {
$gamePlayer.refresh();
this.popScene();
}
}
globalThis.Scene_Formation = Scene_Formation;
//Window_FormationStatus 带有脸图的窗口
class Window_FormationStatus extends Window_SkillStatus {
constructor() {
super(...arguments);
this._topFaceBitmap = null;
this._topFaceIsVisible = false;
}
loadFaceImages() {
super.loadFaceImages();
/**
* 开头的面部图
*/
this._topFaceBitmap = ImageManager.loadFace($gameParty.leader().faceName());
this._topFaceIsVisible = false;
}
//可见行数? 原本是4 该为6 ,好像没用
numVisibleRows() {
return 10;
}
windowHeight() {
return this.fittingHeight(this.numVisibleRows());
}
update() {
super.update();
//$gameParty.members()[0]._name,0,0,400,200,'left'
//Bitmap.prototype.drawText = function(text, x, y, maxWidth, lineHeight, align)
this.contents.drawText(this.convertEscapeCharacters(this._actor._profile),0,90,900,220,'left');
/**
* 先頭のみ顔グラの読み込みが間に合わないケースがあるため、
* 等待准备工作仅运行一次重绘过程。
*/
if (!this._topFaceIsVisible && this._topFaceBitmap && this._topFaceBitmap.isReady()) {
//在这里绘制?
this.refresh();
this._topFaceIsVisible = true;
}
}
}
class Window_DrawActorCharacter extends Window_StatusBase {
initialize(rect) {
super.initialize(rect);
this._bitmapsMustBeRedraw = [];
this.refresh();
}
drawActorCharacter(actor, x, y) {
super.drawActorCharacter(actor, x, y);
const bitmap = ImageManager.loadCharacter(actor.characterName());
if (!bitmap.isReady()) {
this._bitmapsMustBeRedraw.push(bitmap);
}
}
drawActorCharacterLeft(actor, x, y) {
const bitmap = ImageManager.loadCharacter(actor.characterName());
const big = ImageManager.isBigCharacter(actor.characterName());
const pw = bitmap.width / (big ? 3 : 12);
const ph = bitmap.height / (big ? 4 : 8);
const n = big ? 0 : actor.characterIndex();
const sx = ((n % 4) * 3 + 1) * pw;
const sy = (Math.floor(n / 4) * 4 + 1) * ph;
this.contents.blt(bitmap, sx, sy, pw, ph, x - pw / 2, y - ph);
if (!bitmap.isReady()) {
this._bitmapsMustBeRedraw.push(bitmap);
}
}
members() {
return [];
}
spacing() {
return 12;
}
offsetX() {
return 0;
}
offsetY() {
return 0;
}
itemHeight() {
return settings.characterHeight + 4;
}
itemRect(index) {
const x = this.x + this.offsetX() + (index % this.maxCols()) * (settings.characterWidth + this.spacing());
const y = -4 + this.offsetY() + Math.floor(index / this.maxCols()) * (settings.characterHeight + this.spacing());
return new Rectangle(x, y, settings.characterWidth, this.itemHeight());
}
update() {
super.update();
/**
* 由于有些情况下只能第一次及时完成加载,因此重新绘制
*/
if (this._bitmapsMustBeRedraw.length > 0 && this._bitmapsMustBeRedraw.every((bitmap) => bitmap.isReady())) {
this.refresh();
this._bitmapsMustBeRedraw = [];
}
}
refresh() {
this.contents.clear();
this.members().forEach((actor, index) => {
const x =
this.offsetX() +
settings.characterWidth / 2 +
(index % this.maxCols()) * (settings.characterWidth + this.spacing());
const y =
this.offsetY() +
settings.characterHeight +
Math.floor(index / this.maxCols()) * (settings.characterHeight + this.spacing());
if (settings.characterDirectionToLeft) {
this.drawActorCharacterLeft(actor, x, y);
} else {
this.drawActorCharacter(actor, x, y);
}
});
}
}
class Window_FormationBattleMember extends Window_DrawActorCharacter {
update() {
super.update();
if ($gameTemp.isFormationBattleMemberWindowRefreshRequested()) {
this.refresh();
$gameTemp.clearFormationBattleMemberWindowRefreshRequest();
}
}
members() {
return $gameParty.battleMembers();
}
maxCols() {
return settings.characterHeight > DEFAULT_CHARACTER_SIZE
? $gameParty.maxBattleMembers()
: $gameParty.maxBattleMembers() / 2;
}
offsetX() {
return settings.characterHeight > DEFAULT_CHARACTER_SIZE ? 0 : 12;
}
offsetY() {
return settings.characterHeight > DEFAULT_CHARACTER_SIZE ? 0 : 4;
}
spacing() {
return settings.characterHeight > DEFAULT_CHARACTER_SIZE ? 24 : 12;
}
}
class Window_FormationWaitingMember extends Window_DrawActorCharacter {
update() {
super.update();
if ($gameTemp.isFormationWaitingMemberWindowRefreshRequested()) {
this.refresh();
$gameTemp.clearFormationWaitingMemberWindowRefreshRequest();
}
}
members() {
return $gameParty.allMembers().filter((actor) => !actor.isBattleMember());
}
maxCols() {
return settings.characterHeight > DEFAULT_CHARACTER_SIZE ? 9 : 11;
}
}
class Window_FormationSelect extends Window_Selectable {
constructor() {
super(...arguments);
this._pendingIndex = -1;
this._pendingCursorSprite = null;
this._pendingCursorRect = new Rectangle(0, 0, 0, 0);
this._statusWindow = null;
this._battleMemberWindow = null;
this._waitingMemberWindow = null;
this._statusParamsWindow = null;
this._equipWindow = null;
}
initialize(rect) {
super.initialize(rect);
this.setBackgroundType(2);
if (!this._pendingCursorSprite) {
this._pendingCursorSprite = new Sprite();
this.addChild(this._pendingCursorSprite);
}
}
setStatusWindow(statusWindow) {
this._statusWindow = statusWindow;
}
setBattleMemberWindow(battleMemberWindow) {
this._battleMemberWindow = battleMemberWindow;
}
setWaitingMemberWindow(waitingMemberWindow) {
this._waitingMemberWindow = waitingMemberWindow;
}
setStatusParamsWindow(statusParamsWindow) {
this._statusParamsWindow = statusParamsWindow;
}
setEquipWindow(equipWindow) {
this._equipWindow = equipWindow;
}
maxCols() {
return this.maxItems();
}
maxItems() {
return $gameParty.allMembers().length;
}
isHorizontal() {
return true;
}
isSelectBattleMember() {
return this.index() < $gameParty.battleMembers().length;
}
isSelectUpperLineBattleMember() {
return !this.useTallCharacter() && this.index() < this._battleMemberWindow.maxCols();
}
isSelectLowerLineBattleMember() {
return (
!this.useTallCharacter() &&
this.index() >= this._battleMemberWindow.maxCols() &&
this.index() < $gameParty.battleMembers().length
);
}
isSelectRightLineBattleMember() {
const maxCols = this.isSelectUpperLineBattleMember()
? Math.ceil(this._battleMemberWindow.maxCols())
: Math.floor(this._battleMemberWindow.maxCols());
return (
!this.useTallCharacter() &&
this.index() < $gameParty.battleMembers().length &&
this.index() % maxCols === maxCols - 1
);
}
isSelectUpperLineWaitingMember() {
return (
!this.useTallCharacter() &&
this.index() >= $gameParty.battleMembers().length &&
this.index() < $gameParty.battleMembers().length + this._waitingMemberWindow.maxCols()
);
}
isSelectLowerLineWaitingMember() {
return (
!this.useTallCharacter() &&
this.index() >= $gameParty.battleMembers().length + this._waitingMemberWindow.maxCols()
);
}
isSelectLeftLineWaitingMember() {
return (
!this.useTallCharacter() &&
this.index() >= $gameParty.battleMembers().length &&
(this.index() - $gameParty.battleMembers().length) % this._waitingMemberWindow.maxCols() === 0
);
}
/**
* 是否使用了比默认值高的角色
* @return {boolean}
*/
useTallCharacter() {
return settings.characterHeight > DEFAULT_CHARACTER_SIZE;
}
cursorDown() {
if (this.isSelectUpperLineBattleMember()) {
if (this.index() + Math.ceil(this._battleMemberWindow.maxCols()) < $gameParty.battleMembers().length) {
this.select(this.index() + Math.ceil(this._battleMemberWindow.maxCols()));
} else if ($gameParty.battleMembers().length > Math.ceil(this._battleMemberWindow.maxCols())) {
this.select($gameParty.battleMembers().length - 1);
}
} else if (
this.isSelectUpperLineWaitingMember() &&
this.index() + this._waitingMemberWindow.maxCols() < this.maxItems()
) {
this.select(this.index() + this._waitingMemberWindow.maxCols());
}
}
cursorUp() {
if (this.isSelectLowerLineBattleMember()) {
this.select(this.index() - Math.floor(this._battleMemberWindow.maxCols()));
} else if (this.isSelectLowerLineWaitingMember()) {
this.select(this.index() - this._waitingMemberWindow.maxCols());
}
}
cursorRight() {
if (this.isSelectRightLineBattleMember() && this.maxItems() > $gameParty.battleMembers().length) {
if (
this.isSelectLowerLineBattleMember() &&
this.maxItems() > $gameParty.battleMembers().length + this._waitingMemberWindow.maxCols()
) {
this.select($gameParty.battleMembers().length + this._waitingMemberWindow.maxCols());
} else {
this.select($gameParty.battleMembers().length);
}
} else {
super.cursorRight(true);
}
}
cursorLeft() {
if (this.isSelectLeftLineWaitingMember()) {
if (this.isSelectUpperLineWaitingMember()) {
this.select(Math.ceil(this._battleMemberWindow.maxCols()) - 1);
} else {
this.select($gameParty.battleMembers().length - 1);
}
} else {
super.cursorLeft(true);
}
}
actor() {
return $gameParty.allMembers()[this.index()];
}
//如果在菜单中选中
//alert(this.actor()._profile);
select(index) {
super.select(index);
if (this._statusWindow) {
this._statusWindow.setActor(this.actor());
}
if (this._statusParamsWindow) {
this._statusParamsWindow.setActor(this.actor());
}
if (this._equipWindow) {
this._equipWindow.setActor(this.actor());
}
}
processCancel() {
if (this.processCancelEnabled()) {
super.processCancel();
} else {
this.playBuzzerSound();
}
}
processCancelEnabled() {
if (this.pendingIndex() >= 0) {
return true;
}
if ($gameParty.forwardMembersAreAllDead) {
return !$gameParty.forwardMembersAreAllDead();
}
return !$gameParty.isAllDead();
}
itemRect(index) {
if (index < $gameParty.battleMembers().length) {
return this._battleMemberWindow.itemRect(index);
} else {
return this._waitingMemberWindow.itemRect(index - $gameParty.battleMembers().length);
}
}
pendingIndex() {
return this._pendingIndex;
}
setPendingIndex(pendingIndex) {
this._pendingIndex = pendingIndex;
this.drawPendingItemBackGround();
}
drawPendingItemBackGround() {
if (this._pendingIndex >= 0) {
const rect = this.itemRect(this._pendingIndex);
const color = ColorManager.pendingColor();
this.changePaintOpacity(false);
this.contents.fillRect(rect.x, rect.y, rect.width, rect.height, color);
this.changePaintOpacity(true);
} else {
this.contents.clear();
}
}
}
globalThis.Window_FormationStatus = Window_FormationStatus;
globalThis.Window_FormationBattleMember = Window_FormationBattleMember;
globalThis.Window_FormationWaitingMember = Window_FormationWaitingMember;
globalThis.Window_FormationSelect = Window_FormationSelect;
})();