Reference Source Test

References

client

summary
public

C Game

Creates an instance of the game

public

C Client

Controls the client side changes for the application and game

client/controllers

summary
public

C Audio

Controls audio and sfx in the game

public

C Bubble

Creates player speach bubbles

public

C Chat

Manages the game's chat log window and chat history

public

Entities in the game:

  • Character - parent class for:
    • Mob - game controlled npc or monster that can move around the map
    • Npc - game controlled entity that always stays in one location
    • Player - a user in the game
  • Chest - open to reveal an item
  • Item - weapons, health, magic, armor
  • Projectile - entities that can be thrown (magic, weapons, arrows, mob attacks)
public

C Info

Displays additional information on the screen as the game is running.

public

C Input

Handles game mouse and keyboard input

public

Handles game UI interfaces

public

Shows an popup overlay when the mouse is over a character or enemy that displays information about them

public

Used to load the character and items for the player

public

C Cursor

Handles the cursor on the HTML5 canvas, different pointers can be swapped out depending on the entity the player is interacting with, this holds all of the individual pointers whereas Pointer holds a specific/individual cursor

public

Class responsible for loading all the necessary sprites from the JSON.

public

C Zone

Keeps track of the Entity direction

client/entity

summary
public

Control animations for a sprite

public

C Entity

Initialize a new entity:

public

This is a entity handler, responsible for all the Entity callbacks without having to clutter up the entire file.

public

C Sprite

Represents a sprite image used to render an entity on the canvas

client/entity/character

summary
public

A specific type of Entity.

client/entity/character/mob

summary
public

C Mob

A mobile Character, some can attack while others just move

client/entity/character/npc

summary
public

C Npc

A non-playable Character

client/entity/character/player

summary
public

C Player

A member's playable Character in the game

public

This is a player handler, responsible for all the Player callbacks without having to clutter up the entire file.

client/entity/character/player/equipment

summary
public

C Armour

Equipment that can be equipped on a Character

public

C Boots

Equipment that can be equipped on a Character

public

Things that can be equipped on a Character The children of these classes are responsible for clear and concise ways of organizing stats of weapons in the client side.

public

Equipment that can be equipped on a Character

public

C Ring

Equipment that can be equipped on a Character

public

C Weapon

Equipment that can be equipped on a Character

client/entity/objects

summary
public

C Chest

This os an object type of Entity

public

C Item

This os an object type of Entity

public

This os an object type of Entity

client/interface

summary
public

Manages the abilities shortcut bar interface

public

Manages the context action menu interface for inventory and player interactions

public

C Bank

Manages the bank interface for storing and retrieving items

public

Manages the enchanting interface for applying abilities to items

public

Manages the player inventory interface for viewing and using items

public

C Warp

Manages the world map warp interface for fast-travelling between locations

client/interface/container

summary
public

Represents a fixed-size container of item slots

public

C Slot

Represents a single item slot within a container

client/interface/profile

summary
public

Represents the abilities/skills profile page

public

Base class for profile dialog pages

public

Manages the player profile dialog, including page navigation and sub-pages

public

C Quest

Manages the quest and achievement tracking profile page

public

Manages the settings profile page for audio, visual, and gameplay options

public

C State

Manages the player state profile page displaying equipment and stats

client/lib

summary
public

C Logger

Provides colored, class-namespaced logging to the browser developer console

public

Singleton Logger instance initialized at debug level

client/map

summary
public

C Map

Manages the game world map data including tiles, collisions and tilesets

client/network

summary
public

Handles incoming server packets and dispatches them to registered callbacks.

public

C Socket

Connect to the server via websockets

public

V Packets: {"Handshake": *, "Intro": number, "Welcome": number, "Spawn": number, "List": number, "Who": number, "Equipment": number, "Ready": number, "Sync": number, "Movement": number, "Teleport": number, "Request": number, "Despawn": number, "Target": number, "Combat": number, "Animation": number, "Projectile": number, "Population": number, "Points": number, "Network": number, "Chat": number, "Command": number, "Inventory": number, "Bank": number, "Ability": number, "Quest": number, "Notification": number, "Blink": number, "Heal": number, "Experience": number, "Death": number, "Audio": number, "NPC": number, "Respawn": number, "Trade": number, "Enchant": number, "Guild": number, "Pointer": number, "PVP": number, "Click": number, "Warp": number, "Shop": number, "IntroOpcode": *, "EquipmentOpcode": *, "MovementOpcode": *, "TargetOpcode": *, "CombatOpcode": *, "ProjectileOpcode": *, "NetworkOpcode": *, "InventoryOpcode": *, "BankOpcode": *, "QuestOpcode": *, "NotificationOpcode": *, "NPCOpcode": *, "TradeOpcode": *, "EnchantOpcode": *, "GuildOpcode": *, "PointerOpcode": *, "ShopOpcode": *}

Enumeration of all network packet types and their opcodes used for client-server communication

client/renderer

summary
public

C Camera

Tracks the visible viewport position and dimensions for the renderer

public

C Grids

Manages all spatial grids used for rendering, pathing, entities and items

public

Handles all canvas-based rendering for the game world

public

C Tile

Represents an animated tile on the map

public

Drives per-frame game logic updates including entity movement, animations and UI state

client/renderer/bubbles

summary
public

C Blob

A type of bubble

client/renderer/infos

summary
public

C Splat

Represents a floating text label that fades out over time

client/renderer/pointers

summary
public

Represents a blinking on-screen pointer indicator

client/utils

summary
public

Handles pathfinding for entities on the game grid

public

C Queue

Very useful file used for queuing various objects, most notably used in the info controller to queue objects to delete

public

Manages persistent client-side storage using localStorage

public

C Timer

Tracks elapsed time to determine when a duration has passed

public

Manages smooth value transitions over a fixed duration

public

Returns true if the given number is an integer

public

F isIntersecting(rectOne: Object, rectTwo: Object): Boolean

Returns true if the two rectangles do not overlap

public

V Detect: {"isIpad": *, "isAndroid": *, "isWindows": *, "isChromeOnWindows": *, "isCanaryOnWindows": *, "isEdgeOnWindows": *, "isFirefox": *, "isSafari": *, "isOpera": *, "isFirefoxAndroid": *, "isTablet": *, "iOSVersion": *, "androidVersion": *, "isAppleDevice": *}

Utility object for detecting the user's browser and device environment

public

V Modules: {"Orientation": *, "Types": *, "InputType": *, "Actions": *, "Hits": *, "Equipment": *, "Hovering": *, "Keys": *, "AudioTypes": *, "DamageColours": *, "Pointers": *}

Shared game constants and enumerations used across the client

public

CSS transition end event names for cross-browser compatibility

public

Cross-browser requestAnimationFrame implementation with setTimeout fallback

client/utils/__mocks__

summary
public

V Detect: {"isWindows": *, "isOpera": *, "isFirefoxAndroid": *}

Jest mock for the Detect utility, providing stub browser detection methods

server/data/combat

summary
public

Combat logic for the Great Squid boss

public

Combat logic for the Ogre Lord boss

public

Combat logic for the Pirate Captain boss

public

Combat logic for the Queen Ant boss

public

Combat logic for the Skeleton King boss

public

Combat logic for the Tenebris boss

server/data/items

summary
public

C Flask

Item class for health and mana flask consumables

server/js/controllers

summary
public

Handles parsing and dispatching of in-game chat commands

public

Controller that manages all active minigame instances

public

C Shops

Controller that handles shop interactions for players

server/js/database

summary
public

Handles database table creation and player data persistence

public

C Loader

Loads player data from the database

server/js/game/entity

summary
public

C Entity

Base class for all entities in the game world

server/js/game/entity/character

summary
public

Represents a character entity capable of combat and movement

server/js/game/entity/character/combat

summary
public

C Combat

Handles combat logic for a character including attacking, following, and taking damage

public

A queue that holds pending hit actions for combat processing

public

C Hit

Represents a single hit action in combat

server/js/game/entity/character/mob

summary
public

C Mob

Represents a mob (non-player enemy) character in the game world

server/js/game/entity/character/player

summary
public

Represents a checkpoint associated with a player's position in the world

public

Handles event callbacks and world interactions for a player

public

C Trade

Manages a player's trade session with another player

public

C Warp

Manages player warping between locations in the world

server/js/game/entity/character/player/ability

summary
public

Manages the collection of abilities and shortcuts for a player

server/js/game/entity/character/player/ability/misc

summary
public

Base class representing a single player ability

public

Represents the FireStrike ability

public

Represents the IceAttack ability

public

C Run

Represents the Run ability

server/js/game/entity/character/player/containers

summary
public

Base class for player item containers such as inventory and bank

public

C Slot

Represents a single item slot within a container

server/js/game/entity/character/player/containers/bank

summary
public

C Bank

Represents a player's bank container for storing items

server/js/game/entity/character/player/containers/inventory

summary
public

Represents the player's inventory container

server/js/game/entity/character/player/enchant

summary
public

Handles the item enchanting system for a player

server/js/game/entity/character/player/equipment

summary
public

C Armour

Represents a piece of armour equipment worn by the player

public

C Boots

Represents a pair of boots equipment worn by the player

public

Base class representing a piece of equipment worn by the player

public

Represents a pendant equipment item worn by the player

public

C Ring

Represents a ring equipment item worn by the player

public

C Weapon

Represents a weapon equipment item wielded by the player

server/js/game/entity/character/player/points

summary
public

Manages the hit points for a player or character

public

C Mana

Manages the mana points for a player

public

C Points

Base class for managing a points value and its maximum (e.g.

server/js/game/entity/character/player/profession

summary
public

Base class representing a player's profession

server/js/game/entity/character/player/profession/impl

summary
public

Represents the foresting profession for a player

server/js/game/entity/character/player/quest

summary
public

C Quest

Base class representing a player quest

server/js/game/entity/character/player/quest/misc

summary
public

Represents the "Bulky Situation" quest implementation

public

Represents the introductory tutorial quest for new players

public

C TheLie

Represents "The Lie" quest implementation

server/js/game/entity/npc

summary
public

C NPC

Represents a non-player character in the game world

server/js/game/entity/objects

summary
public

C Chest

Represents a chest entity that can contain items

public

C Item

Represents an item entity in the game world

public

Represents a projectile entity fired during ranged combat

server/js/map

summary
public

C Area

Represents a rectangular area of the map with optional entity tracking.

public

C Grids

This class is another version of the grid generation system in the client side.

server/js/minigames

summary
public

Abstract base class representing a minigame

server/js/network

summary
public

C Socket

Abstract base class representing a network socket server

server/js/util

summary
public

C Bot

Manages automated bot players for testing and population purposes

public

F requireItems(directory: String): Object

Loads all JavaScript plugin files from the specified directory and returns a map of module paths

public

V AbilityDictionary: {"data": *, "properties": *, "plugins": *, "getProperty": *, "setProperty": *, "getData": *, "setData": *, "idToString": *, "idToName": *, "stringToId": *, "exists": *, "setPlugins": *}

Dictionary providing lookup and utility methods for ability definitions

public

V ItemsDictionary: {"data": *, "properties": *, "plugins": *, "onCreate": *, "getProperty": *, "setProperty": *, "setData": *, "idToString": *, "idToName": *, "stringToId": *, "exists": *, "setPlugins": *, "getData": *, "hasPlugin": *, "isNewPlugin": *, "getLevelRequirement": *, "getWeaponLevel": *, "getArmourLevel": *, "getPendantLevel": *, "getRingLevel": *, "getBootsLevel": *, "isArcherWeapon": *, "isWeapon": *, "isArmour": *, "isPendant": *, "isRing": *, "isBoots": *, "getType": *, "isStackable": *, "isEdible": *, "getCustomData": *, "maxStackSize": *, "isShard": *, "isEnchantable": *, "getShardTier": *, "isEquippable": *, "healsHealth": *, "healsMana": *, "getHealingFactor": *, "getManaFactor": *}

Dictionary providing lookup and utility methods for item definitions

public

V MobsDictionary: {"data": *, "properties": *, "plugins": *, "getProperty": *, "setProperty": *, "getData": *, "setData": *, "idToString": *, "idToName": *, "stringToId": *, "exists": *, "setPlugins": *, "getXp": *, "hasCombatPlugin": *, "isNewCombatPlugin": *}

Dictionary providing lookup and utility methods for mob definitions

public

V NpcsDictionary: {"data": *, "properties": *, "plugins": *, "getProperty": *, "setProperty": *, "getData": *, "setData": *, "idToString": *, "idToName": *, "stringToId": *, "exists": *, "setPlugins": *, "getText": *, "getType": *}

Dictionary providing lookup and utility methods for NPC definitions

public

V ShopsDictionary: {"data": *, "properties": *, "plugins": *, "getProperty": *, "setProperty": *, "getData": *, "setData": *, "idToString": *, "idToName": *, "stringToId": *, "exists": *, "setPlugins": *, "isShopNPC": *, "getItems": *, "getItemCount": *, "getCost": *, "getCount": *}

Dictionary providing lookup and utility methods for shop definitions

tools/api

summary
public

Manages a Redis client connection for server registration

tools/map

summary
public

F parse(json: Object, options: Object): Object

Parses a Tiled map JSON object and returns a processed map for client or server use