Need some help with modding

Yea! That is what i need. I update it now to:

		"targetCondition" : {
			"anyOf" : { 
				"core:bonus.SIEGE_WEAPON": "normal",
			},
		},

I assume that it doesnt matter if i use anyOf or allOf here, since it is a single entry :slight_smile:
I’ll test this afternoon.

Absolute means absolute immunity. In this place can be also "normal" immunity, such immunity be altered f.e. by Orb of Vulnerability (mostlye applicable in such cases "core:bonus.MIND_IMMUITY":"normal",)

It seems to work :slight_smile: But i found a “bug”:

If a hero does not have a spell book, then nevertheless you may click the spell button and get the open spell book dialogue. The spell book is empty normally, so this is just a nuisence. But if an artifact or a skill adds a spell, then that spell shows up. You can then click to cast it and get the message that the hero starts the encantation, but nothing happens.

Best would be to disable both spell cast buttons, the one at the adventure map and the battle spell cast button. This way the problem of adding a spell to a non-existing spell book would simply never show :slight_smile:

What is “type” : “SECONDARY_SKILL_VAL2” ?
I did not find any documentation about it.

Thanks. So i have to look at every single skill to find out what second parameter they have?

I found another bug, this time with the frost ring spell. Originally it is supposed to hit all around the targeted hex, but not the center! Is it possible to configure the correct behavior somehow?

My idea is a skill or spell, let’s name it “ice shield”. It should work like the fire shield, but with the frost ring animation and sound. It should be a creature ability, given to some creatures by frost ring specialists. So i came up with the idea to set the enemy stacks to always cast frost ring after attack. That works, but it also hits the attacked stack, which is the center of the spell. If frost ring would work as originally designed the center (attacked stack) would not be hit (except 2-hex creatures, which is a problem i still have to solve).

F.ex. the frost ring currently has

"range" : "1",

But is saw range configurations like this:

"range" : "0,1"

In this case for fireball. Interesting is: It has 2 values. The first 0 here means obviously hit the center, the second parameter seems to ba a range (1 more hex around). Not documented :slight_smile: So is it possible to configure the frost ring with this to not hit the center?

PS: For now i added a 100% damage reduction to water based spells to Adelaide. But this is not what i want to :slight_smile: The normal resistance to any spell including frost ring should be just normal.

Frost Ring range is broken in 1.1, should be fixed in 1.2

Ah, thanks. Optimal would be to have it configurable. So f.ex.:

"range" : "0,1"

for fireball, and omitting the first number, like f.ex.:

"range" : ",1"

for frost ring. Omitting the first number should then omit hitting the direct target. The comma is needed here to distinguish it from a single number. Another option would be to use a new symbol here as first number. Let’s say, some letter. So f.ex.:

"range" : "N,1"

Something like that.

I think this is how it works?
I haven’t investigated how spell ranges work, but definition of Frost Ring was correct. But it was incorrectly interpreted by code. So in 1.2
"range" : "1" will work like frost ring and exclude center
"range" : "0,1" will work like fireball and hit all 7 hexes including center

Ah, ok. So current implementation is just buggy :slight_smile:

I found anothre bug. Today i tried installing and running version 1.1.1. Worked so far, no more crashes. This is the first version that i did not have to compile myself. But there is a small bug regarding the directory names. The hero specialities are expected in

Content/sprites/specialities/

whereas the skill icons are expected in

Content/sprites/specialties/

Note the additional ‘i’ in the first path. Older versions just had the second path for both. I personally think “specialities” is correct, but for compatibility i’d recommend “specialties”.

There are some other bugs, where i don’t know what to do with. Here is the error console output:

Starting game with the arguments: 
File CONFIG/DEFAULTTEMPLATES/CROSS3 is not a valid JSON file!
At line 1, position 0 error: Not a valid UTF-8 file

Data in castle is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in conflux is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in dungeon is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in fortress is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in inferno is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in necropolis is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in rampart is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in stronghold is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in tower is invalid!
At /town/siege
	 Error: Required entry towerIconLarge is missing
At /town/siege
	 Error: Required entry towerIconSmall is missing

Data in catherine is invalid!
At <root>
	 Error: Failed to pass exactly one schema
<tested schemas>
At /images
	 Error: Required entry large is missing
At /images
	 Error: Required entry small is missing

Data in geon is invalid!
At <root>
	 Error: Failed to pass exactly one schema
<tested schemas>
At /images
	 Error: Required entry large is missing
At /images
	 Error: Required entry small is missing

Data in malcom is invalid!
At <root>
	 Error: Failed to pass exactly one schema
<tested schemas>
At /images
	 Error: Required entry large is missing
At /images
	 Error: Required entry small is missing

Data in nimbus is invalid!
At <root>
	 Error: Failed to pass exactly one schema
<tested schemas>
At /images
	 Error: Required entry large is missing
At /images
	 Error: Required entry small is missing

Data in roland is invalid!
At <root>
	 Error: Failed to pass exactly one schema
<tested schemas>
At /images
	 Error: Required entry large is missing
At /images
	 Error: Required entry small is missing

Data in sanya is invalid!
At <root>
	 Error: Failed to pass exactly one schema
<tested schemas>
At /images
	 Error: Required entry large is missing
At /images
	 Error: Required entry small is missing

Data in serena is invalid!
At <root>
	 Error: Failed to pass exactly one schema
<tested schemas>
At /images
	 Error: Required entry large is missing
At /images
	 Error: Required entry small is missing

Data in tiva is invalid!
At <root>
	 Error: Failed to pass exactly one schema
<tested schemas>
At /images
	 Error: Required entry large is missing
At /images
	 Error: Required entry small is missing

		[FAIL] Original game files
Data in breastplateOfBrimstone is invalid!
At /text
	 Error: Required entry event is missing
At /text
	 Error: Required entry name is missing
At <root>
	 Error: Required entry class is missing
At <root>
	 Error: Required entry type is missing
At <root>
	 Error: Required entry value is missing

Warning! Artifact rarity  not recognized!
		[FAIL] core
No templates found for 38:1
No templates found for 49:1
No templates found for 79:7
No templates found for 90:1
No templates found for 100:1
No templates found for 103:1
No templates found for 113:1
No templates found for 172:0
No templates found for 186:0
No templates found for 189:0
Attempt to delete music while playing!

More config file bugs. Here is the original config for the witch hut:

	"witchHut" : {
		"index" :113,
		"handler" : "witch",
		"base" : {
			"sounds" : {
				"visit" : ["GAZEBO"]
			}
		},
		"types" : {
			"object" : {
				"index" : 0,
				"aiValue" : 1500,
				"rmg" : {
					"zoneLimit"	: 3,
					"value"		: 1500,
					"rarity"	: 80
				}
			},
			"object1" : { //WoG?
				"index" : 1
			}
		}
	},

The “comment” is wrong. The subindex “1” is simply the snow version, not some “WoG” addition. And omitting any info here makes this object non-functional. The same is true for the “subterraneanGate” and the Library of Enlightment. To make them functional it is simply necessary to copy the entries from the subindex 0 to subindex 1.

Maybe you have some mod?
Downloaded 1.1.1 release, installed it, 0 warnings about config’s

Also, there is no snow version of witch hut, subterranean gates or library in H3. I think they were added in hota, but not in the base game.

Well, i removed vcmi completely and reinstalled it completely. Same result. I removed it again, and installed the latest dev version, same result.

And no, the snow versions where not added with WoG, they where in the original game. Unfortunately, some of them have a subindex of 1, other snow variants share the subindex 0 with the normal version. I just checked various such objects, and found that i forgot the learning stone in the above list.

I tried to make a “bugfix” mod, but setting a subindex here is not allowed, so i would have to modify the main config files.

BTW, there are other interesting objects which where added with WoG. Notably more versions of treasure chests. Would be a good idea to configure them. But they have subindexes from 1 to 10. So how to configure in a mod? No idea. WoG mod does something like that with the “Barbarian Lords Axe of Ferocity”, although the WoG mod “forgot” to configure this object. But it has its own subindex.

Did you try to install WoG mod from launcher. Barbarian Axe is configured.

I think i had an older version of this mod. Checked that with the older version. I just re-checked, and yes, it is now configured. But now it has no index in the config file. It doesnt really matter, for this is a combo artifact, an you can build it from its components. But in editor it would be possible to add this artifact, but it would do nothing i assume.

Not that important though :slight_smile:

Indexes are only for vanilla things. Any mod doesn’t use indexes.

And no, the snow versions where not added with WoG, they where in the original game.

Heroes 3 defines only 1 object with ID 113 (Witch Hut). Object AvsWitch0.def. Which is normal witchhut and does not have a snow terrain version.

If you think that I am wrong please give me either:

  • name of vanilla map that has snow witch hut
  • name of .def file with snow version of witch hut.

The names are easy to get. Just put one of them on a map, and use the “Advanced Properties”.

Here are the names of the def files:

  • Witch Hut: Z358O4.def
  • Subterranean Gate: Z358O5.def
  • Learning Stone: Z358O1.def
  • Treasure Chest 1: Zchst1.def
  • Treasure Chest 2: Zchst2.def
  • Treasure Chest 3: Zchst3.def
  • Treasure Chest 4: Zchst4.def
  • Treasure Chest 5: Zchst5.def
  • Treasure Chest 6: Zchst6.def
  • Treasure Chest 7 (Opal of Magic): ZCBON000.def
  • Treasure Chest 8 (Ruby of Offense): ZCBON001.def
  • Treasure Chest 9 (Sappire of Defense): ZCBON002.def
  • Treasure Chest 10 (Emerald of Speed): ZCBON003.def
  • Library of Enlightment: Z358O3.def
    I checked the “Titans Winter” map. It has a Learning Stone, but not the snow version. So you may be right that they where introduced with WoG. It is so long ago, that i do not remember exactly what was original and what was new in WoG :slight_smile:
    There are some other objects, notable the "Barbarion Lords Axe of Ferocity), which where introducerd with WoG, are present in common map editors, and do have index and subindex. Maybe these should be included in the base config, even if they do not need to be configured there. The configuration may then still be done in some Mod. But if you can put these objects on a map, and it does have an index, it should be made known to the vcmi engine.

Regarding the Treasure Chests 7 to 10: It would be good to set the bonus not to gold or experience or artifact, but fixed to one of the primary skills. This makes them compatible with H4, where the def files where ripped from.

There is something that apparently has changed with the limiters. I get this error message:

Wrong Limiter will be ignored: The 'ONLY_ENEMY_ARMY' effectRange is only compatible with the 'OPPOSITE_SIDE' limiter.
Wrong Limiter will be ignored: The 'ONLY_ENEMY_ARMY' effectRange is only compatible with the 'OPPOSITE_SIDE' limiter.

This “OPPOSITE_SIDE” limiter is unknown to me.