mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
dbe372cb48
* Code cleanup * Moved keybinds to initKeybinds.sqf * Update addons/dragging/initKeybinds.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update addons/dragging/functions/fnc_carryObject.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update addons/dragging/functions/fnc_getWeight.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Rephrasing and adjustments for dragging --------- Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
432 lines
12 KiB
C++
432 lines
12 KiB
C++
#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};
|
|
};
|
|
};
|