public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

MV SDJB_ConditionalBranch

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: MV SDJB_ConditionalBranch
  • Original author: ShadowDragon
  • Original date: October 29, 2025
  • Source thread: https://forums.rpgmakerweb.com/threads/sdjb_conditionalbranch.180767/
  • Source forum path: Game Development Engines > RPG Maker Javascript Plugins > JS Plugins In Development

Summary

PluginName: SDJB_ConditionalBranch Author: ShadowDragon Spoiler: How it works Code:

Archived First Post

PluginName: SDJB_ConditionalBranch
Author: ShadowDragon

Code:
Introduction
 ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞
 ConditionalBranch+ by mjshi is completely rewritten from scratch.
 and make conditional checks easier to use, and far easier to extend.

 The parameter "Name Check" defaults to "GameCheck", used as GameCheck.has(...).
 If it conflicts with another global name, rename it for safety.

 The usages is to use "1" type of check as follows:
 
 GameCheck.has(type, ids, options = {})
   → type: "item" | "weapon" | "armor" | "var" | "variable" | "sw" | "switch" | "gold".
   → ids: single ID or array of IDs (for switches, items, variables).
   → options: object with type-specific checks.

 Examples:
 GameCheck.has("item", [1, 2, 3]);                  =>  has all items 1,2,3
 GameCheck.has("item", [1, 2, 3], {any: true});     =>  has any of 1,2,3
 GameCheck.has("var", [5], {equal: 10});            =>  variable 5 == 10
 GameCheck.has("var", [5, 6], {greater: 50});       =>  vars ≥ 50
 GameCheck.has("switch", [7], {state: true});       =>  switch 7 is ON
 GameCheck.has("gold", 0, {min: 1000});             =>  ≥ 1000 gold


 Item, Weapon, Armor
 ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞
 Items has 3 kind of types, "item", "weapon" and "armor".
 default for boolean "any" is true, equipped is false.

 any: boolean             =>  true = passes if any item matches, false = all must match
 more: number             =>  must have ≥ this many of each item
 less: number             =>  must have ≤ this many of each item
 between: [min,max]       =>  must have between min and max of each item
 equipped: boolean        =>  true = must be equipped, false = must NOT be equipped

 Examples:
 GameCheck.has("item", [1,2,3]);                     =>  has all items 1,2,3
 GameCheck.has("weapon", [5], {equipped: true});     =>  weapon 5 equipped
 GameCheck.has("armor", [2,3], {more: 2});           =>  at least 2 of armor 2 & 3
 GameCheck.has("item", [1,2], {between: [1,3]});     =>  between 1 and 3 of items 1 & 2


 Variables
 ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞
 To check variables, you can use "var" or "variable", default booleans are true.
 The following objects are available:
 
 equal: number|string|array     =>  variable must equal this (or any in array)
 not: number|string|array       =>  variable must NOT equal this (or any in array)
 greater: number                =>  variable ≥ this
 less: number                   =>  variable ≤ this
 between: [min, max]            =>  variable between min and max inclusive
 range: [startId, endId]        =>  dynamically check variables from startId ~ endId inclusive
 any: boolean                   =>  true = passes if any variable matches, false = all must match

 Examples:
 GameCheck.has("var", [5,6], {equal: [10,12]});            =>  variable 5 or 6 = 10 or 12
 GameCheck.has("var", [6], {equal: ["opt","dir"]});        =>  variable 6 = "opt" or "dir"
 GameCheck.has("var", [5,6], {greater: 50, any: false});   =>  both variables ≥ 50
 GameCheck.has("var", [], {range: [3,6], equal: 5});       =>  variables 3,4,5,6 equal 5
 GameCheck.has("var", [5], {between: [4,10]});             =>  variable 5 between 4 and 10


 Switches
 ͞ ͞ ͞ ͞ ͞ ͞ ͞ ͞
 Switch checks are used by "sw" or "switch".
 Default booleans are true.

 state: boolean              =>  true = ON, false = OFF
 any: boolean                =>  true = passes if any switch matches, false = all must match
 range: [startId,endId]      =>  check range of switches from startId ~ endId inclusive

 Examples:
 GameCheck.has("switch", [4,5], {state: true});                        => switches 4 & 5 ON
 GameCheck.has("switch", [], {range: [3,6], state: false, any: true}); => any of switches 3~6 OFF


 Gold
 ͞ ͞ ͞ ͞
 min: number               =>  must have ≥ this amount
 max: number               =>  must have ≤ this amount
 between: [min,max]        =>  must have gold ≥ min AND ≤ max

 Examples:
 GameCheck.has("gold", 500);                       =>  ≥ 500 gold
 GameCheck.has("gold", 0, {min: 100});             =>  ≥ 100 gold
 GameCheck.has("gold", 0, {max: 100});             =>  ≤ 100 gold
 GameCheck.has("gold", 0, {between: [300,600]});   =>  gold between 300 & 600

=== TERMS OF USE ===
Free for Non-Commercial and Commercial use when credit is given.
credit one of the following:
ShadowDragon
ShadowDragonJB


=== WARNING ===
YOU ARE NOT ALLOWED TO:
* MODIFY without permission
* EXTEND without permission
* TAKE CODE without permission
* CLAIM AS YOU MADE IT
* REDISTRIBUTE but link back to the forum or itch.io
* SELL this product as standalone.
* DO NOT REMOVE THE HEADER.

Download on itch.io (as it require my SDJB_Base (main or mini))

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

=== TERMS OF USE === Free for Non-Commercial and Commercial use when credit is given. credit one of the following: ShadowDragon

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.

#rpg-maker-archive#js-development

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar