| Berserker   
   
   Posts: 16786
 
 |  | 
	| 04.08.2010 00:23 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 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: 16786
 
 |  | 
	| 12.08.2010 17:41 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 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: 16786
 
 |  | 
	| 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: 16786
 
 |  | 
	| 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 |  |