This section deep-dives into the plugin's core gameplay communication layer. By utilizing these event dispatchers, you can interface your custom game logic (such as attributes, status systems, and resource spend) directly with the combat framework.


📡 1. The 3 Core Event Dispatchers Explained

Below is the breakdown of the 3 primary event dispatchers emitted by the component. Use this table as a reference to hook into your custom gameplay events.

image.png

Event Name Trigger Condition Practical Use Cases & Business Logic
ED_OnAttackStart Fires the exact frame a player or monster initiates any combat action (when the attack montage starts playing). Hook your existing attribute systems here to deduct character Stamina or MP based on the incoming Skill_ID.
ED_OnTakeHit Fires the exact frame an attack trace registers a hit and the collision volume overlaps/sweeps an enemy. This is the core entry point for your damage system! Connect your project's custom damage, defense, and health reduction logic right behind this event.
ED_OnDeath Fires when a character's health drops to zero, or when the execution of their death montage finishes. Ideal for triggering kill reward calculations, giving EXP/Gold drops, updating quest progress, or clearing AI threat tables.

🛠️ 2. Core Tutorial: Event Binding & Death State Feedback

To establish a proper combat loop, follow these blueprint integration steps inside your Character Blueprint:

🏃‍♂️ Step 1: Bind the Hit Event on BeginPlay

  1. Open your custom Character Blueprint and locate the Event BeginPlay node.
  2. Drag your assigned BPC_HandyCombatSystem component into the Event Graph.
  3. Drag off the component pin, search for, and add the Bind Event to ED_OnTakeHit node. Connect the execution line from BeginPlay to this Bind node.
  4. Drag off the red Event pin (the matching delegate circle input) on the Bind node, drag it to an empty space, and select Create Matching Event. The editor will automatically generate a custom event node containing all underlying combat struct inputs.

image.png

🤕 Step 2: Process Health Deductions & Return Death Status (Crucial)

When a weapon registers an overlap and the red event node fires, execute this closed-loop logic sequence:

  1. Apply Damage: Break or read the HitSendData struct from the event node, extract the numerical damage values, and subtract them from your character's current health/HP.
  2. Evaluate Death: Follow your health deduction with a Less Than or Equal (<= 0.0) check to evaluate if the character's HP has hit zero.
  3. Trigger Feedback: Drag a reference of your BPC_HandyCombatSystem component and call the Play Hit Reaction Montage function.