Soulslike Framework Docs
  • Welcome to Soulslike Framework!
  • Framework Overview
    • About the Framework
    • Features & Systems
    • Before Purchasing
    • Personal Assistance
  • Getting Started
    • Setting up Animations
      • Setup Locomotion Blendspaces
      • Setup Custom Montages
    • Using the Utility Tools
      • Easy Setup Tool
      • Asset Creators
      • Asset Browsers
    • Actor Tags
    • Finding References
  • Workflow
    • Using a Custom Character
    • Creating & Editing Actions
    • Creating & Editing Stats/Attributes
    • Creating & Editing Status Effects
    • Creating & Editing Buffs
    • Creating & Editing Items
      • Creating & Editing Weapons
    • Creating an Enemy
    • Creating Cinematics
  • Animation Notifies
    • Damaging & Combo's
      • Register Attack Notify
      • Weapon Trace Notify
        • AI Weapon Trace Notify
      • Fist Trace Notify
        • AI Fist Trace Notify
      • Area of Effect Damage Notify
      • Spawn Projectile Notify
        • AI Spawn Projectile Notify
    • Defensive
      • Try Guard Notify
      • Hyper Armor Notify
      • Invincibility Frame Notify
    • Feedback
      • Weapon Trail Notify
        • AI Weapon Trail Notify
      • Camera Shake Notify
        • World Camera Shake Notify
      • Launch Field Notify
      • Chaos Field Notify
      • Footstep Notify
    • Miscellaneous
      • Input Buffer Notify
      • Interrupt Montage Notify
      • Camera Sequence Notify
      • Set Movement Mode Notify
      • AI State Notify
      • AI Rotate Towards Target Notify
      • Adjust Stat Notify
  • Components / Managers
    • Player Specific Components
      • Input Buffer
      • Action Manager
      • Combat Manager
      • Interaction Manager
      • Inventory Manager
      • Equipment Manager
      • Ladder Manager
      • Progress Manager
      • Save/Load Manager
      • Radar & Radar Element Components
      • Central Debug Component
    • Shared Components
      • Stat/Attribute Manager
      • Status Effect Manager
      • Weapon Collision Manager
      • Buff Manager
      • Loot Drop Manager
    • AI-Only Components
      • AI Interaction Manager
      • AI Behavior Manager
      • AI Combat Manager
      • AI Boss Manager
  • Extending Functionality
    • Using Motion Warping
    • Custom Saving/Loading
    • Adding New Settings
    • Extending Weapon Animsets
    • Weapon Specific Impact Sounds
    • Resetting Enemies After Resting
Powered by GitBook
On this page
  • How it Works
  • Example Usage

Was this helpful?

  1. Components / Managers
  2. AI-Only Components

AI Interaction Manager

PreviousAI-Only ComponentsNextAI Behavior Manager

Last updated 3 months ago

Was this helpful?

The AI Interaction Manager (AC_AI_InteractionManager) is responsible for handling NPC interactions, primarily focusing on dialogue and vendor logic. It determines which dialogue should be displayed based on the player's progress and displays the associated dialog entry upon interaction. Additionally, it allows NPCs to function as vendors, providing a seamless transition from dialogue into a shop or trade interface.

It is added to the Soulslike NPC (B_Soulslike_NPC) class by default.

How it Works

  • Dialogue Handling

    • Upon interaction with an NPC, the BeginDialog method is triggered. It ensures that a reference to the player's Progress Manager and the NPC’s Dialog Asset is valid before proceeding.

    • It fetches the appropriate Dialog Table based on the player’s progress and resets the dialog index to 0.

    • The dialog index is adjusted accordingly, either moving to the next line or exiting the conversation.

    • If the player exits mid-dialog, the system ensures that the dialog index is adjusted appropriately (so that entries that execute gameplay events cannot be re-triggered).

  • Executing Gameplay Events

  • Vendor Handling

    • Upon completing the last dialog entry, the system checks if the NPC has an associated vendor asset.

    • If a vendor asset is found, the NPC Window is set up, transitioning the player into the vendor/shop interface.

    • If no vendor asset is present, the conversation simply ends.

Example Usage

If the current dialog entry has an event, it triggers it via -> ExecuteGameplayEvent().

AC_ProgressManager