Lots of questions today! I’m a bit pressed for time at the moment, but I’ll do my best.
Hmm, cannot immediately see what is wrong here. You have added multiple different changes, though. Could you try introducing the changes one by one and see at what point it breaks down?
You could add an enum holding your different elements. You could add a map of enum keys and float damage modification percentages to your unit blueprints. Add a damage type enum to your ability. Then in your ability (probably in ExecuteAbility), modify the damage you input to TakeDamage and the action queue you use to display the damage (remember that these values need to be identical). You can modify this by finding the target unit (If you look in ExecuteAbility in BP_AbilityAttack you can see how I get a reference through the GridUnits TMap), finding the damage modifier value in its enum/damage modifier TMap using the element of the ability as the key and multiplying the abilities base damage by this amount.
This is one of many ways to do this, but this was my immediate thought.
The game instance in ATBTT does extremely little at the moment. It is only used in the networked multiplayer menu. Changing this should not affect anything besides this. Definitely not the grenade ability. What exactly are you seeing there? Maybe it is the card game instance modifying and breaking something? I don’t see any reason why merging should not be possible, other than doing some work by copying over stuff from the projects’ respective game modes, game states etc.
Great to hear! Explains why I was not able to replicate the issue.
Player Starts should work. However, it is overridden by at BeginPlay. Remove the SetActorLocation in BeginPlay and using Player Starts should work, I believe. If bUseFollowCam is enabled in BP_GridManager the camera will then pan over immediately to the active unit.