Skip to content

Commit

Permalink
Real spell formulas from leaked files
Browse files Browse the repository at this point in the history
Added formulas:
Spell, base, variation
*Fire Wave, 30, 10
*Energy Wave, 150, 50
*Light Healing, 20, 10
*Intense Healing, 40, 20
*Ultimate Healing, 250, 50
*Energy Beam, 60, 20
*Great Energy Beam, 120, 80
*Ultimate Explosion, 250, 50
*Mass Healing, 200, 40
*Heal Friend, 120, 40
*Force Strike, 45, 10
*Energy Strike, 45, 10
*Flame Strike, 45, 10
*Intense Healing Rune, 70, 30
*Ultimate Healing Rune, 250, 0
*Light Magic Missile, 15, 5
*Heavy Magic Missile, 30, 10
*Fireball, 20, 5
*Great Fireball, 50, 15
*Explosion, 60, 40
*Sudden Death Rune, 150, 20

Not added, complex formulas not know:
Soulfire, 120, 20
Envenon, 70, 20
Poison Storm, 200, 50
Berserk, 80, 20
  • Loading branch information
peonso committed Oct 11, 2017
1 parent 4bf5579 commit 43d3b1f
Show file tree
Hide file tree
Showing 21 changed files with 140 additions and 128 deletions.
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/energy_beam.lua
Expand Up @@ -6,9 +6,13 @@ local area = createCombatArea(AREA_BEAM5, AREADIAGONAL_BEAM5)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.68
max = -((level * 2) + (maglevel * 3)) * 1.3
return min, max
local base = 60
local variation = 20

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/energy_strike.lua
Expand Up @@ -3,9 +3,13 @@ setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.25
max = -((level * 2) + (maglevel * 3)) * 0.55
return min, max
local base = 45
local variation = 10

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
12 changes: 7 additions & 5 deletions data/spells/scripts/attack/energy_wave.lua
Expand Up @@ -6,11 +6,13 @@ local area = createCombatArea(AREA_SQUAREWAVE5, AREADIAGONAL_SQUAREWAVE5)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 1.34
max = -((level * 2) + (maglevel * 3)) * 2.33
-- min = -((level * 2) + (maglevel * 3)) * 1.15
-- max = -((level * 2) + (maglevel * 3)) * 1.9
return min, max
local base = 150
local variation = 50

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
12 changes: 7 additions & 5 deletions data/spells/scripts/attack/explosion.lua
Expand Up @@ -8,11 +8,13 @@ local area = createCombatArea(AREA_CROSS1X1)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
min = 0
max = -((level * 2) + (maglevel * 3)) * 1
-- min = -((level * 2) + (maglevel * 3)) * 0.15
-- max = -((level * 2) + (maglevel * 3)) * 0.9
return min, max
local base = 60
local variation = 40

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/fire_wave.lua
Expand Up @@ -6,9 +6,13 @@ local area = createCombatArea(AREA_WAVE4, AREADIAGONAL_WAVE4)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.25
max = -((level * 2) + (maglevel * 3)) * 0.6
return min, max
local base = 30
local variation = 10

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/fireball.lua
Expand Up @@ -7,9 +7,13 @@ local area = createCombatArea(AREA_CIRCLE2X2)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.16
max = -((level * 2) + (maglevel * 3)) * 0.33
return min, max
local base = 20
local variation = 5

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/flame_strike.lua
Expand Up @@ -3,9 +3,13 @@ setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.25
max = -((level * 2) + (maglevel * 3)) * 0.55
return min, max
local base = 45
local variation = 10

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/force_strike.lua
Expand Up @@ -4,9 +4,13 @@ setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.25
max = -((level * 2) + (maglevel * 3)) * 0.55
return min, max
local base = 45
local variation = 10

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/great_energy_beam.lua
Expand Up @@ -6,9 +6,13 @@ local area = createCombatArea(AREA_BEAM8, AREADIAGONAL_BEAM8)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 1.3
max = -((level * 2) + (maglevel * 3)) * 1.7
return min, max
local base = 120
local variation = 80

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/great_fireball.lua
Expand Up @@ -7,9 +7,13 @@ local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.35
max = -((level * 2) + (maglevel * 3)) * 0.65
return min, max
local base = 50
local variation = 15

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/heavy_magic_missile.lua
Expand Up @@ -4,9 +4,13 @@ setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.2
max = -((level * 2) + (maglevel * 3)) * 0.4
return min, max
local base = 30
local variation = 10

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
14 changes: 7 additions & 7 deletions data/spells/scripts/attack/light_magic_missile.lua
Expand Up @@ -4,13 +4,13 @@ setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 0.1
if (((level * 2) + (maglevel * 3)) * 0.2) < 20 then
max = -20
else
max = -((level * 2) + (maglevel * 3)) * 0.2
end
return min, max
local base = 15
local variation = 5

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
10 changes: 7 additions & 3 deletions data/spells/scripts/attack/sudden_death.lua
Expand Up @@ -5,9 +5,13 @@ setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)

function onGetFormulaValues(cid, level, maglevel)
min = -((level * 2) + (maglevel * 3)) * 1.3
max = -((level * 2) + (maglevel * 3)) * 1.7
return min, max
local base = 150
local variation = 20

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
18 changes: 7 additions & 11 deletions data/spells/scripts/attack/ultimate_explosion.lua
Expand Up @@ -7,17 +7,13 @@ local area = createCombatArea(AREA_CROSS5X5)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
if (((level * 2) + (maglevel * 3)) * 2.3) < 250 then
min = -250
else
min = -((level * 2) + (maglevel * 3)) * 2.3
end
if (((level * 2) + (maglevel * 3)) * 3) < 250 then
max = -250
else
max = -((level * 2) + (maglevel * 3)) * 3
end
return min, max
local base = 250
local variation = 50

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
Expand Down
16 changes: 6 additions & 10 deletions data/spells/scripts/healing/heal_friend.lua
Expand Up @@ -5,16 +5,12 @@ setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
if (((level * 2) + (maglevel * 3)) * 0.8) < 200 then
min = 200
else
min = ((level * 2) + (maglevel * 3)) * 0.8
end
if (((level * 2) + (maglevel * 3)) * 1.6) < 250 then
max = 250
else
max = ((level * 2) + (maglevel * 3)) * 1.6
end
local base = 120
local variation = 40

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return min, max
end

Expand Down
16 changes: 6 additions & 10 deletions data/spells/scripts/healing/intense_healing.lua
Expand Up @@ -5,16 +5,12 @@ setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
if (((level * 2) + (maglevel * 3)) * 0.3) < 35 then
min = 35
else
min = ((level * 2) + (maglevel * 3)) * 0.3
end
if (((level * 2) + (maglevel * 3)) * 0.7) < 45 then
max = 45
else
max = ((level * 2) + (maglevel * 3)) * 0.7
end
local base = 40
local variation = 20

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return min, max
end

Expand Down
16 changes: 6 additions & 10 deletions data/spells/scripts/healing/intense_healing_rune.lua
Expand Up @@ -6,16 +6,12 @@ setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, 1)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
if (((level * 2) + (maglevel * 3)) * 0.335) < 35 then
min = 35
else
min = ((level * 2) + (maglevel * 3)) * 0.335
end
if (((level * 2) + (maglevel * 3)) * 0.58) < 45 then
max = 45
else
max = ((level * 2) + (maglevel * 3)) * 0.58
end
local base = 70
local variation = 30

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return min, max
end

Expand Down
16 changes: 6 additions & 10 deletions data/spells/scripts/healing/light_healing.lua
Expand Up @@ -5,16 +5,12 @@ setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
if (((level * 2) + (maglevel * 3)) * 0.1) < 20 then
min = 20
else
min = ((level * 2) + (maglevel * 3)) * 0.1
end
if (((level * 2) + (maglevel * 3)) * 0.35) < 25 then
max = 25
else
max = ((level * 2) + (maglevel * 3)) * 0.35
end
local base = 20
local variation = 10

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return min, max
end

Expand Down
16 changes: 6 additions & 10 deletions data/spells/scripts/healing/mass_healing.lua
Expand Up @@ -8,16 +8,12 @@ local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)

function onGetFormulaValues(cid, level, maglevel)
if (((level * 2) + (maglevel * 3)) * 1.2) < 200 then
min = 200
else
min = ((level * 2) + (maglevel * 3)) * 1.2
end
if (((level * 2) + (maglevel * 3)) * 1.5) < 250 then
max = 250
else
max = ((level * 2) + (maglevel * 3)) * 1.5
end
local base = 200
local variation = 40

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return min, max
end

Expand Down
16 changes: 6 additions & 10 deletions data/spells/scripts/healing/ultimate_healing.lua
Expand Up @@ -5,16 +5,12 @@ setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)

function onGetFormulaValues(cid, level, maglevel)
if (((level * 2) + (maglevel * 3)) * 2) < 250 then
min = 250
else
min = ((level * 2) + (maglevel * 3)) * 2
end
if (((level * 2) + (maglevel * 3)) * 2.8) < 250 then
max = 250
else
max = ((level * 2) + (maglevel * 3)) * 2.8
end
local base = 250
local variation = 50

local min = math.max((base - variation), ((3 * maglevel + 2 * level) * (base - variation) / 100))
local max = math.max((base + variation), ((3 * maglevel + 2 * level) * (base + variation) / 100))

return min, max
end

Expand Down

1 comment on commit 43d3b1f

@diegorodriguesvieira
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work man!

Please sign in to comment.