# 1.7.0
WARNING: All players must use the same version, due to networking changes.
(Players with Spell Engine 1.6.X, won't be able to connect to servers with Spell Engine 1.7.0)
Functional changes:
- Fixed spell container caching (spells sometimes not showing up on hotbar)
- Fixed projectiles hitting the caster sometimes (chain reaction), fixes #117
- Fixed direct spells delivering additional area impacts
- Fixed granular status effect removal (by spells)
- Improve Spell Registry synchronization (ditching base64), fixes #119
- Improve "On Cooldown" HUD message, no to be shown right after spell cast
- Update loot injection defaults
- Now include Armor Tier 4, and Armor Tier 5 entries
- Update Dungeons Arise: Infested Temple, Kisegi Sanctuary
API changes:
- Add new spell type `MODIFIER`, to allow modifying existing spells in narrow pre-defined ways
- `range_add` to add extra range to spells
- `power_modifier` to add extra power, crit chance, crit damage
- `effect_amplifier_add` to add extra amplifier to status effects
- `effect_duration_add` to add extra duration to status effects
- `cooldown_duration_deduct` to reduce cooldown duration
- `projectile_launch` to modify projectile launch parameters (count, velocity, etc...)
- `projectile_perks` to modify projectile perks (ricochet, bounce etc...)
- `additional_placements` to extend placements of spell clouds
- `mutate_impacts` and `impacts` to add additional impacts to the spell
- `stash_amplifier_add` to add extra amplifier to spell stashes
- spell specific modifiers are stored in a cached manner
- Add Equipment Sets functionality, for creating item set bonuses
- Fully data driven (new data type, stored in DynamicRegistry), defined in data files
- Data file location: `data/NAMESPACE/equipment_set/MY_SET.json`
- Equipment set bonuses can provide: attributes, spells (active/passive/modifier)
- Supports any kind of equipment (weapons, armors, shields, trinkets...)
- Spell tooltips now automatically work for all token types, in plural mode
- such as: `{effect_duration_1}`, `{effect_duration_2}`
- Universal pattern matching logic now supports universal negate, such as:
- `!namespace:path` matches everything except `namespace:path`
- `!#namespace:path` matches all items except ones inside `namespace:path` tag
- `!~my_regex` matches everything except the regex
- Add server side spell container sources
- Synced to players
- Managing its content requires granular add/remove operations and imperative sync
- Spell structure changes:
- Add spell cloud `impact_cap` (for trap-like mechanics)
- Add new impact action: `TAUNT`, forcing entities to attack the caster
- Add `area_impact.triggering_action_type`, for only matching impact types to trigger area impact
- Add `area_impact.execute_action_type`, for filtering impact types to execute area impact actions
- Add `area_impact.skip_center_target`, to skip center target for area impact
- Add `impact.chance`, to allow random chance for impact to happen
- Add new trigger `SPELL_AREA_IMPACT` firing after `area_impact` is executed
- Cloud delivery now supports location
- Status Effect `RemoveOnHit` API reworked, expanded:
- Indirect spell damage events (such as area effects) now produce DamageSource that counts as indirect
- `RemoveOnHit` accepts trigger type, to only be removed upon direct or indirect hits
- `RemoveOnHit` accepts removal chance
- `RemoveOnHit` accepts remove stack count
- Update included particle types
- magic/vertical_stripe particles are now animated
- Add `sign_fist` particle type
- Add SpellEngineEffects, for common status effects, such as:
- `spell_engine:stun`
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }