Usurper Reborn v0.17.0-alpha - "FOSSIL Support"
Highlights
This release adds FOSSIL/serial port support for improved BBS compatibility, consolidates the news system, and fixes several NPC state tracking bugs.
New Features
FOSSIL/Serial Port Support
-
Added full FOSSIL driver support for BBS systems that use COM port communication
-
New command line options:
--fossil <port>- Force FOSSIL/serial mode on specified COM port (e.g., COM1)--com <port>- Alias for --fossil
-
Example for EleBBS and similar systems:
UsurperReborn --doorsys door.sys --fossil COM1 -
New files:
SerialTerminal.cs,ITerminalIO.cs -
Updated:
BBSTerminalAdapter.cs,DoorMode.cs,DropFileParser.cs
Player Notification System
- Important game events now show a prominent "IMPORTANT NEWS" popup when entering locations
- Teammates leaving your team now trigger direct notifications instead of just news entries
- Implemented via
GameEngine.PendingNotificationsqueue
Consolidated News System
- Simplified news from 5 separate categories (Daily, Royal, Marriage, Birth, Holy) to one unified feed
- News board now shows all events in chronological order with color-coding by type
- Removed complex menu system - just view all news in one screen
- Much cleaner codebase (~330 lines vs ~575 lines)
Quick Commands Improvements
- Typing
/alone now shows the help screen (same as/help) - Unknown commands now pause with "Press any key" so errors are readable
- Removed
/t(turns) and/m(map) commands as they weren't useful /g(gold) and/hp(health) commands now pause for readability
Bug Fixes
NPC State Tracking (Critical)
- Dead NPCs wandering town:
GetNPCByName()now filters out dead NPCs by default - Can't resurrect partner:
ResurrectAlly()now properly checksIsDeadflag instead of justIsAlive(HP > 0) - Teammates vanishing silently: Player now receives direct notifications when team members leave
Navigation
- Team Area access: Removed [Z] Team Area from Main Street menu - now only accessible through the Inn
Null Safety
- Fixed 18+ nullable reference warnings across combat, quest, NPC brain, and monster generation systems
Technical Changes
- Added
System.IO.PortsNuGet package for serial communication - Added
ComPortfield toBBSSessionInfofor FOSSIL support BBSTerminalAdapternow supports bothSocketTerminalandSerialTerminal- New
UIHelperclass for standardized box drawing utilities - Session summary statistics on logout
Files Changed
- New Files:
SerialTerminal.cs,ITerminalIO.cs,UIHelper.cs,HintSystem.cs - Major Changes:
NewsSystem.cs,NewsLocation.cs,BaseLocation.cs,DoorMode.cs,BBSTerminalAdapter.cs - Bug Fixes:
NPCSpawnSystem.cs,HomeLocation.cs,WorldSimulator.cs,NPCMaintenanceEngine.cs
BBS Sysop Notes
For FOSSIL-based BBS systems (EleBBS, etc.):
UsurperReborn --doorsys %f --fossil COM1
For Synchronet (Standard I/O mode):
UsurperReborn --door32 %f --stdio
For Synchronet (Socket I/O mode):
UsurperReborn --door %f
The --fossil flag forces serial mode on the specified COM port, which should match your FOSSIL driver's virtual port.