From 4715134fceca1111286b3939730180944c3dd9ab Mon Sep 17 00:00:00 2001 From: rasanpedromujica Date: Thu, 17 Jan 2019 00:32:58 -0500 Subject: [PATCH] Merge spells branch Ops --- data/spells/lib/spells.lua | 28 +++++++++++++------ data/spells/scripts/runes/intense healing.lua | 9 +----- .../spells/scripts/runes/ultimate healing.lua | 9 +----- .../spells/scripts/spells/intense healing.lua | 9 +----- data/spells/scripts/spells/light healing.lua | 9 +----- .../scripts/spells/ultimate healing.lua | 9 +----- 6 files changed, 24 insertions(+), 49 deletions(-) diff --git a/data/spells/lib/spells.lua b/data/spells/lib/spells.lua index b66dc13..2c28f45 100644 --- a/data/spells/lib/spells.lua +++ b/data/spells/lib/spells.lua @@ -1,15 +1,25 @@ -function healingFormula(level, maglevel, base, variation) - local value = 2 * level + (3 * maglevel) - local min = value - math.random(variation) + base / 100 - local max = value + math.random(variation) + base / 100 +function healingFormula(level, maglevel, base, variation, value_min, value_max) + local value = 3 * maglevel + (2 * level) + + if value_min ~= nil and value <= value_min then + value = value_min + end + + if value_max ~= nil and value >= value_max then + value = value_max + end + + local min = value * (base - variation) / 100 + local max = value * (base + variation) / 100 return min, max end function damageFormula(level, maglevel, base, variation) - local value = 2 * level + (3 * maglevel) - local min = value - math.random(variation) + base / 100 - local max = value + math.random(variation) + base / 100 - return -min, -max + local value = 3 * maglevel + (2 * level) + + local min = value * (base - variation) / 100 + local max = value * (base + variation) / 100 + return min, max end function computeFormula(level, maglevel, base, variation) @@ -20,7 +30,7 @@ function computeFormula(level, maglevel, base, variation) local level_formula = 2 * level local magic_formula = 3 * maglevel + level_formula - + return magic_formula * damage / 100 end diff --git a/data/spells/scripts/runes/intense healing.lua b/data/spells/scripts/runes/intense healing.lua index c93a2ea..37f4d0a 100644 --- a/data/spells/scripts/runes/intense healing.lua +++ b/data/spells/scripts/runes/intense healing.lua @@ -5,14 +5,7 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(player, level, maglevel) - local base = 70 - local variation = 30 - - local formula = 3 * maglevel + (2 * level) - - local min = (formula * (base - variation)) / 100 - local max = (formula * (base + variation)) / 100 - return min, max + return healingFormula(level, maglevel, 70, 30, 100) end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") diff --git a/data/spells/scripts/runes/ultimate healing.lua b/data/spells/scripts/runes/ultimate healing.lua index 32317e0..9274f21 100644 --- a/data/spells/scripts/runes/ultimate healing.lua +++ b/data/spells/scripts/runes/ultimate healing.lua @@ -6,14 +6,7 @@ combat:setParameter(COMBAT_PARAM_TARGETCASTERORTOPMOST, true) combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(player, level, maglevel) - local base = 250 - local variation = 0 - - local formula = 3 * maglevel + (2 * level) - - local min = (formula * (base - variation)) / 100 - local max = (formula * (base + variation)) / 100 - return min, max + return healingFormula(level, maglevel, 250, 0, 100) end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") diff --git a/data/spells/scripts/spells/intense healing.lua b/data/spells/scripts/spells/intense healing.lua index 6ae3f67..95ff7e6 100644 --- a/data/spells/scripts/spells/intense healing.lua +++ b/data/spells/scripts/spells/intense healing.lua @@ -5,14 +5,7 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(player, level, maglevel) - local base = 40 - local variation = 20 - - local formula = 3 * maglevel + (2 * level) - - local min = (formula * (base - variation)) / 100 - local max = (formula * (base + variation)) / 100 - return min, max + return healingFormula(level, maglevel, 40, 20, 100) end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") diff --git a/data/spells/scripts/spells/light healing.lua b/data/spells/scripts/spells/light healing.lua index 4f9eeb4..ecce6f2 100644 --- a/data/spells/scripts/spells/light healing.lua +++ b/data/spells/scripts/spells/light healing.lua @@ -5,14 +5,7 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(player, level, maglevel) - local base = 20 - local variation = 10 - - local formula = 3 * maglevel + (2 * level) - - local min = (formula * (base - variation)) / 100 - local max = (formula * (base + variation)) / 100 - return min, max + return healingFormula(level, maglevel, 20, 10, 100) end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") diff --git a/data/spells/scripts/spells/ultimate healing.lua b/data/spells/scripts/spells/ultimate healing.lua index 19aa349..436efff 100644 --- a/data/spells/scripts/spells/ultimate healing.lua +++ b/data/spells/scripts/spells/ultimate healing.lua @@ -5,14 +5,7 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onGetFormulaValues(player, level, maglevel) - local base = 250 - local variation = 50 - - local formula = 3 * maglevel + (2 * level) - - local min = (formula * (base - variation)) / 100 - local max = (formula * (base + variation)) / 100 - return min, max + return healingFormula(level, maglevel, 250, 50, 100) end combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")