id: 421c8eb2004247e4815ddc90b06f54fe
parent_id: 
item_type: 1
item_id: 8bee50c2a9194ec491612ace0bd40fe4
item_updated_time: 1781339861163
title_diff: "[{\"diffs\":[[1,\"Skara Brae — Skill & Magic System (MERP/Rolemaster-Inspired)\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":60}]"
body_diff: "[{\"diffs\":[[1,\"# Skara Brae — Skill & Magic System (MERP/Rolemaster-Inspired)\\\n\\\n> **Goal**: Port the depth of the MERP/Rolemaster skill and magic engine into Skara Brae's existing use-based, BIGINT-stat, idle/MMO framework — *without* abandoning the Torn-style \\\"stats only go up, train by doing\\\" feel.\\\n\\\n---\\\n\\\n## 1. Design Philosophy — Reconciling Two Worlds\\\n\\\n| Concern | RoleMaster/MERP | Skara Brae Existing | Resolution |\\\n|---|---|---|---|\\\n| **How skills grow** | Development Points spent per level (point-buy) | Use-based XP per skill (like RuneScape/Idle Fantasy) | **Hybrid**: practice-ranks by use **+** development-ranks by spend. See §3. |\\\n| **Skill depth** | ~60 skills in 18+ categories, stat-linked, diminishing returns | Flat list of ~25 skills, each on its own XP bar | Adopt RM **categories**, **rank-bonus formula**, **stat integration**, **maneuver difficulties**. |\\\n| **Magic** | Spell *lists* (open/closed/base), realm-based, learned in order, power-point cost | 4 BT1 schools + 3 realms mentioned but undefined | Full **spell-list system** (§5): curated lists per realm, ordered progression, PP cost, bolt/ball/utility classification. |\\\n| **Resolution** | d100 open-ended + skill bonus vs. maneuver difficulty | d100 open-ended for combat only | Generalize d100 open-ended **maneuver roll** to *all* skills (§4). |\\\n| **Stats** | 10 stats | 6 BIGINT stats (Str/Agi/Con/Int/Wis/Cha) | Map each skill to 1–3 of our 6 stats (§2.2). |\\\n\\\n**Key principle**: Use-based training is the *primary* advancement loop (consistent with Torn + Idle Fantasy + the idle/offline features). Development Points are a *secondary* layer that lets players cross-train skills they don't actively grind — exactly Rolemaster's flexibility, but earned through play rather than per-level allocation alone.\\\n\\\n---\\\n\\\n## 2. The Skill Catalogue\\\n\\\n### 2.1 Skill Categories\\\n\\\nAll skills are organized into Rolemaster-style **categories**. A character's **profession (class)** grants a **profession modifier** per category — a discount on Development Point cost and/or a small bonus to the skill bonus. This is the Rolemaster \\\"class feel\\\" mechanism.\\\n\\\n| # | Category | Example Skills | Primary Use |\\\n|---|---|---|---|\\\n| 1 | **Armor** | Light Armor, Medium Armor, Heavy Armor, Shield | Mitigation, agility penalties |\\\n| 2 | **Weapon — Melee** | 1H Edged, 1H Concussion, 2-Handed, Polearms, Unarmed, Martial Arts | Attack rolls, OB |\\\n| 3 | **Weapon — Ranged** | Bow, Crossbow, Thrown, Sling | Ranged attack rolls |\\\n| 4 | **Athletic / Brawn** | Climbing, Swimming, Gymnastics (dodge), Lifting | Movement, escape, evasion |\\\n| 5 | **Awareness / Search** | Perception, Alertness, Tracking, Trap Sense, Ambush Awareness | Detection, scouting |\\\n| 6 | **Body Development** | Constitution (HP pool growth), Stamina | Survivability |\\\n| 7 | **Combat Maneuvers** | Mounted Combat, Adrenal Defense, Multiple Parry, Feint | Advanced combat options |\\\n| 8 | **Craft / Trade** | Blacksmithing, Alchemy, Enchanting, Tailoring, Jewelcrafting, Fletching, Cooking | Crafting professions |\\\n| 9 | **Gathering** | Mining, Herbalism, Woodcutting, Fishing, Skinning | Material acquisition |\\\n| 10 | **Directed Spells** | Runes, Staves & Wands, Scrolls | Using magic items |\\\n| 11 | **Influence** | Leadership, Persuasion, Intimidation, Disguise | Social, guild, trade |\\\n| 12 | **Lore** | General Lore, Magical Lore, Religious Lore, Skara Brae Lore | Quests, puzzles, dungeon riddles |\\\n| 13 | **Magic Lore** | Runereading, Spell Mastery, Mana Weaving | Spellcasting support |\\\n| 14 | **Mental** *(Mentalism)* | Telepathy, Mental Defense, Mind Control, Enhancement | Mentalism spell channeling |\\\n| 15 | **Outdoor / Environment** | Foraging, Survival, Weather Reading, Navigation | Wilderness, Wilds, offshore |\\\n| 16 | **Self Control** | Meditation (mana regen), Frenzy (berserk), Willpower (RR bonus) | Buffs, recovery |\\\n| 17 | **Special Attacks** | Backstab, Ambush, Poisons, Stunning Blows | Rogue/Monk techniques |\\\n| 18 | **Spells** *(per realm)* | Essence Lists, Channeling Lists, Mentalism Lists | Spellcasting — see §5 |\\\n| 19 | **Subterfuge / Stealth** | Lockpicking, Pickpocketing, Sneaking, Hiding, Trap Setting | Thievery, adventures |\\\n| 20 | **Technical / Trade** | Bartering, Appraisal, Engineering (siege/traps) | Economy, guild siege |\\\n| 21 | **Urban** | Streetwise, Gambling, Carousing, Black Market (fencing) | Inn, Lower City, Harbor |\\\n\\\n> Mappers to existing design: categories 8 & 9 = the 5 gathering + 7 crafting professions already defined. Category 19 = the Thievery tree. Category 21 = social/inn activities. Category 18 = the magic system in §5.\\\n\\\n### 2.2 Stat Linkage\\\n\\\nEach skill rolls **1–3 relevant stats**. Stat bonus is derived from the BIGINT stat via a **logarithmic bonus function** (so billions-scale stats still produce a bounded, meaningful bonus):\\\n\\\n```\\\nstat_bonus(value) = floor( 10 * log2( value / 10 ) )   // bounded, grows slowly\\\n// Example:  10 → 0,  20 → +10,  80 → +30,  10K → +100,  1B → ~+200\\\n```\\\n\\\n(Exact curve TBD in tuning — the point is **slow, diminishing** growth so that a character with 1B Intelligence isn't auto-winning every lore check, but is meaningfully better than one with 10K.)\\\n\\\n| Sample skills | Linked Stats |\\\n|---|---|\\\n| 1H Edged | Str, Agi |\\\n| Bow | Agi |\\\n| Stealth / Sneaking | Agi |\\\n| Lockpicking | Agi, Int |\\\n| Blacksmithing | Str, Int |\\\n| Alchemy | Int, Wis |\\\n| Persuasion | Cha |\\\n| Tracking | Wis, Int |\\\n| Meditation | Wis, Con |\\\n| Unarmed / Martial Arts | Str, Con, Agi |\\\n| Runereading | Int |\\\n\\\n---\\\n\\\n## 3. Skill Ranks — Practice + Development (Hybrid)\\\n\\\n### 3.1 Two Tracks, One Bonus\\\n\\\nA skill's effectiveness is driven by its **total ranks**, which come from two sources:\\\n\\\n1. **Practice Ranks** — earned automatically by using the skill (use-based XP → rank thresholds). *This is the core loop.* Each skill has its own XP bar. Offline apprentice workers grant practice XP at 50% (existing design).\\\n2. **Development Ranks** — purchased with **Development Points (DP)**. Lets a player boost a skill they aren't actively grinding, or push past a practice plateau.\\\n\\\n```\\\ntotal_ranks(skill) = practice_ranks + development_ranks\\\nskill_bonus(skill) = rank_bonus(total_ranks)\\\n                       + Σ stat_bonus(linked_stats)\\\n                       + profession_bonus(class, category)\\\n                       + equipment_bonus\\\n                       + situational_modifiers\\\n```\\\n\\\n### 3.2 Rank Bonus — Diminishing Returns (Rolemaster Formula, Adapted)\\\n\\\n| Rank Band | Bonus per Rank | Cumulative at Band End |\\\n|---|---|---|\\\n| Ranks 1–10 | +5 each | +50 |\\\n| Ranks 11–20 | +3 each | +80 |\\\n| Ranks 21–30 | +2 each | +100 |\\\n| Ranks 31–50 | +1 each | +120 |\\\n| Ranks 51+ | +0.5 each (rounded) | slow creep |\\\n\\\nThis mirrors Rolemaster's \\\"first rank is worth a lot, then diminishing.\\\" It keeps use-based grinding rewarding early and makes Development Points meaningful for pushing high-end skills. **Caps** per skill can be set per tuning (e.g., max 50 ranks for non-combat, higher for weapons/spells).\\\n\\\n### 3.3 Development Points\\\n\\\n- **DP per character level** = `5 + stat_bonus(Intelligence)` (Intelligence = learning aptitude). Patrons may get +2.\\\n- **DP cost to buy a rank** depends on the skill's category and the character's profession:\\\n\\\n| Profession Modifier | DP per Rank | Meaning |\\\n|---|---|---|\\\n| Favored | 1 | Class's core competencies |\\\n| Normal | 2 | Secondary skills |\\\n| Unfavored | 4 | Outside the class's wheelhouse |\\\n| Restricted | 8 (or disallowed) | E.g., heavy spellcasting for a Warrior |\\\n\\\n| Class | Favored Categories (examples) | Unfavored |\\\n|---|---|---|\\\n| **Warrior** | Armor, Weapon-Melee, Weapon-Ranged, Body Dev, Combat Maneuvers | Spells, Mental |\\\n| **Rogue** | Subterfuge/Stealth, Special Attacks, Urban, Awareness, Weapon-Melee | Spells (closed), Self Control |\\\n| **Mage** | Spells (Essence), Lore, Magic Lore, Directed Spells, Craft (Enchant/Alchemy) | Armor, Weapon-Melee, Subterfuge |\\\n| **Bard** | Spells (Mentalism), Influence, Lore, Urban, Self Control | Armor (heavy), Body Dev |\\\n| **Cleric** | Spells (Channeling), Influence, Self Control, Lore | Weapon-Ranged, Subterfuge |\\\n| **Ranger** | Weapon-Ranged, Outdoor/Envir, Awareness, Gathering, minor Channeling | Urban, Influence |\\\n| **Paladin** | Armor, Weapon-Melee, Spells (minor Channeling), Self Control, Influence | Subterfuge, Mental |\\\n| **Monk** | Unarmed/Martial Arts, Athletic, Self Control, Body Dev | Armor (heavy), Spells |\\\n\\\n### 3.4 Classless Cross-Training\\\n\\\nBecause any class *can* buy any (non-restricted) skill at higher DP cost, a Warrior *can* learn a basic Fire Bolt — but it costs 8 DP/rank and caps low. This is pure Rolemaster flexibility and rewards hybrid builds, while keeping class identity strong.\\\n\\\n---\\\n\\\n## 4. Skill Resolution — The Maneuver Roll (Generalized d100)\\\n\\\nEvery non-trivial skill action resolves with the same engine as combat: an **open-ended d100 maneuver**.\\\n\\\n### 4.1 Difficulty Modifiers\\\n\\\n| Difficulty | Modifier | Example in Skara Brae |\\\n|---|---|---|\\\n| Routine | +30 | Pick an easy lock (tavern cellar) |\\\n| Easy | +20 | Track a fresh trail in snow |\\\n| Light | +10 | Brew a basic healing potion |\\\n| Medium | 0 | Pickpocket a sober merchant |\\\n| Hard | −10 | Pickpocket a guard; scale a city wall |\\\n| Very Hard | −20 | Defuse a dungeon trap; fence rare goods |\\\n| Extremely Hard | −30 | Pick a vault lock in the Noble Quarter |\\\n| Sheer Folly | −50 | Climb a sheer cliff in a storm |\\\n| Absurd | −70 | Pickpocket Mangar's lieutenant |\\\n\\\n### 4.2 Resolution\\\n\\\n```\\\nmaneuver_total = d100_open_ended() + skill_bonus(skill) + difficulty_modifier\\\n```\\\n\\\nOpen-ended: 96–100 rolls again and adds; 01–05 rolls again and subtracts (downward open-ended, per Rolemaster).\\\n\\\n### 4.3 Result Table\\\n\\\n| maneuver_total | Outcome | Effect |\\\n|---|---|---|\\\n| ≥ +80 | **Absolute Success** | Best result + bonus (e.g., +50% yield, bonus loot) |\\\n| +21 to +79 | **Complete Success** | Full intended effect |\\\n| 0 to +20 | **Partial Success** | Effect at reduced value / longer time |\\\n| −20 to −1 | **Failure** | No effect; small chance of minor mishap |\\\n| −80 to −21 | **Absolute Failure** | Failure + complication (broken pick, alarm, wasted materials) |\\\n| ≤ −81 | **Spectacular Failure** | Severe consequence (injury, aggro, lost materials, trap sprung) |\\\n\\\nDownward open-ended rolls (01–05) feed the lower bands → the \\\"fumble\\\" tension that makes Rolemaster feel alive.\\\n\\\n### 4.4 Why This Matters\\\n\\\n- **Adventures** (pickpocketing, burglary, fencing) now use real skill checks with difficulty tiers — replacing a flat success chance.\\\n- **Crafting** quality rolls (Common→Legendary) can be driven off the maneuver table instead of a separate d100.\\\n- **Dungeon puzzles** (lore checks, riddles, lockpicking, trap disarming) become skill encounters.\\\n- **Social** actions (persuade the Beggar King, bluff the City Watch) use Influence skills.\\\n- Consistent with the combat crit table already designed — **one unified resolution engine**.\\\n\\\n---\\\n\\\n## 5. The Magic System — Spell Lists per Realm\\\n\\\n### 5.1 Realms & Primary Stat (Power Points)\\\n\\\n| Realm | Casters | Primary Stat (PP) | Flavor |\\\n|---|---|---|---|\\\n| **Essence** | Mages | Intelligence | Raw magical energy woven from the world |\\\n| **Channeling** | Clerics, Paladins (minor) | Wisdom | Power granted by the Old Gods |\\\n| **Mentalism** | Bards | Charisma | Power drawn from mind and will |\\\n\\\n**Power Points (PP)** = the spell-casting resource (replaces/generates the `mana` BIGINT pool). PP-per-level scales with the realm stat bonus:\\\n\\\n```\\\nmax_pp = base_pp(class) + realm_stat_bonus * pp_multiplier(class)\\\n```\\\n\\\nPP regenerates over time, boosted by **Meditation** skill (Self Control) and blessings. Spells cost PP to cast; higher-tier spells on a list cost more.\\\n\\\n### 5.2 Spell Lists — Open, Closed, Base\\\n\\\nA **spell list** is an ordered progression: spell #1 is the weakest, spell #N is the strongest. You must learn a list **in order** — you can't learn spell #10 without #1–#9. This is core Rolemaster.\\\n\\\n| List Class | Availability | Example |\\\n|---|---|---|\\\n| **Open** | Available to *all* casters of that realm (favored DP cost) | Essence Hand (utility) for all Essence users |\\\n| **Closed** | Restricted to specific professions of that realm (normal/normal+ cost) | Life Mastery (healing) closed to Clerics |\\\n| **Base** | The profession's signature lists (cheapest, defines the class) | Fire Law as a Mage base list |\\\n\\\nYou **rank up a spell list** like a skill (practice by casting + DP). Your **list rank** determines the highest spell number you can cast from that list. E.g., Fire Law rank 12 lets you cast Fire Law spells 1–12.\\\n\\\n### 5.3 Curated Spell Lists per Realm\\\n\\\n*(Target: ~20 lists per realm, ~10–15 spells each. Below is the launch set — expandable.)*\\\n\\\n#### Essence (Mages)\\\n\\\n| List | Class | Highlights |\\\n|---|---|---|\\\n| **Fire Law** | Base (Mage) | Spark → Fire Bolt → Wall of Fire → Fire Ball → Inferno |\\\n| **Ice Law** | Base (Mage) | Frost → Ice Bolt → Freeze → Blizzard |\\\n| **Light Law** | Base (Mage) | Glow → Light Bolt → Blinding Flash → Sun Bolt |\\\n| **Earth Law** | Closed | Stone Bolt → Entangle → Earthquake |\\\n| **Water Law** | Closed | Water Bolt → Wave → Tidal Surge |\\\n| **Illusions** | Closed | Phantasmal Force → Blur → Invisibility |\\\n| **Living Change** | Closed | Enhance Stat → Shrink → Polymorph |\\\n| **Lofty Bridge** | Closed | Leap → Long Step → Gate → Teleport |\\\n| **Essence Hand** | Open | Light → Unseen Hand → Lock Lore → Dispel |\\\n| **Essence Ways** | Open | Detect Magic → Aura Reading → Sense Essence |\\\n| **Spell Wall** | Open | Minor Shield → Barrier → Wall of Force |\\\n| **Essence Perceptions** | Open | Detect Essence → Analyze Magic |\\\n\\\n> **BT1 School Mapping**: The four Bard's Tale schools are *focuses within Essence*:\\\n> - **Magician** (offensive) → Fire/Ice/Light Law base lists\\\n> - **Conjurer** (summoning) → summoning sub-lists + Earth Law\\\n> - **Sorcerer** (debilitating) → Illusions + Living Change\\\n> - **Wizard** (utility) → Lofty Bridge + Essence Hand + Spell Wall\\\n>\\\n> Switching \\\"school\\\" at the Review Board = reprioritizing which base lists you rank. **Master all four = Archmage** (all Essence lists learned).\\\n\\\n#### Channeling (Clerics)\\\n\\\n| List | Class | Highlights |\\\n|---|---|---|\\\n| **Life Mastery** | Base (Cleric) | Minor Heal → Major Heal → Regeneration → Resurrection |\\\n| **Repulse / Undead Mastery** | Base (Cleric) | Turn Undead → Hold Undead → Control Undead |\\\n| **Protections** | Base (Cleric) | Sanctuary → Holy Shield → Consecration |\\\n| **Detections** | Closed | Detect Evil → Detect Undead → Detect Trap |\\\n| **Creations** | Closed | Create Light → Create Food → Create Water |\\\n| **Weather Ways** | Closed | Calm Weather → Fair Winds → Storm Call |\\\n| **Communal Ways** | Open | Sense Deity → Commune → Divine Guidance |\\\n| **Channeling Perceptions** | Open | Detect Aura → Sense Danger |\\\n\\\n#### Mentalism (Bards)\\\n\\\n| List | Class | Highlights |\\\n|---|---|---|\\\n| **Mind Mastery** | Base (Bard) | Daze → Confusion → Mental Stun → Dominate |\\\n| **Song / Sound** | Base (Bard) | Valor (atk buff) → Hope (morale) → Fear (debuff) → Charm → Lullaby (sleep). *Long-duration bard songs.* |\\\n| **Self Healing** | Closed | Mend → Recover → Revitalize |\\\n| **Mind's Door** | Closed | Telepathy → Mind Speech → Mind Store |\\\n| **Body Control** | Closed | Adrenal Speed → Adrenal Strength → Prowess |\\\n| **Mental Illusions** | Closed | Mirage → Phantasm → Mirage Illusion |\\\n| **Mind's Eye** | Open | Sense Thoughts → Detect Motive |\\\n| **Mental Defenses** | Open | Mind Barrier → Mental Shield → Iron Will |\\\n\\\n### 5.4 Spell Classification (Combat Integration)\\\n\\\n| Type | Resolution | Notes |\\\n|---|---|---|\\\n| **Bolt** (directed) | Attack roll = d100 open-ended + Directed Spells skill vs. target's defense (like a missile) | Fire Bolt, Ice Bolt. Can trigger crit tables (elemental crit). |\\\n| **Ball / Area** (non-directed) | Target makes **Resistance Roll**: d100 + Will bonus + level vs. spell level | Fire Ball, Blizzard. Failed RR = full effect; partial = reduced. |\\\n| **Defensive / Utility** | Auto-cast (costs PP); resisted only where noted | Shields, teleports, detections, healing. |\\\n\\\nThis slots directly into the existing **Resistance Roll** design (d100 + Will vs. spell difficulty) and the **d100 open-ended crit tables**. Elemental crit tables (burn, frost, shock) extend the slash/crush/puncture/unarmed tables already defined.\\\n\\\n### 5.5 Spell Acquisition — The Review Board\\\n\\\nPer existing design, the **Adventurers' Guild (Review Board)** is where you learn magic:\\\n- Increase a spell-list rank by paying gold + meeting the level/practice prerequisite.\\\n- Casters must visit to gain access to new spell numbers on a list.\\\n- **Magical exam** (lore check) for spellcasters (existing design) — now a real *Magical Lore* maneuver.\\\n- Mages switch Essence-school focus here (reprioritize base lists).\\\n- **Archmage**: a Mage who has maxed all four BT1 schools' base lists → cosmetic title + achievement + small global casting bonus.\\\n\\\n### 5.6 Spell Scrolls & Items\\\n\\\n- **Scrolls** (Directed Spells → Scrolls skill): one-use spell from any list; lets non-casters cast minor spells (Torn-like consumable). Found in dungeons, crafted by Enchanting.\\\n- **Staves & Wands** (Directed Spells → Staves & Wands): rechargeable PP-cost items casting a fixed spell. Crafted/bound via Enchanting.\\\n- **Runes** (Magic Lore → Runereading): permanent magical inscriptions on gear; activated by Runereading skill.\\\n\\\n---\\\n\\\n## 6. Integration With Existing Systems\\\n\\\n| Existing System | Change / Enhancement |\\\n|---|---|\\\n| **Combat (crit tables)** | Elemental crit tables added (burn, frost, shock). Bolts roll like missiles; balls use RR. Maneuver roll unified with combat. |\\\n| **BIGINT stats** | `stat_bonus()` log function feeds skills. Stats keep growing to billions; bonuses grow slowly (bounded). |\\\n| **Adventures** | Success now computed via maneuver roll + skill bonus + difficulty tier. Time-of-day & skill synergies become modifiers. |\\\n| **Crafting (5 gather + 7 craft)** | These are skills in categories 8 & 9. Quality roll driven by maneuver table; crafting crits = upward open-ended success. |\\\n| **Thievery** | Lives in Subterfuge/Stealth category (Lockpicking, Pickpocketing, Sneaking, Hiding). Adventures use these directly. |\\\n| **Education courses** | Completing a course grants **DP** (development points) — a second DP source beyond leveling. Makes education feel impactful. |\\\n| **Blessings** | Could grant temporary +skill bonus or +DP regen instead of flat multipliers. |\\\n| **Workers (apprentice)** | Apprentice grants *practice XP* to a chosen skill at 50% — unchanged, now feeds practice ranks. |\\\n| **Database** | New tables needed: `skill_categories`, `character_skill_ranks` (split practice/dev), `spell_lists`, `character_spell_list_ranks`, `spell_definitions`. See §7. |\\\n\\\n---\\\n\\\n## 7. Database Additions (Draft)\\\n\\\n```sql\\\n-- Skill ranks (practice + development split)\\\nCREATE TABLE character_skills (\\\n    character_id     UUID NOT NULL REFERENCES characters(id),\\\n    skill_name       VARCHAR(48) NOT NULL,\\\n    category         VARCHAR(32) NOT NULL,\\\n    practice_ranks   INT NOT NULL DEFAULT 0,\\\n    development_ranks INT NOT NULL DEFAULT 0,\\\n    experience       BIGINT NOT NULL DEFAULT 0,   -- feeds practice_ranks\\\n    PRIMARY KEY (character_id, skill_name)\\\n);\\\n\\\n-- Development point pool per character\\\nALTER TABLE characters ADD COLUMN unspent_dp INT NOT NULL DEFAULT 0;\\\n\\\n-- Spell lists\\\nCREATE TABLE spell_lists (\\\n    id           VARCHAR(64) PRIMARY KEY,         -- e.g. 'fire_law'\\\n    realm        VARCHAR(16) NOT NULL,            -- essence | channeling | mentalism\\\n    list_class   VARCHAR(16) NOT NULL,            -- open | closed | base\\\n    name         VARCHAR(64) NOT NULL,\\\n    description  TEXT\\\n);\\\n\\\n-- Spell definitions (ordered within a list)\\\nCREATE TABLE spells (\\\n    id           VARCHAR(64) PRIMARY KEY,         -- e.g. 'fire_law_3'\\\n    list_id      VARCHAR(64) NOT NULL REFERENCES spell_lists(id),\\\n    spell_number INT NOT NULL,                    -- position in list (1..N)\\\n    name         VARCHAR(64) NOT NULL,\\\n    spell_type   VARCHAR(16) NOT NULL,            -- bolt | ball | defensive | utility\\\n    pp_cost      INT NOT NULL,\\\n    effect_json  JSONB NOT NULL,                  -- damage, duration, modifiers\\\n    description  TEXT,\\\n    UNIQUE (list_id, spell_number)\\\n);\\\n\\\n-- Character spell-list ranks\\\nCREATE TABLE character_spell_lists (\\\n    character_id UUID NOT NULL REFERENCES characters(id),\\\n    list_id      VARCHAR(64) NOT NULL REFERENCES spell_lists(id),\\\n    rank         INT NOT NULL DEFAULT 0,          -- highest spell_number accessible\\\n    experience   BIGINT NOT NULL DEFAULT 0,\\\n    PRIMARY KEY (character_id, list_id)\\\n);\\\n```\\\n\\\n---\\\n\\\n## 8. Open Design Questions\\\n\\\n- [ ] **Stat bonus curve**: exact `stat_bonus()` function shape — log2 base? Per-stat caps?\\\n- [ ] **Rank caps**: hard cap per skill (50? 100?) or soft cap via DP scarcity?\\\n- [ ] **PP vs. existing `mana` BIGINT column**: unify into PP, or keep mana as the raw pool and PP as derived? Recommend: rename `mana`→PP conceptually, derive max from formula.\\\n- [ ] **Elemental crit tables**: how many (burn/frost/shock/sonic/poison)? Where stored (`skara-brae-common/crit-tables/`)?\\\n- [ ] **Scroll/wand crafting**: which Enchanting recipes produce scrolls? List-restricted or universal?\\\n- [ ] **DP from education**: how many DP per completed course? Balance against per-level DP.\\\n- [ ] **Multi-realm casters**: should any class get a *second* realm at reduced effectiveness (e.g., Ranger = Essence + Channeling minor)? Rolemaster has semi/hybrid casters.\\\n- [ ] **Archmage bonus**: cosmetic only, or small global casting bonus?\\\n\\\n---\\\n\\\n## Related Notes\\\n\\\n- [Game Concept Overview](joplin://fcd381c235694f29abf73665317a40f5) — Skills, classes, stats, spell schools, education\\\n- [Combat System & Stat Scaling Design](joplin://5ff1fed180fa4b39b4cdb925f34c1008) — d100 open-ended crit tables (this system generalizes them)\\\n- [Mechanics Source Mapping](joplin://81ac5941f07d4cdcb41a4797c7ec1c99) — RoleMaster source mapping (expanded here)\\\n- [Lore & World Building](joplin://2c8e2a844da0497e8a93c820ec8901a1) — Adventurers' Guild / Review Board, districts for learning\\\n- [Tech Stack & Architecture](joplin://980c3eb587294e4383474b94988f2f88) — DB schema, crate structure (skills.rs, spell engine)\\\n- [Project Plan](joplin://088737f31c514f1da21cc42c0ab6acc1) — Roadmap, MVP scope\\\n- [Medals & Honours System](joplin://e368348dd9c341f59fe55594a0fbca96) — Skill/magic mastery feeds medals\"]],\"start1\":0,\"start2\":0,\"length1\":0,\"length2\":22396}]"
metadata_diff: {"new":{"id":"8bee50c2a9194ec491612ace0bd40fe4","parent_id":"d1892c7c531848f5a5a3ac5e1749f7cf","latitude":"0.00000000","longitude":"0.00000000","altitude":"0.0000","author":"","source_url":"","is_todo":0,"todo_due":0,"todo_completed":0,"source":"joplin-desktop","source_application":"net.cozic.joplin-desktop","application_data":"","order":1781339546509,"markup_language":1,"is_shared":0,"share_id":"","conflict_original_id":"","master_key_id":"","user_data":"","deleted_time":0},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-06-13T08:46:41.663Z
created_time: 2026-06-13T08:46:41.663Z
type_: 13