# Feature Documentation

Feature Documentation

Introduction

Features

Getting Started

Running the server

Running the client

Assigning yourself as administrator

How to edit rooms

Editing other entities

How to play

Movement

Targeting

Picking up items

Attacking players and NPCs

Casting spells

Recovering vitals at Inns

Leveling up

## Introduction

MirageMUD is a source code base for developing your own stand-alone MUD client and server in Visual Basic 6.
The code base comes with all the necessary basic functionality to immediately begin developing your MUD game right off the bat.

## Features

MirageMUD comes with all the basic functionality you need to get started right away.

- Byte array packets
- Password encryption
- Flat file database
- Built-In Editors (Rooms, items, NPCs, spells, shops)
- Basic combat system including PVP
- Admin commands for teleporting, kicking, banning and more
- Fully functional graphical user interface with portraits for room entities and inventory...

...And several other features already included in the code base.

# Getting Started

## Running the server

Running the server is super simple. You can either run the pre-included executable, or you can run the server from the Visual Studio 6 IDE.

The default port for the server is 7777, but this can be changed in the source code by editing the GAME_PORT constant inside the modConstants module.

Everything should load fine providing the necessary libraries are installed on your machine. Run-Time Error 339 usually indicates a library is missing. These libraries are included with the source code but they may need to be registered with RegSvr32.

## Running the client

As with the server, the client comes with an executable included in the download, but you can run the client from the IDE if required.

If you need to change the IP and port, you can do so in the main menu by clicking IP Config.

You will need to create a new account and a new character before logging into the game.

## Assigning yourself as administrator

Once logged into the game, you can set yourself as administrator by opening the server window, and clicking on the Players tab. Right click your character and select Make Admin.

You should now be able to use the admin commands in game.

## How to edit rooms

Once you’ve assigned yourself as an administrator, you can use the /roomeditor command to edit the room you’re in.

The editor is pretty simple and self explanatory. You can use BB codes to format the text with colours and styles.

To edit another room, you can either use the /warpto command or you can link the current room to the next room by entering its number in the Room Links section.

Notes: The Room Name has predefined colours depending on the Room Moral.

This release has the data values for Up and Down directions, but they currently do not function and there are no commands for them. They will need to be added.

## Editing other entities

Editing items, npcs, shops and spells is pretty much the same as editing rooms. Use the relevant command to enter the editor and apply the settings you require.

When creating spells, in order to obtain a spell in the game, you must create an item that’s assigned to the spell. The player will use the item to learn to spell.

Note: Portraits for entities are named in numerical order from 1. This can obviously be changed in the code to a system that suits your needs. Some example portraits have been included for the purpose of displaying how they currently work.

# How to play

## Movement

In order to move betweens rooms in the game, you can type the directions you wish to move into. For example, “e” or “east”, “n” or “north”.

There are currently 4 usable directions; North, East, South and West.

## Targeting

In order to target a player or NPC to attack or cast spells, you must click their name in the list boxes on the interface. In the bottom left of the UI you’ll see the portrait and name of your target appear.

## Picking up items

If you see items on the ground inside a room, you can simply double click the item to place it into your inventory.

## Attacking players and NPCs

To attack a player or an NPC, target them as explained above, and press the control key. The player or NPC will remain your target until they die or exit the room.

## Casting spells

Same as attacking, simply target the player or NPC you wish to cast the spell on, but this time you can right-click anywhere in the list box or press F3 to cast the spell. Right-clicking alone will not target the player or NPC, you must left-click the entity first to set the target before casting the spell.

## Recovering vitals at Inns

When inside a room that is set as an Inn, you can type the command /sleep to recover your health, mana and speed, for the cost of your level multiplied by 10 (So if you’re level 12 it’ll cost 120 gold).

## Leveling up

Once you reach the required amount of experience, your level will automatically increase. At this point you can increase one of your stats using the skill points you obtain each level. Click the Train icon in the bottom right of the interface to train any of your stats.

As you progress in levels, you will also gain more stamina to attack.

Note: Stamina progressions can be changed in Public Function GetPlayerMaxVital in the server code.