Add missile hiding for malyutka

This commit is contained in:
Brandon Danyluk 2021-05-21 15:36:32 -06:00
parent 790faf1c21
commit 22e5596399
5 changed files with 89 additions and 28 deletions

View File

@ -99,31 +99,14 @@ class CfgVehicles {
};
};
};
};
class ThingX;
class GVAR(plug): ThingX {
displayName = QGVAR(plug);
scope = 1;
scopeCurator = 1;
model = "\a3\Structures_F_Orange\VR\Helpers\Sign_sphere10cm_Geometry_F.p3d";
destrType = "DestructNo";
class ACE_Actions {
class ACE_MainActions {
displayName = CSTRING(plug);
condition = "true";
distance = 2;
class GVAR(pickup) {
displayName = CSTRING(pickupPlug);
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canPickupPlug));
statement = QUOTE([ARR_2(_player,_target)] call FUNC(pickupPlug));
};
class GVAR(unattach) {
displayName = CSTRING(unattachPlug);
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canUnattachPlug));
statement = QUOTE([ARR_2(_player,_target)] call FUNC(unattachPlug));
};
class AnimationSources {
class missile_hide {
source = "user";
animPeriod = 0.0001;
initPhase = 0;
maxValue = "1";
minValue = "0";
};
};
};
@ -165,8 +148,8 @@ class CfgVehicles {
optics = 1;
turretInfoType = "RscWeaponEmpty";
gunnerOpticsModel = "\a3\weapons_f_gamma\reticle\GMG_01_Optics_Gunner_F";
minElev = 0;
maxElev = 0;
minElev = -30;
maxElev = 20;
weapons[] = { QGVAR(9s415_dummy_weapon) };
magazines[] = { QGVAR(9s415_dummy) };
@ -211,6 +194,34 @@ class CfgVehicles {
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
displayName = CSTRING(9s415);
selection = "center";
};
};
};
class ThingX;
class GVAR(plug): ThingX {
displayName = QGVAR(plug);
scope = 1;
scopeCurator = 1;
model = "\a3\Structures_F_Orange\VR\Helpers\Sign_sphere10cm_Geometry_F.p3d";
destrType = "DestructNo";
class ACE_Actions {
class ACE_MainActions {
displayName = CSTRING(plug);
condition = "true";
distance = 2;
class GVAR(pickup) {
displayName = CSTRING(pickupPlug);
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canPickupPlug));
statement = QUOTE([ARR_2(_player,_target)] call FUNC(pickupPlug));
};
class GVAR(unattach) {
displayName = CSTRING(unattachPlug);
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canUnattachPlug));
statement = QUOTE([ARR_2(_player,_target)] call FUNC(unattachPlug));
};
};
};
};

Binary file not shown.

View File

@ -2,11 +2,20 @@ class CfgSkeletons {
class Default {
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
skeletonBones[] = {
"suitcase", "",
"missile", "suitcase"
};
};
class 9m14_skeleton: Default {};
class 9m14_mount_skeleton: Default {};
class 9m14_joystick_skeleton: Default {};
class 9m14_joystick_skeleton: Default {
skeletonBones[] = {
"box", "",
"periscope", "box",
"view_pos", "periscope"
};
};
};
class CfgModels {
class Default {
@ -23,10 +32,50 @@ class CfgModels {
sectionsInherit = "";
sections[] = {};
skeletonName = "9m14_mount_skeleton";
class Animations {
class missile_hide {
type = "hide";
source = "user";
selection = "missile";
animPeriod = 0.0001;
minValue = 0;
maxValue = 1;
minPhase = 0;
maxPhase = 1;
hideValue = 0.99;
};
};
};
class 9m14_joystick: Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "9m14_joystick_skeleton";
class Animations {
class MainGun {
type = "rotation";
selection = "view_pos";
sourceAddress = "clamp";
source = "MainGun";
axis = "elevation_axis";
animPeriod = 0.01;
initPhase = 0;
maxValue = "rad 360";
minValue = "rad -360";
angle1 = "rad -360";
angle0 = "rad +360";
};
class MainTurret {
type = "rotation";
source = "MainTurret";
selection = "periscope";
sourceAddress = "loop";
axis = "rotation_axis";
animPeriod = 0.005;
minValue = "rad -360";
maxValue = "rad +360";
angle1 = "rad -360";
angle0 = "rad +360";
};
};
};
};

View File

@ -28,6 +28,7 @@ private _statuses = _controlBox getVariable QGVAR(plugStatus);
private _availableIndex = _statuses findIf { (_x isNotEqualTo objNull) && (someAmmo _x) };
if (_availableIndex >= 0) then {
private _malyutka = _statuses select _availableIndex;
_malyutka animate ["missile_hide", 1];
[_malyutka, QGVAR(9m14)] call BIS_fnc_fire;
} else {
// how did we get here?