mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Added generic dummy
This commit is contained in:
parent
bdc5e54f55
commit
a37608b9b1
@ -26,11 +26,6 @@
|
||||
}; \
|
||||
};
|
||||
|
||||
#define MACRO_DUMMY_PROPERTIES \
|
||||
displayName = QGVAR(dummy_obj); \
|
||||
scope = 2; \
|
||||
scopeCurator = 2;
|
||||
|
||||
class CfgVehicles {
|
||||
class ACE_Module;
|
||||
class ACE_moduleRearmSettings : ACE_Module {
|
||||
@ -127,80 +122,103 @@ class CfgVehicles {
|
||||
MACRO_REARM_PICKUPAMMO
|
||||
};
|
||||
|
||||
class Heli_Transport_04_base_F;
|
||||
class O_Heli_Transport_04_ammo_F : Heli_Transport_04_base_F {
|
||||
XEH_ENABLED;
|
||||
transportAmmo = 0;
|
||||
MACRO_REARM_PICKUPAMMO
|
||||
};
|
||||
|
||||
class Land_Pod_Heli_Transport_04_base_F : StaticWeapon {};
|
||||
class Land_Pod_Heli_Transport_04_ammo_F : Land_Pod_Heli_Transport_04_base_F {
|
||||
XEH_ENABLED;
|
||||
transportAmmo = 0;
|
||||
MACRO_REARM_PICKUPAMMO
|
||||
};
|
||||
|
||||
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_Ammo_F : Slingload_01_Base_F {
|
||||
XEH_ENABLED;
|
||||
transportAmmo = 0;
|
||||
MACRO_REARM_PICKUPAMMO
|
||||
};
|
||||
|
||||
|
||||
// Dummy Vehicles
|
||||
class ThingX;
|
||||
class GVAR(Bo_GBU12_LGB) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(defaultCarriedObject) : ThingX {
|
||||
EGVAR(dragging,canCarry) = 1;
|
||||
EGVAR(dragging,carryPosition[]) = {0,0.5,0};
|
||||
EGVAR(dragging,carryDirection) = 0;
|
||||
displayName = QGVAR(dummy_obj);
|
||||
scope = 2;
|
||||
scopeCurator = 2;
|
||||
model = "\A3\Weapons_F\AmmoBoxes\AmmoBox_F.p3d"; // TODO replace with custom model
|
||||
};
|
||||
class GVAR(Bo_GBU12_LGB) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F\Ammo\Bomb_01_F.p3d";
|
||||
};
|
||||
class GVAR(Bo_Mk82) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Bo_Mk82) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F\Ammo\Bomb_02_F";
|
||||
};
|
||||
class GVAR(Bomb_04_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Bomb_04_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Bomb_04_F.p3d";
|
||||
};
|
||||
class GVAR(Bomb_03_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Bomb_03_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Bomb_03_F.p3d";
|
||||
};
|
||||
class GVAR(Missile_AA_04_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Missile_AA_04_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Missile_AA_04_F.p3d";
|
||||
};
|
||||
class GVAR(Missile_AA_03_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Missile_AA_03_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Missile_AA_03_F.p3d";
|
||||
};
|
||||
class GVAR(Missile_AGM_02_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Missile_AGM_02_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_02_F.p3d";
|
||||
};
|
||||
class GVAR(Missile_AGM_01_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Missile_AGM_01_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_01_F.p3d";
|
||||
};
|
||||
class GVAR(R_230mm_fly) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(R_230mm_fly) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F\Ammo\Missile_AT_02_F";
|
||||
};
|
||||
class GVAR(R_230mm_HE) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(R_230mm_HE) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F\Ammo\Missile_AT_02_F";
|
||||
};
|
||||
class GVAR(M_PG_AT) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(M_PG_AT) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F\Ammo\Rocket_01_F";
|
||||
};
|
||||
class GVAR(Rocket_04_HE_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Rocket_04_HE_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Rocket_04_HE_F.p3d";
|
||||
};
|
||||
class GVAR(Rocket_03_HE_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Rocket_03_HE_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_F.p3d";
|
||||
};
|
||||
class GVAR(Rocket_04_AP_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Rocket_04_AP_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Rocket_04_AP_F.p3d";
|
||||
};
|
||||
class GVAR(Rocket_03_AP_F) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(Rocket_03_AP_F) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_AP_F.p3d";
|
||||
};
|
||||
// Using wrong model
|
||||
class GVAR(R_80mm_HE) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(R_80mm_HE) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_F.p3d";
|
||||
};
|
||||
class GVAR(R_60mm_HE) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(R_60mm_HE) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_F.p3d";
|
||||
};
|
||||
class GVAR(R_Hydra_HE) : ThingX {
|
||||
MACRO_DUMMY_PROPERTIES
|
||||
class GVAR(R_Hydra_HE) : GVAR(defaultCarriedObject) {
|
||||
model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_F.p3d";
|
||||
};
|
||||
};
|
||||
|
@ -17,28 +17,33 @@
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_dummy", "_ammo"];
|
||||
private ["_ammo", "_dummyName", "_dummyObj"];
|
||||
params ["_args"];
|
||||
_args params ["_unit", "_magazine"];
|
||||
|
||||
_unit setVariable [QGVAR(carriedMagazine), _magazine];
|
||||
_unit setVariable [QGVAR(carriedMagazine), _magazine]; // TODO move to carried object
|
||||
[_unit, QGVAR(vehRearm), true] call EFUNC(common,setForceWalkStatus);
|
||||
|
||||
_dummy = _unit getVariable [QGVAR(dummy), objNull];
|
||||
if !(isNull _dummy) then {
|
||||
detach _dummy;
|
||||
deleteVehicle _dummy;
|
||||
_unit setVariable [QGVAR(dummy), objNull];
|
||||
// TODO use ace carry
|
||||
_dummyObj = _unit getVariable [QGVAR(dummy), objNull];
|
||||
if !(isNull _dummyObj) then {
|
||||
detach _dummyObj;
|
||||
deleteVehicle _dummyObj;
|
||||
_dummyObj setVariable [QGVAR(dummy), objNull];
|
||||
};
|
||||
|
||||
_ammo = getText (configFile >> "CfgMagazines" >> _magazine >> "ammo");
|
||||
_dummy = getText (configFile >> "CfgAmmo" >> _ammo >> QGVAR(dummy));
|
||||
if !(_dummy == "") then {
|
||||
_dummy = _dummy createVehicle (position _unit);
|
||||
_dummy allowDamage false;
|
||||
_dummy attachTo [_unit, [0,0.5,0], "pelvis"];
|
||||
{
|
||||
[[_dummy, [[-1,0,0],[0,0,1]]], QUOTE(DFUNC(makeDummy)), _x] call EFUNC(common,execRemoteFnc);
|
||||
} count (position _unit nearObjects ["CAManBase", 100]);
|
||||
_unit setVariable [QGVAR(dummy), _dummy];
|
||||
_dummyName = getText (configFile >> "CfgAmmo" >> _ammo >> QGVAR(dummy));
|
||||
_dummyObj = objNull;
|
||||
if !(_dummyName == "") then {
|
||||
_dummyObj = _dummyName createVehicle (position _unit);
|
||||
} else {
|
||||
_dummyObj = QGVAR(defaultCarriedObject) createVehicle (position _unit);
|
||||
};
|
||||
_dummyObj allowDamage false;
|
||||
_dummyObj attachTo [_unit, [0,0.5,0], "pelvis"];
|
||||
{
|
||||
[[_dummyObj, [[-1,0,0],[0,0,1]]], QUOTE(DFUNC(makeDummy)), _x] call EFUNC(common,execRemoteFnc);
|
||||
} count (position _unit nearObjects ["CAManBase", 100]);
|
||||
_dummyObj setVariable [QGVAR(magazineClass), _magazine, true];
|
||||
_unit setVariable [QGVAR(dummy), _dummyObj];
|
||||
|
Loading…
Reference in New Issue
Block a user