Commit graph

30 commits

Author SHA1 Message Date
erik
afa85ef80d feat: add live inventory delta tracking via WebSocket
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 15:38:05 +00:00
erik
c702263770 feat: auto-generate CalVer version from build date
Replace hardcoded AssemblyVersion/AssemblyFileVersion with a CalVer
scheme (YYYY.M.D.HHmm) generated at build time via an MSBuild target
that writes a CalVer.cs file into obj/ before compilation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 13:24:07 +00:00
erik
0713e96a99 Phase 5: Extract QuestStreamingService and introduce IGameStats
- Extract QuestStreamingService.cs from PluginCore (timer, IsHighPriorityQuest, FormatCountdown)
- Create IGameStats interface for WebSocket telemetry decoupling
- PluginCore implements IGameStats, WebSocket.BuildPayloadJson reads from IGameStats
- WebSocket.cs no longer references PluginCore directly
- Update queststatus command to use QuestStreamingService
- Static bridge properties remain for VVSTabbedMainView compatibility

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:56:13 +00:00
erik
f9264f2767 Phase 4: Extract ChatEventRouter and GameEventRouter
- ChatEventRouter.cs: routes chat events to KillTracker, RareTracker, handles
  allegiance report trigger and WebSocket chat streaming
- GameEventRouter.cs: routes ServerDispatch messages (0xF7B0, 0x02CF) to CharacterStats
- PluginCore no longer contains OnChatText, AllChatText, NormalizeChatLine,
  or EchoFilter_ServerDispatch methods

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:50:41 +00:00
erik
c90e888d32 Phase 3: Extract RareTracker and InventoryMonitor
- RareTracker.cs: owns rare discovery detection, meta state toggle, WebSocket/allegiance notifications
- InventoryMonitor.cs: owns Prismatic Taper tracking with event-driven delta math
- PluginCore no longer contains inventory event handlers or rare detection logic
- Bridge properties maintain backward compat for WebSocket telemetry

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:33:44 +00:00
erik
366cca8cb6 Phase 2: Extract IPluginLogger and KillTracker
- Create IPluginLogger interface, PluginCore implements it
- CharacterStats.cs and WebSocket.cs now use IPluginLogger instead of PluginCore.WriteToChat
- Extract KillTracker.cs: owns kill detection (all 36 regex patterns), death tracking,
  rate calculation, and the 1-sec stats update timer
- Bridge properties on PluginCore maintain backward compat for WebSocket telemetry

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:29:49 +00:00
erik
4845a67c1f Phase 1: Extract Constants.cs and CommandRouter.cs
- Extract magic numbers (timer intervals, message type IDs, property keys) into Constants.cs
- Replace ~600-line HandleMmCommand switch with dictionary-based CommandRouter
- All /mm commands preserved with same behavior, now registered via lambdas
- PluginCore.cs and CharacterStats.cs updated to use named constants

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:24:43 +00:00
erik
9e9a94f159 Remove unused features: HTTP server, old telemetry, !do/!dot chat commands
- Delete HttpCommandServer.cs (localhost:8085 HTTP listener)
- Delete Telemetry.cs (old HTTP POST to mosswart.snakedesert.se/position/)
- Remove !do/!dot allegiance chat regex matching from OnChatText
- Remove RemoteCommandsEnabled, HttpServerEnabled, TelemetryEnabled settings
- Remove corresponding UI checkboxes, /mm command handlers, and wiring
- Keep: WebSocket command receive, ClientTelemetry.cs (used by WS streaming)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:02:07 +00:00
erik
88600db779 Enable Linux builds: bundle all Decal DLLs and fix csproj paths
- Add missing DLLs to lib/: Decal.Interop.Filters, Decal.FileService,
  Decal.Interop.D3DService, Decal.Interop.Input, Decal, DecalNet, VCS5
- Convert all Windows-absolute HintPaths to relative lib\ paths
- Convert COM references (Decal, DecalNet) to regular assembly references
- Add Microsoft.NETFramework.ReferenceAssemblies for cross-platform builds
- Add AllowUnsafeBlocks and PlatformTarget to Release configuration
- Update Release DLL with character stats streaming feature

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 16:10:38 +00:00
erik
655bfd5163 feat: add CharacterStats data collection and network message handlers
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 15:38:27 +00:00
Erik
2eb9a7773e Added chest looter 2025-12-09 17:31:27 +01:00
erik
e9a113abdd Added /mm sendinventory 2025-06-22 16:56:44 +02:00
erik
73ba7082d8 Added hot reload 2025-06-22 12:10:15 +02:00
erik
23e33599ca Added Mossy tracker, know issue 2025-06-08 00:15:55 +02:00
erik
96b85ed226 Now with Plugin chat intercept. version 3.0.1.1 2025-05-31 22:18:41 +02:00
erik
79304baaad New GUI overhaul!, version 3.0.1.0 2025-05-29 21:34:16 +02:00
erik
1f85d9c6f0 New visual routes and new GUI 2025-05-29 17:52:30 +02:00
erik
a0f40cf2cd Client telemetry 2025-05-24 21:10:45 +02:00
erik
f4ec57a44d Fixed inventory, spawn and settings 2025-05-15 21:34:20 +02:00
erik
de2057789a Inventory logger 2025-05-12 20:27:00 +02:00
erik
29fba4b7cb test of inventory 2025-05-11 15:48:48 +02:00
erik
d2e9988bdd Websockets-version 2025-05-05 20:08:15 +02:00
erik
7665f453f2 New version 2025-04-29 21:11:43 +02:00
erik
347cfe6423 New vtank control 2025-04-29 09:58:25 +02:00
erik
b027a79201 Fixed debug 2025-04-27 20:02:47 +02:00
erikn
78a2479d6c Telemetry 2025-04-26 16:55:48 +02:00
erikn
0f404019b6 added http and settings 2025-04-15 22:45:08 +02:00
erikn
f66b15ac57 Added setting metastate from plugin as well as !report 2025-04-08 08:31:23 +02:00
erikn
ccf8618ff2 Added report better 2025-03-30 22:09:16 +02:00
erikn
b533681978 Add project files. 2025-03-28 22:11:17 +01:00