Map Creation

In Skylords Reborn players can create custom maps using the Map Editor.

# Todo

* A stub is an article deemed too short to provide encyclopedic coverage of the subject.
* If you are familiar with the topic, please help to expand this article.
* This page is automatically sorted into the category Stub, until this box is removed.

* **Map Creation**
	+ Folder Structure (somewhat done)
	+ Files explaination (paking map etc)
	+ Random Map Generator
	+ Map Editor
		- Basics (Movement, Orientation, Functions) toggle things: render filter , fiew
		- Map setup, team setup, playerkits, language etc,
		- page per plugin (ie water tool), small tools on one page (distance measurement, selection)
		- Cutscene Editor
		- Entity List
		- Entity Placement
		- Entity Properties
	+ Scripting
		- Full Reference
		- ID Listen (Spell, Unit, Building, Database
		- Examples

## Map file structure

Below is a typical community map file with it folder structure displayed. If no file type is displayed it is a (sub-)folder:

* `*<identifier prefix>*_*<map name>*.pak`
	+ `bf1`
		- `map`
			* `ug_not_shipped`
				+ `*<identifier prefix>*_*<map name>*.map`
				+ `*<identifier prefix>*_*<map name>*`
					- `goals.xml`
					- `camera`
					- `config`
						* `map_settings.json`
					- `script1`
						* `_main.lua`
						* `_scriptgroups.lua`
						* `_scriptlist.lua`
						* `...`
					- `script2`
						* `...`
					- `script3`
						* `...`
					- `terrain`
						* `atlas_col.dds`
						* `atlas_nor.dds`
						* `normal_patches`
							+ `...`
					- `ui`
						* `artwork.jpg`
						* `description.xml`
						* `minimap.jpg`
						* `outcry_portraits`
							+ `unit_*<unit\_name>*_outcry.tga`

## Extended configuration for community maps

In Skylords Reborn, map creators have the option to add a `map_settings.json` file into a `config` folder, which can modify the pre-defined goals for PvP maps.

### Example Syntax

```
{
    "V1": {
        "map_end_tick": 18000,
        "hide_pvp_map_end_timer": false,
        "hide_pvp_map_score": false,
        "extension_ticks": 300,
        "perform_draw_check_at_remaining_ticks_before_end": 20,
        "on_draw_add_looping_extension_ticks": true
    }
}

```

In the example above the PvP match will end after 18000 ticks (= 1800 seconds = 30 minutes) and will neither hide the match timer nor the team scores. Additionally, each time if the score would constitute a draw at 20 ticks (= 2 seconds) before the end of the match, the duration would be extended by 300 ticks (= 30 seconds).

### Parameters

All these parameters are optional and their order does not matter.

 `on_draw_add_looping_extension_ticks` | This boolean parameter can be set to `true`, in order to extend the match by the ticks specified in `extension_ticks`, looping for as many times until there is no longer a draw.

Disclaimer
* The score system displays a team score in multi-player PvP games, but only the score of the player with the highest score on each team is compared to determine the winner of the match. This lack of transparency in itself makes for confusing match outcomes and therefore the use of the game time extending parameters is not recommended for non-1v1 maps.
	+ However, the system works fine for 1v1 spectator maps, as there the team score is determined by only one player per team.

## References

1. ↑ Forum announcement of extended configuration for community maps

## See also

**Map Creation**

 Map Editor | Functions
 Tools
 Map Scripting | Functions
 ID Lists | Card IDs ▪ Building IDs ▪ Spell IDs ▪ Unit IDs ▪ Ability IDs ▪ AbilityLineIDs