mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-19 21:10:12 +02:00
- Markdown will now be validated as part of Github CI - Applied auto-fix to most common issues (mostly whitespace related) - Fixed manually some of more complex cases Some valid markdownlint rules are currently disabled, to avoid failing CI, can be enabled in future
4.5 KiB
4.5 KiB
Random Map Template
Template format
/// Unique template name
"Triangle" :
{
//Optional name - useful to have several template variations with same name
"name" : "Custom template name",
//Any info you want to be displayed in random map menu
"description" : "Detailed info and recommended rules",
/// 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",
/// Since 1.4.0 - Optional, number of human-only players (as in original templates)
"humans" : "1-4",
///Optional parameter allowing to prohibit some water modes. All modes are allowed if parameter is not specified
"allowedWaterContent" : ["none", "normal", "islands"]
/// List of game settings that were overriden by this template. See config/gameConfig.json in vcmi install directory for possible values
/// Settings defined here will always override any settings from vcmi or from mods
"settings" : {
"heroes" : {
"perPlayerOnMapCap" : 1
}
}
},
/// List of named zones, see below for format description
"zones" :
{
"zoneA" : { ... },
"zoneB" : { ... },
"zoneC" : { ... }
},
"connections" :
[
{ "a" : "zoneA", "b" : "zoneB", "guard" : 5000, "road" : "false" },
{ "a" : "zoneA", "b" : "zoneC", "guard" : 5000, "road" : "random" },
{ "a" : "zoneB", "b" : "zoneC", "type" : "wide" }
//"type" can be "guarded" (default), "wide", "fictive", "repulsive" or "forcePortal"
//"wide" connections have no border, or guard. "fictive" and "repulsive" connections are virtual -
//they do not create actual path, but only attract or repulse zones, respectively
]
}
Zone format
{
// Type of this zone. Possible values are:
// "playerStart", "cpuStart", "treasure", "junction"
"type" : "playerStart",
// relative size of zone
"size" : 2,
// index of player that owns this zone
"owner" : 1,
// castles and towns owned by player in this zone
"playerTowns" : {
"castles" : 1
"towns" : 1
},
// castles and towns that are neutral on game start in this zone
"neutralTowns" : {
//"castles" : 1
"towns" : 1
},
// if true, all towns generated in this zone will belong to the same faction
"townsAreSameType" : true,
//"weak" "strong", "none" - All treasures will be unguarded
"monsters" : "normal",
//possible terrain types. All terrains will be available if not specified
"terrainTypes" : [ "sand" ],
//optional, list of explicitly banned terrain types
"bannedTerrains" : ["lava", "asphalt"]
// if true, terrain for this zone will match native terrain of player faction. Used only in owned zones
"matchTerrainToTown" : false,
// Mines will have same configuration as in linked zone
"minesLikeZone" : 1,
// Treasures will have same configuration as in linked zone
"treasureLikeZone" : 1,
// Terrain type will have same configuration as in linked zone
"terrainTypeLikeZone" : 3,
// Custom objects will have same configuration as in linked zone
"customObjectsLikeZone" : 1,
// factions of monsters allowed on this zone
"allowedMonsters" : ["inferno", "necropolis"]
// These monsers will never appear in the zone
"bannedMonsters" : ["fortress", "stronghold", "conflux"]
// towns allowed on this terrain
"allowedTowns" : ["castle", "tower", "rampart"]
// towns will never spawn on this terrain
"bannedTowns" : ["necropolis"]
// List of mines that will be added to this zone
"mines" : {
"wood" : 1,
"ore" : 1,
},
// List of treasures that will be placed in this zone
"treasure" : [
{
"min" : 2100,
"max": 3000,
"density" : 5
}
...
],
// Objects with different configuration than default / set by mods
"customObjects" :
{
// All of objects of this kind will be removed from zone
// Possible values: "all", "none", "creatureBank", "bonus", "dwelling", "resource", "resourceGenerator", "spellScroll", "randomArtifact", "pandorasBox", "questArtifact", "seerHut", "other
"bannedCategories" : ["all", "dwelling", "creatureBank", "other"],
// Specify object types and subtypes
"bannedObjects" :["core:object.randomArtifactRelic"],
// Configure individual common objects - overrides banned objects
"commonObjects":
[
{
"id" : "core:object.creatureBank.dragonFlyHive",
"rmg" : {
"value" : 9000,
"rarity" : 500,
"zoneLimit" : 2
}
}
]
}
}