A downloadable tool

Get this tool and 100 more for $856.49 USD
View bundle
Buy Now
On Sale!
30% Off
$12.99 $9.09 USD or more

Your party wears the fight.

Fray is battle wear for RPG Maker MZ, drawn into your own heroes. Every hit a hero takes leaves a mark on that hero's face and side-view battler: a blade grazes a cheek or tears a coat, a blow leaves a bruise, fire scorches the clothing, ice frosts it, lightning leaves a flash burn, poison a sick bruise. As HP falls the hero looks more spent: the colour drains from the skin and grime sinks in.

The wear does not vanish when the battle ends. It is there in the menu, on the status screen, in the next battle and in the save file, until the hero rests at an inn. A potion lays a plaster or a bandage over the worst mark.

Nothing to draw. Fray finds the skin, the clothing and the armour in each face and battler from the image's own colours and draws every mark as pixel work on a copy of it. No damaged face sets to paint, no image swaps to set up.


⚠️ Compatibility — the question you actually have

Tested against RPG Maker MZ with the stock scripts unmodified, verified by running the plugin in the real engine rather than only in tests.

Plugin Manager order:

  1. ScatheCore.js — Scathe 1/2 - the damage: generated from each enemy's own battler pixels, by element, HP band and material. No engine code.
  2. FrayCore.js — Fray 2/3 - the wear: skin, cloth and armour found in each hero's own face and battler art, and every mark drawn into them. No engine code.
  3. Fray.js — Fray 3/3 - your party wears the fight: bruises, scorch, frost and torn cloth drawn into your own heroes' faces and side-view battlers, kept until they…

This order reads sensibly in the list and nothing depends on it. Fray.js finds the other two the first time it needs them, so any order works, including Fray.js first (the order the in-engine tests load them in). ScatheCore.js is the same file Scathe ships: if you own Scathe, keep one copy. If FrayCore.js or ScatheCore.js is switched off, the first battle stops with a message naming the file to turn on. Place Fray after any plugin that replaces drawActorFace or the side-view actor sprite, so its extension runs on top.

Core methods extended — 9 by saved-original prototype extension, none replaced: Game_Action.prototype.executeHpDamage, Game_Action.prototype.itemEffectRecoverHp, Window_StatusBase.prototype.drawActorFace, Scene_Battle.prototype.update, Scene_Battle.prototype.create, Scene_Battle.prototype.start, Scene_Battle.prototype.terminate, Window_BattleStatus.prototype.update, Sprite_Actor.prototype.updateBitmap.

Because nothing is clobbered, Fray co-exists with other plugins that patch the same seams, including large suites.

It also defines one method that its core class only inherited: Game_Actor.prototype.recoverAll (inherited from Game_BattlerBase). That touches Game_Actor only, never the parent. If another plugin redefines the same method on the same class, load Fray after it.


What it draws

  • On skin: a graze (skin rubbed raw with fine scratches), a bruise (violet at the centre, yellow-green at the edge), a reddened burn, frost, a flash burn, a sick olive bruise. On a face, skin marks land on the cheeks, never on the eyes, the nose or the mouth.
  • On clothing: a tear onto a darker layer with threads across it, scorch with a smouldering edge, frost that keeps the folds under it, a lightning burn, a creeping stain.
  • On armour: a gash, or a dent with a lit rim.
  • HP bands (75%, 50% and 25% by default): the skin pales toward a cold pallor and grime sinks in at each band; at the last band a battler's coat frays at the hem.
  • Dressings: a healing item lays a sticking plaster on skin or a wrapped bandage on clothing over the worst undressed mark.

Where it shows

  • Faces everywhere the game draws a face for a hero: the battle status, the main menu, the status, skill and equipment screens.
  • Side-view battlers: every motion frame of the hero's own sheet, with each mark held on the same part of the body as the hero walks, swings, guards, staggers, falls and lies down.
  • Works on the stock MZ faces and battlers, painted portraits with a dark backdrop, and tall pixel-art battlers (2x, 3x and 4x pixel art keeps its grid).

Into your game

  • Install the three files and it works: every hit from an enemy skill marks the hero it lands on. The kind of mark comes from the name of the element, so your own elements work too.
  • Recover All (an inn, a save point) mends everything. Plugin commands Wear a hero, Mend a hero and Dress a wound for traps, falls and cutscenes.
  • <Fray: off> on an actor keeps that hero clean.
  • The save keeps each hero's wear as a short list of decisions (kind, power, seed, dressed), never pixels. A save made with Fray loads with Fray removed.

Light on the frame

Measured in the real engine with the frame gate, four side-view heroes marked every twenty frames: the plugin's update cost stayed inside a 2 ms mean and a 4 ms worst-1% budget, with no texture uploads in the average frame. The redrawing is spread over frames, and a new mark is drawn on top of the last picture instead of redrawing every mark.

What's in the download

  • Fray.js, FrayCore.js and ScatheCore.js: readable, unminified JavaScript. ScatheCore.js is the mark painter Fray shares with Scathe (the same file: owners of Scathe keep one copy).
  • Readme_for_Users.md: every parameter, command, notetag and the element table.
  • LICENSE.txt: use it in unlimited commercial and free games.

No image, font or sound file ships: every mark is drawn in code from your own art. The portraits and battlers in the store images are Core Systems Asset Factory demo art (the battlers are the Wildmark Battlers pack below) and are not part of the download.


From the same studio

  • Scathe ($12.99): the same idea on the other side of the battle. Every enemy shows the damage you deal, drawn into its own battler art.
  • Stature ($11.99): taller side-view battlers re-proportioned from your own sheets, pose by pose.
  • Wildmark Battlers ($6.99): eight side-view heroes with all 18 battle motions, the cast in these screenshots.

AI disclosure: the code, the drawing code, the cover art and the demo portraits in the store images were produced with AI assistance. No sounds and no story text ship with it.

Purchase

Get this tool and 100 more for $856.49 USD
View bundle
Buy Now
On Sale!
30% Off
$12.99 $9.09 USD or more

In order to download this tool you must purchase it at or above the minimum price of $9.09 USD. You will get access to the following files:

fray-mz-plugin.zip 47 kB
Version 1.0.0

Development log

Leave a comment

Log in with itch.io to leave a comment.