forked from nisovin/MagicSpells
- Notifications
You must be signed in to change notification settings - Fork 72
Variable Modification
JasperLorelai edited this page May 19, 2024
·
9 revisions
- These options are documented in base spell configuration.
typecan becast,casted, andtarget(modifies target's variables unless since 4.0 Beta 13 this format is used:caster:varName <varMod>).- The format:
variable-mods-<type>:
- varName1 <assignment>
- varName2 <assignment>. . .Format: /ms variable modify <variable> <player> <assignment>.
For this example we'll use the always condition, which passes always because in this case, we don't need a condition.
# The following two are the same because the default variable owner is "caster".modifiers:
- always variable varName;<assignment>
- always variable caster:varName;<assignment># This supports "target" variable owner. Note that target modifiers only work on targeted spells.target-modifiers:
- always variable target:varName;<assignment>
- always variable caster:varName;<assignment>The format for this is: <operator><expression> (e.g. =42, or +1 - add 1 to base value).
expressioncan be text of any length you'd like if it's not a variable name. Supports the=assignment operator.
Warning
The rest of documentation about this section is only possible since 4.0 Beta 13.
expressionmay be a String Expression.operator:=- Set the variable to what expression is.+- Append expression text to the variable's current value.*- Set the variable to what the current value is then repeated as many times as the expression defines. Thus, the expression should evaluate into a number for this operation. If it's a plain string, the variable will be set to empty.
expressionmay be a double value or a variable name.operatorcan be:=- Set base value to the expression following the operator.+- Default operator if omitted. Add expression to the base value. Note that there is no-operator, but subtraction is possible because you can negate expressions, and addition is default behaviour - therefore subtraction.*- Multiply base with the expression./- Divide base with the expression.^- Exponentiation, where the expression is the exponent.%- Modulo operator - returns the remainder after dividing base with the expression.?- A pseudorandom number generated from 0 (inclusive) to the expression value.
-can be used before the expression to negate it.
Warning
The rest of documentation about this section is only possible since 4.0 Beta 13.
expressionmay be a Function Expression.- If
expressionis a variable name it may be prepended withtarget:to refer to the target's variable value for assignment (e.g.+target:meta_current_health).