Difficulty Levels v1.04
Author: Michael Morris
@Blue Booth Studios
Introduction
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.
State Example
Set all base parameters to 110% for easy mode.
In the notes section, add:
Code:
- <Custom Passive Condition>
- if(ConfigManager.battleDifficulty() == "easy") {
- condition = true
- } else {
- condition = false
- }
- </Custom Passive Condition>
复制代码
These difficulty states require YEP_AutoPassiveStates.
It must be placed above BBS_DifficultyLevels.
Features
- 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.
- Adds menu option for whether to show tutorials or not. Courtesy feature for veteran players! Higher difficulties might also show less tutorials.
- Fast. No performance drop was noted during tests.
How to Use
- Copy script into your game js/plugins directory.
- Copy difficulty.json into your game data directory.
- Import and configure plugin. The indices for battle and puzzle options must be set!
Requirements
-YEP_MessageCore (for word-wrap)
-YEP_AutoPassiveStates (for difficulty states)
Screenshots
Coming soon!
Demo
Script
*Too large to post directly*
Change Log
1.04
- Fixed bug where deceased check prevented dying state from being complied.
- Fixed game switches and variables not setting. Use format: INDEX, VALUE; INDEX, VALUE; ...
- Option label and death state variables were used inconsistently; now fixed.
1.03a
- Fixed bug that occurs when no gameSwitches/Variables are set for a difficulty level.
1.03
- Difficulty system overhauled to allow for custom selection menu instead
going through options. It doesn't look good using choice command.
- Tons more customizibility now available.
- Solved problem of displaying difficulty selection at start of game.
- Added picture options.
- Difficulties can now set switches and variables directly.
- Added ironman and permadeath support.
- hidden / unlockable difficulties are now supported.
- Removed pos options.
1.02
- Options area overhauled to support custom difficulty levels and names.
1.01
- Plugin finished.
Known Bugs / TODO
Suggestions, bug reports, and feature requests are welcomed!
Compatibility Issues
None known.
Credit and Thanks
- Micheal Morris
@Blue Booth Studios
- Yanfly for YEP_MessageCore, YEP_AutoPassiveStates and his invaluable contributions to the community
- Atreyo Ray for InGameManual. The UI is based off his script.
Author's Notes
Free for non-commercial as long as credit is given.
Please contact me regarding commercial usage.
JSON file:
difficulty.json
本贴来自国际rpgmaker官方论坛作者:bluebooth处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/game-difficulty-plugin.78458/