# Game data tables

The lookup tables in this folder are AION 2 game data (© NCSOFT) compiled by open-source AION 2 meters
released under GPL-3.0. Because they are bundled here, Aion2Dps as a whole is licensed GPL-3.0-or-later
(see `../LICENSE`). The application code itself was written from scratch from this project's protocol notes.

| File(s) | Source |
|---|---|
| `i18n/skills/*.json`, `i18n/npcs/*.json`, `i18n/dungeons/*.json`, `servers.json`, `dot_skill_ids.json`, `skill_icons.json`, `open_world_maps.json` | [taengu/A2Tools-DPS-Meter](https://github.com/taengu/A2Tools-DPS-Meter) `src/data`, commit `e593905` (2026-10-06), GPL-3.0 |
| `healing_skill_ids.json` | [Kuroukihime/AIon2-Dps-Meter](https://github.com/Kuroukihime/AIon2-Dps-Meter) via [cyberbadger6969/aion2-dps-meter](https://github.com/cyberbadger6969/aion2-dps-meter) `data/`, commit `ec1cc59`, GPL-3.0 |
| `field_boss_maps.json` | [cyberbadger6969/aion2-dps-meter](https://github.com/cyberbadger6969/aion2-dps-meter) `data/`, commit `ec1cc59`, GPL-3.0 |
| `protocol/opcodes.json` | Written for this project from its protocol notes |
| `timers.json` | Written for this project: event times from the game's own field-boss list and in-game checks, community-reported schedules (rift every 3 h, sieges, resets) and respawn intervals measured from captures |
| `heal_skill_families.json` | Compiled for this project (GameData module) by reviewing `i18n/skills/en.json` names and cross-checking other GPL-3.0 meters' heal lists |

Languages bundled: `en`, `ko`, `zh-Hans`, `zh-Hant` (missing keys fall back to `en`).

Formats:
- `i18n/skills/<lang>.json` — `{ "16040000": "Skill name", … }`
- `i18n/npcs/<lang>.json` — `{ "2000002": { "name": "…", "isBoss": false, "isDummy": false }, … }`
- `i18n/dungeons/<lang>.json` — `{ "600021": { "name": "Fire Temple" }, … }` (map id → name)
- `servers.json` — `{ "regions": {lang:{code:name}}, "servers": { "2305": { "en": "…", … } }, … }`
- `dot_skill_ids.json`, `healing_skill_ids.json` — arrays of skill codes
- `skill_icons.json` — `{ "skillId": "ICON_KEY" }` (keys only; icon images are not bundled)
- `timers.json` — `{ "serverTimeZones": {region: zone}, "events": [{ "id", "name", "start": "HH:mm", "everyMinutes"?, "days"?, "openMinutes"?, "durationMinutes"?, "favorite"? }], "fieldBossRespawnMinutes": { map: { place: minutes } } }`
- `open_world_maps.json` — `{ "source": "…", "maps": [mapId, …] }`
- `heal_skill_families.json` — `{ "families": [{ "baseId": 17100000, "name": "…", … }], "exact": [{ "id": 17400027, "name": "…" }] }` (families match 8-digit class skills by base id; exact entries match one id)
