Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ If you want a sandbox fantasy MMORPG with campaign-book energy, ocean-crossing d

## 🗄 Atavism 10.13 SQL Reference Library
- [SQL Reference Library](docs/sql/reference/README.md)
- [AI Database and Server Reference](docs/sql/reference/ai-database-and-server-reference.md)
- [Atavism Wiki Index Reference](docs/sql/reference/atavism-wiki-index-reference.md)
- [Atavism 10.13 SQL Migration Notes](docs/sql/reference/atavism-10.13-migration-notes.md)

This library documents how Atavism wiki systems map to the actual SQL schema and demo data, so developers and AI tools can later generate safe Mystical Islands SQL inserts.
4 changes: 3 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,16 @@ This folder contains all project documentation for Mystical Islands.
| File | Description |
|---|---|
| [development-roadmap.md](development-roadmap.md) | Current roadmap and milestone tracking |
| [database-reference.md](database-reference.md) | Atavism damage plugin schema reference |
| [database-reference.md](database-reference.md) | Legacy Atavism 10.9 damage plugin archive (use SQL 10.13 reference library for current work) |
| [hints-and-tips.md](hints-and-tips.md) | Developer notes and workflow tips |

## Atavism 10.13 SQL Reference Library

| Path | Description |
|---|---|
| [sql/reference/README.md](sql/reference/README.md) | Atavism SQL Reference Library — full index of all plugin reference files |
| [sql/reference/ai-database-and-server-reference.md](sql/reference/ai-database-and-server-reference.md) | High-level AI/database/server reference entry point for Atavism 10.13 |
| [sql/reference/atavism-wiki-index-reference.md](sql/reference/atavism-wiki-index-reference.md) | Official Atavism wiki location and source-of-truth guidance |
| [sql/reference/atavism-10.13-migration-notes.md](sql/reference/atavism-10.13-migration-notes.md) | Atavism 10.9 → 10.13 schema comparison and migration action checklist |

SQL source files (core schema and demo data) live in [sql/10.13/](sql/10.13/).
Expand Down
4 changes: 2 additions & 2 deletions docs/database-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

Technical Atavism plugin and SQL reference for field meanings, plugin relationships, data dependencies, and automation-ready schema conventions.

This is the primary future source for SQL insert generation, balancing workflows, NPC/item/merchant/quest generation, and AI-assisted content tooling.
> Legacy note: this page is an archived Atavism 10.9-era reference. For current production planning, use `docs/sql/reference/` and Atavism 10.13 SQL under `docs/sql/10.13/core/` and `docs/sql/10.13/demo/`.

This reference targets **Atavism 10.9** and is derived from the live `world_content` database schema in `docs/sql/world_content.sql`. It covers the Damage Plugin and all tables that participate in the combat damage pipeline.
This reference targets **Atavism 10.9** and was derived from earlier `world_content` schema snapshots. It covers the Damage Plugin and related combat tables as historical context.

---

Expand Down
15 changes: 15 additions & 0 deletions docs/sql/reference/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ These reference docs are used by humans, GitHub Copilot, and ChatGPT.
Future SQL inserts for Mystical Islands must target Atavism 10.13.

- [Atavism 10.13 SQL Migration Notes](atavism-10.13-migration-notes.md)
- [Atavism Wiki Index Reference](atavism-wiki-index-reference.md)
- [AI Database and Server Reference](ai-database-and-server-reference.md)

---

Expand Down Expand Up @@ -59,3 +61,16 @@ Future SQL inserts for Mystical Islands must target Atavism 10.13.
| [items-crafting-recipes-plugin.md](items-crafting-recipes-plugin.md) | Crafting Recipes | Crafting recipe headers, requirements, and outputs. |
| [items-build-object-plugin.md](items-build-object-plugin.md) | Build Object | Build object templates and staged construction requirements. |
| [items-socketing-plugin.md](items-socketing-plugin.md) | Socketing | Socket profile and gem/socket linking tables. |

## Combat Module

| File | Plugin | Description |
|---|---|---|
| [combat-arena-plugin.md](combat-arena-plugin.md) | Arena | Arena templates, teams, categories, rewards, and schedules. |
| [combat-skills-plugin.md](combat-skills-plugin.md) | Skills | Skill definitions, prerequisites, skill profiles, and unlock mapping. |
| [combat-abilities-plugin.md](combat-abilities-plugin.md) | Abilities | Ability configuration, targeting, costs, effects, combos, and triggers. |
| [combat-effects-plugin.md](combat-effects-plugin.md) | Effects | Effect definitions, payload fields, and effect trigger actions. |
| [combat-coordinated-effects-plugin.md](combat-coordinated-effects-plugin.md) | Coordinated Effects | Visual/audio coordinated effect mapping across combat systems. |
| [combat-stats-plugin.md](combat-stats-plugin.md) | Stats | Stat definitions, links, profiles, and character/mob stat usage. |
| [combat-damage-plugin.md](combat-damage-plugin.md) | Damage | Damage type to stat formula mapping and related combat dependencies. |
| [combat-stat-thresholds.md](combat-stat-thresholds.md) | Stat Thresholds | Threshold scaling rules for stat functions. |
43 changes: 43 additions & 0 deletions docs/sql/reference/ai-database-and-server-reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# AI Database and Server Reference

## Purpose
This repository documents how Atavism 10.13 SQL, server configuration, and game content systems work for Mystical Islands.

## Current Version
Atavism 10.13

## Official Atavism Wiki
https://unity.wiki.atavismonline.com/

## SQL Source Folders
- docs/sql/10.13/core/
- docs/sql/10.13/demo/

## SQL Reference Library
- docs/sql/reference/README.md

## Core Reference Areas
- Server Module
- Character Module
- Items Module
- Combat Module
- Future Mob/NPC Module
- Future Quest Module
- Future Merchant Module
- Future Build/Claim Module

## Rules For AI SQL Generation
- never guess table names
- use SQL schema as source of truth
- use demo rows as examples only
- verify IDs
- verify relationships
- create inserts in dependency order
- do not generate production SQL without review
- preserve Atavism 10.13 compatibility

## How To Ask AI For SQL Later
Example prompts:
- “Using docs/sql/reference and docs/items.md, generate SQL INSERT statements for 25 starter swords targeting Atavism 10.13.”
- “Using docs/sql/reference/combat-abilities-plugin.md and docs/sql/reference/combat-effects-plugin.md, draft example non-production SQL planning inserts for a mage starter ability chain on Atavism 10.13.”
- “Using docs/sql/reference/server-instances-plugin.md, generate dependency-ordered insert planning notes for three new island instances for Atavism 10.13.”
25 changes: 25 additions & 0 deletions docs/sql/reference/atavism-wiki-index-reference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Atavism Wiki Index Reference

## Purpose
The official Atavism documentation wiki is located at:
- https://unity.wiki.atavismonline.com/

Use the wiki as a primary functional reference when SQL docs in this repository do not fully explain editor behavior, enum meaning, or runtime plugin rules.

## AI and Developer Guidance
- Copilot, ChatGPT, and human developers should consult the official wiki whenever local references are incomplete.
- Wiki plugin pages can change after repository docs are created.
- Re-verify plugin behavior against the current wiki page before generating production SQL.
- SQL schema remains the source of truth for exact table names and column names.
- Demo SQL rows are examples only and must not be treated as guaranteed production defaults.

## Current SQL Source-of-Truth for Mystical Islands
- docs/sql/10.13/core/
- docs/sql/10.13/demo/

## Recommended Verification Order
1. Confirm target version is Atavism 10.13.
2. Confirm exact table/column names from core schema SQL.
3. Check demo SQL rows for practical examples.
4. Cross-check with relevant wiki plugin page.
5. Confirm IDs and relationships before generating inserts.
119 changes: 119 additions & 0 deletions docs/sql/reference/combat-abilities-plugin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# Abilities Plugin

## AI Reference Notes
This file is intended for:
- human developers
- GitHub Copilot
- ChatGPT
- future automated SQL generation
- future admin/player tools

This file is based on:
- Atavism 10.13 SQL core schema
- Atavism 10.13 demo SQL rows
- official Atavism wiki documentation

Before generating SQL:
- verify target database version is Atavism 10.13
- verify table names
- verify column names
- verify IDs
- verify option choices
- verify foreign key-style relationships
- verify whether the database was created from core schema or demo schema

## Purpose
The Abilities Plugin defines combat actions and spell behaviors, including costs, targeting rules, cooldowns, weapon/reagent requirements, effect application, combo chains, and trigger profiles.

## Source Links
- https://unity.wiki.atavismonline.com/project/abilities-plugin/
- https://unity.wiki.atavismonline.com/

## SQL Files Reviewed
- docs/sql/10.13/core/
- docs/sql/10.13/demo/

## Tables Edited / Used

| Table | Purpose | Source |
|---|---|---|
| `abilities` | Core ability definitions and behavior settings | core + demo |
| `ability_effects` | Effects applied by ability power rows | core + demo |
| `ability_abilities` | Ability chaining/child ability execution | core + demo |
| `ability_combos` | Combo opportunities and follow-up ability links | core + demo |
| `abilities_coordeffects` | Coordinated effects attached to ability events | core + demo |
| `abilities_powerup_settings` | Power-up timing thresholds | core + demo |
| `abilities_triggers` | Trigger profiles attached to ability rows | core + demo |
| `abilities_triggers_profile` | Trigger profile definitions and filter rules | core + demo |
| `abilities_triggers_actions` | Actions executed by trigger profiles | core + demo |
| `effects` | Effect IDs referenced by ability effect rows | core + demo |
| `coordinated_effects` | Coordinated effect names referenced by ability rows | core + demo |

## Column Reference

| Table | Column | Meaning | Notes | Related Tables |
|---|---|---|---|---|
| `abilities` | `id`, `name`, `icon`, `icon2` | Ability identity/display | PK + UI fields | `ability_*` tables |
| `abilities` | `abilityType` | Ability behavior class | Validate against editor choices | Option choice tables |
| `abilities` | `skill` | Owning skill line | `-1` if standalone | `skills.id` |
| `abilities` | `passive` | Passive flag | 1 passive, 0 active ability | — |
| `abilities` | `activationCost`, `activationCostType` | Activation resource cost | Usually mana/stamina-like stat name | `stat.name` |
| `abilities` | `activationLength`, `attack_time`, `activationDelay` | Cast/attack timing | Seconds/float values | — |
| `abilities` | `maxRange`, `minRange`, `aoeRadius`, `aoeAngle`, `aoeType` | Targeting geometry | Range and AOE rules | — |
| `abilities` | `targetType`, `targetSubType`, `reqTarget`, `reqFacingTarget` | Target requirement policy | Editor targeting settings | Option choice tables |
| `abilities` | `globalCooldown`, `cooldown1Type`, `cooldown1Duration` | Cooldown system | Also check `weaponCooldown` | — |
| `abilities` | `weaponRequired`, `weaponMustBeDrawn`, `drawnWeaponBefore` | Weapon gating | Comma/text weapon types | Item/weapon profile tables |
| `abilities` | `reagentRequired`..`reagent3Consumed` | Item reagent requirements | Item IDs + consume flags | `item_templates.id` |
| `abilities` | `damageType` | Damage pipeline selector | Must match `damage_type.name` | `damage_type.name` |
| `abilities` | `toggle`, `channelling`, `channelling_cost`, `channelling_pulse_*` | Channel/toggle behavior | Pulse resource checks also exist | — |
| `abilities` | `coordEffect1event..coordEffect5` | Legacy coordinated effect slots | Also supported via `abilities_coordeffects` | `coordinated_effects` |
| `ability_effects` | `ability_power_id`, `effect`, `target`, `delay` | Effect execution by ability row | Target/delay and chance range | `abilities.id`, `effects.id` |
| `ability_abilities` | `ability_power_id`, `ability`, `target`, `delay` | Trigger child ability from parent | Ability chain action table | `abilities.id` |
| `ability_combos` | `ability_parent_id`, `ability_sub_id`, `chance_min/max`, `time` | Combo follow-up windows | UI and slot replacement flags included | `abilities.id` |
| `abilities_coordeffects` | `ability_power_id`, `coordEffectEvent`, `coordEffect` | Event-based visual/audio mapping | Demo uses activating/completed events | `abilities.id`, `coordinated_effects.name` |
| `abilities_powerup_settings` | `ability_id`, `thresholdMaxTime` | Power-up threshold timing | One ability can have multiple thresholds | `abilities.id` |
| `abilities_triggers_profile` | `id`, `event_type`, `tags`, `race`, `class`, `action_type` | Trigger profile filters and behavior | Chance range columns apply | `abilities_triggers`, `abilities_triggers_actions` |
| `abilities_triggers` | `ability_power_id`, `trigger_id` | Attach trigger profile to ability | Join table | `abilities.id`, `abilities_triggers_profile.id` |
| `abilities_triggers_actions` | `abilities_triggers_id`, `target`, `ability`, `effect`, `mod_v`, `mod_p` | Action payload from trigger execution | Ability/effect and value modifiers | `abilities_triggers.id`, `abilities.id`, `effects.id` |

## Relationships
- `skills` to `abilities` through `abilities.skill`.
- `abilities` to `effects` through `ability_effects.effect`.
- `abilities` to coordinated effects through `abilities_coordeffects` and `coordEffect*` columns.
- `abilities` to requirements via `weaponRequired`, reagent columns, and target-state fields.
- ability chains/combos through `ability_abilities` and `ability_combos`.
- trigger profiles through `abilities_triggers` + `abilities_triggers_profile` + `abilities_triggers_actions`.
- `abilities.damageType` participates in damage-type-to-stat mapping via `damage_type`.

## Data Creation Flow
1. Create required stats and damage types.
2. Create effects used by abilities.
3. Create coordinated effects used by ability visuals.
4. Create base ability rows.
5. Link effects to abilities in `ability_effects`.
6. Configure child ability calls and combos.
7. Add coordinated effect event mappings.
8. Add trigger profiles, link them, then define trigger actions.
9. Add skill-to-ability unlocks in `skill_ability_gain`.

## Example SQL Planning Notes
```sql
-- Example only. Verify IDs before inserting.
INSERT INTO abilities (name, abilityType, activationCost, activationCostType, maxRange, cooldown1Duration, isactive)
VALUES ('Example Arcane Shot', 'Active', 20, 'mana', 25, 2.5, 1);
```

## Mystical Islands Usage
Abilities drive class combat kits, ship-board combat actions, and NPC tactical behavior. Ability data must be curated with strict dependencies to effects, damage types, and skill progression.

## External Application Notes
- spell/ability database
- combo chain visualizer
- cooldown and resource balancing dashboard
- admin combat editor

## Atavism 10.13 Notes
No major 10.13-specific differences were identified from this page. Recheck when upgrading.

## Uncertain Mappings
Mapping uncertain. Verify against Atavism 10.13 schema and editor behavior before generating production inserts.
Loading
Loading