uwarp-space
2026-02-15
NPC encounters wired into movement, TWGS display parity achieved, and terminal rebranded as UWARP
126 files · 3,741+ · 64,065-
NPC encounters in movement
4 files changed
npc.pyFerrengi NPC encounter logic wired into movement flowcombat.pyFerrengi combat logic; randomized scoring addedencounter.pyEncounter rules updated; default alien roster populated with canonical Ferrengi/NPC datamovement.pyMovement rules now trigger alien encounters during warp
- Wired alien NPC encounters into the movement flow so players can be attacked while warping
decouple
internal
2 files
movement.pynpc.py
- Populated default alien roster with canonical Ferrengi/NPC data
decouple
behavioral
1 file
encounter.py
- Added randomized scoring to Ferrengi target selection to prevent all NPCs from dogpiling the same player
instantiate
internal
1 file
combat.py
TWGS format matching
4 files changed
sector_display.pySector display formatting matched to TWGS output; color regression fixedlogin.pyLogin screen matched to TWGS format; welcome screen rotation restoredgame_loop.pyWarping-to-sector message and Move echo tag addeddisplay.pyDisplay command formatting corrections
- Matched login screen, sector display, and menu formatting to authentic TWGS TW2002 output
decouple
errata
2 files
login.pysector_display.py
- Added “Warping to Sector X” message and
<Move>echo tag for digit warp shortcuts decouple behavioral1 file
game_loop.py
- Restored random welcome screen rotation for telnet login
decouple
internal
1 file
login.py
- Fixed sector display color regression in
cmd_displayremediate behavioral1 file
sector_display.py
- Fixed 6 bugs found during interactive TWGS comparison testing
qualify
internal
3 files
sector_display.pygame_loop.pydisplay.py
Shipyard and ship catalog fixes
2 files changed
shipyard.pyShip catalog: formula-derived buy costs added, stats corrected to TWGS valuesplayer.pyShipRecord field names fixed; ship downgrade proportional jettison logic added
- Added formula-derived buy costs to all 16 ships so the shipyard is functional
instantiate
internal
1 file
shipyard.py
- Updated ship stats to match canonical TWGS values; corrected ship names
remediate
internal
1 file
shipyard.py
- Fixed
ShipRecordfield names causing Ship Catalog crash remediate internal1 file
player.py
- Fixed ship downgrade to proportionally jettison excess cargo instead of silently capping holds
remediate
internal
1 file
shipyard.py
Admin and D command fixes
1 file changed
admin.pyTeleportation D command bug fixed; admin debug commands added; sector indexing corrected
- Fixed teleportation (
Dcommand) bug remediate behavioral1 file
admin.py
- Added admin debug commands for in-game inspection
instantiate
internal
1 file
admin.py
- Fixed sector 0 being incorrectly excluded from indexes; fixed off-by-one sector indexing
remediate
internal
1 file
admin.py
- Fixed shipyard color tags
remediate
internal
1 file
admin.py
Terminal and WebSocket pipeline fixes
4 files changed
telnet.pyCtrl-C shutdown fix; WebSocket pipeline critical bugs fixedhttp.pyWeb terminal input and UI rendering issues fixedterminal.jsWeb terminal UI rendering fixedsession_bridge.pyGame state wrapper persistence fix — use asdict() for dataclass objects
- Fixed critical bugs in the terminal WebSocket pipeline and game state wrapper
remediate
internal
1 file
session_bridge.py
- Fixed Ctrl-C shutdown when clients are connected
remediate
internal
1 file
telnet.py
- Fixed web terminal input and UI rendering issues
remediate
behavioral
2 files
terminal.jshttp.py
- Fixed critical persistence bug: use
asdict()instead ofmodel_dump()for dataclass objects remediate internal1 file
session_bridge.py
Character creation escape fix
1 file changed
login.pyEscape from character creation now works at any confirmation prompt
- Allowed escape from character creation at any confirmation prompt (not just the first)
decouple
behavioral
1 file
login.py
UWARP rebrand
3 files changed
twhello_uwarp.ansNew UWARP ANSI art replacing TWERK welcome bannerterminal.htmlTerminal page redesigned with centered layout, themed frames, and settings panelterminal.jsTerminal frame title renamed to Warp Agent Runtime Platform
- Replaced TWERK welcome banner and CLI banner art with UWARP ANSI art
decouple
behavioral
1 file
twhello_uwarp.ans
- Renamed terminal frame title to “Warp Agent Runtime Platform”
decouple
internal
1 file
terminal.js
- Redesigned terminal page with centered layout, themed frames, and a settings panel
baseline
architectural
1 file
terminal.html
Sector gameplay model improvements
2 files changed
sector.pyMissing computed properties added to Sector gameplay model__init__.pySQLite .db extension added to default data path resolution for serve commands
- Added missing computed properties to
Sectorgameplay model instantiate internal1 file
sector.py
- Added SQLite
.dbto default data path resolution for serve commands instantiate behavioral1 file
__init__.py
- Fixed re-display of prompt when user presses Enter with empty input
remediate
behavioral
1 file
game_loop.py