Well, after researching, I decided to use a priority event queue sorted by activation frames to create attacks. With that way, I don't need to keep multiple attack counters with each entity since everything is processed on a queue.