-
Notifications
You must be signed in to change notification settings - Fork 111
Attributes
Attributes provide a flexible way to control various stats which the player can invest points into. Each class can have base amounts, skills can modify them, and items can have lore which provides extra attributes.
Attributes are disabled by default. To enable them, edit the config.yml and change "attributes-enabled" under "Classes" to true.
This is the main config file for attributes. You can completely customize them, changing which ones are available and what they do. The available options are:
- The name of the attribute
- The max amount of points a player can invest
- The icon used to represent the attribute in the GUI
- What dynamic skill settings they affect
- The stats they effect
Attributes can directly modify certain stats. The format for these is the following:
<stat>: '<formula>'
The <stat> part is the stat to modify, which can be one of these stats:
health | The max health of a player |
mana | The max health of a player |
mana-regen | The max health of a player |
physical-damage | The max health of a player |
physical-defense | The max health of a player |
skill-damage | The max health of a player |
skill-defense | The max health of a player |
move-speed | The max health of a player |
Attributes can modify the settings for dynamic skills. They are organized by their category (Mechanic, Target, or Condition) and have the following format:
<componentName>-<valueKey>: '<formula>'
An example which raises damage by 2% per attribute point:
Damage-value: 'a*0.02+1*v'
And another which causes more particle projectiles to be fired out:
Particle Projectile-amount: 'a*0.5+v'
You can add conditions to affect certain samples as well. Here's an example that only changes damage when the component has an Icon Key set to "example":
Damage-value: 'a*0.05+1*v:icon-key=example'
You can add multiple statements as well to target different groups. This example increases damage by 5% if the Icon Key is "example", and 2% for all other skills:
Damage-value: 'a*0.05+1*v:icon-key=example|a*0.02+1*v'
The supported operations are:
- Addition ( + )
- Subtraction ( - )
- Multiplication ( * )
- Division ( / )
- Exponent ( ^ )
PEMADS rules do not apply to these formulas. They are read from left to right other than parenthesis. For an example of operator precedence, the following equations are identical and equate to 0:
2-5*4+2(5+1)^2 ((2-5)*4+2(5+1))^2
a*<num>+v where <num>is the amount to change by per attribute point
v(a*<num>+1) where <num> is the pertentage as a decimal (e.g. 0.01 for 1%)