From what I can see, the crash is happening inside MOG_SceneEquip.js, but the scene it’s crashing in is Galv’s shard scene (Scene_MShards), not the regular equip scene. I’m wondering if Galv’s Window_ShardStatus is built on top of Window_EquipStatus, and MOG_SceneEquip changes how that window updates, so when the shard scene opens, the window is looking for something MOG’s equip scene normally sets up and it isn’t there. That could explain the ‘opacity’ of undefined error.
A quick way to check would be to turn off MOG_SceneEquip in the Plugin Manager and open the shard scene again. If the error goes away, it’s a conflict between those two. Also, which order do you have MOG_SceneEquip and Galv’s Magic Shards in the plugin list? Sometimes swapping the order changes the result, so it’s worth a try.
Thanks for the reply.
The error occurs regardless of whether GalvShards is placed above or below MogEquip.
id turning MOG_SceneEquip off clear it? That would at least confirm those two are the pair. I did some digging and this exact error with MOG_SceneEquip was reported on Galv’s Magic Shards page back in 2017, and MOG apparently said a later version of his plugin would fix the compatibility. So first thing I’d check is the version on your MOG_SceneEquip file and grab the newest one from atelierrgss if yours is older.
If it’s already current, I think a small plugin below both of them might get around it. MOG adds an update to Window_EquipStatus that Galv’s shard window inherits, and vanilla MV doesn’t give that window an update of its own, so this just puts it back to the plain one:
Window_ShardStatus.prototype.update = function() {
Window_Base.prototype.update.call(this);
};
Save that as a .js in js/plugins, add it to the Plugin Manager under both, and open the shard scene again.
I'm sorry, but it doesn't work this way either. It's still the same error.
Let’s get specific so we can narrow this down. Can you go through these in order and answer each one, even a one word answer per number helps:
- Turn MOG_SceneEquip OFF in the Plugin Manager, save the project, playtest, and open the shard scene. Does the crash go away, yes or no?
- Turn MOG_SceneEquip back ON. Is the workaround plugin I posted showing in the Plugin Manager list with its status set to ON? Is it sitting below both GALV_MagicShards and MOG_SceneEquip? Did you save the project after adding it?
- In Windows Explorer go to View and check File name extensions, then look at the file in your js/plugins folder. What is the exact filename you see? I’m checking it didn’t get saved as something like .js.txt, which loads nothing.
- With the workaround ON, open the shard scene again and when it crashes press F8 to open the console, or screenshot the crash screen. Post it here. What I need to see is whether the top line still says MOG_SceneEquip.js:487 or has changed to something else.
- What version numbers are on your MOG_SceneEquip and GALV_MagicShards files? They’re listed at the top of each plugin’s description in the Plugin Manager.
- If you have a few extra minutes, download Galv’s Magic Shards demo, add only MOG_SceneEquip to it, and open the shard scene. Does it crash the same way?
Once I have those answers I can point at something real instead of guessing.
Thanks for going through those. Since turning MOG_SceneEquip off clears it, those two are the pair. From what I can find, 1.0 is also the newest MOG_SceneEquip there is, so updating isn’t an option here.
Line 487 in MOG_SceneEquip is this._faceSprite.opacity = this.contentsOpacity, where it fades the actor face sprite it adds to the equip status window. I think the shard window runs that same update but never gets a face sprite, so there’s nothing there to set. Your new screenshot still points at line 487, so I think the patch I posted isn’t actually running. I’m wondering if Galv keeps Window_ShardStatus inside his plugin where other plugins can’t reach it. That would make my last patch error out when the game loads and do nothing.
This version patches MOG’s function directly, so it doesn’t need to reach Galv’s window. Turn the old patch OFF, then save this as a new .js file in js/plugins and put it anywhere below MOG_SceneEquip:
var _baz_mogEquipStatusUpdate = Window_EquipStatus.prototype.update;
Window_EquipStatus.prototype.update = function() {
if (this._faceSprite) {
_baz_mogEquipStatusUpdate.call(this);
} else {
Window_Base.prototype.update.call(this);
}
};
If it still crashes, look at your Developer Tools screenshot. It opened on the Elements tab, so click Console at the top and screenshot what’s there. The red 12 in the corner means 12 errors are logged, and one of them may say why the patch isn’t loading.
In MOG’s equip scene the stat names come from the layout image, so it replaces drawParamName with an empty function. Galv’s shard window inherits that and ends up drawing the numbers with nothing next to them.
You can put the names back the same way, only for the window that has no face sprite. Add this below the first patch in the same file:
Window_EquipStatus.prototype.drawParamName = function(x, y, paramId) {
if (this._faceSprite) return;
this.changeTextColor(this.systemColor());
this.drawText(TextManager.param(paramId), x, y, 120);
};
If the names come out overlapping the numbers, try dropping that 120 to something smaller first, and if they still collide I’d shift them by changing x to x + 8 or similar until it sits where you want.
The Par graphic is already loaded on that window, it just never gets sized. MOG fills in _parData from the image inside his refresh, and I think the shard window doesn’t run that refresh, so the width and height stay at 0 and the blt draws nothing.
Add this below the other two:
var _baz_mogDrawRightArrowM = Window_EquipStatus.prototype.drawRightArrowM;
Window_EquipStatus.prototype.drawRightArrowM = function(x, y, paramId) {
if (!this._faceSprite) {
if (!this._parImg) { this._parImg = ImageManager.loadMenusequip("Par"); }
if (this._parImg.width > 0) {
this._parData = [this._parImg.width / 3, this._parImg.height];
}
}
_baz_mogDrawRightArrowM.call(this, x, y, paramId);
};
This needs Par.png sitting in img/menus/equip, same as MOG’s own equip scene uses. If the symbols are missing the very first time you open the scene and then appear once you move the cursor, that’s the image still loading in.
Thanks, it works now. On the shards screen, is it possible to set the window opacity to 0?
Yeah. MOG does exactly that in his own equip scene, sets every window’s opacity to 0 and puts his layout images behind them, so it’s just a matter of doing the same to Galv’s scene.
I don’t know if Galv exposes Scene_MShards where another file can grab it, so this checks the scene name at runtime instead. Add it to the same patch file:
var _baz_sceneBaseStart = Scene_Base.prototype.start;
Scene_Base.prototype.start = function() {
_baz_sceneBaseStart.call(this);
if (this.constructor.name === "Scene_MShards" && this._windowLayer) {
this._windowLayer.children.forEach(function(w) {
if (w instanceof Window_Base) w.opacity = 0;
});
}
};
That clears the frame and background on every window in the shard scene, help window included, and leaves the text and shard icons alone. If you’d rather keep the frame and only fade the background, swap opacity for backOpacity.



