Object instance format

From VCMI Project Wiki
Revision as of 13:38, 27 August 2015 by AVS (talk | contribs) (Quest format)
Jump to: navigation, search

Base formats

Owner format

All ownable objects

{
	//optional, default neutral
	"owner": "red"
}

Stack instance format

{
	"amount" : 1,
	"type" : "skeleton",
}

Army format

[
  {< Stack instance format>}, 
  {}
  //...
]

Quest format

{
	"army" : [
	],
	"artifacts" : [
	],
	"completedText" : "",
	"firstVisitText" : "",
	"hero" : "",
	"heroLevel" : -1,
	"killTarget" : "monster_666",
	"missionType" : "KillCreature",
	"nextVisitText" : "",
	"player" : "",
	"primarySkills" : {
		"attack" : 10,
		"defence" : 10,
		//"knowledge" : -1,
		//"spellpower" : -1
	},
	"resources" : {
		"crystal" : 0,
		"gems" : 0,
		"gold" : 0,
		"mercury" : 0,
		"mithril" : 0,
		"ore" : 0,
		"sulfur" : 0,
		"wood" : 0
	},
	"timeLimit" : 5
}

OH3 objects

Abandoned mine

  • engine [Todo]
  • editor [Done]
{
	"possibleResources" : [
		"crystal",
		"gems",
		"gold",
		"mercury",
		"ore",
		"sulfur"
	]
}

Artifact

  • engine [Todo]
  • editor [Done]
{
	"guardMessage" : "",
	"guards" : []//Army format	
}

Creature generator

See owner format

Garrison

  • engine [Todo]
  • editor [Done]
{
	"army" : [], //army format
	"owner" : "",
	"removableUnits" : true
}

Grail

  • editor [Done]
  • engine [Todo]
{
	"radius" : 0
}

Hero

  • also prison and random hero
  • editor [WiP]
  • engine [Todo]


{
	"army" : <Army format>
	,
	"artifacts" : {
		"backpack" : [
		],
		"feet" : "",
		"head" : "",
		"leftHand" : "",
		"leftRing" : "",
		"mach1" : "",
		"mach2" : "",
		"mach3" : "",
		"mach4" : "",
		"misc1" : "",
		"misc2" : "",
		"misc3" : "",
		"misc4" : "",
		"misc5" : "",
		"neck" : "",
		"rightHand" : "",
		"rightRing" : "",
		"shoulders" : "",
		"spellbook" : "",
		"torso" : ""
	},
	"biography" : "",
	"experience" : 0,
	
	//any type for prison, must match object subtype for hero, not used for random hero
	"type" : "galthran",
	"name" : "My hero",

	//optional default - patrol disabled. 0 - stand still, > 0 - patrol radius it tiles
	"patrolRadius" : 5,
			
	//optional hero id
	"portrait" : "",
			
	//optional default inherited from configuration
	"primarySkills" : {
		"attack" : 0,
		"defence" : 2,
		"knowledge" : 0,
		"spellpower" : 3
	},
			
	"secondarySkills" : {
		"leadership" : 3
		//...
	},

	//optional, default if not set
	"female" : true,//false
	"spellBook" : [
		"fortune"
		//...
	],
	"tightFormation" : false
}

Hero placeholder

[Todo]

Event

  • editor [Done]
  • engine [Todo]
{
	"aIActivable" : false,
	"artifacts" : [
		"swordOfHellfire"
	],
	"availableFor" : [
		"red",
		"blue",
		"tan",
		"green",
		"orange",
		"purple",
		"teal",
		"pink"
	],
	"creatures" : [
		{
			"creCount" : 1,
			"creID" : "phoenix",
			"randomCount" : false
		}
	],
	"experience" : 1,
	"guardMessage" : "...",
	"guards" : [],//army format
	"humanActivable" : true,
	"luck" : -1,
	"mana" : -1,
	"morale" : -1,
	"primarySkills" : {
		"attack" : 1,
		"defence" : 1,
		"knowledge" : 1,
		"spellpower" : 1
	},
	"removeAfterVisit" : true,
	"resources" : {
		"crystal" : -1,
		"gems" : -1,
		"gold" : -1,
		"mercury" : -1,
		"mithril" : 0,
		"ore" : -1,
		"sulfur" : -1,
		"wood" : -1
	},
	"secondarySkills" : {
		"fireMagic" : 1
	},
	"spells" : [
		"protectFire"
	]

}

Lighthouse

See owner format

Mine

See owner format

[Todo] editor army support

Monster

  • editor support [Done]
  • engine support [Todo]
{
	//mandatory
	"character" : 2,

	//required if randomCount is false
	"count" : 19,
	
	//optional, default false
	"noGrowing" : true

	//optional, default false
	"neverFlees" : false,

	//optional, artifact id
	"rewardArtifact" : "",

	//optional,
	"rewardMessage" : "",

	//all fields optional
	"rewardResources" : {
	
		"crystal" : 0,
		"gems" : 0,
		"gold" : 0,
		"mercury" : 0,
		"mithril" : 0,
		"ore" : 0,
		"sulfur" : 0,
		"wood" : 0
	}
}

Ocean bottle

  • editor [Done]
  • engine [Todo]
{
	"text": "Hello world!!!1111"
}

Pandoras box

  • editor [Done]
  • engine [Todo]
{
	"artifacts" : [
		"powerOfTheDragonFather"
	],
	"creatures" : [
		{
			"amount" : 99,
			"type" : "angel"
		},
		{
			"amount" : 1,
			"type" : "archangel"
		}
	],
	"experience" : 1000000,
	"guardMessage" : "Prepare to fight...",
	"guards" : [], //army format
	"luck" : 2,
	"mana" : 100,
	"morale" : 2,
	"primarySkills" : {
		"attack" : 1,
		"defence" : 1,
		"knowledge" : 1,
		"spellpower" : 1
	},
	"resources" : {
		"crystal" : -1,
		"gems" : -1,
		"gold" : -1,
		"mercury" : -1,
		"mithril" : 0,
		"ore" : -1,
		"sulfur" : -1,
		"wood" : -1
	},
	"secondarySkills" : {
		"logistics" : 1
	},
	"spells" : [
		"townPortal"
	]

}

Quest guard

[Todo]

{
	"quest" : {} //quest format
}

Random dwelling

  • editor [Done]
  • engine [Todo]
{
	"allowedFactions" : [
		"castle",
		"conflux",
		"dungeon",
		"fortress",
		"inferno",
		"necropolis",
		"neutral",
		"rampart",
		"stronghold",
		"tower"
	],
	"linked" : true,
	"maxLevel" : 6,
	"minLevel" : 0,
	"sameAsTown" : {
		"l" : 1,
		"x" : 43,
		"y" : 14,
		"subType" : "",
		"type" : "town"
	}
}

Resource

  • engine [Todo]
  • editor [Done]


{
	"amount" : 99999,
	"guardMessage" : "",
	"guards" : [] //army format
}

Scholar

  • editor [Done]
  • engine [Todo]
{
	"rewardPrimSkill" : "",
	"rewardSkill" : "wisdom",
	"rewardSpell" : "",
}

Seer hut

  • editor [Todo]
  • engine [Todo]
{
	"quest" : {}, //quest format
	"reward" : "",
	"rewardType" : "experience",
	"rewardValue" : 9999
}

Shipyard

See owner format

Shrine of magic

  • engine support [Todo]
  • editor support [Done]
{
	//optional, random spell if not set
	"spell" : ""
}

Spell scroll

  • engine [Todo]
  • editor [Done]
	"guardMessage" : "",
	"guards" : [], //army format
	"spell" : "magicArrow"
}

Town

  • engine [Todo]
  • editor [WiP]
	"army" : [], //army format
	"tightFormation" : false

	"name" : "", 
	"buildings" : {<Logical Id Condition>}
	"spells" : {<Logical Id Condition>}

	"events" : nil, //TODO

}

Witch hut

  • editor [Done]
  • engine [Todo]
{
	"allowedSkills" : [
		"airMagic",
		"archery",
		"armorer",
		"artillery",
		"ballistics",
		"diplomacy",
		"eagleEye",
		"earthMagic"
	]
}