Item Synthesis (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

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

Item synthesis is now a pretty common aspect of most RPG's where the player
can craft their own items after acquiring recipes. This plugin enables your
players to be able to do that after acquiring the said recipes. Recipes can
come in the form of items, weapons, and/or armors and transcribed in them
are what items, weapons, and/or armors they can make. These items can be
made from the main menu and/or synthesis locations!

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.

To allow the player the ability to craft a certain item, that item must be
included in a recipe notetag in an item that the player possesses.

Item, Weapon, and Armor Notetags:
  <Item Recipe: x>
  <Item Recipe: x, x, x>
  <Item Recipe: x to y>
  This will change this item into a recipe for x item(s). As long as this
  item is in possession by the party as a whole, item(s) x can be
  synthesized by the player provided that the player has the proper quantity
  of ingredients.
  * Note: Entries without names will not be included. Entries without both a
  synthesis cost and without an ingredient list will not be included.

  <Weapon Recipe: x>
  <Weapon Recipe: x, x, x>
  <Weapon Recipe: x to y>
  This will change this item into a recipe for x weapon(s). As long as this
  item is in possession by the party as a whole, weapon(s) x can be
  synthesized by the player provided that the player has the proper quantity
  of ingredients.
  * Note: Entries without names will not be included. Entries without both a
  synthesis cost and without an ingredient list will not be included.

  <Armor Recipe: x>
  <Armor Recipe: x, x, x>
  <Armor Recipe: x to y>
  This will change this item into a recipe for x armor(s). As long as this
  item is in possession by the party as a whole, armor(s) x can be
  synthesized by the player provided that the player has the proper quantity
  of ingredients.
  * Note: Entries without names will not be included. Entries without both a
  synthesis cost and without an ingredient list will not be included.

  <Synthesis Ingredients>
    item id
    item id: x
    weapon id
    weapon id: x
    armor id
    armor id: x
    gold: x
    named item
    named item: x
  </Synthesis Ingredients>
  Using the above tag in an item will set those items as the ingredients
  required for the player to synthesize. Replace "id" with the proper item,
  weapon, or armor ID's. If no ":x" is used, the database will register that
  as only needing 1 of that item as an ingredient. If "gold: x" is used,
  that will be the cost required to synthesize the item.

  If you are using named entries, priority will be given to the highest ID
  in the order of items, weapons, then armors.

  * Note: If you are using Item Core, Independent Items cannot become an
  ingredient for a recipe and will therefore be automatically omitted.

  <Mask Name: x>
  If you are masking unknown items' names, you can change the text shown for
  the unknown item with x. This will cause the game to use the mask name
  instead of the usual ??? (if that's what you're using) to mask the item.
  This can give a player a general idea of what they may be synthesizing
  such as "Strange Liquid" or "Weird Crystal".

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.

For those with a JavaScript experience, you can use these notetags to make
a custom effect that will occur when a specific item is synthesized. For
example, when a Potion is made, you can give the player an empty bottle as a
side product of the synthesis.

---

Item, Weapon, and Armor Notetags:

  <Custom Synthesis Effect>
   var bottle = $dataItems[123];
   $gameParty.gainItem(bottle, 2);
  </Custom Synthesis Effect>

  For this notetag, the 'item' variable will refer to the item being
  synthesized. Changing it will do nothing but it will be used as a
  convenience variable to refer to it.

---

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:

The following are Plugin Commands you may use with events.

Plugin Command:
  OpenSynthesis          Opens up the Synthesis Scene from the field.
  ShowSynthesis          Shows the Synthesis command from the main menu.
  HideSynthesis          Hides the Synthesis command from the main menu.
  EnableSynthesis        Enables the Synthesis command from the main menu.
  DisableSynthesis       Disables the Synthesis command from the main menu.

For those who wish to make the player synthesize only specific recipes, you
can use the following command.

  OpenSynthesis Item 15 Recipe
  - or -
  OpenSynthesis Weapon 20 Recipe
  - or -
  OpenSynthesis Armor 30 Recipe

This will make the synthesis menu, when opened up, only allow the recipes of
the Item 15, Weapon 20, or Armor 30 without needing it and not showing the
recipes of any recipe items within the player's inventory.

Changelog

Version 1.11:
- 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.10:
- Added 'Amount Format' plugin parameter. Now you can switch the way the
needed ingredients are shown between Need/Own and Own/Need.

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

Version 1.08:
- Lunatic Mode fail safes added.

Version 1.07:
- Added <Custom Synthesis Effect> Lunatic Mode notetag.

Version 1.06:
- Fixed an error with the calculation of total recipes.

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

Version 1.04:
- Added failsafes to prevent crashes from saved games that did not have this
plugin already installed.

Version 1.03a:
- Fixed a bug that caused a crash for OpenSynthesis recipe commands.
- Fixed an issue with recipe counts not appearing right.

Version 1.02:
- Added 'Equipped Recipes' plugin parameter. If enabled, this will allow the
Item Synthesis menu to check your party's equipment to see if any of them
are recipe holders.

Version 1.01:
- Fixed a bug with the synthesis gold costs taking more than they should.
- Extended the OpenSynthesis plugin command. If you add Item, Weapon, or
Armor after the command along with an ID, the synthesis menu will only show
the items listed on the recipe for Item x, Weapon x, or Armor x.

Version 1.00:
- Finished Plugin!