I dont know who to credit for this but I use it in my map. If you know who to credit please tell me so that I can add it to my credits.
JASS:
/*--------------------
RT2
----------------------*/
function RT2 takes real X, real Y, integer T returns nothing
call SetTerrainType(X, Y, T, -1, 1, 1)
endfunction
/*--------------------
RT1
----------------------*/
function RT1 takes real MinX, real MaxX, real Y, integer OldTerrain, integer Terrain returns nothing
loop
exitwhen MinX > MaxX
if GetTerrainType(MinX, Y) == OldTerrain then
call RT2 (MinX, Y, Terrain)
endif
set MinX = MinX + 128
endloop
endfunction
/*--------------------
Replace Terrain Type Ex
----------------------*/
function ReplaceTerrainTypeEx takes integer OldTerrain, integer NewTerrain, rect WhichRect returns nothing
local real MinX = GetRectMinX(WhichRect)
local real MaxX = GetRectMaxX(WhichRect)
local real MinY = GetRectMinY(WhichRect)
local real MaxY = GetRectMaxY(WhichRect)
loop
exitwhen MinY > MaxY
call RT1 (MinX, MaxX, MinY, OldTerrain, NewTerrain)
set MinY = MinY + 128
endloop
endfunction
/*--------------------
ReplaceGlobalTerrain
----------------------*/
function ReplaceGlobalTerrain takes integer OldTerrain, integer NewTerrain returns nothing
call ReplaceTerrainTypeEx(OldTerrain, NewTerrain, GetWorldBounds())
endfunction
/*--------------------
ReplaceGlobalTerrainReversed
----------------------*/
function ReplaceGlobalTerrainReversed takes integer NewTerrain, integer OldTerrain returns nothing
call ReplaceTerrainTypeEx(OldTerrain, NewTerrain, GetWorldBounds())
endfunction
-
Custom script: call ReplaceGlobalTerrain ('Lgrd', 'Wgrs')
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
//-=-=-= List of Terrain Types =-=-=-
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
// Lordaeron Summer
'Ldrt' = Lordaeron Summer - Dirt
'Ldro' = Lordaeron Summer - Rough Dirt
'Ldrg' = ordaeron Summer - Grassy Dirt
'Lrok' = Lordaeron Summer - Rock
'Lgrs' = Lordaeron Summer - Grass
'Lgrd' = Lordaeron Summer - Dark Grass
// Lordaeron Fall
'Fdrt' = Lordaeron Fall - Dirt
'Fdro' = Lordaeron Fall - Rough Dirt
'Fdrg' = Lordaeron Fall - Grassy Dirt
'Frok' = Lordaeron Fall - Rock
'Fgrs' = Lordaeron Fall - Grass
'Fgrd' = Lordaeron Fall - Dark Grass
// Lordaeron Winter
'Wdrt' = Lordaeron Winter - Dirt
'Wdro' = Lordaeron Winter - Rough Dirt
'Wsng' = Lordaeron Winter - Grassy Snow
'Wrok' = Lordaeron Winter - Rock
'Wgrs' = Lordaeron Winter - Grass
'Wsnw' = Lordaeron Winter - Snow
// Barrens
'Bdrt' = Barrens - Dirt
'Bdrh' = Barrens - Rough Dirt
'Bdrr' = Barrens – Pebbles
'Bdrg' = Barrens - Grassy Dirt
'Bdsr' = Barrens - Desert
'Bdsd' = Barrens - Dark Desert
'Bflr' = Barrens - Rock
'Bgrr' = Barrens - Grass
// Ashenvale
'Adrt' = Ashenvale - Dirt
'Adrd' = Ashenvale - Rough Dirt
'Agrs' = Ashenvale - Grass
'Arck' = Ashenvale - Rock
'Agrd' = Ashenvale - Lumpy Grass
'Avin' = Ashenvale - Vines
'Adrg' = Ashenvale - Grassy Dirt
'Alvd' = Ashenvale - Leaves
// Felwood
'Cdrt' = Felwood - Dirt
'Cdrd' = Felwood - Rough Dirt
'Cpos' = Felwood - Poison
'Crck' = Felwood - Rock
'Cvin' = Felwood - Vines
'Cgrs' = Felwood - Grass
'Clvg' = Felwood - Leaves
// Northrend
'Ndrt' = Northrend - Dirt
'Ndrd' = Northrend - Dark Dirt
'Nrck' = Northrend - Rock
'Ngrs' = Northrend - Grass
'Nice' = Northrend - Ice
'Nsnw' = Northrend - Snow
'Nsnr' = Northrend - Rocky Snow
// Cityscape
'Ydrt' = Cityscape - Dirt
'Ydtr' = Cityscape - Rough Dirt
'Yblm' = Cityscape - Black Marble
'Ybtl' = Cityscape - Brick
'Ysqd' = Cityscape - Square Tiles
'Yrtl' = Cityscape - Round Tiles
'Ygsb' = Cityscape - Grass
'Yhdg' = Cityscape -