Tech Tree XML

<?xml version="1.0" standalone="no"?>

<tech-tree>

  <description value="tech tree name goes here"/>

  <attack-types>
    <attack-type name="ie:slashing"/>
    <attack-type name="ie:piercing"/>
    <attack-type name="ie:energy"/>
  </attack-types>

  <armor-types>
    <armor-type name="ie:leather"/>
    <armor-type name="ie:plate"/>
  </armor-types>

  <damage-multipliers>
    <damage-multiplier attack="ie:slashing" armor="ie:plate" value="number were 1 is normal damage, 0.5 is half, etc"/>
  </damage-multipliers>

</tech-tree>

Faction XML

<?xml version="1.0" standalone="no"?>

<faction>

  <starting-resources>
    <resource name="ie:gold" amount="quantity of resources"/>
  </starting-resources>

  <starting-units>
    <unit name="ie:castle" amount="quantity of unit"/>
  </starting-units>

  < music value="true or false" path="music file path"/>

</faction>


Resource XML

<?xml version="1.0" standalone="no"?>

<resource>
  <image path="filepath to the bmp icon"/>
  <type value="ie:consumable">
  <interval value="number of seconds to wait before updating resource amount"/> 
  <model path="path to 3D model"/>
</resource>


Note: Resource XMLs change depending on the type value (consumable, static, tileset, etc;) look at magitech's resources for examples.

Upgrade XML

<?xml version="1.0" standalone="no"?>

<upgrade>
  <image path="image icon path"/>
  <image-cancel path="image cancel icon path"/>
  <time value="time required to upgrade"/>
  <unit-requirements>
    <unit name="units required to perform upgrade"/>
  </unit-requirements>
  <upgrade-requirements>
    <upgrade name="Previous upgrades required before upgrade can be initiated"/>
  </upgrade-requirements>
  <resource-requirements>
    <resource name="name of resource used for upgrade" amount="number of the resource"/>
  </resource-requirements>
  <effects>
    <unit name="Units affected by the upgrade"/>
  </effects>
  <max-hp value="0"/> The actual stat increases. Replace the zero with a number if you want to give a boost in that stat
  <max-ep value="0"/>
  <sight value="0"/>
  <attack-strenght value="0"/>
  <attack-range value="0"/>
  <armor value="0"/>
  <move-speed value="0"/>
  <production-speed value="0"/>
</upgrade>


Unit XML

<?xml version="1.0" standalone="no" ?>

<unit>
 <parameters>
  <size value="size of the unit" />
  <height value="The height of a unit" />
  <max-hp value="Maximum hit points" regeneration="rate of hp restore"/>
  <max-ep value="Maximum energy points" regeneration="rate of ep restore"/>
  <armor value="Armor value of unit" />
  <armor-type value="ie:wood (some weapons are more powerful against different types)"/>
  <sight value="Range of sight to react to other units" />
  <time value="time required to build the unit" />
  <multi-selection value="does double-clicking on unit multi-select other unit of same type" />
  <cellmap value="For Buildings, which Cells in a building a unit can pass through (0 can pass, 1 cannot).">
   <row value="ie:1011"/>
   <row value="ie:1011"/>
   <row value="ie:0000"/>
   <row value="ie:1011"/>
  </cellmap>
  <levels/>
   <level name="ie:elite, levels raise your stats" kills="kills needed to reach that level"/>
  </levels>
  <fields> The field of the unit
   <field value="ie:land" />
  </fields>
  <properties>
  <property value="burnable"/> Can a building be set ablaze
  </properties>
  <light enabled="false" /> Does the unit glow at night
  <unit-requirements>
   <unit name="unit required before making" />
  </unit-requirements>
  <upgrade-requirements>
   <upgrade name="upgrade required before making"/>
  </upgrade-requirements>
  <resource-requirements>
   <resource name="ie:wood" amount="amount needed (if negative, those resources are given to you)" />
  </resource-requirements>
  <resources-stored>
   <resource name="resources that can be stored (for buildings)" amount="amount that can be stored" />
  </resources-stored>
  <image path="path to icon"/>
  <image-cancel path="path to cancel icon"/>
  <meeting-point value="does the unit have a meeting point" image-path="path to icon"/>
  <selection-sounds enabled="sound heard when selecting unit (true or false)">
   <sound path="sound path" />
  </selection-sounds>
  <command-sounds enabled="sound heard when doing a command (true or false)">
   <sound path="sound path" />
  </command-sounds>
 </parameters>

 <skills>

  <skill> built skill, for building a unit
   <type value="be_built" /> 
   <name value="be_built_skill"/>  
   <ep-cost value="0" />
   <speed value="300" />
   <anim-speed value="300" />
   <animation path="model path" />
   <sound enabled="false" />
  </skill>

  <skill> stop skill, when character is idle
   <type value="stop"/>
   <name value="stop_skill"/>  
   <ep-cost value="0"/>
   <speed value="1000"/>
   <anim-speed value="45"/>
   <animation path="model path"/>
   <sound enabled="false"/>
  </skill>

  <skill> move skill, when character moves
   <type value="move"/>
   <name value="move_skill"/>  
   <ep-cost value="0"/>
   <speed value="200"/>
   <anim-speed value="200"/>
   <animation path="model path"/>
   <sound enabled="false"/>
  </skill>

  <skill> attack skill, character's attack
   <type value="attack"/>
   <name value="attack_skill"/>
   <ep-cost value="how much ep is required to use the skill (if any)"/>
   <speed value="60"/>
   <anim-speed value="60"/>
   <animation path="model path"/>
   <sound enabled="true" start-time="0">
    <sound-file path="sound path"/>
   </sound>
   <attack-strenght value="attack strength, the higher the number, the stronger the attack"/>
   <attack-var value="attack of unit (attack-strenght +- attack-var)"/>
   <attack-range value="range of attack, the higher the number, the further the range"/>
   <attack-type value="attack type"/>
   <attack-fields>
   <field value="field that can be attacked (land or air)"/>
   </attack-fields>
   <attack-start-time value="0"/>
   <projectile value="true">
    <particle value="true" path="path to projectile xml"/>
    <sound enabled="true">
     <sound-file path="path to the sound"/>
    </sound>
   </projectile>
   <splash value="true">
    <radius value="1"/>
    <damage-all value="true"/>
    <particle value="true" path="path to particle splash xml"/>
   </splash>
  </skill>

  <skill> produce skill, producing an unit
   <type value="produce"/>
   <name value="produce_skill"/> 
   <ep-cost value="0" />
   <speed value="300" />
   <anim-speed value="300" />
   <animation path="model path" />
   <sound enabled="false" />
  </skill> 

  <skill> upgrade skill, for doing upgrades
   <type value="upgrade"/> 
   <name value="upgrade_skill"/> 
   <ep-cost value="0" />
   <speed value="300" />
   <anim-speed value="300" />
   <animation path="model path" />
   <sound enabled="false" />
  </skill>

  <skill> morph skill, for morphing into another unit
   <type value="morph"/>
   <name value="morph_skill"/>  
   <ep-cost value="0"/>
   <speed value="500"/>
   <anim-speed value="80"/>
   <animation path="model path"/>
   <sound enabled="false"/>
  </skill>  

  <skill> die skill, must have for unit to be killed
   <type value="die"/>
   <name value="die_skill"/>  
   <ep-cost value="0"/>
   <speed value="60"/>
   <anim-speed value="60"/>
   <animation path="model path"/>
   <sound enabled="true" start-time="0">
   </sound>   
   <fade value="false"/>
  </skill>

 </skills>


 <commands>

  <command>
   <type value="stop"/>
   <name value="stop"/>
   <image path="path to icon image"/>
   <unit-requirements/>
   <upgrade-requirements/>
   <stop-skill value="stop_skill"/>
  </command>

  <command>
   <type value="move"/>
   <name value="move"/>
   <image path="path to icon image"/>
   <unit-requirements/>
   <upgrade-requirements/>
   <move-skill value="move_skill"/>
  </command>

  <command>
   <type value="attack"/>
   <name value="attack"/>
   <image path="path to icon image"/>
   <unit-requirements/>
   <upgrade-requirements/>
   <move-skill value="move_skill"/>
  </command>

  <command>
   <type value="attack_stopped"/>
   <name value="hold_position"/>
   <image path="path to icon image"/>
   <unit-requirements/>
   <upgrade-requirements/>
   <stop-skill value="stop_skill"/>
   <attack-skill value="attack_skill"/>
  </command>

  <command>
   <type value="produce"/>
   <name value="produce_unit_name" />
   <image path="path to icon image" />
   <unit-requirements />
   <upgrade-requirements />
   <produce-skill value="produce_skill"/>
   <produced-unit name="unit_name"/>
  </command>  

  <command>
   <type value="upgrade"/>
   <name value="upgrade_name"/>
   <image path="path to icon image" />
   <unit-requirements />
   <upgrade-requirements />
   <upgrade-skill value="upgrade_skill"/>
   <produced-upgrade name="upgrade_name"/>
  </command>    

  <command>
   <type value="morph"/>
   <name value="command_name"/>
   <image path="path to icon image"/>
   <unit-requirements/>
   <upgrade-requirements/>
   <morph-skill value="morph_skill"/>
   <morph-unit name= "unit_name"/>
   <discount value="the amount of resources return after the morph is complete"/>
  </command>

 </commands>
</unit>



Particle Project XML

<?xml version="1.0" standalone="yes"?>

<splash-particle-system>
   <texture value="true" path="path to bmp particle" luminance="true"/>
   <model value="true" path="model path"/>
   <primitive value="quad"/>
   <offset x="#" y="#" z="#"/>
Offset trail of the splash
   <color red="#" green="#" blue="#" alpha="#" />
Colour of the splash
   <color-no-energy red="#" green="#" blue="#" alpha="#" />
Colour of the splash with no energy
   <size value="size of the splash" />
   <size-no-energy value="size of the splash with no energy" />
   <speed value="speed of the splash" />
   <gravity value="how much gravity affects the splash"/>
   <emission-rate value="emission rate of the splash" />
   <energy-max value="##" />
   <energy-var value="##" />
   <emission-rate-fade value="rate of emission"/>
   <vertical-spread a="#" b="#"/>
How much the splash spreads vertically
   <horizontal-spread a="#" b="#"/>
How much the splash spreads horizontally
</splash-particle-system>

Particle Splash XML

<?xml version="1.0" standalone="yes"?>

<projectile-particle-system>
  <texture value="true" path="path to texture value" luminance="true"/>
  <model value="false"/>
  <primitive value="quad"/>
  <offset x="#" y="#" z="#"/> The fade or streak of the projectile (location)
  <color red="#" green="#" blue="#" alpha="#" /> Colour of projectile
  <color-no-energy red="#" green="#" blue="#" alpha="#" /> Colour with no energy
  <size value="Size of the projectile" /> 
  <size-no-energy value="Size with no energy" /> 
  <speed value="The projectile speed, bigger numbers is faster" /> 
  <gravity value="How much gravity affects the projectile"/> 
  <emission-rate value="The rate of emission in a streak" /> 
  <energy-max value="##" />
  <energy-var value="##" />
 
  <trajectory type="linear">
     <speed value="speed of the the trajectory"/>
  </trajectory>
</projectile-particle-system>


Note: the last part at trajectory type will change depending the tragectory type. Check out magitech's xmls to see how it looks. (Spiral is in summoner, parabolic is in archer)