XML/Projectile particle

From MegaGlest
Revision as of 17:43, 6 November 2008 by Daniel Santos (talk) (wording error)
Jump to: navigation, search

The Projection Particle XML defines the visual effects as well as part of the mechanics used to for ranged attacks between units.

<?xml version="1.0" standalone="yes"?>
<projectile-particle-system>
                                     <!-- A bitmap file used to map the alpha of the particles. -->
    <texture value="true" luminance="true|false" path=".../texture_name.bmp"/>
                                     <!-- Model used as the projectile. -->
    <model value="true|false" path=".../model_name.g3d"/>
    <primitive value="line|quad"/>
    <offset x="0" y="0.2" z="1"/>    <!-- Offset the origin of the attack; +X is to the right of the attacker, +y is
                                          above the attacker, +z is to the front of the attacker. Make no difference
                                          to the endpoint -->
                                     <!-- Starting color/transparency, ranges from 0-1  -->
    <color red="1.0" green="0.5" blue="0.0" alpha="0.5" />
                                     <!-- Ending Color, same range -->
    <color-no-energy red="0.0" green="0.0" blue="0.0" alpha="0.2" />
    <size value="6" />               <!-- size of texture when particle is created -->
    <size-no-energy value="4" />     <!-- size of texture when particle has emitted all energy -->
    <speed value="0" />              <!-- The speed (distance moved really) of the particle over their lifetime -->
    <gravity value="0"/>             <!-- How much particles are effected by gravity -->
    <emission-rate value="1" />      <!-- The amount of particles emitted -->
    <energy-max value="20" />        <!-- Maximum Energy -->
    <energy-var value="0" />         <!-- Variation -->

        <!-- The following trajectory type definitions are mutually exclusive -->

    <trajectory type="linear">
        <speed value="14"/>          <!-- Speed of the projectile - negative values and 0 have interesting, but not
                                          terribly useful effects.  Bug Notice: currently, in both Glest 3.1.2 and GAE
                                          0.2.8a, very high values for speeds may cause the engine to fail to detect a
                                          collision, resulting in an attack that both appears visually wrong and will
                                          not always (or ever) harm their intended targets. -->
    </trajectory>

        <!-- or -->

    <trajectory type="parabolic">
        <speed value="16"/>          <!-- Speed of the projectile -->
        <scale value="2.5"/>         <!-- Height of the parabolic arc -->
    </trajectory>

        <!-- or -->

    <trajectory type="spiral">
        <speed value="4.0"/>
        <scale value="1"/>           <!-- Width of the spiral -->
        <frequency value="0.5"/>     <!-- How often the spiral, uh, spirals -->
    </trajectory>

<!-- GAE Only  -->

        <!-- or -->

    <trajectory type="random">                <!-- Still fairly experimental, but used for lightening effects (has lots
                                                   of room for improvement!) This snippet taken from the FPM's
                                                   priestess unit (minus start-offset tag). -->
        <start value="sky"/>                  <!-- May be "sky", "self" (implied default) or "target", which is
                                                   currently of no use. -->
        <start-offset x="#" y="#" z="#"/>     <!-- Specify an offset from where the attack starts.  If start is "self",
                                                   offsets are relative to the orientation of the unit (may not be
                                                   implemented yet) -->
        <start-offset-var x="8" y="0" z="8"/> <!-- Allows you to randomize the offset of the start location of the
                                                   attack (does work) -->
        <tracking value="true"/>              <!-- Attack never misses target (will track target as they move).
                                                   This also counteracts the afore mentioned bug where very fast
                                                   attacks can fail to detect a collision. -->
        <speed value="100.0"/>
        <scale value="0.3125"/>               <!-- The degree to which the trajectory at each elbow may vary, 1 = 360
                                                   degrees (the example of 0.3125 being 112.5 degrees of possible
                                                   variance) -->
        <frequency value="8"/>                <!-- How often the attack particle system randomizes it's path. -->
    </trajectory>

<!-- /GAE Only  -->

</projectile-particle-system>

Back to XML_Definitions