mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-11-03 13:26:23 +01:00
8.0 spells from nostalrius
This commit is contained in:
@@ -1,8 +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)
|
||||
creature:removeCondition(CONDITION_POISON)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
||||
end
|
||||
@@ -1,21 +1,22 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_HITAREA)
|
||||
combat:setParameter(COMBAT_PARAM_BLOCKARMOR, true)
|
||||
combat:setParameter(COMBAT_PARAM_USECHARGES, true)
|
||||
combat:setArea(createCombatArea(AREA_SQUARE1X1))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 80
|
||||
local variation = 20
|
||||
function onGetFormulaValues(player, skill, attack, factor)
|
||||
local levelHi = player:getLevel() - 8
|
||||
local level = 8
|
||||
|
||||
local formula = 4 * level
|
||||
local min = math.floor(((level + levelHi) * 32.0) / 10)
|
||||
local max = math.floor(((level + levelHi) * 42.0) / 10)
|
||||
|
||||
local min = (formula * (base - variation)) / 100
|
||||
local max = (formula * (base + variation)) / 100
|
||||
return -min, -max
|
||||
return -min, -max
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
combat:setCallback(CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
return combat:execute(creature, variant)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
||||
8
data/spells/scripts/spells/cure poison.lua
Normal file
8
data/spells/scripts/spells/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
|
||||
@@ -4,7 +4,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONHIT)
|
||||
combat:setArea(createCombatArea(AREA_BEAM5, AREADIAGONAL_BEAM5))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 60
|
||||
local base = 65
|
||||
local variation = 20
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
@@ -4,8 +4,8 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
|
||||
combat:setArea(createCombatArea(AREA_SQUAREWAVE5))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 150
|
||||
local variation = 50
|
||||
local base = 195
|
||||
local variation = 45
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
|
||||
@@ -3,6 +3,13 @@ local food = {
|
||||
}
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
local player = Player(creature:getId())
|
||||
if player then
|
||||
if SafeZone.cache_players[player:getId()] then
|
||||
player:sendTextMessage(MESSAGE_STATUS_SMALL, "You can't use spells inside of this event.")
|
||||
return false
|
||||
end
|
||||
end
|
||||
creature:addItem(food[math.random(#food)])
|
||||
creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
|
||||
return true
|
||||
|
||||
@@ -4,8 +4,8 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA)
|
||||
combat:setArea(createCombatArea(AREA_BEAM8))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 120
|
||||
local variation = 80
|
||||
local base = 135
|
||||
local variation = 35
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
local condition = Condition(CONDITION_LIGHT)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 8)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 10)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 215)
|
||||
condition:setParameter(CONDITION_PARAM_TICKS, (11 * 60 + 35) * 1000)
|
||||
combat:setCondition(condition)
|
||||
|
||||
@@ -5,11 +5,11 @@ combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 120
|
||||
local variation = 40
|
||||
local base = 150
|
||||
local variation = 50
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
|
||||
local min = (formula * (base - variation)) / 100
|
||||
local max = (formula * (base + variation)) / 100
|
||||
return min, max
|
||||
|
||||
@@ -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, 40, 20, 100)
|
||||
local base = 60
|
||||
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")
|
||||
|
||||
@@ -7,5 +7,8 @@ condition:setParameter(CONDITION_PARAM_TICKS, 200000)
|
||||
combat:setCondition(condition)
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
if SafeZone.cache_players[creature:getId()] then
|
||||
return false
|
||||
end
|
||||
return combat:execute(creature, variant)
|
||||
end
|
||||
@@ -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, 20, 10, 100)
|
||||
local base = 35
|
||||
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")
|
||||
|
||||
@@ -3,7 +3,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
local condition = Condition(CONDITION_LIGHT)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 6)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 9)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 215)
|
||||
condition:setParameter(CONDITION_PARAM_TICKS, (6 * 60 + 10) * 1000)
|
||||
combat:setCondition(condition)
|
||||
|
||||
23
data/spells/scripts/spells/light_heal_friend.lua
Normal file
23
data/spells/scripts/spells/light_heal_friend.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_GREEN)
|
||||
combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 80
|
||||
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")
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
creature:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
||||
15
data/spells/scripts/spells/mass healing_training.lua
Normal file
15
data/spells/scripts/spells/mass healing_training.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
|
||||
combat:setParameter(COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
function onTargetCreature(creature, target)
|
||||
doTargetCombatHealth(0, target, COMBAT_HEALING, 500, 1000, CONST_ME_NONE)
|
||||
return true
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")
|
||||
|
||||
function onCastSpell(creature, variant)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
||||
@@ -4,8 +4,8 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_GREEN_RINGS)
|
||||
combat:setArea(createCombatArea(AREA_SQUAREWAVE5))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 150
|
||||
local variation = 50
|
||||
local base = 195
|
||||
local variation = 45
|
||||
|
||||
local formula = 3 * maglevel + (2 * level)
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_EXPLOSIONAREA)
|
||||
combat:setArea(createCombatArea(AREA_CIRCLE5X5))
|
||||
|
||||
function onGetFormulaValues(player, level, maglevel)
|
||||
local base = 250
|
||||
local base = 260
|
||||
local variation = 50
|
||||
|
||||
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, 250, 50, 100)
|
||||
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
|
||||
end
|
||||
|
||||
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
|
||||
|
||||
@@ -3,7 +3,7 @@ combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE)
|
||||
combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false)
|
||||
|
||||
local condition = Condition(CONDITION_LIGHT)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 9)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 11)
|
||||
condition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 215)
|
||||
condition:setParameter(CONDITION_PARAM_TICKS, (60 * 33 + 10) * 1000)
|
||||
combat:setCondition(condition)
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
local combat = Combat()
|
||||
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
|
||||
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
|
||||
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_TELEPORT)
|
||||
combat:setParameter(COMBAT_PARAM_CREATEITEM, 2130)
|
||||
|
||||
function onCastSpell(creature, variant, isHotkey)
|
||||
function onCastSpell(creature, variant)
|
||||
return combat:execute(creature, variant)
|
||||
end
|
||||
Reference in New Issue
Block a user