RPG Maker Forums

[simple Stupid Gaming] Difficulty Setting
version 1.0.3
by Heartbreak61​

INTRODUCTION
This plugin allows you to set difficulties that affects enemies stats, exp, gold, and shop price. You can choose wether to display difficulty setting on Game Option screen or not (default: on). In case you don't want to, you can switch difficulty levels using Event Plugin Command.

Before using this plugin, please make sure that you have file Difficulties.json placed inside "data" folder of your current project. Edit your Difficulties.json to your liking. You may add or remove difficulty levels as long as you follow the pattern.


FEATURES
- Multiple difficulty level to your liking
- Turn switches to on when changing difficulty level
- Set difficulty on Option Screen​

SCREENSHOT
N/A​

HOW TO USE
Put Difficulties.json inside your data folder, and put SSG_DifficultySetting.js inside your js/plugin folder. Open Diffifficulties.json using any text editor and you will find something like this
[ // <- don't touch this { "name": "Very Easy", "mhp": 60, "mmp": 60, "atk": 50, "def": 50, "mat": 50, "mdf": 50, "agi": 50, "luk": 50, "exp": 50, "gold":50, "buy": 200, "sell": 200, "switches":[1,6] },......] // <- don't touch this
Here's the explanation

~~ name ~~
Set your difficulty level name that will be displayed on the Option Screen. Values must be a string (wrapped by quotes or double quotes sign).
The tables is an Array. It means that the first element's ID is 0. You should make your difficulty level sorted from easiest to hardest. As it will make sense for the player when they set difficulty on the option screen

~~ mhp, mmp, atk, def, atk, mat, mdf, agi, luk ~~
Set enemy's stats. Values represent percentage (100 is 100%)

~~ exp, gold ~~
Set enemy's exp and gold. Values represent percentage

~~ buy, sell ~~
Affect price when buying or selling items on the shop. Values represent percentage

~~ switches ~~
Will specified set of switches to ON when a difficulty level applied. Switches should be declared in array (i.e. [1,2,3]). If you don't want to use this feature, just set it to [0]. Switches from other difficulty level will be turned OFF but you can have same switches declared on different difficulty level (See how I set switch 6 on difficulty 0 and 2 on the
example table below). Please note that switches CAN'T be turned off using normal way.

Author's Note About Switches:
In case you don't know, you can use switches for enemy skill condition. So you can set an enemy to cast different skills on different difficulty level.



Specific Enemy Setting
To override the table for certain enemies, you can write this line on enemy notebox
Code:
<param difficulty: difficultyLevel, param, value>
example: <param difficulty: 4, def, 250>

It will set enemy's DEF on difficulty 4 to 250%. Or you can write these lines for multiple assignment
Code:
<enemy difficulty>difficultyLevel, param, valuedifficultyLevel, param, value...</enemy difficulty>
example:
Code:
<enemy difficulty>0, mhp, 70 3, atk, 1503, def, 1254, atk, 2004, mhp, 400</enemy difficulty>
valid arguments for enemy stats is:
Code:
mhp, mmp, atk, def, mat, mdf, agi, luk, exp, gold
Note: default maximum stats for enemy will still be applied. For example, enemy's ATK limit is 999.


Plugin Command
In case you don't want to use Option Screen or you want to set difficulties via events, you can use plugin command.


Code:
setDifficulty Number
example: setDifficulty 4


Plugin Parameters
Code:
Show Difficulty OptionDescription = Show Difficulty on Option WindowDefault = true
Code:
Default DifficultyDescription = Your default starting difficulty level. This value will be replaced by game option save data.Default = 0
DEMO
N/A

OLDER DEMOS:
N/A

SCRIPT
SSG_DifficultySetting.js
Difficulties.json


for those who have issues "can't read property length of null", please try this
Hotfix
Let me know if this work because I can't reproduce your error to see wether this fix work or not.



Thanks to estriole that inspired me to upload a test project to dropbox + my slow internet connection,
finally I can test error about "can't read property 'length' of null". This shouldn't be a problem right now.

FAQ
Nothing yet

TERM OF USE
Free to use on both commercial or non-commercial project as long as you give credits to me. ;)

CHANGELOG
2015.11.16 ver 0.9.9
- Finished beta version

2015.11.26 ver 1.0.0
- Added : display on Option Screen
- Added : option to turn switches on
- Changed : change from using Game_System to SSG_Heartbreak static class

2015.11.27 ver 1.0.1
- Fixed : Attempt to fix error about not being able to read property of 'length' from null object

2015.11.28 ver 1.0.2
- Fixed : Improved fix method from ver 1.0.1. Now it should work properly.
- Fixed : Bug that caused user to be able to set switches from another difficulty level to ON
- Added : Better documentation

2015.12.10 ver 1.0.3
- Fixed : Syntax error that caused logical flaw

Latest Threads

Latest Posts

Latest Profile Posts

He mad, but he cute :kaopride:

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!

Forum statistics

Threads
106,035
Messages
1,018,459
Members
137,821
Latest member
Capterson
Top