Spell Reagents are resources you use to cast a spell - the most standard being something like "mana". MythicRPG comes with a couple hardcoded reagents, but also allows you to create custom reagents that you can manipulate however you want, including by scaling using the stat system.
Hardcoded Reagents
Hardcoded Reagents | Description |
---|---|
health | Requires health to cast. Damages you when the spell is used. |
food | Requires food to cast. Consumes food when the spell is used. |
Custom Reagents
Custom Reagents are defined in a reagents.yml
in any pack folder.
Each reagent file can have as many reagents in it as you'd like, but they must all have unique names.
Custom Stat Options
Option | Description |
---|---|
Display | How the reagent is displayed in messages and GUIs. |
MinValue | The minimum value of the reagent. Usually zero. |
MaxValue | The max value of the reagent. Can be a stat using stat.[stat_name]
|
Global: true | If true, players always have this reagent. |
Mana:
Display: 'Mana'
MinValue: 0
MaxValue: stat.MAX_MANA
Global: true
Optional Supporting Stat
As you see above in the MaxValue
option, instead of setting a static value it's possible to use a stat as the MaxValue
, making it dynamically change depending on the player's stats.
To implement one such stat, you can write something like the following in the stats.yml
file in any pack folder
MAX_MANA:
Enabled: true
Display: 'Max Mana'
BaseValue: 1000
Formatting:
Additive: '+<value> Max Mana'
Multiply: '+<value> Max Mana'
Compound: 'x<value> Max Mana'
Consuming Reagents
Reagents can be consumed when performing certain actions. You can consume them by:
- Using the modifyresource mechanic
- modifyReagent{reagent=mana;amount=10} @self
- Selecting them as a Cost when casting a Spell
Cost:
- mana 50
Custom Reagents Placeholders
Custom Reagent values can be displayed using PlaceholderAPI placeholders - we recommend using our HappyHUD plugin for this to create nice-looking reagent bars.
-
%mythic_reagent_[name]%
- The reagent's current value -
%mythic_reagent_max_[name]%
- The reagent's maximum value