I think what you describe is fully supported. I’m still making it a little more versatile than that so it’s useful for many kinds of games, though. (It’s really not much effort at all.)
Rules can influence later rules through the tag system, so it’s pretty easy to set up variations of a rule. You likely will have to use one rule per variation, though, unless you extend the plugins, and if something is at once in front of and behind something else that will need two rules too.
It’s possible to hide the base layer and replace it with a different one, so weight changes and different poses shouldn’t be a problem.
The default character portrait drawn onto the message box and menu unfortunately isn’t affected by my plugins. (It’s not really a Sprite
normally, which makes it difficult to work with.)
If you add a (modified) Sprite_Picture
sourced from a Game_Picture
to the Scene_Status
, or to the window directly, that will be affected though! Here’s the one I use in Live Menu and Pause (for the pause screen Picture):
class Sprite_Pause extends Sprite_Picture {
/** @override */
initialize() {
super.initialize(0);
}
/** @override */
picture() {
return pausePicture;
}
/** @override */
updatePosition() {
super.updatePosition();
// Because I don't use the standard Picture container.
// (See `Spriteset_Base.prototype.createPictures`.)
this.x += Math.floor((Graphics.width - Graphics.boxWidth) / 2);
this.y += Math.floor((Graphics.height - Graphics.boxHeight) / 2);
}
}
pausePicture
is just a standard new Game_Picture()
that I called .show(…)
on to set it up. In theory you can make that a constant in a plugin if there are no changing parameters. The load order doesn’t matter vs. mine, since I hook into the Sprite_Picture
and Game_Picture
prototypes without changing the instances.