OMORI_Android/www.eng/js/plugins/YEP_Z_PassiveCases.js
2024-01-15 18:44:53 +03:00

732 lines
No EOL
27 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//=============================================================================
// Yanfly Engine Plugins - Lunatic Pack - Passive Condition Cases
// YEP_Z_PassiveCases.js
//=============================================================================
var Imported = Imported || {};
Imported.YEP_Z_PassiveCases = true;
var Yanfly = Yanfly || {};
Yanfly.LunPasCas = Yanfly.LunPasCas || {};
Yanfly.LunPasCas.version = 1.01;
//=============================================================================
/*:
* @plugindesc v1.01 (Lunatic Pack) Create conditional cases for your passive
* states through an easy and elaborate method!
* @author Yanfly Engine Plugins
*
* @help
* ============================================================================
* Introduction
* ============================================================================
*
* This plugin requires the following plugins:
* - Auto Passive States
*
* Passive States can be a powerful addition to a game, but if they are always
* active throughout a battle, they can be a little too powerful. Sometimes,
* you will want to limit the extent at which your passive states will be
* active by imposing conditional cases upon them. If all of the passive's
* conditional cases have been met, then the passive will become active. This
* plugin adds a multitude of conditional cases for you to be able to use in
* your game and limit certain passive states from having their effects active
* at all times.
*
* *NOTE*: This plugin is best used with RPG Maker MV version 1.5.0+. You can
* still use this plugin with a lower version number, but you will have a much
* harder time altering the plugin parameters without it.
*
* ============================================================================
* Notetags
* ============================================================================
*
* Insert the following notetags into a state's notebox to give it a passive
* condition case.
*
* State Notetags:
*
* <Passive Condition Cases>
* condition
* condition
* </Passive Condition Cases>
* - Use the above format for adding conditions to your passive states.
* Replace the 'condition' text in between the <Passive Condition Cases>
* and </Passive Condition Cases> notetags with any of the following
* conditions below to prompt a condition type. You can insert multiple
* conditions to make a passive state require more conditions to be met
* before they can be active.
*
* =-=-=-= Conditions List =-=-=-=
*
* --- Switch On/Off ---
*
* Switch x On
* Switch x Off
* - Replace 'x' with a number value. This will make a conditional check if
* an event switch x is on or off. If the conditional check is met, then the
* conditional passive will become active if other conditions are met.
* SUGGESTED BY: Yanfly
*
* --- Numerical Comparison Check ---
*
* x >= y
* x <= y
* x > y
* x < y
* x != y
* x = y
* - This will require the condition to make a simple comparison check
* between x and y. These number comparisons will be '>=', '<=', '>', '<',
* '!=', and '=' (aka greater than or equal to, less than or equal to,
* greater than, less than, not equal to, and equal to respectively). Replace
* 'x' and 'y' with a number, a percentage, 'HP', 'MP', 'TP', 'HP%', 'MP%',
* 'TP%', 'MAXHP', 'MAXMP', 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', 'LUK', or
* 'VARIABLE X' for comparison purposes.
*
* If a percentage is being checked, it will be checked as if the % has
* been dropped off. For example, '50%' will be '50'.
*
* SUGGESTED BY: Yanfly
*
* --- Has/Not State ---
*
* Has State x
* - Replace 'x' with the ID of the state you wish to check. If the user is
* affected by that state, then this conditional passive will become active
* as long as all other conditions are met.
* SUGGESTED BY: Goldschuss
*
* Not State x
* - Replace 'x' with the ID of the state you wish to check. If the user is
* not affected by that state, then this conditional passive will become
* active as long as all other conditions are met.
* SUGGESTED BY: Goldschuss
*
* --- Has/Not Buff/Debuff---
*
* Has x Buff
* - Replace 'x' with 'MAXHP', 'MAXMP', 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', or
* 'LUK'. This will make a check to see if the user is currently buffed in
* that parameter. If the user is, the the conditional passive will become
* active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* Has x Debuff
* - Replace 'x' with 'MAXHP', 'MAXMP', 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', or
* 'LUK'. This will make a check to see if the user is currently debuffed in
* that parameter. If the user is, the the conditional passive will become
* active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* Not x Buff
* - Replace 'x' with 'MAXHP', 'MAXMP', 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', or
* 'LUK'. This will make a check to see if the user is currently not buffed
* in that parameter. If the user is, the the conditional passive will become
* active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* Not x Debuff
* - Replace 'x' with 'MAXHP', 'MAXMP', 'ATK', 'DEF', 'MAT', 'MDF', 'AGI', or
* 'LUK'. This will make a check to see if the user is currently not debuffed
* in that parameter. If the user is, the conditional passive will become
* active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* --- Total Buffs/Debuffs ---
*
* Total Buffs >= x
* Total Buffs <= x
* Total Buffs > x
* Total Buffs < x
* Total Buffs != x
* Total Buffs = x
* - Replace 'x' with a number value you wish to check relative to the number
* of buffs the user is currently affected by. If the turn check passes, the
* conditional passive will become active if other conditions are met.
* SUGGESTED BY: Alejandro SQ
*
* Total Debuffs >= x
* Total Debuffs <= x
* Total Debuffs > x
* Total Debuffs < x
* Total Debuffs != x
* Total Debuffs = x
* - Replace 'x' with a number value you wish to check relative to the number
* of debuffs the user is currently affected by. If the turn check passes,
* the conditional passive will become active if other conditions are met.
* SUGGESTED BY: Alejandro SQ
*
* --- Alive/Dead ---
*
* Alive Actors/Enemies/Allies/Foes >= x
* Alive Actors/Enemies/Allies/Foes <= x
* Alive Actors/Enemies/Allies/Foes > x
* Alive Actors/Enemies/Allies/Foes < x
* Alive Actors/Enemies/Allies/Foes != x
* Alive Actors/Enemies/Allies/Foes = x
* - Replace 'x' with a number value you wish to check relative to the number
* of alive actors in the party, enemies in the troop, user's allies, or the
* user's foes. Use only one of the four above keywords ('actors', 'enemies',
* 'allies', or 'foes'). If the member count check passes, the conditional
* passive will become active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* Dead Actors/Enemies/Allies/Foes >= x
* Dead Actors/Enemies/Allies/Foes <= x
* Dead Actors/Enemies/Allies/Foes > x
* Dead Actors/Enemies/Allies/Foes < x
* Dead Actors/Enemies/Allies/Foes != x
* Dead Actors/Enemies/Allies/Foes = x
* - Replace 'x' with a number value you wish to check relative to the number
* of dead actors in the party, enemies in the troop, user's allies, or the
* user's foes. Use only one of the four above keywords ('actors', 'enemies',
* 'allies', or 'foes'). If the member count check passes, the conditional
* passive will become active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* --- Turn Count ---
*
* Battle Turns >= x
* Battle Turns <= x
* Battle Turns > x
* Battle Turns < x
* Battle Turns != x
* Battle Turns = x
* - Replace 'x' with a number value you wish to check relative to the number
* of turns that passed in battle. If the turn check passes, the conditional
* passive will become active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* --- Has Weapon/Armor ---
*
* Has Weapon x
* - The user must be an actor or else this condition returns false. Replace
* 'x' with the weapon ID you wish to check if the user has. If the user has
* it equipped, the condition will pass and will become active as long as
* all other conditions are met.
* SUGGESTED BY: Yanfly
*
* Not Weapon x
* - The user must be an actor or else this condition returns false. Replace
* 'x' with the weapon ID you wish to check if the user should not have. If
* the user doesn't have it equipped, the condition will pass and will become
* active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* Has Armor x
* - The user must be an actor or else this condition returns false. Replace
* 'x' with the armor ID you wish to check if the user has. If the user has
* it equipped, the condition will pass and will become active as long as
* all other conditions are met.
* SUGGESTED BY: Yanfly
*
* Not Armor x
* - The user must be an actor or else this condition returns false. Replace
* 'x' with the armor ID you wish to check if the user should not have. If
* the user doesn't have it equipped, the condition will pass and will become
* active as long as all other conditions are met.
* SUGGESTED BY: Yanfly
*
* ============================================================================
* Lunatic Mode - Effect Code
* ============================================================================
*
* For experienced users that know JavaScript and have RPG Maker MV 1.5.0+, you
* can add new notetag effects that can be used by the plugin or alter the
* effects of currently existing notetag effects from the plugin parameters
* entry: Effect Code. It should look something like this:
*
* ---
*
* // -------------
* // Switch On/Off
* // -------------
* if (data.match(/SWITCH[ ](\d+)[ ]ON/i)) {
* var switchId = parseInt(RegExp.$1);
* condition = $gameSwitches.value(switchId);
*
* } else if (data.match(/SWITCH[ ](\d+)[ ]OFF/i)) {
* var switchId = parseInt(RegExp.$1);
* condition = !$gameSwitches.value(switchId);
*
* ...
*
* // -------------------------------
* // Add new effects above this line
* // -------------------------------
* } else {
* skip = true;
* }
*
* ---
*
* Here's what each of the variables used in this code bit refer to:
*
* -------------------- ---------------------------------------------------
* Variable: Refers to:
* -------------------- ---------------------------------------------------
* condition Current condition setting. If it returns true, then
* the current condition case passes. Otherwise, no.
* The passive state needs all its condition cases to
* to become an active passive state.
*
* a Returns the action user
* user Returns the action user
* subject Returns the action user
*
* s[x] Return switch x (true/false)
* v[x] Return variable x's current value
*
* skip Default: false. If true, returns the previous rate
*
* ---
*
* If you need to revert the Effect Code back to its original state, delete the
* plugin from your plugin manager list and then add it again. The code will be
* back to default.
*
* ============================================================================
* Changelog
* ============================================================================
*
* Version 1.01:
* - Bypass the isDevToolsOpen() error when bad code is inserted into a script
* call or custom Lunatic Mode code segment due to updating to MV 1.6.1.
*
* Version 1.00:
* - Finished Plugin!
*
* ============================================================================
* End of Helpfile
* ============================================================================
*
* @param Effect Code
* @type note
* @desc This is the code used for each of the notetag effects.
* @default "// -------------\n// Switch On/Off\n// -------------\nif (data.match(/SWITCH[ ](\\d+)[ ]ON/i)) {\n var switchId = parseInt(RegExp.$1);\n condition = $gameSwitches.value(switchId);\n\n} else if (data.match(/SWITCH[ ](\\d+)[ ]OFF/i)) {\n var switchId = parseInt(RegExp.$1);\n condition = !$gameSwitches.value(switchId);\n\n// -------------\n// Has/Not State\n// -------------\n} else if (data.match(/HAS[ ]STATE[ ](\\d+)/i)) {\n var stateId = parseInt(RegExp.$1);\n condition = user.isStateAffected(stateId);\n\n} else if (data.match(/NOT[ ]STATE[ ](\\d+)/i)) {\n var stateId = parseInt(RegExp.$1);\n condition = !user.isStateAffected(stateId);\n\n// -------------------\n// Has/Not Buff/Debuff\n// -------------------\n} else if (data.match(/HAS[ ](.*)[ ]BUFF/i)) {\n var str = String(RegExp.$1);\n var paramId = DataManager.getParamId(str);\n condition = user.isBuffAffected(paramId);\n\n} else if (data.match(/HAS[ ](.*)[ ]DEBUFF/i)) {\n var str = String(RegExp.$1);\n var paramId = DataManager.getParamId(str);\n condition = user.isDebuffAffected(paramId);\n\n// --------------------\n// Has/Not Weapon/Armor\n// --------------------\n} else if (data.match(/HAS[ ]WEAPON[ ](\\d+)/i)) {\n if (user.isActor()) {\n var id = parseInt(RegExp.$1);\n var item = $dataWeapons[id];\n condition = user.hasWeapon(item);\n } else {\n condition = false;\n }\n\n} else if (data.match(/NOT[ ]WEAPON[ ](\\d+)/i)) {\n if (user.isActor()) {\n var id = parseInt(RegExp.$1);\n var item = $dataWeapons[id];\n condition = !user.hasWeapon(item);\n } else {\n condition = false;\n }\n\n} else if (data.match(/HAS[ ]ARMOR[ ](\\d+)/i)) {\n if (user.isActor()) {\n var id = parseInt(RegExp.$1);\n var item = $dataArmors[id];\n condition = user.hasArmor(item);\n } else {\n condition = false;\n }\n\n} else if (data.match(/NOT[ ]ARMOR[ ](\\d+)/i)) {\n if (user.isActor()) {\n var id = parseInt(RegExp.$1);\n var item = $dataArmors[id];\n condition = !user.hasArmor(item);\n } else {\n condition = false;\n }\n\n// ----------------------\n// Param Above/Below Stat\n// ----------------------\n} else if (data.match(/(.*)[ ](?:>|<|>=|<=|=|!=)[ ](.*)/i)) {\n var check1 = String(RegExp.$1);\n var check2 = String(RegExp.$2);\n var value1 = DataManager.numberParameterCheck(check1, user);\n var value2 = DataManager.numberParameterCheck(check2, user);\n if (value1 !== null && value2 !== null) {\n if (data.match(/>=/i)) {\n condition = value1 >= value2;\n } else if (data.match(/</i)) {\n condition = value1 <= value2;\n } else if (data.match(/>/i)) {\n condition = value1 > value2;\n } else if (data.match(/</i)) {\n condition = value1 < value2;\n } else if (data.match(/!=/i)) {\n condition = value1 !== value2;\n } else if (data.match(/=/i)) {\n condition = value1 === value2;\n } else {\n skip = true;\n }\n } else {\n condition = false;\n }\n\n// -------------------------------\n// Add new effects above this line\n// -------------------------------\n} else {\n skip = true;\n}"
*
*/
//=============================================================================
Yanfly.PluginRequirements = function () {
return Imported.YEP_AutoPassiveStates;
};
if (Yanfly.PluginRequirements()) {
//=============================================================================
// Parameter Variables
//=============================================================================
Yanfly.Parameters = PluginManager.parameters('YEP_Z_PassiveCases');
Yanfly.Param = Yanfly.Param || {};
Yanfly.Param.LunPasCasEffect = JSON.parse(Yanfly.Parameters['Effect Code']);
//=============================================================================
// DataManager
//=============================================================================
Yanfly.LunPasCas.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
DataManager.isDatabaseLoaded = function () {
if (!Yanfly.LunPasCas.DataManager_isDatabaseLoaded.call(this)) return false;
if (!Yanfly._loaded_YEP_Z_PassiveCases) {
this.processLunPasCasNotetags1($dataStates);
Yanfly._loaded_YEP_Z_PassiveCases = true;
}
return true;
};
DataManager.processLunPasCasNotetags1 = function (group) {
var note1 = /<(?:PASSIVE CONDITION CASE|PASSIVE CONDITION CASES)>/i;
var note2 = /<\/(?:PASSIVE CONDITION CASE|PASSIVE CONDITION CASES)>/i;
for (var n = 1; n < group.length; n++) {
var obj = group[n];
var notedata = obj.note.split(/[\r\n]+/);
obj.passiveCondition = obj.passiveCondition || '';
obj.passiveConditionCases = [];
var evalMode = 'none';
for (var i = 0; i < notedata.length; i++) {
var line = notedata[i];
if (line.match(note1)) {
evalMode = 'passive condition case';
} else if (line.match(note2)) {
evalMode = 'none';
obj.passiveCondition = obj.passiveCondition || '\n\n';
} else if (evalMode === 'passive condition case') {
obj.passiveConditionCases.push(line);
}
}
}
};
DataManager.getParamId = function (str) {
switch (str.toUpperCase()) {
case 'HP':
case 'MAXHP':
case 'MAX HP':
return 0;
break;
case 'MP':
case 'MAXMP':
case 'MAX MP':
case 'SP':
case 'MAXSP':
case 'MAX SP':
return 1;
break;
case 'ATK':
case 'STR':
return 2;
break;
case 'DEF':
return 3;
break;
case 'MAT':
case 'INT':
case 'SPI':
return 4;
break;
case 'MDF':
case 'RES':
return 5;
break;
case 'AGI':
case 'SPD':
return 6;
break;
case 'LUK':
return 7;
break;
default:
return -1;
break;
}
};
DataManager.numberParameterCheck = function (check, user) {
// --------
// HP/MP/TP
// --------
if (check.toUpperCase() === 'HP') {
return user.hp;
} else if (check.toUpperCase() === 'MP') {
return user.mp;
} else if (check.toUpperCase() === 'TP') {
return user.tp;
// -----------
// HP%/MP%/TP%
// -----------
} else if (check.toUpperCase() === 'HP%') {
return user.hpRate() * 100;
} else if (check.toUpperCase() === 'MP%') {
return user.mpRate() * 100;
} else if (check.toUpperCase() === 'TP%') {
return user.tpRate() * 100;
// ------------
// Battle Turns
// ------------
} else if (check.toUpperCase().match(/BATTLE TURN/i)) {
return $gameTroop.turnCount();
// -------------------
// Total Buffs/Debuffs
// -------------------
} else if (check.toUpperCase().match(/TOTAL BUFF/i)) {
return user.totalBuffs();
} else if (check.toUpperCase().match(/TOTAL DEBUFF/i)) {
return user.totalDebuffs();
// --------------------------------
// Alive Actors/Enemies/Allies/Foes
// --------------------------------
} else if (check.toUpperCase().match(/ALIVE ACTORS/i)) {
return $gameParty.aliveMembers();
} else if (check.toUpperCase().match(/ALIVE ENEMIES/i)) {
return $gameTroop.aliveMembers();
} else if (check.toUpperCase().match(/ALIVE ALLIES/i)) {
var unit = user.friendsUnit();
return unit.aliveMembers();
} else if (check.toUpperCase().match(/ALIVE FOES/i)) {
var unit = user.opponentsUnit();
return unit.aliveMembers();
// -------------------------------
// Dead Actors/Enemies/Allies/Foes
// -------------------------------
} else if (check.toUpperCase().match(/DEAD ACTORS/i)) {
return $gameParty.deadMembers();
} else if (check.toUpperCase().match(/DEAD ENEMIES/i)) {
return $gameTroop.deadMembers();
} else if (check.toUpperCase().match(/DEAD ALLIES/i)) {
var unit = user.friendsUnit();
return unit.deadMembers();
} else if (check.toUpperCase().match(/DEAD FOES/i)) {
var unit = user.opponentsUnit();
return unit.deadMembers();
// --------
// Variable
// --------
} else if (check.match(/(?:VAR|VARIABLE)[ ](\d+)/i)) {
return $gameVariables.value(parseInt(RegExp.$1));
// -----------------
// Percentage/Number
// -----------------
} else if (check.match(/(\d+)([%])/i)) {
return parseFloat(RegExp.$1);
} else if (check.match(/(\d+)/i)) {
return parseInt(RegExp.$1);
// ---------------
// Everything Else
// ---------------
} else {
var paramId = DataManager.getParamId(check);
if (param >= 0) {
return user.param(paramId);
}
}
return null;
};
//=============================================================================
// Game_BattlerBase
//=============================================================================
Game_BattlerBase.prototype.totalBuffs = function () {
var value = 0;
for (var i = 0; i < 8; ++i) {
if (this.isBuffAffected(i)) value += 1;
}
return value;
};
Game_BattlerBase.prototype.totalDebuffs = function () {
var value = 0;
for (var i = 0; i < 8; ++i) {
if (this.isDebuffAffected(i)) value += 1;
}
return value;
};
Yanfly.LunPasCas.Game_BattlerBase_psc =
Game_BattlerBase.prototype.passiveStateConditions;
Game_BattlerBase.prototype.passiveStateConditions = function (state) {
var condition = Yanfly.LunPasCas.Game_BattlerBase_psc.call(this, state);
if (!condition) return false;
this._checkPassiveStateCondition = this._checkPassiveStateCondition || [];
this._checkPassiveStateCondition.push(state.id);
var cases = state.passiveConditionCases || [];
var length = cases.length;
for (var i = 0; i < length; ++i) {
var data = cases[i];
if (!this.passiveConditionCaseEval(state, data)) {
var index = this._checkPassiveStateCondition.indexOf(state.id);
this._checkPassiveStateCondition.splice(index, 1);
return false;
}
}
var index = this._checkPassiveStateCondition.indexOf(state.id);
this._checkPassiveStateCondition.splice(index, 1);
return true;
};
Game_BattlerBase.prototype.passiveConditionCaseEval = function (state, data) {
var condition = true;
var stateId = state.id;
var a = this;
var user = this;
var subject = this;
var b = this;
var target = this;
var s = $gameSwitches._data;
var v = $gameVariables._data;
var skip = false;
var value = 0;
var rate = 1;
var code = Yanfly.Param.LunPasCasEffect;
try {
eval(code);
} catch (e) {
Yanfly.Util.displayError(e, code, 'PASSIVE CONDITION CASES EFFECT ERROR');
}
if (skip) return true;
return condition;
};
//=============================================================================
// Utilities
//=============================================================================
Yanfly.Util = Yanfly.Util || {};
Yanfly.Util.displayError = function (e, code, message) {
console.log(message);
console.log(code || 'NON-EXISTENT');
console.error(e);
if (Utils.RPGMAKER_VERSION && Utils.RPGMAKER_VERSION >= "1.6.0") return;
if (Utils.isNwjs() && Utils.isOptionValid('test')) {
if (!require('nw.gui').window.isDevToolsOpen()) {
require('nw.gui').window.showDevTools();
}
}
};
//=============================================================================
// Default Effect Code
//=============================================================================
if (false) {
// -------------
// Switch On/Off
// -------------
if (data.match(/SWITCH[ ](\d+)[ ]ON/i)) {
var switchId = parseInt(RegExp.$1);
condition = $gameSwitches.value(switchId);
} else if (data.match(/SWITCH[ ](\d+)[ ]OFF/i)) {
var switchId = parseInt(RegExp.$1);
condition = !$gameSwitches.value(switchId);
// -------------
// Has/Not State
// -------------
} else if (data.match(/HAS[ ]STATE[ ](\d+)/i)) {
var stateId = parseInt(RegExp.$1);
condition = user.isStateAffected(stateId);
} else if (data.match(/NOT[ ]STATE[ ](\d+)/i)) {
var stateId = parseInt(RegExp.$1);
condition = !user.isStateAffected(stateId);
// -------------------
// Has/Not Buff/Debuff
// -------------------
} else if (data.match(/HAS[ ](.*)[ ]BUFF/i)) {
var str = String(RegExp.$1);
var paramId = DataManager.getParamId(str);
condition = user.isBuffAffected(paramId);
} else if (data.match(/HAS[ ](.*)[ ]DEBUFF/i)) {
var str = String(RegExp.$1);
var paramId = DataManager.getParamId(str);
condition = user.isDebuffAffected(paramId);
// --------------------
// Has/Not Weapon/Armor
// --------------------
} else if (data.match(/HAS[ ]WEAPON[ ](\d+)/i)) {
if (user.isActor()) {
var id = parseInt(RegExp.$1);
var item = $dataWeapons[id];
condition = user.hasWeapon(item);
} else {
condition = false;
}
} else if (data.match(/NOT[ ]WEAPON[ ](\d+)/i)) {
if (user.isActor()) {
var id = parseInt(RegExp.$1);
var item = $dataWeapons[id];
condition = !user.hasWeapon(item);
} else {
condition = false;
}
} else if (data.match(/HAS[ ]ARMOR[ ](\d+)/i)) {
if (user.isActor()) {
var id = parseInt(RegExp.$1);
var item = $dataArmors[id];
condition = user.hasArmor(item);
} else {
condition = false;
}
} else if (data.match(/NOT[ ]ARMOR[ ](\d+)/i)) {
if (user.isActor()) {
var id = parseInt(RegExp.$1);
var item = $dataArmors[id];
condition = !user.hasArmor(item);
} else {
condition = false;
}
// ----------------------
// Param Above/Below Stat
// ----------------------
} else if (data.match(/(.*)[ ](?:>|<|>=|<=|=|!=)[ ](.*)/i)) {
var check1 = String(RegExp.$1);
var check2 = String(RegExp.$2);
var value1 = DataManager.numberParameterCheck(check1, user);
var value2 = DataManager.numberParameterCheck(check2, user);
if (value1 !== null && value2 !== null) {
if (data.match(/>=/i)) {
condition = value1 >= value2;
} else if (data.match(/</i)) {
condition = value1 <= value2;
} else if (data.match(/>/i)) {
condition = value1 > value2;
} else if (data.match(/</i)) {
condition = value1 < value2;
} else if (data.match(/!=/i)) {
condition = value1 !== value2;
} else if (data.match(/=/i)) {
condition = value1 === value2;
} else {
skip = true;
}
} else {
condition = false;
}
// -------------------------------
// Add new effects above this line
// -------------------------------
} else {
skip = true;
}
}; // Default Effect Code
//=============================================================================
// End of File
//=============================================================================
} else {
var text = '';
text += 'You are getting this error because you are trying to run ';
text += 'YEP_Z_PassiveCases without the required plugins. Please visit ';
text += 'Yanfly.moe and install the required plugins neede for this plugin ';
text += 'found in this plugin\'s help file before you can use it.';
console.log(text);
require('nw.gui').window.showDevTools();
}; // Yanfly.PluginRequirements