mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-10-14 14:44:55 +02:00
Full Distribution
This commit is contained in:
29
data/spells/scripts/runes/animate dead.lua
Normal file
29
data/spells/scripts/runes/animate dead.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
local humanBodies = {
|
||||
4240, 4241, 4247, 4248
|
||||
}
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
local position = Variant.getPosition(variant)
|
||||
local tile = Tile(position)
|
||||
if tile then
|
||||
local corpse = tile:getTopDownItem()
|
||||
if corpse then
|
||||
local itemType = corpse:getType()
|
||||
if not table.contains(humanBodies, itemType:getId()) then
|
||||
if itemType:isCorpse() and itemType:isMovable() then
|
||||
local monster = Game.createMonster("Skeleton", position)
|
||||
if monster then
|
||||
corpse:remove()
|
||||
monster:setMaster(creature)
|
||||
position:sendMagicEffect(CONST_ME_MAGIC_BLUE)
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
creature:getPosition():sendMagicEffect(CONST_ME_POFF)
|
||||
creature:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE)
|
||||
return false
|
||||
end
|
8
data/spells/scripts/runes/cure poison.lua
Normal file
8
data/spells/scripts/runes/cure poison.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
|
||||
combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_POISON)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
29
data/spells/scripts/runes/destroy field.lua
Normal file
29
data/spells/scripts/runes/destroy field.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
local fieldIds = {
|
||||
2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125,
|
||||
2126, 2127, 2131, 2132, 2133, 2134, 2135
|
||||
}
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
local position = Variant.getPosition(variant)
|
||||
local tile = Tile(position)
|
||||
local field = tile and tile:getItemByType(ITEM_TYPE_MAGICFIELD)
|
||||
|
||||
if field and table.contains(fieldIds, field:getId()) then
|
||||
field:remove()
|
||||
position:sendMagicEffect(CONST_ME_POFF)
|
||||
return true
|
||||
end
|
||||
|
||||
for _, id in ipairs(fieldIds) do
|
||||
field = tile and tile:getItemById(id)
|
||||
if field then
|
||||
field:remove()
|
||||
position:sendMagicEffect(CONST_ME_POFF)
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
creature:sendCancelMessage(RETURNVALUE_NOTPOSSIBLE)
|
||||
creature:getPosition():sendMagicEffect(CONST_ME_POFF)
|
||||
return false
|
||||
end
|
26
data/spells/scripts/runes/disintegrate.lua
Normal file
26
data/spells/scripts/runes/disintegrate.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
local dead_human = {
|
||||
4240, 4241, 4242, 4247, 4248
|
||||
}
|
||||
local removalLimit = 10
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
local position = variant:getPosition()
|
||||
local tile = Tile(position)
|
||||
if tile then
|
||||
local items = tile:getItems()
|
||||
if items then
|
||||
for i, item in ipairs(items) do
|
||||
if item:getType():isMovable() and item:getActionId() == 0 and not table.contains(dead_human, item:getId()) then
|
||||
item:remove()
|
||||
end
|
||||
|
||||
if i == removalLimit then
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
position:sendMagicEffect(CONST_ME_POFF)
|
||||
return true
|
||||
end
|
9
data/spells/scripts/runes/energy field.lua
Normal file
9
data/spells/scripts/runes/energy field.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
combat:setParameter(COMBAT_PARAM_MAGICEFFECT, CONST_ME_ENERGYHIT)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2122)
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
10
data/spells/scripts/runes/energy wall.lua
Normal file
10
data/spells/scripts/runes/energy wall.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
combat:setParameter(COMBAT_PARAM_MAGICEFFECT, CONST_ME_ENERGYHIT)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2122)
|
||||
combat:setArea(createCombatArea(AREA_WALLFIELD, AREADIAGONAL_WALLFIELD))
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
10
data/spells/scripts/runes/energybomb.lua
Normal file
10
data/spells/scripts/runes/energybomb.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
combat:setParameter(COMBAT_PARAM_MAGICEFFECT, CONST_ME_ENERGYHIT)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2122)
|
||||
combat:setArea(createCombatArea(AREA_SQUARE1X1))
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
18
data/spells/scripts/runes/envenom.lua
Normal file
18
data/spells/scripts/runes/envenom.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITBYPOISON)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
|
||||
function onTargetCreature(creature, target)
|
||||
local player = Player(creature)
|
||||
|
||||
local condition = Condition(CONDITION_POISON)
|
||||
condition:setTiming(computeFormula(player:getLevel(), player:getMagicLevel(), 70, 20))
|
||||
target:addCondition(condition)
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
23
data/spells/scripts/runes/explosion.lua
Normal file
23
data/spells/scripts/runes/explosion.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
|
||||
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
|
||||
combat:setArea(createCombatArea(AREA_CROSS1X1))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 60
|
||||
local variation = 40
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
local min = (formula * (base - variation)) / 100
|
||||
local max = (formula * (base + variation)) / 100
|
||||
return -min, -max
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
9
data/spells/scripts/runes/fire field.lua
Normal file
9
data/spells/scripts/runes/fire field.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
|
||||
combat:setParameter(COMBAT_PARAM_MAGICEFFECT, CONST_ME_HITBYFIRE)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2118)
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
10
data/spells/scripts/runes/fire wall.lua
Normal file
10
data/spells/scripts/runes/fire wall.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
|
||||
combat:setParameter(COMBAT_PARAM_MAGICEFFECT, CONST_ME_HITBYFIRE)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2118)
|
||||
combat:setArea(createCombatArea(AREA_WALLFIELD, AREADIAGONAL_WALLFIELD))
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
22
data/spells/scripts/runes/fireball.lua
Normal file
22
data/spells/scripts/runes/fireball.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
|
||||
combat:setArea(createCombatArea(AREA_CIRCLE2X2))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 20
|
||||
local variation = 5
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
local min = (formula * (base - variation)) / 100
|
||||
local max = (formula * (base + variation)) / 100
|
||||
return -min, -max
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
10
data/spells/scripts/runes/firebomb.lua
Normal file
10
data/spells/scripts/runes/firebomb.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
|
||||
combat:setParameter(COMBAT_PARAM_MAGICEFFECT, CONST_ME_HITBYFIRE)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2118)
|
||||
combat:setArea(createCombatArea(AREA_SQUARE1X1))
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
22
data/spells/scripts/runes/great fireball.lua
Normal file
22
data/spells/scripts/runes/great fireball.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
|
||||
combat:setArea(createCombatArea(AREA_CIRCLE3X3))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 50
|
||||
local variation = 15
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
local min = (formula * (base - variation)) / 100
|
||||
local max = (formula * (base + variation)) / 100
|
||||
return -min, -max
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
21
data/spells/scripts/runes/heavy magic missile.lua
Normal file
21
data/spells/scripts/runes/heavy magic missile.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 30
|
||||
local variation = 10
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
local min = (formula * (base - variation)) / 100
|
||||
local max = (formula * (base + variation)) / 100
|
||||
return -min, -max
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
22
data/spells/scripts/runes/intense healing.lua
Normal file
22
data/spells/scripts/runes/intense healing.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HEALING)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
|
||||
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
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
21
data/spells/scripts/runes/light magic missile.lua
Normal file
21
data/spells/scripts/runes/light magic missile.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 15
|
||||
local variation = 5
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
local min = (formula * (base - variation)) / 100
|
||||
local max = (formula * (base + variation)) / 100
|
||||
return -min, -max
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
7
data/spells/scripts/runes/magic wall.lua
Normal file
7
data/spells/scripts/runes/magic wall.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2128)
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
16
data/spells/scripts/runes/paralyze.lua
Normal file
16
data/spells/scripts/runes/paralyze.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
|
||||
|
||||
local condition = Condition(CONDITION_PARALYZE)
|
||||
condition:setParameter(CONDITION_PARAM_TICKS, 10000)
|
||||
condition:setSpeedDelta(-101)
|
||||
combat:setCondition(condition)
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
if not combat:execute(creature, variant) then
|
||||
return false
|
||||
end
|
||||
|
||||
creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
|
||||
return true
|
||||
end
|
10
data/spells/scripts/runes/poison bomb.lua
Normal file
10
data/spells/scripts/runes/poison bomb.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GREEN_RINGS)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2121)
|
||||
combat:setArea(createCombatArea(AREA_SQUARE1X1))
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
9
data/spells/scripts/runes/poison field.lua
Normal file
9
data/spells/scripts/runes/poison field.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GREEN_RINGS)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2121)
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
10
data/spells/scripts/runes/poison wall.lua
Normal file
10
data/spells/scripts/runes/poison wall.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GREEN_RINGS)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_POISON)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2121)
|
||||
combat:setArea(createCombatArea(AREA_WALLFIELD, AREADIAGONAL_WALLFIELD))
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
18
data/spells/scripts/runes/soulfire.lua
Normal file
18
data/spells/scripts/runes/soulfire.lua
Normal file
@@ -0,0 +1,18 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
|
||||
|
||||
function onTargetCreature(creature, target)
|
||||
local player = Player(creature)
|
||||
|
||||
local condition = Condition(CONDITION_FIRE)
|
||||
condition:setTiming(computeFormula(player:getLevel(), player:getMagicLevel(), 120, 20))
|
||||
target:addCondition(condition)
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
21
data/spells/scripts/runes/sudden death.lua
Normal file
21
data/spells/scripts/runes/sudden death.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 150
|
||||
local variation = 20
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
local min = (formula * (base - variation)) / 100
|
||||
local max = (formula * (base + variation)) / 100
|
||||
return -min, -max
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
23
data/spells/scripts/runes/ultimate healing.lua
Normal file
23
data/spells/scripts/runes/ultimate healing.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_HEALING)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
|
||||
combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
|
||||
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
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
7
data/spells/scripts/runes/wild growth.lua
Normal file
7
data/spells/scripts/runes/wild growth.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2130)
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
Reference in New Issue
Block a user