- Joined
- Nov 17, 2010
- Messages
- 6,787
- Solutions
- 581
- Reaction score
- 5,354
Nice and simple function.
Turns a creature toward a position.
Easily editable, if you don't like the default cutoff's I decided on.
Lua:
function turnCreatureTowardPosition(creature, position)
local creaturePosition = creature:getPosition()
local x, y = creaturePosition.x - position.x, creaturePosition.y - position.y
local angle = math.deg(math.atan2(y, x)) + 180
if angle > 315 or angle <= 45 then
creature:setDirection(1)
elseif angle <= 135 then
creature:setDirection(2)
elseif angle <= 225 then
creature:setDirection(3)
else
creature:setDirection(0)
end
end
Lua:
local function turnCreatureTowardPosition(creature, position)
local creaturePosition = creature:getPosition()
local x, y = creaturePosition.x - position.x, creaturePosition.y - position.y
local angle = math.deg(math.atan2(y, x)) + 180
if angle > 315 or angle <= 45 then
creature:setDirection(1)
elseif angle <= 135 then
creature:setDirection(2)
elseif angle <= 225 then
creature:setDirection(3)
else
creature:setDirection(0)
end
end
local combat = Combat()
combat:setParameter(COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
combat:setParameter(COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
combat:setParameter(COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
function onGetFormulaValues(player, level, magicLevel)
local min = (level / 5) + (magicLevel * 1.4) + 8
local max = (level / 5) + (magicLevel * 2.2) + 14
return -min, -max
end
combat:setCallback(CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")
function onCastSpell(creature, variant)
turnCreatureTowardPosition(creature, creature:getTarget():getPosition())
return combat:execute(creature, variant)
end