YEP.11 – Item Core

Yanfly Engine Plugins is a plugin library made for RPG Maker MV, a wonderful piece of software to help you make that role playing game of your dreams. You can find out more about RPG Maker MV here.

You can grab the plugin here:
English Dropbox
English Mirror

Portuguese Dropbox
Portuguese Mirror

Spanish Translation

ItemBook update to allow for compatibility with Independent Items

The Item Core plugin changes a lot of things about your project, from the item menu to independent items. But more importantly, this plugin builds a bridge for those who wish to do more with their items…

Hello, I am aware that Independent Items have a “maximum” amount. This “maximum” amount only serves to limit the player from buying too many items and filling up the inventory with junk. Gaining items through any other method, such as events and battle drops are still allowed.

Now, why is this? Because not every scenario can be envisioned by the developer. In most cases, the developer can be short sighted and may not be aware of the player’s inventory limits at the time. So, to mitigate this, I made it possible for the player to go above the limit but only through events and battle drops.

Why those two? Because of key items. Key items, if given by events and/or battle drops, are a necessity to progress in a game. Should the developer be unaware of the player’s inventory and provide a key item that cannot be inserted into the inventory, the player will be locked out of the game through no fault of their own. So to prioritize the player, this system is enabled.

Therefore, it is functioning as intended as a way to work as a fail safe for the sake of the player incase of any developer shortsight.


Introduction


This plugin makes a couple of main changes to your game and the way items handled to allow a base core for future plugins.

1. Independent Items
If you choose to have maximum limit on your items, weapons, and/or armors, those items will become independent and have their own individual stats and whatnot. Independent items are capable of being upgraded, altered, modified, etc. and retain those changed properties independent of other items of the same type. Items without a maximum limit (aka 0), they will continue working as they normally did in RPG Maker MV.

2. New Scene_Item
The item scene has been revamped to look a little bit different. With the new layout, the item list is no longer two columns, but one. Added are a few more windows, such as the item status window (which displays basic item information), an item information window (which shows information applied to the item via upgrades, etc.), and an item action window, which appears when you select an item and it will ask you if you wish to Use the item or any action added via plugins (such as upgrading the item). If you wish to not use this revamp, you can disable it from the parameters.

3. Random Variance
Newly acquired items that aren’t from shop can be given randomized stats to a small degree for items that are independent. Items can be above the stock value or below the stock value by the variance value. If you wish for an item to not have a variance value, you can use a notetag to set the variance value to 0. If you wish for all of your items to not have a variance value, you can set the parameter to 0.

Note: During battle test, independent items are disabled.


Notetags


If you are using independent items, items that aren’t gained through the shop can have a random variance applied to its stats.

Item, Weapon, Armor Notetag
<Random Variance: x>
If this item is acquired through non-shop means, it will have random stats offset by x amount in either a positive or negative value.

<Not Independent item>
Sets an item that is independent by default to become a nonindependent item, allowing it to stack and making it unable to be affected by independent item modifiers.

<Priority Name>
This sets the item, weapon, or armor’s priority name to its database entry so that name schemes cannot affect the item.


Plugin Commands


If you wish to be able to add items to your player’s inventory without the random variance being applied to it, you can use the following plugin commands to adjust the settings for that.

Plugin Command:
EnableVarianceStock
Causes all items acquired from this point forward to have its variance give stock (nonrandom) values.

DisableVarianceStock
Causes all items acquired from this point forward to have its variance give random values.

A small note is that if you enabled the variance stock values, if the player restarts the game by either going through the title screen or just turning off the program and starting it back up, the random variance will in effect again. This plugin command is meant to exist short term disable.


Eventing Changes


A few changes have been made to eventing in order to adjust for independent items. They are as follows:

Event Page Conditions and Conditional Branches:
Checking to see if an item exists in the party’s inventory will differ if the item can be independent. Instead, the condition can be fulfilled if there is an item, even when upgraded, that has the selected item as the base item. This means your Long Sword (+1) will fulfill the condition of having the target Long Sword item in the event editor.

Actor Has X Equip:
Just like the previous condition, this condition will be fulfilled if the actor has a weapon whose base item matches the event editor’s target item. The Long Sword (+1) will fulfill the condition of needing the actor to have a Long Sword item equipped.

Change Equipment:
If the target equipment is independent, the game will first check to see if the actor has an item equipped with the matching base item. If not, the game will then check to see if the party has a matching base item in the inventory first and use that. If not, then the game will create a new stock version of the item and equip that to the actor.


Item Name System


For independent items, they have a unique name handling system. Independent items consist of four parts:

Prefix Base Name Suffix Boost Count

The prefix, base name, suffix, and boost count are adjusted by plugins. Depending on the effects applied, they can be altered or changed. Using the name system, an item with a prefix of ‘Fiery’, base name of ‘Sword’, suffix being ‘of Might’, and a boost count of 5 will end up looking like:

Fiery Sword of Might (+5)

These item would appear that way only if its various name parts have been altered some way or another. However, there is a fifth name convention, and that is the priority name. If an item has a priority name, it will completely overwrite the current name scheme with just the priority name itself. So even if the item’s name is ‘Fiery Sword of Might (+5)’, if the item’s priority name is ‘Legendary Blade’, then ‘Legendary Blade’ will take priority.


Lunatic Mode – Custom Info Window Display


If you want to display unique and custom stuff into your info window on the side, you can use the following notetags:

Item, Weapon, Armor Notetags:

<Info Text Top>
text
text
</Info Text Top>
Type in extra information you wish to type in for the item info window here, whether it is lore or other information. Text codes can be used. Information here is is displayed towards the top of the info window.

<Info Text Bottom>
text
text
</Info Text Bottom>
Type in extra information you wish to type in for the item info window here, whether it is lore or other information. Text codes can be used. Information here is is displayed towards the bottom of the info window.

<Info Eval>
var variableId = 1;
var value = 500;
$gameVariables.setValue(variableId, value);
</Info Eval>
If you know JavaScript, you can use these notetags to run some code before displaying any new info. This way, if you plan on using text codes that display variable values, you can run a bit of code before displaying them to synch up what’s shown in the item info window.


Happy RPG Making!


Happy RPG Making!


These plugins and Tips & Tricks ideas are made possible thanks to our creative patrons on Patreon! The majority of our Tips & Tricks ideas are placed within the Patreon-exclusive Sample Project for quick and easy access! If you'd like to make a Plugin Suggestion, Yanfly's Patreon-based Suggestion Box a visit here:


If you have any bugs to report, visit the following link:


If you have any questions about Action Sequences, visit the following link:



Thank you!