Addon ID

  • salmanshh_dhtn_manager

Info

Statistics

  • Download count6 total downloads
  • Latest download count 6 downloads of latest version
  • Average download count1 downloads per day average

Owners

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

Alert

  • Actions

    Add {1} stimulus to agent {0} with intensity {2} at {3}, {4}

    Adds a simple stimulus event. Use case: raise alert when a guard hears a noise.

    Add extended alert stimulus to agent {0} using {1}

    Adds a detailed stimulus from JSON. Use case: set custom decay and update world state in one call.

    Clear stimuli for agent {0}

    Removes current stored stimuli. Use case: reset sensory pressure after a scripted state change.

    Decay alert for agent {0} by {1}

    Lowers alert by a fixed amount. Use case: calm an agent after the player escapes.

    Set alert level for agent {0} to {1}

    Sets alert level directly from 0 to 1. Use case: force combat mode when player is spotted.

Builder

  • Actions

    Add compound task {1} for agent type {0}

    Adds or ensures a compound task node in the current builder draft.

    Add method {2} on task {1} for agent type {0}

    Creates a method branch on a compound task.

    Add condition {3} {4} {5} to method {2} on task {1} for agent type {0}

    Adds one world-state condition gate to a method.

    Add subtask {3} to method {2} on task {1} for agent type {0}

    Adds one subtask to a method in execution order.

    Add primitive task {1} with runtime id {2} for agent type {0}

    Adds a primitive task that resolves to one runtime task id.

    Add utility input key {1} weight {2} invert {3} points ({4},{5}) to ({6},{7}) for scorer {0}

    Adds one scorer input with a 2-point curve.

    Begin task-network draft for agent type {0} with root task {1}

    Starts a clean task-network draft for one agent type.

    Begin utility-scorer draft for scorer {0} with aggregation {1}

    Starts a clean utility-scorer draft.

    Clear task-network draft for agent type {0}

    Removes the in-progress task-network draft for one agent type.

    Clear utility-scorer draft for scorer {0}

    Removes the in-progress utility-scorer draft.

    Register built task-network draft for agent type {0}

    Finalizes and registers the current task-network draft.

    Register built utility-scorer draft for scorer {0}

    Finalizes and registers the current utility-scorer draft.

    Set scorer {3} for method {2} on task {1} for agent type {0}

    Links a utility scorer to one method branch.

Coordination

  • Actions

    Assign agent {0} to squad {1}

    Puts one agent in a squad. Use case: build patrol teams at layout start.

    Auto assign nearest free {2} slot in squad {1} to agent {0} from {3}, {4} max {5} ttl {6}

    Finds nearest free slot and reserves it. Use case: auto-pick closest cover for each squad member.

    Clear squad {0} state {1}

    Removes one shared squad key. Use case: clear temporary rally point after regroup.

    Invalidate plans for squad {0}

    Marks squad members stale for next planning update. Use case: tactic changed for full squad.

    Load slot positions for squad {0} type {1} from {2}

    Loads many slot positions from JSON array data. Use case: import a pre-authored cover map.

    Load slot positions for squad {0} type {1} from {2} key {3} agent {4}

    Loads slot positions from a world-state key. Use case: share dynamic slot maps through state data.

    Release slot {2} of type {1} in squad {0}

    Releases a reserved slot. Use case: free cover slot when an agent moves away.

    Remove agent {0} from squad

    Removes one agent from its squad. Use case: cleanup when an NPC is defeated.

    Request plans for squad {0}

    Requests immediate planning for squad members. Use case: execute synced reaction now.

    Reserve slot {2} of type {1} in squad {0} for agent {3} for {4} sec

    Reserves a squad slot with TTL. Use case: allocate unique cover nodes to avoid overlap.

    Set slot {2} of type {1} in squad {0} to {3}, {4}

    Defines one slot position from event-sheet coordinates. Use case: set cover node positions at layout start.

    {0} slot {3} of type {2} in squad {1} for agent {4} ttl {5}

    Combined reserve/release slot action. Use case: simplify event sheets while keeping full slot control.

    Set squad {0} leader to agent {1}

    Sets the leader agent for a squad. Use case: only leader chooses squad tactic.

    Set squad {0} state {1} to {2}

    Writes shared squad state. Use case: set tactic to flank_left for all members.

    {0} plans for squad {1}

    Combined invalidate/request squad planning action. Use case: choose delayed or immediate squad replan with one ACE.

  • Conditions

    Is agent {0} in squad {1}

    Checks current squad membership. Use case: run squad-only logic per agent.

    Is slot {2} of type {1} in squad {0} free

    Checks if a slot is available. Use case: only reserve cover if not already occupied.

    Is agent {0} squad leader

    Checks leader status in current squad. Use case: leader-only tactic writes.

    On slot released

    Triggered when a slot is released or expires. Use case: make slot visible as available again.

    On slot reserved

    Triggered when a slot gets reserved. Use case: update debug overlays for cover claims.

    On squad membership changed

    Triggered when an agent joins or leaves a squad. Use case: refresh squad HUD widgets.

    On squad state changed

    Triggered when shared squad key-values change. Use case: react when tactic flips.

  • Expressions

    AgentSquad

    Gets the squad ID for an agent. Use case: print squad tags in debug text.

    AssignedSlotId

    Gets assigned slot ID for an agent and slot type. Use case: drive movement to assigned cover node.

    CountSquadAgents

    Counts members in a squad. Use case: detect when reinforcements are needed.

    CountSquads

    Counts active squads. Use case: monitor coordination load.

    GetSquadAgentUIDByIndex

    Gets squad member UID at index. Use case: iterate members in a repeat loop.

    SlotOwner

    Gets owner UID of a slot. Use case: verify which agent owns a cover slot.

    SquadLeader

    Gets leader UID for a squad. Use case: route leader-only commands.

    SquadStateValue

    Reads one shared squad state key. Use case: followers read current tactic.

Debug

  • Actions

    Dump agent state for agent {0}

    Prints one agent snapshot in the console. Use case: quickly check world state and current plan.

    Set debug mode to {0}

    Turns debug logging on or off. Use case: inspect planner decisions while testing.

Performance

  • Actions

    Process planning now

    Runs one planning pass immediately. Use case: apply state changes now instead of waiting.

    Set manager enabled to {0}

    Turns processing on or off. Use case: disable AI while game menus are open.

    Set max agents per update to {0}

    Caps agents evaluated per update. Use case: smooth frame-time spikes with large NPC groups.

    Set planning interval to {0} seconds

    Sets time between planning passes in seconds for Interval mode. Beginner tip: try 0.1 first, then raise to 0.2 or 0.25 if you need more performance.

    Set planning mode to {0}

    Switches how often planning runs. Beginner tip: use Per frame while learning, then switch to Interval if frame rate drops with many agents.

    Set planning time slice to {0} seconds

    Sets max planning time allowed per update in seconds. Beginner tip: start at 0 (off), then try 0.001-0.003 if big AI spikes cause frame drops.

Planning

  • Actions

    Clear plan for agent {0}

    Removes remaining planned tasks. Use case: keep an agent idle until new orders arrive.

    Force task {1} for agent {0}

    Forces one task to run first. Use case: trigger a scripted reaction during a cutscene.

    Invalidate plan for agent {0}

    Marks a plan as outdated for next update. Use case: world changed but current task should finish.

    Pause planning for agent {0}

    Stops planning updates for one agent. Use case: freeze NPC AI while a dialogue plays.

    Request plan for agent {0}

    Builds a fresh plan right now. Use case: replan instantly after a major event.

    Resume planning for agent {0}

    Restarts planning for one agent. Use case: resume AI after a stun or cutscene.

Setup

  • Actions

    Clear world state {1} for agent {0}

    Removes one world-state key from an agent. Use case: clear last known target after search ends.

    Register task network for {0} from {1}

    Loads a task tree from JSON for one agent type. Use case: register guard AI at layout start.

    Register utility scorer from {0}

    Loads a utility scoring rule from JSON. Use case: tune attack vs retreat behavior by data.

    Set global state {0} to {1}

    Sets a value shared by all agents. Use case: toggle a global alarm state.

    Set world state {1} for agent {0} to {2}

    Sets one value for one agent. Use case: update health or target visibility each tick.

State

  • Conditions

    Has agent {0} world state key {1}

    True if a world-state key exists. Use case: guard logic when optional data may be missing.

    Is agent {0} paused

    True when planning is paused for that agent. Use case: skip AI updates during scripted moments.

    Is agent {0} planning

    True when an agent has work to do. Use case: branch events when an NPC is currently busy.

    Is agent {0} in alert tier {1}

    Checks the current alert tier name. Use case: run different events for suspicious vs combat.

    Is task network registered for {0}

    True when a task network is loaded for that type. Use case: verify setup before spawning agents.

    Is utility scorer registered for {0}

    True when a scorer ID is available. Use case: validate data packs before combat starts.

Triggers

  • Conditions

    On alert state changed

    Triggered when alert tier changes. Use case: change music or UI for suspicion/combat states.

    On plan failed

    Triggered when no valid plan is found. Use case: force an idle or safe fallback action.

    On plan interrupted

    Triggered when high-urgency input interrupts a plan. Use case: swap from patrol to combat immediately.

    On primitive task started

    Triggered when a primitive task begins. Use case: play movement or attack events for that task ID.

    On stimulus received

    Triggered when any stimulus is added. Use case: spawn investigation markers at stimulus coordinates.

    On task completed

    Triggered after task completion is reported. Use case: chain to the next animation state.

    On task failed

    Triggered when a task fails. Use case: run a fallback task or recovery behavior.

    On task network registered

    Triggered after a network loads. Use case: print setup success in debug events.

Queries

  • Expressions

    ActiveTask

    Current active task for one agent. Use case: show simple behavior labels above NPCs.

    AlertLevel

    Alert level value from trigger context. Use case: drive bar fill in a stealth meter.

    AlertTierIndex

    Numeric alert tier from trigger context. Use case: simple tier-based UI indicators.

    AlertTierName

    Named alert tier from trigger context. Use case: show readable debug text in HUD.

    CompletedTask

    Completed task ID from trigger context. Use case: reward points for finished objective tasks.

    CurrentTask

    Current started task ID. Use case: branch events by task name like patrol or chase.

    EvaluateScorer

    Returns scorer value for an agent now. Use case: graph utility output while balancing AI.

    FailedCompoundTask

    Compound task where planning failed. Use case: log broken network branches while testing.

    FailedTask

    Failed task ID from trigger context. Use case: retry or switch to a safer fallback action.

    GlobalStateValue

    Reads one shared global-state value. Use case: branch logic when global alarm is active.

    InterruptedTask

    Task that got interrupted. Use case: stop old animations cleanly before new behavior starts.

    InterruptScore

    Score that caused the last interruption. Use case: tune threshold to avoid over-reacting.

    NewTask

    New task after interruption. Use case: immediately start VFX for emergency reactions.

    PlanLength

    Remaining task count in the plan. Use case: detect when agents are close to idle.

    PlanTaskAtIndex

    Task ID at a plan index. Use case: preview next action for debugging UI.

    PreviousTask

    Previous task ID before current one. Use case: detect when behavior transitions happen.

    PreviousTierIndex

    Previous alert tier index. Use case: detect if alert increased or decreased.

    RegisteredAgentType

    Last registered agent type key. Use case: verify setup order in startup events.

    StimulusIntensity

    Stimulus intensity value. Use case: scale reaction speed by how strong the event was.

    StimulusType

    Stimulus type string from trigger context. Use case: react differently to sound vs visual cues.

    StimulusX

    Stimulus X coordinate. Use case: send NPC to investigate that position.

    StimulusY

    Stimulus Y coordinate. Use case: mark a noise location on minimap.

    TriggerAgentUID

    Agent UID from the latest trigger. Use case: pick the exact instance to move or animate.

    WorldStateValue

    Reads one world-state value for an agent. Use case: display health or awareness in UI.

Registry

  • Expressions

    CountAgents

    Current registered agent count. Use case: monitor AI population for performance tuning.

    CountRegisteredNetworks

    How many task networks are loaded. Use case: quick startup validation in debug builds.

    CountRegisteredScorers

    How many utility scorers are loaded. Use case: confirm balance data loaded correctly.

    CountRegisteredTasks

    Number of primitive tasks for one type. Use case: verify network content during setup.

    GetAgentUIDByIndex

    Gets agent UID by list index. Use case: loop through all managed agents.

    GetRegisteredTaskByIndex

    Gets primitive task ID by index. Use case: print all registered tasks to a debug panel.