Browse Source

fixes #604

tags/v0.1.11
Big Bad Waffle 6 years ago
parent
commit
5a33e7dcdc
4 changed files with 28 additions and 9 deletions
  1. +2
    -2
      src/server/combat/combat.js
  2. +22
    -7
      src/server/config/itemEffects/damageSelf.js
  3. +1
    -0
      src/server/items/generators/effects.js
  4. +3
    -0
      src/server/mods/feature-cards/cards.js

+ 2
- 2
src/server/combat/combat.js View File

@@ -38,13 +38,13 @@ define([

statValue = max(1, statValue);
var statMult = config.statMult || 1;
var dmgPercent = 100 + srcValues.dmgPercent;
var dmgPercent = 100 + (srcValues.dmgPercent || 0);

amount *= statValue * statMult;

if (config.element) {
var elementName = 'element' + config.element[0].toUpperCase() + config.element.substr(1);
dmgPercent += srcValues[elementName + 'Percent'];
dmgPercent += (srcValues[elementName + 'Percent'] || 0);

//Don't mitigate heals
if (!config.noMitigate) {


+ 22
- 7
src/server/config/itemEffects/damageSelf.js View File

@@ -1,10 +1,12 @@
define([
'combat/combat'
], function (
combat
) {
return {
events: {
element: null,

onGetText: function (item) {
var rolls = item.effects.find(e => (e.type == 'damageSelf')).rolls;

@@ -12,14 +14,27 @@ define([
},

afterDealDamage: function (item, damage, target) {
var rolls = item.effects.find(e => (e.type == 'damageSelf')).rolls;
var effect = item.effects.find(e => (e.type == 'damageSelf'));
var rolls = effect.rolls;

var amount = (damage.dealt / 100) * rolls.percentage;

this.stats.takeDamage({
amount: amount,
noEvents: true
}, 1, this);
var newDamage = combat.getDamage({
source: {
stats: {
values: {}
}
},
isAttack: false,
target: this,
damage: amount,
element: effect.properties.element,
noCrit: true
});

newDamage.noEvents = true;

this.stats.takeDamage(newDamage, 1, this);
}
}
};


+ 1
- 0
src/server/items/generators/effects.js View File

@@ -25,6 +25,7 @@ define([

return {
type: e.type,
properties: e.properties,
rolls: newRolls
};
});


+ 3
- 0
src/server/mods/feature-cards/cards.js View File

@@ -217,6 +217,9 @@ define([
stats: ['dex', 'dex', 'addCritMultiplier', 'addCritMultiplier'],
effects: [{
type: 'damageSelf',
properties: {
element: 'poison'
},
rolls: {
i_percentage: [8, 22]
}


Loading…
Cancel
Save