Matrixlike datatype to store attack type<-> armor type interaction value?

Perhaps this might help: UE5 How To Use A Custom Struct As TMap Key – Unreal C++ API

Then define in a Data Asset.

//.h
UCLASS(BlueprintType)
class _API UAttackTypeDataAsset : public UDataAsset
{
	GENERATED_BODY()
public:
	UPROPERTY(EditAnywhere)
		TMap <FAttackTypeStruct, float> DamageMultiplier;
};