//-------------------------------------------------------------------
//
//  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.
//
//-------------------------------------------------------------------

class CGermanRefuellerMesh
{
  string MeshFile = "Models/G_Refueller.mesh";
  string SkinFile = "Models/G_Refueller.skin";
  string AnimFile = "Models/G_Refueller.anim";
}

class CGermanRefuellerStateControl extends CMobileGroundUnitStateControl
{
  void CGermanRefuellerStateControl()
  {
    CMobileGroundUnitStateControl(500.0);
    m_DestroyPause = 7.5;
    m_ExplosionId  = "EXPLID_GermanRefuellerExplosion";
  }
}

class CGermanRefuellerBehavior extends
  CBaseBehavior, CGermanRefuellerMoveParameters, CGermanRefuellerFireParameters
{
  boolean  HasRadar = false;
}

class CGermanRefuellerMoveParameters
{
  bool   CanMove = true;

  float  MaxSpeed              = 25;   // m/s
  float  MaxAngleSpeed         = 8;    // rad/s
  float  MaxAccelleration      = 25;   // m/(s*s)
  float  MaxAngleAccelleration = 25;   // rad/(s*s)

  float  MoveBank     = -.03; //#TMP: 
  float  RotationBank = .006;   //#TMP:
}

class CGermanRefuellerFireParameters
{
  bool  CanFire = false;
};

class CGermanRefueller extends
  CGroundUnit,
  CArmedUnit,
  CUnitWithSound,
  CUnitWithCamera,
  CUnitWithStateControl,
  CUnitWithBehavior
{
  void CGermanRefueller()
  {
    InitializeModelAsStatic("CGermanRefuellerMesh");
    CUnitWithStateControl("CGermanRefuellerStateControl");
    InitializeSound("CGermanRefuellerEngineSound");

    //#TODO create weapons

    InitializeVehicleBehavior("CGermanRefuellerBehavior");

    Core_AddClassificator("German");
    Core_AddClassificator("Refueller"); // for cockpit identification
  }
}

