4.2 KiB
4.2 KiB
Mossy Plugins
A collection of DECAL plugins for Asheron's Call, providing utility overlays and automation features.
Contents
mossy.sln: Visual Studio solution containing both projects.GearCycler/: Simple plugin with a UI button to cycle gear (placeholder behavior).MosswartMassacre/: Advanced plugin tracking monster kills, rare discoveries, and offering HTTP/telemetry features.packages/: Vendored NuGet packages (Newtonsoft.Json, YamlDotNet).
Prerequisites
- Windows with .NET Framework 4.8
- Visual Studio 2017+ (MSBuild Tools 15.0) or equivalent MSBuild environment
- DECAL Adapter installed for Asheron's Call
- VirindiViewService (included in each project's
lib/folder)
Setup & Build
- Clone this repository.
- Ensure the DECAL and Virindi DLLs are present under
MosswartMassacre/lib/and referenced by each project. - Restore NuGet packages if needed (
nuget restore mossy.sln). - Open
mossy.slnin Visual Studio and build the solution. - The output DLLs will be in each project’s
bin/Debug/orbin/Release/folder. - Deploy the plugin DLLs (and any required XML or YAML files) to your DECAL plugin directory.
GearCycler
A minimal plugin demonstrating a VirindiViewService-based UI.
- UI layout:
GearCycler/ViewXML/mainView.xml. - Core logic in
GearCycler/GearCore.cs. - On button click, it logs a chat message; extend the
btnCycle.Hithandler to add gear-cycling logic.
MosswartMassacre
Tracks monster kills and rare drops, with multiple utility features including navigation route visualization.
Features
- Kill Tracking: Counts total kills and computes rates (kills/5 min, kills/hour).
- Rare Discoveries: Increments rare count and can automatically set rare meta state.
- Navigation Visualization ✅ NEW: Visualize VTank navigation routes in 3D with route comparison capabilities.
- Tabbed UI Interface: Enhanced interface with Main, Settings, Statistics, and Navigation tabs.
- Command Interface (
/mmcommands):/mm help: Show available commands./mm report: Display current stats in chat./mm loc: Show current map coordinates./mm reset: Reset kill counters and timers./mm meta: Toggle automatic rare meta state./mm http <enable|disable>: Start/stop local HTTP command server (port 8085)./mm remotecommands <enable|disable>: Listen for remote commands from your allegiance chat./mm telemetry <enable|disable>: Enable/disable periodic telemetry streaming.
HTTP Command Server
- Listens on
http://localhost:8085/. - Accepts POST data:
target=<player>&command=<text>, then sends a /tell and executes the command.
Navigation Visualization ✅ NEW
- VTank Integration: Automatically detects VTank installation and loads .nav files.
- 3D Route Display: Shows navigation routes as red lines in the game world.
- Route Comparison: Visualize different routes alongside UtilityBelt's active navigation.
- Supported Formats: All VTank nav types (Circular, Linear, Target, Once) and waypoint types.
- Usage: Enable in Navigation tab, select route from dropdown, click "Load Route".
Configuration
- Per-character YAML config stored at
<PluginDir>/<CharacterName>.yaml. - Settings include:
remote_commands_enabledrare_meta_enabledhttp_server_enabledtelemetry_enabledchar_tagvtank_profiles_path✅ NEW: Custom VTank profiles directory
- Config is auto-generated on first run; modify it or use UI/commands to update.
Telemetry
- Periodically posts JSON snapshots of position and stats to a configurable endpoint.
- Configure
Endpoint,SharedSecret, andIntervalSecinTelemetry.cs.
Dependencies
- Decal.Adapter (v2.9.8.3)
- Decal.Interop.Core & Decal.Interop.Inject
- Decal.Interop.D3DService ✅ NEW: For 3D navigation visualization
- VirindiViewService
- Newtonsoft.Json (v13.0.3)
- YamlDotNet (v16.3.0)
Contributing
- Fork the repository.
- Create a feature branch.
- Commit your changes and ensure the solution builds.
- Submit a pull request with a description of your changes.
-- This README provides a high-level overview to get up and running quickly.