Shogun Exodus Devlog #6

The latest updates for Shogun Exodus introduce a comprehensive traits system and a new happiness stat to deepen character simulation. A dedicated Traits tab has been added to the character sheet, displaying unique characteristics that influence gameplay through a persistent effects library. This system includes random trait generation, mutual exclusions, and social aura effects that impact nearby actors. Additionally, the new happiness stat functions as a derived value calculated from current needs and active status effects, providing a clearer representation of character well-being.

Technical improvements include a refactor of the character sheet into a reusable UI scene, ensuring consistent updates across all gameplay environments. The status effect library has also been expanded to support modifiers for movement speed, hunger, and sleep cycles, which integrate directly with the new trait mechanics. For balance, the Shogun status now provides a 25% increase to movement speed. These backend changes stabilize the foundation for future content while improving the efficiency of the character management interface.


Raw Patch Notes

UPDATE 2026-04-15 #070
- Balance tweak: `shogun` now also increases movement speed by 25%.

UPDATE 2026-04-15 #071 - Character Sheet Traits Tab Shell
- Added a new `Traits` tab to the character sheet and moved it into the third position, so the tab order is now `Info`, `Stats`, `Traits`, `Needs`, `Effects`.
- Updated the shared stats-panel scene variants and `StatsPanel.gd` so the new tab exists cleanly as an empty placeholder for future trait content.
- Updated current docs to reflect the new tab order and the placeholder `Traits` tab.
- Files: `Scenes/Base.tscn`, `Scenes/BaseTempBackup.tscn`, `Scenes/TestScenesDev/SetHouseTestMap.tscn`, `Scripts/StatsPanel.gd`, `mod-guide.txt`, `current-game-setup.txt`, `update-log.txt`

UPDATE 2026-04-15 #072 - Reusable StatsPanel Scene Refactor
- Extracted the character sheet layout into a single reusable scene at `Scenes/UI/StatsPanel.tscn`.
- Replaced the inline duplicated stats-panel node trees in the gameplay scenes with instances of the shared `StatsPanel.tscn`, so future layout/theming changes can be made in one place.
- Kept the existing selection wiring intact by preserving the `UI/StatsPanel` node path expected by `ClickSelect.gd`.
- Updated current docs to describe the character sheet as a reusable scene instance.
- Files: `Scenes/UI/StatsPanel.tscn`, `Scenes/Base.tscn`, `Scenes/BaseTempBackup.tscn`, `Scenes/TestScenesDev/SetHouseTestMap.tscn`, `mod-guide.txt`, `current-game-setup.txt`, `update-log.txt`

UPDATE 2026-04-15 #073 - Derived Happiness Stat
- Added a new derived `happiness` stat to `Data/Stats/stats.json` and placed it above `health` in the character sheet `Stats` tab.
- Implemented runtime `happiness` calculation in `Stats.gd`: all stats tagged `need` now contribute equally by default to a normalized `0-100` score, with optional per-need `happiness_weight` support for future tuning.
- Extended compiled status effects with optional flat `happiness_modifier` support so future buffs/debuffs can directly raise or lower `happiness` after the base need score is calculated.
- Treated derived stats as runtime-only values that cannot be directly mutated or serialized, preventing save-state drift and accidental direct writes to `happiness`.
- Updated current docs for the new derived-stat contract and the effect-side `happiness_modifier` hook.
- Files: `Data/Stats/stats.json`, `Scripts/Stats.gd`, `Autoload/GameDB.gd`, `mod-guide.txt`, `current-game-setup.txt`, `update-log.txt`

UPDATE 2026-04-15 #074 - Trait Prep Status Effect Library Expansion
- Added a large set of new reusable status-effect definitions to `Data/Stats/status_effects.json` for upcoming trait work, covering personality, social-reaction, appearance-reaction, movement, hunger, and sleep modifiers.
- Added flat `happiness_modifier` payloads for temporary and persistent happiness effects, plus `duration_in_game_hours` metadata for the temporary conversation/appearance reactions traits will apply later.
- Added movement-speed and tick-rule modifier payloads for `fast_walker`, `slow_walker`, `always_hungry`, `rarely_hungry`, `quick_sleeper`, and `heavy_sleeper`, so trait systems can reuse the same generic status-effect machinery instead of hardcoding special cases.
- Updated current docs for the new optional status-effect duration metadata.
- Files: `Data/Stats/status_effects.json`, `mod-guide.txt`, `current-game-setup.txt`, `update-log.txt`

UPDATE 2026-04-15 #075 - Persistent Traits System
- Added `Data/Stats/traits.json` and extended `GameDB` to load and normalize merged trait definitions, including polarity, generation weight, exclusions, permanent self-effects, direct-social effects, and same-room aura effects.
- Extended `CharacterGenerator` to generate random trait sets (`1-3` traits by default) using weights and mutual-exclusion rules from the merged trait data.
- Extended both `BasicWanderAI.gd` and `Player.gd` to persist `trait_ids`, expose trait/gender accessors for UI and gameplay systems, and reapply permanent trait-driven status effects from saved traits.
- Extended `SocialSystem` so direct social sessions trigger trait-based reactions and same-room occupancy applies/removes trait-based aura effects, while keeping the current non-stacking status-effect model.
- Added timed status-effect application support in `Stats.gd` so temporary social/trait reactions can expire automatically from effect `duration_in_game_hours` metadata.
- Populated the character sheet `Traits` tab from actor trait data and updated current docs for the new trait file and runtime flow.
- Files: `Data/Stats/traits.json`, `Autoload/GameDB.gd`, `Autoload/CharacterGenerator.gd`, `Autoload/SocialSystem.gd`, `Autoload/SaveGame.gd`, `Scripts/Stats.gd`, `Scripts/BasicWanderAI.gd`, `Scripts/Player.gd`, `Scripts/StatsPanel.gd`, `mod-guide.txt`, `current-game-setup.txt`, `update-log.txt`

*This is an automated post, using Python and LLMs to summarize game updates. Mistakes, while rare, may happen.

Posted in

Reply

Your email address will not be published. Required fields are marked *