-
Notifications
You must be signed in to change notification settings - Fork 7
Components
These are brief overviews. Please refer to the in-godot documentation for more technical details.
This stores your entity's Attributes, which are equivalent to the S.P.E.C.I.A.L attributes in the Fallout series, or the classic Dungeons and Dragons Strength, Dexterity, Constitution, Intelligence, and Charisma. You can have whatever setup you like.
This stores what Covens (Skelerealms' equivalent of Factions) this NPC is a part of. Refer to the articles on Covens for more information.
This allows your entity to be damaged. This is intended to allow for other components to hook into this one and process any damage input.
The Equipment Component keeps track of items that are "Equipped" by an entity, in a number of equipment slots (like helmet, gloves, etc). These slots can be changed in addons/skelerealms/scripts/misc/equipment_slots.gd
.
This manages the behaviors and planning systems for the GOAP AI system. Refer to the GOAP article for more info.
This marks your entity as interactive.
This marks the entity as an Item, and keeps track of what inventory it's in, as well as any relevant functions and attributes.
This allows the entity to pathfind using the Granular Navigation system.
one of the most important components in the system, this marks the entity as an NPC and has the barebones framework for NPC AI, intended to be extended using the AI Modules and GOAP systems.
This means the entity is the Player.
This spawns and manages "puppets", which are an entity's manifestation in the game world. See the relevant articles.
The script component allows for unique entity instances to have their own ad-hoc scripts without defining an entire new archetype, which is somewhat cumbersome.
This keeps track of an entity's "skills" (like sneak, one-handed, mercantile, etc.), as well as its "level". A level is calculated as the sum of all skills by default, but allows you to apply your own leveling logic.
This allows your entity to be the target of a spell, and gives hooks and callbacks for processing in other components.
This allows the entity to be teleported.
This keeps track of an entity's health, magic, and stamina stats.
To write your own, all you need to do is inherit from EntitComponent, and set the node's name in an init function. That's it! There are some hooks and variables provided to you, which you can see in the in-godot documentation. From there, you're free to go.