Patina — Every Item Shows What It Has Been Through
A downloadable asset pack
A sword at 40/100 durability looks exactly like a sword at 100/100. Every durability, crafting and repair system for RPG Maker MZ decrements a number and leaves the picture untouched. Patina is the layer that was missing: it reads whatever condition your project already tracks and turns the number into the picture.
A blade that has been honed carries a bright bevel and a bitten edge. A bronze buckle grows verdigris out of its joints. A leather grip cracks along the line it bends on and darkens where a hand has held it. Gilding wears off the high points first and nowhere else.
Wear is not a darkening filter
This is the part that makes it a product rather than an overlay. Wear changes the object's shape, not just its colour. A ruined blade physically loses material — measured on our own test plate, about a fifth of its silhouette — its point breaks off, and its pommel stone goes missing. A frayed linen edge goes ragged all the way round. That is why six condition states read as six different objects instead of one object at six brightnesses.
And one axis runs the other way: a honed blade is brighter and keener than a pristine one. Use is not only decay.
What is in it
- 20 gear forms — arming sword, falchion, dagger, war axe, warhammer, flanged mace, spear, hunting bow, crossbow, kite shield, buckler, great helm, mail coif, cuirass, gauntlet, greave, signet ring, amulet, brooch, war belt.
- 11 materials, each with its OWN decay mode — iron and steel rust from their rivets, bronze and copper grow verdigris out of seams, silver tarnishes across its flats, gold does not corrode at all and instead abrades on the high points, leather cracks, wood splits, linen frays, bone and horn chip.
- 14 kinds of wear mark — nick, chip, dent, tear, fray, lost fitting, bloom, creep, film, pit, crack, hone, polish, worn gilt.
- 6 condition states — Pristine, Keen, Worn, Battered, Failing, Ruined.
- An Armoury scene that lists your gear and draws the selected piece large, with its material, its state and its condition.
51 authored entities, and not one shipped PNG. There is no atlas and no sprite sheet. Every object is drawn by code at whatever size you ask for.
It works with the durability plugin you already own
Patina is a display layer and it is designed to sit above whatever system you have. Point its condition variable block at the same variables your durability plugin writes and the two work together without either knowing about the other. Or use a notetag:
<durability:40/100>
The tag name is a plugin parameter, so set it to whatever your existing system already writes.
Your database, with no authoring at all
Drop it into a stock project and every weapon and armour is already classified: the form from its equip type, the material from its price, the condition from its durability. Any row that lands somewhere you disagree with can say what it is:
<patina:form=war-belt> <patina:material=linen>
Two honest limits
RPG Maker MZ has no individual item instances. The engine stores a count per database id, so three iron swords are "3 of item 4" and not three objects with three histories. Patina therefore ages an item type at a condition. It will not remember that one particular sword was the one you carried through the swamp, because the engine cannot store that and neither can any plugin.
Wear is an outline-scale change, so it needs room to read. A 32×32 icon cannot show a rolled edge or verdigris in a joint — that is arithmetic, not taste. Patina owns a scene where the object is drawn large.
⚠️ 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:
PatinaRender.js— Patina [1/5] — drawing and colour primitives. Seeded RNG, colour maths, typography, the op recorder, and the absolute-separation relief model every…PatinaCorpus.js— Patina [2/5] — the authored corpus: gear forms, materials and their decay modes, wear marks, and the six condition states.PatinaGear.js— Patina [3/5] — the gear forms and the renderer that ages them.PatinaBind.js— Patina [4/5] — reads the project's own database and condition data, and decides which form, material and condition each item is drawn at.PatinaScene.js— Patina [5/5] — the armoury inspection scene. Draws the party's gear as the objects it has become, at a size where wear is actually legible.
This order reads sensibly in the list and nothing depends on it. Every file resolves its siblings the first time it needs them rather than when it loads, so Patina works in whatever order the Plugin Manager gives you. That is tested rather than hoped for: the headless suite, the store-plate renderer and the in-engine verification all load the five files alphabetically — which puts PatinaBind.js before PatinaRender.js, the file it draws with — and require the same objects out of it. PatinaScene.js is the Armoury scene and can be switched off if you only want the renderer and the classifier.
It patches no core RPG Maker method at all, so there is nothing of anyone else's for it to collide with.
What you get
- Five plugin files, raw readable JavaScript. No minification, no obfuscation.
- Full
@plugindesc,@paramand@helpannotation. - A Readme covering every form id, every material id and both notetags.
- Use in unlimited games, commercial or free. No royalties.
Also from Core Systems Asset Factory
Patina ages the object; Niello engraves the plate it is presented on, and the two are built to sit side by side. Hallmark strikes the maker's mark your loot system earned, and Facet cuts and lights every gem in the database. The whole catalogue is at csaf.itch.io.
Made by Core Systems Asset Factory. Code and graphics are AI-generated and disclosed as such on this page.
| Published | 10 days ago |
| Status | Released |
| Category | Assets |
| Author | CSAF — Core Systems Asset Factory |
| Made with | RPG Maker |
| Tags | assets, Fantasy, Generator, javascript, Medieval, plugin, Procedural Generation, RPG Maker, RPG Maker MZ, Weapons |
| Languages | English |
| AI Disclosure | AI Assisted, Code, Graphics |
Purchase
In order to download this asset pack you must purchase it at or above the minimum price of $12.99 USD. You will get access to the following files:





