I'm looking into using the Gameplay Ability System (GAS) for my turn-based RPG but facing some dilemmas with handling Gameplay Effects' durations. I've identified two main approaches:
Component-Based Approach: I could create a separate Gameplay Effect Component that specializes in turn-based durations. This would involve storing a reference to the effect in my Ability System subclass and manually managing its application and removal. It's modular and doesn't require plugin modification, but it feels like a workaround.
Plugin Modification: Another option is to directly modify the GAS plugin code to include a variable for turn-based durations. This would simplify the logic for effect application and removal, but it poses a risk of unforeseen consequences and deviates from the vanilla plugin.
Given these complexities, and considering that my game is single-player, I'm pondering the idea of bypassing GAS altogether. I could then build a streamlined system specifically designed for a turn-based environment, eliminating unnecessary complexities like prediction and replication.
So, I'm at a crossroads and could use some insights. Should I go for one of the existing options or venture into developing my own custom solution?