123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- --[[
- Script Name : Spells/Commoner/Sprint.lua
- Script Purpose : Sprint
- Script Author : theFoof
- Script Date : 2014.3.9
- Script Note :
- --]]
- function cast(Caster, Target, Speed, is_tick)
- local has_moved = SprinterHasMoved(Caster, is_tick)
- if not has_moved and GetTempVariable(Caster, "sprint_bonus_active") == "true" then
- return
- end
-
- local power_left = GetPower(Caster)
- local total_power = GetMaxPower(Caster)
- if power_left - (total_power * .1) < 0 then
- if GetTempVariable(Caster, "sprint_bonus_active") == "true" then
- RemoveSpellBonus()
- SetTempVariable(Caster, "sprint_bonus_active", nil)
- end
- else
- if is_tick == true then
- ModifyPower(Caster, -1 * (total_power * .1))
- end
- if GetTempVariable(Caster, "sprint_bonus_active") ~= "true" then
- AddSpellBonus(Caster, 609, Speed)
- end
- SetTempVariable(Caster, "sprint_bonus_active", "true")
- SetTempVariable(Caster, "sprint_bonus_x", GetX(Caster) .. "")
- SetTempVariable(Caster, "sprint_bonus_y", GetY(Caster) .. "")
- SetTempVariable(Caster, "sprint_bonus_z", GetZ(Caster) .. "")
- end
- end
- function SprinterHasMoved(Caster, is_tick)
- if is_tick ~= true then
- return true
- end
-
- local ret = false
-
- if GetTempVariable(Caster, "sprint_bonus_x") ~= GetX(Caster) .. "" then
- ret = true
- elseif GetTempVariable(Caster, "sprint_bonus_y") ~= GetY(Caster) .. "" then
- ret = true
- elseif GetTempVariable(Caster, "sprint_bonus_z") ~= GetZ(Caster) .. "" then
- ret = true
- end
- return ret
- end
- function tick(Caster, Target, Speed)
- cast(Caster, Target, Speed, true)
- end
- function remove(Caster)
- RemoveSpellBonus()
- SetTempVariable(Caster, "sprint_bonus_active", nil)
- SetTempVariable(Caster, "sprint_bonus_x", nil)
- SetTempVariable(Caster, "sprint_bonus_y", nil)
- SetTempVariable(Caster, "sprint_bonus_z", nil)
- end
|