Item Core (YEP)

From Yanfly.moe Wiki
Jump to navigation Jump to search
Welcome to the wiki! This is where you can find resources from Yanfly.moe, Ækashics.moe,
Visustella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.



System

This is a plugin created for RPG Maker MV.

For help on how to install plugins, click here.

For help on how to update plugins, click here.

Got errors with your RPG Maker MV plugin? Click here.

Download

Extension Plugins

The following plugins are Extension Plugins that require this plugin as its Parent Plugin.

Place the following plugins below this plugin located in the Plugin Manager if you plan on using them.

Yanfly Engine Plugins

This plugin is a part of the Yanfly Engine Plugins library.


Introduction

This plugin makes a couple of main changes to your game and the way items
are 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), 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

NotetagsMV.png

RPG Maker MV's editor is unable to allow for custom traits/properties that a game dev may wish to associate with a database object, event, map, etc. Notetags are used to work around such limitations by allowing the game dev to tag certain traits/properties using specific Notetags declared by the related plugin.

Here is a list of Notetag(s) that you may use.

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.

  <Text Color: x>
  This sets the text color of this item, weapon, or armor to use text color
  x from the window skin.

Plugin Commands

PluginCommandsMV.png

Plugin Commands are event commands that are used to call upon functions added by a plugin that aren't inherently a part of RPG Maker MV.

Here is a list of Plugin Command(s) that you may use:

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 be in
effect again. This plugin command is meant to exist as a 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)

This 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

JavaScript.png

For advanced users who have an understanding of JavaScript, you can use the following features added by the plugin to further enhance what you can do with your game project.

On Independent Item Creation

For those with JavaScript experience, you can use the following Lunatic Mode
to run JavaScript code upon the creation of the item. This only applies to
newly made independent items.

Item, Weapon, Armor

  <On Creation Eval>
   item.price = baseItem.price;
   item.price += Math.floor(Random() * 100);
  </On Creation Eval>
  The 'item' variable refers to the independent item being made. 'baseItem'
  refers to the item's base item. Any alterations made to the 'item' will be
  applied to the independent item.

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:

  <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.

Independent Items and Midgame Note Parsing

The "Midgame Note Parsing" option in the plugin parameters is made for any
plugins that may only parse notetags midgame as opposed to at the loading of
the game. This is an option that you should enable AT YOUR OWN RISK.

Why is it at your own risk? Because enabling this option means independent
items will keep their notedata, thus, increasing the file sizes of your save
files several times bigger, and it can cause lag midgame, too.

Tips & Tricks

The following Tips & Tricks effects use this plugin:

Changelog

Version 1.30:
- Bypass the isDevToolsOpen() error when bad code is inserted into a script
call or custom Lunatic Mode code segment due to updating to MV 1.6.1.

Version 1.29:
- Updated for RPG Maker MV version 1.6.0:
  Removal of the destructive code in Scene_Item.update function.

Version 1.28:
- Updated for RPG Maker MV version 1.5.0.

Version 1.27:
- Compatibility update for future plugins.

Version 1.26:
- Lunatic Mode fail safes added.

Version 1.25:
- Optimization Update

Version 1.24a:
- Fixed a typo within the code. Please update Item Core, Item Disassemble,
Attachable Augments, and More Currencies if you are using those plugins.
- Random variance is now disabled from fresh plugin installation by default.

Version 1.23:
- Fixed an issue custom info text when using different font sizes.

Version 1.22:
- Fixed a removal bug that caused weapon and armor ID's to clash.

Version 1.21:
- Fixed an error with sorting algorithm when items have the same base ID.

Version 1.20:
- Added <On Creation Eval> Lunatic Mode notetag. Read the help file for more
information about it.

Version 1.19:
- Updated for RPG Maker MV version 1.1.0.

Version 1.18a:
- Added 'Midgame Note Parsing' plugin parameter.
- Fixed a visual error with MP recovery displaying a 0 instead of ---.

Version 1.17:
- Added <Text Color: x> notetag for items, weapons, and armors.

Version 1.16:
- Fixed a bug that made mid-game actor initialization not display items
correctly in the item menu.

Version 1.15:
- Fixed a bug with independent items getting values that crash the game.

Version 1.14:
- Fixed an unintended function of the game not granting a piece of equipment
through events.

Version 1.13:
- Fixed a bug that didn't unequip items properly.

Version 1.12:
- Added 'Negative Variance' parameter.

Version 1.11:
- Fixed a bug that caused random variance to not calculate correctly.
- Fixed a bug that didn't return the correct conditional branch results.
- Fixed the display in the shop window to show number of independent items
owned by the player rather than just 0.

Version 1.10:
- Added Lunatic Mode - Custom Info Window Display.

Version 1.09:
- Fixed a bug with evented item removal that didn't remove equipped items if
the 'Include Equipment' checkbox was checked.

Version 1.08:
- Fixed a bug with the Control Variable event that would not gather the
right amount of independent items.

Version 1.07:
- Fixed a bug with the Change Equipment event where armors wouldn't equip.

Version 1.06:
- Fixed a bug and rewrote the initializing equipment process.

Version 1.05:
- Compatibility update with ItemBook.

Version 1.04:
- Added 'List Equipped Items' parameter to allow for equipment restricted
actors to be able to alt their equipment.

Version 1.03:
- Fixed a bug where using events to remove independent items weren't working
properly and instead added more items.
- Fixed a bug where a Random Variance of 0 still gave random stats.

Version 1.02:
- Fixed a bug where initializing equipment slots didn't work properly and/or
added incorrect equips from the wrong actors into the inventory.

Version 1.01:
- Fixed bug where if you are using no independent pieces of equipment,
actors would fail to start with initial equipment.

Version 1.00:
- Finished plugin!