Here is the reworked function
The Active Card Data Tables Array is a list of Data Tables types which you can add to whenever you create a new set.
This should resolve any potential issues with ordering or returning to soon before it can return your card. If you still have the issue after this, then some screenshots of your setup would help narrow this down. Feel free to post them here again or send them through the support email if you want to keep the content confidential.
Hope this helps!
Hey Necr0n99!
My first thought would be to add damage types to the damage call that you can then filter when a card is receives damage and optionally run On Damage abilities using this.
- Create a custom enum and add your damage types
- You will need to add this to a few function so it can be passed through:
a. CardInteraction_Interface -> TakesDamage Function
b. CardInteraction_FunctionLibrary -> DealDamageToCard -> and Add DamageType input to the function. you can them plug this into the Takes Damage function call.
-
In the AbilitiesFunctionLibrary -> Deal Retaliation Damage -> you should now have the ability to set the damage type. Set this to the Retaliation type.
-
In the 3D Card Blueprint, find the Takes Damage event (should be far right column) and you will see the Damage Type input there. All you will need to do is have a switch that will decide if this is retaliation damage, then skip any ability checks, for example like below.
This should remove the loop issue when both cards retaliate. Now if its retaliation damage then you know it will only happen once. All other damage can just be simple or you can add more types and do other cool mechanics/abilities.
Hope this helps!