Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				ага, SergOz, спасибо, уберу
			 
			
			
  
			
		 |  
	 
 | 
	| 04.11.2021 17:21 | 
	
		
	 | 
	
		
		Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				 (01.11.2019 15:29)PerryR Wrote:  
Code: 
 Acid attack damage 00441251
  
 
Calc with Hex in Deca 
 
Example how to use it: 
 
Хм, у кого кислотная атака? 
Ржавые драконы разят врага в пост-атаке своей кислотой, минуя !?MF1, а потому не смог увидеть выпадание указанного значения   
			 
			
			
  
			
		 |  
	 
 | 
	| 07.11.2021 18:31 | 
	
		
	 | 
	
		
		daemon_n 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 4366 
	
		
	 | 
	
		
 | 
	| 07.11.2021 18:40 | 
	
		
	 | 
	
		
		daemon_n 
 
 
		
		
		
			
			
 
 
			
 
 
			
Posts: 4366 
	
		
	 | 
	
		
 | 
	| 07.11.2021 19:35 | 
	
		
	 | 
	
		
		Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				 (01.11.2019 15:29)PerryR Wrote:  Damage Type Return Address:
Code: 
 Fireball damage 0043F960 
Normal shooting 0043FA63 (4455011) 
Range cloud damage 0043FD42 
Ring damage 004400E4 (Strikes all Enemies around) 
Fire Shield Damage 0044085D 
Death gaze damage 00440E75 
Lightning strike 0044104D 
Acid attack damage 00441251 
Normal melee damage 0044173E (4462398) 
Dragon damage 0044178F 
Arrow Tower Damage 00465964 
Moat damage 00469A98 
Death ripple damage? 005A106A
  
 
Сделал для этих данных в справочнике комментарии, если что не так или надо иначе сформулировать, то скажите...
 Quote:Комментарии:  
- если монстр может атаковать сразу несколько целей одновременно, то у него урон всегда имеет тип "круговая атака" (даже при атаке одной цели); 
- тип повреждения "урон дракона" срабатывает лишь для стека, находящегося за основной целью (вторая клетка атаки); 
- заклинание "Волна смерти" можно считать исключением среди прочих из магической книги, т.к. обрабатывается сначала в триггерах !?MR, и уже потом в !?MF1 (зачем? остаётся загадкой). 
			 
			
			
  
			
		 |  
	 
 | 
	| 07.11.2021 22:25 | 
	
		
	 | 
	
		
		Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				нет, ты не внимательно прочитал... 
в y1 - это родительский  экран 
а в y2 уже будет дочерний экран (конечный результат) - там ф-ция получает 8 байт... первые 4 байта отдаются y1, а остальные 4е уже попадают в y2 
т.е. если ты будешь получать в y5, то тебе для идентификатора текущего диалога надо смотреть y6
			 
			
			
  
			
		 |  
	 
 | 
	| 08.11.2021 13:03 | 
	
		
	 | 
	
		
		Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				ERM-Help Wrote:
Работает это так: SN:F вызывает внешнюю функцию GetGameState. 
?y1 означает передачу в качестве параметра адрес y1 в памяти (y1 занимает 4 байта, y2 тоже четыре). А функция на самом деле работает с адресом структуры в 8 байт из двух полей: 
- родительский диалог (ID); приходится на y1 
- дочерний диалог (ID); приходится на y2 
если этот момент после прочтения комментария по ф-ции в справочнике всё равно не понятен, скажи, может стоит иначе написать... хотя как по мне, там всё вполне логично и доходчиво изложено   
			 
			
			
  
			
		 |  
	 
 | 
	| 08.11.2021 19:02 | 
	
		
	 | 
	
		
		Bes 
 
 
		
		
		
			
			
			
 
 
			
Posts: 5453 
	
		
	 | 
	
		
			
			 
			
				в родительском диалоге всегда будет КП 
в дочернем - тот что активный на момент вызова ф-ции 
что до v1, не знаю что туда идёт, Berserker про неё не говорил, к тому же, весь этот код я на базе ERA2 описывал... если что-то изменилось под ERA3, я этого не знаю. 
 
если я в примере напишу !!SN:F^GetGameState^/?v1; тебе будет понятнее, что id текущего диалога надо брать из v2 ?
			 
			
			
  
			
		 |  
	 
 | 
	| 08.11.2021 20:11 | 
	
		
	 |