Coding for Ares

These articles will teach you how to code for AresMUSH.

Introduction

Basic Coding Tutorials

There are several tutorials designed to introduce you to Ares coding step by step. It’s recommended that you do these in order, since they all build on each other.

Tutorial #1 - Quickstart

Learn the basic Ares functions and code concepts.

Tutorial #2 - Editing Ares Code

Learn what tools you use to edit the Ares code.

Tutorial #3 - Adding a Command (Character Goals)

Learn how to add a command (a simple ‘goals’ command to set character goals.)

Tutorial #4 - Creating a Plugin (Cortex Skills System)

Learn the anatomy of a more complex system (aka a plugin) from start to finish. The example uses the Cortex skills system.

Tutorial #5 - Modifying the Web Portal (Web Goals)

Learn how to add things - in this case, the character goals from Tutorial #3 - to the web portal.

Custom Code Hooks

Normally, modifying the base Ares code exposes you to merge conflicts. This is an annoying process that forces you to reconcile your changes with the base code changes whenever you upgrade. There are, however, several places that are designed with custom code hooks, which let you hook in custom code without actually touching the core code.

Chargen Hooks

  • Chargen App Review - Character fields checked on the app review screen, like making sure their groups make sense or a custom chargen field is set.
  • Chargen Approval Triggers - Actions taken after approval, like assigning roles or adding characters to channels based on their groups.
  • IC Starting Location - If you want people from different factions/homeworlds/etc. to start in different places, you can use the custom IC starting location hook.
  • Character Fields - New character fields added to profiles and/or chargen.

Scene Hooks

  • Scene Buttons - Actions added to the Play menu or pose buttons on active scenes.
  • Character Cards - Custom appearance for the mini character profiles that show up during active scenes when you select a character’s icon.

Job Hooks

FS3 Combat Hooks

  • Combat Actions - Adding new combat actions to FS3.
  • New Turn Triggers - Actions to be taken at the end of each turn, like resetting flags or handling special kinds of damage.

Web Portal Hooks

  • Custom Routes - Adding custom routes (pages) to the web portal.
  • Sidebar - Adding custom sections to the web portal sidebar.

Advanced Coding Topics

Once you’ve completed the initial tutorials, there are a wealth of other topics available for reference.

General

Language Resources

Configuration

Engine

Database

Plugins and Commands

Utilities

Web Portal

Troubleshooting

FS3

Local Development

Contributions

Miscellaneous