//-------------------------------------------------------------------
//
//  This code is copyright 2001 by G5 Software.
//  Any unauthorized usage, either in part or in whole of this code
//  is strictly prohibited. Violators WILL be prosecuted to the
//  maximum extent allowed by law.
//
//-------------------------------------------------------------------

// German weapon
class CGermanTankBulletExplosion
{
  final static string CID = "SphericExplosion";

  string ExplosionEffect = "EFFECTID_TankGunBulletHitEffect";
  string ExplosionSound  = "SOUNDID_TankGunBulletHitSound";
  float  ExplosionDamage = 200.0;
  float  ExplosionRadius = 5.0;
}

class CGermanAntiairBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 25.0;
}

class CGermanAJeepBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 25.0;
}

class CGermanGunTowerBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 25.0;
}

class CGermanParatrooperBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 10.0;
}

class CGermenArmedSHouseBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 25.0;
}

class CGermenArmedDHouseBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 25.0;
}

class CGermanArmedSandBagsBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 25.0;
}

class CGermanPanzerFaustExplosion
{
  final static string CID  = "WaveExplosion";

  string ExplosionEffect   = "EFFECTID_PanzerFaustExplosionEffect";
  string ExplosionSound    = "SOUNDID_PanzerFaustExplosionSound";
  float  ExplosionDamage   = 1000.0;
  float  ExplosionRadius   = 5.0;
  float  ExplosionDuration = 1.0;
}

class CGermanFlakBulletExplosion
{
  final static string CID = "SphericExplosion";

  string ExplosionEffect = "EFFECTID_FlakGunBulletHitEffect";
  string ExplosionSound  = "SOUNDID_FlakGunBulletHitSound";
  float  ExplosionDamage = 100.0;
  float  ExplosionRadius = 2.0;
}

class CGermanMobileFlakBulletExplosion
{
  final static string CID = "SphericExplosion";

  string ExplosionEffect = "EFFECTID_FlakGunBulletHitEffect";
  string ExplosionSound  = "SOUNDID_FlakGunBulletHitSound";
  float  ExplosionDamage = 100.0;
  float  ExplosionRadius = 2.0;
}




// Soviet weapon
class CSovietTankBulletExplosion
{
  final static string CID = "SphericExplosion";

  string ExplosionEffect = "EFFECTID_TankGunBulletHitEffect";
  string ExplosionSound  = "SOUNDID_TankGunBulletHitSound";
  float  ExplosionDamage = 200.0;
  float  ExplosionRadius = 5.0;
}

class CSovietAJeepBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 25.0;
}

class CSovietGunTowerBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 25.0;
}

class CSovietKatushaRocketExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_KatushaRocketExplosionEffect";
  string ExplosionSound    = "SOUNDID_KatushaRocketExplosionSound";
  float  ExplosionDamage   = 1500.0;
  float  ExplosionRadius   = 25.0;
}

class CSovietAirBombExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_AirBombExplosionEffect";
  string ExplosionSound    = "SOUNDID_AirBombExplosionSound";
  float  ExplosionDamage   = 5000.0;
  float  ExplosionRadius   = 50.0;
}




// Player weapon
class CHelicopterBulletExplosion
{
  final static string CID = "DotExplosion";

  string ExplosionEffect = "";
  string ExplosionSound  = "";
  float  ExplosionDamage = 100.0;
}

class CHelicopterRocketExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_MissileExplosionEffect";
  string ExplosionSound    = "SOUNDID_HelicopterRocketExplosionSound";
  float  ExplosionDamage   = 1500.0;
  float  ExplosionRadius   = 10.0;
}

class CHelicopterMissileExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_MissileExplosionEffect";
  string ExplosionSound    = "SOUNDID_HelicopterMissileExplosionSound";
  float  ExplosionDamage   = 3000.0;
  float  ExplosionRadius   = 10.0;
}




// Units explosions
class CHelicopterExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_HelicopterExplosionEffect";
  string ExplosionSound    = "SOUNDID_HelicopterExplosionSound";
  float  ExplosionDamage   = 3000.0;
  float  ExplosionRadius   = 20.0;
}

class CAJeepExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_AJeepExplosionSound";
  float  ExplosionDamage   = 1000.0;
  float  ExplosionRadius   = 5.0;
}

class CAntiairExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_AntiairExplosionSound";
  float  ExplosionDamage   = 500.0;
  float  ExplosionRadius   = 3.0;
}

class CJeepExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_JeepExplosionSound";
  float  ExplosionDamage   = 10.0;
  float  ExplosionRadius   = 1.5;
}

class CTankExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_TankExplosionSound";
  float  ExplosionDamage   = 500.0;
  float  ExplosionRadius   = 3.0;
}

class CFlakExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_FlakExplosionSound";
  float  ExplosionDamage   = 500.0;
  float  ExplosionRadius   = 3.0;
}

class CMobileFlakExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_MobileFlakExplosionSound";
  float  ExplosionDamage   = 500.0;
  float  ExplosionRadius   = 3.0;
}

class CTruckExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_TruckExplosionSound";
  float  ExplosionDamage   = 10.0;
  float  ExplosionRadius   = 1.5;
}

class CRefuellerExplosion
{
  final static string CID  = "WaveExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_RefuellerExplosionSound";
  float  ExplosionDamage   = 2000.0;
  float  ExplosionRadius   = 20.0;
  float  ExplosionDuration = 1.5;
}

class CKatushaExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_KatushaExplosionSound";
  float  ExplosionDamage   = 10.0;
  float  ExplosionRadius   = 1.5;
}

class CSandBagsExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_UnitExplosionEffect";
  string ExplosionSound    = "SOUNDID_SandBagsExplosionSound";
  float  ExplosionDamage   = 500.0;
  float  ExplosionRadius   = 10.0;
}

class CGunTowerExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_BuildingExplosionEffect";
  string ExplosionSound    = "SOUNDID_GunTowerExplosionSound";
  float  ExplosionDamage   = 500.0;
  float  ExplosionRadius   = 10.0;
}


// Buildings
class CBarrelExplosion
{
  final static string CID  = "WaveExplosion";

  string ExplosionEffect   = "EFFECTID_SmallBarrelExplosionEffect";
  string ExplosionSound    = "SOUNDID_BarrelExplosionSound";
  float  ExplosionDamage   = 1000.0;
  float  ExplosionRadius   = 25.0;
  float  ExplosionDuration = 2.0;
}

class CBarrelStackExplosion
{
  final static string CID  = "WaveExplosion";

  string ExplosionEffect   = "EFFECTID_SmallBarrelExplosionEffect";
  string ExplosionSound    = "SOUNDID_BarrelExplosionSound";
  float  ExplosionDamage   = 2000.0;
  float  ExplosionRadius   = 35.0;
  float  ExplosionDuration = 2.0;
}

class CCisternExplosion
{
  final static string CID  = "WaveExplosion";

  string ExplosionEffect   = "EFFECTID_CisternExplosionEffect";
  string ExplosionSound    = "SOUNDID_CisternExplosionSound";
  float  ExplosionDamage   = 7500.0;
  float  ExplosionRadius   = 150;
  float  ExplosionDuration = 5.0;
}

class CAmmoBoxExplosion
{
  final static string CID  = "WaveExplosion";

  string ExplosionEffect   = "EFFECTID_AmmoBoxExplosionEffect";
  string ExplosionSound    = "SOUNDID_AmmoBoxExplosionSound";
  float  ExplosionDamage   = 7500.0;
  float  ExplosionRadius   = 150;
  float  ExplosionDuration = 5.0;
}

class CHangarExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_HangarExplosionEffect";
  string ExplosionSound    = "SOUNDID_HangarExplosionSound";
  float  ExplosionDamage   = 3000.0;
  float  ExplosionRadius   = 150.0;
}

class CBuildingExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_BuildingExplosionEffect";
  string ExplosionSound    = "SOUNDID_BuildingExplosionSound";
  float  ExplosionDamage   = 500.0;
  float  ExplosionRadius   = 20.0;
}

class CItemExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_ItemExplosionEffect";
  string ExplosionSound    = "SOUNDID_ItemExplosionSound";
  float  ExplosionDamage   = 5.0;
  float  ExplosionRadius   = 5.0;
}




// Service
class CFireBallExplosion
{
  final static string CID  = "SphericExplosion";

  string ExplosionEffect   = "EFFECTID_FireBallExplosionEffect";
  string ExplosionSound    = "SOUNDID_FireBallExplosionSound";
  float  ExplosionDamage   = 5000.0;
  float  ExplosionRadius   = 30.0;
}




// Array
class CExplosionsArray
{
  void CExplosionsArray()
  {
    CreatePattern("CGermanTankBulletExplosion", "EXPLID_GermanTankBulletExplosion");
    CreatePattern("CGermanAntiairBulletExplosion", "EXPLID_GermanAntiairBulletExplosion");
    CreatePattern("CGermanAJeepBulletExplosion", "EXPLID_GermanAJeepBulletExplosion");
    CreatePattern("CGermanGunTowerBulletExplosion", "EXPLID_GermanGunTowerBulletExplosion");
    CreatePattern("CGermanParatrooperBulletExplosion", "EXPLID_GermanParatrooperBulletExplosion");
    CreatePattern("CGermenArmedSHouseBulletExplosion", "EXPLID_GermenArmedSHouseBulletExplosion");
    CreatePattern("CGermenArmedDHouseBulletExplosion", "EXPLID_GermenArmedDHouseBulletExplosion");
    CreatePattern("CGermanArmedSandBagsBulletExplosion", "EXPLID_GermanArmedSandBagsBulletExplosion");
    CreatePattern("CGermanPanzerFaustExplosion", "EXPLID_GermanPanzerFaustExplosion");
    CreatePattern("CGermanFlakBulletExplosion", "EXPLID_GermanFlakBulletExplosion");
    CreatePattern("CGermanMobileFlakBulletExplosion", "EXPLID_GermanMobileFlakBulletExplosion");

    CreatePattern("CSovietTankBulletExplosion", "EXPLID_SovietTankBulletExplosion");
    CreatePattern("CSovietAJeepBulletExplosion", "EXPLID_SovietAJeepBulletExplosion");
    CreatePattern("CSovietGunTowerBulletExplosion", "EXPLID_SovietGunTowerBulletExplosion");
    CreatePattern("CSovietKatushaRocketExplosion", "EXPLID_SovietKatushaRocketExplosion");
    CreatePattern("CSovietAirBombExplosion", "EXPLID_SovietAirBombExplosion");

    CreatePattern("CHelicopterBulletExplosion", "EXPLID_HelicopterBulletExplosion");
    CreatePattern("CHelicopterRocketExplosion", "EXPLID_HelicopterRocketExplosion");
    CreatePattern("CHelicopterMissileExplosion", "EXPLID_HelicopterMissileExplosion");

    CreatePattern("CAJeepExplosion", "EXPLID_GermanAJeepExplosion");
    CreatePattern("CAntiairExplosion", "EXPLID_GermanAntiairExplosion");
    CreatePattern("CJeepExplosion", "EXPLID_GermanJeepExplosion");
    CreatePattern("CTankExplosion", "EXPLID_GermanTankExplosion");
    CreatePattern("CFlakExplosion", "EXPLID_GermanFlakExplosion");
    CreatePattern("CMobileFlakExplosion", "EXPLID_GermanMobileFlakExplosion");
    CreatePattern("CTruckExplosion", "EXPLID_GermanTruckExplosion");
    CreatePattern("CRefuellerExplosion", "EXPLID_GermanRefuellerExplosion");
    CreatePattern("CGunTowerExplosion", "EXPLID_GermanGunTowerExplosion");
    CreatePattern("CSandBagsExplosion", "EXPLID_SandBagsExplosion");

    CreatePattern("CHelicopterExplosion", "EXPLID_HelicopterExplosion");

    CreatePattern("CTankExplosion", "EXPLID_SovietTankExplosion");
    CreatePattern("CTruckExplosion", "EXPLID_SovietTruckExplosion");
    CreatePattern("CGunTowerExplosion", "EXPLID_SovietGunTowerExplosion");
    CreatePattern("CKatushaExplosion", "EXPLID_SovietKatushaExplosion");

    CreatePattern("CBarrelExplosion", "EXPLID_BarrelExplosion");
    CreatePattern("CBarrelStackExplosion", "EXPLID_BarrelStackExplosion");
    CreatePattern("CCisternExplosion", "EXPLID_CisternExplosion");
    CreatePattern("CAmmoBoxExplosion", "EXPLID_AmmoBoxExplosion");
    CreatePattern("CHangarExplosion", "EXPLID_HangarExplosion");

    CreatePattern("CBuildingExplosion", "EXPLID_BuildingExplosion");
    CreatePattern("CItemExplosion", "EXPLID_ItemExplosion");

    CreatePattern("CFireBallExplosion", "EXPLID_FireBallExplosion");
  }
}

