Hi,
This system might take a while to explain properly, so bear with me:
Characters don't have individual MP scores. Instead, the party has a shared MP pool that everyone uses. Regardless of who casts the spell, it comes out of the pool. If it's empty, nobody can cast anything.
That's the simple part, and if it stopped there I'd just take a shot at coding it myself, but I want something slightly more in-depth.
What I want is four pools. The spells are divided into four categories (elements, schools, whatever) and each one draws from its corresponding MP pool. So, for example, a character casts Fireball, it costs 5 MP, it's a Fire spell, so the Fire MP pool goes down by 5. Next character does the same thing, reducing it by a further 5. If this goes on for long enough, the Fire MP pool will be exhausted and nobody will be able to use Fire spells of any kind until it's restored.
As for the pools themselves, if they were just held in database variables that would be ideal.
Thanks to anyone who can help me out with this.