I got a little bit carried away while developing this, but it's fun to do. I don't use bitmap graphics because they don't scale well, and I like to keep things clear and simple. I used Geyser for the GUI.
Some of the functionality:
- The top left lists the currently active spells, buffs and affects. The thickness of the blue border tells you how long the spell is still active for. If the border flashes, it will be active for less than 30 seconds. Moving the mouse over an affect shows you the name and the active time left. For the images I use a spritesheet instead of individual images.
- The angel wings show positive alignment. The brighter the image, the more saintly you are. If you have a negative alignment, a red devil shows up on the left instead.
- The MUD supplies the hour by MSDP, the GUI calculates the minutes based on the last time it received an hour update.
- The help link opens up a menu with help topics, which in turn display help on the main window.
- The options link shows a menu of toggle-able options. Clicking an item toggles that option.
- The minimap data is supplied by the MUD. For the tiles I also use a spritesheet instead of separate images. Underneath the map it shows the room name and the area name.
- The coloured bars display (in order): Experience, movement points, stamina, mana, health and enemy name/level/health (only if you're fighting).
- The chat log at the mid-top is toggle-able, resize-able and move-able. This was tricky to do in Geyser.
- Self updater. The plugin checks for new versions and installs them automatically.
- Whenever someone connects or disconnects it is displayed in the main window.
- Whenever you identify something, the description is stored as well as the location you identified the item at. You can list or search through all the items you've previously identified.
- You can configure a buff list. Calling a buff check then sees if each buff on that list is active, and activates it if it isn't.
- A custom alias engine. This is to make it easier for novice users to add aliases. It supports variables that you can set yourself. You can also set aliases specific to a room or zone.
- A mush like trigger engine. In order to convert more of our players from mushclient to mudlet, I had to make them able to use mushclient triggers. Many players find Mudlet's alias and trigger interface complex and confusing. Both the alias and trigger engine are operable completely from the input line.
- Simple highlight command
- Timer command
- Stats tracker command. This makes a snapshot of all numeric data sent via MSDP. If you call it again, it shows the variables that have changed and by how much. This is useful if you want to check what difference a certain piece of equipment or spell makes.
- A note system that lets you make notes globally, by zone or by room.