Bom dia, tudo bem? 
	 
 
	sou um pouco novo no forum então não vou poder formatar legal, mas acredito que é assim, você só editara os efeitos, formulas e algumas coisinhas pois eu fiz na pressa
 
	OBS: não quero credito algum :]
 
	 
	-- Areas/Combat for 0ms 
	local combat0_Brush = createCombatObject() 
	setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) 
	setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) 
	setCombatArea(combat0_Brush,createCombatArea(
 
	{{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, 
	{0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, 
	{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, 
	{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, 
	{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, 
	{1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1}, 
	{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, 
	{0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0}, 
	{0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0}, 
	{0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, 
	{0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}}
 
	)) 
	setCombatFormula(combat0_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0) 
	local dfcombat0_Brush = {CONST_ANI_EXPLOSION,1,5,0,5,-1,5,-2,4,-3,3,-4,2,-5,1,1,-5,0,-5,-1,-5,-2,-4,-3,-3,-4,-2,-5,-1,-5,0,2,-4,3,-3,4,-2,5,-1,5,0,5,1,4,2,3,3,2,4}
 
	-- Areas/Combat for 400ms 
	local combat4_Brush = createCombatObject() 
	setCombatParam(combat4_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) 
	setCombatParam(combat4_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) 
	setCombatArea(combat4_Brush,createCombatArea({{0, 0, 0, 1, 1, 1, 0, 0, 0}, 
	{0, 0, 1, 0, 0, 0, 1, 0, 0}, 
	{0, 1, 0, 0, 0, 0, 0, 1, 0}, 
	{1, 0, 0, 0, 0, 0, 0, 0, 1}, 
	{1, 0, 0, 0, 2, 0, 0, 0, 1}, 
	{1, 0, 0, 0, 0, 0, 0, 0, 1}, 
	{0, 1, 0, 0, 0, 0, 0, 1, 0}, 
	{0, 0, 1, 0, 0, 0, 1, 0, 0}, 
	{0, 0, 0, 1, 1, 1, 0, 0, 0}})) 
	setCombatFormula(combat4_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0) 
	local dfcombat4_Brush = {CONST_ANI_EXPLOSION,1,4,0,4,-1,4,2,3,3,2,4,1,4,0,4,-1,3,-2,2,-3,1,-4,0,-4,-1,-4,-2,-3,-3,-2,-4,-1,-4,0,-4,1,-3,2,-2,3}
 
	-- Areas/Combat for 700ms 
	local combat7_Brush = createCombatObject() 
	setCombatParam(combat7_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) 
	setCombatParam(combat7_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) 
	setCombatArea(combat7_Brush,createCombatArea({{0, 0, 1, 1, 1, 0, 0}, 
	{0, 1, 0, 0, 0, 1, 0}, 
	{1, 0, 0, 0, 0, 0, 1}, 
	{1, 0, 0, 2, 0, 0, 1}, 
	{1, 0, 0, 0, 0, 0, 1}, 
	{0, 1, 0, 0, 0, 1, 0}, 
	{0, 0, 1, 1, 1, 0, 0}})) 
	setCombatFormula(combat7_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0) 
	local dfcombat7_Brush = {CONST_ANI_EXPLOSION,1,3,0,3,-1,3,-2,2,-3,1,-3,0,-3,-1,-2,-2,-1,-3,0,-3,1,-3,2,-2,3,-1,3,0,3,1,2,2}
 
	-- Areas/Combat for 1000ms 
	local combat10_Brush = createCombatObject() 
	setCombatParam(combat10_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) 
	setCombatParam(combat10_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) 
	setCombatArea(combat10_Brush,createCombatArea({{0, 1, 1, 1, 0}, 
	{1, 0, 0, 0, 1}, 
	{1, 0, 2, 0, 1}, 
	{1, 0, 0, 0, 1}, 
	{0, 1, 1, 1, 0}})) 
	setCombatFormula(combat10_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0) 
	local dfcombat10_Brush = {CONST_ANI_EXPLOSION,1,2,0,2,-1,2,-2,1,-2,0,-2,-1,-1,-2,0,-2,1,-2,2,-1,2,0,2,1}
 
	-- Areas/Combat for 1200ms 
	local combat12_Brush = createCombatObject() 
	setCombatParam(combat12_Brush, COMBAT_PARAM_EFFECT, CONST_ME_BLOCKHIT) 
	setCombatParam(combat12_Brush, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) 
	setCombatArea(combat12_Brush,createCombatArea({{1, 1, 1}, 
	{1, 2, 1}, 
	{1, 1, 1}})) 
	setCombatFormula(combat12_Brush, COMBAT_FORMULA_LEVELMAGIC, 0, 0, 0, 0) 
	local dfcombat12_Brush = {CONST_ANI_EXPLOSION,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0}
 
	-- =============== CORE FUNCTIONS =============== 
	local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part 
	    if (isCreature(cid)) then 
	        doCombat(cid, c, var) 
	        if (dirList ~= nil) then -- Emit distance effects 
	            local i = 2; 
	            while (i < #dirList) do 
	                doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) 
	                i = i + 2 
	            end         
	        end 
	    end 
	end
 
	function onCastSpell(cid, var) 
	    local startPos = getCreaturePosition(cid) 
	    RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos) 
	    addEvent(RunPart,400,combat4_Brush,cid,var,dfcombat4_Brush,startPos) 
	    addEvent(RunPart,700,combat7_Brush,cid,var,dfcombat7_Brush,startPos) 
	    addEvent(RunPart,1000,combat10_Brush,cid,var,dfcombat10_Brush,startPos) 
	    addEvent(RunPart,1200,combat12_Brush,cid,var,dfcombat12_Brush,startPos) 
	    return true 
	end