
// some basic defines
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7

#define true 1
#define false 0

// type scope
#define private 0
#define protected 1
#define public 2

#define WeaponNoSlot    0// dummy weapons
#define WeaponSlotPrimary  1// primary weapons
#define WeaponSlotSecondary 16// secondary weapons
#define WeaponSlotItem   256// items
#define WeaponSlotBinocular 4096// binocular
#define WeaponHardMounted  65536

#define SPEED_STATIC 1e10

class CfgPatches
{
 class ukf_ukweps
 {
  units[] = {};
  weapons[] = {ukf_sa80, ukf_sa801g36, ukf_lsw, ukf_gpmg, ukf_sa80_b, ukf_law80launcher, UKF_clansman};
  requiredVersion = 1.90;
  requiredAddons[] = {"BIS_Resistance","jam_magazines"};
 };
};


//CfgModels definitions
class CfgModels
{
 class Default{};
 class Weapon: Default{};
 class ukf_sa80: Weapon{};
 class ukf_sa80_b: Weapon{};
 class ukf_sa80ag36: Weapon{};
 class ukf_SA80AG36_d:Weapon{};
 class ukf_lsw: Weapon{};
 class ukf_gpmg: Weapon{};
 class law80:weapon{};
 class ukf_clansman:weapon{};
};

class CfgMovesMC
{
	class Default {};
	class DefaultDie: Default {};
      class StandBase: Default {};

	class States
	{
		class UKF_Bayonet: StandBase
		{
			actions = StandTalkActions;
			file=\UKF_ukweps\sa80_B\UKF_BayonetStab.rtm;
			speed = -1.90;
			looped=false;
			soundEnabled=false;
			duty = RestDuty;
			interpolationSpeed=1;
			connectFrom[]={};
			connectTo[]={};
                  interpolateTo[]={CombatDying,0.1,CombatDyingVer2,0.1,CombatDyingVer3,0.1};
		};

	};
};

//Ammo definitions;
class CfgAmmo
	{
 	class Default{};
 	class BulletSingle:default {};
 	class BulletSingleW: BulletSingle{};
	class Grenade: Default{};
	class MortarShell: Grenade{};
        class AT3 : Default {};
	class CarlGustav : AT3{};
	class UKF_LAW80Rocket : CarlGustav
	{
	hit=820;
	indirectHit=290;
	indirectHitRange=3.100000;
	minRange=50;  	minRangeProbab=0.99;
	midRange=590;  	midRangeProbab=0.99;
	maxRange=620;  	maxRangeProbab=0.01;
        thrustTime=0.200000;
	thrust=1200;
	maxSpeed=156;
	initTime=0;
	soundHit[]={"Explosions\explosion_at3",100.000008,1};
  	soundFly[]={"weapons\rocketflying",0.010000,2};
  	soundEngine[]={"objects\noise",0.001000,1};
	cost=5000;
	};
	
};

///Weapon definitions;
class CfgWeapons
	{
 	class Default {};
 	class MGun: Default {};
 	class Riffle: MGun {};
 	class M16:Riffle{};
 ///////////////////////////////////////// L85a2 ICW ////////////////////////////////////////
	class ukf_sa80: m16
  	{
  	scopeWeapon=2;
  	scopeMagazine=0;
  	displayName="SA80";
  	model="\ukf_ukweps\sa80\ukf_SA80.p3d";
  	modelOptics="\ukf_ukweps\susat\ukf_SUSAT3";
  	picture="\ukf_ukweps\icons\l85a2.paa";
  	uipicture="\ukf_ukweps\icons\com_l85a2.paa";
        optics=true;
  	opticsZoomMin=0.17500;
  	opticsZoomMax=0.17500;
  	distanceZoomMin=40;
  	distanceZoomMax=40;
  	magazines[]={"JAM_W556_30mag","JAM_W556_30HDmag"};
  	reloadMagazineSound[]={"\ukf_ukweps\sounds\sa80\saload.ogg",1.800000,1};
   	};
	class ukf_sa80_b: ukf_sa80
  	{
  	model="\ukf_ukweps\sa80_b\ukf_SA80_b.p3d";
   	};
	class HandGunBase: Riffle {};
	class ukf_bayonet: HandGunBase
	{
	scopeWeapon=0;
	scopeMagazine=2;
	weapontype=2;
	magazinetype=32;
	dexterity=2;
	displayNameMagazine="SA80 Bayonet";
	shortNameMagazine="SA80 Bayonet";
	count=1;
	picture="\ukf_ukweps\sa80_b\ukf_inv_bayonet.paa"
	};
///////////////////////////////////////// L85a2 with UGL ////////////////////////////////////////
	class ukf_sa80ag36:ukf_sa80
	{
	scopeWeapon=2;
	scopeMagazine=0;
	weaponType=1;
	displayName="SA80 UGL";// changed for neatness
	model="\ukf_ukweps\ag36\ukf_SA80AG36_d.p3d";
	picture="\ukf_ukweps\icons\l85a2ag36.paa";
	uipicture="\ukf_ukweps\icons\com_ag36.paa";
        muzzles[]={"SA80Muzzle","AG36Muzzle"};
	class SA80Muzzle: ukf_sa80 {};
	class GrenadeLauncher: Default {};
	class AG36Muzzle: GrenadeLauncher
	{
	cursor="t_select.paa";
	modelSpecial="\ukf_ukweps\ag36\ukf_SA80AG36.p3d";
	scopeMagazine=2;
	weaponType=0;
	count=1;
	autoReload=0;
	ffMagnitude=0.100000;
	ffFrequency=1;
	ffCount=1;
	modelOptics="\ukf_ukweps\ag36\ukf_o_ag36";
        optics=0;
        opticsZoomMin=0.400000;
	opticsZoomMax=0.400000;
	muzzlePos="usti granatometu";
	muzzleEnd="konec granatometu";
	magazines[]={"JAM_M433grenade","JAM_M433Vest", "JAM_M576buck", "JAM_MarkerGrenades", "JAM_MarkerRound", "JAM_flareWhite" ,"JAM_flareGreen","JAM_FlareRed","JAM_FlareYellow"};
	};

/////////////////////////////////////////LIGHT SUPPORT WEAPON////////////////////////////////////////
	};
	class MachineGun7_6: MGun {};
  	class MachineGun7_6Manual: MachineGun7_6 {};
  	class ukf_lsw: MachineGun7_6Manual{
  	scopeMagazine=0;
	weapontype = 1;
  	model="\ukf_ukweps\lsw\ukf_lsw.p3d";
  	modelOptics="\ukf_ukweps\susat\ukf_SUSAT3";
  	optics=true;
  	opticsZoomMin=0.17500;
  	opticsZoomMax=0.17500;
  	distanceZoomMin=40;
  	distanceZoomMax=40;
	modes[]={"Single","FullAuto"};
  	magazines[]={"JAM_W556_30mag","JAM_W556_30HDmag","JAM_W556_L86_30mag", "JAM_W556_L86_30HDmag"};
  	reloadMagazineSound[]={"\ukf_ukweps\sounds\sa80\saload.ogg",1.800000,1};
 	scopeWeapon=2
  	displayname= "SA80 LSW"
  	picture="\ukf_ukweps\icons\l86a2.paa";
     	uipicture="\ukf_ukweps\icons\com_l86a2.paa";
	};
/////////////////////////////////////////GENERAL PURPOSE MACHINE GUN////////////////////////////////////////
	class ukf_GPMG: MachineGun7_6Manual
	{
	displayName="GPMG";
	model="\ukf_ukweps\gpmg\ukf_gpmg.p3d";
	picture="\ukf_ukweps\icons\gpmg.paa";
	uipicture="\ukf_ukweps\icons\com_gpmg.paa";
        scopeWeapon = 2;
	scopeMagazine = 0;
	modelOptics="\ukf_ukweps\gpmg\km_fnmagoptics.p3d";
	optics = true;
	opticsFlare=0;
	opticsZoomMin=0.35;
	opticsZoomMax=0.35;
	displayNameMagazine="GPMG Belt";
	shortNameMagazine="GPMG ammo";
	reloadSound[]={"",1,1};
	reloadMagazineSound[]={"\ukf_ukweps\fnmagreload.ogg",db-70,1};
	count=100;
	magazines[] = {"JAM_W762M_100mag","JAM_W762M_100HDmag"};
	};
///////////////////////////////////////// CLANSMAN RADIO ///////// ////////////////////////////////////////
	class LAWLauncher: Default {};
	class ukf_clansman: LAWLauncher
	{
		scopeWeapon = public;
		scopeMagazine = protected;
		nameSound="weapon"
		model="\ukf_ukweps\clansman\clansman.p3d";
		modelOptics="";
		picture="\ukf_ukweps\icons\clansman.paa"
		uipicture="\ukf_ukweps\icons\com_clnsmn.paa";
                sound[]={"",1,1};
		reloadSound[]={"\ukf_ukweps\sound\clansman\mic_out1.wav",20,1};
		weaponType = WeaponSlotSecondary;
		magazineType = WeaponNoSlot;
		ammo=""; // no ammo
		displayName = "Clansman";
		reloadTime=0.0;
		canLock=1
		valueWeapon=20
		optics = 0;
		forceOptics = 0;
		primary = false;
		magazines[] = {};
		canDrop = true;
	};

///////////////////////////////////////// LAW-80 ////////////////////////////////////////////////
        class CarlGustav : LAWLauncher {};
	class UKF_LAW80Base :  CarlGustav
	{
	model="\ukf_ukweps\law80\law80";
	modelSpecial="\ukf_ukweps\law80\law80loaded";
	modelOptics="\ukf_ukweps\law80\ukf_law80_o.p3d";
        optics = true;
	opticsFlare=0;
	opticsZoomMin=0.35;
	opticsZoomMax=0.35;
        autocenter=false;
	picture="\ukf_ukweps\icons\law80.paa"
	uipicture="\ukf_ukweps\icons\com_law80.paa";
        displayName = "LAW-80 Launcher";
	displayNameMagazine = "LAW-80";
	shortNameMagazine = "LAW80";
	magazines[]={"ukf_LAW80"};
//	ammo = "ukf_LAW80Rocket";
	dispersion = 0.0001;
	count = 1;
	maxSpeed=350;
	};
	class CarlGustavLauncher: LAWLauncher{};
	class ukf_LAW80 : ukf_LAW80Base
	{
	scopemagazine = 2
	picture = "\ukf_ukweps\icons\m_LAW80.paa";
	magazineType="5*256"
	ammo = "ukf_LAW80Rocket";
	};
	class ukf_LAW80Launcher : ukf_LAW80Base
	{

	scopeweapon = 2
	modelOptics="\ukf_ukweps\law80\ukf_law80_o.p3d";
	magazines[]={"ukf_LAW80"};
        };
	
        class UKF_LAW80_Expended : ukf_LAW80Launcher
	{
	model="\ukf_ukweps\law80\law80loaded";
	displayName = "LAW80 (Expended)";
	};

class CfgNonAIVehicles
{
 class ProxyWeapon {};
 class Proxyukf_sa80: ProxyWeapon {};
 class Proxyukf_LSW: ProxyWeapon {};
 class Proxyukf_sa80ag36: ProxyWeapon {};
 class Proxyukf_gpmg: ProxyWeapon {};
};
