Json configuration for spells

It’s sad:-(

By the way, seems like a bug.
In VCMI 0.97 this spell worked (repaired non-living things).
In last builds this spell on activation writes that it will affect no one.
Setting “smart”:true to false don’t help

{
	"repair":
	{
		"type": "combat", 
		"name": "Repair",
		"school":
		{
			"air": false,
			"earth": true,
			"fire": false,
			"water": false
		},
		"level": 4,
		"power": 30,
		"defaultGainChance": 3, 
		"gainChance":
		{
			"tower": 5
		},
 
		"animation":{
			"affect":"repair/repair"]
		},		
 
		"flags" : {"positive":true,"rising":true},
		
	//	"immunity":{"UNDEAD":true,"NON_LIVING":false},
 
		//flags structure of bonus names,any one of these bonus grants immunity
		"absoluteLimit":
		{
			"NON_LIVING" : true,
			"SIEGE_WEAPON" : true
		},
 		"limit":
		{
			"NON_LIVING" : true
		},
		//graphics - OPTIONAL; object;
		"graphics":
		{
			"iconBook": "repair/back0.bmp",
			"iconScroll": "repair/back1.bmp",
			"iconScenarioBonus": "repair/back2.bmp",
			"iconEffect": "repair/back3.bmp"
		},
		"sounds":
		{
			"cast":"spell_sounds/fixit"
		},
		"targetType" : "CREATURE",//_EXPERT_MASSIVE",
 
		"levels":
		{
			"none":
			{
				"description": "Repairs mechanisms, non-living creatures and siege weapons.",
	 
				"cost": 35,
				"power": 0,
				"aiValue": 17,
				"range": "0",
				"targetModifier":{"smart":true}
			},
			"basic":
			{
				"description": "Repairs mechanisms, non-living creatures and siege weapons.",
	 
				"cost": 35,
				"power": 200,
				"aiValue": 17,
				"range": "0",
				"targetModifier":{"smart":true}
				},
			"advanced":
			{
				"description": "Repairs mechanisms, non-living creatures and siege weapons.",
	 
				"cost": 35,
				"power": 300,
				"aiValue": 18,
				"range": "0",
				"targetModifier":{"smart":true}
			},
			"expert":
			{
				"description": "Repairs mechanisms, non-living creatures and siege weapons.",
	 
				"cost": 35,
				"power": 400,
				"aiValue": 19,
				"range": "0",
				"targetModifier":{"smart":true}
			}
		}
	}
 
}

And how about summoning spells?
I personally wait them more than one year.
Let’s make them same as summoning elementals (only one type of summoning spells can be cast after first casting), passing through “subtype” type of monsters, and deciding quantity of monsters through “power”/hitPoints.
Just make them already, please. :unamused:

By the way, made spell, that lowers stack speed to 0.

"type":"STACKS_SPEED",
"valueType":"PERCENT_TO_ALL",
"addInfo":100,
"val":-100,
"duration": "UNITL_BEING_ATTACKED"

It works well (unit not moving), but on screen error console message shows (in green font) - look image.
It’s not an error, maybe just suppress error console on battle screen?


It is a bug (not related to spells). Stack should not try to move if it have zero speed.

This is my first attempt to revive forgotten Fear spell in H3/VCMI
www101.zippyshare.com/v/F1YFKP8V/file.html


Please note, that Fear spell was planned diffirent than Azure’s Dragon ability. I try to configure it using these informations:
heroes.thelazy.net/wiki/Fear_(spell
heroescommunity.com/viewthread.p … 6509#focus

I created new summon spell summonGenie

It’s not good how currently number of summoned creatures is checked.
If my hero has 12 spellpower, and power=1 for expert level, it summons 12 genies.
It would be good enough, if it took power=120, for example, 120/40 genie hit points=3, and summoned 3 genies.
Currenlty I could not create summon devils, for example, 1 devil or another 7th level creature for each spell power is cheating.

PS It looks like power=30 in root of spell config is ignored, and only n level power is used. As I remember, in old configuration root power * spell power of herp + level power bonus gave full damage of spell.

Implemented. Added bool flag summonByHealth. F.e. 12 SP, 10 Level power, 40 HP => 3 creatures

1 Like

Only standard h3 creaures can be summoned?
When I type

console says failed to resolve identifier…

Try full identifier (with mod id).

“id”:“hota.pirate”,
or
“id”:“hota.cove.pirate” doesn’t work either ;[

shoud be hota.cove:pirate

it works, thank you! But mod id must not contains capital letters.
For example:
“id”:“doomMod.lostsoul” - is bad
“id”:“doommod.lostsoul” - is good
Maybe it’s obvious…

It is not obvious and very confusing actually. VCMI converts mod id to lower case, but for entity identifiers lowerCamelCase is recommended.

What exactly means this summonByHealth. We should type for example in spell json?:
“flags” : {
“indifferent”: true
“summonByHealth” : true
},

No it is not generic “flag”, it is boolean option of the effect.

		"battleEffects" : {
			"summon" : {
				"exclusive" : true,
				"id" : "waterElemental",
				"permanent" : false,
				"type" : "core:summon",
				"summonByHealth" : true
			}
		},

Thanks, I’ll test!

Is there any way to summon only one creature regardless of hero’s spell power?

1 Like

No it`s not.

Can someone helps me for the “id” fill for the summon spell? I tried plenty of times to get this right but I can’t figure what I need to put in the “id” section. I tried “rfggoldgolem”, “rfgGoldGolem”, “refugee.rfggoldgolem”, “refugee.rfgGoldGolem”, “refugeetown.rfggoldgolem”, “refugeetown:rfggoldgolem”, etc.

@misiokles says its “id”:“doommod.lostsoul” - Lostsoul is the creature’s id but what is exactly doommod? folder name, town name, etc.?
@AVS says it’s “id”:“hota.cove:pirate” - and here there’s hota.cove and then “:” followed by the creature id. I’m lost.

I have a spell localized in: (spell id = “rfgSummon”)
RefugeeTown/content/config/refugee/spells/spell.json

and I’d like to summon this creature: (creature id = “rfgGoldGolem”)
RefugeeTown/content/config/refugee/creatures/REFGL5L

What am I missing? Thanks for your answers