tw2002
2026-02-10
TW2002
210 files · 4,059+ · 1,349-
Feature: Real Ship Types from Gold Data
- Exported all 26 ship classes from
GOLD/SHIPD.DAT(Escape Pod through Scorpion + 5 Alien Derelicts) decouple internal - Full stats: holds, fighters, shields, speed, costs, combat odds streamline internal
- Added migration to upgrade existing DBs with fewer ship types baseline internal
- Replaced 3 hardcoded ship types with authentic game data decouple internal
Feature: Planets, Config, and Ferrengi NPCs
- Exported 201 planets from GameB binary data with sector linkages decouple internal
- Exported real game config (stardock=200, title, turns_per_day) baseline internal
- Seeded 8 Ferrengi NPCs across the universe for alien encounters decouple internal
- Added
get_npc()wrapper andrecord_idcomputed property instantiate internal - Fixed planet_id reliability (use record index, not binary field) remediate internal
- Stripped TWGS color markup from planet names during export interface internal
Feature: Player Rank Titles and Documentation System
- Ranks module maps experience thresholds to titles (Beginner through Ultimate) matching original TW2002 decouple internal
- Docs module provides paginated help for every menu via
z(full docs) and!(context-sensitive help) specify internal - Rank titles shown in ship info, scoreboard, quickstats, and who’s online displays decouple internal
Feature: Character Creation Rewrite and NPC Broadcasting
- Character creation now matches original BBS flow with confirmation prompts decouple internal
- Maintenance executor delegates to real runner module decouple internal
- Limpet manager uses actual
player.limpetsfield withapply_deathdecouple internal - NPC tick messages broadcast to players in the alien’s sector decouple internal
Feature: Context-Sensitive Help System
- Submenu dispatch supports
!key for section help in all menus decouple internal - Register docs module (
z/!commands) in command loader specify behavioral - Admin menu links to UWARP testing menu qualify internal
- TransWarp toggle shows drive info and offers immediate jump decouple behavioral
Bugfix: Dirty-Tracking Persistence for All Game Objects
AttrObjnow tracks_dirtyflag on mutation decouple behavioralpersist_dirty()saves only modified sectors, ports, planets, corps, aliens, and players after each command decouple behavioral- Previously only player state was saved per-command; other objects deferred to WS close decouple behavioral
- Fixed movement command input:
read_line()now skips leading CR/LF when buffer is empty remediate behavioral
Bugfix: Player Persistence Pipeline
Bugfix: Security - Removed /web/players Endpoint
/web/playersendpoint exposed all player locations to anyone with the URL interface behavioral- Removed endpoint entirely along with terminal header that consumed it interface behavioral
Bugfix: Ship Art Display
- Removed ship ANSI art from sector display command (was showing on every sector view) decouple behavioral
- Now only shown via
i(ship info) decouple internal