Addon ID

  • dynamicnarrative

Info

Statistics

  • Download count5 total downloads
  • Latest download count 5 downloads of latest version
  • Average download count3 downloads per day average

Owners

A list of all Actions, Conditions and Expressions supported in this addon.

Metrics & Tags

  • Actions

    Limit metric {0} between {1} and {2}

    Sets the minimum and maximum allowed values for a metric. It will automatically be clamped.

    Set metric {0} to {1}

    Sets a numeric metric.

    Add {1} to metric {0}

    Adds a value to a numeric metric.

    Set tag {0} to {1}

    Sets a text-based tag.

  • Conditions

    Metric {0} {1} {2}

    Compare a metric's value.

    On metric {0} changed

    Triggers whenever the specified metric has its value updated.

    On any metric changed

    Triggers whenever any metric has its value updated.

    Tag {0} equals {1}

    Checks if a string tag matches a specific value.

  • Expressions

    GetMetricMax

    Returns the maximum allowed limit of a metric. Returns 0 if unbounded.

    GetMetricMin

    Returns the minimum allowed limit of a metric. Returns 0 if unbounded.

    GetMetric

    Get the value of a metric.

    GetTag

    Get the text value of a tag.

Cards & Deck

  • Actions

    Create card {0} with weight {1}

    Initializes a new card in the system.

    Permanently destroy card {0}

    Completely deletes a card from the engine's database, deck, and hand.

    Duplicate card {0} to prefix {1} {2} times

    Clones a base card and all its effect rules, appending a number to the prefix (e.g., Strike_1). Run history is cleared for the clones.

    Set visual name of card {0} to {1}

    Sets the display name of a card for the UI, separate from its unique engine ID.

    Set category of {0} to {1}

    Assigns a card to a specific category pool (e.g. 'Combat', 'Shop').

    Draft {0} unique cards from category {1}

    Secretly draws unique cards from the deck without advancing the turn or setting them as active. Trigger OnCardsDrafted when done.

    Banish card {0}

    Removes a card from the deck pool for the rest of the current run.

    Move card {0} to discard pile {1}

    Pushes a specific card into a discard pile array.

    Clear discard pile {0}

    Empties the specified discard pile array completely.

    Shuffle discard pile {0} back into the draw deck

    Empties the discard pile and returns those cards to the available draw pool.

    Require tag {1} = {2} to include card {0}

    Adds an inclusion condition based on a string tag value.

    Clear drafted cards

    Empties the temporary drafted cards pool.

    Remove card {0} from current deck

    Manually pulls a card out of the current deck. It will naturally return on the next Advance Turn if conditions are met.

    Add text {1} to card {0}: {2}

    Adds a block of text to a card.

    Set draw weight of {0} to {1}

    Directly overrides the draw weight of a specific card.

    Add {1} to draw weight of {0}

    Modifies the draw weight of a specific card.

    Require {1}% chance to include card {0}

    Adds a probability condition for the card to be included in the deck.

    Require metric {1} to be between {2} and {3} to include card {0}

    Adds an inclusion condition requiring a metric to fall within a specific range.

    Require card {0} played status to be {1}

    Requires the card to have (or have never) been played before.

    Require card {0} to be played {1} {2} times

    Requires the card to have been played a specific number of times.

    Require card {0} played in last {1} turns to be {2}

    Checks if the card was played recently.

    Require previous card was {0} to be {1}

    Requires this card to follow (or explicitly NOT follow) itself as a combo.

    Require metric {1} {2} {3} to include card {0}

    Adds an inclusion condition based on a metric value.

    Add 'OR' condition break to card {0}

    Separates conditions. If all conditions on EITHER side of the OR are true, the card is included.

    Force draw card {0}

    Instantly sets the current card, bypassing weights and deck conditions.

    Play card {0}

    Records a card as played and triggers its effects.

    Forget that card {0} was played

    Clears the play history of a specific card, making the engine treat it as if it was never played.

  • Conditions

    Deck is empty

    True if there are no valid cards available to draw in the current deck.

    On deck empty (Draw failed)

    Triggers when the engine attempts to draw a card but no valid cards are available (or all valid cards have 0 weight).

    On cards drafted

    Triggers when a draft operation finishes.

    Card {0} is currently in the deck

    True if the specified card is currently allowed in the deck.

    On card {0} drawn

    Triggers when a specific card becomes the current active card.

    On any card drawn

    Triggers whenever a new card is drawn.

  • Expressions

    GetCardVisualName

    Returns the visual display name of the card. Falls back to its unique ID if not set.

    GetCurrentCardTextByIndex

    Get a text block from the currently active card by its 0-based index.

    GetCardPlayCount

    Returns the total number of times a specific card has been played.

    DraftedCardCount

    Number of cards drafted in the last Draft operation.

    DraftedCardAt

    Get the name of a drafted card by index.

    CurrentCardName

    Get the name of the currently drawn card.

    PreviousCardName

    Get the name of the last played card.

    GetTopCard

    Returns the name of the highest-weighted valid card currently in the deck.

    GetCardTextByName

    Get a specific text block from a card.

    GetCardWeight

    Get the current draw weight of a specific card.

    DeckSize

    Get the total number of cards currently in the valid deck.

    GetDeckAsJSON

    Returns a JSON array of all card names currently in the deck.

Hand System

  • Actions

    Draw {1} cards from category {2} to hand {0} (Auto-shuffle pile {3} if empty)

    Draws weighted cards. If the deck empties mid-draw, it automatically recycles the chosen discard pile.

    Add card {1} directly to hand {0}

    Instantly puts a specific card into a hand, bypassing deck logic.

    Play card from hand {0} at index {1} (Discard to {2})

    Removes the card, sets it as active, triggers its Play effects, and moves it to a discard pile.

    Discard card at index {1} from hand {0} to pile {2}

    Moves the card from the hand to a discard pile without triggering play effects.

    Discard entire hand {0} to pile {1}

    Moves all cards in the specified hand to a discard pile.

    Advance Turn (Skip Draw, Category {0})

    Increments turn, processes effects, and rebuilds the deck, but DOES NOT automatically draw a card. Use this before manually drawing to hand.

  • Conditions

    Card {1} is currently in hand {0}

    True if the specific card is currently in the specified hand.

    Hand {0} size is >= {1}

    True if the number of cards in the specified hand meets or exceeds the max size.

    On hand drawn

    Triggers when a Draw To Hand operation finishes.

  • Expressions

    HandSize

    Number of cards currently in a specified hand.

    CardInHandAt

    Get the name of a card in a hand by its index.

    DiscardPileSize

    Returns the amount of cards currently in a specific discard pile.

    GetHandAsJSON

    Returns a JSON array of all card names currently in a specific hand.

Options & Choices

  • Actions

    Clear all options from card {0}

    Removes all options and their associated lock requirements from a card.

    Require tag {3} = {4} to trigger effect {2} on option {1} of {0}

    Makes an option's effect conditional on a string tag's value.

    Set option {1} on {0} to {2} max uses

    Limits how many times an option can be picked before it becomes invalid.

    Add option {1} to card {0}

    Adds a choice/option to a card.

    Require metric {2} {3} {4} to unlock option {1} on {0}

    Sets a metric requirement that must be met for this option to be valid/clickable.

    Require tag {2} = {3} to unlock option {1} on {0}

    Sets a string tag requirement that must be met for this option to be valid.

    When option {1} on {0} picked: start effect {2} changing {3} {4} by {5} for {6} turns (Delay: {7})

    Schedules an effect when an option is chosen. The effect's duration starts ticking AFTER the delay finishes.

    When option {1} on {0} picked: set tag {2} to {3}

    Instantly sets a string tag to a specific value when this option is chosen.

    When option {1} on {0} picked AND no other effects trigger: start fallback {2} changing {3} {4} by {5} for {6} turns (Delay: {7})

    Schedules a fallback effect if normal effects fail. Duration starts ticking AFTER the delay finishes.

    Require metric {3} {4} {5} to trigger effect {2} on option {1} of {0}

    Makes an option's effect conditional on a metric's value.

    Require {3}% chance to trigger effect {2} on option {1} of {0}

    Makes an option's effect conditional on a percentage chance.

    Add 'OR' condition break to effect {2} on option {1} of {0}

    Separates conditions for an effect. If all conditions on EITHER side of the OR are true, the effect fires.

    Play card {0} choosing option {1}

    Records a card as played using a specific option, triggering its general and option-specific effects.

  • Conditions

    Option {1} on {0} play count {2} {3}

    Checks how many times an option has been clicked.

    On option {1} picked on {0}

    Triggers when the player selects a specific option.

    Option {1} on {0} is valid

    True if the option meets all of its metric and tag requirements.

  • Expressions

    OptionRequirementCount

    Number of lock requirements on an option.

    OptionReqTypeAt

    Returns 'metric' or 'tag' for the requirement at this index.

    OptionReqNameAt

    Returns the metric or tag name for the requirement at this index.

    OptionReqOperatorAt

    Returns the comparison operator (e.g. '>=') for the requirement at this index.

    OptionReqValueAsNumber

    Returns the target value as a number for the requirement at this index.

    OptionReqValueAsString

    Returns the target value as a string for the requirement at this index.

    GetOptionPlayCount

    Returns the number of times an option has been picked.

    OptionCount

    Get the number of options available on a card.

    OptionNameAt

    Get the name of an option on a card by its zero-based index.

    ForecastPlayText

    Returns a readable string (e.g. 'PlayerHealth +5') of what will happen when this card is played.

    ForecastOptionText

    Returns a readable string (e.g. 'health -10') of what will happen if this option is picked.

    ForecastOptionJSON

    Returns a JSON string of all effects that will trigger if this option is picked.

Effects & Turns

  • Actions

    Clear all effect rules from card {0}

    Removes all effect rules triggered by playing this card or picking any of its options.

    Start global effect {0} changing {1} {2} by {3} for {4} turns (Delay: {5})

    Starts a status effect. Duration determines how many times it ticks AFTER the delay finishes.

    Stop active effect {0}

    Instantly cancels an active or global effect.

    Advance Turn (Draw only from category {0})

    Increments turn, processes effects, and builds a deck using ONLY cards from a specific category pool.

    When {0} played: start effect {1} changing {2} {3} by {4} for {5} turns (Delay: {6})

    Schedules an effect over turns when a card is played. Duration starts ticking AFTER the delay finishes.

    When {0} played: set tag {1} to {2}

    Instantly sets a string tag to a specific value when this card is played.

    Advance Turn

    Increments turn, processes effects, rebuilds the deck, and draws a new card.

  • Conditions

    Effect {0} is active

    True if the specified status effect is currently running.

    On turn advanced

    Triggers immediately after the engine increments the turn and rebuilds the deck.

  • Expressions

    GetEffectRemainingTurns

    Returns how many turns an active effect has left to run.

    GetEffectValueChange

    Returns the numerical amount an active effect changes its target per turn.

    CurrentTurn

    Get the current turn number.

System & State

  • Actions

    Set maximum card history memory to {0} items (0 for infinite)

    Prevents memory leaks in endless games by forgetting the oldest played cards once the limit is reached.

    Soft Reset Engine State

    Clears metrics, tags, history, and active effects. Keeps the modified card database and effect rules intact (Good for starting a new round/chapter).

    Hard Reset Engine State (Wipes progress, keeps card database)

    Clears all run state and resets cards to base weights. Does NOT delete dynamically created cards or rules.

    Purge Engine (Total Wipe)

    Completely wipes all state, INCLUDING the card database and all effect rules. Use this to start from absolute zero.

    Load engine state from JSON string {0}

    Restores the game session from a saved JSON string.

    Download engine state to file {0}

    Downloads the current game state as a JSON file to the user's device.

  • Expressions

    GetStateAsJSON

    Returns the entire engine state as a JSON string for saving.