So I am thinking about how to implement the combat system in my RPG, thought I might run some ideas past the crowd to see if they are sensible / stupid. It's fairly basic at the moment, want to get it working before making it more complex!
(Oh, should mention: there is no hand-to-hand (or sword-to-hand) combat in my game, it's not about swords and dungeons, so basically just about everything can be classed as "magic")
I'd like to consider each "spell" - I call them "ability" - as being a synthesis of traits. A "trait" consists of a type of attack (might be "fire" or "electricity"), and a skill level at that. So for example a hand grenade might have the traits {physical,fire} and so the damage it inflicts will be a combination of the damage from the individual traits.
I intend to implement "luck" in a slightly different way from what seems to be standard. Basically I will consider luck to be 100%-skill. Luck will shift the computed damage around. At low luck levels (ie high skill levels) rather than having a symmetric normal distribution (or far worse, uniform), the distribution will be skewed so that a boost of some percentage is much more likely than a cut. At low skill levels, the skew in the distribution flips - you are more likely to reduce the computed damage. At 50% luck, the distribution is effectively normal and symmetric.
Doing damage (or healing, or winning a battle, or...) gains players experience points, and those EXP eventually yield players tokens to upgrade their skill level in particular traits ("Child of Light" style in a graph). Each player in the team has a slightly different multiplier for exactly how much their skill increases when they buy a token for it (the trait "affinity") as well as a personal maximum for that trait. So although each player can develop any skill, it will pay to consider their skills.
Big question I'm starting to ponder: given a set of mechanics, how does one determine the order of upgrade nodes in the development graph(s)?