ACE3/addons/common/functions/fnc_getDefaultAnim.sqf
2015-01-13 20:56:02 +01:00

30 lines
1.0 KiB
Plaintext

// by commy2
#include "script_component.hpp"
private ["_unit", "_anim", "_stance"];
_unit = _this select 0;
_anim = toLower (animationState _unit);
// stance is broken for some animations.
_stance = stance _unit;
if (_anim find "ppne" == 4) then {
_stance = "PRONE";
};
if (_anim find "pknl" == 4) then {
_stance = "CROUCH";
};
if (_anim find "perc" == 4) then {
_stance = "STAND";
};
_anim = format ["AmovP%1M%2S%3W%4D%5",
["erc", "knl", "pne"] select (["STAND", "CROUCH", "PRONE"] find _stance) max 0,
["stp", "run"] select (vectorMagnitude velocity _unit > 1),
[["ras", "low"] select weaponLowered _unit, "non"] select (currentWeapon _unit == ""),
["non", "rfl", "lnr", "pst", "bin"] select (["", primaryWeapon _unit, secondaryWeapon _unit, handgunWeapon _unit, binocular _unit] find currentWeapon _unit) max 0,
["non", _anim select [count _anim - 1, 1]] select (_anim select [count _anim - 2, 2] in ["df", "db", "dl", "dr"])
];
["", _anim] select isClass (configFile >> "CfgMovesMaleSdr" >> "States" >> _anim)