--[[Edit]]--
local time = 4 --in seconds (time of freeze)
local storage = 1230
local cooldown = 60 --in seconds
--[[End]]--
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
local exhaust = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaust, CONDITION_PARAM_SUBID, 1)
setConditionParam(exhaust, CONDITION_PARAM_TICKS, -1)
setCombatCondition(combat, exhaust)
local exhaustt = createConditionObject(CONDITION_EXHAUST)
setConditionParam(exhaustt, CONDITION_PARAM_SUBID, 2)
setConditionParam(exhaustt, CONDITION_PARAM_TICKS, -1)
setCombatCondition(combat, exhaustt)
function doRemove(cid)
doCreatureSetNoMove(cid, 0)
doRemoveCondition(cid,CONDITION_EXHAUST,1)
doRemoveCondition(cid,CONDITION_EXHAUST,2)
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
local n = time
if not exhaustion.get(cid, storage) then
doSendAnimatedText(getThingPos(itemEx.uid),"Freezed!", TEXTCOLOR_BLUE)
doCombat(cid, combat, numberToVariant(itemEx.uid))
doCreatureSetNoMove(itemEx.uid, 1)
addEvent(doRemove,time * 1000,itemEx.uid)
exhaustion.set(cid, storage, cooldown)
for i = 1,time + 1 do
addEvent(doSendAnimatedText,i * 1000,getThingPos(itemEx.uid), ( i < time+1 and "Melt : "..n.."" or "Melted!") , i< time+1 and TEXTCOLOR_GREEN or TEXTCOLOR_RED)
addEvent(doSendMagicEffect,i * 1000,getThingPos(itemEx.uid),5)
n = n-1
end
else
doPlayerSendCancel(cid,"Cool down : "..exhaustion.get(cid, storage).." seconds.")
end
return true
end