| 
 
				Орды не отключал, но делал, например, Фонтан Удачи не грейдом пруда. 
Во-первых, в коде есть описание, какие здания друг другом заменяются, причем в двух вариантах, один изначальный, а другой - таблички, в которые он пакуется сразу после старта. Ну, в таком же формате, в каком в коде хранятся деревья отстройки. Я правил первый.
 
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; //фонтан удачи - не грейд холла в хинтах
 |