Berserker
Posts: 16657
|
|
04.08.2010 00:23 |
|
Berserker
Posts: 16657
|
|
10.08.2010 00:23 |
|
MOP
Posts: 1468
|
(10.08.2010 00:23)Berserker Wrote: MOP, ты не мог бы поделиться своей коллекцией общих бинарных патчей? Тех, что могли бы заюзать другие?
Таких мало, ибо в основном всё делаю в новой секции или на расчищенном конце содовской .text. Но попробую на досуге отобрать.
Вот для начала:
; MoP
; Увольнение последнего отряда в окне героя:
; 4DDC7E:
; CMP EAX,01h => NOP (3)
; 4DDC81:
; JLE SHORT 004DDC8F => NOP(2)
DDC7E 9090909090
; Увольнение последнего отряда в окне обмена героев:
; 5AF7D0:
; SETG DL => MOV DL,1; NOP
1AF7D0 B20190
; Увольнение последнего отряда в городе:
; 5D5139:
; CMP EAX,1 => NOP (3)
; 5D513C:
; JLE SHORT 005D5145 => NOP(2)
1D5139 9090909090
; Увольнение последнего отряда в Гарнизоне:
; 5D50F1:
; CMP EAX,1 => NOP (3)
; 5D50F4:
; JLE SHORT 005D50FD => NOP(2)
1D50F1 9090909090
; Врата Замка Инферно:
1D892C 909090909090; NOP (6) - затереть проверку на тип города
1D894C 90909090; NOP (4) - затереть проверку на построенность здания 22
1C2AD5 EB07; JMP SHORT 005C2ADE
; Разрешить строительство зданий в городах союзника:
1D5EF7 EB; jz L005D5F0E -> jmp L005D5F0E ; НАЗВАНИЕ: DiplomacyCorrect
; ВЕРСИЯ: 1.0
; АВТОР: MoP
; ОПИСАНИЕ: разрешает присоединение монстров только за деньги
; EXE: TE
; 4A755D:
; JG SHORT 004A75A3 => JMP SHORT 004A75A3
A755D EB
; Убрать скидки за уровень существа в Форте-на-Холме:
E801B B8060000009090909090; MOV EAX, 6; NOP (5) – всегда расценивать уровень существа как 7-ой. ; Активация кнопки "Следующий герой", отключенной в ТЕ.
9CE9 84D275768B; патчинг exe
; Объединить последний отряд одного героя с отрядом другого в окне города.
5C7821 B800000000
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
|
|
12.08.2010 13:55 |
|
Berserker
Posts: 16657
|
|
12.08.2010 17:41 |
|
Berserker
Posts: 16657
|
|
13.08.2010 00:55 |
|
MOP
Posts: 1468
|
(13.08.2010 00:55)Berserker Wrote: как вызвать диалог выбора места телепортации?
Так:
!?CM1; //тест: любой клик в любом городе
!!CA-1:H1/<0; //есть ли герой-гость?
!!FU&1:E; //выход, если нет
!!UN:C6919500/4/?y1; //указатель на TownManager
!!SN:E6129792/2/y1; //выполнить функцию
Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
|
|
16.08.2010 14:41 |
|
feanor
Posts: 624
|
(14.08.2010 21:11)Sav Wrote: Только хотелось бы узнать - нельзя ли как-нибудь универсально узнать, нет ли у существа иммунитета.
В Эре можно стандартную геройскую функцию дернуть.
double __fastcall sub_44A1A0(int spell, int creature, char* hero_caster, char* hero_target).
Первый параметр - номер заклинания,
Второй - номер существа
Третий - адрес структуры героя, кастующего заклинание
Четвертый - адрес структуры героя, чье существо подвергается заклинанию (0 - если героя нет)
|
|
21.08.2010 23:53 |
|
Berserker
Posts: 16657
|
|
22.08.2010 00:03 |
|
feanor
Posts: 624
|
Примерный код должен быть таким:
!!UN:C6919480/4/?y1; //базовый адрес
!!VRy10:S<caster_hero_number> *1170 +136736 +y1;
!!VRy20:S<target_hero_number> *1170 +136736 +y1;
!!SN:E4497824/3/<spell>/<creature>/y10/y20;
А вот возвращает оно нефиксированные результаты. 8 бит, плавающая запятая, чтоб её >_<
(This post was last modified: 22.08.2010 00:07 by feanor.)
|
|
22.08.2010 00:05 |
|
Berserker
Posts: 16657
|
|
22.08.2010 00:06 |
|
feanor
Posts: 624
|
Черт, все-таки там какой-то странный формат идёт.
В случае иммуна функция возвращает, скажем так, небольшое положительное (16, 45, 34).
В случае уязвимости - большое отрицательное (порядка -60000)
Что будет в случае удвоенного урона или частичного иммуна - даже думать боюсь.
Проверил: то же, что и в случае уязвимости.
(This post was last modified: 22.08.2010 00:31 by feanor.)
|
|
22.08.2010 00:27 |
|
GhostManSD
Posts: 1054
|
feanor, разрешите поинтересоваться, работаете ли Вы еще над внедрением книг заклинаний для монстров? Если нет, то не могли бы Вы предоставить свои наработки - с полным, разумеется, соблюдением авторских прав. Если все еще работаете, не могли бы Вы подсказать алгоритм создания такой книги для волшебного дракона? В частности, интересует то, можно ли считывать и менять заклинание волшебного дракона.
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
22.08.2010 01:07 |
|