API Reference kalevala v0.1.0
modules
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
A no-op node
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
A parsed dynamic command
A parsed command
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
Telnet option
Struct to print text
A Kalevala.Character.Controller
is the largest building block of handling
texting. When starting the foreman, an initial controller is given. This
controller is initialized and used from then on. The callbacks required will
be called at the appropriate time with a new Conn
.
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
A basic room
A basic Zone
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
Mix Tasks
Generate files for a new command (command / event / views)