diff --git a/public/resources/ecology/fauna/species/frostsabre.json b/public/resources/ecology/fauna/species/frostsabre.json new file mode 100644 index 00000000..0e4d9147 --- /dev/null +++ b/public/resources/ecology/fauna/species/frostsabre.json @@ -0,0 +1,79 @@ +{ + "id": "frostsabre", + "name": "Frostsabre", + "description": "Arctic dire-felid whose coat traps ice into a glittering mantle that never thaws while it lives. Twin scimitar canines split in the cold so cleanly that prey often does not feel the strike until the cat is already away. Inhabits glaciated mountain passes and polar steppe at the threshold of habitable elevation; eats anything from snow leopard up to muskox. Frostsabre tracks in fresh snow rarely melt out — the air around its prints stays measurably below ambient for hours. Touched by the death school's killing-frost current; bridges the mundane snow_leopard / jaguar T7 felids and the T9 sphinx.", + "tags": ["domain_land", "trophic_apex_predator", "tier_8"], + "domain": "land", + "trophic_level": "apex_predator", + "lineage": "felids", + "ecology_tier": 8, + "magic_school_affinity": "death", + "traits": [ + "size_large", + "diet_carnivore", + "habitat_terrestrial", + "locomotion_running", + "thermal_warm_blooded", + "repro_k_strategy", + "social_solitary" + ], + "prey": [ + "snow_leopard", + "polar_bear", + "jaguar", + "grey_wolf", + "musk_ox" + ], + "habitat_min": 0.2, + "migration_range": 8, + "carrying_capacity": 0.05, + "lifecycle": { + "system": "permafrost", + "stage": "active", + "formed_by": [ + { + "source": "cub", + "mechanism": "accumulation", + "condition": "glaciated mountain pass with persistent killing-frost mana current and large-mammal prey base" + } + ], + "transforms": [] + }, + "encyclopedia": { + "category": "world", + "entry_type": "creature", + "detail_route": "/climate/ecosystem/fauna", + "tags": ["land", "apex_predator", "fantasy"] + }, + "substrate_climate": [ + { + "substrate": "snow", + "t_band_min": 0, + "t_band_max": 1, + "p_band_min": 1, + "p_band_max": 3 + }, + { + "substrate": "ice", + "t_band_min": 0, + "t_band_max": 1, + "p_band_min": 0, + "p_band_max": 3 + } + ], + "terrain_affinity": [ + "tundra", + "polar_desert", + "mountain", + "snow", + "ice", + "glacier" + ], + "hp": 75, + "attack": 30, + "defense": 22, + "armor_type": "heavy", + "attack_type": "pierce", + "movement": 5, + "_derived_stats": true +} diff --git a/public/resources/ecology/fauna/species/lava_tube_bat.json b/public/resources/ecology/fauna/species/lava_tube_bat.json new file mode 100644 index 00000000..13e0905a --- /dev/null +++ b/public/resources/ecology/fauna/species/lava_tube_bat.json @@ -0,0 +1,60 @@ +{ + "id": "lava_tube_bat", + "name": "Lava Tube Bat", + "description": "Small insectivorous bat that roosts deep inside collapsed lava tubes — natural caverns formed when an active flow drained, leaving a basalt-walled tunnel. The constant interior temperature and high humidity make lava tubes ideal roost sites in an otherwise hostile landscape. Emerges at dusk to forage over the cooler flow margins, taking thermophile beetles and moths drawn to fumarole heat. Forms small colonies of a few dozen individuals.", + "tags": ["domain_air", "trophic_omnivore", "tier_2"], + "domain": "air", + "trophic_level": "omnivore", + "lineage": "bats", + "ecology_tier": 2, + "traits": [ + "size_tiny", + "diet_carnivore", + "habitat_aerial", + "locomotion_flying", + "thermal_warm_blooded", + "repro_k_strategy", + "social_colony" + ], + "prey": [ + "thermophile_beetle", + "sulphur_lichen_grazer_insect" + ], + "habitat_min": 0.08, + "migration_range": 4, + "carrying_capacity": 2.0, + "lifecycle": { + "system": "volcanic", + "stage": "active", + "formed_by": [ + { + "source": "pup", + "mechanism": "accumulation", + "condition": "collapsed lava tube providing stable temperature and humidity for roosting" + } + ], + "transforms": [] + }, + "substrate_climate": [ + { + "substrate": "rock", + "t_band_min": 2, + "t_band_max": 4, + "p_band_min": 0, + "p_band_max": 2 + } + ], + "terrain_affinity": [ + "lava_field", + "volcano", + "caldera", + "cave" + ], + "hp": 4, + "attack": 2, + "defense": 1, + "armor_type": "unarmored", + "attack_type": "pierce", + "movement": 5, + "_derived_stats": true +} diff --git a/public/resources/ecology/fauna/species/obsidian_pebble_skink.json b/public/resources/ecology/fauna/species/obsidian_pebble_skink.json new file mode 100644 index 00000000..02810b7b --- /dev/null +++ b/public/resources/ecology/fauna/species/obsidian_pebble_skink.json @@ -0,0 +1,59 @@ +{ + "id": "obsidian_pebble_skink", + "name": "Obsidian Pebble Skink", + "description": "Tiny glossy-black skink that shelters in the void spaces between obsidian shards on a cooled lava flow. Its scales reflect at a wavelength that closely matches volcanic glass, making it invisible against the substrate except when moving. Feeds on heat-killed insects blown into the flow and on the few thermophilic invertebrates that share its habitat. Loses its tail in fragments when seized — each segment continues to twitch independently for several minutes, distracting predators.", + "tags": ["domain_land", "trophic_omnivore", "tier_1"], + "domain": "land", + "trophic_level": "omnivore", + "lineage": "lizards", + "ecology_tier": 1, + "traits": [ + "size_tiny", + "diet_omnivore", + "habitat_terrestrial", + "locomotion_walking", + "thermal_cold_blooded", + "repro_r_strategy", + "social_solitary" + ], + "prey": [ + "thermophile_beetle", + "sulphur_lichen_grazer_insect" + ], + "habitat_min": 0.05, + "migration_range": 1, + "carrying_capacity": 2.5, + "lifecycle": { + "system": "volcanic", + "stage": "active", + "formed_by": [ + { + "source": "egg", + "mechanism": "accumulation", + "condition": "cooled obsidian flow with abundant void-space refugia" + } + ], + "transforms": [] + }, + "substrate_climate": [ + { + "substrate": "rock", + "t_band_min": 3, + "t_band_max": 4, + "p_band_min": 0, + "p_band_max": 2 + } + ], + "terrain_affinity": [ + "lava_field", + "volcano", + "caldera" + ], + "hp": 3, + "attack": 1, + "defense": 1, + "armor_type": "unarmored", + "attack_type": "pierce", + "movement": 3, + "_derived_stats": true +} diff --git a/public/resources/ecology/fauna/species/reticulated_python.json b/public/resources/ecology/fauna/species/reticulated_python.json new file mode 100644 index 00000000..ac2a42ee --- /dev/null +++ b/public/resources/ecology/fauna/species/reticulated_python.json @@ -0,0 +1,70 @@ +{ + "id": "reticulated_python", + "name": "Reticulated Python", + "description": "Among the longest snakes in the world, the reticulated python reaches more than six metres in southeast Asian rainforest and swamp. Constrictor — wraps its body in three or four loops around the prey's chest and tightens with every exhalation until circulation fails. Heat-pit organs along the upper lip image warm-blooded prey at night with millimetre precision. Bridges the green_anaconda T3 and the apex banded_krait T5 with a mid-large constrictor niche.", + "tags": ["domain_land", "trophic_predator", "tier_4"], + "domain": "amphibious", + "trophic_level": "predator", + "lineage": "snakes", + "ecology_tier": 4, + "traits": [ + "size_large", + "diet_carnivore", + "habitat_terrestrial", + "locomotion_slithering", + "thermal_cold_blooded", + "repro_k_strategy", + "social_solitary" + ], + "prey": [ + "wild_boar", + "european_rabbit", + "brahminy_kite", + "tropical_rat_snake", + "gerbil" + ], + "habitat_min": 0.15, + "migration_range": 2, + "carrying_capacity": 0.3, + "lifecycle": { + "system": "mammal", + "stage": "active", + "formed_by": [ + { + "source": "hatchling", + "mechanism": "accumulation", + "condition": "tropical rainforest, mangrove, or swamp with abundant mid-size mammal prey" + } + ], + "transforms": [] + }, + "encyclopedia": { + "category": "world", + "entry_type": "creature", + "detail_route": "/climate/ecosystem/fauna", + "tags": ["land", "predator"] + }, + "substrate_climate": [ + { + "substrate": "soil", + "t_band_min": 3, + "t_band_max": 4, + "p_band_min": 3, + "p_band_max": 4 + } + ], + "terrain_affinity": [ + "jungle", + "tropical_rainforest", + "mangrove", + "wetland", + "forest" + ], + "hp": 30, + "attack": 14, + "defense": 8, + "armor_type": "light", + "attack_type": "crush", + "movement": 2, + "_derived_stats": true +} diff --git a/public/resources/ecology/fauna/species/sloth_bear.json b/public/resources/ecology/fauna/species/sloth_bear.json new file mode 100644 index 00000000..1f5b379f --- /dev/null +++ b/public/resources/ecology/fauna/species/sloth_bear.json @@ -0,0 +1,67 @@ +{ + "id": "sloth_bear", + "name": "Sloth Bear", + "description": "Shaggy, long-clawed Asiatic bear specialised for termite and ant predation. Its lower lip is hairless and elongated into a vacuum tube it pushes against the breached wall of a termite mound, sucking out the colony while closing its nostrils against the dust. Lower incisors are reduced or missing — useless mouth furniture for an insectivore. Builds no den; mothers carry cubs on their backs through dense forest for two years. Fills the mid-tier bear niche bridging the small arboreal sun_bear and the larger asian_black_bear / american_black_bear.", + "tags": ["domain_land", "trophic_omnivore", "tier_3"], + "domain": "land", + "trophic_level": "omnivore", + "lineage": "bears", + "ecology_tier": 3, + "traits": [ + "size_medium", + "diet_omnivore", + "habitat_terrestrial", + "locomotion_walking", + "thermal_warm_blooded", + "repro_k_strategy", + "social_solitary" + ], + "prey": [ + "desert_locust", + "compost_worm", + "common_earthworm" + ], + "habitat_min": 0.15, + "migration_range": 4, + "carrying_capacity": 0.5, + "lifecycle": { + "system": "mammal", + "stage": "active", + "formed_by": [ + { + "source": "cub", + "mechanism": "accumulation", + "condition": "tropical dry forest with abundant termite mounds and fruiting trees" + } + ], + "transforms": [] + }, + "encyclopedia": { + "category": "world", + "entry_type": "creature", + "detail_route": "/climate/ecosystem/fauna", + "tags": ["land", "omnivore"] + }, + "substrate_climate": [ + { + "substrate": "soil", + "t_band_min": 2, + "t_band_max": 4, + "p_band_min": 1, + "p_band_max": 3 + } + ], + "terrain_affinity": [ + "forest", + "tropical_dry_forest", + "wooded_foothills", + "hills" + ], + "hp": 38, + "attack": 12, + "defense": 13, + "armor_type": "medium", + "attack_type": "crush", + "movement": 2, + "_derived_stats": true +} diff --git a/public/resources/ecology/fauna/species/wind_runner_lizard.json b/public/resources/ecology/fauna/species/wind_runner_lizard.json new file mode 100644 index 00000000..55bba6ed --- /dev/null +++ b/public/resources/ecology/fauna/species/wind_runner_lizard.json @@ -0,0 +1,58 @@ +{ + "id": "wind_runner_lizard", + "name": "Wind Runner Lizard", + "description": "Slender, long-tailed lacertid that sprints bipedally across the dust plain when alarmed, holding its body high above the scalding silt. Feeds on locusts, beetle larvae, and seeds; drinks dew condensing on its scaled back. Buries itself in fine dust during sandstorms, breathing through a valved nostril membrane that filters airborne grit.", + "tags": ["domain_land", "trophic_omnivore", "tier_1"], + "domain": "land", + "trophic_level": "omnivore", + "lineage": "lizards", + "ecology_tier": 1, + "traits": [ + "size_tiny", + "diet_omnivore", + "habitat_terrestrial", + "locomotion_running", + "thermal_cold_blooded", + "repro_r_strategy", + "social_solitary" + ], + "prey": [ + "desert_locust" + ], + "habitat_min": 0.05, + "migration_range": 2, + "carrying_capacity": 2.0, + "lifecycle": { + "system": "desert", + "stage": "active", + "formed_by": [ + { + "source": "egg", + "mechanism": "accumulation", + "condition": "loose silt with sparse hardy seed plants" + } + ], + "transforms": [] + }, + "substrate_climate": [ + { + "substrate": "sand", + "t_band_min": 3, + "t_band_max": 4, + "p_band_min": 0, + "p_band_max": 1 + } + ], + "terrain_affinity": [ + "dust_plain", + "desert", + "dune_field" + ], + "hp": 3, + "attack": 1, + "defense": 1, + "armor_type": "unarmored", + "attack_type": "pierce", + "movement": 4, + "_derived_stats": true +}