# gentleganku/grimliterev architecture

> Architecture diagram of the GitHub repository gentleganku/grimliterev, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-10). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/gentleganku/grimliterev
- Repository: https://github.com/gentleganku/grimliterev

## Overview

Grimlite Rev is a Windows bot client for AdventureQuest Worlds. Users configure and run command sequences in Bot Manager; the bot engine executes combat, item, map, quest, and conditional commands against live game state through the Flash bridge and network proxy. The map also retains documented plugin, packet-tool, travel, and set-management capabilities. Edges are limited to relationships shown in excerpts, SOURCE INDEX references, or the README; unsampled subsystems are represented by their exact enclosing directories.

Main entry points: [`app/Botting/Bot.cs`](https://github.com/gentleganku/grimliterev/blob/main/app/Botting/Bot.cs) (Bot engine), [`app/UI/Root/Root.cs`](https://github.com/gentleganku/grimliterev/blob/main/app/UI/Root/Root.cs) (Application shell), [`app/UI/BotManager/BotManager.cs`](https://github.com/gentleganku/grimliterev/blob/main/app/UI/BotManager/BotManager.cs) (Bot Manager), [`app/Networking/Handlers`](https://github.com/gentleganku/grimliterev/tree/main/app/Networking/Handlers) (Message handlers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Client interface"]
  node_root["Application shell<br/>[Root.cs]"]
  node_manager["Bot Manager<br/>[BotManager.cs]"]
  node_sets["Set manager<br/>[Set.cs]"]
  node_editors["Command editors"]
end

subgraph group_automation["Bot automation"]
  node_engine["Bot engine<br/>[Bot.cs]"]
  node_configuration["Bot configuration<br/>[Configuration.cs]"]
  node_commands["Command library"]
  node_statements["Condition statements"]
  node_options["Client options<br/>[OptionsManager.cs]"]
end

subgraph group_game["Game state"]
  node_player["Player state<br/>[Player.cs]"]
  node_world["World state<br/>[World.cs]"]
  node_inventory["Inventory items<br/>[InventoryItem.cs]"]
end

subgraph group_connectivity["Game connectivity"]
  node_network["Network proxy<br/>[Proxy.cs]"]
  node_handlers["Message handlers"]
  node_flash["Flash bridge<br/>[Flash.cs]"]
  node_gameclient["Game client"]
end

subgraph group_utilities["Client tools"]
  node_logging["Log window<br/>[LogForm.cs]"]
  node_plugins["Plugin manager<br/>[PluginManager.cs]"]
  node_packettools["Packet tools<br/>[PacketLogger.cs]"]
  node_travel["Travel tools<br/>[Travel.cs]"]
  node_relogin["Auto relogin<br/>[AutoRelogin.cs]"]
  node_error["Error reporting<br/>[ErrorReporter.cs]"]
end

node_user(("User"))

node_user -->|"opens client"| node_root
node_root -->|"opens manager"| node_manager
node_manager -->|"starts bot"| node_engine
node_manager -->|"edits settings"| node_configuration
node_manager -->|"opens editor"| node_editors
node_manager -->|"manages sets"| node_sets
node_engine -->|"reads config"| node_configuration
node_engine -.->|"executes commands"| node_commands
node_commands -.->|"evaluates conditions"| node_statements
node_engine -->|"reads player state"| node_player
node_engine -->|"reads world state"| node_world
node_engine -.->|"sets bot options"| node_options
node_options -->|"sends client packets"| node_network
node_player -->|"calls game functions"| node_flash
node_world -->|"queries game state"| node_flash
node_inventory -->|"uses player inventory"| node_player
node_root -->|"initializes bridge"| node_flash
node_flash -.->|"invokes game"| node_gameclient
node_root -->|"starts proxy"| node_network
node_network -.->|"dispatches messages"| node_handlers
node_handlers -->|"updates game state"| node_world
node_handlers -->|"updates player"| node_player
node_handlers -->|"notifies login"| node_relogin
node_root -->|"loads plugins"| node_plugins
node_root -->|"opens packet tools"| node_packettools
node_root -->|"opens travel"| node_travel
node_engine -->|"logs activity"| node_logging
node_engine -->|"reports failures"| node_error
node_error -->|"writes debug log"| node_logging

click node_root "https://github.com/gentleganku/grimliterev/blob/main/app/UI/Root/Root.cs"
click node_manager "https://github.com/gentleganku/grimliterev/blob/main/app/UI/BotManager/BotManager.cs"
click node_sets "https://github.com/gentleganku/grimliterev/blob/main/app/UI/Set/Set.cs"
click node_editors "https://github.com/gentleganku/grimliterev/blob/main/app/UI/UserFriendlyCommandEditor/UserFriendlyCommandEditor.cs"
click node_engine "https://github.com/gentleganku/grimliterev/blob/main/app/Botting/Bot.cs"
click node_configuration "https://github.com/gentleganku/grimliterev/blob/main/app/Botting/Configuration.cs"
click node_commands "https://github.com/gentleganku/grimliterev/tree/main/app/Botting/Commands"
click node_statements "https://github.com/gentleganku/grimliterev/tree/main/app/Botting/Commands/Misc/Statements"
click node_options "https://github.com/gentleganku/grimliterev/blob/main/app/Botting/OptionsManager.cs"
click node_player "https://github.com/gentleganku/grimliterev/blob/main/app/Game/Player.cs"
click node_world "https://github.com/gentleganku/grimliterev/blob/main/app/Game/World.cs"
click node_inventory "https://github.com/gentleganku/grimliterev/blob/main/app/Game/Data/InventoryItem.cs"
click node_network "https://github.com/gentleganku/grimliterev/blob/main/app/Networking/Proxy.cs"
click node_handlers "https://github.com/gentleganku/grimliterev/tree/main/app/Networking/Handlers"
click node_flash "https://github.com/gentleganku/grimliterev/blob/main/app/Tools/Flash.cs"
click node_logging "https://github.com/gentleganku/grimliterev/blob/main/app/UI/LogForm/LogForm.cs"
click node_plugins "https://github.com/gentleganku/grimliterev/blob/main/app/UI/PluginManager/PluginManager.cs"
click node_packettools "https://github.com/gentleganku/grimliterev/blob/main/app/UI/PacketLogger/PacketLogger.cs"
click node_travel "https://github.com/gentleganku/grimliterev/blob/main/app/UI/Travel/Travel.cs"
click node_relogin "https://github.com/gentleganku/grimliterev/blob/main/app/Tools/AutoRelogin.cs"
click node_error "https://github.com/gentleganku/grimliterev/blob/main/app/Utils/ErrorReporter.cs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_root,node_manager,node_sets,node_editors,node_user toneBlue
class node_engine,node_configuration,node_commands,node_statements,node_options toneAmber
class node_player,node_world,node_inventory toneMint
class node_network,node_handlers,node_flash,node_gameclient toneRose
class node_logging,node_plugins,node_packettools,node_travel,node_relogin,node_error toneIndigo
```

## Components

### Client interface

- [Application shell](https://github.com/gentleganku/grimliterev/blob/main/app/UI/Root/Root.cs): `app/UI/Root/Root.cs`
- [Bot Manager](https://github.com/gentleganku/grimliterev/blob/main/app/UI/BotManager/BotManager.cs): `app/UI/BotManager/BotManager.cs`
- [Set manager](https://github.com/gentleganku/grimliterev/blob/main/app/UI/Set/Set.cs): `app/UI/Set/Set.cs`
- [Command editors](https://github.com/gentleganku/grimliterev/blob/main/app/UI/UserFriendlyCommandEditor/UserFriendlyCommandEditor.cs): `app/UI/UserFriendlyCommandEditor/UserFriendlyCommandEditor.cs`

### Bot automation

- [Bot engine](https://github.com/gentleganku/grimliterev/blob/main/app/Botting/Bot.cs): `app/Botting/Bot.cs`
- [Bot configuration](https://github.com/gentleganku/grimliterev/blob/main/app/Botting/Configuration.cs): `app/Botting/Configuration.cs`
- [Command library](https://github.com/gentleganku/grimliterev/tree/main/app/Botting/Commands): `app/Botting/Commands`
- [Condition statements](https://github.com/gentleganku/grimliterev/tree/main/app/Botting/Commands/Misc/Statements): `app/Botting/Commands/Misc/Statements`
- [Client options](https://github.com/gentleganku/grimliterev/blob/main/app/Botting/OptionsManager.cs): `app/Botting/OptionsManager.cs`

### Game state

- [Player state](https://github.com/gentleganku/grimliterev/blob/main/app/Game/Player.cs): `app/Game/Player.cs`
- [World state](https://github.com/gentleganku/grimliterev/blob/main/app/Game/World.cs): `app/Game/World.cs`
- [Inventory items](https://github.com/gentleganku/grimliterev/blob/main/app/Game/Data/InventoryItem.cs): `app/Game/Data/InventoryItem.cs`

### Game connectivity

- [Network proxy](https://github.com/gentleganku/grimliterev/blob/main/app/Networking/Proxy.cs): `app/Networking/Proxy.cs`
- [Message handlers](https://github.com/gentleganku/grimliterev/tree/main/app/Networking/Handlers): `app/Networking/Handlers`
- [Flash bridge](https://github.com/gentleganku/grimliterev/blob/main/app/Tools/Flash.cs): `app/Tools/Flash.cs`
- **Game client**

### Client tools

- [Log window](https://github.com/gentleganku/grimliterev/blob/main/app/UI/LogForm/LogForm.cs): `app/UI/LogForm/LogForm.cs`
- [Plugin manager](https://github.com/gentleganku/grimliterev/blob/main/app/UI/PluginManager/PluginManager.cs): `app/UI/PluginManager/PluginManager.cs`
- [Packet tools](https://github.com/gentleganku/grimliterev/blob/main/app/UI/PacketLogger/PacketLogger.cs): `app/UI/PacketLogger/PacketLogger.cs`
- [Travel tools](https://github.com/gentleganku/grimliterev/blob/main/app/UI/Travel/Travel.cs): `app/UI/Travel/Travel.cs`
- [Auto relogin](https://github.com/gentleganku/grimliterev/blob/main/app/Tools/AutoRelogin.cs): `app/Tools/AutoRelogin.cs`
- [Error reporting](https://github.com/gentleganku/grimliterev/blob/main/app/Utils/ErrorReporter.cs): `app/Utils/ErrorReporter.cs`

### Other components

- **User**

## Connections

- User → Application shell: opens client (evidence: `README.md`)
- Application shell → Bot Manager: opens manager (evidence: `app/UI/Root/Root.cs`)
- Bot Manager → Bot engine: starts bot (evidence: `app/UI/BotManager/BotManager.cs`)
- Bot Manager → Bot configuration: edits settings (evidence: `app/UI/BotManager/BotManager.Bots.cs`)
- Bot Manager → Command editors: opens editor (evidence: `app/UI/BotManager/BotManager.CommandList.cs`)
- Bot Manager → Set manager: manages sets (evidence: `app/UI/BotManager/BotManager.cs`)
- Bot engine → Bot configuration: reads config (evidence: `app/Botting/Bot.cs`)
- Bot engine → Command library: executes commands
- Command library → Condition statements: evaluates conditions
- Bot engine → Player state: reads player state (evidence: `app/Botting/Bot.cs`)
- Bot engine → World state: reads world state (evidence: `app/Botting/Bot.cs`)
- Bot engine → Client options: sets bot options (evidence: `app/Botting/Bot.cs`)
- Client options → Network proxy: sends client packets (evidence: `app/Botting/OptionsManager.cs`)
- Player state → Flash bridge: calls game functions (evidence: `app/Game/Player.cs`)
- World state → Flash bridge: queries game state (evidence: `app/Game/World.cs`)
- Inventory items → Player state: uses player inventory (evidence: `app/Game/Data/InventoryItem.cs`)
- Application shell → Flash bridge: initializes bridge (evidence: `app/UI/Root/Root.cs`)
- Flash bridge → Game client: invokes game
- Application shell → Network proxy: starts proxy (evidence: `app/UI/Root/Root.cs`)
- Network proxy → Message handlers: dispatches messages
- Message handlers → World state: updates game state (evidence: `app/Networking/Handlers/HandlerAura.cs`)
- Message handlers → Player state: updates player (evidence: `app/Networking/Handlers/HandlerChat.cs`)
- Message handlers → Auto relogin: notifies login (evidence: `app/Networking/Handlers/HandlerLogin.cs`)
- Application shell → Plugin manager: loads plugins (evidence: `app/UI/Root/Root.cs`)
- Application shell → Packet tools: opens packet tools (evidence: `app/UI/Root/Root.cs`)
- Application shell → Travel tools: opens travel (evidence: `app/UI/Root/Root.cs`)
- Bot engine → Log window: logs activity (evidence: `app/Botting/Bot.cs`)
- Bot engine → Error reporting: reports failures (evidence: `app/Botting/Bot.cs`)
- Error reporting → Log window: writes debug log (evidence: `app/Utils/ErrorReporter.cs`)
