Skip to main content

Status authoring

Guide

Define what one stack represents, how stacks merge or decay, and which battle timings a status responds to

The Mire Reaper Behavior already applies Poison and Weak during enemy actions. The status assets then determine how those effects appear on a unit, stack, respond to battle timings, and end. Before editing, confirm that the scene's GameCardManager enables at least one Status Database. Database configuration determines which statuses the Game Card Editor and runtime can discover

Open the Game Card Editor

Tools > TinyGiants > GCS > Game Card Editor

Select Status at the top of the window, then find Strength in the list on the left

Status mode in the Game Card Editor, with the List, Inspector, Preview, and Used By areas focused on Strength

The image above places the Status List, Inspector, Preview, and Used By in one authoring path. The list selects the current GameStatus, the Inspector defines its player-facing identity, stack rules, and Behavior, and the right side checks the result and traces behavior-graph references. All four areas share the selected Strength asset, so once it is selected in List, its fields, behavior, preview, and references remain connected to the same data

Select the status to editโ€‹

Status mode lists only non-null statuses from the Status Databases enabled on the current GameCardManager. Each row shows the Icon, name, Buff or Debuff type, Stack Rule, and Decay Rule

The PresetStatusDatabase list, where Strength is a Buff with Additive stacking and Never decay

PresetStatusDatabase currently contains 30 bundled statuses: 15 Buffs and 15 Debuffs, with 14 using PerTurn and 16 using Never. All 29 statuses except Ritual display their stack count

The List also manages assets inside the current Status Database

List actionsโ€‹

ActionHow to use it and what happens
Select a databaseChoose the target Status Database under Database. All subsequent creation, paste, and ordering operations affect that database
Create+ creates a sub-asset based on the name NewStatus. It defaults to Buff, Additive, Max Stacks = -1, Never, and a visible stack count. A Behavior is created without nodes or connections
DuplicateCopies the current fields and Behavior into an independent asset
Deleteโˆ’ deletes the selected status after confirmation. Existing behavior-graph references are neither protected nor migrated
Search and filterSearch reads the sub-asset name, Type filters Buffs or Debuffs, and Tags retains statuses that match any selected tag. Tag matching is case-sensitive
Sort and dragThe sort button cycles through database order, name ascending, and name descending. Dragging a row changes only its authored order in the database
Batch actionsDuplicate a multi-selection, add or remove Tags in bulk, delete in bulk, or use Ctrl/Cmd+C and Ctrl/Cmd+V to copy between active databases of the same type

See Game Card Editor for window-level controls. Once Strength is selected, start by giving one stack a precise meaning

Configure status identity and numeric meaningโ€‹

Basicโ€‹

FieldConfiguration and responsibility
NameThe player-facing status name. A non-empty value also renames the sub-asset. When empty, List falls back to the sub-asset name, Display shows (unnamed), and Validation reports an error
DescriptionStates what the status changes and whether one stack represents strength, duration, or a count. The text does not generate runtime rules
TypeDisplay classification as Buff or Debuff, also used by Filter nodes when filtering status collections. It does not determine whether the effect is beneficial or harmful
TagsUsed by List filters, Status Info, Filter nodes, and project-specific rules. Built-in unit targeting does not treat status Tags as unit Tags

Set Name to Strength, keep the description Your attacks deal 1 extra damage per stack., choose Buff, and add the Power Tag

Strength Basic settings with its name, description, Buff type, and Power Tag

These fields establish that one stack of Strength adds 1 attack damage. The status still needs an Icon that players can identify

Visualโ€‹

Icon appears in the Status List, Display preview, and the project's status badges. The bundled Demo also shows it in unit hover details

Choose the fist icon for Strength

Strength Visual settings with the status fist icon assigned

Identity and icon determine what players see. Stack determines how another application of Strength merges, whether the value can grow without a cap, and when it decays

Configure stacking and decayโ€‹

Set Stack Rule to Additive, Max Stacks to -1, Decay Rule to Never, and enable Show Stack Count

Strength Stack settings with Additive stacking, unlimited stacks, Never decay, and a visible stack count

With these settings, every application adds to the existing value, the final stack count has no cap, and it does not decrease automatically at turn end. The badge number always matches the current damage bonus

SettingRuntime meaning
AdditiveAdds incoming stacks to the existing count
MaxKeeps the larger of the existing and incoming counts
ReplaceReplaces the existing count with the incoming count
Max StacksOnly positive values cap the final count. 0 and negative values are both unlimited at runtime, but 0 produces an editor warning. Use -1 to state an unlimited count intentionally
PerTurnRemoves 1 stack after the holder's own turn ends
NeverKeeps the status until a behavior graph, GCSApi, or project logic changes it explicitly
Show Stack CountControls whether the project's status badge displays a number without changing the actual count

The same fields can express different stack semantics:

StatusStack RuleMax StacksDecay RuleSuitable result
StunnedReplace1PerTurnA one-stack flag that remains at one when applied again
EmpowerMax1PerTurnKeeps only a larger incoming value and disappears after the holder's turn
RestrictedAdditive3NeverAccumulates up to three stacks and remains until removed explicitly

The current stack count of Strength now has a stable meaning. Its Behavior can read that runtime value and write it into the damage Hook

Author the status Behaviorโ€‹

The chips below Behavior list its top-level Entries. Strength currently shows Hook: OnDealDamage

Strength Behavior section with Hook OnDealDamage listed below Edit FlowGraph

Click Edit FlowGraph to open the Strength behavior graph

The Strength FlowGraph uses Damage Dealt Hook, Status Info, Math Binary, and Write Hook to increase damage by its stack count

In the image above, the execution path reads the current damage from Damage Dealt Hook, gets the holder's Strength stacks through Status Info, adds the two values with Math Binary, and writes the result back into the damage chain through Write Hook. The final Play Effect provides presentation feedback for the bonus

This connection turns the Description's โ€œ1 extra damage per stackโ€ into an executable rule. Max Stacks only caps the count; the actual calculation always reads the stacks currently held by the unit

tip

A Behavior can contain turn entries, lifecycle entries, Hooks, and presentation nodes at the same time

It can also remain empty when a status does not need to respond to battle timings. An empty Behavior does not prevent the status from being saved, displayed, or stacked; it simply runs no turn or lifecycle rules of its own. These entries and nodes still follow the FlowGraph model. See Hook nodes and Get nodes for individual nodes, and status behavior recipes for reusable combinations

After finishing the graph, return to the Game Card Editor. Preview first checks the player-facing result, then confirms that its top-level entries appear in the summary

Inspect the status previewโ€‹

Display informationโ€‹

Display shows the Icon, Name, Buff or Debuff type, Description, Stack Rule, Decay Rule, and Max Stacks

Strength Display preview with the fist icon, Buff type, description, Additive stacking, Never decay, and unlimited stacks

The icon, Strength name, Buff label, and Additive ยท Never ยท Max โˆž now match the fields above. Tags and Show Stack Count do not appear on this card, so enter Play Mode to verify whether the actual badge shows a number

Behavior Summaryโ€‹

Behavior Summary collects the Behavior's top-level EntryNode instances, then follows the first Out control connection from each entry for up to 8 nodes

Strength Behavior Summary listing OnDealDamage, OnStatusReceived, OnStatusExpired, and OnStatusRemoved

The four rows confirm that Strength has a damage Hook plus received, natural-expiration, and explicit-removal entries. The summary does not expand branches, traverse every Out connection, or prove that each path reaches an Action. Verify the complete structure in the FlowGraph Editor, then check the Issue Badge for the current Status Database

Resolve validation issuesโ€‹

Status mode scans every status in the selected Status Database, not only the open Strength asset

LevelTrigger
ErrorName is empty
WarningMaxStacks == 0
WarningBehavior is non-empty and FlowGraphValidator reports a structural issue

The following boundaries are outside Validation and require a manual check

Where to checkWhat Validation does not cover
Inspector and DisplayEmpty Description, Icon, or Tags; a Type that conflicts with the actual effect; Show Stack Count that conflicts with the meaning of its stacks
FlowGraph EditorAn empty Behavior, or entries and execution paths that do not implement the rule promised by the Description
Fields and Play ModeMaxStacks < -1, or a mismatch between stack count, badge, and actual effect

Click Ping on an Issue to locate its status, field, or FlowGraph. See authoring errors for common structural problems

Once the fields and behavior pass inspection, Used By reconnects Strength to the content assets that apply or read it

Inspect asset referencesโ€‹

Used By scans the Card, Status, and Enemy Unit Databases enabled on the current GameCardManager, looking for direct references to the selected status in each asset's Behavior

The visible portion of Strength Used By, including Rally, Intimidate, Lord of Ruin, Ritual, and Pyre Effigy

The visible area lists three cards, Ritual, and Pyre Effigy. Scrolling further also reveals Lantern Sister and Order Knight. The complete set of Strength references is:

AssetTypeFirst matching node
RallyCardChange Status
IntimidateCardChange Status
Lord of RuinCardUnit Status Stacks
RitualStatusChange Status
Pyre EffigyEnemyChange Status
Lantern SisterEnemyChange Status
Order KnightEnemyChange Status
tip

An asset appears once even when it references Strength multiple times, with its first matching node shown as context. Used By also scans Group Bodies recursively. Databases that are not enabled, other scenes, Prefabs, code, and GCSApi calls are outside its results

Click a result to switch to the corresponding Card, Status, or Enemy mode. See Action nodes for the target, mode, and value ports on Change Status

GameStatus stores the reusable definition. During battle, each unit records its own stack count and applier. See the status lifecycle for the complete order of stacking, removal, Hooks, events, and natural decay

Verify Poison in Play Modeโ€‹

Strength uses Never and continuously modifies damage through a Hook. Poison instead uses Additive, unlimited stacks, and PerTurn; at the start of the holder's turn, it deals damage equal to the current stack count and ignores Armor

The Poison FlowGraph reads the current stack count at On Turn Start and deals damage that ignores Armor

The execution path above enters through On Turn Start, passes the current Poison stack count from Status Info into the Deal Damage Amount, and enables Ignore Armor. The final Play Effect handles the floating number and poison presentation

There is no Action that reduces stacks in the graph because PerTurn automatically removes 1 stack after the holder's own turn. Player statuses decay after the player turn, while enemy statuses decay after that enemy finishes acting. See the status lifecycle for the full timing

tip

When PerTurn naturally reaches 0, the status executes OnStatusExpired and sends the event of the same name. When RemoveStatus, a negative Delta, or Set explicitly reduces it to 0, the status instead executes and sends OnStatusRemoved. Every actual stack change sends OnStatusChanged

Open the bundled Hunter/1-Fenmoss Hollow.unity scene and hit Plague Stalker with Poison Arrow. The card first deals 3 damage and applies 2 stacks of Poison

After Poison Arrow resolves, Plague Stalker drops from 16 to 13 HP and gains two Poison stacks

The 13/16 HP and two Poison stacks come from the same Poison Arrow resolution. End the player turn, and those stacks enter the On Turn Start path above when the enemy turn begins

After taking 2 damage that ignores Armor and completing its action, PerTurn reduces Poison from two stacks to one. Both results are visible when the second player turn begins

At the start of the second player turn, Plague Stalker has 11/16 HP and one Poison stack

13/16 โ†’ 11/16 confirms that Poison dealt damage using its two-stack value, while 2 โ†’ 1 confirms that Decay Rule reduced the status after the same enemy turn. See your first battle for the complete procedure

The editor settings, FlowGraph, and Play Mode result now form one verifiable path. When project code needs to query stacks, apply or remove a status, or subscribe to its changes, use the GCSApi guide and event guide. With Strength and Poison connected to a live battle, the cards, deck, player, enemies, and statuses have all been verified. Switch to Encounter and use encounter authoring to assemble them into a battle that can start