As I am developing the spell system for Dragonia from scratch, I will use this thread to document it. The Dragonia spell system will entirely coded to the SDK, with the spells themselves being defined in XML. This will make it easy to create new spells, and maintain a high level of performance. The XML file to be used to define the spells will be Civ4CommandInfos.xml (As was already initally used by Dragonia II Beta 1) Civ4CommandInfos.xml will contain the following fields: Spoiler : Type - The spell Key Description - Link to the description text key Help - Link to the help key HotKey bAltDown bShiftDown bCtrlDown iHotKeyPriority HotKeyAlt bAltDownAlt bShiftDownAlt bCtrlDownAlt iHotKeyPriorityAlt iOrderPriority Automate bConfirmCommand bVisible bAll Button - Button graphics file location PromotionPrereq - Promotion prerequisite required to cast the spell PromotionPrereqAnd - Second promotion prerequisite required to cast the spell bTargetSelf - Indicates whether the spell targets only the caster iTargetRange - The spell range. 0 = local plot, 1 = adjascent plot iTargetMaxUnits - The maximum number of units that can be targetted. -1 = infinite ConjureUnit - A Link to a unit that is conjured by the spell TargetPromotion - A link to a promotion that is given to the target unit(s). If the spell conjured a unit, that unit will receive this promotion. bRemovePromotion - If true, the target promotion will be removed from target unit(s) instead of added iTargetDamageMin - Minimum amount of damage applied to target unit(s) iTargetDamageMax - Maximum amount of damage applied to target unit(s) EffectType - Link to visual effect to display on screen when spell is cast CommandSound - Link to Audio 3D script to play when spell is cast Currently I have comleted the conjuration of units, and the application/removal of promotions to the caster. Next, I am working on targetting a tile.