Added real fuel amounts

Some are best guesses though
This commit is contained in:
IngoKauffmann 2015-08-15 16:49:57 +02:00
parent 6dc5050dc3
commit 67091a7aeb
3 changed files with 556 additions and 72 deletions

View File

@ -23,6 +23,10 @@
#define MACRO_CONNECT_ACTIONS \ #define MACRO_CONNECT_ACTIONS \
class ACE_Actions { \ class ACE_Actions { \
class ACE_MainActions { \ class ACE_MainActions { \
displayName = ECSTRING(interaction,MainAction); \
selection = ""; \
distance = 10; \
condition = "true"; \
class GVAR(connect) { \ class GVAR(connect) { \
displayName = CSTRING(connect); \ displayName = CSTRING(connect); \
distance = REFUEL_ACTION_DISTANCE; \ distance = REFUEL_ACTION_DISTANCE; \
@ -102,12 +106,43 @@ class CfgVehicles {
}; };
class Sign_Sphere10cm_F; class Sign_Sphere10cm_F;
class ACE_refuel_fuelNozzle : Sign_Sphere10cm_F { class ACE_refuel_fuelNozzle : Sign_Sphere10cm_F {
// TODO replace with custom model // TODO replace with custom model
}; };
// Add connect to all vehicles class All;
class LandVehicle;
class Static : All {};
class Building : Static {
class ACE_Actions {
class ACE_MainActions {
displayName = ECSTRING(interaction,MainAction);
selection = "";
distance = 10;
condition = "true";
};
};
};
class NonStrategic : Building {};
class House_Base : NonStrategic {};
class House : House_Base {};
class House_F : House {};
class House_Small_F : House_F {};
class Strategic : Building {};
class AllVehicles : All {
GVAR(flowRate) = 1;
};
class Land : AllVehicles {};
class LandVehicle : Land {};
class Car : LandVehicle { class Car : LandVehicle {
MACRO_CONNECT_ACTIONS MACRO_CONNECT_ACTIONS
}; };
@ -120,127 +155,337 @@ class CfgVehicles {
MACRO_CONNECT_ACTIONS MACRO_CONNECT_ACTIONS
}; };
class Air; class Air : AllVehicles {
GVAR(flowRate) = 8;
};
class Helicopter : Air { class Helicopter : Air {
MACRO_CONNECT_ACTIONS MACRO_CONNECT_ACTIONS
GVAR(fuelCapacity) = 1500;
};
class Helicopter_Base_F : Helicopter {};
class Helicopter_Base_H : Helicopter_Base_F {
GVAR(fuelCapacity) = 3000;
}; };
class Plane : Air { class Plane : Air {
MACRO_CONNECT_ACTIONS MACRO_CONNECT_ACTIONS
GVAR(fuelCapacity) = 2000;
GVAR(flowRate) = 16;
}; };
class Plane_Base_F : Plane {};
class Ship; class Ship : AllVehicles {};
class Ship_F : Ship { class Ship_F : Ship {
MACRO_CONNECT_ACTIONS MACRO_CONNECT_ACTIONS
GVAR(fuelCapacity) = 2000;
};
class Boat_Civil_01_base_F : Ship_F {
GVAR(fuelCapacity) = 200;
}; };
class Car_F : Car {}; class Boat_F : Ship_F {};
class Offroad_01_base_f : Car_F {};
class Truck_F : Car_F {}; class Boat_Armed_01_base_F : Boat_F {
class Truck_01_base_F: Truck_F {}; GVAR(fuelCapacity) = 1000;
class Truck_02_base_F : Truck_F {}; };
class Truck_03_base_F : Truck_F {}; class Rubber_duck_base_F : Boat_F {
class Van_01_base_F : Truck_F {}; GVAR(fuelCapacity) = 30;
class Van_01_fuel_base_F : Van_01_base_F {}; };
class SDV_01_base_F : Boat_F {
// SDV is using electrical propulsion
GVAR(fuelCapacity) = 0;
};
class Car_F : Car {
// Assuming large vehicle tank
GVAR(fuelCapacity) = 60;
};
class Kart_01_Base_F : Car_F {
GVAR(fuelCapacity) = 8;
};
class Offroad_01_base_F: Car_F {};
class Wheeled_APC_F: Car_F {
// Assuming average APC tank
GVAR(fuelCapacity) = 300;
};
class Hatchback_01_base_F: Car_F {
// Assume normal vehicle tank
GVAR(fuelCapacity) = 50;
};
class Quadbike_01_base_F : Car_F {
// Assuming usual Yamaha quad
GVAR(fuelCapacity) = 10;
};
class MRAP_01_base_F: Car_F {
// M-ATV
// No data, assuming similar to Fennek
GVAR(fuelCapacity) = 230;
};
class MRAP_02_base_F: Car_F {
// Punisher
// No data, assuming similar to Fennek
GVAR(fuelCapacity) = 230;
};
class MRAP_03_base_F: Car_F {
// Fennek
GVAR(fuelCapacity) = 230;
};
class APC_Wheeled_01_base_F: Wheeled_APC_F {
// Patria = LAV
GVAR(fuelCapacity) = 269;
};
class Truck_F : Car_F {
GVAR(fuelCapacity) = 400;
};
class Truck_01_base_F: Truck_F {
// HEMTT
GVAR(fuelCapacity) = 583;
};
class Tank_F : Tank {};
class APC_Tracked_01_base_F: Tank_F {};
class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F {};
class B_Truck_01_transport_F : Truck_01_base_F {}; class B_Truck_01_transport_F : Truck_01_base_F {};
class B_Truck_01_mover_F: B_Truck_01_transport_F {}; class B_Truck_01_mover_F: B_Truck_01_transport_F {};
class ReammoBox_F; class Truck_02_base_F: Truck_F {
class Slingload_01_Base_F : ReammoBox_F { // KamAZ
class ACE_Actions { // FIXME ace_interact should add interactions to "All" so we can always extend // Assuming similar to Ural
class ACE_MainActions {}; GVAR(fuelCapacity) = 400;
};
}; };
class Helicopter_Base_F : Helicopter {};
class Helicopter_Base_H : Helicopter_Base_F {};
class Heli_Transport_04_base_F : Helicopter_Base_H {};
class Pod_Heli_Transport_04_base_F : StaticWeapon {};
// Vanilla classes class Truck_03_base_F: Truck_F {
// Tempest
// Assuming heavier than KamAZ
GVAR(fuelCapacity) = 600;
};
class Van_01_base_F : Truck_F {
// Small Truck
// Assuming 80L as in Ford Transit
GVAR(fuelCapacity) = 80;
};
class Van_01_fuel_base_F : Van_01_base_F {
transportFuel = 0; //1k
MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 2000;
};
class Tank_F : Tank {
GVAR(fuelCapacity) = 1200;
};
class APC_Tracked_01_base_F: Tank_F {
// Namer
// Assuming Merkava fuel
GVAR(fuelCapacity) = 1400;
};
class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F {};
class B_APC_Tracked_01_CRV_F : B_APC_Tracked_01_base_F { class B_APC_Tracked_01_CRV_F : B_APC_Tracked_01_base_F {
transportFuel = 0; //3k transportFuel = 0; //3k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 20000; GVAR(fuelCargo) = 1000;
};
class C_Van_01_fuel_F : Van_01_fuel_base_F {
transportFuel = 0; //1k
MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 5000;
};
class I_G_Van_01_fuel_F : Van_01_fuel_base_F {
transportFuel = 0; //1k
MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 5000;
}; };
class APC_Tracked_02_base_F: Tank_F {
// BM-2T
// Assuming 1 L/km
GVAR(fuelCapacity) = 1000;
};
class APC_Tracked_03_base_F: Tank_F {
// FV 510
// Assuming 1 L/km
GVAR(fuelCapacity) = 660;
};
class MBT_01_base_F: Tank_F {
// Merkava IV
GVAR(fuelCapacity) = 1400;
};
class MBT_02_base_F: Tank_F {
// T100 Black Eagle
// Assuming T80
GVAR(fuelCapacity) = 1100;
};
class MBT_03_base_F: Tank_F {
// Leopard
GVAR(fuelCapacity) = 1160;
};
class MBT_01_arty_base_F : MBT_01_base_F {
// Assuming similar 2S3
GVAR(fuelCapacity) = 830;
};
class MBT_02_arty_base_F : MBT_02_base_F {
// Assuming similar 2S3
GVAR(fuelCapacity) = 830;
};
class Heli_Attack_01_base_F : Helicopter_Base_F {
// Commanche
};
class Heli_Attack_02_base_F : Helicopter_Base_F {
// Mi-48 Kajman
};
class Heli_Light_01_base_F : Helicopter_Base_H {
// MH-6
GVAR(fuelCapacity) = 242;
};
class Heli_Light_02_base_F : Helicopter_Base_H {
// Ka-60 Kasatka
GVAR(fuelCapacity) = 1450;
};
class Heli_light_03_base_F : Helicopter_Base_F {
// AW159
GVAR(fuelCapacity) = 1004;
};
class Heli_Transport_01_base_F : Helicopter_Base_H {
// Ghost Hawk
// Assuming similar UH60
GVAR(fuelCapacity) = 1360;
};
class Heli_Transport_02_base_F : Helicopter_Base_H {
// AW101
GVAR(fuelCapacity) = 3222;
};
class Heli_Transport_03_base_F : Helicopter_Base_H {
// Chinook 47I
GVAR(fuelCapacity) = 3914;
};
class Heli_Transport_04_base_F : Helicopter_Base_H {
// Mi-290 Taru
GVAR(fuelCapacity) = 3914;
};
class Plane_CAS_01_base_F : Plane_Base_F {
// Assuming similar to A10
GVAR(fuelCapacity) = 6223;
}
class Plane_CAS_02_base_F : Plane_Base_F {
// Yak-130
GVAR(fuelCapacity) = 2099;
};
class UAV_01_base_F : Helicopter_Base_F {
// Darter is electrical
GVAR(fuelCapacity) = 0;
};
class UAV : Plane {};
class UAV_02_base_F : UAV {
// Assuming similar YAHBON-R2
GVAR(fuelCapacity) = 270;
};
class UGV_01_base_F : Car_F {
// Stomper
GVAR(fuelCapacity) = 100;
};
class Plane_Fighter_03_base_F : Plane_Base_F {
// L-159 ALCA
GVAR(fuelCapacity) = 1914;
};
// Vanilla fuel vehicles
class I_Truck_02_fuel_F : Truck_02_base_F { class I_Truck_02_fuel_F : Truck_02_base_F {
transportFuel = 0; //3k transportFuel = 0; //3k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 20000; GVAR(fuelCargo) = 10000;
}; };
class O_Truck_02_fuel_F : Truck_02_base_F { class O_Truck_02_fuel_F : Truck_02_base_F {
transportFuel = 0; //3k transportFuel = 0; //3k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 20000; GVAR(fuelCargo) = 10000;
}; };
class B_Truck_01_fuel_F : B_Truck_01_mover_F { class B_Truck_01_fuel_F : B_Truck_01_mover_F {
transportFuel = 0; //3k transportFuel = 0; //3k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 20000; GVAR(fuelCargo) = 10000;
}; };
class O_Truck_03_fuel_F : Truck_03_base_F { class O_Truck_03_fuel_F : Truck_03_base_F {
transportFuel = 0; //3k transportFuel = 0; //3k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 20000; GVAR(fuelCargo) = 10000;
};
class ReammoBox_F;
class Slingload_01_Base_F : ReammoBox_F {
class ACE_Actions {
class ACE_MainActions {
displayName = ECSTRING(interaction,MainAction);
selection = "";
distance = 10;
condition = "true";
};
};
}; };
class B_Slingload_01_Fuel_F : Slingload_01_Base_F { class B_Slingload_01_Fuel_F : Slingload_01_Base_F {
transportFuel = 0; //3k transportFuel = 0; //3k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 20000; GVAR(fuelCargo) = 10000;
}; };
class O_Heli_Transport_04_fuel_F : Heli_Transport_04_base_F { class O_Heli_Transport_04_fuel_F : Heli_Transport_04_base_F {
transportFuel = 0; //3k transportFuel = 0; //3k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 20000; GVAR(fuelCargo) = 10000;
}; };
class Pod_Heli_Transport_04_base_F : StaticWeapon {};
class Land_Pod_Heli_Transport_04_fuel_F : Pod_Heli_Transport_04_base_F { class Land_Pod_Heli_Transport_04_fuel_F : Pod_Heli_Transport_04_base_F {
transportFuel = 0; //3k transportFuel = 0; //3k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = 20000; GVAR(fuelCargo) = 10000;
}; };
class Static;
class Building : Static {
class ACE_Actions {
class ACE_MainActions {};
};
};
class NonStrategic : Building {};
class House_Base : NonStrategic {};
class House : House_Base {};
class House_F : House {};
class House_Small_F : House_F {};
class Strategic : Building {};
// Vanilla buildings // Vanilla buildings
class Land_Fuelstation_Feed_F : House_Small_F { class Land_Fuelstation_Feed_F : House_Small_F {
transportFuel = 0; //50k transportFuel = 0; //50k
@ -248,6 +493,7 @@ class CfgVehicles {
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = -1; GVAR(fuelCargo) = -1;
}; };
class Land_fs_feed_F : House_Small_F { class Land_fs_feed_F : House_Small_F {
transportFuel = 0; //50k transportFuel = 0; //50k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
@ -261,36 +507,42 @@ class CfgVehicles {
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = -1; GVAR(fuelCargo) = -1;
}; };
class Land_Fuelstation : Strategic { class Land_Fuelstation : Strategic {
transportFuel = 0; //50k transportFuel = 0; //50k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = -1; GVAR(fuelCargo) = -1;
}; };
class Land_Fuelstation_army : Strategic { class Land_Fuelstation_army : Strategic {
transportFuel = 0; //50k transportFuel = 0; //50k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = -1; GVAR(fuelCargo) = -1;
}; };
class Land_Benzina_schnell : Strategic { class Land_Benzina_schnell : Strategic {
transportFuel = 0; //50k transportFuel = 0; //50k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = -1; GVAR(fuelCargo) = -1;
}; };
class Land_A_FuelStation_Feed : Strategic { class Land_A_FuelStation_Feed : Strategic {
transportFuel = 0; //50k transportFuel = 0; //50k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = -1; GVAR(fuelCargo) = -1;
}; };
class Land_Ind_FuelStation_Feed_EP1 : Strategic { class Land_Ind_FuelStation_Feed_EP1 : Strategic {
transportFuel = 0; //50k transportFuel = 0; //50k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
GVAR(hooks[]) = {{0,0,0}}; GVAR(hooks[]) = {{0,0,0}};
GVAR(fuelCargo) = -1; GVAR(fuelCargo) = -1;
}; };
class Land_FuelStation_Feed_PMC : Strategic { class Land_FuelStation_Feed_PMC : Strategic {
transportFuel = 0; //50k transportFuel = 0; //50k
MACRO_REFUEL_ACTIONS MACRO_REFUEL_ACTIONS
@ -325,4 +577,244 @@ class CfgVehicles {
RHS_Ural_Fuel_VV_01 : RHS_Ural_Fuel_MSV_01 10000 RHS_Ural_Fuel_VV_01 : RHS_Ural_Fuel_MSV_01 10000
LOP_UA_Ural_fuel : RHS_Ural_Fuel_VV_01 10000 LOP_UA_Ural_fuel : RHS_Ural_Fuel_VV_01 10000
*/ */
// Trucks
// Src: HEMTT http://www.inetres.com/gp/military/cv/eng/M977.html 583L > 483km
// Src: https://en.wikipedia.org/wiki/Heavy_Expanded_Mobility_Tactical_Truck 587L > 483km
// Src: https://en.wikipedia.org/wiki/Kamaz_Typhoon ? > 1200km
// Src: https://en.wikipedia.org/wiki/Humvee 95L
// Src: https://en.wikipedia.org/wiki/RG-33 80 gal = 302
// Src: MTVR http://oshkoshdefense.com/wp-content/uploads/2013/08/MTVR_StndCargo_SS_6-13-11.pdf 295L
// Src: M1078 http://tarakia.weebly.com/ta-vehicles.html 219L
// Src: https://en.wikipedia.org/wiki/Ural-4320 360L
// Src: http://www.automobile-catalog.com/car/2012/1024400/gaz_233011_tigr.html 138L
// Src: https://en.wikipedia.org/wiki/UAZ-469 78L
// Src: https://en.wikipedia.org/wiki/GAZ-66 210L
// Tracked IFV
// Src: https://en.wikipedia.org/wiki/Marder_%28IFV%29 652L > 520km
// Src: https://en.wikipedia.org/wiki/Tanque_Argentino_Mediano ~250L > 500km (200L additional tank for 400km range boost)
// Src: https://en.wikipedia.org/wiki/ACEC_Cobra 309L > 600km
// Src: https://en.wikipedia.org/wiki/Egyptian_Infantry_Fighting_Vehicle 454L > 482km
// Src: https://en.wikipedia.org/wiki/Lazika 400L > 400-450km
// Src: https://en.wikipedia.org/wiki/Type_73_Armored_Personnel_Carrier 450L > 300km
// Src: https://en.wikipedia.org/wiki/BMP-1 462L > 500-600km
// Src: http://www.inetres.com/gp/military/cv/inf/BMP-1.html 460L > 600km
// Src: http://www.inetres.com/gp/military/cv/inf/BMP-2.html 460L > 600km
// Src: http://www.inetres.com/gp/military/cv/inf/M2.html 662L > 483-402km
// Src: https://en.wikipedia.org/wiki/2T_Stalker ? > 1000km
// Src: https://en.wikipedia.org/wiki/Namer ? > 500km
// Src: https://en.wikipedia.org/wiki/Warrior_tracked_armoured_vehicle ? > 660km
// Src: http://www.globalsecurity.org/military/systems/ground/m113-specs.htm 360L
// Src: http://afvdb.50megs.com/usa/m2bradley.html 746L
// Src: https://en.wikipedia.org/wiki/BMD-1 300L
// Trend: 1-2 L/km
// Wheeled IFV/APC
// Src: https://en.wikipedia.org/wiki/BTR-60 290L > 500km
// Src: http://www.inetres.com/gp/military/cv/inf/BTR-70.html 350L > 600km
// Src: http://www.inetres.com/gp/military/cv/inf/BTR-80.html 300L > 600km
// Src: https://en.wikipedia.org/wiki/Mowag_Piranha 4x4 200L > 700km
// Src: https://en.wikipedia.org/wiki/Mowag_Piranha 6x6 200L > 500km
// Src: https://en.wikipedia.org/wiki/ERC_90_Sagaie 242L > 700km
// Src: https://en.wikipedia.org/wiki/V%C3%A9hicule_de_l%27Avant_Blind%C3%A9 310L > 1200km
// Src: https://en.wikipedia.org/wiki/Panhard_M3 165L > 600km
// Src: https://fr.wikipedia.org/wiki/V%C3%A9hicule_blind%C3%A9_de_combat_d%27infanterie 400L > 750km
// Src: https://de.wikipedia.org/wiki/Sp%C3%A4hwagen_Fennek 230L > 460-1000km
// Src: http://www.inetres.com/gp/military/cv/inf/LAV.html 269L > 660km
// Src: http://www.inetres.com/gp/military/cv/inf/M1126.html 200L > 531km
// Src: https://en.wikipedia.org/wiki/Patria_AMV ? > 600-850km
// Src: https://en.wikipedia.org/wiki/Otokar_Arma ? > 700km
// Trend: 0.3-0.6 L/km
// MBT
// Src: http://www.inetres.com/gp/military/cv/tank/Leopard2.html 1200L > 550km
// Src: http://www.inetres.com/gp/military/cv/tank/M1.html 1909L > 479km
// Src: https://en.wikipedia.org/wiki/T-80 1100L > 335km
// Src: https://en.wikipedia.org/wiki/T-72 1200L > 490km
// Trend: 2-4 L/km
// Artillery
// Src: http://www.inetres.com/gp/military/cv/arty/M109.html 511L > 349km
// Src: https://en.wikipedia.org/wiki/2S3_Akatsiya 830L > 500km
// Other
// https://en.wikipedia.org/wiki/ZSU-23-4 515L
// Helicopter
// Src: http://www.bga-aeroweb.com/Defense/UH-1Y-Venom.html 1172kg / 0.81 kg/L = 1447L
// Src: http://www.bga-aeroweb.com/Defense/AH-1Z-Viper.html 1296kg / 0.81 kg/L = 1600L
// Src: http://www.army-technology.com/projects/black_hawk/ 1360L
// Src: http://www.bga-aeroweb.com/Defense/CH-47-Chinook.html 3914L
// Src: http://helicopters.axlegeeks.com/l/61/Boeing-AH-64-Apache 375 gal = 1420L
// Src: https://en.wikipedia.org/wiki/Mil_Mi-8 3700l
// Src: Google Ka-52 1870L
// Src: http://www.airforce-technology.com/projects/hind/ 1500kg / 0.81 L/kg = 1851L
// Src: https://en.wikipedia.org/wiki/MD_Helicopters_MH-6_Little_Bird 242L
// Src: http://www.globalsecurity.org/military/world/europe/aw159-specs.htm 1004L
// Src: https://en.wikipedia.org/wiki/AgustaWestland_AW101 3 * 1074L = 3222L
// Src: http://www.aviastar.org/helicopters_eng/ka-62.php 1450L
// Planes
// Src: http://www.theaviationzone.com/factsheets/c130j.asp 20820kg / 0.81 kg/L = 25704L
// Src: http://www.avialogs.com/viewer/avialogs-documentviewer.php?id=3298 p29 1644 gal = 6223L
// Src: http://www.airforce-technology.com/projects/su25/ 3600L
// Src: http://www.thaitechnics.com/aircraft/L159.html 1551kg / 0.81 kg/L = 1914L
// Src: https://en.wikipedia.org/wiki/Yakovlev_Yak-130 1700kg / 0.81 kg/L = 2099L
// Src: http://www.adcom-systems.com/ENG/UAV/YAHBON-R2/Overview.html 270L
// BWMod
class BWA3_Puma_base: Tank_F {
// Assuming 1 L/km
GVAR(fuelCapacity) = 700;
};
class BWA3_Leopard_base: Tank_F {
GVAR(fuelCapacity) = 1160;
};
// RHS
class RHS_UH1_Base : Heli_light_03_base_F {
GVAR(fuelCapacity) = 1447;
};
class RHS_UH60_Base : Heli_Transport_01_base_F {
GVAR(fuelCapacity) = 1360;
};
class RHS_CH_47F_base : Heli_Transport_02_base_F {
GVAR(fuelCapacity) = 3914;
};
class RHS_AH1Z_base : Heli_Attack_01_base_F {
GVAR(fuelCapacity) = 1600;
};
class RHS_AH64_base : Heli_Attack_01_base_F {
GVAR(fuelCapacity) = 1420;
};
class rhsusf_m1a1tank_base : MBT_01_base_F {
GVAR(fuelCapacity) = 1909;
};
class rhsusf_m109tank_base : MBT_01_arty_base_F {
GVAR(fuelCapacity) = 511;
};
class rhsusf_hmmwe_base : MRAP_01_base_F {
GVAR(fuelCapacity) = 95;
};
class rhsusf_rg33_base : MRAP_01_base_F {
GVAR(fuelCapacity) = 302;
};
class rhsusf_fmtv_base : Truck_01_base_F {
GVAR(fuelCapacity) = 219;
};
class rhsusf_m113_tank_base : APC_Tracked_02_base_F {
GVAR(fuelCapacity) = 360;
};
class RHS_M2A2_Base : APC_Tracked_03_base_F {
GVAR(fuelCapacity) = 746;
};
class RHS_A10 : Plane_CAS_01_base_F {
GVAR(fuelCapacity) = 6223;
};
class RHS_C130J_Base : Plane_Base_F {
GVAR(fuelCapacity) = 25704;
};
class O_Plane_CAS_02_F : Plane_CAS_02_base_F {};
class RHS_su25_base : O_Plane_CAS_02_F {
GVAR(fuelCapacity) = 3600;
};
class RHS_Mi8_base : Heli_Light_02_base_F {
GVAR(fuelCapacity) = 3700;
};
class RHS_Ka52_base : Heli_Attack_02_base_F {
GVAR(fuelCapacity) = 1870;
};
class RHS_Mi24_base : Heli_Attack_02_base_F {
GVAR(fuelCapacity) = 1851;
};
class rhs_bmp3tank_base : Tank_F {
// Assuming same as BMP1/2
GVAR(fuelCapacity) = 460;
};
class a3t72tank_base : Tank_F {
GVAR(fuelCapacity) = 1200;
};
class rhs_tank_base : Tank_F {
GVAR(fuelCapacity) = 1200;
};
class rhs_t80b : rhs_tank_base {
GVAR(fuelCapacity) = 1100;
};
class RHS_Ural_BaseTurret : Truck_F {
GVAR(fuelCapacity) = 360;
};
class rhs_tigr_base : MRAP_02_base_F {
GVAR(fuelCapacity) = 138;
};
class RHS_UAZ_Base : Offroad_01_base_f {
GVAR(fuelCapacity) = 78;
};
class rhs_zsutank_base : APC_Tracked_02_base_F {
GVAR(fuelCapacity) = 515;
};
class rhs_bmp1tank_base : Tank_F {
GVAR(fuelCapacity) = 460;
};
class rhs_truck : Truck_F {
GVAR(fuelCapacity) = 210;
};
class rhs_btr_base : Wheeled_Apc_F {};
class rhs_btr60_base : rhs_btr_base {
GVAR(fuelCapacity) = 290;
};
class rhs_btr70_vmf : rhs_btr_base {
GVAR(fuelCapacity) = 350;
};
class rhs_btr70_msv : rhs_btr70_vmf {};
class rhs_btr80_msv : rhs_btr70_msv {
GVAR(fuelCapacity) = 300;
};
class rhs_a3spruttank_base : Tank_F {
// BMD4 / 2S25
GVAR(fuelCapacity) = 400;
};
class rhs_bmd_base : Tank_F {
GVAR(fuelCapacity) = 300;
};
class rhs_2s3tank_base : Tank_F {
GVAR(fuelCapacity) = 830;
};
class OTR21_Base : Truck_F {
// No info about ballistic carrier ;-)
GVAR(fuelCapacity) = 500;
};
}; };

View File

@ -18,9 +18,6 @@
* Public: No * Public: No
*/ */
#include "script_component.hpp" #include "script_component.hpp"
#define FLOWRATE_GND 0.165 // TODO ace_vehicles messes with fuel capacity - why?
#define FLOWRATE_AIR 0.67
private ["_startingOffset", "_startDistanceFromCenter", "_closeInUnitVector", "_closeInMax", "_closeInMin", "_closeInDistance", "_endPosTestOffset", "_endPosTest", "_doesIntersect", "_startingPosShifted", "_endASL", "_rate", "_maxFuel"]; private ["_startingOffset", "_startDistanceFromCenter", "_closeInUnitVector", "_closeInMax", "_closeInMin", "_closeInDistance", "_endPosTestOffset", "_endPosTest", "_doesIntersect", "_startingPosShifted", "_endASL", "_rate", "_maxFuel"];
params ["_unit", "_target", "_startingPosition", "_nozzle"]; params ["_unit", "_target", "_startingPosition", "_nozzle"];
@ -97,12 +94,6 @@ _nozzle setVariable [QGVAR(sink), _target, true];
_nozzle setVariable [QGVAR(fueling), 1, true]; _nozzle setVariable [QGVAR(fueling), 1, true];
_target setVariable [QGVAR(nozzle), _nozzle, true]; _target setVariable [QGVAR(nozzle), _nozzle, true];
_rate = if (_target isKindOf "Air") then { FLOWRATE_AIR * GVAR(rate) [_unit, _target, _nozzle] call FUNC(refuel);
} else {
FLOWRATE_GND * GVAR(rate)
};
_maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> "fuelCapacity");
[_unit, _target, _nozzle, _rate, _maxFuel] call FUNC(refuel);
true true

View File

@ -6,8 +6,6 @@
* 0: The unit <OBJECT> * 0: The unit <OBJECT>
* 1: The target <OBJECT> * 1: The target <OBJECT>
* 2: The nozzle <OBJECT> * 2: The nozzle <OBJECT>
* 3: The rate <NUMBER>
* 4: The maximum fuel volume <NUMBER>
* *
* Return Value: * Return Value:
* None * None
@ -17,12 +15,15 @@
#include "script_component.hpp" #include "script_component.hpp"
private ["_sink"]; private ["_sink", "_rate", "_maxFuel"];
params ["_unit", "_target", "_nozzle", "_rate", "_maxFuel"]; params ["_unit", "_target", "_nozzle"];
_sink = _nozzle getVariable [QGVAR(sink), objNull]; _sink = _nozzle getVariable [QGVAR(sink), objNull];
if (isNull _sink) exitWith {}; if (isNull _sink) exitWith {};
_rate = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> QGVAR(flowRate)) * GVAR(rate);
_maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> QGVAR(fuelCapacity));
[{ [{
private ["_source", "_sink", "_fuelInSource", "_fuelInSink", "_finished", "_fueling"]; private ["_source", "_sink", "_fuelInSource", "_fuelInSink", "_finished", "_fueling"];
params ["_args", "_pfID"]; params ["_args", "_pfID"];