Skip to content

feat: LunaLib overlay options and relationship-change UI#2

Merged
iHateCode merged 5 commits into
mainfrom
feature/relationship-change-overlay-and-settings
Mar 11, 2026
Merged

feat: LunaLib overlay options and relationship-change UI#2
iHateCode merged 5 commits into
mainfrom
feature/relationship-change-overlay-and-settings

Conversation

@iHateCode
Copy link
Copy Markdown
Owner

@iHateCode iHateCode commented Mar 10, 2026

Summary

Adds an in-game overlay that shows faction relationships and recent reputation changes, configurable via LunaLib Mod Settings (F2). Also adds intel for faction relationship changes.

Changes

  • Relationship change overlay: When a faction’s relationship with the player changes, the overlay can show the delta (e.g. +5 / -10) next to that faction for a configurable duration (default 30s).
  • LunaLib settings: All options moved to Mod Settings (F2): max factions, text size, overlay keybind (Toggle or Hold), “show only hostile” filter, relationship-change display duration, and optional auto-show overlay when relationship changes (overlay auto-hides after the same duration; user keybind clears the timer so manually shown overlay is never auto-hidden).
  • Overlay keybind: Toggle or Hold mode; key configurable in Mod Settings. Campaign input listener handles the key; keybind script simplified.
  • Intel: SystemFactionRelationshipsIntel records relationship changes for the intel screen.
  • Build/docs: COMPILATION.md and compile.bat updated; README documents new behavior and LunaLib config.

Files touched

  • New: FactionRelationshipChangeListener, FactionRelationshipsCampaignInputListener, RelationshipChangeStore, SystemFactionRelationshipsIntel
  • New config: data/config/LunaSettings.csv
  • Updated: plugin, UI renderer, keybind script, COMPILATION.md, compile.bat, README, mod_info.json (version bump)

- Add LunaLib/LazyLib dependency; settings via LunaSettings (Mod Settings F2)
- Config: max factions, text size (Small/Medium/Large), overlay keybind (Toggle/Hold), hostile-only filter
- FactionRelationshipsKeybindScript for overlay toggle/hold; fix EveryFrameScript import
- Build: optional LUNALIB/LAZYLIB in compile.local.bat for versioned mod folders
- Bump font sizes (Large uses ORBITRON_20AA, 24px line)
- Update README, COMPILATION.md, compile.local.example.bat

Made-with: Cursor
- LunaSettings.csv and overlay options (position, auto-hide, etc.)
- Faction relationship change listener and RelationshipChangeStore
- SystemFactionRelationshipsIntel for relationship change intel
- FactionRelationshipsCampaignInputListener for input handling
- Plugin, UI renderer, and keybind updates for overlay

Made-with: Cursor
Made-with: Cursor
- Add MOD_ID and isLunaLibEnabled() in FactionRelationshipsPlugin; use everywhere
- Replace 9 LunaLib isModEnabled('lunalib') calls with isLunaLibEnabled()
- Add PERCENT_FACTOR and formatPercent() in UIRenderer; refactor formatRepValue/formatDelta
- Bump version to 1.4.8

Made-with: Cursor
@iHateCode iHateCode merged commit 1044ef3 into main Mar 11, 2026
@iHateCode iHateCode deleted the feature/relationship-change-overlay-and-settings branch March 11, 2026 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant