# Systems Index

## Where to find things

### Core files (`scripts/Core/`)

| File | Holds |
|---|---|
| `registry.rpy` | All `*_REGISTRY` dicts, data wrapper classes, `register_*()` / `get_*()` |
| `classes.rpy` | `Player`, `Creature`, `Combat` classes; `INFECTION_LISTS`; body description functions |
| `start.rpy` | Game start label, scenario intros, `after_load` restore pass |
| `game_loop.rpy` | Main game loop, location entry, event auto-trigger, action dispatch |
| `game_gui.rpy` | HUD overlay, character stats screen, body status screen |
| `character creation.rpy` | Character creation screens and `apply_character_creation()` |
| `screens.rpy` | Ren'Py standard screens (say, choice, menus, save/load, prefs), `show_location_description()` |
| `gui.rpy` | Ren'Py GUI styling (colors, fonts, sizes, variants) |
| `images.rpy` | Image asset declarations (~1,416 tags) |
| `Default/options.rpy` | Build config (name, version, save directory) |

### Engine systems (`scripts/Core/engine/`)

| File | What it does |
|---|---|
| `registry.rpy` | Registries + wrapper classes (EnemyData, NPCData, ItemData, etc.) |
| `time_system.rpy` | `pass_turn()`, calendar, day/night, hunger/thirst, alcohol, game-over |
| `combat_system.rpy` | Full combat: attack, seduce, flee, items, absorbancy, win/loss, `loss_rule()`, `_swap_post_combat_image()`, `_dispatch_post_combat_scene()` |
| `transformation_system.rpy` | `transform_player()`, body part TF, stat drift, curing, `infectbypass` support |
| `infections_registry.rpy` | Human + Husky infection data (engine-level; most infections in Content) |
| `infections_additional.rpy` | Wolf, Shepherd, Lion, Panther, Horse, Zebra, Gryphon, Centaur, Latex Dragon |
| `feats_system.rpy` | Feat acquisition, `get_basic_feats()`, `get_fun_feats()`, `has_feat()` |
| `feats_definitions.rpy` | All 56 Feat() objects |
| `feat_runtime_hooks.rpy` | Late-bound feat effect functions |
| `navigation_system.rpy` | Locations, fast travel, directional movement |
| `event_system.rpy` | Auto-trigger events from EVENTS_REGISTRY based on trigger conditions (`area:`, `rest:`, `random`) — called from game_loop; dev console event runner (`_dev_do_event`) |
| `encounter_system.rpy` | Area encounter tables, `get_random_encounter()` |
| `exploration_system.rpy` | `explore_area`, `navigate`, `fast_travel` labels |
| `scavenging_system.rpy` | `scavenge()`, 13 scavenge events, loot tables |
| `inventory_system.rpy` | `give_item()`, `use_item()`, `equip_weapon()`, inventory screen |
| `equipment_system.rpy` | Equipment registry, equip/unequip, AC calculation |
| `items_registry.rpy` | Basic items + pill use labels |
| `sex_system.rpy` | Sex scenes, virginity tracking, spontaneous orgasm |
| `pregnancy_system.rpy` | Pregnancy tracking, birth, offspring creation |
| `companions_system.rpy` | Companion taming, party management, combat AI |
| `shopping_system.rpy` | Currency, buy/sell, 7 registered shops |
| `storage_system.rpy` | Bunker storage locker GUI |
| `quest_system.rpy` | `start_quest()`, `set_quest_stage()`, `complete_quest()` |
| `rest_system.rpy` | Rest healing, sleep deprivation, Well Rested buff; sets `_rest_mode` flag for event trigger system |
| `smell_system.rpy` | Scent descriptions + interactive GUI |
| `score_system.rpy` | Multi-category scoring, statistics |
| `milking_system.rpy` | Breast/cock milking, Mother's Milk |
| `heat_system.rpy` | Species-specific heat cycles |
| `vore_ub_system.rpy` | Vore + unbirth mechanics |
| `graphics_system.rpy` | Persistent background/character images, layout calculations, `fit "contain"` with centered alignment |
| `game_art.rpy` | Image wiring: `Table_of_Game_Art`, `_npc_art`, `_location_art`, fuzzy creature image lookup, post-combat `_hard`→`_soft` swap |
| `action_interface.rpy` | Godot-style action panel: compass rose, dynamic buttons, items/nav tabs, text history |
| `special_mechanics.rpy` | Warding, Hard Mode, forced encounters |
| `gui_support.rpy` | Daytimer update, inventory helpers |

### Content directories

| Directory | Files | Contents |
|---|---|---|
| `Content/Enemies/` | 393 | Enemy definitions, combat stats, victory/defeat scene labels |
| `Content/Infections/` | 386 | Infection/transformation data, species tags, body part TFs |
| `Content/Locations/` | 185 | Room definitions, connection maps, description labels |
| `Content/Events/` | 60 | Random and triggered scene labels |
| `Content/NPCs/` | 43 | NPC records, conversation data |
| `Content/Items/` | 43 | Weapons, armor, clothing, consumables, milk/cum items |
| `Content/Quests/` | 38 | Quest definitions with staged scene labels |
| `Content/Companions/` | 13 | Companion definitions |
| `Content/Shops/` | 14 | Shop inventories and pricing |
| `Content/Crafting/` | 1 | 59 microwave recipes (data-only, no runtime execution yet) |
| `Content/Dialogue/` | ~12 | NPC dialogue trees (per-writer) |

