| Archer30   
   
   Posts: 1192
 
 | 
			| 
 
				Is there a way to let AI learn that my Diamond Dragon's breath attack's secondary target won't deal damage to friendly troops (but the main target still will, if it's hypnotized)? 
I can write something like this:
 
This works almost perfect but I want to avoid setting the damage to 0 for the main target. It seems there is no classic erm way to know whether a target is the secondary target of breath attack or main in OnStackToStackDamage.
Edit: 
I made it with some enlightenment from daemon_n. A hook at 441487 makes the whole thing very straightforward.
			
 Latest ERA mods and scripts in development -  My GitHub
 
				
(This post was last modified: 14.12.2023 09:04 by Archer30.)
 |  | 
	| 14.12.2023 08:17 |  | 
	
		| daemon_n   
   
   Posts: 4366
 
 | 
			| 
 
				Как получить тип загружаемого ресурса из дерева всех ресурсов  по имени? 
Проблема в том, что для Pcx и Pcx16 результаты не те, что ожидалось, ведь их типы 2/16 и 0/18 соответственно, если верить IDA
 
Что не так с кодом, с игрой, с чем-либо ещё?
			
 
  
 Новейший Heroes Launcher
 |  | 
	| 23.12.2023 08:16 |  | 
	
		| XEPOMAHT   
   
   Posts: 2481
 
 | 
			| 
 
				 (23.12.2023 08:16)daemon_n Wrote:  Проблема в том, что для Pcx и Pcx16 результаты не те, что ожидалось, ведь их типы 2/16 и 0/18 соответственно, если верить IDA
 Что не так с кодом, с игрой, с чем-либо ещё?
 
1. HD-мод умеет подменять любой pcx на bmp, поэтому при вмешательстве в код Бараторч наверняка добавил собственные типы, чтобы самостоятельно выгружать HD-модовский ресурс (и чтобы сам движок игры его даже не пытался выгружать).
 
2. era.dll умеет подменять любой pcx на png, поэтому при вмешательстве в код Берсеркер наверняка добавил собственные типы, чтобы самостоятельно выгружать эровский ресурс (и чтобы сам движок игры его даже не пытался выгружать).
 
Поэтому лучше проверять на pcx, которые на 100% никто не подменяет (а в сборке Лаучера вполне возможно, что скоро будут подменены все pcx в игре).
			 |  | 
	| 23.12.2023 09:55 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 23.12.2023 14:32 |  | 
	
		| daemon_n   
   
   Posts: 4366
 
 |  | 
	| 23.12.2023 18:44 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 |  | 
	| 08.01.2024 12:04 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 |  | 
	| 12.01.2024 18:00 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 13.01.2024 00:23 |  | 
	
		| igrik   
   Posts: 2821
 
 |  | 
	| 13.01.2024 21:22 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 |  | 
	| 15.01.2024 11:27 |  | 
	
		| igrik   
   Posts: 2821
 
 |  | 
	| 15.01.2024 14:45 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 | 
			| 
 
				igrik, thanks a lot!
 
Well, looks like I need a hook (or MM0?) here because the description I want to show is dynamic. For example, 
 Quote:Level %y1 
where y1 equals the level of the War Machine/Henchman.
			 
 Latest ERA mods and scripts in development -  My GitHub
 
				
(This post was last modified: 16.01.2024 04:28 by Archer30.)
 |  | 
	| 15.01.2024 17:39 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 | 
			| 
 
				New question: 
Is there to get the pointer of a string in json, for example:
 
Code:
 {"ntsfl":  {
 "set": {
 "altTerrains": "1"    // alternative terrains for Castle/Tower
 },
 
 "str": {
 "grailName":  "Eye of Sauron",
 }
 }
 }
 
What would the pointer to "%T(ntsfl.str.grailName)" be?
			
 Latest ERA mods and scripts in development -  My GitHub
 
				
(This post was last modified: 16.01.2024 05:12 by Archer30.)
 |  | 
	| 16.01.2024 04:29 |  | 
	
		| Berserker   
   
   Posts: 16786
 
 |  | 
	| 16.01.2024 15:38 |  | 
	
		| Archer30   
   
   Posts: 1192
 
 |  | 
	| 17.01.2024 01:38 |  |