Package Description
The core multiplayer code for Spellsource.
The core engine code for Spellsource.
Game actions are things players can do.
Behaviours describe how a player should respond to events in the game.
The features and the heuristic used to evaluate game states.
An incomplete Monte Carlo Tree Search based implementation of a behaviour.
Cards contains important enums, deserialization code, the card catalogue and the card entity.
Card cost modifiers change the cost of specific or multiple cards, living on the player entity, on a card or an in-play entity.
This package contains classes that help deserialize the card JSON into objects.
Dynamic descriptions on cards allow values to be embedded into a card's description text.
Decks contains code to define a collection of cards for play.
This package has various deck validation functions.
Entities are the various classes that live inside a match, like a card, hero, minion, and weapon.
Hero entity related code.
Minion entity related code.
Weapon entity related code.
The environment holds ephemeral data (variables) during the course of a game.
Events correspond to things that happen inside the game that other rules can react to.
Utilities to run a game context where its state is managed by the native Java call stack.
This package contains the game logic, the rules of the game of Spellsource.
Interfaces for multiplayer cross-context gameplay.
Spells contain all the functional pieces of the card JSON (Click on description to learn more about how to use this).
Code related to auras.
Custom spells that are used to implement game effects that are too complex for card JSON.
Subcomponents of a spell that help implement functionality like filtering cards and retrieving values.
Aura deserialization code.
Conditions encode a true or false evaluation of a piece of game state.
Filters include/exclude targets from a list of entities generated by an entity reference or a card source.
Card cost modification deserialization code.
Card sources generate lists of cards.
Trigger and enchantment deserialization code.
Value providers read the game state and provide values for spells, conditions, filters, etc.
This package contains all the classes that react to game events.
The secret and quest entity code.
This package collects statistics about the game as it plays out.
Targeting contains the types used to describe various targets of effects.
Various utility classes for doing math and loading resources.