Gameplay Ability System - Custom ChanceToApplyToTarget

So I’ve managed to find a way to do what I was trying to do, but I’m not sure if it is the ‘recommended’ way. The Gameplay Ability System can feel overwhelming at times.



void UBaseToHitCalculation::Execute_Implementation(const FGameplayEffectCustomExecutionParameters& ExecutionParams, FGameplayEffectCustomExecutionOutput& OutExecutionOutput) const {

  int32 d20Roll = FMath::RandRange(1, 20);
  UE_LOG(LogTemp, Error, TEXT("D20 roll: %d"), d20Roll);


  if (d20Roll > 10) {
    FGameplayModifierEvaluatedData DamageModifier = FGameplayModifierEvaluatedData();
    DamageModifier.Attribute = URPGAttributes::GetHpAttribute();
    DamageModifier.ModifierOp = EGameplayModOp::Type::Additive;
    DamageModifier.IsValid = true;
    DamageModifier.Magnitude = -1.0f;
    OutExecutionOutput.AddOutputModifier(DamageModifier);
  }
}