Difference between revisions of "Random map template"

From VCMI Project Wiki
Jump to: navigation, search
Line 48: Line 48:
 
<syntaxhighlight lang="javascript">
 
<syntaxhighlight lang="javascript">
 
{
 
{
"type" : "playerStart", //"cpuStart" "treasure" "junction"
+
"type" : "playerStart", //"cpuStart" "treasure"
"size" : 2, //relative size of zone
+
"size" : 2,
"owner" : 1, //player owned this zone
+
"owner" : 1,
 
"playerTowns" : {
 
"playerTowns" : {
 
"castles" : 1
 
"castles" : 1
//"towns" : 1
 
 
},
 
},
 
"neutralTowns" : {
 
"neutralTowns" : {
//"castles" : 1
 
 
"towns" : 1
 
"towns" : 1
 
},
 
},
 
"townsAreSameType" : true,
 
"townsAreSameType" : true,
"monsters" : "normal", //"weak" "strong"
+
"monsters" : "normal",
  
"terrainTypes" : [ "sand" ], //possible terrain types. All terrains will be available if not specified
+
"terrainTypes" : [ "sand" ],
"matchTerrainToTown" : false, //if true, terrain for this zone will match native terrain of player faction
+
"matchTerrainToTown" : false,
  
 
"minesLikeZone" : 1,
 
"minesLikeZone" : 1,
 
"treasureLikeZone" : 1
 
"treasureLikeZone" : 1
 
"terrainTypeLikeZone" : 3
 
"terrainTypeLikeZone" : 3
 
//"allowedMonsters" : [0, 1, 2] //ids of monsters allowed on this zone
 
//"allowedTowns" : [] //towns allowed on this terrain
 
  
 
"mines" : {
 
"mines" : {

Revision as of 08:36, 16 September 2022

Ideally, template format should be 100% compatible with OH3 format and bring additional improvements.

List of currently available templates

  • Analogy
  • Upgrade
  • Golden Ring
  • Unfair Game
  • Jebus Cross

Template format

/// Unique template name
"Triangle" : 
{
	//optional name - useful to have several template variations with same name (since 0.99)
	 "name" : "Custom template name",

	/// Minimal and maximal size of the map. Possible formats:
	/// Size code: s, m, l or xl for size with optional suffix "+u" for underground
	/// Numeric size, e.g.  120x120x1 (width x height x depth). Note that right now depth can only be 0 or 1
	"minSize" : "m",
	"maxSize" : "xl+u",

	/// Number of players that will be present on map (human or AI)
	"players" : "2-4",

	/// Number of AI-only players
	"cpu" : "1-2",

	/// [Optional] list of water modes supported by template. All water modes allowed if parameter is not specified
	"allowedWaterContent" : ["none", "normal", "islands"]

	/// List of named zones, see below for format description
	"zones" :
	{
		"zoneA" : { ... },
		"zoneB" : { ... },
		"zoneC" : { ... }
	},
	"connections" :
	[
		{ "a" : "zoneA", "b" : "zoneB", "guard" : 5000 },
		{ "a" : "zoneA", "b" : "zoneC", "guard" : 5000 },
		{ "a" : "zoneB", "b" : "zoneC", "guard" : 5000 }
	]
}

Zone format

{
	"type" : "playerStart", //"cpuStart" "treasure"
	"size" : 2,
	"owner" : 1,
	"playerTowns" : {
		"castles" : 1
	},
	"neutralTowns" : {
		"towns" : 1
	},
	"townsAreSameType" : true,
	"monsters" : "normal",

	"terrainTypes" : [ "sand" ],
	"matchTerrainToTown" : false,

	"minesLikeZone" : 1,
	"treasureLikeZone" : 1
	"terrainTypeLikeZone" : 3

	"mines" : {
		"wood" : 1,
		"ore" : 1,
	},

	"treasure" : [
		{
			"min" : 2100,
			"max": 3000,
			"density" : 5
		}
		  ...
	]
}