- Код: Выделить всё
int __stdcall changeShrinesFreq(LoHook* h, HookContext* c)
{
if(*(int*)(c->ebp + 8) == 88)
*(int*)(c->eax + 0x10) = 30;
if(*(int*)(c->ebp + 8) == 89)
*(int*)(c->eax + 0x10) = 150;
if(*(int*)(c->ebp + 8) == 90)
*(int*)(c->eax + 0x10) = 30;
return EXEC_DEFAULT;
}
...
_PI->WriteLoHook(0x534EDF, changeShrinesFreq);
Да, не всегда есть смысл так утверждать. Но в данном случае поиски глубинного смысла (к которым я сам весьма склонен) заводят в тупик ))
Сама система оригинальной игры с вэлью и частотой объектов - изначально кривая, по своему замыслу. Хотя имеет некое свое обаяние.
В случае со шрайнами разработчики ничтоже сумняшеся выставили частоту по 100 всем 3 шрайнам. Естественно, в системе, которую они сами же придумали это так работать не будет - то есть это не будет иметь следствием равновероятное появление всех 3 шрайнов.
Не могу здесь также не затронуть тему ульев (это которые вивернов дают) - то есть это то, через что играют онлайнщики (даже в большей степени, чем через консерватории). Ульи имеют вэлью 9000 и генерируются в основном в трежах, причем в очень неслабых количествах. Объектов со схожим вэлью в игре почти нет, поэтому ульев и генерируется много (нет "конкурентов").
Сомневаюсь, что это было сделано специально для онлайнщиков )) Скорее правильно было бы сказать, что онлайнщики используют это как своеобразный "эксплойт".