<aside> <img src="/icons/key-antique_gray.svg" alt="/icons/key-antique_gray.svg" width="40px" />


<aside> <img src="/icons/triangle-alternate_gray.svg" alt="/icons/triangle-alternate_gray.svg" width="40px" />

Damage Logic and Visuals

</aside>


The MHS utilizes a Data-Driven architecture to manage visual feedback. This approach decouples programming logic from artistic design, centralizing visual configuration within a single Data Table.


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

1. Visual Centralization (DT_Visual_Data)

</aside>


The entire visual identity of the system resides in a master Data Table.

<aside>

Asset: 🟦 DT_Visual_Data.

When the system processes damage, it queries this table to render the result on screen, avoiding the use of static values or direct dependencies within Blueprints.


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

2. Floating Damage System

</aside>


To display damage amounts, the system does not use simple screen widgets but rather physical actors for better depth management and occlusion.

<aside>


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

3. Color Logic & Feedback

</aside>


Upon receiving an impact, the system triggers visual responses that follow different logic for Particles vs. Numbers:

<aside>

A. Particles (Health Context)

Particle systems (Niagara/Cascade) react to the Actor State or the layer receiving damage:

<aside>

B. Floating Numbers (Elemental Context)

In the Standard state, the number's color does not depend on whether it hit health or shield, but on the attack's Element defined in DT_Visual_Data.


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

4. Impact States (Status_Type)

</aside>


Logical behavior upon impact is defined via the enum variable 🟩 Status_Type:

<aside>

<aside>

<aside>


<aside> <img src="/icons/triangle_lightgray.svg" alt="/icons/triangle_lightgray.svg" width="40px" />

5. Weak Points

</aside>


For critical zone detection, the system uses a modular approach.

<aside>

Component: 🟦 BP_Weak_Point (Child Actor).