// Character data — Фінрад, Боєць 1 рівня.

const ABILITIES = [
  { k: 'STR', name: 'Сила',       v: 16 },
  { k: 'DEX', name: 'Спритність', v: 14 },
  { k: 'CON', name: 'Тіло',       v: 15 },
  { k: 'INT', name: 'Інтелект',   v: 9  },
  { k: 'WIS', name: 'Мудрість',   v: 11 },
  { k: 'CHA', name: 'Харизма',    v: 13 },
];

const mod = (score) => Math.floor((score - 10) / 2);
const fmtMod = (m) => (m >= 0 ? `+${m}` : `${m}`);

const SKILLS = [
  { name: 'Атлетика',          attr: 'STR', prof: 1 },
  { name: 'Акробатика',        attr: 'DEX', prof: 1 },
  { name: 'Спритність рук',    attr: 'DEX', prof: 0 },
  { name: 'Скритність',        attr: 'DEX', prof: 0 },
  { name: 'Магія',             attr: 'INT', prof: 0 },
  { name: 'Історія',           attr: 'INT', prof: 0 },
  { name: 'Розслідування',     attr: 'INT', prof: 0 },
  { name: 'Природа',           attr: 'INT', prof: 0 },
  { name: 'Релігія',           attr: 'INT', prof: 0 },
  { name: 'Сприйняття',        attr: 'WIS', prof: 0 },
  { name: 'Догляд за твар.',   attr: 'WIS', prof: 0 },
  { name: 'Прозорливість',     attr: 'WIS', prof: 0 },
  { name: 'Медицина',          attr: 'WIS', prof: 0 },
  { name: 'Виживання',         attr: 'WIS', prof: 0 },
  { name: 'Обман',             attr: 'CHA', prof: 0 },
  { name: 'Залякування',       attr: 'CHA', prof: 0 },
  { name: 'Виконання',         attr: 'CHA', prof: 0 },
  { name: 'Переконання',       attr: 'CHA', prof: 0 },
];

const SAVES = [
  { k: 'STR', prof: true  },
  { k: 'DEX', prof: false },
  { k: 'CON', prof: true  },
  { k: 'INT', prof: false },
  { k: 'WIS', prof: false },
  { k: 'CHA', prof: false },
];

const CONDITIONS = [
  'Сліпота', 'Глухота', 'Зачарований', 'Зляканий', 'Захоплений',
  'Знерухомлений', 'Знесилений', 'Невидимий', 'Паралізований',
  'Скам\'янілий', 'Отруєний', 'Лежачий', 'Стриманий',
  'Приголомшений', 'Без свідомості', 'Виснаження',
];

// Attacks are now stored per-character in customAttacks.
const ATTACKS = [];

// Боєць 1-го рівня не має заклять.
const SPELLS_GROUPED = [];

const INVENTORY = [
  { name: 'Кольчуга',            qty: 1,  wt: 55,  type: 'броня',  equip: true,  magic: false },
  { name: 'Щит',                 qty: 1,  wt: 6,   type: 'броня',  equip: true,  magic: false },
  { name: 'Довгий меч',          qty: 1,  wt: 3,   type: 'зброя',  equip: true,  magic: false },
  { name: 'Моргенштерн',         qty: 1,  wt: 4,   type: 'зброя',  equip: true,  magic: false },
  { name: 'Легкий арбалет',      qty: 1,  wt: 5,   type: 'зброя',  equip: true,  magic: false },
  { name: 'Болт ×20',            qty: 1,  wt: 1.5, type: 'зброя',  equip: false, magic: false },
  { name: 'Рюкзак',              qty: 1,  wt: 5,   type: 'інше',   equip: true,  magic: false },
  { name: 'Спальник',            qty: 1,  wt: 7,   type: 'інше',   equip: false, magic: false },
  { name: 'Столовий набір',      qty: 1,  wt: 1,   type: 'інше',   equip: false, magic: false },
  { name: 'Трутниця',            qty: 1,  wt: 1,   type: 'інше',   equip: false, magic: false },
  { name: 'Смолоскип',           qty: 10, wt: 1,   type: 'інше',   equip: false, magic: false },
  { name: 'Денний раціон',       qty: 10, wt: 2,   type: 'інше',   equip: false, magic: false },
  { name: 'Бурдюк',              qty: 1,  wt: 5,   type: 'інше',   equip: false, magic: false },
  { name: 'Мотузка 50 фут',      qty: 1,  wt: 10,  type: 'інше',   equip: false, magic: false },
  { name: 'Лопата',              qty: 1,  wt: 5,   type: 'інше',   equip: false, magic: false },
  { name: 'Залізний горщик',     qty: 1,  wt: 10,  type: 'інше',   equip: false, magic: false },
  { name: 'Звичайний одяг',      qty: 1,  wt: 3,   type: 'інше',   equip: false, magic: false },
  { name: 'Інструменти кухаря',  qty: 1,  wt: 8,   type: 'інше',   equip: false, magic: false },
  { name: 'Ключ (невідомий)',     qty: 1,  wt: 0.1, type: 'інше',   equip: false, magic: false },
  { name: 'Документи на корабель', qty: 1, wt: 0,  type: 'інше',   equip: false, magic: false },
  { name: 'Карта скарбів',       qty: 1,  wt: 0,   type: 'інше',   equip: false, magic: false },
];

const CURRENCY = [
  { k: 'PP', name: 'Платина',  v: 0,  color: 'platinum' },
  { k: 'GP', name: 'Золото',   v: 10, color: 'gold'     },
  { k: 'EP', name: 'Електр.',  v: 0,  color: 'electrum' },
  { k: 'SP', name: 'Срібло',   v: 7,  color: 'silver'   },
  { k: 'CP', name: 'Мідь',     v: 0,  color: 'copper'   },
];

// Features are now stored per-character in customFeatures.
const FEATURES_CLASS = [];
const FEATURES_RACE  = [];
const FEATURES_FEATS = [];

const SESSIONS = [
  {
    n: 1, date: '23.05.2026', title: 'Перша сесія — Спільна халепа',
    body: `Я Фінрад.
Містечко в якому я - опинився Фад(л)ебург
Зайшов в таверну перепочити
Взяв купив ель
Тавернщик - Кремезний мужик - 195см, 150кг, в фартуху
Я втратив свідомість
Тим часом: Корвін також зайшов в таверну і замовив собі Ель - те саме сталося
З'явився в ямі з кілками
Іві дістала мотузку (погано одивилися орки нас і залишили всі маленькі речі які могли не помітити)
Ми виломали один з кілків щоб була зброя
Я піднявся по мотузці, побачив довгий коридор завдовшки метрів 15. Багато крові і пусті камери
Я допоміг піднятися Корвіну та Іві
Коридор з 4 камерами. Корвін підійшов до першої глянув - там пусто
Він глянув другу - там пусто
В третій - кімната йде якось в бік
Далі по основному коридору - йде поворот направо, там два орки які лупасять якогось чувака
Іві пробує вирвати кандали в другій камері тюремній, щоб була зброя. Я допомогаю, тим часом Корвін оглядається і розуміє, що третя камера яка кудись уходить . Корвін підійшов до нас і поділився інфою про кімнату в третю камеру - це катувальня. Він запропонував пройти туди. Я пішов перший і знайшов там орка, тому в непомітності зі спини підійшов і кілком пробую проштирхнути орка в серце - я попав, наніс 9 урона але не вбив його - проштирхнув. Потім орк розвернувся до мене і почав кричати - почався бій.
Ті 2 орки почули крик, почався бій з тим одним всередині катувальні. Корвін почав тримати двері (притискати), а потім в моменті побачив що зсередини стирчить ключ і він подумав і потім зачинив на замок.
В результаті лише один орк всередині катувальні якого ми мали вбити. Кинули ініціативу - Я 8, Іві 18, Корвін 13, Орк 8. Починаємо бій - перший хід робить Іві - використала священне полумья і критично провалилась - Корвіна відштовхнуло хвилею в двері і через це зламався ключ в замку. Почався перший хід Корвіна - він думає над тим що можна зробити, згадує які речі у нього залишились (те що орки не переглянули детально у нас).  Корвін від краю катувальні де стояв біля дверей - побіг до орка в кімнаті  вплотну (сама кімната це 10х15 футів і коридорчик в 10 футів довжиною). Корвін вирішив ударити ногою орка щоб відкинути його і спантеличити, в результаті Корвін попадає і орк падає на одне коліно і тепер має перешкоду для кидків захисту. Далі мій хід  - я просто вирішую проштирхнути орка в шию декількома атаками (по факту була одна атака, але було два кидки через перевагу і  другою атакою попав). Від цієї серії атаки орк вмирає - бій закінчується за один раунд.
Я оглядаю  труп - відкидаю його сокиру до Іві, щоб вона забрала.
Орк виглядає цілком звичайно, ніяких тавро - не ясно який клан. Виглядає орк просто, що він жив ненайкраще життя, но звичайний орк.
Я питаю у команди чи закрили вони двері, щоб орки не пройшли - Корвін сказав, що так закрили, "ми ж не тупі" - правду він не сказав що зламався ключ.
Корвін вирішив оцінити вагу орка - хоче його підняти (кидок сили = кріт 20) - він підняв його з легкістю і при бажанні міг би їм пожанглювати, хоча важить він десь 100-120кг. Корвін його перед собою виставив - щоб орк закривав його.
Тим часом я і Іві оглядаємо зброю в катувальні - тут є дубина з колючою металевою проволокою, батіг, моргенштерн і в тумбочці багато мікроскопічних ножиць і різних лез, все що для катувань. На поличку нижче звичайні ножі, кинджали, звичайна зброя. На самій останній полиці - одноручний меч, молотки звичайні, кувалда. Корвін попросив взяти йому щось - бо він зайнятий триманням орка.
Я питаю Корвіна чи підійде йому батіг як зброя - пошутити. Він ругається щоб я дав щось нормальне йому.
Собі я взяв моргенштерн, Корвіну взяв одноручний меч. Іві спорядилася кинджалами 2шт, а сокиру викидає.
Ми чуємо лязг сокир окрів об двері з зовнішнього коридору. Корвін тримаючи орка підходить ближчек дверям, повертає голову до нас і каже: "Я вам казав що у мене є план, я зараз висуну голову цього орку і, буду намагатися вдати, що тут все добре. План можливо не робочий, тому мені потрібно щоб ви були готові і ти ФІнрад якщо що був готовий дати меч"
Ми почали переговорюватися і поки це відбувалося - ми вже почали чути що двері починають піддаватсия оркам.
Іві кастує Дивні дива і робить голос Корвіна схожим на голос орка.
"Хлопці, я тут, усе впорядке" (суржиком)
"Точно?"
"Ну да, уходітє"
"От блін, зря тіки двері зламали."
Потім ми обсудили, що треба вийти і дати цим двом оркам тумаків. Договорились зайти в непомітність і зі спини напасти.
Ми всі приховалися і в стелсі намагаємось вийти, але ключ зламаний і двері закриті. Корвін спитав що там сталося, я  сказав подивися сам, він підійшов, ми обидва почали еееекати і ааакати, не розуміючи як це відкрити. Корвін сказав що це орки зламали, а я спитав а як його зсередини зламали орки ззовні. Він сказав що я багато питань задаю.
Я пішов знайти щипци якими виривають ногті, взяв їх і пішов відкривати ключ (частина ключа залишилась в дверях і я підчепив її і провернув) Двері відкрилися гучно, один з орків почув, але не помітив нічого. Потім ми приховалися знову і зі спини підікралися до них разом з Корвіном і на рахунок 3 атакували їх.
Я бью моргенштерном по голові одного орку, другого Корвін б'є по шиї.
Коли я бив, я зачепився за сітку і інерція спала і тому наніс дуже мало урону по своєму орку. Тим часом Корвін успішно відрубає голову своєму орку, орк падає і його тіло  падає і тілом відкриває двері які стояли збоку, він впадає в кімнатку.
Тим часом орк якого бив я шокований від смерти свого напарника і одночасно розлючений.
Далі Іві використовує знову священне полум'я, я помічаю що вона починає кастувати і ми побмітили це та враховуючи минулий раз - прислонилися до стін з обох боків , щоб вона не зачепила нас.
У неї вийшло успішно використати заклинання по орку і вона попала та нанесла йому урон - і вона попала йому в ліве око яке обпалилося і він втратив зір на ліве око.
Наступним діє Корвін - він побачивши що в ліве око щось залетіло - він відштовхується (відстає) від стіни і підходить до орка ще ближче та робить випад  (стоячи на місце, вісовується на його лівий бік) і з розмаху б'є та цілить у шию та добиває орка = на цей раз голова не відрубується але пронзає до половини і орк падає. Падає він поруч з тілом чоловіка якого вони гамселили.
Бій закінчився, я похвалив всіх, ми познайомились та обмінялися іменами. Я сказав що ці орки якісь попуски і треба буде обережніше.
Потім я пішов оглянути сусідню камеру - там тарілка якась була з помоями, та скелет який був в кайданах і я побачив що у скелетеа не до кінця одяг перетворився в труху і я вирішив оглянути і дістав з його одягу - ключ, 7 срібних монет і документи на корабель. Я розумію що це документи цього скелету, але я бачу, що в принципі там є місце де записати інше ім'я і я теж можу вважатися власником цього корабля (єдиним).
Тим часом Корвін та Іві оглядали трупи  - Іві побрєзговала і попросила Корвіна зайнятися брудною роботою, але тим часом вона пішла в іншу кімнату яку ми ще не дивилась - вона зайшла в нею і зрозуміла що на жаль крім кайданків вона пуста. Але вона бачить що десь в куті кімнати таке відчуття ніби хтось порсався і там земля тришки перекопана, але там багато крові, нечистоти. Іві вирішила скинути дослідження на мене, але я офигів і одивився себе подумавши що невже я настільки виглядаю брудним що готовий порсатися в говні.
В результаті я передав кілок для Іві, щоб вона попорсалась сама в цьому. Вона бере кілок двома пальцями і намагається там знайти щось, але не змогла розгрести так, і взяла кілок сильніше і почала копатися.
Тим часом я і Корвін почали сперечатися що я не хочу допомогати їй копатися в лайні. Я в житті не роблю дві речі: не п'ю в таверні і не копаюся в лайні.
Але вони мене впевнили допомогти, тож я забрав кілок і почав копатися в цьому, розкопав і попросив Іві далі продовжити, бо мене почало нудити. Вона краєшком кілка дістала якусь карту. Але карта в лайні, Іві почала фукати. Вона взяла за края і спробувала роздивитися, але карта заляпана і їй треба промити цю мапу (вона не паперова, а з плотнішого матеріала). Іві поклала на підлогу картку і пішла шукати чим промити - спитала у нас чи є чим промити. Я сказав назлдо Корвіну - щоб дав свій бурдюк - він дуже нехотя віддав, хоч ми і сперечалися довго. Він дав бурдюк надпивши перед цим ще елю з нього. Іві промиває карту, а там - карта скарбів.
Корвін бузить що зря витратили ель. Іві пропонує відправитися колись туди, але я почав зауважувати що ми ніби не друзі і не домовлялися далі йти разом. У нас спільна ціль тільки вибратися, а далі у кожного своя дорога.
До речі, поки ми ту карту шукали, Корвін знайшов у орка за поясом ще одну мапу.  Ми встаємо у нього за спиною (поки він не помічає). І починаємо роздивлятися мапу. Це мапа місця в якому ми опинилися - там на мапі написано де які зони, а також послідовність що і куди треба іти.
Спочатку куди треба відносити трупи, куди треба відносити речі, куди відносити трупи.
Також на мапі написано на одній зоні НЕ ХОДИТИ - але нам не понятно чому не ходити
Тим часом Корвін помітив що ми підглядали карту, та сказав що знайшов шлях. Також Корвін найшов лист:
Що Ірод (орк1) пише своїй матері, що Гнида (орк2) його ображає. А також розповідає, що вони планують звільнятися з цього закладу і планують піти працювати в орчій дитячий садок, щоб там скручувати голови кроликами, мишкам, аніж сидіть в катакомбах і вбивати розумних істот. Також ще був знайдений ключ.
Ми ще поговорили і пішли далі. Спочатку я спробував відкрити двері - закриті, спробував свій ключ - не підходить. Корвін сказав пошукати мені в трупі орка, я пішов шукати, а тим часом Корвін відкроив і покликав мене і сказав що я там копирсаюсь. Я спитав а як вони відкрили - він сказав що він маг (сарказм). Я відповів, що у нього багато історій з ключами дивних.
Ми вийшли в коридор побільше і пройшлися далі, та почали обговорювати куди йти. Поки ми обговорювали я помітив ще двох орків, один стояв на повороті злів і дивися в наш бік (він не помітив нас), другий був прямо по коридору і дивився не на нас (він вхід здається оберігав). Ми пішли шукати таємні проходи в стінах на початку цього нового коридору, бо ми на карті бачили якісь таємні проходи в стінах. Я спробував дослідити факел - почав його повільно опускати, щось відбувалося, не надто гучно, але я бачив, що з'являється якийсь звук, типу дзирчання води.
В цей момент стіна відчиняється  і вверх підіймається. Ми пролізли всередину і вийшли в інший коридок. Ще посперечалися - я чорнявкою назвав Корвіна, він побузив і просив вибачаитися, а я сказав що все по факту і не буде вибачаитися.
Також я поділився що тут механізм якийсь який воду відкривав потрохи -і може тут механізм є який по новій може запустити воду в цій каналізації.
Іві вирішила оглянути статуї в новому коридорі - там були відображенні дроу в балахонах.
Зліва від нас був вихід. Справа коридор йшов далі до місця яке було помічено як Сміття.
Ми обговорювали подальший план і Іві пішла досліджувати статуї знову - вона їх поштовхала, но нічого. Я побачив що деякі місця пусті, а Іві сказала, що напевно там важелі і ми перевірили - дійсно так. Там пластини були. Вони встали  і відчули що ваги не вистачає. Потім я огледів факела - нічого. Ми встали на один важіль вдвох. Щось зарухалось і вода полилась сильніше (ми не бачили де). Потім ми в тісноту залізли з Іві ще. Результат не покращився. Я з Івів залишився на одній пластині. Корвін пішов на іншу. Потекла вода в першому новому коридорі - як тільки ми відійшли від пластин - закривсявипуск води.
Потім Корвін вирішив перетягнути іншу статую, але вона рухалась лише на декілька сантиметрів і впиралась в щось.
Я запропонував принести труп орка щоб більше ваги поставити. Іві похвалила за це мене - сказала що перша думка гарна. Але Іві взяла ініціативу в свої руки і пішла взяла зброю тих мертвих орків та принесла  і склала на один з важелів. Ми тим часом з Корвіном сперечалися. І сперечалися ми так, що він сказав що він вже пропонував притягти орків, а я його послав нахкй. Такого не було і я почав кричати на нього і сперечатися.
Він закрив мені рота і ми далі пішли за орками, притягнули їх і встали на пластини знову. Вода почала дуже голосно джуркотіти. Але через огиду до орків, Іві стало погано, вона почала втрачати свідомість.
Вода протікає усюди, але двері на вихід не відкрилися. Але ми чуємо що орки почали зрозуміти що щось відбувається не те. І намагаються знайти причину - бігають суєтяться
Іві від звуків схвильованих орків повернулась свідомвість.
Тим часов один з орків пішо ближчек до нас (мене і Корвіна) і стояв біля стіни прям біля карману для статуї де ми стояли.
Через те що Іві втікла з свого карману, один з орків який був на її пластині - випав з карману статуї. Той орк що був біля нас помітив це і вийшов ще ближче до нашого карману. Мене Корвін потикав в плече. Я вздихнув і стрибнув на орка поваливши і почавши забивати моргенштерном. Я повалив його і вдарив сильно по голові. Він впав на землю.. В той час коли я вистрибував Корвін підійшов ближче і зробив такий же /випад як він робив в минулому бою - атакувати сзаду по спині розмашистою атакою меча. Разом ми його вбили.
Іві тим часом перепочила. Після бою вона підійшла та сказала що  пригадал карту і що вона бачила на карті два проходи через які ми пройшли і  що вона бчить поруч з нами прохід і треба пошукати спосіб. Вона спробувала дьорнути факел, але не вийшло.
Вона підійшла к стіні і побачила, що там є пази різних форм - трикутник, зірочка, і ще якісь форми
Поки ми шукали способи вирішити - з двох боків коридору вийшло два орки. Почався бій. Ми домовились з Корвіном розділити - я з правої сторони (Орк - Гнусмус), він з лівої (Орк - Гнильрог)
Здалеку коридора, ближче до місця Сміття - я помітив що там йде якийсь орк тілесного кольору (далі - Ригбир) - він закричав, але переміщується дуже повільно. Тож він ще на відстані 35 футів від нас.
Першим діяв я - я розбіжався на нього і з невеликою висотою стрибнув на нього щоб атакувати з перевагою. Це спрацювало - я попав і наніс урона трохи більше ніж зазвичай, Гнильрог отримавши шкоду, будучи при цьому збитий з пантелику і він почав тікати. Я скористався нагодою, та поки він розвертався я його вдарив моргенштерном під сраку через що він в польоті упав прям на обличчя. Гнильрог пав.
Тим часом: Гнусмус підходить до Корвіна та спробував вдарити Корвіна замахуючись своєю величезною сокирою - Корвін як вправний боєць присідає поки Гнусмус замахується і сокира Гнусмуса врізається в стіну і трохи пошкоджує кладку каміння. Корвін же спробував контратакувати та відрубати йому праву руку - він дуже глибоко вдарив мечем в плече і побачив навіть кістку яку рубанув - але не зміг повністю відрубати руку. Гнусмус тільки сильніше розізлився.
Далі Іві вийшла з карману для статуї (вона стояла там). Я крикнув їй допомагати Корвіну, поки я тримаю прохід до нас. Вона знову атакує святим полум'ям Гнусмуса - у неї успішно вийшло, вона потрапила по ньому. Корвін присів в момент польоту заклинання щоб не зачепило. Коли снаряд святяго сяйва прилетів - воно влетіло Гнусмуса прямо в обличчя та його засліпило. Він все ще був живий.
Потім Ригбир підійшов до мене та вирішив вдарити своєю шипастою булавою - на жаль у нього вдалося нанести мені удар. Я відчував, як підлога тряслась поки він йшов до мене, сопартійці також відчували цю важку ходу. Він замохнувся ще задовго до удару, але підбігаючи він чіплянувся за сходи і випадково попав по великому пальцю моєї ноги. Я почав кричати-сквернословити. Чомусь, він почав гигикати - напевно з своєї незграбності.
Я продовжив вести бій - і контрааткувати замахом по голові - я попав йому в голову, але він був дуже дубошкірим і моя атака для нього була як пощечина. Я завдав йому невеликих ран і розлютив трохи.
Поки це відбувалося - йшов бій Гнусмуса і Корвіна - він був вже сліпив, він почав розмахувати своєю сокирою і промахувався. Корвін цим скористався і зробив простий прямий випад що проштирхнути йому серце або легені. Він його пробив і Корвін з криком "Помри" отримує перемогу над ним.
Раптом позаду Ригбира вибіг ще орк (Ильдар) - він підбіг до мертвого Гнильрога та намагався підняти до тями.
Іві ж  щоб допомогти в бою - використала Цілюще слово щоб відновити мені стан - мені одразу полегшало від її лікування і я був готовий битися далі. Після цього, окрім як нести добро, вона вирішила напасти на Ригбира - вона відправила в нього шар священного полум'я та хоч і попала але заряд був відправлений трохи криво через втому, і вийшла маленька куля як лише зачепила Ригбира та її залишок попав по Ильдару.
Ригбир розлючений тим що я завдав йому шкоди - він взяв рукою протер свою черепушку, побачив на ній свою зелено-червону кров. Він був дуже сильно ображений на мене і спробував схопити своє рукою мене за голову. Він хапає мене за голову і підіймає над собою і починає замахуватися своєю дубиною. Я ж в такій позицію - спробував штирхнути в його морду моргенштерн щоб шипами зір. У мене вийшло попасти по ньому, я наніс досить сильну шкоду його обличчю - вдалося ослабити хватку щоб він відпустив мене. Такими атаками я зламав йому клик і попав у вухо, через що він не чує на ліве ухо.
Корвіну ж дуже не подобався Ригбир, тому він перебіг збоку від мене і встав збоку від цього орка-огра велетня і вирішив завдати удару по  задній частині коліна. Корвін розрізав сухожилля огру, через що той впав на одне коліно. впустив свою дубину та хватається за коліно - йому ну дуже боляче. Я вирішив насміхатися "Ха - получив, думав мены палець ударив, а он мій друган тобі ногу порізав".
Також, Корвін встиг кинути злий погляд на Ильдара, щоб залякати його - Ильдар виявився трусом - бачивши пошкодження Гнильрога та Ригбира - з криком "Я казав що з ними не треба було справи мати" побіг та стрибнув в яму з сміттям.
Іві надихнулася тим що ми перемагаємо і пробує використати Священне полум'я, але Ригбир ухиляється.
Ригбир відчуваючи близьку смерть - підхоплює свою дубину і в істераиці розмахує направо-наліво. Мені вдалося підстрибнути, але Корвін через те що стояв на сходах, отримав в ліву частину тіла гарнесенький удар прямо по ребрам (ламає два ребра собі) і його відкинуло на 10 футів з сходів - туди де лежав труп Гнильрога.
Я вирішив закінчувати з цим - застрибнув з висоти на плечі Ригбира і почав лупасти його рукояткою свого моргенштерна, чим завдав чисельних ударів і його череп та мозок не витримали стількох дробящих ударів i він вмер, обм'як та почав падати - я ж не встиг вистрибнути і він навалився на мене - 200кг ваги причавило мене. Пощастило що голову та руку з моргенштерном не придавили, але ситуація у мене погана. Оглянувшись - я побачив за собою ще одного, останнього орка (Тридир).
Корвін також валявся, но був не притиснутий тому він зміг піднятися. Він був весь в крові трупа Гнильрога на який впав Корвін. Корвін прийнявши що надійніший шлях - це зробити ривок до Тридира, щоб встати між ним і мною, щоб мене не чіпали. Корвін робить свій коронний удар - робить випад прямо щоб попасти в шию.  Він не зовсім потрапив по шиї, він попав кудись в плючовий суглоб і майже відрубив йому руку - Тридир вже не міг нею користуватися через це, але був ще живий.
Іві підійшла ближче - до верхньої частини сход і почала використовувати священне полум'я - полум'я полетіло, Тридир спробував розрубати шар топором і вона розлетілася - частини магії розлетілися по ньому і нанесло нормальну шкоду обпікаючи обличчя. З виду йому недовго лишилося.
Тридир не довго думаючи поки його сокира майже розплавлена - одразу після розрублення сфери він замахнувся на Корвіна, і на жаль він не потрапив в Корвіна. Він був засліплений та промазав і загнав сокиру в підлогу.
Я ж зміг все ж вибратися з під трупа Ригбира - вільною рукою підіймаючи його я рухами-дриганнями потрохи виліз. Все що я зробив - після цього харкнув в обличчя Тридира і обматюкав орків.
Корвін почав бити ріжучими атаками, щоб пошматувати Тридира в м'ясо на смерть - орк був пошмотавний на різні частини тіла і орк вочевидь був мертвим.
Бій закінчений.

Всі були втомлені - Іві та Тридир вмилися в воді яка пливла по каналам
Іві сіла на сходи перепочити. Я також.`,
    tags: ['Бій', 'Знахідка', 'Катакомби', 'Фадлебург'],
  },
];

const QUESTS = [
  { name: 'Знайти власника документів на корабель', kind: 'основний',  progress: 5,  status: 'active' },
  { name: 'Дослідити карту скарбів',                kind: 'побічний',  progress: 0,  status: 'active' },
  { name: "З'ясувати що відкриває невідомий ключ",  kind: 'особистий', progress: 0,  status: 'active' },
];

const NPCS = [
  { name: 'Корвін',                  rel: 'союзник', note: 'Тактик і компаньйон. Зустрілись у яма під Фадлебургом. Хороший у ближньому бою, іноді прибріхує.' },
  { name: 'Іві',                     rel: 'союзник', note: 'Жриця/закляттєвачка. Святе полум\'я — її фірмовий прийом (і ми іноді потрапляємо в зону).' },
  { name: 'Тавернщик (Фадлебург)',   rel: 'нейтр.',  note: '«Втомлений Кабан». Кремезний, ~195см/150кг, в фартуху. Схоже, підсипав щось в ель.' },
  { name: 'Фінлі Мороджений',        rel: 'нейтр.',  note: 'Власник корабля за знайденими документами. Де він — невідомо.' },
];

const TIMELINE = [
  { date: '23.05.2026 · вечір', session: 1, kind: 'find', kindLabel: 'Знахідка', icon: 'star',
    title: 'Ключ, документи та карта скарбів',
    body: 'У скелета в камері — ключ та документи на корабель Фінлі Мородженого. У ямі зі сміттям — карта скарбів (Іві відкопала).',
    related: ['Ключ', 'Документи на корабель', 'Карта скарбів', 'Іві'] },
  { date: '23.05.2026 · ніч', session: 1, kind: 'battle', kindLabel: 'Битва', icon: 'sword',
    title: 'Бій у катакомбах — вирвались живими',
    body: 'Ригбир (~200кг) — найнебезпечніший. Схопив за голову, але я встиг відбитися моргенштерном. Ільдар втік. Тридир добитий Корвіном.',
    related: ['Ригбир', 'Корвін', 'Іві', 'Фадлебург'] },
  { date: '23.05.2026 · вечір', session: 1, kind: 'npc', kindLabel: 'Зустріч', icon: 'character',
    title: 'Перша зустріч з Корвіном та Іві',
    body: 'Познайомився з майбутніми компаньйонами в орчій ямі під Фадлебургом. Краща основа для знайомства — спільна небезпека.',
    related: ['Корвін', 'Іві'] },
  { date: '23.05.2026 · вечір', session: 1, kind: 'milestone', kindLabel: 'Початок', icon: 'star',
    title: 'Початок пригоди у Фадлебурзі',
    body: 'Зайшов до таверни «Втомлений Кабан», взяв ель. Прокинувся в ямі з кілками. Ось так і починаються пригоди.',
    related: ['Фадлебург', 'Втомлений Кабан'] },
];

// ============== DICE LOGIC ==============
const rollDie = (sides) => 1 + Math.floor(Math.random() * sides);
const rollDice = (n, sides) => Array.from({ length: n }, () => rollDie(sides));

const rollD20Adv = (mode = 'normal') => {
  if (mode === 'adv' || mode === 'dis') {
    const a = rollDie(20), b = rollDie(20);
    const pick = mode === 'adv' ? Math.max(a, b) : Math.min(a, b);
    return { rolls: [a, b], pick, mode };
  }
  const a = rollDie(20);
  return { rolls: [a], pick: a, mode };
};

// ============== INITIAL CHARACTER ==============
const INITIAL_CHARACTER = {
  id: 'finrad',
  name: 'Фінрад',
  epithet: 'народний герой без титулу',
  portrait: null,
  biography: `Людина простого роду, але з твердим серцем. Фінрад виріс там, де слова мало важили, а місце доводилось ділом. З дитинства вирішив: якщо щось варто робити — треба довести до кінця.

Титул — не примха. Для нього це спосіб захистити тих, кого любить. Мандрує, беручи будь-яку роботу, що вимагає щита і голови.

Перша сесія: у таверні «Втомлений Кабан» міста Фадлебург його опоїли. Прокинувся в ямі з кілками — поряд опинилися Корвін та Іві. Разом прорвались. Знайшов документи на корабель, загадковий ключ та карту скарбів.`,
  race:       'Людина',
  klass:      'Боєць',
  subclass:   'Захист',
  level:      1,
  background: 'Народний герой',
  alignment:  'Нейтральний',
  xp:         0,
  xpNext:     300,
  hp:         12,
  hpMax:      12,
  hpTemp:     0,
  ac:         16,
  initiative: 2,
  speed:      30,
  profBonus:  2,
  deathSuccess: 0,
  deathFail:    0,
  inspiration:  false,
  hitDiceUsed:  0,
  hitDiceTotal: 1,
  hitDie:       10,
  passivePerc:  10,  // 10 + WIS mod (0), без майстерності
  conditions:   {},
  spellAbility: '—',
  spellAttack:  0,
  spellSaveDC:  0,
  preparedKnown: 0,
  preparedMax:   0,
  carryMax:  240,   // СИЛ 16 × 15
  actionUsed: { action: false, bonus: false, reaction: false },
  traits: {
    personality: "Працьовитий. Якщо варто зробити щось, краще зробити це до кінця.",
    ideals:      "Кар'єра — шлях до величі і захисту тих, кого любиш.",
    bonds:       "Титул — те, заради чого варто боротися.",
    flaws:       "Зухвалість. Іноді занадто самовпевнений і недооцінює небезпеку.",
  },
  languages:   "Суспільна, Дамарська",
  toolProfs:   "Наземний транспорт, Інструменти кухаря",
  weaponProfs: "Проста, Військова, Кулаки",
  inventory: INVENTORY.map(i => ({ ...i })),
  currency: { PP: 0, GP: 10, EP: 0, SP: 7, CP: 0 },
  featureCharges: { 'Другий подих': 0 },
  spellSlots:     SPELLS_GROUPED.reduce((acc, g) => { if (g.slots) acc[g.level] = { ...g.slots }; return acc; }, {}),
  sessions:       SESSIONS.map(s => ({ ...s })),
  customAttacks: [
    { name: 'Довгий меч (двома)', bonus: 5, dice: '1d10+3', type: 'рубляч.',   note: 'ближній · обидві руки' },
    { name: 'Довгий меч (одною)', bonus: 5, dice: '1d8+3',  type: 'рубляч.',   note: 'ближній · одна рука' },
    { name: 'Моргенштерн',        bonus: 5, dice: '1d8+3',  type: 'дробильн.', note: 'ближній · одна рука' },
    { name: 'Легкий арбалет',     bonus: 4, dice: '1d8+2',  type: 'колючий',   note: 'дальність 80/320 ф' },
    { name: 'Кулак',              bonus: 5, dice: '4',       type: 'дробильн.', note: 'беззбройний' },
  ],
  customFeatures: [
    { name: 'Другий подих',          src: 'Боєць 1',          uses: { used: 0, total: 1 },
      body: 'Бонусна дія: відновити 1d10+рівень HP. Відновлюється при короткому або тривалому відпочинку.' },
    { name: 'Бойовий стиль: Захист', src: 'Боєць 1',
      body: 'Коли ти тримаєш щит і істота атакує не тебе, а сусідню з тобою істоту — реакцією накинути перешкоду на кидок атаки.' },
    { name: 'Піднять щит',           src: 'Боєць 1 · Вміння',
      body: 'Основна дія. Умова: щит поруч. Підняти щит і отримати +2 КЗ до броні. Тривалість: поки не розсіється.' },
    { name: 'Бокове парирування',    src: 'Боєць 1 · Вміння',
      body: 'Реакція. Умова: щит. Накинути перешкоду на атаку від видимого ворога по сусідній істоті.' },
    { name: 'Різноманітність здібностей', src: 'Людина',
      body: 'Людини отримують +1 до всіх характеристик (вже враховано у значеннях).' },
    { name: 'Допомога простолюдинів',    src: 'Народний герой',
      body: 'Прості люди будуть допомагати вам: ховати, давати їжу, попереджати про небезпеку.' },
    { name: 'Перешкода на Непомітність', src: 'Народний герой',
      body: 'Коли ти переховуєшся від влади чи загарбників, прості люди активно тебе не видають.' },
  ],
  customSpells:   [],
  spellNotes:     {},
  lore:           '',
  abilityScores:  { STR: 16, DEX: 14, CON: 15, INT: 9, WIS: 11, CHA: 13 },
  skillProfs: { 'Атлетика': 1, 'Акробатика': 1 },
  saveProfs:  { STR: true, DEX: false, CON: true, INT: false, WIS: false, CHA: false },
  quests:     QUESTS.map(q => ({ ...q })),
  npcs:       NPCS.map(n => ({ ...n })),
};

const newBlankCharacter = (name = 'Новий герой') => ({
  id: 'ch-' + Math.random().toString(36).slice(2, 8),
  name, epithet: '', portrait: null, biography: '',
  race: 'Людина', klass: 'Воїн', subclass: '', level: 1, background: '',
  alignment: '—',
  xp: 0, xpNext: 300,
  hp: 10, hpMax: 10, hpTemp: 0,
  ac: 10, initiative: 0, speed: 30, profBonus: 2,
  deathSuccess: 0, deathFail: 0, inspiration: false,
  hitDiceUsed: 0, hitDiceTotal: 1, hitDie: 10,
  passivePerc: 10, conditions: {},
  spellAbility: '—', spellAttack: 0, spellSaveDC: 8,
  preparedKnown: 0, preparedMax: 0,
  carryMax: 150,
  actionUsed: { action: false, bonus: false, reaction: false },
  traits: { personality: '', ideals: '', bonds: '', flaws: '' },
  languages: 'Суспільна', toolProfs: '', weaponProfs: '',
  inventory: [], currency: { PP: 0, GP: 0, EP: 0, SP: 0, CP: 0 }, featureCharges: {}, spellSlots: {}, sessions: [], customAttacks: [], customFeatures: [], customSpells: [], spellNotes: {}, lore: '', abilityScores: { STR: 10, DEX: 10, CON: 10, INT: 10, WIS: 10, CHA: 10 },
  skillProfs: {},
  saveProfs:  {},
  quests:     [],
  npcs:       [],
});

// ============== ІВІ — Клірик 1, Домен Бурі ==============
const IVI_CHARACTER = {
  id: 'ivi',
  name: 'Іві',
  epithet: 'жриця бурі',
  portrait: null,
  biography: `Тифлінг, 20 років. Зріст 169 см, 60 кг. Лавандова шкіра, горіхові очі, сливове волосся.

Благородного походження. Сноб із серцем, що приховує пророцтво. Прагне правди — але іноді забуває деталі.

Перша сесія: прокинулась у підземеллі Фадлебурга після опоєного елю у «Втомленому Кабані». Разом з Фінрадом та Корвіном вирвалась назовні. Кілька разів стріляла Святим полум'ям — не завжди влучно.`,
  race:       'Тифлінг',
  klass:      'Клірик',
  subclass:   'Домен Бурі',
  level:      1,
  background: 'Аристократ',
  alignment:  'Нейтральний',
  xp: 0, xpNext: 300,
  hp: 12, hpMax: 12, hpTemp: 0,
  ac: 14,           // луската броня (14) + СПР мод (0)
  initiative: 0,    // СПР мод
  speed:      30,
  profBonus:  2,
  deathSuccess: 0, deathFail: 0,
  inspiration: false,
  hitDiceUsed: 0, hitDiceTotal: 1, hitDie: 8,
  passivePerc: 12,  // 10 + МУД мод (+2)
  conditions: {},
  spellAbility: 'МУД',
  spellAttack:  4,   // МУД (+2) + мстр (+2)
  spellSaveDC:  12,  // 8 + МУД (+2) + мстр (+2)
  preparedKnown: 3,
  preparedMax:   3,
  carryMax: 120,    // СИЛ 8 × 15
  actionUsed: { action: false, bonus: false, reaction: false },
  traits: {
    personality: 'Сноб. Впевнена у перевазі свого виховання та смаку.',
    ideals:      'Правда понад усе, навіть якщо вона незручна.',
    bonds:       "Пам'ятна річ — єдине, що пов'язує з минулим.",
    flaws:       'Забудькуватість. Пророцтво, яке вона несе, іноді затуманює розум.',
  },
  languages:   'Суспільна, Інфернальна, Хафлінгська',
  toolProfs:   '',
  weaponProfs: 'Проста, Бойові молоти',
  inventory: [
    { name: 'Луската броня',     qty: 1, wt: 45,  type: 'броня',  equip: true,  magic: false },
    { name: 'Бойовий молот',     qty: 1, wt: 2,   type: 'зброя',  equip: true,  magic: false },
    { name: 'Легкий арбалет',    qty: 1, wt: 5,   type: 'зброя',  equip: true,  magic: false },
    { name: 'Болт ×20',          qty: 1, wt: 1.5, type: 'зброя',  equip: false, magic: false },
    { name: 'Набір мандрівника', qty: 1, wt: 59,  type: 'інше',   equip: false, magic: false },
    { name: 'Священний символ',  qty: 1, wt: 0,   type: 'інше',   equip: true,  magic: false },
  ],
  currency: { PP: 0, GP: 0, EP: 0, SP: 0, CP: 0 },
  featureCharges: { 'Гнів Бурі': 0 },
  spellSlots: { 1: { total: 2, used: 0 } },
  sessions: [],
  customAttacks: [
    { name: 'Бойовий молот',  bonus: 1, dice: '1d6-1', type: 'дробильн.', note: 'ближній · одна рука' },
    { name: 'Легкий арбалет', bonus: 2, dice: '1d8',   type: 'колючий',   note: 'дальність 80/320 ф' },
  ],
  customFeatures: [
    { name: 'Гнів Бурі', src: 'Клірик 1 · Домен Бурі', uses: { used: 0, total: 2 },
      body: 'Реакція. Коли по тебе влучила атака в ближньому бою — атакувальник проходить КЗ Статури (СК 12) або отримує 2d8 блискавки чи грому. Відновлюється при тривалому відпочинку.' },
    { name: 'Засновані заклинання', src: 'Клірик 1',
      body: 'Заклинальна характеристика — Мудрість. Атака закл. +4, СК рятівника 12. Кількість підготовлених заклять: МУД мод + рівень = 3.' },
    { name: 'Різноманітність здібностей', src: 'Тифлінг',
      body: 'INT +1, CHA +2 (вже враховано у значеннях).' },
  ],
  customSpells: [
    // Кантрипи (рів. 0)
    { name: 'Святе полум\'я',       level: 0, school: 'Руйнування',  dmg: '1d8 промінь',
      desc: 'Дія. Ціль у полі зору: КЗ Спритності або 1d8 пошкодження від пломені (рів. 1). Ігнорує укриття.' },
    { name: 'Світло',               level: 0, school: 'Перетворення', dmg: '—',
      desc: 'Дія. Торкнутись предмета — він світить 20 ф яскраво + 20 ф тьмяно. Тривалість: 1 год.' },
    { name: 'Догляд за помираючим', level: 0, school: 'Перетворення', dmg: '—',
      desc: 'Дія. Торкнутись істоти з 0 HP — вона стабілізується і не помирає.' },
    { name: 'Дивні дива',           level: 0, school: 'Перетворення', dmg: '—',
      desc: 'Дія. Незначні магічні ефекти: гучний голос, іскри, запах, тремтіння землі тощо. Тривалість: до 1 хв.' },
    // Рів. 1 — Домен (завжди підготовлені, не рахуються в ліміт)
    { name: 'Туманна хмара',        level: 1, school: 'Виклик',       dmg: '—',
      desc: 'Дія. Радіус 20 ф: густий туман, повна закрита. Концентрація до 1 год. [ДОМЕН]' },
    { name: 'Хвиля грому',          level: 1, school: 'Руйнування',   dmg: '2d8 грім',
      desc: 'Дія. Куб 15 ф: КЗ Статури або 2d8 грому + відштовхування 10 ф. Оглушує поряд. [ДОМЕН]' },
    // Рів. 1 — Підготовлені (3 з 3)
    { name: 'Спрямований снаряд',   level: 1, school: 'Руйнування',   dmg: '4d6 промінь',
      desc: 'Дія. Дальній атаки закл. (+4): 4d6 вогняних пошкоджень. Наступна атака проти цілі з перевагою. Дальність 120 ф.' },
    { name: 'Цілюще слово',         level: 1, school: 'Відновлення',  dmg: '1d4+2 зцілення',
      desc: 'Бонусна дія. Дальність 60 ф: ціль відновлює 1d4 + МУД мод (+2) HP.' },
    { name: 'Творення/знищення води', level: 1, school: 'Перетворення', dmg: '—',
      desc: 'Дія. Творення: 10 галонів чистої води. Знищення: 10 галонів у відкритому контейнері. Дальність 30 ф.' },
  ],
  spellNotes: {},
  domainSlots: { 1: { used: 0, total: 1 } },
  lore: '',
  abilityScores: { STR: 8, DEX: 10, CON: 13, INT: 14, WIS: 15, CHA: 12 },
  skillProfs:   { 'Медицина': 1, 'Переконання': 1 },
  saveProfs:    { STR: false, DEX: false, CON: false, INT: false, WIS: true, CHA: true },
  quests: [],
  npcs: [
    { name: 'Фінрад', rel: 'союзник', note: 'Боєць. Зустрілись у підземеллі Фадлебурга. Не хотів копатись у гною, але врешті допоміг.' },
    { name: 'Корвін', rel: 'союзник', note: 'Тактик. Каже що у нього є план. Іноді навіть правда.' },
    { name: 'Тавернщик (Фадлебург)', rel: 'нейтр.', note: 'Втомлений Кабан. Кремезний ~195см/150кг. Підсипав щось в ель.' },
  ],
};

// ============== КОРВІН ХОЛТ — Боєць 1, Дуеліст ==============
// Характеристики: STR 16(+3), DEX 15(+2), CON 14(+2), INT 11(0), WIS 13(+1), CHA 9(-1)
// (базові 15/14/13/12/10/8 + людський +1 до кожної)
const KORVIN_CHARACTER = {
  id: 'korvin',
  name: 'Корвін Холт',
  epithet: 'колишній солдат',
  portrait: null,
  biography: `Людина, 35 років. Зріст 180 см, 80 кг. Піщоне волосся, кобальтові очі.

Виріс на кордоні, пішов в армію бо годували. Був добрим солдатом — виконував накази, тримав стрій. Все змінив один наказ: взяти «мирне» село. Виконав. Більше не виконував.

Потім — найманство. Один контракт який не любить згадувати. Ціль виявилась не тим, ким представилась. Свідок, може. З того часу не бере контрактів через посередника і в кожному натовпі шукає обличчя — сам не знаючи чиє.

Перша сесія: прокинувся в ямі в підземеллі Фадлебурга. Разом з Фінрадом та Іві вибрались. Зламав ключ у замку (випадково), відрубав голову орку, побрехав кілька разів.`,
  race:       'Людина',
  klass:      'Боєць',
  subclass:   'Дуеліст',
  level:      1,
  background: 'Солдат',
  alignment:  'Нейтральний',
  xp: 0, xpNext: 300,
  hp: 12, hpMax: 12, hpTemp: 0,
  ac: 16,          // кольчуга (важка броня, DEX не додається)
  initiative: 2,   // DEX мод +2
  speed:      30,
  profBonus:  2,
  deathSuccess: 0, deathFail: 0,
  inspiration: false,
  hitDiceUsed: 0, hitDiceTotal: 1, hitDie: 10,
  passivePerc: 11,  // 10 + WIS мод (+1)
  conditions: {},
  spellAbility: '—', spellAttack: 0, spellSaveDC: 0,
  preparedKnown: 0, preparedMax: 0,
  carryMax: 240,    // STR 16 × 15
  actionUsed: { action: false, bonus: false, reaction: false },
  traits: {
    personality: 'Прямий. Каже що думає, не витрачає слів намарно.',
    ideals:      'Справедливість — не завжди те, що написано в законі.',
    bonds:       'Втрата. Є сімох, за яких він відповідальний — і більше не побачить.',
    flaws:       'Залежність. Іноді занадто покладається на силу там, де треба думати.',
  },
  languages:   'Суспільна, Дамарська',
  toolProfs:   'Наземний транспорт, Ігри (кістки)',
  weaponProfs: 'Проста, Військова',
  // Після сесії 1: бармен забрав кольчугу, щит, довгий меч, арбалет, рюкзак
  inventory: [
    { name: 'Короткий меч',           qty: 1, wt: 2,   type: 'зброя', equip: true,  magic: false },
    { name: 'Покерні дракончі карти', qty: 1, wt: 0,   type: 'інше',  equip: false, magic: false },
    { name: 'Мотузка 50 фут',         qty: 1, wt: 10,  type: 'інше',  equip: false, magic: false },
    { name: 'Карта казематів',        qty: 1, wt: 0,   type: 'інше',  equip: false, magic: false },
    { name: 'Відзнака звання',        qty: 1, wt: 0,   type: 'інше',  equip: false, magic: false },
  ],
  currency: { PP: 0, GP: 15, EP: 0, SP: 0, CP: 0 },
  featureCharges: { 'Друге дихання': 1 }, // витрачено після сесії 1
  spellSlots: {},
  sessions: [
    {
      n: 1, date: '23.05.2026', title: 'Сесія 1 — Фадлебург, Каземати',
      body: `Місто Фадлебург. Бармен запропонував ель, розповів про напади гоблінів і орків.

Слабкість зіграла — випив ель. Бармен підсипав щось → всі троє непритомні → яма з шипами.

В казематах знайшли: карту з позначками (Речі / Скарб / Не ходити / Сміття / Трупи), ключ до кімнат. На скелеті — документи на корабель на ім'я "Фінлі Морероджений". Бурдюк з елем знайшли в ямі.

Бій 1: коридор казематів. Вороги — Прода, Ільдар, Ригбир, Гнільрог, Гнусмус, Тридир + ін. (7 ворогів). Перемога — всі мертві, партія вижила.
Ригбир здоровою дубиною зламав 2 ребра. Активний стан.

Бурдюк з елем витрачено — Іві знайшла тканинну карту вкриту лайном, відмивали елем.

Бій 2: Пан Орк — знайдений у нижніх клітках казематів. Вбитий.

Відкриті питання:
1. Хто такий Фінлі Морероджений? Мертвий давно? Що за корабель?
2. Навіщо бармен скинув партію в каземати? З ким він пов'язаний?
3. Кімната "Не ходити" на карті — що там?
4. Кімната "Скарб" — ще не досліджена.
5. Зв'язок між гоблінами/орками і барменом?`,
      tags: ['Бій', 'Знахідка', 'Каземати', 'Фадлебург'],
    },
  ],
  customAttacks: [
    // Основна зброя після сесії 1. STR +3, prof +2, Дуеліст +2
    { name: 'Короткий меч (Дуеліст)', bonus: 5, dice: '1d6+5', type: 'колючий', note: 'ближній · одна рука · Дуеліст +2' },
    { name: 'Кулак',                  bonus: 5, dice: '4',      type: 'дробильн.', note: 'беззбройний' },
  ],
  customFeatures: [
    { name: 'Друге дихання', src: 'Боєць 1', uses: { used: 0, total: 1 },
      body: 'Бонусна дія: відновити 1d10+1 HP. Відновлюється при короткому або тривалому відпочинку.' },
    { name: 'Бойовий стиль: Дуеліст', src: 'Боєць 1',
      body: 'Коли тримаєш одноручну зброю в одній руці і нічого в іншій (або щит) — +2 до пошкоджень у ближньому бою.' },
    { name: 'Підняти щит', src: 'Боєць 1 · Вміння',
      body: 'Основна дія. Підняти щит: +2 КЗ до броні (КЗ 18). Тривалість: поки не розсіється.' },
    { name: 'Різноманітність здібностей', src: 'Людина',
      body: 'Люди отримують +1 до всіх характеристик (вже враховано у значеннях).' },
  ],
  customSpells: [],
  spellNotes:   {},
  lore: '⚠️ Активна травма: 2 зламані ребра (від Ригбира, дубина). Без механічних штрафів — відіграється роулплеєм.\n\n🎒 Втрачений інвентар (забрав бармен): кольчуга, довгий меч, щит, легкий арбалет, рюкзак.',
  abilityScores: { STR: 16, DEX: 15, CON: 14, INT: 11, WIS: 13, CHA: 9 },
  skillProfs:   { 'Атлетика': 1, 'Виживання': 1, 'Залякування': 1, 'Прозорливість': 1 },
  saveProfs:    { STR: true, DEX: false, CON: true, INT: false, WIS: false, CHA: false },
  quests: [
    { name: 'З\'ясувати хто такий Фінлі Морероджений', kind: 'основний', progress: 5, status: 'active' },
    { name: 'Дізнатись навіщо бармен скинув партію', kind: 'основний', progress: 0, status: 'active' },
    { name: 'Дослідити кімнату "Не ходити"',          kind: 'побічний', progress: 0, status: 'active' },
    { name: 'Дослідити кімнату "Скарб"',              kind: 'побічний', progress: 0, status: 'active' },
  ],
  npcs: [
    { name: 'Фінрад',    rel: 'союзник', note: 'Боєць. Зустрілись у ямі. Не вміє мовчати, але б\'ється добре.' },
    { name: 'Іві',       rel: 'союзник', note: 'Жриця. Корисна. Її заклинання іноді б\'ють по своїх.' },
    { name: 'Бармен (Фадлебург)', rel: 'ворог', note: 'Таверна у Фалленбурзі. Підсипав щось в ель → скинув партію в каземати. Пов\'язаний з орками?' },
    { name: 'Фінлі Морероджений',  rel: 'нейтр.', note: 'Власник корабля за знайденими документами. Скелет у казематах. Мертвий. Хто він?' },
  ],
};

Object.assign(window, {
  ABILITIES, mod, fmtMod, SKILLS, SAVES, CONDITIONS, ATTACKS,
  SPELLS_GROUPED, INVENTORY, CURRENCY,
  FEATURES_CLASS, FEATURES_RACE, FEATURES_FEATS,
  SESSIONS, QUESTS, NPCS, TIMELINE,
  rollDie, rollDice, rollD20Adv,
  INITIAL_CHARACTER, IVI_CHARACTER, KORVIN_CHARACTER, newBlankCharacter,
});
