Commit Graph
10 Commits
Author SHA1 Message Date
cthangover 68976523f0 Status effects expire on their data duration; loot rolls never throw
A status effect added without an explicit duration started with no remaining
turns and the countdown skipped it, so it never expired. OnTurnEnd counted
down a second time, expired unlimited effects after one turn and removed
expired stacks by id; it is now a pure hook. The victory screen rolls loot
through LootEntry.Roll, so a loot table with MinCount > MaxCount no longer
throws half-way through the battle end, and its success-path diagnostics are
no longer logged as errors. Mod unit tests for the status effect lifetime.
2026-10-21 10:23:15 +02:00
cthangover 72b54eb564 Mod naming rule and engine UI in engine mods
Mods are renamed by role (shell2d_base, menu_base, ui_base, live2d_base,
editor_tools, cthangover_story, cthangover_murakami, cthangover_party) and
every reference follows. Engine UI prefabs (dialog, answers, message, game
menu, inventory, map, skills) and their panel entries moved out of the story
mod into the subsystem mods; the card_novel and vn_starter_novel collections
are removed.
2026-10-18 19:00:42 +02:00
cthangover ba1b1f8c0e Battle registries are fed by the kernel's assembly consumers
Battle cores, winground listeners and status effect behaviours reach their
registries through ModTypeConsumer subclasses instead of per-mod assembly
lookups and AppDomain rescans, and leave again when their mod unloads, so a
game switch or hot reload never keeps a released mod's types alive.
2026-10-17 21:02:29 +02:00
cthangover bc615c2ddf Resource ownership: battle sounds in, character actions out
- The win/defeat sounds (sounds/battle/winground, deadground) used by the
  battle report move here from visual_novel_core.
- The basic physics actions (attack, defence, stun) are character data
  every mod with characters uses; they move to characters_base.
- depends no longer lists visual_novel_core: the battle platform does not
  use the novel content.
2026-10-17 14:30:33 +00:00
cthangover bbc75eeadd Battle core from the game's settings
BattleCoreRegistry.GetActive: without an explicit battle.set_core the
active game collection's settings["battle.core"] chooses the core (e.g.
card_battle for cthangover and card_novel), then the first registered one.
2026-10-17 14:30:33 +00:00
iisaevandClaude Opus 5.5 13da8f87a2 upd: sync local changes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 16:18:24 +00:00
cthangover 46afb4b533 map ui, skill ui, update skills data 2026-09-29 13:05:41 +03:00
cthangover 8fbac46378 new battle gui 2026-09-28 10:48:04 +03:00
cthangover b5ad139d69 ui stule update 2026-09-26 08:05:11 +03:00
cthangover c286271083 upd 2026-09-24 11:17:02 +03:00