So, this is one that's been bothering me for a bit, I have a sorta-solution that messes up other things. I have a stealth state for allies and enemies that tweaks their opacity and makes them really hard to hit.
I do this with the following notetag on the state:
<Custom Apply Effect>
target.spriteOpacity(60,20)
user.refresh();
</Custom Apply Effect>
<Custom Remove Effect>
this.spriteOpacity(255,20)
user.refresh();
</Custom Remove Effect>
The problem is, that when this state is applied to enemies, the opacity goes away as soon as they're targeted.
A fix that someone helped me find was to make a plugin with the following code (not the entire thing, but 90% of it):
Sprite_Enemy.prototype.startEffect;
Sprite_Enemy.prototype.startEffect = function(effectType) {
var opacity = this.opacity;
[Function].Sprite_Enemy_startEffect.call(this, effectType);
this.opacity = opacity;
};
This does make it so that the enemies maintain their opacity when targeted, but...... The problem with this fix is that it breaks enemy collapse effects and adds a weird white square block to party battlers (not enemy ones) when they're semi-transparent.
Basically, is there a way I can get this code to not apply to party members and dying/0 hp battlers? Or is there just a better fix in general for this problem.