public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

MV[SSG] Difficulty Setting

BMM Archive · July 15, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: [SSG] Difficulty Setting
  • Original author: Heartbreak61
  • Original date: November 26, 2015
  • Source thread: https://forums.rpgmakerweb.com/threads/ssg-difficulty-setting.51575/
  • Source forum path: Game Development Engines > RPG Maker Javascript Plugins > JS Plugin Releases (RMMV)

Summary

[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.

Archived First Post

[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
Protected download

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

Features Mentioned

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

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download

License / Terms Note

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

Creator Claims / Removal

If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.

#039#rmmv#plugin-archive

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar