API Reference kalevala v0.1.0

Modules

Documentation for Kalevala.

A struct for holding a character's brain and state

Node to trigger an action

Check if a condition is valid

Processes each node one at a time and stops processing when the first one fails

Condition check for the event being a message and the regex matches

Condition check for the event being a message and the regex matches

Match values in the meta map

Processes each node one at a time and stops processing when the first one succeeds

Process a node in the behavior tree

Processes a random node

Process each node one at a time

Keep state around a character's brain

Node to set meta values on a character

Handle variable data in brain nodes

Test Helpers for testing a Brain struct

GenServer for caching in game resources

Character struct

Actions are small character functionality bundled together

Commands handle player actions

Parse player input to known commands

Set of macros to build a command router using NimbleParsec

Struct for tracking data being processed in a controller or command

Send an out of band Event

An event that also includes text output

Receive an out of band event

Struct to print text

Kalevala controllers are the current set of actions for the user

Process events in the context of a character

Session Foreman

Callbacks for a integrating with the character foreman process

Helpers for dealing with communication channels

Callbacks for a non-player character

Callbacks for a player character

Supervisor for foreman processes

Track the presence of online characters

Render output from the game

An EEx Engine that returns IO data instead of a string

Imported into views

Handle communication for the game

A local cache server for communication

A GenServer to handle channel communication

DynamicSupervisor for registering channels

Test helpers for testing Controllers/Commands/Actions/etc

An internal event

Struct for sending a message

An event to display text/data back to the user

Events to drop an item in a room

The request to drop an item was aborted by the room

The request to drop an item was committed by the room

Request to pick up an item from the room

Events to pick up item in a room

The request to pick up an item was aborted by the room

The request to pick up an item was committed by the room

Request to pick up an item from the room

Struct for sending a message

Metadata for an event, used for telemetry

An event to move from one room to another

Struct for aborting movement between two rooms

Struct for committing movement between two rooms

Event to send a notice to other characters in the room

Character requesting to move from their current room in a exit_name

A voting event tracks the state of a character wishing to change rooms

Route in-game events

Help Topics

Struct for help topics

A small cache to be a lookup from keyword -> help topic key

Trim extra metadata on an instance metadata

Protocol for dealing with extra metadata on an instance from Kalevala

Struct to tag trimmed metadata as already trimmed

An output post processor for text from Kalevala

Context struct for an output callback module

Remove any open and close tag tuples from the data

Process table tags into ANSI tables

Process color tags into ANSI escape codes

Output processor that parses tags

Processes tags for the websocket output

Process that starts the ranch listener

ranch protocol for handling telnet connection

A verb is a discrete action that the player may perform

A verb is not allowed unless all conditions are met

Context for running a verb

Cowboy websocket handler

Start a cowboy listener

Manages the virtual world

Supervisor to watch over Residents

Exits link rooms together in one exit_name

Item struct

Item instance struct

An empty struct for item instances to include by default

Rooms are the base unit of space in Kalevala

Context for performing work for an event in a room

Module for handling room events

A room feature is a highlighted part of a room

Handle item pickup

Handle room movement

Store private information for a room, e.g. characters in the room

Supervisor to watch over Rooms

Zones group together Rooms into a logical space

Zone movement functions

Supervisor to watch over Zones

Mix Tasks

Generate files for a new command (command / event / views)