get_parent() chains.
Beast Card Clash registers six autoloads in project.godot:
project.godot
GameConstants
File:autoload/game_constants.gd
GameConstants is a pure data singleton. It defines the enums and constants that every other system references. You should never write to it at runtime.
Enums
Elements
Elements
Represents the six elemental types a card can carry.
See Elements for how these interact in battle.
| Value | Description |
|---|---|
NONE | No elemental affinity |
AIR | Air element |
EARTH | Earth element |
ENERGY | Energy element |
FIRE | Fire element |
WATER | Water element |
Teams
Teams
All nine selectable faculty teams, plus a sentinel value.
NO_TEAM is the default before a player selects a team in the character selector.Species
Species
The four playable character species.Each species has one or more skins defined in
SKINS. See Characters for details.Constants
| Constant | Type | Value | Description |
|---|---|---|---|
MAX_CARD_VAlUE | int | 10 | Maximum numeric value a card can have (note: typo in source — VAlUE not VALUE) |
TEAMS_MEMBERS | Dictionary[Teams, Array] | — | Maps each team to an array of members (all empty in current version) |
SKINS | Dictionary[Species, PackedStringArray] | — | Maps each species to its available skin names |
The constant is spelled
MAX_CARD_VAlUE (capital A in VAlUE) in the source file — a typo. When referencing it in code, use the exact spelling from game_constants.gd.SKINS reference
Usage example
PlayerStats
File:autoload/player_stats.gd
PlayerStats stores the mutable session data for the human player. It is written to during character selection and read by the battle scene to configure the player’s character.
Properties
| Property | Type | Default | Description |
|---|---|---|---|
player_name | String | "Osorio" | The player’s display name |
team | GameConstants.Teams | GameConstants.Teams.NO_TEAM | The selected faculty team |
species | GameConstants.Species | GameConstants.Species.BEAR | The selected character species |
skin | String | First skin for the selected species | The selected skin variant |
Source
Usage example
SceneManager
File:autoload/scene_manager.gd
SceneManager is the single authority for scene transitions. It loads scenes from a Scenes resource that maps string names to packed scenes, so the rest of the codebase never needs hard-coded scene paths.
API
Scenes resource.
Usage example
Always use
SceneManager.change_to_scene() rather than calling
get_tree().change_scene_to_packed() or change_scene_to_file() directly.
This keeps all scene paths in one place and makes refactoring easier.MusicManager
File:autoload/music_manager.gd
MusicManager extends AudioStreamPlayer and controls background music throughout the game. It loads tracks from a Playlist resource keyed by name.
API
play_music(music_name)
Loads the named track from the playlist and starts playing it immediately. Replaces any currently playing track.
switch_music_playing(on)
Toggles or sets the paused state of the current track.
| Argument | Behavior |
|---|---|
null (default) | Toggles pause — pauses if playing, resumes if paused |
true | Pauses the music |
false | Resumes the music |
Usage example
FlagsManager
File:autoload/flags_manager.gd
FlagsManager is a simple boolean flag store backed by a Flags resource. Use it to track one-time events like “has the tutorial been seen” or “has the player won at least once” without adding variables to scene scripts.
API
get_flag(flag)
Returns the current value of the named flag. Returns false for any flag that has not been explicitly set.
set_flag(flag, value)
Sets the named flag to value. Prints a debug message indicating whether the flag was activated or deactivated.
Usage example
DialogueManager
Plugin:addons/dialogue_manager
DialogueManager is a third-party Godot plugin that drives all in-game dialogue and narrative sequences. It is registered as an autoload automatically when the plugin is enabled.
Dialogue content lives in assets/dialogues/ as .dialogue files:
| File | Used for |
|---|---|
begin.dialogue | Opening narrative before a battle |
pregame.dialogue | Pre-match character introductions |
win.dialogue | Victory sequence |
lose.dialogue | Defeat sequence |
Usage example
Refer to the Dialogue Manager plugin documentation
for the full API. The autoload name
DialogueManager is provided by the plugin
and cannot be renamed without modifying the plugin itself.