I've coded the basic structures to be used by magic. Then I'll need to add editors and save/load... after this I can just start glutting the game with magic.
Right now this is how it works:
The Spell Editor will produce spell templates. A spell template is the skeleton of a spell -- it consists of a list of steps. At the end of each step, there is a number telling the spell which step to do next. During each step, the spell does an effect. These effects will set targets on fire and so on. Or they will designate targets... or they will set triggers that will cause the spell to jump to a step if something happens... that kind of thing. Effects are the basic unit of the spell.
What a spell template does NOT include is any information about what the caster needs to do. This is where the magical arts come in.
An art consists of spell templates, effect definitions, and power sources.
Power sources can be things like rituals, or the caster's blood/energy/body parts, etc.
Effect definitions tell what types of constraints the art puts on the spell template -- perhaps the spell template says to target 1 to 10 opponents, but the constraint says that you actually only get 1 target for every 10 skill points. Effect definitions also include additional effects -- these effects are things like miscast effects, side effects, and simple appearance effects (flashes of light, etc.). All of these effects have their own effect definitions in the art.
The reason for setting things up this way is that we want any magical art to be able to use a given spell template. We'll then use effect definitions to flesh out the effects of a spell to give the art its own flavor.
Effects, power sources, spell templates, and the magical art itself can all be linked to skills. So you can get better at "Pyromancy" (art), "Fireball" (spell), "Invoke Fire" (effect), and "Blood Sacrifice" (power source). Different spells could share the same effects and power sources. These different skills are analogous to combat styles and technique skills that are already in the game.
I'm also adding custom skill and attributes. In this way, many different magical arts could be related if you want. Each magical skill above also has skill requirements, so you might be required to learn certain skills (possibly non-magical skills) to advance. These could be used to tie combat styles and magical arts together. Custom attributes could be things like "purity", "virtue", "cleanliness", "fire nature", blah blah blah -- these could all play a role as well.
In the end, the next version will have five new editors:
The Spell Template Editor
The Magical Art Editor
The Custom Skill Editor
The Custom Attribute Editor
The Universe Definition Editor
This last editor will move a lot of the creation data from the title screen into an editor where it belongs.