Difference between revisions of "Creature Format"

From VCMI Project Wiki
Jump to: navigation, search
m
Line 93: Line 93:
 
 
 
// animation parameters
 
// animation parameters
// TODO: explain meaning and use them by engine
+
 
 +
// how often creature should play idle animation
 
"timeBetweenFidgets" : 1.00,
 
"timeBetweenFidgets" : 1.00,
 +
// unused H3 property
 
"troopCountLocationOffset" : 0,
 
"troopCountLocationOffset" : 0,
 
"animationTime" :
 
"animationTime" :
 
{
 
{
 +
// movement animation time.
 
"walk" : 1.00,
 
"walk" : 1.00,
 +
 +
// ranged attack animation time. Applicable to shooting and casting animation
 +
// NOTE: does NOT affects melee attacks
 +
// This is H3 behaviour, for proper synchronization of attack/defense animations
 
"attack" : 1.00,
 
"attack" : 1.00,
 +
 +
// How far flying creature should move during one "round" of movement animation
 +
// This is multiplier to base value (200 pixels)
 
"flight" : 1.00
 
"flight" : 1.00
 
},
 
},
Line 106: Line 116:
 
// name of file for missile
 
// name of file for missile
 
"animation" : "",  
 
"animation" : "",  
// Frame at which projectile should appear
+
// Frame at which projectile should appear. At this frame attacker animation
 +
// will be paused until projectile hits its target
 
"attackClimaxFrame" : 0,
 
"attackClimaxFrame" : 0,
 +
 +
// offsets between position of shooter and position where projectile should appear
 
"offset" :
 
"offset" :
 
{
 
{

Revision as of 11:32, 28 July 2013

See thread http://forum.vcmi.eu/viewtopic.php?t=533 for discussion.

// camelCase unique creature identifier
"creatureName" : 
{
	// translatable names
	"name" :
	{
		"singular" : "Creature",
		"plural" : "Creatures"
	},
	"level" : 0,

	// if set to true creature will not appear in-game randomly (e.g. as neutral creature)
	"special" : true, 
	
	// config name of faction. Examples: castle, rampart
	"faction" : "", 
	// cost to recruit, zero values can be omitted.
	"cost" : 
	{
		"wood" : 0,
		"mercury" : 0,
		"ore" : 0,
		"sulfur" : 0,
		"crystal" : 0,
		"gems" : 0,
		"gold" : 0
	},
	// "value" of creature, used to determine for example army strength
	"fightValue" : 0,

	// "ai value" - how valuable this creature should be for AI
	"aiValue" : 0,
	
	// normal growth in town or external dwellings
	"growth" : 0,
	
	// growth bonus from horde building
	// TODO: reconsider need of this field after configurable buildings support
	"hordeGrowth" : 0,
	
	// Creature stats in battle
	"attack" : 0,
	"defence" : 0,
	"hitPoints" : 0,
	"shots" : 0,
	"speed" : 0,
	"damage" :
	{
		"min" : 0,
		"max" : 0
	},
	// spellpoints this creature has, how many times creature may cast its spells
	"spellPoints" : 0,
	// initial size of creature army on adventure map
	"advMapAmount" :
	{
		"min" : 0,
		"max" : 0
	},
	
	// Creature to which this creature can be upgraded
	// Note that only one upgrade can be available from UI
	"upgrades" :
	[
		"anotherCreature"
	],

	// Creature is 2-tiles in size on the battlefield
	"doubleWide" : false,

	// All creature abilities, using bonus format
	"abilities" :
	[
		"someName1" : Bonus Format,
		"someName2" : Bonus Format
	],

	"hasDoubleWeek": true,
	
	"graphics" :
	{
		// name of file with creature battle animation
		"animation" : "",
		// adventure map animation def
		"map" : "",
		// path to small icon for tooltips & hero exchange window
		"iconSmall" : "",
		// path to large icon, used on town screen and in hero screen
		"iconLarge" : "",
		
		// animation parameters

		// how often creature should play idle animation
		"timeBetweenFidgets" : 1.00,
		// unused H3 property
		"troopCountLocationOffset" : 0,
		"animationTime" :
		{
			// movement animation time.
			"walk" : 1.00,

			// ranged attack animation time. Applicable to shooting and casting animation
			// NOTE: does NOT affects melee attacks
			// This is H3 behaviour, for proper synchronization of attack/defense animations
			"attack" : 1.00,

			// How far flying creature should move during one "round" of movement animation
			// This is multiplier to base value (200 pixels)
			"flight" : 1.00
		},
		"missile" :
		{
			// name of file for missile
			"animation" : "", 
			// Frame at which projectile should appear. At this frame attacker animation
			// will be paused until projectile hits its target
			"attackClimaxFrame" : 0,

			// offsets between position of shooter and position where projectile should appear
			"offset" :
			{
				"upperX" : 0,
				"upperY" : 0,
				"middleX" : 0,
				"middleY" : 0,
				"lowerX" : 0,
				"lowerY" : 0
			},
			// angles from which frames in .def file were rendered, -90...90 range
			"frameAngles" : []
		}
	},

	// names of sound files
	"sound" : 
	{
		"attack": "",
		"defend": "",
		"killed": "",
		"move": "",
		"shoot" : "",
		"wince": "",
		"startMoving" : "",
		"endMoving" : ""
	}
}


Modding related articles

Main articles
Modding changelog Modding guidelines Mod Handler


Formats
Mod file Format
Town Format Creature Format Hero Classes Format
Artifact Format Animation Format Hero Format
Bonus Format Object Format Spell Format


Work-in-progress formats
Building bonuses Map format
Bonus Type Format Random map template


Outdated pages
Mod system proposal