Update Stats - Loot Bias authored by Ghmmy's avatar Ghmmy
# Introduction # Introduction
Stats are values that affect all kinds of mechanics across Players, Mobs, Items, Skills, and more. Stats are values that affect all kinds of mechanics across Players, Mobs, Items, Skills, and more.
While Stats system can be complicated to learn at first, its versatility will enable you to do very advanced things, such as combat changes, technical utilities, and the creation of new game design elements. While Stats system can be complicated to learn at first, its versatility will enable you to do very advanced things, such as combat changes, technical utilities, and the creation of new game design elements.
Stats are defined in the`stats.yml` file. This file can exist in the root directory of MythicMobs (`/plugins/MythicMobs/`) or in a [Pack](MythicMobs/-/wikis/Packs) folder. Stats are defined in the`stats.yml` file. This file can exist in the root directory of MythicMobs (`/plugins/MythicMobs/`) or in a [Pack](MythicMobs/-/wikis/Packs) folder.
> **WARNING: To be able to use Stats on Items, [Crucible](/../../../mythiccrucible/-/wikis/home) must be installed** > **WARNING: To be able to use Stats on Items, [Crucible](/../../../mythiccrucible/-/wikis/home) must be installed**
- [Custom Stat Options](#custom-stat-options) - [Custom Stat Options](#custom-stat-options)
- [Custom Stat Types](#custom-stat-types) - [Custom Stat Types](#custom-stat-types)
- [Specific Type Options](#specific-type-options) - [Specific Type Options](#specific-type-options)
- [Tooltips Formatting](#tooltips-formatting) - [Tooltips Formatting](#tooltips-formatting)
- [Modifiers](#modifiers) - [Modifiers](#modifiers)
- [Built In Stats](#built-in-stats) - [Built In Stats](#built-in-stats)
- [Implementations with Configurations](#implementations-with-configurations) - [Implementations with Configurations](#implementations-with-configurations)
- [Mobs](#mobs) - [Mobs](#mobs)
- [Items](#items) - [Items](#items)
- [Examples](#Examples) - [Examples](#Examples)
- [Example Custom Stats](#example-custom-stats) - [Example Custom Stats](#example-custom-stats)
# Custom Stat Options # Custom Stat Options
Options that can be used in the Stat in order to better customize it Options that can be used in the Stat in order to better customize it
| Option |Description | | Option |Description |
|----------------------|---------------------------------------------------------------------------------| |----------------------|---------------------------------------------------------------------------------|
| Enabled | If the stat is currently enabled | | Enabled | If the stat is currently enabled |
| AlwaysActive | If the stat is forcefully applied to every registry of every entity | | AlwaysActive | If the stat is forcefully applied to every registry of every entity |
| Type | The [Type](Stats#custom-stat-types) of the stat | | Type | The [Type](Stats#custom-stat-types) of the stat |
| Display | The name with which the stat is displayed | | Display | The name with which the stat is displayed |
| Formatting | How the stat is shown on items. Depends on the Modifier used | | Formatting | How the stat is shown on items. Depends on the Modifier used |
| ShowInLore | Whether to show the tooltips formatting for each modifier | | ShowInLore | Whether to show the tooltips formatting for each modifier |
| Priority | The priority with which the stat will take effect, compared to others. *Lower* values make it so the stat will trigger *before* stats with higher values | | Priority | The priority with which the stat will take effect, compared to others. *Lower* values make it so the stat will trigger *before* stats with higher values |
| MinValue | Minimum value for the stat | | MinValue | Minimum value for the stat |
| MaxValue | Max value for the stat | | MaxValue | Max value for the stat |
| Triggers | What triggers the stat effect. Can be any MythicMobs trigger, minus the "on" bit. <br />(For instance: to use `onAttack`, one needs to write `ATTACK` as a trigger) <br />As of v.5.4.0, only damaging triggers are available; keep an eye on dev builds for expanded functionality.| | Triggers | What triggers the stat effect. Can be any MythicMobs trigger, minus the "on" bit. <br />(For instance: to use `onAttack`, one needs to write `ATTACK` as a trigger) <br />As of v.5.4.0, only damaging triggers are available; keep an eye on dev builds for expanded functionality.|
| ParentStats | A list of other stats that this stat relies on | | ParentStats | A list of other stats that this stat relies on |
| TriggerStats | A list of stats that the triggering entity may have and their FormulaKey, separated by a space. The FormulaKey can then be used in other Formulas to fetch its value from the trigger's. [Here is an example](#ice_damage) | | TriggerStats | A list of stats that the triggering entity may have and their FormulaKey, separated by a space. The FormulaKey can then be used in other Formulas to fetch its value from the trigger's. [Here is an example](#ice_damage) |
| Formula | A formula for the base value if this stat has parent stats | | Formula | A formula for the base value if this stat has parent stats |
| FormulaKey | A key you can use in formulas, when this stat is the parent of another | | FormulaKey | A key you can use in formulas, when this stat is the parent of another |
| BaseValue | A static base value if it doesn't have parents | | BaseValue | A static base value if it doesn't have parents |
| ExecutionPoint | For stats that modify a trigger, can be `PRE` or `POST`. determines whether the stat is evaluated before or after any mechanics | | ExecutionPoint | For stats that modify a trigger, can be `PRE` or `POST`. determines whether the stat is evaluated before or after any mechanics |
| Skills | The skills that get executed when the stat is activated | | Skills | The skills that get executed when the stat is activated |
## Custom Stat Types ## Custom Stat Types
The values that the `Type` Option can be set to The values that the `Type` Option can be set to
| Type |Description | | Type |Description |
|----------------------|---------------------------------------------------------------------------------| |----------------------|---------------------------------------------------------------------------------|
| `STATIC` | A static value. Does nothing on its own, but can be referenced via placeholders | | `STATIC` | A static value. Does nothing on its own, but can be referenced via placeholders |
| `DAMAGE_BONUS` | This stat adds a flat amount of bonus damage | | `DAMAGE_BONUS` | This stat adds a flat amount of bonus damage |
| `DAMAGE_MODIFIER` | Modifies the damage using a formula | | `DAMAGE_MODIFIER` | Modifies the damage using a formula |
| `PROC` | A chance to execute skills | | `PROC` | A chance to execute skills |
## Specific Type Options ## Specific Type Options
A list of options only available if the specified type is used in the stat A list of options only available if the specified type is used in the stat
### DAMAGE_MODIFIER ### DAMAGE_MODIFIER
| Option |Description | | Option |Description |
|----------------------|---------------------------------------------------------------------------------| |----------------------|---------------------------------------------------------------------------------|
| DamageType | Specify a custom damage type. Use `ALL` to modify the final total damage of the skill | | DamageType | Specify a custom damage type. Use `ALL` to modify the final total damage of the skill |
| Conditions | Specify conditions which can affect the Modifier | | Conditions | Specify conditions which can affect the Modifier |
| DamageFormula | Define a formula for how the damage is modified. See [HERE](#fire_resistance) for an example of this<br>Some additional keys the damage formula can use are:<br>- `d` to express the damage's original value<br>- `v` to express the stat's value | | DamageFormula | Define a formula for how the damage is modified. See [HERE](#fire_resistance) for an example of this<br>Some additional keys the damage formula can use are:<br>- `d` to express the damage's original value<br>- `v` to express the stat's value |
### DAMAGE_BONUS ### DAMAGE_BONUS
| Option |Description | | Option |Description |
|----------------------|---------------------------------------------------------------------------------| |----------------------|---------------------------------------------------------------------------------|
| DamageType | Specify a custom damage type | | DamageType | Specify a custom damage type |
## Tooltips Formatting ## Tooltips Formatting
| Formatting |Description | | Formatting |Description |
|----------------------|---------------------------------------------------------------------------------| |----------------------|---------------------------------------------------------------------------------|
| Additive | The tooltip to show for additive modifiers | | Additive | The tooltip to show for additive modifiers |
| Multiply | The tooltip to show for multiply modifiers | | Multiply | The tooltip to show for multiply modifiers |
| Compound | The tooltip to show for compound modifiers | | Compound | The tooltip to show for compound modifiers |
| Setter | The tooltip to show for setter modifiers | | Setter | The tooltip to show for setter modifiers |
| Rounding | The amount of numbers after the point in the value of the stat | | Rounding | The amount of numbers after the point in the value of the stat |
| ShowInItemLore | Whether the tooltips should be shown in an items's lore whenever `{stats-each}` is used. Defaults to true, overridden by the ShowInLore options if they are set | | ShowInItemLore | Whether the tooltips should be shown in an items's lore whenever `{stats-each}` is used. Defaults to true, overridden by the ShowInLore options if they are set |
| ShowInLore | Description | | ShowInLore | Description |
|----------------------|---------------------------------------------------------------------------------| |----------------------|---------------------------------------------------------------------------------|
| Additive | Whether to show the Additive modifier tooltip in an item's lore | | Additive | Whether to show the Additive modifier tooltip in an item's lore |
| Multiply | Whether to show the Multiply modifier tooltip in an item's lore | | Multiply | Whether to show the Multiply modifier tooltip in an item's lore |
| Compound | Whether to show the Compound modifier tooltip in an item's lore | | Compound | Whether to show the Compound modifier tooltip in an item's lore |
| Setter | Whether to show the Setter modifier tooltip in an item's lore | | Setter | Whether to show the Setter modifier tooltip in an item's lore |
```yml ```yml
EXAMPLE_STAT: EXAMPLE_STAT:
Enabled: true Enabled: true
AlwaysActive: false AlwaysActive: false
Type: STATIC Type: STATIC
FormulaKey: 'SPD' FormulaKey: 'SPD'
Formatting: Formatting:
Additive: '+<value> Speed' Additive: '+<value> Speed'
Multiply: '+<value>% Speed' Multiply: '+<value>% Speed'
Compound: 'x<value>% Speed' Compound: 'x<value>% Speed'
Static: 'Force <value> <display>' Static: 'Force <value> <display>'
Rounding: 2 Rounding: 2
ShowInLore: ShowInLore:
Compound: false # optional Compound: false # optional
``` ```
# Modifiers # Modifiers
Modifiers can be used to adjust stats after their base value is defined. Modifiers can be used to adjust stats after their base value is defined.
| Modifier |Description | | Modifier |Description |
|----------------------|---------------------------------------------------------------------------------------------------| |----------------------|---------------------------------------------------------------------------------------------------|
| `ADDITIVE` | Adds to the base value of a stat | | `ADDITIVE` | Adds to the base value of a stat |
| `ADDITIVE_MULTIPLIER`| Adds a multiplier the base value of a stat | | `ADDITIVE_MULTIPLIER`| Adds a multiplier the base value of a stat |
| `COMPOUND_MULTIPLIER`| Multiplies the base value of a stat, then adds it to the base value | | `COMPOUND_MULTIPLIER`| Multiplies the base value of a stat, then adds it to the base value |
| `SETTER` | Overrides all modifiers and base values, and forces the stat to be what is defined | | `SETTER` | Overrides all modifiers and base values, and forces the stat to be what is defined |
Note that stat modifiers can be applied to and by mobs, players, items, enchants, and auras. For example, an item may add to or multiply its wielder's attack speed, while an attack may temporarily apply a COMPOUND MULTIPLIER to half a target's attack speed. Note that stat modifiers can be applied to and by mobs, players, items, enchants, and auras. For example, an item may add to or multiply its wielder's attack speed, while an attack may temporarily apply a COMPOUND MULTIPLIER to half a target's attack speed.
<!-- <!--
TODO: define mechanics that can manipulate modifiers TODO: define mechanics that can manipulate modifiers
--> -->
## ##
#### `ADDITIVE` #### `ADDITIVE`
The `ADDITIVE` modifiers are straightforward: they add to the base stat. The `ADDITIVE` modifiers are straightforward: they add to the base stat.
#### `ADDITIVE_MULTIPLIER` #### `ADDITIVE_MULTIPLIER`
The `ADDITIVE_MULTIPLIER` multiply the value of the base stat by the specified value. The `ADDITIVE_MULTIPLIER` multiply the value of the base stat by the specified value.
They all pool together (i.e. additive multipliers of 2 and 3 becoming a multiplier of 5, NOT 6) to then multiply the base stat after additives. They all pool together (i.e. additive multipliers of 2 and 3 becoming a multiplier of 5, NOT 6) to then multiply the base stat after additives.
#### `COMPOUND_MULTIPLIER` #### `COMPOUND_MULTIPLIER`
Finally, the `COMPOUND_MULTIPLIER` multiplies all the ADDITIVE results afterwards - this is a great place for to apply effect changes such as debuffs, since they would typically be calculated after additive stat additions and multipliers. Finally, the `COMPOUND_MULTIPLIER` multiplies all the ADDITIVE results afterwards - this is a great place for to apply effect changes such as debuffs, since they would typically be calculated after additive stat additions and multipliers.
## ##
## Stat Calculation ## Stat Calculation
The two `ADDITIVE_MULTIPLIER` and `COMPOUND_MULTIPLIER` modifiers can be easy to mix up; however, this example should make it a bit more clear: The two `ADDITIVE_MULTIPLIER` and `COMPOUND_MULTIPLIER` modifiers can be easy to mix up; however, this example should make it a bit more clear:
Lets say you have these modifiers: Lets say you have these modifiers:
``` rb ``` rb
8 base value 8 base value
10 additive 10 additive
2 additive 2 additive
5 multiply 5 multiply
3 multiply 3 multiply
2 compound (effectively x2) 2 compound (effectively x2)
0.4 compound (effectively -60%) 0.4 compound (effectively -60%)
``` ```
...the resulting math MythicMobs would calculate this is as follows: ...the resulting math MythicMobs would calculate this is as follows:
```rb ```rb
(8 + 10 + 2) * (5 + 3) * (2 * 0.4) = 128 (8 + 10 + 2) * (5 + 3) * (2 * 0.4) = 128
(base + additive + additive) * (additive_multiplier + additive_multiplier) * (compound_multiplier * compound_multiplier) = final stat (base + additive + additive) * (additive_multiplier + additive_multiplier) * (compound_multiplier * compound_multiplier) = final stat
``` ```
Regular multipliers are additive, and compound multipliers are multiplicative. You can think of it as "+10%" for Additive Multipliers vs. "x10%" for Compound Multipliers. Regular multipliers are additive, and compound multipliers are multiplicative. You can think of it as "+10%" for Additive Multipliers vs. "x10%" for Compound Multipliers.
# Built-In Stats # Built-In Stats
These stats are inherently supported by MythicMobs, and can be configured in the `stats.yml` file in the plugin's root directory (`/plugins/MythicMobs/`) or inside Pack folders. (`/plugins/MythicMobs/Packs/CoolPack/`) These stats are inherently supported by MythicMobs, and can be configured in the `stats.yml` file in the plugin's root directory (`/plugins/MythicMobs/`) or inside Pack folders. (`/plugins/MythicMobs/Packs/CoolPack/`)
The player inherits the `BaseValue` of these stats; Mobs also inherit them as defaults, unless overrides are specified in the `Stats:` sub-section of their config. The player inherits the `BaseValue` of these stats; Mobs also inherit them as defaults, unless overrides are specified in the `Stats:` sub-section of their config.
|Stat |Description | |Stat |Description |
|-------------------------------------------------------------|--------------------------------------------------------------------------------------------------| |-------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
|[ATTACK_DAMAGE](#attack_damage) |Base Damage Output | |[ATTACK_DAMAGE](#attack_damage) |Base Damage Output |
|[ATTACK_SPEED](#attack_speed) |Attack cooldown frequency. Typically only used for Players. | |[ATTACK_SPEED](#attack_speed) |Attack cooldown frequency. Typically only used for Players. |
|[BONUS_DAMAGE](#bonus_damage) |Additional Modifier for dealing extra damage | |[BONUS_DAMAGE](#bonus_damage) |Additional Modifier for dealing extra damage |
|[CRITICAL_STRIKE_CHANCE](#critical_strike_chance) |Chance to land a Critical Strike (Chance-based Crit) | |[CRITICAL_STRIKE_CHANCE](#critical_strike_chance) |Chance to land a Critical Strike (Chance-based Crit) |
|[CRITICAL_STRIKE_DAMAGE](#critical_strike_damage) |Damage dealt via Critical Strike | |[CRITICAL_STRIKE_DAMAGE](#critical_strike_damage) |Damage dealt via Critical Strike |
|[CRITICAL_STRIKE_RESILIENCE](#critical_strike_resilience) |Resistance to Critical Strike | |[CRITICAL_STRIKE_RESILIENCE](#critical_strike_resilience) |Resistance to Critical Strike |
|[DAMAGE_REDUCTION](#damage_reduction) |Generic damage reduction | |[DAMAGE_REDUCTION](#damage_reduction) |Generic damage reduction |
|[DEFENSE](#defense) |Defense | |[DEFENSE](#defense) |Defense |
|[DODGE_CHANCE](#dodge_chance) |Chance for an attack to fail when attempting to damage. Reduced by opponent's [DODGE_NEGATION](#dodge_negation). | |[DODGE_CHANCE](#dodge_chance) |Chance for an attack to fail when attempting to damage. Reduced by opponent's [DODGE_NEGATION](#dodge_negation). |
|[DODGE_NEGATION](#dodge_negation) |Reduces opponent's [DODGE_CHANCE](#dodge_chance). | |[DODGE_NEGATION](#dodge_negation) |Reduces opponent's [DODGE_CHANCE](#dodge_chance). |
|[HEALTH](#health) |Health values | |[HEALTH](#health) |Health values |
|[HEALTH_REGENERATION](#health_regeneration) |Rate of Health Regeneration | |[HEALTH_REGENERATION](#health_regeneration) |Rate of Health Regeneration |
|[LIFESTEAL_CHANCE](#lifesteal_chance) |Chance for damage dealt to heal the attacker | |[LIFESTEAL_CHANCE](#lifesteal_chance) |Chance for damage dealt to heal the attacker |
|[LIFESTEAL_POWER](#lifesteal_power) |How much healing LifeSteal does. | |[LIFESTEAL_POWER](#lifesteal_power) |How much healing LifeSteal does. |
|[MOVEMENT_SPEED](#movement_speed) |Movement Speed. | |[MOVEMENT_SPEED](#movement_speed) |Movement Speed. |
|[PARRY_CHANCE](#parry_chance) |Chance to mitigate and reflect damage from sources that melee you from the front. Reduced by opponent's [PARRY_NEGATION](#parry_negation). | |[PARRY_CHANCE](#parry_chance) |Chance to mitigate and reflect damage from sources that melee you from the front. Reduced by opponent's [PARRY_NEGATION](#parry_negation). |
|[PARRY_COUNTERATTACK](#parry_counterattack) |How much damage is returned to the opponent when parrying. | |[PARRY_COUNTERATTACK](#parry_counterattack) |How much damage is returned to the opponent when parrying. |
|[PARRY_POWER](#parry_power) |How much damage is mitigated by Parry. | |[PARRY_POWER](#parry_power) |How much damage is mitigated by Parry. |
|[PARRY_NEGATION](#parry_negation) |Reduces the [PARRY_CHANCE](#parry_chance) of the opponent. | |[PARRY_NEGATION](#parry_negation) |Reduces the [PARRY_CHANCE](#parry_chance) of the opponent. |
| [SCALE](#scale) | The scale of the entity | | [SCALE](#scale) | The scale of the entity |
| STEP_HEIGHT | The step height attribute | | STEP_HEIGHT | The step height attribute |
| ARMOR | The armor attribute | | ARMOR | The armor attribute |
| ARMOR_TOUGHNESS | The armor toughness attribute | | ARMOR_TOUGHNESS | The armor toughness attribute |
| BURNING_TIME | The burning time attribute | | BURNING_TIME | The burning time attribute |
| EXPLOSION_KNOCKBACK_RESISTANCE | The explosion knockback resistance attribute | | EXPLOSION_KNOCKBACK_RESISTANCE | The explosion knockback resistance attribute |
| FALL_DAMAGE_MULTIPLIER | The fall damage multiplier attribute | | FALL_DAMAGE_MULTIPLIER | The fall damage multiplier attribute |
| GRAVITY | The gravity attribute | | GRAVITY | The gravity attribute |
| JUMP_STRENGTH | The jump strength attribute | | JUMP_STRENGTH | The jump strength attribute |
| KNOCKBACK_RESISTANCE | The knockback resistance attribute | | KNOCKBACK_RESISTANCE | The knockback resistance attribute |
| MOVEMENT_EFFICIENCY | The movement efficiency attribute | | MOVEMENT_EFFICIENCY | The movement efficiency attribute |
| OXYGEN_BONUS | The oxygen bonus attribute | | OXYGEN_BONUS | The oxygen bonus attribute |
| SAFE_FALL_DISTANCE | The safe fall distance attribute | | SAFE_FALL_DISTANCE | The safe fall distance attribute |
| SNEAKING_SPEED | The sneaking speed attribute | | SNEAKING_SPEED | The sneaking speed attribute |
| WATER_MOVEMENT_EFFICIENCY | The water movement efficiency attribute | | WATER_MOVEMENT_EFFICIENCY | The water movement efficiency attribute |
| BLOCK_BREAK_SPEED | The block break speed attribute | | BLOCK_BREAK_SPEED | The block break speed attribute |
| BLOCK_INTERACTION_RANGE | The block interaction range attribute | | BLOCK_INTERACTION_RANGE | The block interaction range attribute |
| ENTITY_INTERACTION_RANGE | The entity interaction range attribute | | ENTITY_INTERACTION_RANGE | The entity interaction range attribute |
| FLYING_SPEED | The flying speed of the entity | | FLYING_SPEED | The flying speed of the entity |
| FOLLOW_RANGE | The follow range of the entity | | FOLLOW_RANGE | The follow range of the entity |
| LOOT_BIAS | Extra luck towards rare items in a droptable |
# Built-in Stats Breakdown
# Built-in Stats Breakdown
This is a detailed breakdown of the built-in stats provided by MythicMobs. For custom stats, see [Custom Stat Examples](#example-custom-stats).
This is a detailed breakdown of the built-in stats provided by MythicMobs. For custom stats, see [Custom Stat Examples](#example-custom-stats).
#### `DODGE_NEGATION`
Chance for an attack to land damage. Reduces opponent's [DODGE_CHANCE](#dodge_chance). #### `DODGE_NEGATION`
As shown below, the displayed name and lore elements of a stat can be customized, such as 'Accuracy' instead of 'Dodge Negation' Chance for an attack to land damage. Reduces opponent's [DODGE_CHANCE](#dodge_chance).
As shown below, the displayed name and lore elements of a stat can be customized, such as 'Accuracy' instead of 'Dodge Negation'
<details><summary>Configuration</summary>
<br> <details><summary>Configuration</summary>
<br>
```yml
DODGE_NEGATION: ```yml
Enabled: false DODGE_NEGATION:
AlwaysActive: false Enabled: false
Display: 'Accuracy' AlwaysActive: false
Formatting: Display: 'Accuracy'
Additive: '+<value> Accuracy' Formatting:
Multiply: '+<value> Accuracy' Additive: '+<value> Accuracy'
Compound: 'x<value> Accuracy' Multiply: '+<value> Accuracy'
BaseValue: 0 Compound: 'x<value> Accuracy'
``` BaseValue: 0
```
</details>
</details>
##
#### `ATTACK_DAMAGE` ##
Base Damage Output #### `ATTACK_DAMAGE`
<details><summary>Configuration</summary> Base Damage Output
<br> <details><summary>Configuration</summary>
<br>
```yml
ATTACK_DAMAGE: ```yml
Enabled: true ATTACK_DAMAGE:
AlwaysActive: false Enabled: true
Display: 'Damage' AlwaysActive: false
Formatting: Display: 'Damage'
Additive: '+<value> Damage' Formatting:
Multiply: '+<value> Damage' Additive: '+<value> Damage'
Compound: 'x<value> Damage' Multiply: '+<value> Damage'
BaseValue: 1 Compound: 'x<value> Damage'
``` BaseValue: 1
```
</details>
</details>
##
#### `ATTACK_SPEED` ##
Attack cooldown frequency. Typically only used for Players. #### `ATTACK_SPEED`
<details><summary>Configuration</summary> Attack cooldown frequency. Typically only used for Players.
<br> <details><summary>Configuration</summary>
<br>
```yml
ATTACK_SPEED: ```yml
Enabled: true ATTACK_SPEED:
AlwaysActive: false Enabled: true
Display: 'Attack Speed' AlwaysActive: false
Formatting: Display: 'Attack Speed'
Additive: '+<value> Attack Speed' Formatting:
Multiply: '+<value> Attack Speed' Additive: '+<value> Attack Speed'
Compound: 'x<value> Attack Speed' Multiply: '+<value> Attack Speed'
BaseValue: 4.0 Compound: 'x<value> Attack Speed'
``` BaseValue: 4.0
```
</details>
</details>
##
#### `BONUS_DAMAGE` ##
Additional Modifier for dealing extra damage #### `BONUS_DAMAGE`
<details><summary>Configuration</summary> Additional Modifier for dealing extra damage
<br> <details><summary>Configuration</summary>
<br>
```yml
BONUS_DAMAGE: ```yml
Enabled: false BONUS_DAMAGE:
AlwaysActive: false Enabled: false
Display: 'Bonus Damage' AlwaysActive: false
Formatting: Display: 'Bonus Damage'
Additive: '+<value> Bonus Damage' Formatting:
Multiply: '+<value> Bonus Damage' Additive: '+<value> Bonus Damage'
Compound: 'x<value> Bonus Damage' Multiply: '+<value> Bonus Damage'
BaseValue: 0 Compound: 'x<value> Bonus Damage'
``` BaseValue: 0
```
</details>
</details>
##
#### `CRITICAL_STRIKE_CHANCE` ##
Chance to land a Critical Strike (Chance-based Crit) #### `CRITICAL_STRIKE_CHANCE`
<details><summary>Configuration</summary> Chance to land a Critical Strike (Chance-based Crit)
<br> <details><summary>Configuration</summary>
<br>
```yml
CRITICAL_STRIKE_CHANCE: ```yml
Enabled: false CRITICAL_STRIKE_CHANCE:
AlwaysActive: false Enabled: false
Display: 'Critical Strike' AlwaysActive: false
Formatting: Display: 'Critical Strike'
Additive: '+<value> Critical Strike' Formatting:
Multiply: '+<value> Critical Strike' Additive: '+<value> Critical Strike'
Compound: 'x<value> Critical Strike' Multiply: '+<value> Critical Strike'
BaseValue: 0 Compound: 'x<value> Critical Strike'
MinValue: 0 BaseValue: 0
Skills: MinValue: 0
- particles{p=crit;a=50;hS=1;y=1;s=1} @trigger Skills:
``` - particles{p=crit;a=50;hS=1;y=1;s=1} @trigger
```
</details>
</details>
##
#### `CRITICAL_STRIKE_DAMAGE` ##
Damage dealt via Critical Strike #### `CRITICAL_STRIKE_DAMAGE`
<details><summary>Configuration</summary> Damage dealt via Critical Strike
<br> <details><summary>Configuration</summary>
<br>
```yml
CRITICAL_STRIKE_DAMAGE: ```yml
Enabled: false CRITICAL_STRIKE_DAMAGE:
AlwaysActive: true Enabled: false
Display: 'Critical Damage' AlwaysActive: true
Formatting: Display: 'Critical Damage'
Additive: '+<value> Critical Damage' Formatting:
Multiply: '+<value> Critical Damage' Additive: '+<value> Critical Damage'
Compound: 'x<value> Critical Damage' Multiply: '+<value> Critical Damage'
BaseValue: 1 Compound: 'x<value> Critical Damage'
``` BaseValue: 1
```
</details>
</details>
##
#### `CRITICAL_STRIKE_RESILIENCE` ##
Resistance to Critical Strike #### `CRITICAL_STRIKE_RESILIENCE`
<details><summary>Configuration</summary> Resistance to Critical Strike
<br> <details><summary>Configuration</summary>
<br>
```yml
CRITICAL_STRIKE_RESILIENCE: ```yml
Enabled: false CRITICAL_STRIKE_RESILIENCE:
Display: 'Resilience' Enabled: false
AlwaysActive: false Display: 'Resilience'
Formatting: AlwaysActive: false
Additive: '+<value> Resilience' Formatting:
Multiply: '+<value> Resilience' Additive: '+<value> Resilience'
Compound: 'x<value> Resilience' Multiply: '+<value> Resilience'
BaseValue: 0 Compound: 'x<value> Resilience'
``` BaseValue: 0
```
</details>
</details>
##
#### `DAMAGE_REDUCTION` ##
Generic damage reduction #### `DAMAGE_REDUCTION`
<details><summary>Configuration</summary> Generic damage reduction
<br> <details><summary>Configuration</summary>
<br>
```yml
DAMAGE_REDUCTION: ```yml
Enabled: false DAMAGE_REDUCTION:
AlwaysActive: false Enabled: false
Display: 'Damage Reduction' AlwaysActive: false
Formatting: Display: 'Damage Reduction'
Additive: '+<value> Damage Reduction' Formatting:
Multiply: '+<value> Damage Reduction' Additive: '+<value> Damage Reduction'
Compound: 'x<value> Damage Reduction' Multiply: '+<value> Damage Reduction'
BaseValue: 0 Compound: 'x<value> Damage Reduction'
``` BaseValue: 0
```
</details>
</details>
##
#### `DEFENSE` ##
Defense #### `DEFENSE`
<details><summary>Configuration</summary> Defense
<br> <details><summary>Configuration</summary>
<br>
```yml
DEFENSE: ```yml
Enabled: false DEFENSE:
AlwaysActive: false Enabled: false
Display: 'Defense' AlwaysActive: false
Formatting: Display: 'Defense'
Additive: '+<value> Defense' Formatting:
Multiply: '+<value> Defense' Additive: '+<value> Defense'
Compound: 'x<value> Defense' Multiply: '+<value> Defense'
BaseValue: 0 Compound: 'x<value> Defense'
``` BaseValue: 0
```
</details>
</details>
##
#### `DODGE_CHANCE` ##
Chance for an attack to fail when attempting to damage. Reduces opponent's [ACCURACY](#accuracy). #### `DODGE_CHANCE`
<details><summary>Configuration</summary> Chance for an attack to fail when attempting to damage. Reduces opponent's [ACCURACY](#accuracy).
<br> <details><summary>Configuration</summary>
<br>
```yml
DODGE_CHANCE: ```yml
Enabled: false DODGE_CHANCE:
AlwaysActive: false Enabled: false
Display: 'Dodge' AlwaysActive: false
Formatting: Display: 'Dodge'
Additive: '+<value> Dodge Chance' Formatting:
Multiply: '+<value> Dodge Chance' Additive: '+<value> Dodge Chance'
Compound: 'x<value> Dodge Chance' Multiply: '+<value> Dodge Chance'
BaseValue: 0 Compound: 'x<value> Dodge Chance'
Skills: [] BaseValue: 0
``` Skills: []
```
</details>
</details>
##
#### `HEALTH` ##
Health values #### `HEALTH`
<details><summary>Configuration</summary> Health values
<br> <details><summary>Configuration</summary>
<br>
```yml
HEALTH: ```yml
Enabled: false HEALTH:
AlwaysActive: true Enabled: false
Display: 'Health' AlwaysActive: true
Formatting: Display: 'Health'
Additive: '+<value> Health' Formatting:
Multiply: '+<value> Health' Additive: '+<value> Health'
Compound: 'x<value> Health' Multiply: '+<value> Health'
BaseValue: 20 Compound: 'x<value> Health'
MinValue: 1 BaseValue: 20
``` MinValue: 1
```
</details>
</details>
##
#### `HEALTH_REGENERATION` ##
Rate of Health Regeneration #### `HEALTH_REGENERATION`
<details><summary>Configuration</summary> Rate of Health Regeneration
<br> <details><summary>Configuration</summary>
<br>
```yml
HEALTH_REGENERATION: ```yml
Enabled: false HEALTH_REGENERATION:
AlwaysActive: false Enabled: false
Display: 'Health Regeneration' AlwaysActive: false
Formatting: Display: 'Health Regeneration'
Additive: '+<value> Regeneration' Formatting:
Multiply: '+<value> Regeneration' Additive: '+<value> Regeneration'
Compound: 'x<value> Regeneration' Multiply: '+<value> Regeneration'
BaseValue: 0 Compound: 'x<value> Regeneration'
MaxValue: 1000000 BaseValue: 0
MinValue: 0 MaxValue: 1000000
Frequency: 60 MinValue: 0
``` Frequency: 60
```
</details>
</details>
##
#### `LIFESTEAL_CHANCE` ##
Chance for damage dealt to heal the attacker #### `LIFESTEAL_CHANCE`
<details><summary>Configuration</summary> Chance for damage dealt to heal the attacker
<br> <details><summary>Configuration</summary>
<br>
```yml
LIFESTEAL_CHANCE: ```yml
Enabled: false LIFESTEAL_CHANCE:
AlwaysActive: false Enabled: false
Display: 'Lifesteal Chance' AlwaysActive: false
Formatting: Display: 'Lifesteal Chance'
Additive: '+<value> Lifesteal Chance' Formatting:
Multiply: '+<value> Lifesteal Chance' Additive: '+<value> Lifesteal Chance'
Compound: 'x<value> Lifesteal Chance' Multiply: '+<value> Lifesteal Chance'
BaseValue: 0 Compound: 'x<value> Lifesteal Chance'
``` BaseValue: 0
```
</details>
</details>
##
#### `LIFESTEAL_POWER` ##
How much healing LifeSteal does. #### `LIFESTEAL_POWER`
<details><summary>Configuration</summary> How much healing LifeSteal does.
<br> <details><summary>Configuration</summary>
<br>
```yml
LIFESTEAL_POWER: ```yml
Enabled: true LIFESTEAL_POWER:
AlwaysActive: false Enabled: true
Display: 'Lifesteal Power' AlwaysActive: false
Formatting: Display: 'Lifesteal Power'
Additive: '+<value> Lifesteal Power' Formatting:
Multiply: '+<value> Lifesteal Power' Additive: '+<value> Lifesteal Power'
Compound: 'x<value> Lifesteal Power' Multiply: '+<value> Lifesteal Power'
BaseValue: 0.1 Compound: 'x<value> Lifesteal Power'
``` BaseValue: 0.1
```
</details>
</details>
##
#### `MOVEMENT_SPEED` ##
Movement Speed. #### `MOVEMENT_SPEED`
<details><summary>Configuration</summary> Movement Speed.
<br> <details><summary>Configuration</summary>
<br>
```yml
MOVEMENT_SPEED: ```yml
Enabled: false MOVEMENT_SPEED:
AlwaysActive: true Enabled: false
Display: 'Movement Speed' AlwaysActive: true
Formatting: Display: 'Movement Speed'
Additive: '+<value> Movement Speed' Formatting:
Multiply: '+<value>% Movement Speed' Additive: '+<value> Movement Speed'
Compound: 'x<value>% Movement Speed' Multiply: '+<value>% Movement Speed'
ParentStats: Compound: 'x<value>% Movement Speed'
- SPEED ParentStats:
Formula: '0.2 + (0.2 / (1 + e^(-0.005 * (SPD - 1000))))' - SPEED
``` Formula: '0.2 + (0.2 / (1 + e^(-0.005 * (SPD - 1000))))'
```
</details>
</details>
##
#### `PARRY_CHANCE` ##
Chance to mitigate and reflect damage from sources that melee you from the front. #### `PARRY_CHANCE`
<details><summary>Configuration</summary> Chance to mitigate and reflect damage from sources that melee you from the front.
<br> <details><summary>Configuration</summary>
<br>
```yml
PARRY_CHANCE: ```yml
Enabled: false PARRY_CHANCE:
AlwaysActive: false Enabled: false
Display: 'Parry Chance' AlwaysActive: false
BaseValue: 0 Display: 'Parry Chance'
Priority: 0 BaseValue: 0
Formatting: Priority: 0
Additive: '+<value> Parry Chance' Formatting:
Multiply: '+<value> Parry Chance' Additive: '+<value> Parry Chance'
Compound: 'x<value> Parry Chance' Multiply: '+<value> Parry Chance'
FrontAngle: 180 Compound: 'x<value> Parry Chance'
UsableMaterials: FrontAngle: 180
- WOODEN_SWORD UsableMaterials:
- STONE_SWORD - WOODEN_SWORD
- GOLDEN_SWORD - STONE_SWORD
- IRON_SWORD - GOLDEN_SWORD
- DIAMOND_SWORD - IRON_SWORD
- NETHERITE_SWORD - DIAMOND_SWORD
Skills: [] - NETHERITE_SWORD
``` Skills: []
```
</details>
</details>
##
#### `PARRY_COUNTERATTACK` ##
How much damage is returned to the opponent when parrying. #### `PARRY_COUNTERATTACK`
<details><summary>Configuration</summary> How much damage is returned to the opponent when parrying.
<br> <details><summary>Configuration</summary>
<br>
```yml
PARRY_COUNTERATTACK: ```yml
Enabled: false PARRY_COUNTERATTACK:
AlwaysActive: false Enabled: false
Display: 'Parry Counterattack' AlwaysActive: false
BaseValue: 1 Display: 'Parry Counterattack'
Formatting: BaseValue: 1
Additive: '+<value> Parry Counterattack' Formatting:
Multiply: '+<value> Parry Counterattack' Additive: '+<value> Parry Counterattack'
Compound: 'x<value> Parry Counterattack' Multiply: '+<value> Parry Counterattack'
``` Compound: 'x<value> Parry Counterattack'
```
</details>
</details>
##
#### `PARRY_NEGATION` ##
Affects and lowers the [PARRY_CHANCE](#parry_chance) of the opponent. #### `PARRY_NEGATION`
As shown below, the displayed name and lore elements of a stat can be customized, such as 'Expertise' instead of 'Parry Negation' Affects and lowers the [PARRY_CHANCE](#parry_chance) of the opponent.
<details><summary>Configuration</summary> As shown below, the displayed name and lore elements of a stat can be customized, such as 'Expertise' instead of 'Parry Negation'
<br> <details><summary>Configuration</summary>
<br>
```yml
PARRY_NEGATION: ```yml
Enabled: false PARRY_NEGATION:
AlwaysActive: false Enabled: false
Display: 'Expertise' AlwaysActive: false
Formatting: Display: 'Expertise'
Additive: '+<value> Expertise' Formatting:
Multiply: '+<value> Expertise' Additive: '+<value> Expertise'
Compound: 'x<value> Expertise' Multiply: '+<value> Expertise'
BaseValue: 0 Compound: 'x<value> Expertise'
``` BaseValue: 0
```
</details>
</details>
##
#### `PARRY_POWER` ##
How much damage is mitigated by Parry. #### `PARRY_POWER`
<details><summary>Configuration</summary> How much damage is mitigated by Parry.
<br> <details><summary>Configuration</summary>
<br>
```yml
PARRY_POWER: ```yml
Enabled: false PARRY_POWER:
AlwaysActive: false Enabled: false
Display: 'Parry Power' AlwaysActive: false
BaseValue: 0.5 Display: 'Parry Power'
Formatting: BaseValue: 0.5
Additive: '+<value> Parry Power' Formatting:
Multiply: '+<value> Parry Power' Additive: '+<value> Parry Power'
Compound: 'x<value> Parry Power' Multiply: '+<value> Parry Power'
``` Compound: 'x<value> Parry Power'
```
</details>
</details>
##
#### `SCALE` ##
The Scale of the entity #### `SCALE`
<details><summary>Configuration</summary> The Scale of the entity
<br> <details><summary>Configuration</summary>
<br>
```yml
SCALE: ```yml
Enabled: false SCALE:
AlwaysActive: false Enabled: false
Display: 'Scale' AlwaysActive: false
BaseValue: 1 Display: 'Scale'
Formatting: BaseValue: 1
Additive: '+<value> Scale' Formatting:
Multiply: '+<value> Scale' Additive: '+<value> Scale'
Compound: 'x<value> Scale' Multiply: '+<value> Scale'
``` Compound: 'x<value> Scale'
```
</details>
</details>
## ##
# Implementations with Configurations #### `LOOT_BIAS`
Extra luck to drop rarer items from mythic droptables. This only applies to weighted items!
It's important to be aware that players get all of their base stat values from the `stats.yml` file, while mobs get only some of their base values from the `stats.yml` file: if another value is specified as one of their stats, that is applied. - Default: 0 - the normal chance to drop rare items
- -100: Only the most common item in a weighted list will be dropped
## Mobs - 100: rare items are twice as common
This example features `Some_Mob` and three configured stats: `CRITICAL_STRIKE_CHANCE` as configured in the `Stats:` section, but also its `Health` and `Damage`. - 1000: rare items are 10x as common
The Health and Damage stat types are natively handled in the typical format of a mob's configuration. Other stats that are configured on the mob are: `ATTACK_DAMAGE`, `ATTACK_SPEED`, and `MOVEMENT_SPEED`. <details><summary>Configuration</summary>
```yml <br>
Some_Mob:
Health: 50 ```yml
Damage: 10 LOOT_BIAS:
Stats: Enabled: true
- CRITICAL_STRIKE_CHANCE 0.2 Type: STATIC
``` Display: 'Loot Bias'
BaseValue: 0
## Items MinValue: -100
```yaml Formatting:
ExampleItem: Rounding: 1
Id: BLAZE_ROD Additive: '+<value> Loot Bias'
Display: 'Test' Multiply: '+<value> Loot Bias'
Stats: Compound: 'x<value> Loot Bias'
- CRITICAL_STRIKE_CHANCE 0.5 ADDITIVE ```
- CRITICAL_STRIKE_DAMAGE 2.0 ADDITIVE
- HEALTH 20to30 ADDITIVE </details>
```
> **WARNING: To be able to use Stats on Items, [Crucible](/../../../mythiccrucible/-/wikis/home) must be installed** ##
# Implementations with Configurations
# Examples
It's important to be aware that players get all of their base stat values from the `stats.yml` file, while mobs get only some of their base values from the `stats.yml` file: if another value is specified as one of their stats, that is applied.
## Example Custom Stats
## Mobs
These stats are created by the end user. Included are some examples. This example features `Some_Mob` and three configured stats: `CRITICAL_STRIKE_CHANCE` as configured in the `Stats:` section, but also its `Health` and `Damage`.
The Health and Damage stat types are natively handled in the typical format of a mob's configuration. Other stats that are configured on the mob are: `ATTACK_DAMAGE`, `ATTACK_SPEED`, and `MOVEMENT_SPEED`.
```yml
#### `ARMOR_GENERIC` Some_Mob:
Generic Armor based damage reduction. can be applied to gear. Health: 50
```yml Damage: 10
ARMOR_GENERIC: Stats:
Enabled: false - CRITICAL_STRIKE_CHANCE 0.2
AlwaysActive: false ```
Type: DAMAGE_MODIFIER
Triggers: ## Items
- DAMAGED ```yaml
ExecutionPoint: PRE ExampleItem:
Display: 'Generic Armor' Id: BLAZE_ROD
DamageFormula: 'd - v' Display: 'Test'
BaseValue: 0 Stats:
Formatting: - CRITICAL_STRIKE_CHANCE 0.5 ADDITIVE
Additive: '+<value> Generic Armor' - CRITICAL_STRIKE_DAMAGE 2.0 ADDITIVE
Multiply: '+<value> Generic Armor' - HEALTH 20to30 ADDITIVE
Compound: 'x<value> Generic Armor' ```
> **WARNING: To be able to use Stats on Items, [Crucible](/../../../mythiccrucible/-/wikis/home) must be installed**
```
#### `ARMOR_BLUNT` # Examples
Armor based damage reduction based on the `BLUNT` [DamageType.](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/damagetag)
```yml ## Example Custom Stats
ARMOR_BLUNT:
Enabled: false These stats are created by the end user. Included are some examples.
AlwaysActive: false
Type: DAMAGE_MODIFIER
Triggers: #### `ARMOR_GENERIC`
- DAMAGED Generic Armor based damage reduction. can be applied to gear.
ExecutionPoint: PRE ```yml
Display: 'Blunt Armor' ARMOR_GENERIC:
DamageType: BLUNT Enabled: false
DamageFormula: 'd - v' AlwaysActive: false
BaseValue: 0 Type: DAMAGE_MODIFIER
Formatting: Triggers:
Additive: '+<value> Blunt Armor' - DAMAGED
Multiply: '+<value> Blunt Armor' ExecutionPoint: PRE
Compound: 'x<value> Blunt Armor' Display: 'Generic Armor'
DamageFormula: 'd - v'
``` BaseValue: 0
#### `ARMOR_SHARP` Formatting:
Armor based damage reduction based on the `SHARP` [DamageType.](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/damagetag) Additive: '+<value> Generic Armor'
```yml Multiply: '+<value> Generic Armor'
ARMOR_SHARP: Compound: 'x<value> Generic Armor'
Enabled: false
AlwaysActive: false ```
Type: DAMAGE_MODIFIER #### `ARMOR_BLUNT`
Triggers: Armor based damage reduction based on the `BLUNT` [DamageType.](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/damagetag)
- DAMAGED ```yml
ExecutionPoint: PRE ARMOR_BLUNT:
Display: 'Sharp Armor' Enabled: false
DamageType: SHARP AlwaysActive: false
DamageFormula: 'd - v' Type: DAMAGE_MODIFIER
BaseValue: 0 Triggers:
Formatting: - DAMAGED
Additive: '+<value> Sharp Armor' ExecutionPoint: PRE
Multiply: '+<value> Sharp Armor' Display: 'Blunt Armor'
Compound: 'x<value> Sharp Armor' DamageType: BLUNT
DamageFormula: 'd - v'
``` BaseValue: 0
#### `DAMAGE_BLUNT` Formatting:
Damage Output for the `BLUNT` [DamageType.](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/damagetag) Additive: '+<value> Blunt Armor'
```yml Multiply: '+<value> Blunt Armor'
DAMAGE_BLUNT: Compound: 'x<value> Blunt Armor'
Enabled: false
AlwaysActive: false ```
Type: DAMAGE_BONUS #### `ARMOR_SHARP`
Priority: 1 Armor based damage reduction based on the `SHARP` [DamageType.](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/damagetag)
Triggers: ```yml
- ATTACK ARMOR_SHARP:
ExecutionPoint: PRE Enabled: false
Display: 'Blunt Damage' AlwaysActive: false
DamageType: BLUNT Type: DAMAGE_MODIFIER
BaseValue: 0 Triggers:
Formatting: - DAMAGED
Additive: '+<value> Blunt Damage' ExecutionPoint: PRE
Multiply: '+<value> Blunt Damage' Display: 'Sharp Armor'
Compound: 'x<value> Blunt Damage' DamageType: SHARP
DamageFormula: 'd - v'
``` BaseValue: 0
#### `DAMAGE_SHARP` Formatting:
Damage Output for the `SHARP` [DamageType.](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/damagetag) Additive: '+<value> Sharp Armor'
Multiply: '+<value> Sharp Armor'
```yml Compound: 'x<value> Sharp Armor'
DAMAGE_SHARP:
Enabled: false ```
AlwaysActive: false #### `DAMAGE_BLUNT`
Type: DAMAGE_BONUS Damage Output for the `BLUNT` [DamageType.](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/damagetag)
Priority: 2 ```yml
Triggers: DAMAGE_BLUNT:
- ATTACK Enabled: false
ExecutionPoint: PRE AlwaysActive: false
Display: 'Sharp Damage' Type: DAMAGE_BONUS
DamageType: SHARP Priority: 1
BaseValue: 0 Triggers:
Formatting: - ATTACK
Additive: '+<value> Sharp Damage' ExecutionPoint: PRE
Multiply: '+<value> Sharp Damage' Display: 'Blunt Damage'
Compound: 'x<value> Sharp Damage' DamageType: BLUNT
BaseValue: 0
``` Formatting:
#### `FIRE_RESISTANCE` Additive: '+<value> Blunt Damage'
Configured to grant resistance to the FIRE, FIRE_TICK [DamageCause](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/DamageCause). Multiply: '+<value> Blunt Damage'
```yml Compound: 'x<value> Blunt Damage'
FIRE_RESISTANCE:
Enabled: false ```
AlwaysActive: false #### `DAMAGE_SHARP`
Display: 'Fire Resistance' Damage Output for the `SHARP` [DamageType.](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/damagetag)
Formatting:
Additive: '+<value> Fire Resistance' ```yml
Multiply: '+<value> Fire Resistance' DAMAGE_SHARP:
Compound: 'x<value> Fire Resistance' Enabled: false
Type: DAMAGE_MODIFIER AlwaysActive: false
Triggers: Type: DAMAGE_BONUS
- DAMAGED Priority: 2
Conditions: Triggers:
- (damageCause FIRE || damageCause FIRE_TICK) - ATTACK
ExecutionPoint: PRE ExecutionPoint: PRE
DamageFormula: 'd * (1 - v)' Display: 'Sharp Damage'
MaxValue: 1 DamageType: SHARP
MinValue: 0 BaseValue: 0
Formatting:
``` Additive: '+<value> Sharp Damage'
#### `SPEED` Multiply: '+<value> Sharp Damage'
May be used in the [MOVEMENT_SPEED](#movement_speed) stat calculation to affect speed with a formula. Compound: 'x<value> Sharp Damage'
```yml
SPEED: ```
Enabled: true #### `FIRE_RESISTANCE`
AlwaysActive: false Configured to grant resistance to the FIRE, FIRE_TICK [DamageCause](https://git.lumine.io/mythiccraft/MythicMobs/-/wikis/skills/conditions/DamageCause).
Type: STATIC ```yml
FormulaKey: 'SPD' FIRE_RESISTANCE:
Formatting: Enabled: false
Additive: '+<value> Speed' AlwaysActive: false
Multiply: '+<value>% Speed' Display: 'Fire Resistance'
Compound: 'x<value>% Speed' Formatting:
``` Additive: '+<value> Fire Resistance'
#### `ICE_DAMAGE` Multiply: '+<value> Fire Resistance'
Here is a more complex example that also involves TriggerStats Compound: 'x<value> Fire Resistance'
```yaml Type: DAMAGE_MODIFIER
ICE_DAMAGE: Triggers:
Enabled: true - DAMAGED
Type: DAMAGE_MODIFIER Conditions:
Priority: 50 - (damageCause FIRE || damageCause FIRE_TICK)
Triggers: ExecutionPoint: PRE
- ATTACK DamageFormula: 'd * (1 - v)'
ExecutionPoint: PRE MaxValue: 1
Display: '&f֍' MinValue: 0
DamageType: ALL
BaseValue: 0 ```
TriggerStats: #### `SPEED`
- LIGHTNING_DEFENSE LD May be used in the [MOVEMENT_SPEED](#movement_speed) stat calculation to affect speed with a formula.
- AIR_DEFENSE AD ```yml
- EARTH_DEFENSE ED SPEED:
- FIRE_DEFENSE FD Enabled: true
- AETHER_DEFENSE AE AlwaysActive: false
- VOID_DEFENSE VD Type: STATIC
DamageFormula: '1 + d * ( LD + AD - ED - FD + 0.5 * ( AE - VD ) ) / 100' FormulaKey: 'SPD'
Formatting: Formatting:
Rounding: 2 Additive: '+<value> Speed'
Additive: '&a+<value>' Multiply: '+<value>% Speed'
Multiply: '&a+<value>%' Compound: 'x<value>% Speed'
Compound: '&ax<value>%' ```
#### `ICE_DAMAGE`
Here is a more complex example that also involves TriggerStats
```yaml
ICE_DAMAGE:
Enabled: true
Type: DAMAGE_MODIFIER
Priority: 50
Triggers:
- ATTACK
ExecutionPoint: PRE
Display: '&f֍'
DamageType: ALL
BaseValue: 0
TriggerStats:
- LIGHTNING_DEFENSE LD
- AIR_DEFENSE AD
- EARTH_DEFENSE ED
- FIRE_DEFENSE FD
- AETHER_DEFENSE AE
- VOID_DEFENSE VD
DamageFormula: '1 + d * ( LD + AD - ED - FD + 0.5 * ( AE - VD ) ) / 100'
Formatting:
Rounding: 2
Additive: '&a+<value>'
Multiply: '&a+<value>%'
Compound: '&ax<value>%'
``` ```
\ No newline at end of file