this is a spell system I have been thinking about for at least 1 year, now.
the intent of this magic system is to make rapid-development of new magic spells easy. It also includes the bonus of providing the option to introduce piece-wise magic to the player and allow them to create their own magic spells within their game.
this system would work like so:
all spells are made up of parts, and the order of the parts dictate how the spell effects occur.
<damage> - this would be something like do 2 fire damage
<influence area>
-default is your current position
other areas:
-spot touching me
-single spot
-line terminating in spot (with bounce on walls or not)
-arc on a circle at radius r
-all cardinal or diagonal lines out to distance n.
-closest non-selected enemy within distance n
<effect>
-something like apply a modifier to the entities this spell affects (like teleport, haste, heal... etc.)
-can apply effects to the ground it lands on, as well (e.g. slow monsters that touch here within the next n turns)
then I can chain items together to create different spells
<influence:line terminating in spot, no bounce> <damage:2d5 fire damage> <effect:burned for 5 turns>
<influence:line terminating in spot, no bounce> <effect:teleport to random location>
that way I can easily just create new parts of spell effects, then they can be put together in interesting ways.
for example, the self teleport spell would be very simple:
<effect:teleport>
but I could also make a teleport enemies around me spell
<influence:arc of 2PI at 1 distance><teleport>
the cost of a spell would be based upon the parts that make it up.
teleport by itself might cost merely 3mp, but adding an arc influence at distance 1 is a 20mp increase.
or I could just do that each individual piece 1, 2, 3, 4 costs a multiplier more than that which was before it. So if I wanted to deal fire damage to someone next to me, I could create a spell like:
<influence:spot touching me><fire damage><fire damage><fire damage>
then when I learn a higher level fire damage spell, I could substitute that out:
<influence:spot touching me><fire damage 2><fire damage 2><fire damage 2>
I might even be able to let the player learn different parts, then construct and save their favorite spells. This system could prove very powerful. As you can learn how to summon fire, then learn separately how to throw magic, and now you can make a fireball spell. I also think that is a lot closer to how it would work to learn new spells. Learn the pieces, put them together.
the game could still come with pre-packaged spells. It is inevitable that some sorcerers would get so advanced at creating spells that they find shortcuts to put pieces of spells together.
the more you use a specific part of a spell... e.g. fling magic in a line... the better you would get at that part... that can make things like your distance to fling, time cost, mana cost all improve.
One could also make the game even generate random spells when a new game is made!
I might also make casting time dependent upon the sum of all parts of the spell's time costs.
I think the system wouldn't be too complicated to implement, either.
I'm working on implementing this system in my
jsZombie game. Which, consequently, will be greatly changed in terms of content. I'll keep everyone updated!
Anyways... back to developing!