//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//
//
// Construction Effect
//
//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//
datablock ParticleData(construct_P)
{
   canSaveDynamicFields = "1";
   dragCoefficient = "0";
   windCoefficient = "0";
   gravityCoefficient = "0";
   inheritedVelFactor = "0";
   constantAcceleration = "0";
   lifetimeMS = "2100";
   lifetimeVarianceMS = "0";
   spinSpeed = "0";
   spinRandomMin = "-92";
   spinRandomMax = "60";
   useInvAlpha = "1";
   animateTexture = "0";
   framesPerSec = "1";
   textureName = "assets/data/effects/effecttextures/smoke.png";
   colors[0] = "0.71 0.57 0.3 0";
   colors[1] = "0.71 0.57 0.25 0.8";
   colors[2] = "0.8 0.57 0.2 0.3";
   colors[3] = "1 1 1 1";
   sizes[0] = "1.31";
   sizes[1] = "5.25";
   sizes[2] = "2.57";
   sizes[3] = "1";
   times[0] = "0";
   times[1] = "0.5";
   times[2] = "1";
   times[3] = "1";
   allowLighting = "0";
   constrainPos = "0";
};
datablock ParticleEmitterData(constructParticleEmitterData) 
{
   canSaveDynamicFields = "1";
   className = "ParticleEmitterData";
   receiveLMLighting = "1";
   ejectionPeriodMS = "290";
   periodVarianceMS = "90";
   ejectionVelocity = "0";
   velocityVariance = "0";
   ejectionOffset = "0";
   ejectionDistance = "0";
   thetaMin = "14.4";
   thetaMax = "162";
   phiReferenceVel = "0";
   phiVariance = "360";
   overrideAdvance = "0";
   orientParticles = "0";
   orientOnVelocity = "1";
   particles = "construct_P";
   lifetimeMS = "0";
   lifetimeVarianceMS = "0";
   useEmitterSizes = "0";
   useEmitterColors = "0";
   emitterType = "disc";
   ejectionInvert = "0";
   fadeColor = "0";
   fadeSize = "0";
   fadeVelocity = "0";
   fadeOffset = "0";
   vector = "0 0 1";
   spreadMin = "0";
   spreadMax = "0";
   pathOrigin = "origin";
   radiusMin = "0";
   radiusMax = "6";
};
datablock ParticleEmitterData(constructsmParticleEmitterData)
{
   canSaveDynamicFields = "1";
   className = "ParticleEmitterData";
   receiveLMLighting = "1";
   ejectionPeriodMS = "400";
   periodVarianceMS = "0";
   ejectionVelocity = "0";
   velocityVariance = "0";
   ejectionOffset = "0";
   ejectionDistance = "0";
   thetaMin = "14.4";
   thetaMax = "162";
   phiReferenceVel = "0";
   phiVariance = "360";
   overrideAdvance = "0";
   orientParticles = "0";
   orientOnVelocity = "1";
   particles = "construct_P";
   lifetimeMS = "0";
   lifetimeVarianceMS = "0";
   useEmitterSizes = "0";
   useEmitterColors = "0";
   emitterType = "disc";
   ejectionInvert = "0";
   fadeColor = "0";
   fadeSize = "0";
   fadeVelocity = "0";
   fadeOffset = "0";
   vector = "0 0 1";
   spreadMin = "0";
   spreadMax = "0";
   pathOrigin = "origin";
   radiusMin = "0";
   radiusMax = "3.8";
};
datablock afxEffectWrapperData(constructEffectWrapperData1)
{
  effect = constructParticleEmitterData;
  
  orientConstraint = "testEffect";
  updateTerrain = true;

  delay       = 0;
  fadeInTime  = 0;
  fadeOutTime = 0;
};
//***************************************************
// Water Splash Effect
//***************************************************
datablock ParticleData(water_P)
{
   canSaveDynamicFields = "1";
   dragCoefficient = "0";
   windCoefficient = "0";
   gravityCoefficient = "0.73";
   inheritedVelFactor = "0";
   constantAcceleration = "0";
   lifetimeMS = "1500";
   lifetimeVarianceMS = "50";
   spinSpeed = "0";
   spinRandomMin = "-42";
   spinRandomMax = "240";
   useInvAlpha = "1";
	 useInvAlpha = true;
   allowLighting = false;
	 animateTexture = "0";
   framesPerSec = "1";
   textureName = "assets/data/effects/effecttextures/watersplash.png";
   animTexName[0] = "assets/data/effects/effecttextures/watersplash.png";
   colors[0] = "1 1 1 1";
   colors[1] = "1 1 1 0.6";
   colors[2] = "1 1 1 0.3";
   colors[3] = "1 1 1 0";
   sizes[0] = "0.2";
   sizes[1] = "0.3";
   sizes[2] = "0.2";
   sizes[3] = "0.12";
   times[0] = "0";
   times[1] = "0.3";
   times[2] = "0.6";
   times[3] = "1";
   constrainPos = "0";
};

datablock ParticleEmitterData(waterParticleEmitterData) 
{
   canSaveDynamicFields = "1";
   className = "ParticleEmitterData";
   receiveLMLighting = "1";
   ejectionPeriodMS = "45";
   periodVarianceMS = "0";
   ejectionVelocity = "4.1";
   velocityVariance = "0";
   ejectionOffset = "0";
   ejectionDistance = "0";
   thetaMin = "14.4";
   thetaMax = "14.4";
   phiReferenceVel = "0";
   phiVariance = "360";
   overrideAdvance = "0";
   orientParticles = "0";
   orientOnVelocity = "1";
   particles = "water_P";
   lifetimeMS = "0";
   lifetimeVarianceMS = "0";
   useEmitterSizes = "0";
   useEmitterColors = "0";
   emitterType = "cone";
   ejectionInvert = "0";
   fadeColor = "0";
   fadeSize = "0";
   fadeVelocity = "0";
   fadeOffset = "0";
   vector = "0 0 0";
   spreadMin = "2";
   spreadMax = "10";
   pathOrigin = "origin";
   radiusMin = "0";
   radiusMax = "2";
};

datablock afxEffectWrapperData(waterEffectWrapperData1)
{
  effect = waterParticleEmitterData;
  
  orientConstraint = "testEffect";

  delay       = 0;
  fadeInTime  = 0;
  fadeOutTime = 0;
};
//***************************************************
// FARM Plague effect
//***************************************************
datablock ParticleData(farmplague_P)
{
   canSaveDynamicFields = "1";
   dragCoefficient = "0";
   windCoefficient = "0";
   gravityCoefficient = "-0.06";
   inheritedVelFactor = "0";
   constantAcceleration = "0";
   lifetimeMS = "4000";
   lifetimeVarianceMS = "200";
   spinSpeed = ".1";
   spinRandomMin = "-90";
   spinRandomMax = "90";
   useInvAlpha = "1";
   animateTexture = "0";
   framesPerSec = "1";
   textureName = "assets/data/effects/effecttextures/smoke.png";
   colors[0] = "0 1 0 0";
   colors[1] = "0.5 0.7 0.2 0.7";
   colors[2] = "0.1 1 0 0";
   colors[3] = "1 1 1 1";
   sizes[0] = "3.11";
   sizes[1] = "2.3";
   sizes[2] = "1.5";
   sizes[3] = "1";
   times[0] = "0";
   times[1] = "0.25";
   times[2] = "1";
   times[3] = "1";
   allowLighting = "0";
   constrainPos = "0";
};
datablock ParticleEmitterData(farmplagueParticleEmitterData) 
{
   canSaveDynamicFields = "1";
   className = "ParticleEmitterData";
   receiveLMLighting = "1";
   ejectionPeriodMS = "360";
   periodVarianceMS = "0";
   ejectionVelocity = "0";
   velocityVariance = "0";
   ejectionOffset = "0";
   ejectionDistance = "0";
   thetaMin = "0";
   thetaMax = "0";
   phiReferenceVel = "0";
   phiVariance = "0";
   overrideAdvance = "0";
   orientParticles = "0";
   orientOnVelocity = "1";
   particles = "farmplague_P";
   lifetimeMS = "0";
   lifetimeVarianceMS = "0";
   useEmitterSizes = "0";
   useEmitterColors = "0";
   emitterType = "disc";
   ejectionInvert = "0";
   fadeColor = "0";
   fadeSize = "0";
   fadeVelocity = "0";
   fadeOffset = "0";
   vector = "0 0 1";
   spreadMin = "0";
   spreadMax = "0";
   pathOrigin = "origin";
   radiusMin = "0";
   radiusMax = "5";
};

datablock afxEffectWrapperData(farmEffectWrapperData)
{
  effect = farmplagueParticleEmitterData;
  
  orientConstraint = "testEffect";

  delay       = 0;
  fadeInTime  = 0;
  fadeOutTime = 0;
};

datablock afxEffectronData(farmEffectronData)
{
  duration = $AFX::INFINITE_TIME;
  addEffect = farmEffectWrapperData;
};

datablock afxEffectronData(waterEffectronData)
{
  duration = $AFX::INFINITE_TIME;
  addEffect = waterEffectWrapperData1;
};

datablock afxEffectronData(constructEffectronData)
{
  duration = $AFX::INFINITE_TIME;
  addEffect = constructEffectWrapperData1;
};

datablock afxEffectWrapperData(constructsmEffectWrapperData)
{
  effect = constructsmParticleEmitterData;
  
  orientConstraint = "testEffect";
  updateTerrain = true;

  delay       = 0;
  fadeInTime  = 0;
  fadeOutTime = 0;
};
datablock afxEffectronData(constructsmEffectronData)
{
  duration = $AFX::INFINITE_TIME;
  addEffect = constructsmEffectWrapperData;
};

// Tornado Cloud Effect

datablock ParticleData(tornado_P)
{
   canSaveDynamicFields = "1";
   dragCoefficient = "0";
   windCoefficient = "0";
   gravityCoefficient = "0";
   inheritedVelFactor = "0";
   constantAcceleration = "0";
   lifetimeMS = "1000";
   lifetimeVarianceMS = "100";
   spinSpeed = "0";
   spinRandomMin = "-92";
   spinRandomMax = "60";
   useInvAlpha = "1";
   animateTexture = "0";
   framesPerSec = "1";
   textureName = "assets/data/effects/effecttextures/smoke.png";
   colors[0] = "0.55 0.5 0.5 0.2";
   colors[1] = "0.75 0.7 0.55 0.9";
   colors[2] = "0.78 0.75 0.6 0.5";
   colors[3] = "1 1 1 1";
   sizes[0] = "3.31";
   sizes[1] = "7.25";
   sizes[2] = "6.57";
   sizes[3] = "1";
   times[0] = "0";
   times[1] = "0.5";
   times[2] = "1";
   times[3] = "1";
   allowLighting = "0";
   constrainPos = "0";
};

datablock ParticleEmitterData(tornadoParticleEmitterData)
{
   canSaveDynamicFields = "1";
   className = "ParticleEmitterData";
   receiveLMLighting = "1";
   ejectionPeriodMS = "210";
   periodVarianceMS = "0";
   ejectionVelocity = "0";
   velocityVariance = "0";
   ejectionOffset = "0";
   ejectionDistance = "0";
   thetaMin = "14.4";
   thetaMax = "162";
   phiReferenceVel = "0";
   phiVariance = "360";
   overrideAdvance = "0";
   orientParticles = "0";
   orientOnVelocity = "1";
   particles = "tornado_P";
   lifetimeMS = "0";
   lifetimeVarianceMS = "0";
   useEmitterSizes = "0";
   useEmitterColors = "0";
   emitterType = "disc";
   ejectionInvert = "0";
   fadeColor = "0";
   fadeSize = "0";
   fadeVelocity = "0";
   fadeOffset = "0";
   vector = "0 0 1";
   spreadMin = "0";
   spreadMax = "0";
   pathOrigin = "origin";
   radiusMin = "0";
   radiusMax = "4.1";
};
datablock afxEffectWrapperData(tornadoEffectWrapperData)
{
  effect = tornadoParticleEmitterData;
  
  orientConstraint = "testEffect";

  delay       = 0;
  fadeInTime  = 0;
  fadeOutTime = 0;
};
datablock afxEffectronData(tornadoEffectronData)
{
  duration = $AFX::INFINITE_TIME;
  addEffect = tornadoEffectWrapperData;
};
// Tornado dust
datablock ParticleData(rockdust_P)
{
   canSaveDynamicFields = "1";
   dragCoefficient = "0";
   windCoefficient = "0";
   gravityCoefficient = "0.1";
   inheritedVelFactor = "0";
   constantAcceleration = "0";
   lifetimeMS = "1400";
   lifetimeVarianceMS = "100";
   spinSpeed = ".7";
   spinRandomMin = "-180";
   spinRandomMax = "180";
   useInvAlpha = "1";
   animateTexture = "0";
   framesPerSec = "1";
   textureName = "assets/data/effects/effecttextures/rockdust.png";
   colors[0] = "1 1 1 1";
   colors[1] = "1 1 1 1";
   colors[2] = "1 1 1 0.5";
   sizes[0] = "0.5";
   sizes[1] = "0.8";
   sizes[2] = "0.5";
   times[0] = "0";
   times[1] = "0.5";
   times[2] = "1";
   allowLighting = "0";
   constrainPos = "0";
};
datablock ParticleData(wooddust_P)
{
   canSaveDynamicFields = "1";
   dragCoefficient = "0";
   windCoefficient = "0";
   gravityCoefficient = "0.1";
   inheritedVelFactor = "0";
   constantAcceleration = "0";
   lifetimeMS = "1400";
   lifetimeVarianceMS = "100";
   spinSpeed = ".7";
   spinRandomMin = "-180";
   spinRandomMax = "180";
   useInvAlpha = "1";
   animateTexture = "0";
   framesPerSec = "1";
   textureName = "assets/data/effects/effecttextures/rock2.png";
   colors[0] = "1 1 1 1";
   colors[1] = "1 1 1 1";
   colors[2] = "1 1 1 0.5";
   sizes[0] = "0.5";
   sizes[1] = "0.8";
   sizes[2] = "0.5";
   times[0] = "0";
   times[1] = "0.5";
   times[2] = "1";
   allowLighting = "0";
   constrainPos = "0";
};
datablock ParticleData(clouddust_P)
{
   canSaveDynamicFields = "1";
   dragCoefficient = "0";
   windCoefficient = "0";
   gravityCoefficient = "0";
   inheritedVelFactor = "0";
   constantAcceleration = "0";
   lifetimeMS = "1000";
   lifetimeVarianceMS = "100";
   spinSpeed = "0";
   spinRandomMin = "-92";
   spinRandomMax = "60";
   useInvAlpha = "1";
   animateTexture = "0";
   framesPerSec = "1";
   textureName = "assets/data/effects/effecttextures/smoke.png";
   colors[0] = "0.71 0.57 0.3 0";
   colors[1] = "0.71 0.57 0.25 0.8";
   colors[2] = "0.8 0.57 0.2 0.4";
   colors[3] = "1 1 1 1";
   sizes[0] = "2";
   sizes[1] = "3.25";
   sizes[2] = "3.57";
   sizes[3] = "1";
   times[0] = "0";
   times[1] = "0.5";
   times[2] = "1";
   times[3] = "1";
   allowLighting = "0";
   constrainPos = "0";
};
datablock ParticleEmitterData(tornadodustParticleEmitterData) 
{
   canSaveDynamicFields = "1";
   className = "ParticleEmitterData";
   receiveLMLighting = "1";
   ejectionPeriodMS = "450";
   periodVarianceMS = "0";
   ejectionVelocity = "1.8";
   velocityVariance = "0";
   ejectionOffset = "0";
   ejectionDistance = "0";
   thetaMin = "14";
   thetaMax = "180";
   phiReferenceVel = "0";
   phiVariance = "360";
   overrideAdvance = "0";
   orientParticles = "0";
   orientOnVelocity = "1";
   particles = "rockdust_P\twooddust_P\tclouddust_P";
   lifetimeMS = "0";
   lifetimeVarianceMS = "0";
   useEmitterSizes = "0";
   useEmitterColors = "0";
   emitterType = "disc";
   ejectionInvert = "0";
   fadeColor = "0";
   fadeSize = "0";
   fadeVelocity = "0";
   fadeOffset = "0";
   vector = "0 0 1";
   spreadMin = "0";
   spreadMax = "0";
   pathOrigin = "origin";
   radiusMin = "0";
   radiusMax = "2.5";
};
datablock afxEffectWrapperData(tornadodustEffectWrapperData)
{
  effect = tornadodustParticleEmitterData;
  
  orientConstraint = "testEffect";

  delay       = 0;
  fadeInTime  = 0;
  fadeOutTime = 0;
};
datablock afxEffectronData(tornadodustEffectronData)
{
  duration = $AFX::INFINITE_TIME;
  addEffect = tornadodustEffectWrapperData;
};