WCGASDiminishingData is a Data Asset that defines diminishing returns rules for the Wonderscape Creations GAS Ally plugin. It allows designers to configure how actors progressively resist repeated applications of the same effect type without writing any C++ code, enabling fully designer-driven diminishing returns mechanics. When an actor receives multiple applications of a tracked effect within a time window, the system grants increasing resist chances, culminating in temporary full immunity.
DA_StunDiminishing, DA_CCDiminishing, DA_SlowDiminishing)flowchart TD
A["Effect Applied to Actor"] --> B{Has DR Rules?}
B -->|"No"| C["Effect Applies Normally"]
B -->|"Yes"| D["Find Matching Rule"]
D --> E{Rule Found?}
E -->|"No"| C
E -->|"Yes"| F["Prune Expired Applications"]
F --> G["Record Application Timestamp"]
G --> H{Threshold Reached?}
H -->|"No"| I["Effect Allowed - Continue Tracking"]
H -->|"Yes"| J["Roll Against Resist Chance"]
J --> K{Roll Succeeded?}
K -->|"No"| I
K -->|"Yes"| L{Is 100% Threshold?}
L -->|"No"| M["Set Pending Block for Next Application"]
L -->|"Yes"| N["Grant Full Immunity + Start Timer"]
N --> O["Block All Applications Until Timer Expires"]
O --> P["Timer Expires"]
P --> Q["Remove Immunity + Reset History"]
style A fill:#4a90e2,stroke:#2171b5,color:#fff
style N fill:#d15858,stroke:#e74c3c,color:#fff
style Q fill:#41a161,stroke:#228b22,color:#fff
style M fill:#7b68ee,stroke:#6a5acd,color:#fff
WCGASResistanceComponent to your actorDiminishingData propertyDiminishingHistoryTimeWindowSeconds are pruned before threshold checksResistChancePercent