Difficulty Levels Plugin

Difficulty Levels 1.03
Author: Michael Morris @Blue Booth Studios
Engine: RPGMaker MV
Language: JavaScript
Links: RPGMakerWeb Plugin Release Post
MV Plugins Entry

Adds support for multiple battle and puzzle difficulty levels! Note that this plugin focuses on providing a framework for battle and puzzle difficulty levels, and a scene for selecting the difficulty level (Options menu was way too simple). Difficulties can set any number of switches and variables to specific values, perma-death and ironman support is built-in to the plugin. Unlockable difficulty levels are also supported.

With no additional code, battle difficulties will not affect combat. But, when combined with custom states, this can be used to set passive states that activate when a given battle difficulty is active to modify player or monster stats. The extent of these states are up to you.

For puzzles, you will need to manually specify how puzzle difficulty conditions affect your puzzles and hints. This is left for manual use because of the sheer range of possibilities.

GameSwitches and GameVariables can be used to restrict the attacks monsters use for lower difficulty levels. Naturally, as with all other variables and switches the limit of their potential uses is up to you.

  • Adds a new scene that can be called at game start to set difficulty levels for battle and puzzles. Each difficulty type has a separate menu.
  • Command Window difficulty selection with a details window on the right, showing a number of fields for the current selected difficulties. Difficulty name, description, effects, and a custom image are supported.
  • Difficulty for battles and puzzles are saved to $gameVariables, so they will persist across save/load, and so that multiple players can each use their own difficulty without having to change Options every time.
  • Each difficulty can have any number of switches and variables attached to it. For example, this could remove certain enemies, or prevent them using super-powerful skills, remove guards from stealth sequences, etc.
  • Ironman support! For those who aren’t familiar, Ironman mode is a difficulty setting where saving is not allowed. It extends all default saving functionality, and some autosave functionality to disable saving if this setting is active. Ironman mode cannot be disabled on a save once it is enabled.
  • Permadeath support! Once the dying state is first added to a character, it cannot be removed. This could be done with states, but Permadeath support will also prevent death from being removed if an item that removes death is used, if the RecoverAll command is used, or even if the programmer tries to undo the death state by accident. No states or buffs can be added or removed from dead characters. They dead. Permadeath cannot be disabled on a save once it is enabled.
  • JSON file for adding in your own custom difficulty levels for battle and puzzles.
  • Increase your player-base by improving your games accessibility.
  • Difficulty cannot be changed after it is first set. This is to prevent many potential issues (for example, if your difficulties change the players health, heroes can be damaged by going to a higher difficulty level, or, if you heal first, difficulty can be exploited to repeatedly heal characters).
  • Many options for customizing the appearance of the difficulty scene to your liking.
  • Higher difficulties can yield better rewards, have unique monsters, or anything else you can think of.
  • Difficulty settings can be referenced from anywhere in the project with a script command.
  • Compatible with most (if not all) Yanfly plugins.
  • No functions are overridden.
  • Fast. No performance drop was noted during tests.

None yet.

How to Use
  1. Copy script into your game js/plugins directory.
  2. Copy difficulty.json into your game data directory.
  3. Import and configure plugin. The indices for battle and puzzle options must be set!
  4. Import script into your project.
  5. Call script plugin commands within your own events or plugins.

  1. YEP_MessageCore
  2. YEP_AutoPassiveStates

Script: BBS_DifficultyLevels.js
Script: difficulty.json

Credit and Thanks
  • Micheal Morris @Blue Booth Studios
  • UI functions based on Atreyo Ray’s ARP_InGameManual.js
  • Special Thanks to ‘Ramza’ Michael Sweeney for all the support.

Known Bugs
  • None known.

Terms of Use
Contact us

Free for non-commercial usage of script as long as credit is given.

Please contact us for details.

Leave a comment