MythicMobs Integration
EmakiAttribute integrates with MythicMobs for attribute damage mechanics, attribute conditions, and mob attribute configuration.
MythicMobs is a soft dependency. If it is not installed, related features are skipped.
Skill mechanic: emaki_damage
Aliases: emakiattribute_damage, attribute_damage.
| Parameter | Type | Default | Description |
|---|---|---|---|
damage | double | skill power | Base damage. |
damage_type | string | — | Damage type id, such as physical or spell. |
allow_critical | boolean | true | Whether critical hits are allowed. |
allow_target_dodge | boolean | false | Whether target dodge is allowed. |
calculate_target_defense | boolean | true | Whether target defense is calculated. |
trigger_mythic_on_damaged | boolean | false | Whether MythicMobs on-damaged behavior is triggered. |
Example:
FireBlast:
Skills:
- emaki_damage{damage=50;damage_type=spell;allow_critical=true} @targetSkill mechanics: temporary attributes
These mechanics target skill targets (@target, @self, etc.) and work on both players and mobs. Temporary attributes are removed automatically on expiry and are not persisted (they are lost on restart).
emaki_attribute_add
Alias: emakiattribute_add. Adds one temporary attribute to the target.
| Parameter | Type | Default | Description |
|---|---|---|---|
effect_id | string | — | Temporary effect id. Re-applying the same id follows the stack mode. |
attribute | string | — | Attribute id. |
value | double | 0 | Temporary value. |
duration | int | — | Duration in ticks, must be greater than 0. |
stack_mode | string | attribute default | REPLACE or STACK. Falls back to the attribute's temporary_stack_mode. |
set | boolean | false | When true, uses overwrite (SET) instead of additive (ADD). |
emaki_attribute_remove
Alias: emakiattribute_remove. Removes the temporary attribute with the given effect_id.
| Parameter | Type | Description |
|---|---|---|
effect_id | string | Temporary effect id to remove. |
emaki_attribute_add_tag
Alias: emakiattribute_add_tag. Adds a temporary attribute for every attribute whose tags contain the given tag. Each attribute gets its own effect id (prefix:attributeId) so they never overwrite each other.
| Parameter | Type | Default | Description |
|---|---|---|---|
tag | string | — | Attribute tag (e.g. DEBUFF), case-insensitive. |
value | double | 0 | Value applied to every matching attribute. |
duration | int | — | Duration in ticks, must be greater than 0. |
effect_prefix | string | tag:<tag> | Prefix for the generated effect ids. |
stack_mode | string | per-attribute default | REPLACE or STACK. Falls back to each attribute's temporary_stack_mode. |
emaki_attribute_clear_tag
Alias: emakiattribute_clear_tag. Clears every temporary attribute whose attribute carries the given tag.
| Parameter | Type | Description |
|---|---|---|
tag | string | Attribute tag, case-insensitive. |
Example:
CurseStrike:
Skills:
- emaki_attribute_add{effect_id=curse_slow;attribute=movement_speed;value=-2;duration=100} @target
- emaki_attribute_add_tag{tag=DEBUFF;value=-10;duration=100;stack_mode=STACK} @target
Purify:
Skills:
- emaki_attribute_clear_tag{tag=DEBUFF} @targetCondition: emaki_attribute
Aliases: emakiattribute_attribute, attribute_value, attribute_resource.
| Parameter | Description |
|---|---|
attribute | Attribute id when checking an attribute value. |
resource | Resource id when checking a resource value. Players only. |
field | Resource field: current (aliases current_value, value), max (alias current_max), default (alias default_max), bonus (alias bonus_max), or percent. Defaults to current. |
operator | Comparison operator. |
value | Comparison value. |
value_2 | Second value for between. |
| Operator | Aliases | Description |
|---|---|---|
> | gt | Greater than. |
>= | gte | Greater than or equal (default). |
< | lt | Less than. |
<= | lte | Less than or equal. |
!= | <>, ne | Not equal. |
between | — | Between value and value_2, inclusive and order-independent. |
Omitting
operatoror supplying an unrecognized one falls back to>=. There is no dedicated equality operator.
Conditions:
- emaki_attribute{resource=health;field=percent;operator=<;value=30} trueMob attributes
MythicMobs mobs can define an EmakiAttribute section:
FireDragon:
Type: ENDER_DRAGON
Health: 500
EmakiAttribute:
- "physical_attack: 100"
- "physical_defense: 50"
- "spell_attack: 80"
- "health: 500"Every entry must be quoted
EmakiAttribute is a string list. Written unquoted as - physical_attack: 100, YAML parses each entry as a mapping instead of a string, the whole section is skipped, the mob receives no attributes, and nothing is logged.
To check: run /ea debug on and enter combat, then look for your attribute IDs in the attacker snapshot. Seeing only default_profile entries means the section was not read.
Attributes are synchronized when Mythic mobs spawn, and active Mythic mobs are resynced after MythicMobs reloads.