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