Item Disassemble (YEP)

From Yanfly.moe Wiki
Jump to navigation Jump to search


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

Required Plugins

The following plugins are required in order to use this plugin.

Place the following plugins above this plugin located in the Plugin Manager.

Yanfly Engine Plugins

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

Click here if you want to help support Team Yanfly on Patreon.

Introduction

This plugin requires YEP_ItemCore.
Make sure this plugin is located under YEP_ItemCore in the plugin list.

Sometimes, there are items that are simply not useful to the player anymore.
In that case, why not give players the option to break down the item into
something a little bit more useful? Using this plugin, players can break
down and disassemble items, weapons, and armors into something else. Using
different types of disassemblers, the player can get different types of
items back, too.

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.

Making items be disassemble-able can be done with these notetags:

Item, Weapon, and Armor Notetags:

  <Disassemble Pool>
   item
   item
  </Disassemble Pool>
  This is the pool of items that will be given when using any disassemblers.
  Replace the 'item' in the notetag setup with one of the syntax in the
  notetag Item Pool Format list below.

  <Disassemble Pool: type>
   item
   item
  </Disassemble Pool: type>
  This is the pool of items made specifically for the disassembler type.
  The items listed in this pool will only drop if the disassembler's type
  matches this pool's type. Replace the 'item' in the notetag setup with
  one of the syntax in the notetag Item Pool Format list below.

  --- Item Pool Format ---

  item x
  weapon x
  armor x
  name
  - This adds item, weapon, or armor ID x to the disassemble pool. If you
  plan on using the item's name and multiple objects in the database have
  the same name, priority will be given to items, weapons, then armors in
  that order. Then, priority is then given to the entry with the highest ID.

  item x: y%
  weapon x: y%
  armor x: y%
  name: y%
  - If you wish for a chance of getting an item when disassembling instead
  of a 100% chance of getting it, you can use this format. For the item,
  there will be a y% chance of getting the item when disassembling.

  x2 item y
  x3 weapon y
  x4 armor y
  x5 name
  - When disassembling, items can yield quantities. You can set the amount
  of an item given when disassembling using this setup.

  x2-3 item y
  x3-5 weapon y
  x5-8 armor y
  x8-10 name
  - If you wish for there to be random quantity amounts, you can use this
  disassembling format to set the amount of quantity given of an item from
  a minimum amount to a maximum amount.

  x2 item y: z%
  x3 weapon y: z%
  x4 armor y: z%
  x5 name: z%
  - To make an item yield a larger quantity than 1 with a random success
  rate of doing it, use the above format for the item line.

  x2-3 item y: z%
  x3-5 weapon y: z%
  x5-8 armor y: z%
  x8-10 name: z%
  - To give a random amount of item quantities while having a random success
  rate of acquiring them item during a disassembling process, use the above
  item line format.

  ---

  *NOTE: When turning an item into a Disassembler, it will become a
  non-Independent item.

  <Disassembler>
  - This item can be used to disassemble all types of items. This will fall
  under the 'All' category.

  <Disassembler: +x%>
  <Disassembler: -x%>
  - This item can be used to disassemble all types of items with a +/- x%
  success rate than normal. This will fall under the 'All' category.

  <Disassembler: type>
  - This item can be used to disassemble item categories for 'All' and
  'type' where 'type' is the disassemble pool type. Insert multiples of this
  notetag if you want this item to be able to disassemble more pool types.

  <Disassembler: type +x%>
  <Disassembler: type -x%>
  - This item can be used to disassemble item categories for 'All' and
  'type' where 'type' is the disassemble pool type. This has a success rate
  change of +/-% than normal. Insert multiples of this notetag if you want
  this item to be able to disassemble more pool types.

  <Disassemble Sound Name: filename>
  <Disassemble Sound Volume: x>
  <Disassemble Sound Pitch: x>
  <Disassemble Sound Pan: +x> or <Disassemble Sound Pan: -x>
  - When this item is disassembled, it will play this sound effect. The
  filename is case sensitive. Do not include the filename extension.

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.

Custom Disassembled Effect

For those with JavaScript experience, you can have custom effects occur when
an item is disassembled using the following notetag:

Item, Weapon, and Armor Notetags:

  <Custom Disassembled Effect>
   if (targetItem.name === 'Great Sword') {
     results.push($dataItems[1]);
   } else if (effectItem.name === 'Salvage Kit') {
     results.push($dataItems[2]);
   }
  </Custom Disassembled Effect>
  - The 'results' variable is an array that contains all of the items that
  have been collected. The variable 'targetItem' refers to the item being
  disassembled and 'effectItem' refers to the item disassembling the target
  item. This will occur before any custom disassembler effects.
  *NOTE: This requires that item to have items to gain when disassembling to
  begin with or else the item cannot be disassembled.

Custom Disassembler Effect

For those with JavaScript experience, you can have custom effects occur when
an item is used to disassemble using the following notetag:

Item, Weapon, and Armor Notetags:

  <Custom Disassembler Effect>
   if (targetItem.name === 'Great Sword') {
     results.push($dataItems[1]);
   } else if (effectItem.name === 'Salvage Kit') {
     results.push($dataItems[2]);
   }
  </Custom Disassembler Effect>
  - The 'results' variable is an array that contains all of the items that
  have been collected. The variable 'targetItem' refers to the item being
  disassembled and 'effectItem' refers to the item disassembling the target
  item. This will occur after any custom disassembled effects.
  *NOTE: This item is required to have a disassembler type.

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:

You can use the following plugin commands to alter Item Disassemble related
aspects of your game:

Plugin Command:

  ShowItemDisassemble
  - Shows the Disassemble command in the item menu if the item permits
  disassembling.

  HideItemDisassemble
  - Hides the Disassemble command in the item menu regardless.

Changelog

Version 1.06:
- 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.05:
- Updated for RPG Maker MV version 1.5.0.

Version 1.04:
- Lunatic Mode fail safes added.

Version 1.03:
- Fixed a bug that caused NaN values to appear for the displayed rates.

Version 1.02:
- Fixed a typo within the code. Please update Item Core, Item Disassemble,
Attachable Augments, and More Currencies if you are using those plugins.

Version 1.01:
- Fixed a bug that didn't update the info window properly.

Version 1.00:
- Finished Plugin!