Карта прилагается...
суть единственного триггера проста...
задаётся случайный размер карты от 10*128 до 60*128...
а дальше в полученном поле меняется тип тайлов (в примере используется тип 'Lroc' Лордерон: скалы)
по идеи, "скалы" обрамляют заданное поле, а его площадь for-циклом случайный образом заполняется с шансом ~40%
и как бы код работает.. НО только при размере поля не более чем 29*128
при больших значениях поле заполняется не полностью...
Подскажите, имеется ли лимит итераций, либо же я просто туплю и мне пора идти спать...
code
#define void = nothing
#define int = integer

scope MapInit initializer Init{

void generateNewMap(){
int size=GetRandomInt(10,60)//lagging if size>29
//CameraBounds
for(int indexPlayer=0;indexPlayer<12;indexPlayer++){
        if (GetLocalPlayer() == Player(indexPlayer)) then
            real minX = (size-6.)*-128.
            real minY = (size-4.)*-128.
            real maxX = (size-6.)*128.
            real maxY = (size-4.)*128.
            SetCameraBounds(minX, minY, minX, maxY, maxX, maxY, maxX, minY)
        endif
}
// 40% of random tiles
//SetTerrainType(GetLocationX(where),GetLocationY(where), 'Lrok',-1, 1, 1)

    real minMX = -size
    real minMY = -size
    real maxMX = size
    real maxMY = size
    
    for(minMX=-size;minMX<=size;minMX++){
        for(minMY=size;minMY>=-size;minMY--){
            if(minMX==-size or minMY==-size or minMX==size or minMY==size){
            //border
                real x=minMX*128.
                real y=minMY*128.
                SetTerrainType(x,y,'Lrok',-1, 1, 1)
            }
            
            real x=minMX*128.
            real y=minMY*-128.
            if(GetRandomInt(0,100)<=40){
                SetTerrainType(x,y,'Lrok',-1, 1, 1)
            }
        }
    }
}

void Init(){
    FogEnable(false)
    FogMaskEnable(false)
    generateNewMap()
}
    
}