
public class FXEnergy extends FX
{
    FXEnergy()
    {
        Sequence ("FXEnergy");
        {
            SeqDurationDyn ("fFXSeqDuration");

            Expl();
            {
                Texture("FXTexEnergy");
                TextureRepeat(1000);
                Duration(100000);

                BlendMode(_BLEND_ADD);

                TowardsToCamera(0);
                Size();
                {
                    vDyn("fFXSizeX", "fCurrRange");
                }
                Position();
                {
                    vDyn("fFXZero","fFXZero", "fFXPosY");
                }
                Alpha();
                {
                    v(1);
                }
                Rotation();
                {
                    vDyn("fFXRotationX", "fFXRotationY", "fFXRotationZ");
                }
            }
        }
        
        Sequence ("FXEnergy2");
        {
            SeqDurationDyn ("fFXSeqDuration");

            Expl();
            {
                Texture("FXTexEnergy");
                TextureRepeat(1000);
                Duration(100000);

                BlendMode(_BLEND_ADD);

                TowardsToCamera(0);
                Size();
                {
                    vDyn("fFXSizeX", "fCurrRange");
                }
                Position();
                {
                    vDyn("fFXZero","fFXZero", "fFXPosY");
                }
                Alpha();
                {
                    v(1);
                }
                Rotation();
                {
                    vDyn("fFXRotationX", "fFXRotationY2", "fFXRotationZ");
                }
            }
        }

        Sequence ("FXEnergy3");
        {
            SeqDurationDyn ("fFXSeqDuration");

            Expl();
            {
                Texture("FXTexEnergy");
                TextureRepeat(1000);
                Duration(100000);

                BlendMode(_BLEND_ADD);

                TowardsToCamera(0);
                Size();
                {
                    vDyn("fFXSizeX", "fCurrRange");
                }
                Position();
                {
                    vDyn("fFXZero","fFXZero", "fFXPosY");
                }
                Alpha();
                {
                    v(1);
                }
                Rotation();
                {
                    vDyn("fFXRotationX", "fFXRotationY3", "fFXRotationZ");
                }
            }
        }

        Sequence("FXEMPHit");
        {
            SeqDuration(3000);
            ParticleSystem("FXEMPHit");
            {
                EmiterLifeTime(3000);
                
                EmiterParticleCount(20);
                EmiterSize(3,3);
                
                EmiterContinuous(0);
                ParticleDirVariation(360,360);
                ParticleRandomVelocity(300,1500);
                ParticleLifeTime(2700);
                ParticleMass(0.5f);
                ParticleForce(_GRAVITY);
                ParticleTrailLength(5);
                ParticleTrailWidth(6);
                ParticleTrailTexture("FXTexIskra");
                ParticleTrailBlendMode(_BLEND_ADD);					
                
                
                Particle(_PARTICLE_QUAD);
                {
                    Texture("FXTexIskra");
                    BlendMode(_BLEND_ADD);
                    TowardsToCamera(1);
                    Size();
                    {
                        v(0,0);
                        
                        Rotation();
                        {
                            v(0,0,0);
                            
                        }
                        
                        
                        
                    }
                }
            }
            
            
        }
        
        Sequence("FXBeamElectro");
        {
            SeqDuration(400);
            
            Expl();
            {
                TowardsToCamera(0);
                Texture("FXTexElectroBeam");
                
                Size();
                {
                    //vDyn( "fFXSizeX", "fFXSizeY");
                    v(40,40);
                    v(20, 20);
                }
                
                Position();
                {
                    v(0,0, 1500);
                    v(0,0, 2250);
                    //vDyn("fFXZero","fFXZero", "fFXPosY");
                } 
                Duration(400);
                BlendMode(_BLEND_ADD);
                
            }
            
            
            Expl();
            {   
                TowardsToCamera(0);
                Texture("FXTexElectroBeam");
                
                Rotation();
                {
                    v(-90, 0, 0);
                    v(-90,90, 0);
                }  

                Size();
                {
                    //vDyn( "fFXSizeX", "fFXSizeY");
                    v(40, 3000);
                    v(20, 1500);
                       
                }
                
                Position();
                {
                    v(0,0, 1500);
                    v(0,0, 2250);
                    //vDyn("fFXZero","fFXZero", "fFXPosY");
                }                

                Duration(400);
                BlendMode(_BLEND_ADD);
            }
            Expl();
            {   
                TowardsToCamera(0);
                Texture("FXTexElectroBeam");
                
                Rotation();
                {
                    v(-90, 90, 0);
                    v(-90,180, 0);
                }  

                Size();
                {
                    v(40, 3000);
                    v(20, 1500);
                }
                
                Position();
                {
                    v(0,0, 1500);
                    v(0,0, 2250);
                }                

                Duration(400);
                BlendMode(_BLEND_ADD);
            }
        }
    }
}