# Hurry Curry! Data The game data includes recipes and maps. Its only required on the server side. `index.yaml` is where all maps and recipe sets are listed for the server to use; This includes additional metadata for maps. ## Recipes Each recipe set is a YAML file too containing a list of each possible recipe. The default recipe set this is generated from `recipes/default.js`. Anticurry is based of this but just switches input and output fields via a sed script. ## Map format Maps are defined in YAML format containing "ASCII-art" picture of the map tiles. Each character is assigned a tile name and additionaly properties in a lookup-table below. Properties are parsed like command-line argument. - Exclusive (`-x`): The player is only allowed to put items on that tile that have a recipe specific to that tile. - Walkable (`-w`): The tile has no collision and no items can be put on it. - Collider (`-c`): No items can be put on the tile (and it has collision, which is the default). - Book (`--book`): Clicking on the tile opens the book. - Chef spawn (`--chef-spawn`): Marks the spawn point for chefs and bots. - Customer spawn (`--customer-spawn`): Marks the spawn point for customers - Item (`-i=`): Populates the tile with a give item. - Conveyor (`--conveyor=,`): Moves items on this tile to another tile with relative position specified. Tile properties of any specific tile should generally be the same across all maps. For example crates should always be exclusive. ## Entities An incomplete list of entities. - `!customers` Customers that walk to chairs, order items and reward points. - `spawn_cooldown`(number): Minimum delay between spawning new customers in seconds. The actual time is randomized in range min..min*2. - `scaling_factor`(number): Maximum number of customers to be spawned per chair. If the limit is not reached, new ones are spawned regularly. - `!environment` A static list of environment modifiers (strings) for this map. - `!environment_effect` Environment modifier that is toggles on and off in intervals - `name`(string) - `on`(number, default=40): Delay from enable to disable - `off`(number, default=40): Delay from disable to enable - `on_stdev`(opt. number): If set, randomizes delay with gaussian distribition and given standard deviation. - `off_stdev`(opt. number) - `!player_portal` Teleports players that get fairly close to `from` to `to`. - `from`(2d vector) - `to`(2d vector) - `!item_portal` Teleports items. - `from`(2d vector) - `to`(2d vector) - `!tag_minigame`