diff --git a/public/resources/biomes/aquatic/biomes.json b/public/resources/biomes/aquatic/biomes.json index 5af0e600..b0bfb091 100644 --- a/public/resources/biomes/aquatic/biomes.json +++ b/public/resources/biomes/aquatic/biomes.json @@ -13,7 +13,10 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 8, "substrate_types": ["deep_water"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "leviathan_grounds", "base_quantity": 2, "quality_range": [1, 4] } + ] }, { "id": "shallow_ocean", @@ -27,7 +30,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.3, "fungi": 0.0 }, "fauna_capacity": 12, "substrate_types": ["shallow_water"], - "food_web_tier": "tertiary" + "food_web_tier": "tertiary", + "collectibles": [ + { "resource": "river_fish", "base_quantity": 5, "quality_range": [1, 4] }, + { "resource": "pearl_beds", "base_quantity": 2, "quality_range": [1, 3] } + ] }, { "id": "coral_reef", @@ -41,7 +48,12 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.6, "fungi": 0.1 }, "fauna_capacity": 20, "substrate_types": ["shallow_water"], - "food_web_tier": "quaternary" + "food_web_tier": "quaternary", + "collectibles": [ + { "resource": "coral_reef", "base_quantity": 6, "quality_range": [1, 5] }, + { "resource": "pearl_beds", "base_quantity": 3, "quality_range": [2, 5] }, + { "resource": "river_fish", "base_quantity": 4, "quality_range": [1, 3] } + ] }, { "id": "estuary", @@ -55,7 +67,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.5, "fungi": 0.05 }, "fauna_capacity": 14, "substrate_types": ["shallow_water"], - "food_web_tier": "tertiary" + "food_web_tier": "tertiary", + "collectibles": [ + { "resource": "river_fish", "base_quantity": 5, "quality_range": [1, 4] }, + { "resource": "merfolk_shallows", "base_quantity": 2, "quality_range": [1, 3] } + ] }, { "id": "lake", @@ -69,7 +85,10 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.3, "fungi": 0.02 }, "fauna_capacity": 10, "substrate_types": ["lake_bed"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "river_fish", "base_quantity": 4, "quality_range": [1, 3] } + ] }, { "id": "pond", @@ -83,7 +102,10 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.15, "fungi": 0.01 }, "fauna_capacity": 3, "substrate_types": ["lake_bed"], - "food_web_tier": "primary" + "food_web_tier": "primary", + "collectibles": [ + { "resource": "river_fish", "base_quantity": 1, "quality_range": [1, 2] } + ] }, { "id": "river", @@ -97,7 +119,10 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.2, "fungi": 0.01 }, "fauna_capacity": 6, "substrate_types": ["shallow_water"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "river_fish", "base_quantity": 3, "quality_range": [1, 3] } + ] }, { "id": "mangrove", @@ -111,7 +136,12 @@ "flora_climax": { "canopy": 0.6, "undergrowth": 0.5, "fungi": 0.15 }, "fauna_capacity": 14, "substrate_types": ["wetland"], - "food_web_tier": "tertiary" + "food_web_tier": "tertiary", + "collectibles": [ + { "resource": "river_fish", "base_quantity": 4, "quality_range": [1, 3] }, + { "resource": "spice_groves", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "dye_plants", "base_quantity": 2, "quality_range": [1, 3] } + ] } ] } diff --git a/public/resources/biomes/arctic/biomes.json b/public/resources/biomes/arctic/biomes.json index 3f2fd58e..1c68ce1d 100644 --- a/public/resources/biomes/arctic/biomes.json +++ b/public/resources/biomes/arctic/biomes.json @@ -13,7 +13,8 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 1, "substrate_types": ["deep_water", "shallow_water"], - "food_web_tier": "primary" + "food_web_tier": "primary", + "collectibles": [] }, { "id": "glacial", @@ -27,7 +28,8 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.01, "fungi": 0.0 }, "fauna_capacity": 1, "substrate_types": ["peak", "mountain", "lowland"], - "food_web_tier": "primary" + "food_web_tier": "primary", + "collectibles": [] }, { "id": "polar_desert", @@ -41,7 +43,8 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.02, "fungi": 0.0 }, "fauna_capacity": 2, "substrate_types": ["lowland", "midland"], - "food_web_tier": "primary" + "food_web_tier": "primary", + "collectibles": [] }, { "id": "tundra", @@ -55,7 +58,13 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.15, "fungi": 0.05 }, "fauna_capacity": 5, "substrate_types": ["lowland", "midland"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "exotic_furs", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "highland_deer", "base_quantity": 2, "quality_range": [1, 2] }, + { "resource": "wild_cattle", "base_quantity": 1, "quality_range": [1, 2] }, + { "resource": "garnet", "base_quantity": 1, "quality_range": [1, 2] } + ] }, { "id": "alpine_tundra", @@ -69,7 +78,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.08, "fungi": 0.02 }, "fauna_capacity": 3, "substrate_types": ["mountain", "peak"], - "food_web_tier": "primary" + "food_web_tier": "primary", + "collectibles": [ + { "resource": "exotic_furs", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "sapphire", "base_quantity": 1, "quality_range": [1, 2] } + ] }, { "id": "boreal_forest", @@ -83,7 +96,13 @@ "flora_climax": { "canopy": 0.7, "undergrowth": 0.35, "fungi": 0.3 }, "fauna_capacity": 12, "substrate_types": ["lowland", "midland"], - "food_web_tier": "tertiary" + "food_web_tier": "tertiary", + "collectibles": [ + { "resource": "exotic_furs", "base_quantity": 4, "quality_range": [1, 4] }, + { "resource": "highland_deer", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "wild_game", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "iron_ore", "base_quantity": 2, "quality_range": [1, 3] } + ] } ] } diff --git a/public/resources/biomes/arid_world/biomes.json b/public/resources/biomes/arid_world/biomes.json index 8664802e..8c989591 100644 --- a/public/resources/biomes/arid_world/biomes.json +++ b/public/resources/biomes/arid_world/biomes.json @@ -13,7 +13,8 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 0, "substrate_types": ["regolith", "lowland"], - "food_web_tier": "none" + "food_web_tier": "none", + "collectibles": [] }, { "id": "canyon", @@ -27,7 +28,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 0, "substrate_types": ["canyon_wall", "highland_basalt"], - "food_web_tier": "none" + "food_web_tier": "none", + "collectibles": [ + { "resource": "obsidian", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "turquoise", "base_quantity": 1, "quality_range": [1, 3] } + ] }, { "id": "ancient_lakebed", @@ -41,7 +46,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 0, "substrate_types": ["clay", "lowland"], - "food_web_tier": "none" + "food_web_tier": "none", + "collectibles": [ + { "resource": "saltpeter_deposit", "base_quantity": 2, "quality_range": [1, 2] }, + { "resource": "gypsum", "base_quantity": 2, "quality_range": [1, 2] } + ] }, { "id": "dune_field", @@ -55,7 +64,8 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 0, "substrate_types": ["sand", "regolith"], - "food_web_tier": "none" + "food_web_tier": "none", + "collectibles": [] } ] } diff --git a/public/resources/biomes/elevated/biomes.json b/public/resources/biomes/elevated/biomes.json index ed68edd6..399c537c 100644 --- a/public/resources/biomes/elevated/biomes.json +++ b/public/resources/biomes/elevated/biomes.json @@ -13,7 +13,16 @@ "flora_climax": { "canopy": 0.2, "undergrowth": 0.3, "fungi": 0.1 }, "fauna_capacity": 8, "substrate_types": ["highland", "midland"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "iron_ore", "base_quantity": 4, "quality_range": [1, 4] }, + { "resource": "coal_seam", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "gold_vein", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "sheep_herds", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "amethyst", "base_quantity": 1, "quality_range": [1, 3] }, + { "resource": "pyrite", "base_quantity": 2, "quality_range": [1, 2] }, + { "resource": "quartz", "base_quantity": 2, "quality_range": [1, 2] } + ] }, { "id": "mountains", @@ -27,7 +36,17 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.05, "fungi": 0.02 }, "fauna_capacity": 3, "substrate_types": ["mountain", "peak"], - "food_web_tier": "primary" + "food_web_tier": "primary", + "collectibles": [ + { "resource": "iron_ore", "base_quantity": 3, "quality_range": [1, 4] }, + { "resource": "coal_seam", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "gold_vein", "base_quantity": 2, "quality_range": [2, 4] }, + { "resource": "diamond", "base_quantity": 1, "quality_range": [2, 5] }, + { "resource": "alexandrite", "base_quantity": 1, "quality_range": [3, 5] }, + { "resource": "fluorite", "base_quantity": 1, "quality_range": [1, 3] }, + { "resource": "calcite", "base_quantity": 2, "quality_range": [1, 2] }, + { "resource": "ancient_marble", "base_quantity": 1, "quality_range": [3, 5] } + ] }, { "id": "alpine_meadow", @@ -41,7 +60,12 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.3, "fungi": 0.08 }, "fauna_capacity": 6, "substrate_types": ["highland", "mountain"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "sheep_herds", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "wild_game", "base_quantity": 2, "quality_range": [1, 2] }, + { "resource": "garnet", "base_quantity": 1, "quality_range": [1, 3] } + ] }, { "id": "montane_forest", @@ -55,7 +79,13 @@ "flora_climax": { "canopy": 0.75, "undergrowth": 0.45, "fungi": 0.25 }, "fauna_capacity": 14, "substrate_types": ["highland"], - "food_web_tier": "tertiary" + "food_web_tier": "tertiary", + "collectibles": [ + { "resource": "wild_game", "base_quantity": 5, "quality_range": [1, 4] }, + { "resource": "iron_ore", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "emerald", "base_quantity": 1, "quality_range": [2, 4] }, + { "resource": "jade", "base_quantity": 1, "quality_range": [2, 4] } + ] }, { "id": "cloud_forest", @@ -69,7 +99,13 @@ "flora_climax": { "canopy": 0.8, "undergrowth": 0.65, "fungi": 0.5 }, "fauna_capacity": 20, "substrate_types": ["highland"], - "food_web_tier": "quaternary" + "food_web_tier": "quaternary", + "collectibles": [ + { "resource": "wild_game", "base_quantity": 6, "quality_range": [1, 4] }, + { "resource": "emerald", "base_quantity": 2, "quality_range": [2, 5] }, + { "resource": "jade", "base_quantity": 2, "quality_range": [2, 4] }, + { "resource": "opal", "base_quantity": 1, "quality_range": [2, 4] } + ] } ] } diff --git a/public/resources/biomes/geological/biomes.json b/public/resources/biomes/geological/biomes.json index 51dd6212..aeb5b51b 100644 --- a/public/resources/biomes/geological/biomes.json +++ b/public/resources/biomes/geological/biomes.json @@ -13,7 +13,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 1, "substrate_types": ["mountain"], - "food_web_tier": "primary" + "food_web_tier": "primary", + "collectibles": [ + { "resource": "obsidian", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "ruby", "base_quantity": 1, "quality_range": [2, 4] } + ] }, { "id": "subterranean", @@ -27,7 +31,14 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.1, "fungi": 0.6 }, "fauna_capacity": 8, "substrate_types": ["cave"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "iron_ore", "base_quantity": 4, "quality_range": [1, 4] }, + { "resource": "coal_seam", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "fluorite", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "selenite", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "calcite", "base_quantity": 3, "quality_range": [1, 2] } + ] } ] } diff --git a/public/resources/biomes/temperate/biomes.json b/public/resources/biomes/temperate/biomes.json index 58c4bdba..657a603e 100644 --- a/public/resources/biomes/temperate/biomes.json +++ b/public/resources/biomes/temperate/biomes.json @@ -13,7 +13,12 @@ "flora_climax": { "canopy": 0.1, "undergrowth": 0.35, "fungi": 0.05 }, "fauna_capacity": 8, "substrate_types": ["lowland", "midland"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "wild_game", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "sheep_herds", "base_quantity": 2, "quality_range": [1, 2] }, + { "resource": "incense_flowers", "base_quantity": 2, "quality_range": [1, 3] } + ] }, { "id": "temperate_grassland", @@ -27,7 +32,15 @@ "flora_climax": { "canopy": 0.05, "undergrowth": 0.55, "fungi": 0.1 }, "fauna_capacity": 14, "substrate_types": ["lowland", "midland"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "wild_game", "base_quantity": 5, "quality_range": [1, 3] }, + { "resource": "wild_cattle", "base_quantity": 4, "quality_range": [1, 3] }, + { "resource": "sheep_herds", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "grain_fields", "base_quantity": 4, "quality_range": [1, 3] }, + { "resource": "shadow_wine", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "dye_plants", "base_quantity": 2, "quality_range": [1, 2] } + ] }, { "id": "temperate_forest", @@ -41,7 +54,15 @@ "flora_climax": { "canopy": 0.85, "undergrowth": 0.6, "fungi": 0.35 }, "fauna_capacity": 18, "substrate_types": ["lowland", "midland"], - "food_web_tier": "tertiary" + "food_web_tier": "tertiary", + "collectibles": [ + { "resource": "wild_game", "base_quantity": 7, "quality_range": [1, 4] }, + { "resource": "iron_ore", "base_quantity": 3, "quality_range": [1, 4] }, + { "resource": "bog_mushrooms", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "exotic_furs", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "dye_plants", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "shadow_wine", "base_quantity": 2, "quality_range": [1, 4] } + ] } ] } diff --git a/public/resources/biomes/tropical/biomes.json b/public/resources/biomes/tropical/biomes.json index 54df455b..e0b1a48d 100644 --- a/public/resources/biomes/tropical/biomes.json +++ b/public/resources/biomes/tropical/biomes.json @@ -13,7 +13,17 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.08, "fungi": 0.01 }, "fauna_capacity": 4, "substrate_types": ["lowland", "midland"], - "food_web_tier": "primary" + "food_web_tier": "primary", + "collectibles": [ + { "resource": "gold_vein", "base_quantity": 2, "quality_range": [1, 4] }, + { "resource": "saltpeter_deposit", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "obsidian", "base_quantity": 1, "quality_range": [1, 3] }, + { "resource": "turquoise", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "opal", "base_quantity": 1, "quality_range": [1, 4] }, + { "resource": "agate", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "gypsum", "base_quantity": 2, "quality_range": [1, 2] }, + { "resource": "incense_flowers", "base_quantity": 2, "quality_range": [1, 3] } + ] }, { "id": "savanna", @@ -27,7 +37,13 @@ "flora_climax": { "canopy": 0.15, "undergrowth": 0.45, "fungi": 0.05 }, "fauna_capacity": 12, "substrate_types": ["lowland", "midland"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "wild_game", "base_quantity": 5, "quality_range": [1, 3] }, + { "resource": "wild_cattle", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "incense_flowers", "base_quantity": 2, "quality_range": [1, 3] }, + { "resource": "dye_plants", "base_quantity": 2, "quality_range": [1, 2] } + ] }, { "id": "tropical_dry_forest", @@ -41,7 +57,13 @@ "flora_climax": { "canopy": 0.65, "undergrowth": 0.5, "fungi": 0.2 }, "fauna_capacity": 16, "substrate_types": ["lowland", "midland"], - "food_web_tier": "tertiary" + "food_web_tier": "tertiary", + "collectibles": [ + { "resource": "wild_game", "base_quantity": 5, "quality_range": [1, 3] }, + { "resource": "spice_groves", "base_quantity": 3, "quality_range": [1, 4] }, + { "resource": "dye_plants", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "jade", "base_quantity": 1, "quality_range": [2, 4] } + ] }, { "id": "tropical_rainforest", @@ -55,7 +77,14 @@ "flora_climax": { "canopy": 0.95, "undergrowth": 0.7, "fungi": 0.4 }, "fauna_capacity": 25, "substrate_types": ["lowland", "midland"], - "food_web_tier": "quaternary" + "food_web_tier": "quaternary", + "collectibles": [ + { "resource": "wild_game", "base_quantity": 8, "quality_range": [1, 4] }, + { "resource": "spice_groves", "base_quantity": 4, "quality_range": [1, 5] }, + { "resource": "dye_plants", "base_quantity": 3, "quality_range": [1, 4] }, + { "resource": "gems", "base_quantity": 2, "quality_range": [2, 5] }, + { "resource": "emerald", "base_quantity": 2, "quality_range": [2, 5] } + ] } ] } diff --git a/public/resources/biomes/volcanic_world/biomes.json b/public/resources/biomes/volcanic_world/biomes.json index 8ffe5e4d..4e1b148d 100644 --- a/public/resources/biomes/volcanic_world/biomes.json +++ b/public/resources/biomes/volcanic_world/biomes.json @@ -13,7 +13,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 0, "substrate_types": ["basalt", "regolith"], - "food_web_tier": "none" + "food_web_tier": "none", + "collectibles": [ + { "resource": "obsidian", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "saltpeter_deposit", "base_quantity": 2, "quality_range": [1, 2] } + ] }, { "id": "lava_field", @@ -27,7 +31,8 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 0, "substrate_types": ["lava", "basalt"], - "food_web_tier": "none" + "food_web_tier": "none", + "collectibles": [] }, { "id": "caldera", @@ -41,7 +46,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 0, "substrate_types": ["volcanic_rock", "basalt"], - "food_web_tier": "none" + "food_web_tier": "none", + "collectibles": [ + { "resource": "obsidian", "base_quantity": 4, "quality_range": [2, 4] }, + { "resource": "ruby", "base_quantity": 1, "quality_range": [3, 5] } + ] }, { "id": "basalt_highland", @@ -55,7 +64,11 @@ "flora_climax": { "canopy": 0.0, "undergrowth": 0.0, "fungi": 0.0 }, "fauna_capacity": 0, "substrate_types": ["basalt", "highland_basalt"], - "food_web_tier": "none" + "food_web_tier": "none", + "collectibles": [ + { "resource": "obsidian", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "iron_ore", "base_quantity": 2, "quality_range": [1, 3] } + ] } ] } diff --git a/public/resources/biomes/wetland/biomes.json b/public/resources/biomes/wetland/biomes.json index d1139c95..51a4a2cc 100644 --- a/public/resources/biomes/wetland/biomes.json +++ b/public/resources/biomes/wetland/biomes.json @@ -13,7 +13,14 @@ "flora_climax": { "canopy": 0.5, "undergrowth": 0.6, "fungi": 0.45 }, "fauna_capacity": 15, "substrate_types": ["wetland"], - "food_web_tier": "tertiary" + "food_web_tier": "tertiary", + "collectibles": [ + { "resource": "bog_mushrooms", "base_quantity": 5, "quality_range": [1, 4] }, + { "resource": "nightshade", "base_quantity": 3, "quality_range": [1, 4] }, + { "resource": "dye_plants", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "river_fish", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "gems", "base_quantity": 1, "quality_range": [2, 4] } + ] }, { "id": "bog", @@ -27,7 +34,12 @@ "flora_climax": { "canopy": 0.05, "undergrowth": 0.3, "fungi": 0.2 }, "fauna_capacity": 6, "substrate_types": ["wetland"], - "food_web_tier": "secondary" + "food_web_tier": "secondary", + "collectibles": [ + { "resource": "bog_mushrooms", "base_quantity": 3, "quality_range": [1, 3] }, + { "resource": "nightshade", "base_quantity": 1, "quality_range": [1, 3] }, + { "resource": "river_fish", "base_quantity": 2, "quality_range": [1, 2] } + ] } ] } diff --git a/public/resources/resources.json b/public/resources/resources.json new file mode 100644 index 00000000..ea4e3ff3 --- /dev/null +++ b/public/resources/resources.json @@ -0,0 +1,523 @@ +{ + "_schema_notes": { + "quality_scale": { + "description": "Multiplier applied to all yield bonuses based on deposit richness. Five discrete levels.", + "1": { "multiplier": 0.5, "rationale": "Marginal vein — barely worth extracting. Civ5 equivalent of a sparse tile that barely tips a worker's time investment." }, + "2": { "multiplier": 0.75, "rationale": "Workable seam — typical poor-mountain find. Yields something but cities won't grow around it." }, + "3": { "multiplier": 1.0, "rationale": "Standard vein — the baseline all listed yields are balanced against. Map-gen targets this as the median." }, + "4": { "multiplier": 1.25, "rationale": "Rich vein — notable enough players reroute borders to capture it. Civ5 luxury equivalent with a visible bonus." }, + "5": { "multiplier": 1.5, "rationale": "Mother lode — rarest 5% of spawns. Justifies war to hold it. Civ5 analogue: natural wonder–adjacent resource tile." } + }, + "quantity": "Integer 1–5. How many units a tile yields when improved. Stacks with quality multiplier. Luxury happiness applies once per unique type regardless of quantity — quantity increases trade value only.", + "category_rules": { + "bonus": "Always visible. No tech gate, no trade. Yields food/production only. happiness_per_copy: 0.", + "luxury": "Tech-gated. Tradeable (1 copy = +happiness_per_copy per turn to receiving empire). Primary diplomatic trade good. Gates no units.", + "strategic": "Tech-gated. Required to train gates_units entries. Tradeable. happiness_per_copy: 0 — strategic value is military, not comfort." + } + }, + + "bonus": [ + { + "id": "deer", + "name": "Deer", + "category": "bonus", + "description": "Wild deer herds providing steady meat and hides.", + "terrains": ["forest", "tundra", "grassland"], + "revealed_by_tech": null, + "yields": { "food": 2, "production": 0, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 3], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "hunting_camp", + "sprite": "sprites/resources/deer.png", + "tags": ["fauna", "food"] + }, + { + "id": "bison", + "name": "Bison", + "category": "bonus", + "description": "Massive plains aurochs hunted for meat and bone tools.", + "terrains": ["plains", "grassland"], + "revealed_by_tech": null, + "yields": { "food": 1, "production": 1, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 3], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "hunting_camp", + "sprite": "sprites/resources/bison.png", + "tags": ["fauna", "food"] + }, + { + "id": "fish", + "name": "Fish", + "category": "bonus", + "description": "Freshwater shoals in rivers and lake margins.", + "terrains": ["coast", "lake", "river"], + "revealed_by_tech": null, + "yields": { "food": 2, "production": 0, "trade": 1, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 4], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "fishing_boats", + "sprite": "sprites/resources/fish.png", + "tags": ["aquatic", "food"] + }, + { + "id": "crabs", + "name": "Crabs", + "category": "bonus", + "description": "Shellfish beds harvested by net and trap along rocky shores.", + "terrains": ["coast"], + "revealed_by_tech": null, + "yields": { "food": 2, "production": 0, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 3], + "quality_range": [1, 3], + "gates_units": [], + "improvement_required": "fishing_boats", + "sprite": "sprites/resources/crabs.png", + "tags": ["aquatic", "food"] + }, + { + "id": "wheat", + "name": "Wheat", + "category": "bonus", + "description": "Wild grain stands growing thick in temperate lowlands.", + "terrains": ["plains", "grassland"], + "revealed_by_tech": null, + "yields": { "food": 2, "production": 0, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 4], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "farm", + "sprite": "sprites/resources/wheat.png", + "tags": ["flora", "food"] + }, + { + "id": "cattle", + "name": "Cattle", + "category": "bonus", + "description": "Semi-wild aurochs herds on open grassland.", + "terrains": ["grassland", "plains"], + "revealed_by_tech": "animal_husbandry", + "yields": { "food": 1, "production": 1, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 3], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "pasture", + "sprite": "sprites/resources/cattle.png", + "tags": ["fauna", "food"] + }, + { + "id": "sheep", + "name": "Sheep", + "category": "bonus", + "description": "Wild mountain sheep providing wool, meat, and milk.", + "terrains": ["hills", "grassland", "tundra"], + "revealed_by_tech": "animal_husbandry", + "yields": { "food": 2, "production": 0, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 3], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "pasture", + "sprite": "sprites/resources/sheep.png", + "tags": ["fauna", "food"] + }, + { + "id": "stone", + "name": "Stone", + "category": "bonus", + "description": "Exposed limestone and granite outcroppings. Cut stone accelerates early construction.", + "terrains": ["hills", "plains", "grassland"], + "revealed_by_tech": null, + "yields": { "food": 0, "production": 2, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 4], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "quarry", + "sprite": "sprites/resources/stone.png", + "tags": ["mineral", "production"] + }, + { + "id": "timber", + "name": "Timber", + "category": "bonus", + "description": "Dense old-growth timber stands suitable for beams and construction.", + "terrains": ["forest", "jungle"], + "revealed_by_tech": null, + "yields": { "food": 0, "production": 2, "trade": 1, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 5], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "lumber_mill", + "sprite": "sprites/resources/timber.png", + "tags": ["flora", "production"] + } + ], + + "luxury": [ + { + "id": "furs", + "name": "Furs", + "category": "luxury", + "description": "Premium arctic pelts — warmth and clan status in cold lands.", + "terrains": ["tundra", "forest", "arctic"], + "revealed_by_tech": "trapping", + "yields": { "food": 0, "production": 0, "trade": 4, "culture": 1 }, + "happiness_per_copy": 4, + "quantity_range": [1, 3], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "hunting_camp", + "sprite": "sprites/resources/furs.png", + "tags": ["fauna", "luxury", "cold"] + }, + { + "id": "ivory", + "name": "Ivory", + "category": "luxury", + "description": "Carved tusks from ancient horned beasts. Prized by craftsmen and collectors.", + "terrains": ["plains", "grassland", "desert"], + "revealed_by_tech": "trapping", + "yields": { "food": 0, "production": 1, "trade": 3, "culture": 1 }, + "happiness_per_copy": 4, + "quantity_range": [1, 2], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "hunting_camp", + "sprite": "sprites/resources/ivory.png", + "tags": ["fauna", "luxury"] + }, + { + "id": "silk", + "name": "Silk", + "category": "luxury", + "description": "Thread from rare cave moth cocoons — lightweight and lustrous.", + "terrains": ["forest", "jungle"], + "revealed_by_tech": "scholarship", + "yields": { "food": 0, "production": 0, "trade": 5, "culture": 1 }, + "happiness_per_copy": 5, + "quantity_range": [1, 3], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "plantation", + "sprite": "sprites/resources/silk.png", + "tags": ["flora", "luxury"] + }, + { + "id": "spices", + "name": "Spices", + "category": "luxury", + "description": "Rare aromatic herbs from deep jungle undergrowth. Transformative in cuisine and medicine.", + "terrains": ["jungle", "forest"], + "revealed_by_tech": "herbalism", + "yields": { "food": 1, "production": 0, "trade": 3, "culture": 0 }, + "happiness_per_copy": 4, + "quantity_range": [1, 3], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "plantation", + "sprite": "sprites/resources/spices.png", + "tags": ["flora", "luxury"] + }, + { + "id": "dyes", + "name": "Dyes", + "category": "luxury", + "description": "Deep-colored mineral and plant pigments used in clan heraldry and trade goods.", + "terrains": ["jungle", "plains", "desert"], + "revealed_by_tech": "culture", + "yields": { "food": 0, "production": 0, "trade": 3, "culture": 2 }, + "happiness_per_copy": 4, + "quantity_range": [1, 4], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "plantation", + "sprite": "sprites/resources/dyes.png", + "tags": ["flora", "luxury", "culture"] + }, + { + "id": "amber", + "name": "Amber", + "category": "luxury", + "description": "Ancient fossilized tree resin, golden and warm. Traded as curiosity across the known world.", + "terrains": ["forest", "plains"], + "revealed_by_tech": "scholarship", + "yields": { "food": 0, "production": 0, "trade": 5, "culture": 2 }, + "happiness_per_copy": 5, + "quantity_range": [1, 2], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "mine", + "sprite": "sprites/resources/amber.png", + "tags": ["mineral", "luxury"] + }, + { + "id": "salt", + "name": "Salt", + "category": "luxury", + "description": "Rock salt veins deep in desert karst. Indispensable for preservation and flavoring.", + "terrains": ["desert", "hills"], + "revealed_by_tech": null, + "yields": { "food": 1, "production": 0, "trade": 3, "culture": 0 }, + "happiness_per_copy": 3, + "quantity_range": [1, 4], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "mine", + "sprite": "sprites/resources/salt.png", + "tags": ["mineral", "luxury"] + }, + { + "id": "wine", + "name": "Wine", + "category": "luxury", + "description": "Wild grape vines on warm hillside terraces. Fermented wine is both sustenance and status.", + "terrains": ["grassland", "hills", "plains"], + "revealed_by_tech": "agriculture", + "yields": { "food": 1, "production": 0, "trade": 3, "culture": 1 }, + "happiness_per_copy": 4, + "quantity_range": [1, 4], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "plantation", + "sprite": "sprites/resources/wine.png", + "tags": ["flora", "luxury"] + }, + { + "id": "incense", + "name": "Incense", + "category": "luxury", + "description": "Fragrant resins burned at clan hearths and before the ancestors.", + "terrains": ["desert", "plains"], + "revealed_by_tech": "culture", + "yields": { "food": 0, "production": 0, "trade": 4, "culture": 2 }, + "happiness_per_copy": 5, + "quantity_range": [1, 3], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "plantation", + "sprite": "sprites/resources/incense.png", + "tags": ["flora", "luxury", "culture"] + }, + { + "id": "pearls", + "name": "Pearls", + "category": "luxury", + "description": "River pearls from molluscs in slow, clear waterways. Rare and beautiful.", + "terrains": ["coast", "lake", "river"], + "revealed_by_tech": "fishing", + "yields": { "food": 0, "production": 0, "trade": 5, "culture": 1 }, + "happiness_per_copy": 5, + "quantity_range": [1, 2], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "fishing_boats", + "sprite": "sprites/resources/pearls.png", + "tags": ["aquatic", "luxury"] + }, + { + "id": "copper", + "name": "Copper", + "category": "luxury", + "description": "Surface copper deposits. Beyond tools, sheet copper becomes currency and ceremonial art.", + "terrains": ["hills", "plains"], + "revealed_by_tech": "bronze_working", + "yields": { "food": 0, "production": 1, "trade": 3, "culture": 0 }, + "happiness_per_copy": 3, + "quantity_range": [1, 4], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "mine", + "sprite": "sprites/resources/copper.png", + "tags": ["mineral", "luxury"] + }, + { + "id": "marble", + "name": "Marble", + "category": "luxury", + "description": "White and grey marble veins sought after for monuments and clan halls.", + "terrains": ["hills", "mountains"], + "revealed_by_tech": "masonry", + "yields": { "food": 0, "production": 1, "trade": 2, "culture": 3 }, + "happiness_per_copy": 4, + "quantity_range": [1, 3], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "quarry", + "sprite": "sprites/resources/marble.png", + "tags": ["mineral", "luxury", "culture"] + }, + { + "id": "gems", + "name": "Gems", + "category": "luxury", + "description": "Pockets of uncut sapphires, rubies, and garnets found in deep mountain clefts.", + "terrains": ["mountains", "hills"], + "revealed_by_tech": "mining", + "yields": { "food": 0, "production": 0, "trade": 6, "culture": 1 }, + "happiness_per_copy": 6, + "quantity_range": [1, 3], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "mine", + "sprite": "sprites/resources/gems.png", + "tags": ["mineral", "luxury"] + }, + { + "id": "gold", + "name": "Gold", + "category": "luxury", + "description": "Concentrated gold veins in mountain granite. The universal measure of clan wealth.", + "terrains": ["hills", "mountains", "desert"], + "revealed_by_tech": "mining", + "yields": { "food": 0, "production": 0, "trade": 7, "culture": 0 }, + "happiness_per_copy": 5, + "quantity_range": [1, 3], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "mine", + "sprite": "sprites/resources/gold.png", + "tags": ["mineral", "luxury"] + }, + { + "id": "obsidian_glass", + "name": "Obsidian Glass", + "category": "luxury", + "description": "Volcanic obsidian knapped to a razor edge. A prestige material in blade-craft and ceremony.", + "terrains": ["volcano", "mountains", "desert"], + "revealed_by_tech": "metallurgy", + "yields": { "food": 0, "production": 1, "trade": 4, "culture": 2 }, + "happiness_per_copy": 4, + "quantity_range": [1, 2], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "mine", + "sprite": "sprites/resources/obsidian_glass.png", + "tags": ["mineral", "luxury", "volcanic"] + } + ], + + "strategic": [ + { + "id": "iron", + "name": "Iron", + "category": "strategic", + "description": "Iron ore deposits suitable for smelting into weapons-grade metal.", + "terrains": ["hills", "mountains"], + "revealed_by_tech": "bronze_working", + "yields": { "food": 0, "production": 3, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 5], + "quality_range": [1, 5], + "gates_units": ["pikeman", "cavalry", "berserker"], + "improvement_required": "mine", + "sprite": "sprites/resources/iron.png", + "tags": ["mineral", "strategic", "military"] + }, + { + "id": "horses", + "name": "Horses", + "category": "strategic", + "description": "Wild horse herds on open plains. Domesticated horses transform early military mobility.", + "terrains": ["plains", "grassland", "tundra"], + "revealed_by_tech": "animal_husbandry", + "yields": { "food": 1, "production": 1, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 4], + "quality_range": [1, 4], + "gates_units": ["cavalry"], + "improvement_required": "pasture", + "sprite": "sprites/resources/horses.png", + "tags": ["fauna", "strategic", "military"] + }, + { + "id": "coal", + "name": "Coal", + "category": "strategic", + "description": "Deep coal seams essential for high-temperature forges and industrial smelting.", + "terrains": ["hills", "mountains"], + "revealed_by_tech": "metallurgy", + "yields": { "food": 0, "production": 4, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 5], + "quality_range": [1, 5], + "gates_units": ["runesmith"], + "improvement_required": "mine", + "sprite": "sprites/resources/coal.png", + "tags": ["mineral", "strategic", "production"] + }, + { + "id": "saltpeter", + "name": "Saltpeter", + "category": "strategic", + "description": "Potassium nitrate precipitating in cave karst and desert margins. Essential for advanced military.", + "terrains": ["desert", "hills", "mountains"], + "revealed_by_tech": "alchemy", + "yields": { "food": 0, "production": 1, "trade": 2, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 3], + "quality_range": [1, 4], + "gates_units": [], + "improvement_required": "mine", + "sprite": "sprites/resources/saltpeter.png", + "tags": ["mineral", "strategic"] + }, + { + "id": "hardwood", + "name": "Hardwood", + "category": "strategic", + "description": "Dense old-growth ironwood and darkwood required for siege equipment and fortifications.", + "terrains": ["forest", "jungle"], + "revealed_by_tech": "engineering", + "yields": { "food": 0, "production": 3, "trade": 0, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 4], + "quality_range": [1, 5], + "gates_units": [], + "improvement_required": "lumber_mill", + "sprite": "sprites/resources/hardwood.png", + "tags": ["flora", "strategic", "production"] + }, + { + "id": "hides", + "name": "Hides", + "category": "strategic", + "description": "Heavy cave bear and mountain ox hides cured for armor and equipment.", + "terrains": ["forest", "tundra", "plains"], + "revealed_by_tech": "trapping", + "yields": { "food": 0, "production": 2, "trade": 1, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 3], + "quality_range": [1, 4], + "gates_units": ["archer"], + "improvement_required": "hunting_camp", + "sprite": "sprites/resources/hides.png", + "tags": ["fauna", "strategic", "military"] + }, + { + "id": "flint", + "name": "Flint", + "category": "strategic", + "description": "Flint-bearing chert beds in chalk plains. The first worked stone — essential for arrow tips.", + "terrains": ["plains", "hills", "desert"], + "revealed_by_tech": null, + "yields": { "food": 0, "production": 1, "trade": 1, "culture": 0 }, + "happiness_per_copy": 0, + "quantity_range": [1, 4], + "quality_range": [1, 3], + "gates_units": ["warrior", "archer"], + "improvement_required": "quarry", + "sprite": "sprites/resources/flint.png", + "tags": ["mineral", "strategic"] + } + ] +}