main
Newbury Nights — Ghost Roster (Phase 1 Data)
Standalone ghost-roster data + seed for the AR ghost-hunting loop. This is the data foundation — no hunt logic yet. It builds a separate SQLite DB so it doesn't touch the live app DB (the Free Hunt pool) until you choose to merge.
Contents
| File | What it is |
|---|---|
ghosts.json |
111 ghosts: name, slug id, colour, rarity, pip stats, health/damage, abilityId, plus null placeholders for asset paths + AR stats |
abilities.json |
36 abilities (17 Common + 19 Boss): charges, cooldown, effect |
locations.json |
AR-anchor stub (one generic plane). Extend with real sets in Phase 2/3 |
seed-ghosts.js |
better-sqlite3 seed → builds ghost-roster.db |
verify.js |
Quick read-back / integrity check |
Run
npm install better-sqlite3 # needs build-essential (already on hal-blackpearl)
node seed-ghosts.js # writes ./ghost-roster.db
node verify.js # prints counts + sample joins
Re-runnable — the seed drops and rebuilds the roster_* tables each time.
Schema (roster_* tables, namespaced)
roster_ghosts— one row per ghost. PK = name slug (nagging-nathan).roster_abilities— PK = ability slug.roster_ghosts.ability_id→ FK.roster_locations— AR anchors (plane / image-target / qr).roster_ghost_locations— many-to-many spawn affinity (wired in Phase 3).
Decoded mapping (source of truth)
- Rarity ←
GhostRarityenum: Common=1, Rare=2, Epic=3, Legendary=4. - Colour ←
GhostColorenum: Red, Blue, Yellow — drives the colour-wheel lure. - Pips ←
UISpeedPips/UIRangePips/UIChargePips(int 0–5). - health_max / damage_max ← Digital Game stats (from the roster wiki).
Placeholders to fill later
Per-ghost fields left null, filled from asset/data-table exports:
faceSprite,fullbodySprite,webmPath,webpPath— Phase 2 asset pipeline.arHealth,hauntValue,isBoss— from theARGhostDataTextAsset export.locations[]— fromMetaGhostData.LocationsArray, set in Phase 3.
Asset rights
Ghost assets/stats used under direct permission from the rights holder; app
delivery is original (web). LEGO and Hidden Side logos are excluded. Sets
used only as generic AR anchors/backdrops. See PERMISSIONS.md once the grant
doc is digitised. Not legal advice.
Description
Phase 1 ghost-roster data + SQLite seed for the Newbury Nights AR ghost-hunting loop. Decoded roster (111 ghosts, 36 abilities), name-slug IDs, separate seed DB.
Languages
JavaScript
100%