Difference between revisions of "Object Format"

From VCMI Project Wiki
Jump to: navigation, search
(Object format)
(Object type format)
Line 19: Line 19:
 
//not recommended for VCMI objects.  
 
//not recommended for VCMI objects.  
 
"subIdMax":0,
 
"subIdMax":0,
"subIdMin":1
+
"subIdMin":1,
 +
 
 +
//defaults for objects of this type (see below)
 +
//optional
 +
//Note: objects of same type that have random object, should have identical masks
 +
"instance":
 +
{
 +
"mask":[
 +
"00000000",
 +
"00000000",
 +
"00000000",
 +
"0000VVVV",
 +
"0000VBBB",
 +
"0000VBBA"],
 +
}
 +
 
 
}
 
}
  

Revision as of 17:35, 27 January 2013

Object type format

Current draft. WiP.

{
   "objectTypes": 
   [
	
	"myCoolObject":{
 		//numeric ID, mandatory for h3/wog objects, shall be unique is defined
 		//not recommended for VCMI objects, shall be unique is defined, default: engine defined
		"id":689,
 
		"blockVisit" : true,

		//range of numeric sub id`s, mapped to this object type. Optional for h3/wog objects. 
		//not recommended for VCMI objects. 
		"subIdMax":0,
		"subIdMin":1,

		//defaults for objects of this type (see below)
		//optional
		//Note: objects of same type that have random object, should have identical masks
		"instance":
		{
		"mask":[
			"00000000",
			"00000000",
			"00000000",
			"0000VVVV",
			"0000VBBB",
			"0000VBBA"],
		}

	}

   ]
}

Example:

{
   "objectTypes": 
   [
	
	"artifact":{
		"id":5,
		"blockVisit" : true
	},

	"treasureChest":{
		"id":101,
		"subIdMax":0,
		"blockVisit" : true
	},

	"treasureChestWoG":{
		"id":101,
		"subIdMin":1,
		"blockVisit" : true
	},

	"pyramid": {
		"id":63,
		"subIdMax":0 //subtype 0
	},

	"wogObject": {
		"id":63,
		"subIdMin":1 //subtype> 0
	}

   ]
}

Object format

Current draft. WiP.

  • Used by editor, RMG, (???) by engine for random new objects.
  • analogue of "ZOBJCTS.TXT", "ZEOBJTS.TXT", "ZAOBJTS.TXT" from WoG.
{"objects":[

	{
		//mandatory
		//resource ID  of animation, relative to SPRITES(def file or json file (*) )
		"animation":"DEFNAME",
		
		//mandatory
		//bit mask of passability. (???) use more readable array and|or predefined templates
		"passability":[
			"11111111", 
			"11111111",
			"11111111",
			"11111111",
			"11111111",
			"11111110"],

		//mandatory
		//bit mask of activatable tiles (???) use more readable array and|or predefined templates
		"actions": [
			"00000000",
			"00000000",
			"00000000",
			"00000000",
			"00000000",
			"00000001"],

		// mandatory
		// list of tiles from which this object is visible, mostly needed for server
		// to detect if object is visible by player
		"visibility": [
			"000",
			"001",
			"011"],

		//alternative to actions, passability, visiblity
		// 0=not visible, passable
		// V=visible, passable
		// B=blocked, visible
		// A=activable, visible, passable depending on blockVisit flag of object type.
		"mask":[
			"00000000",
			"00000000",
			"00000000",
			"0000VVVV",
			"0000VBBB",
			"0000VBBA"],

		//mandatory (?)
		"id":"objectType", //object type from object type config. (!) Only string id`s.

		//allowed terrain types to place object too, can be overridden in editor. Affects also RMG.
		"landscape":["dirt", "sand"],

		// List of tags that can be used to locate object in map editor
		"tags":["dirt", "sand", "mine"],

		//mandatory
		//numeric ((?) needed) or full string object id
		//(?) id not required if subid in full identifier
		"subId":34,//or "objectType.objectName" f.e. "creature.pikeman" 
		
		//
		"group":"", 

		//optional, default false,
		"isOverlay": true, //false, true

	}

]}


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