I have been desinging and implementing the new spell casting system in my new rpg game which i been working on the side, although i am not ready to go into detail about the game itself i am kind fond of its spell system where the designer will be able to write the spell in XML and the game will understand what you want to do.
Its essentially a script system but its quite simple and is something that you do on the XML itself making it quite easy to edit or create a new spell.
Here is an example of the wizards firebolt spell:
<Skill Id=”Firebolt” Type=”Ability” Icon=”../Content/Icons/Law and Order.jpg” Description=”Instantly kills an enemy unit however the victim is allowed to roll a save vs death.”>
<Script Id=”Event” EventId=”Casted” >
<Script Id=”Check” Value=”LineofSight” />
<Script Id=”Check” Value=”Range” Min=”1” Max=”6” />
<Script Id=”Projectile” Receiver=”Enemy” >
<Script Id=”Event” EventId=”OnImpact”>
<Script Id=”Damage” DamangeType=”Magical” Value=”1” MultiplierId=”HeroLevel” MultiplierValue=”+1” Receiver=”Enemy” />
</Script>
</Script>
</Script>
</Skill>