The magic in Elemental is somewhat lacking the "elements" bit.
Right now the shards (well, once that system is fixed/implemented) are only a damage multiplier for generic, physical damage.
And it could be done, even now. All units need hidden stats for their Damage Vulnerability. And the spell damage needs to use them.
Simply a damage modifier to the existing physical defense.
Such as a fire giant having
Vulnerability.Fire = 0,4
Vulnerability.Water = 2,0
A normal soldier would have
Vulnerability.Fire = 1,0
Vulnerability.Water = 1,0
These can be used for the damage calculation (or debuff duration or whatnot) for elemental spells so a fire spell is always multiplied by the target unit's Vulnerability.Fire.
Of course the same system can be used to create "resist gear", like a really thick and fluffy cloak to protect from ice spells...
See? That would be even better and more variable than the old MoM system! Choke on that, MoM fans! =P
I'm not convinced that further differenciation of the physical damage types (blunt/pierce/slash) would really add much to the game beyond needless complexity and micromanagement.
The magic vulnerabilities could and should stay "behind the scenes" values for the player to figure out.
Some are obvious classics, like extinguishing fire giants with water spells, but enemy units should not pop up windows like
"Hi, I am a giant spider! My vulnerability to ice spells is 170% ! Please hit me with ice spells ! "
That would be so... unmagical.
Displaying physical defense is okay. You can see when the soldier is covered in heavy plate from head to toe.
While I really love statistics, they are not always optimal for "magical" issues. Reducing magic to a spreadsheet would be doing it a disservice.
- You can have magic immunity or resist buffs/debuffs by having an enchantment that alters Vulnerability.Water +5 or * 1,5
- You can have "magical creatures" that are very resistant to magic but weak physically. Beholders? Just give them low magical vulnerabilities all across the board.
Our magic-immune Roland the Paladin would have Vulnerability.whatever = 0,01
- You want zombies that are easy to dispatch/control with magic but hard to hack down? Give them high defense but high vulnerability to magical damage....
- Undead that disease you with melee attacks and make you more susceptible to death magic...
- There could be unit buffs to give them flamig swords and let them do fire damage instead or in addition to physical.
- Earth could be different because it would be the most "physical" magic book and very good for otherwise "magic immune" critters.
A big rock incoming at high speed is not very "magical". It just hurts a lot.
Vulnerability.Earth would almost always stay 1,0 except maybe for brittle things that are prone to... shattering. Crystal or ice golems come to mind...
- Global strategic and tactical effects can be modeled if you allow like a tactical "Darkness" spell. It increases Vulnerability.Death and lowers
Vulnerability.Life, of all units on the battlefield helping your undead hordes. The default value, which all elemental spells would be multiplied in the spell.XML, would be 1,0.
So spells operate normally... until altered.
- In some game systems, "healing" undead with life magic hurts or destroys them. So a positive buff/heal, hurts the counter element.
That's needless complexity to code but what can be done easily is...
For rare and "extremely attuned" cases like a fire elemental, they could have a negative Vulnerability.Fire, say -0,1.
A fire elemental hit by a fireball or standing in a wall of fire would take negative damage, effectively healing it. That would make for an interesting
"all fire" strategy where your frontline troops were elementals who would love nothing more than your (or their own) fiery AOE spells in their ahh... workspace.