While damage modifiers are applied before the skill is performed, changing the damage output, custom effects are applied AFTER the skill use.
Currently, the following tags are supported:
ADD STATE: <state> <who>​
REMOVE STATE: <state> <who>​
Use this effect to add or remove a state effect after the skill is used. Replace <state> with the state ID or state name enclosed in double quotes, while <who> must be replaced by one of the following clauses, specifying who will be affected:​
- USER: Affects the skill user;
- PARTY: Affects the user's whole party (or troop, if used by an enemy);
- TARGET, or TARGETS: Affects the skill target, be it one or many;
- DEAD ALLIES: Affects all KOed party, or troop, members;
- DEAD ENEMIES: Affects all KOed enemies, or party members;
- ALIVE ALLIES: Affects all alive party, or troop, members;
- ALIVE ENEMIES: Affects all alive enemies, or party members;
- PARTY BUT USER: Affects the whole party, except the user;
- ENEMIES BUT TARGET: Affects all enemies, except the skill targets;
Examples:​
ADD STATE: 10 USER​
REMOVE STATE: "Poison" ALIVE ALLIES​
ADD STATE: "Bleed" ENEMIES BUT TARGET​
REMOVE STATE: 15 PARTY​
​
SWITCH n: <action>​
SWITCH n - m: <action>​
SWITCH n to m: <action>​
Changes one or a series of switches states (replace n and m to specify your range). The tag <action> can be replaced with one of the following effects:​
- on: Set the switch to TRUE;
- off: Set the switch to FALSE;
- toggle: Toggle switch value;
- switch x: Copy switch x value;
Examples:​
SWITCH 1: on​
SWITCH 5 - 10: off​
SWITCH 2 - 4: toggle​
SWITCH 10: switch 1​
​
SWITCH n: EVAL <expression>​
SWITCH n - m: EVAL <expression>​
Changes one or a series o switches states (replace n and m to specify your range) according to the result of an eval operation. The tag <expression> must be replaced with a script that returns true or false, or integers (where anything greater than zero will become true, and less or equal to zero false).​
Examples:​
SWITCH 1: EVAL a.hp/a.mhp > 0.5​
SWITCH 2 - 8: EVAL a.hasSkill(4, 5) && a.mp > 150​
​
VAR x <action>​
VAR x - y <action>​
VARIABLE x <action>​
VARIABLE x to y <action>​
Changes one or a series of variable values (replace x and y to specify your range). The tag <action> can be replaced with one of the following effects:​
- = N: Sets the variable or range to value N. You can also set to the same value of the variable N using "= v[N]" instead;
- += N: Add N to the value of the variable. You can also add the value of the variable N using "+= v[N]" instead;
- -= N: Subtract N from the value of the variable. You can also subtract the value of the variable N using "-= v[N]" instead;
- *= N: Multiply the variable's value by N. You can also multiply by the the value of the variable N using "*= v[N]" instead;
- /= N: Divide the variable's value by N. You can also divide by the value of the variable N using "/= v[N]" instead;
- %= N: Replace the variable's value by the rest of the division of its current value by N. You may also use "%= v[N]" to divide by the value of the variable N;
Examples:​
VAR 1 = 10​
VARIABLE 7 += v[8]​
VAR 2 - 7 *= 2​
VAR 1 to 4 /= 3​
​
VAR x: EVAL <expression>​
VAR x - y: EVAL <expression>​
VARIABLE x: EVAL <expression>​
VARIABLE x - y: EVAL <expression>​
Changes one or a series of variable values (replace x and y to specify your range) according to the result of an eval operation. The tag <expression> must be replaced with a script that returns integers greater or equal to zero.​
Examples:​
VAR 1: EVAL Math.floor((a.hp / a.mhp) * 100)​
VARIABLE 6 - 11: EVAL Math.round(a.mp / a.hp)​
VARIABLE 3: EVAL $gameVariables.value(1) + a.hp​
​
EVAL: <eval clause>​
Runs an eval on the <eval clause>. You can access the skill user data using the object "a" (a.hp, a.mp, a.hasSkill(<skillId>), a.actorId(), ...).​
Examples:​
EVAL: $gameVariables.setValue(1, a.actorId())​
EVAL: a.hp > 100 ? $gameVariables.setValue(1, a.hp) : $gameVariables.setValue(1, 100)​
EVAL: $gameVariables.setValue(1, Math.min(100, a.hp))​
​
COMMON EVENT: N​
Call common event of number N. One important limitation though, is that a multiple Common Event calls as custom effects of the same skill is not currently supported. If you try to insert two or more COMMON EVENT effect, only the last one will be run. You can have one for each level, but not more than one by level.​
Examples:​
COMMON EVENT: 10​
​
ON CRITICAL​
Add this clause to the start of any of the previous custom effect tags so that it will only take effect if the skill has landed a critical hit.​
Examples:​
ON CRITICAL ADD STATE: 5 USER​
ON CRITICAL SWITCH 3: on​
ON CRITICAL VAR 7 += 1​
ON CRITICAL COMMON EVENT: 2​
​