add blueprints
This commit is contained in:
59
docs/blueprints/08-weapons/79_BPC_ShieldDefenseSystem.md
Normal file
59
docs/blueprints/08-weapons/79_BPC_ShieldDefenseSystem.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# BPC_ShieldDefenseSystem — Actor Component
|
||||
|
||||
**File:** [`Content/Framework/Weapons/BPC_ShieldDefenseSystem`](Content/Framework/Weapons/BPC_ShieldDefenseSystem.uasset)
|
||||
**Parent Class:** `UActorComponent`
|
||||
**Dependencies:** [`BPC_DamageReceptionSystem`](BPC_DamageReceptionSystem.md), [`BPC_StaminaSystem`](../02-player/09_BPC_StaminaSystem.md)
|
||||
|
||||
**Purpose:** Manages defensive tools: shields, blocking, parrying. Works in both melee and ranged defense contexts.
|
||||
|
||||
---
|
||||
|
||||
## Variables
|
||||
|
||||
| Name | Type | Description |
|
||||
|------|------|-------------|
|
||||
| `bIsBlocking` | Bool | Block active |
|
||||
| `BlockDamageReduction` | Float | % reduction while blocking (0.0–1.0) |
|
||||
| `ParryWindow` | Float | Perfect parry timing window in seconds |
|
||||
| `ShieldDurability` | Float | Current shield durability (0 = broken) |
|
||||
| `MaxShieldDurability` | Float | Maximum durability |
|
||||
| `BlockAngle` | Float | Max angle from forward vector for block to cover |
|
||||
| `StaminaCostPerBlock` | Float | Stamina drain per blocked hit |
|
||||
| `bCanParry` | Bool | Whether parry mechanic is enabled |
|
||||
|
||||
## Functions / Events
|
||||
|
||||
| Name | Inputs | Outputs | What it does |
|
||||
|------|--------|---------|--------------|
|
||||
| `BeginBlock` | — | — | Raises shield, starts blocking |
|
||||
| `EndBlock` | — | — | Lowers shield, ends blocking |
|
||||
| `ProcessHit` | Damage: S_DamageEvent | Bool (blocked) | Evaluates if hit was blocked or parried |
|
||||
| `TryParry` | — | Bool | Checks if parry window is active |
|
||||
| `BreakShield` | — | — | Reduces durability to 0, triggers break anim |
|
||||
|
||||
## Event Dispatchers
|
||||
|
||||
| Name | Parameters | Fired when |
|
||||
|------|-----------|-----------|
|
||||
| `OnBlockStarted` | — | Shield raised |
|
||||
| `OnBlockEnded` | — | Shield lowered |
|
||||
| `OnHitBlocked` | Damage: S_DamageEvent | Incoming hit blocked |
|
||||
| `OnHitParried` | Instigator: Actor | Perfect parry executed |
|
||||
| `OnShieldBroken` | — | Durability reaches 0 |
|
||||
|
||||
---
|
||||
|
||||
## Communications With
|
||||
|
||||
| Target System | Method | Why |
|
||||
|---------------|--------|-----|
|
||||
| `BPC_DamageReceptionSystem` | Interface hook | Intercepts incoming damage |
|
||||
| `BPC_StaminaSystem` | Direct `ConsumeStamina` | Stamina cost per block |
|
||||
| `BPC_HitReactionSystem` | Direct | Triggers parry follow-up window |
|
||||
| `ABP_PlayerBody` | Animation Notify | Block/parry animation states |
|
||||
|
||||
## Reuse Notes
|
||||
|
||||
- ParryWindow drives a perfect-parry mechanic; set to 0 to disable parries
|
||||
- BlockDamageReduction is per-shield from DA_WeaponData or DA_EquipmentConfig
|
||||
- Shield durability adds wear mechanic; set MaxShieldDurability to 0 for indestructible shields
|
||||
Reference in New Issue
Block a user