Ability System and state storage

Hi all,

I’m busy experimenting with something that implements a system similar to ActionRPGs ability system, but I’ve hit a little snag.

Since the abilities are data objects that can be shared among several actors. How does one store state variables particular to that ability for a specific actor?

ie. Lets say that the ability is a fire ball, and I want to store an ammo count or that the fire ball has been charged up? You can’t have those state values on the ability data object because that’ll be shared among all users.

I was thinking about using blackboards, but they seem to be particular to behaviour trees.

Any suggestions?