function terraform takes unit caster, real x, real y, real r returns nothing
local terraindeformation ripple
call TerrainDeformRipple(x, y, r, 400, 8, 8, 100, 1, 100, true)
set ripple = GetLastCreatedTerrainDeformation()
call PolledWait(1)
call PolledWait(0.5)
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call PolledWait(0.5)
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call PolledWait(0.5)
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call PolledWait(0.5)
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call AddSpecialEffect("Abilities\\Spells\\NightElf\\EntangleMine\\Roots.mdl", x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750))
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call CreateDestructable('ATtr', x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), GetRandomReal(0, 180), GetRandomReal(0.8, 1.5), 1)
call PolledWait(1)
call SetTerrainType(x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), 'Agrd', 0, GetRandomInt(5, 8), 0)
call PolledWait(1)
call SetTerrainType(x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), 'Agrd', 0, GetRandomInt(5, 8), 0)
call PolledWait(1)
call SetTerrainType(x + GetRandomReal(-750, 750), y + GetRandomReal(-750, 750), 'Agrd', 0, GetRandomInt(5, 8), 0)
call PolledWait(1)
call TerrainDeformStop(ripple, 1)
call PolledWait(2)
call SetBlight(blightowner, x, y, 1.3*r, false)
set ripple = null
endfunction