diff --git a/src/server/components/stats.js b/src/server/components/stats.js index 28baff4c..c96528d0 100644 --- a/src/server/components/stats.js +++ b/src/server/components/stats.js @@ -730,7 +730,7 @@ module.exports = { return; this.getHp({ - event: { amount: lifeOnHit }, + heal: { amount: lifeOnHit }, source: obj, target: obj }); diff --git a/src/server/config/effects/effectHolyVengeance.js b/src/server/config/effects/effectHolyVengeance.js index 01d536c5..8c33db60 100644 --- a/src/server/config/effects/effectHolyVengeance.js +++ b/src/server/config/effects/effectHolyVengeance.js @@ -7,7 +7,7 @@ module.exports = { afterDealDamage: function ({ damage, target }) { damage.dealt *= 0.5; this.obj.stats.getHp({ - event: damage, + heal: damage, source: this.obj, target: this.obj }); diff --git a/src/server/config/itemEffects/castSpellOnHit.js b/src/server/config/itemEffects/castSpellOnHit.js index 091e2841..f622ddd8 100644 --- a/src/server/config/itemEffects/castSpellOnHit.js +++ b/src/server/config/itemEffects/castSpellOnHit.js @@ -10,7 +10,7 @@ const doesEventMatch = (firedEvent, eventCondition) => { if ( !firedEvent || ( - !eventCondition.targetNotSelf && + eventCondition.targetNotSelf === false && firedEvent.target === firedEvent.source ) ) @@ -90,6 +90,10 @@ module.exports = { afterDealDamage: function (item, event) { handler(this, item, event, 'afterDealDamage'); + }, + + afterPositionChange: function (item, event) { + handler(this, item, event, 'afterPositionChange'); } } }; diff --git a/src/server/config/itemEffects/gainStat.js b/src/server/config/itemEffects/gainStat.js index 6381f1aa..d36d0a9a 100644 --- a/src/server/config/itemEffects/gainStat.js +++ b/src/server/config/itemEffects/gainStat.js @@ -18,8 +18,8 @@ module.exports = { amount = (cpnStats.values.hpMax / 100) * ~~amount.replace('%', ''); cpnStats.getHp({ - event: { - amount: amount, + heal: { + amount, threatMult: 0 }, source: cpnStats.obj, diff --git a/src/server/config/itemEffects/healOnCrit.js b/src/server/config/itemEffects/healOnCrit.js index d6862cc5..73f02d9b 100644 --- a/src/server/config/itemEffects/healOnCrit.js +++ b/src/server/config/itemEffects/healOnCrit.js @@ -34,8 +34,8 @@ module.exports = { let amount = rolls.amount || ((damage.dealt / 100) * rolls.percentage); this.stats.getHp({ - event: { - amount: amount + heal: { + amount }, source: this, target: this diff --git a/src/server/config/spells/spellArcaneBarrier.js b/src/server/config/spells/spellArcaneBarrier.js index 7b665a9e..af2a0f25 100644 --- a/src/server/config/spells/spellArcaneBarrier.js +++ b/src/server/config/spells/spellArcaneBarrier.js @@ -38,9 +38,9 @@ let cpnArcanePatch = { for (let i = 0; i < cLen; i++) { let c = contents[i]; - let amount = this.spell.getDamage(c, true); + let heal = this.spell.getDamage(c, true); c.stats.getHp({ - event: amount, + heal, source: this.caster, target: c }); diff --git a/src/server/config/spells/spellCharge.js b/src/server/config/spells/spellCharge.js index 73378f4b..6ce9d7e5 100644 --- a/src/server/config/spells/spellCharge.js +++ b/src/server/config/spells/spellCharge.js @@ -124,7 +124,10 @@ module.exports = { const moveEvent = { newPos: targetPos, - source: this + source: this, + target: this, + spellName: 'charge', + spell: this }; this.obj.fireEvent('afterPositionChange', moveEvent); diff --git a/src/server/config/spells/spellFireblast.js b/src/server/config/spells/spellFireblast.js index a44c4d96..2fc1881c 100644 --- a/src/server/config/spells/spellFireblast.js +++ b/src/server/config/spells/spellFireblast.js @@ -183,7 +183,10 @@ module.exports = { x: xFinal, y: yFinal }, - source: this + source: this.obj, + target, + spellName: 'fireblast', + spell: this }; target.fireEvent('afterPositionChange', moveEvent); } diff --git a/src/server/config/spells/spellHealingCircle.js b/src/server/config/spells/spellHealingCircle.js index 2f57930b..e4dadc11 100644 --- a/src/server/config/spells/spellHealingCircle.js +++ b/src/server/config/spells/spellHealingCircle.js @@ -8,11 +8,11 @@ let cpnHealPatch = { this[p] = blueprint[p]; }, - applyHeal: function (o, amount) { - o.stats.getHp({ - event: amount, + applyHeal: function (target, heal) { + target.stats.getHp({ + heal, source: this.caster, - target: o + target }); }, diff --git a/src/server/config/spells/spellSummonConsumableFollower.js b/src/server/config/spells/spellSummonConsumableFollower.js index 4fcec1b9..91d64fbd 100644 --- a/src/server/config/spells/spellSummonConsumableFollower.js +++ b/src/server/config/spells/spellSummonConsumableFollower.js @@ -97,7 +97,7 @@ module.exports = { } else if ((Math.abs(x - m.x) <= 1) && (Math.abs(y - m.y) <= 1)) { m.destroyed = true; obj.stats.getHp({ - event: { + heal: { amount: obj.stats.values.hpMax / 10 }, source: obj, diff --git a/src/server/mods/class-necromancer/spells/spellBloodBarrier.js b/src/server/mods/class-necromancer/spells/spellBloodBarrier.js index 9790955f..8a16fd8d 100644 --- a/src/server/mods/class-necromancer/spells/spellBloodBarrier.js +++ b/src/server/mods/class-necromancer/spells/spellBloodBarrier.js @@ -46,7 +46,7 @@ module.exports = { amount = amount * this.shieldMultiplier; const heal = { amount }; target.stats.getHp({ - event: heal, + heal, source: obj, target }); diff --git a/src/server/mods/class-necromancer/spells/spellHarvestLife.js b/src/server/mods/class-necromancer/spells/spellHarvestLife.js index 90a5709c..99f6b10b 100644 --- a/src/server/mods/class-necromancer/spells/spellHarvestLife.js +++ b/src/server/mods/class-necromancer/spells/spellHarvestLife.js @@ -54,7 +54,7 @@ module.exports = { let healAmount = damage.amount * (this.healPercent / 100); obj.stats.getHp({ - event: { + heal: { amount: healAmount }, source: obj,