# World Building Guide The House of Icarus is data-driven. Everything — rooms, items, mobs, objects, behaviors, drop tables, and recipes — is defined in YAML files under `data/`. No code changes needed to build a world. ## Files | Document | Covers | |----------|--------| | [Rooms](rooms.md) | Room definitions, exits (simple and conditional), spawns, placed objects and mobs, on_enter scripts | | [Items](items.md) | Item definitions, stats, equip slots, weapon types, tool types, firemaking, food/healing | | [Mobs](mobs.md) | Mob definitions, combat stats, drops, behavior, idle descriptions | | [Objects](objects.md) | Interactive objects, behaviors, hidden objects, in-room descriptions | | [Behaviors](behaviors.md) | Gather, use, talk behaviors with full YAML reference | | [Recipes](recipes.md) | Recipe system for cooking, crafting, smithing — station and item-on-item | | [Conditions](conditions.md) | All condition types: flag, player_flag, has_item, all_of, any_of, not | | [Drop Tables](drops.md) | Shared weighted drop tables for mob loot and search tables | | [State](state.md) | World flags vs player flags — global vs per-character state | | [Doors](doors.md) | Door examples with world flags and player flags | | [Quests](quests.md) | Complete multi-room quest example with talk behaviors | | [Wandering Objects](wandering_objects.md) | Objects that teleport between rooms on a timer | | [Wandering Mobs](wandering_mobs.md) | Mobs that wander through legal exits | | [Search](search.md) | The search command and searchable items | | [Hidden Objects](hidden_objects.md) | Hidden interactive objects | | [Bank](bank.md) | Bank system — deposit, withdraw, browse, bank booth placement | | [Construction](construction.md) | Construction skill — planks, furniture, houses, sawmill, Plank Make | | [Tips](tips.md) | Practical tips for building a world |