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.
14 lines
501 B
JSON
14 lines
501 B
JSON
{
|
|
"id": "turn_battle_base",
|
|
"name": "Turn-based battle engine",
|
|
"version": "2.0.0",
|
|
"author": "ct",
|
|
"description": "Turn-based battle platform: battle ruleset contracts, core registry, action executors, status effects, battle scene, victory/defeat screens, EXP and loot reports",
|
|
"category": "engine, gameplay",
|
|
"sources": [
|
|
"src/**/*.cs"
|
|
],
|
|
"test_sources": ["tests/*.cs"],
|
|
"depends": [ "characters_base>=1", "ui_base>=1", "items_base>=1", "quests_base>=1", "time_base>=1" ]
|
|
}
|