# mod-personal-isle FFXIV-Island-Sanctuary-inspired: a persistent, private instanced island each character can visit, reached via a teleport NPC and/or a dedicated "Isle Hearthstone" item. **Module and feature name are working titles** -- see `PLAN.md`'s "Open questions" before treating either as final. ## Current status: v0 (hello-world scaffold) No island, no teleport, no map/DBC work yet -- this commit just proves the module wiring works: - `PersonalIsle.Enable` config flag is read correctly (`conf/mod_personal_isle.conf.dist`). - `PersonalIsle_World::OnStartup` logs a confirmation line so a successful load is visible in the server log. - `.isle` (`SEC_PLAYER`) registers and responds with a placeholder message, proving command registration works end-to-end. Everything else -- the island terrain itself, DBC wiring, per-player instancing, entry/exit points -- is planned but not built. See `PLAN.md`'s roadmap. ## Scope, agreed 2026-08-20 - **Terrain is custom-authored** (Noggit3 or similar), not a reuse of existing WoW geography. This is manual 3D-editor work outside what this module's code can produce -- it's the long pole on the whole project. Ships as a client-side MPQ patch every connecting player needs. - **MVP is cosmetic, minimal-loop**: one fixed island layout, a handful of static decorative spawns, no player building placement, no gathering/production automation. Explicitly deferred, not out of scope forever -- see "Later ideas" in `PLAN.md`, including a possible tie-in with `mod-hirelings` for passive gathering. ## Config See `conf/mod_personal_isle.conf.dist`: - `PersonalIsle.Enable` (default `1`) -- toggles the whole module. ## Custom ID ranges Reserved, not yet consumed by any SQL: - **Spell IDs 950000-950099** - **Creature / npc_text / gameobject IDs 951000-951099** - **Quest IDs 952000-952099** (reserved, likely unused until post-MVP) - **Item IDs 953000-953099** (the Isle Hearthstone lives here) Picked as the next clean block after `mod-eternal-bond` (940000-944099) -- check that module's README before reassigning. **Not covered by the above:** `Map.dbc` / `AreaTable.dbc` / `WorldMapArea.dbc` / `LoadingScreens.dbc` IDs are a separate, client-side DBC ID space. They can't be picked until the island terrain exists -- see `PLAN.md`.