A little hint when using this article and most articles in general: Follow the links for more information!
Start an Addon
Overview the content
In order to customize any content, you will have to start with creating a human readable overview (in "dump files") over all the content that you want to work with:
- Start the WCell.Tools project
- Type: dump all
- Or alternatively only type dump to see which dumps are available and simply create the files one by one, using dump npcs, dump spells etc
By default the Dump Files will be written to the Tools' project output folder: Utilities/WCell.Tools/output/
Customize your world
An overview over how you can change the ingame world with commands and/or just a few lines of code:
Commands can be used to let the server perform any kind of task on demand.
The RealmServer contains the actual game content and the code for every part of the API is located in the folder(s) with its name(s) within the WCell.RealmServer project.
Spells are any kind of player abilities, including ranged attacks. They also represent Auras (longer lasting effect on Units) and are used for almost all kinds of graphical effects.
NPCs and AI
NPCs (non player characters) and their behavior are entirely customizable in WCell.
GameObjects are lifeless (often interactable) objects in the world (such as most doors, herbs, ore etc).
Customizing the ingame world
Quests represent objectives that players can receive from many different sources to earn experience and all kinds of other rewards.
Items are anything that can be put into a Player's inventory.
Gossip Menus represent ingame dialog-like menus for players. They are very easy to create and can be used for many -mostly administrative- purposes.
The Chat API can be used to link different chat devices with the ingame world, for example IRC channels.