Орды не отключал, но делал, например, Фонтан Удачи не грейдом пруда. 
Во-первых, в коде есть описание, какие здания друг другом заменяются, причем в двух вариантах, один изначальный, а другой - таблички, в которые он пакуется сразу после старта. Ну, в таком же формате, в каком в коде хранятся деревья отстройки. Я правил первый.
 
Code: 
 int Obsolutions0[] = { 
    BLD_ID_SPEC22,    BLD_ID_TAVERN,    -1, //вот тут мы видим, как Братство меча сделано грейдом таверны 
    BLD_ID_HORDE1,    BLD_ID_DWELL3,    -1, 
    BLD_ID_HORDE1U,    BLD_ID_DWELL3U,    BLD_ID_HORDE1,    -1, 
    -100 
}; 
 
 
int Obsolutions1[] = { 
    //BLD_ID_HORDE1,    BLD_ID_DWELL2,    -1, 
    //BLD_ID_HORDE1U,    BLD_ID_DWELL2U,    BLD_ID_HORDE1,    -1, 
     BLD_ID_HORDE2,    BLD_ID_DWELL1,    -1, 
     BLD_ID_HORDE2U,    BLD_ID_DWELL1U,    BLD_ID_HORDE2,    -1, 
    //BLD_ID_SPEC21,    BLD_ID_SPEC17,    -1, //а вот тут мы пидорнули Фонтан 
    -100 
}; 
 
 
int Obsolutions2[] = { 
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1, 
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1, 
    -100 
}; 
 
 
int Obsolutions3[] = { 
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1, 
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1, 
    BLD_ID_HORDE2,    BLD_ID_DWELL3,    -1, 
    BLD_ID_HORDE2U,    BLD_ID_DWELL3U,    BLD_ID_HORDE2,    -1, 
    -100 
}; 
 
 
int Obsolutions4[] = { 
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1, 
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1, 
    -100 
}; 
 
 
int Obsolutions5[] = { 
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1, 
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1, 
    -100 
}; 
 
 
int Obsolutions6[] = { 
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1, 
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1, 
    -100 
}; 
 
 
int Obsolutions7[] = { 
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1, 
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1, 
    -100 
}; 
 
 
int Obsolutions8[] = { 
    BLD_ID_HORDE1,    BLD_ID_DWELL1,    -1, 
    BLD_ID_HORDE1U,    BLD_ID_DWELL1U,    BLD_ID_HORDE1,    -1, 
    -100 
}; 
 
 
BOOL APIENTRY DllMain( HMODULE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved 
                     ) 
{ 
    if (ul_reason_for_call == DLL_PROCESS_ATTACH) 
    { 
        .... 
 
        //кажется, эти таблицы требуются едва ли не сразу, пусть правки будут здесь  
 
        *(int*)0x004EBAC9 = (int)ObsolutionsAll; 
        *(int*)0x004EBB04 = (int)ObsolutionsAll; 
        *(int*)0x004EBB3F = (int)ObsolutionsAll; 
        *(int*)0x004EBB7A = (int)ObsolutionsAll; 
        *(int*)0x004EBC74 = (int)ObsolutionsAll; 
 
        *(int*)0x004EBAD8 = (int)Obsolutions0; 
        *(int*)0x004EBB13 = (int)Obsolutions1; 
        *(int*)0x004EBB89 = (int)Obsolutions2; 
        *(int*)0x004EBB4E = (int)Obsolutions3; 
        *(int*)0x004EBB98 = (int)Obsolutions4; 
        *(int*)0x004EBBA7 = (int)Obsolutions5; 
        *(int*)0x004EBBB6 = (int)Obsolutions6; 
        *(int*)0x004EBBC5 = (int)Obsolutions7; 
        *(int*)0x004EBBD4 = (int)Obsolutions8; 
 
         ... 
    } 
    return TRUE; 
}
  
А во-вторых, есть всякие побочные эффекты типа подсказок по ПКМ
 
Code: 
 *(char*)0x461171 = 0x11; //фонтан удачи - не грейд пруда в экране холла ???? 
*(char*)0x5D2F5E = 0x55; //фонтан удачи - не грейд холла в хинтах
  
			 
			
			
			
		 |