An open library of RPG Maker MZ plugins, powered by the community.

PGMZ - The Community-Driven Plugin Library for RPG Maker MZ

MZ plugins

Patina draws your weapons and armour as the objects they have become - PatinaBind.js, PatinaCorpus.js, PatinaGear.js, PatinaRender.js, PatinaScene.js

Plugin desc : Patina draws your weapons and armour as the objects they have become. It reads whatever condition value your project already tracks and turns that number into the picture the player sees. There are 20 gear forms, from arming sword and falchion through kite shield, great helm, mail coif, signet ring and war belt. There are 11 materials and each one decays in its own way. Iron and steel rust from their rivets. Bronze and copper grow verdigris out of the seams. Silver tarnishes across its flats. Gold doesn't corrode at all, so it abrades on the high points instead. Leather ...

License :
・Copyright: Retained
・Commercial Use: Allowed
・Modification: Allowed
・Redistribution: Prohibited (This does not apply to works made using the material.)
・Details: See Download Page / In-plugin documentation

Author : Core Systems Asset Factory

Website : https://csaf.itch.io/patina

Desc page : https://csaf.itch.io/patina

File name : PatinaBind.js, PatinaCorpus.js, PatinaGear.js, PatinaRender.js, PatinaScene.js

Help of plugin :

Part 4 of 5. Resolves its siblings at FIRST USE (wing §8 trap 2).

---------------------------------------------------------------------------
⛔ WHAT THIS PLUGIN DELIBERATELY DOES NOT CLAIM
---------------------------------------------------------------------------
RPG Maker MZ does not track individual item INSTANCES. `$gameParty` stores a
COUNT per database id, so three iron swords are "3 of item 4", not three
objects with three histories. The author of the best-selling MZ durability
plugin says so on his own store page, repeatedly, when asked for per-piece
durability: "rpg maker mz doesn't manage 'individual' objects we have no way
to precisely and exactly control the IDs."

So Patina ages an ITEM TYPE at a CONDITION, and never pretends to remember
one particular sword's personal story. Everything here is a pure function of
(database row, condition value), which is exactly what the engine can supply.

---------------------------------------------------------------------------
WHERE CONDITION COMES FROM — three sources, most specific first
---------------------------------------------------------------------------
  1. `$gameVariables` at (conditionVariableBase + itemId), read as 0-100.
  2. a `⟨durability:current/max⟩` notetag on the database row.
  3. the `defaultCondition` parameter.

Source 1 is what lets an existing durability plugin drive Patina without
either plugin knowing about the other: point it at the same variable block.

Patina draws your weapons and armour as the objects they have become. It reads whatever condition value your project already tracks and turns that number into the picture the player sees.

There are 20 gear forms, from arming sword and falchion through kite shield, great helm, mail coif, signet ring and war belt. There are 11 materials and each one decays in its own way. Iron and steel rust from their rivets. Bronze and copper grow verdigris out of the seams. Silver tarnishes across its flats. Gold doesn't corrode at all, so it abrades on the high points instead. Leather cracks, wood splits, linen frays, bone and horn chip.

Wear changes the shape of the object, not only its colour. A ruined blade physically loses material, about a fifth of its silhouette on our own test plate, its point breaks and its pommel stone goes missing. That is why the six condition states read as six different objects rather than one object at six brightnesses. One axis runs the other way as well: a honed blade is brighter and keener than a pristine one, because use is not only decay.

Nothing here is a shipped PNG. There's no atlas and no sprite sheet. Every object is drawn by code at whatever size you ask for, so 51 authored entities cover any resolution you need.

Patina patches nothing. It adds an Armoury scene and reads your database, and it does not extend, wrap or replace any core engine method, so it sits above whatever durability, crafting or equipment system you already own. Point it at the same variable block your durability plugin uses and neither plugin needs to know about the other. Save data is untouched.

Five plugin files, raw readable JavaScript, no image assets, RPG Maker MZ.

One warning about the help text below. This site deletes anything shaped like a tag, so the durability notetag is written here with U+27E8 and U+27E9 instead of angle brackets. Type ordinary ones in your project.

This plugin was written by AI. The code and the artwork are AI generated and the listing says so.

https://csaf.itch.io/patina

スポンサードリンク

-MZ plugins

Copyright© PGMZ - The Community-Driven Plugin Library for RPG Maker MZ , 2026 All Rights Reserved.