mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-12-16 22:57:11 +01:00
8.0 spells from nostalrius
This commit is contained in:
@@ -1,9 +1,8 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
|
||||
combat:setParameter(COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
|
||||
combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_POISON)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
creature:removeCondition(CONDITION_POISON)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
||||
@@ -1,7 +1,7 @@
|
||||
local dead_human = {
|
||||
4240, 4241, 4242, 4247, 4248
|
||||
}
|
||||
local removalLimit = 10
|
||||
local removalLimit = 500
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
local position = variant:getPosition()
|
||||
|
||||
@@ -5,8 +5,8 @@ combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
|
||||
function onTargetCreature(creature, target)
|
||||
local player = Player(creature)
|
||||
|
||||
local condition = Condition(CONDITION_POISON)
|
||||
|
||||
local condition = Condition(CONDITION_POISON)
|
||||
condition:setTiming(computeFormula(player:getLevel(), player:getMagicLevel(), 70, 20))
|
||||
target:addCondition(condition)
|
||||
end
|
||||
|
||||
@@ -6,7 +6,7 @@ combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
|
||||
combat:setArea(createCombatArea(AREA_CROSS1X1))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 60
|
||||
local base = 70
|
||||
local variation = 40
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
@@ -6,7 +6,7 @@ combat:setArea(createCombatArea(AREA_CIRCLE2X2))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 20
|
||||
local variation = 10
|
||||
local variation = 5
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
local area = {
|
||||
{1}
|
||||
}
|
||||
|
||||
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_FIRE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
combat:setArea(createCombatArea(area))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 30
|
||||
local base = 32
|
||||
local variation = 10
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
@@ -5,7 +5,14 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
return healingFormula(level, maglevel, 70, 30, 100)
|
||||
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")
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
local area = {
|
||||
{1}
|
||||
}
|
||||
|
||||
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_FIRE)
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
combat:setArea(createCombatArea(area))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 15
|
||||
|
||||
@@ -6,7 +6,7 @@ combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)
|
||||
function onTargetCreature(creature, target)
|
||||
local player = Player(creature)
|
||||
|
||||
local condition = Condition(CONDITION_FIRE)
|
||||
local condition = Condition(CONDITION_FIRE)
|
||||
condition:setTiming(computeFormula(player:getLevel(), player:getMagicLevel(), 120, 20))
|
||||
target:addCondition(condition)
|
||||
end
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
local area = {
|
||||
{1}
|
||||
}
|
||||
|
||||
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)
|
||||
combat:setArea(createCombatArea(area))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 150
|
||||
local base = 160
|
||||
local variation = 20
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
@@ -6,7 +6,14 @@ combat:setParameter(COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
return healingFormula(level, maglevel, 250, 0, 100)
|
||||
local base = 280
|
||||
local variation = 50
|
||||
|
||||
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")
|
||||
|
||||
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