#define XEH_INHERITED class EventHandlers {class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {};} class CBA_Extended_EventHandlers; class CfgVehicles { // Static weapons class LandVehicle; class StaticWeapon: LandVehicle { GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,1.2,0}; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1.2,0}; }; class StaticCannon: StaticWeapon { GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; // Invisible Target Soldier class TargetSoldierBase: StaticWeapon { GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class StaticMortar; class Mortar_01_base_F: StaticMortar { GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,1.2,0}; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1.2,0}; }; // Big 1.70 and 1.84 Autonomous AA Turrets class StaticMGWeapon; class AAA_System_01_base_F: StaticMGWeapon { // Praetorian 1C (aka Phalanx CIWS) GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class SAM_System_01_base_F: StaticMGWeapon { // Mk49 Spartan GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class SAM_System_02_base_F: StaticMGWeapon { // Mk21 Centurion GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class SAM_System_03_base_F: StaticMGWeapon { // MIM-145 Defender GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class SAM_System_04_base_F: StaticMGWeapon { // S-750 Rhea GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class B_Ship_Gun_01_base_F: StaticMGWeapon { // Mk45 Hammer GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class B_Ship_MRLS_01_base_F: StaticMGWeapon { // Mk41 VLS GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class Radar_System_01_base_F: StaticMGWeapon { // AN/MPQ-105 Radar GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class Radar_System_02_base_F: StaticMGWeapon { // R-750 Cronus Radar GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; // Ammo boxes class ThingX; class Items_base_F; class ReammoBox_F: ThingX { GVAR(canCarry) = 0; GVAR(canDrag) = 0; GVAR(dragPosition)[] = {0,1.2,0}; }; class Slingload_base_F: ReammoBox_F { GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; // Remove actions from Taru Pods class Pod_Heli_Transport_04_base_F: Slingload_base_F { GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class Pod_Heli_Transport_04_crewed_base_F: StaticWeapon { GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class EAST_Box_Base: ReammoBox_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; class IND_Box_Base: ReammoBox_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; /*class FIA_Box_Base_F: ReammoBox_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; };*/ class NATO_Box_Base: ReammoBox_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; class Box_Syndicate_Ammo_F: ReammoBox_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; class Box_IED_Exp_F: ReammoBox_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; class Box_Syndicate_Wps_F: ReammoBox_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; class Box_Syndicate_WpsLaunch_F: ReammoBox_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; class Box_NATO_Equip_F: ReammoBox_F { GVAR(canCarry) = 1; GVAR(carryDirection) = 270; GVAR(canDrag) = 1; }; class Box_NATO_Uniforms_F: ReammoBox_F { GVAR(canCarry) = 1; GVAR(carryDirection) = 270; GVAR(canDrag) = 1; }; // Remove Larger crate dragging support. // Would be better to allow some sort of joint push/drag functionality // Requiring 2 units to access the larger crates and attaching them together (a crappy method of doing it) // in order to move the bigger ones. Currently simply remove support. // I believe these crates are currently broken (hitbox doesn't work or something) in 1.22 (2014-07-04) class Box_East_AmmoVeh_F: EAST_Box_Base { GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class Box_NATO_AmmoVeh_F: NATO_Box_Base { GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; class Box_IND_AmmoVeh_F: IND_Box_Base { GVAR(canCarry) = 0; GVAR(canDrag) = 0; }; // Plastic and metal case class PlasticCase_01_base_F: Items_base_F { GVAR(canCarry) = 1; GVAR(carryDirection) = 270; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1.2,0}; GVAR(dragDirection) = 270; }; class MetalCase_01_base_F: Items_base_F { GVAR(canCarry) = 1; GVAR(carryDirection) = 270; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1.2,0}; }; // Barrier class RoadCone_F: ThingX { GVAR(canCarry) = 1; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1.2,0}; }; class RoadBarrier_F: RoadCone_F { GVAR(carryPosition)[] = {0,1,0.300671}; }; // Misc crates class Constructions_base_F; class Land_WoodenBox_F: Constructions_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1.4,0}; }; class Land_WoodenCrate_01_F: ThingX { GVAR(canCarry) = 1; GVAR(carryDirection) = 270; GVAR(canDrag) = 1; GVAR(dragDirection) = 90; }; class Land_PaperBox_01_small_closed_base_F: Items_base_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; GVAR(dragDirection) = 90; }; class Box_UAV_06_base_F: Items_base_F { GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; class ACE_RepairItem_Base: ThingX {}; class ACE_Track: ACE_RepairItem_Base { GVAR(canCarry) = 1; }; class ACE_Wheel: ACE_RepairItem_Base { GVAR(canCarry) = 1; }; // Weapons dropped from dead body class WeaponHolderSimulated: ThingX { GVAR(canCarry) = 1; GVAR(carryPosition[]) = {0,0.5,1.3}; GVAR(carryDirection) = 0; // z-position floats from -1.2 to > 0 // It's OK for carrying but odd for dragging // Needs workaround to drag correctly. Disabled ATM GVAR(canDrag) = 0; GVAR(dragPosition[]) = {0,1,0}; GVAR(dragDirection) = 0; }; class ReammoBox; // Dropped weapons/gear class WeaponHolder: ReammoBox { GVAR(canCarry) = 1; GVAR(carryPosition[]) = {0,0.5,1}; GVAR(carryDirection) = 0; GVAR(canDrag) = 1; GVAR(dragPosition[]) = {0,1,0}; GVAR(dragDirection) = 0; }; class Lamps_base_F; class Land_PortableLight_single_F: Lamps_base_F { GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,1.2,0}; GVAR(carryDirection) = 180; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1.2,0}; GVAR(dragDirection) = 180; }; class FloatingStructure_F; class Land_Camping_Light_F: FloatingStructure_F { GVAR(canCarry) = 1; // If y < 0.9 player gets damaged GVAR(carryPosition)[] = {0,0.9,1}; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,0.7,0}; }; class Land_Camping_Light_off_F: ThingX { GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.9,1}; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,0.7,0}; }; // Flexible Fuel tanks, 300L class FlexibleTank_base_F: ThingX { GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.65,0}; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1,0}; }; // Some terrain objects class Land_CampingTable_F: ThingX { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,1,0.5}; }; class Land_CampingTable_small_F: ThingX { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,1,0.5}; }; class Land_GarbageContainer_closed_F: ThingX { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; GVAR(dragDirection) = 180; }; class Land_GarbageContainer_open_F: ThingX { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; GVAR(dragDirection) = 180; }; class Land_Sun_chair_F: ThingX { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryDirection) = 90; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1,0}; GVAR(dragDirection) = 90; }; class Land_TablePlastic_01_F: ThingX { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,1,0}; GVAR(canDrag) = 1; }; class Land_Tyre_F: ThingX { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.6,1}; }; class Land_WoodenTable_large_F: ThingX { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; GVAR(dragDirection) = 90; }; class Land_BarrelSand_F: Items_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1,0}; }; class Land_BarrelWater_F: Items_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1,0}; }; class Land_Bucket_F: Items_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.6,1}; }; class Land_CanisterPlastic_F: Items_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.6,0}; }; class Land_GarbageBarrel_01_english_F: Items_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; }; class Land_MetalBarrel_F: Items_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1,0}; }; class Land_Pallet_F: Constructions_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(canDrag) = 1; }; class Land_Pallet_vertical_F: Constructions_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.6,0.6}; GVAR(carryDirection) = 180; }; class Land_WheelCart_F: Constructions_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; }; class Land_WorkStand_F: Constructions_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,1,0}; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1,0}; }; class Market_base_F; class Land_Basket_F: Market_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.6,0.5}; }; class Land_WoodenCart_F: Market_base_F { EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; }; // Static classes need XEH class NonStrategic; class Land_Pallets_F: NonStrategic { XEH_INHERITED; EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; }; class Camping_base_F; class Land_CampingChair_V1_folded_F: Camping_base_F { XEH_INHERITED; EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.6,1}; }; class Stall_base_F; class Land_CratesPlastic_F: Stall_base_F { XEH_INHERITED; EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canCarry) = 1; GVAR(carryPosition)[] = {0,0.6,1}; }; class House_Small_F; class Land_MetalBarrel_empty_F: House_Small_F { XEH_INHERITED; EGVAR(interaction,replaceTerrainObject) = 1; GVAR(canDrag) = 1; GVAR(dragPosition)[] = {0,1,0}; }; };