Merge branch 'master' of https://github.com/KoffeinFlummi/ACE3 into repair

This commit is contained in:
commy2 2015-03-28 10:13:36 +01:00
commit 464d078511
20 changed files with 852 additions and 751 deletions

View File

@ -39,6 +39,7 @@ class CfgMovesMaleSdr: CfgMovesBasic {
interpolationRestart = 2;
ConnectTo[] = {"ACE_AmovPercMstpScapWnonDnon",0.1};
InterpolateTo[] = {"Unconscious",0.01,"ACE_AmovPercMstpScapWnonDnon_AmovPercMstpSnonWnonDnon",0.1};
canReload = 0;
};
class ACE_AmovPercMstpScapWnonDnon: ACE_AmovPercMstpSnonWnonDnon_AmovPercMstpScapWnonDnon {
file = "\A3\anims_f\Data\Anim\Sdr\mov\erc\stp\non\non\AmovPercMstpSnonWnonDnon_Ease";
@ -63,6 +64,7 @@ class CfgMovesMaleSdr: CfgMovesBasic {
interpolationRestart = 2;
ConnectTo[] = {"ACE_AmovPercMstpSsurWnonDnon",0.1};
InterpolateTo[] = {"Unconscious",0.01,"ACE_AmovPercMstpSsurWnonDnon_AmovPercMstpSnonWnonDnon",0.1};
canReload = 0;
};
class ACE_AmovPercMstpSsurWnonDnon: ACE_AmovPercMstpSnonWnonDnon_AmovPercMstpSsurWnonDnon {
file = "\A3\anims_f\Data\Anim\Sdr\mov\erc\stp\sur\non\AmovPercMstpSsurWnonDnon";
@ -80,4 +82,3 @@ class CfgMovesMaleSdr: CfgMovesBasic {
};
};
};

View File

@ -25,4 +25,20 @@ class CfgWeapons {
mass = 0;
};
};
class InventoryItem_Base_F;
class ACE_Banana: ACE_ItemCore {
author = "$STR_ACE_Common_ACETeam";
scope = 2;
displayName = "$STR_ACE_Common_bananaDisplayName";
descriptionShort = "$STR_ACE_Common_bananaDescr";
model = PATHTOF(data\banana.p3d);
picture = PATHTOF(data\icon_banana_ca.paa);
icon = "iconObject_circle";
mapSize = 0.034;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
};

View File

@ -34,6 +34,7 @@ if (hasInterface) then {
}] call FUNC(addEventhandler);
["setDir", {(_this select 0) setDir (_this select 1)}] call FUNC(addEventhandler);
["setFuel", {(_this select 0) setFuel (_this select 1)}] call FUNC(addEventhandler);
// hack to get PFH to work in briefing
[QGVAR(onBriefingPFH), "onEachFrame", {
@ -174,11 +175,6 @@ GVAR(OldPlayerWeapon) = currentWeapon ACE_player;
[QGVAR(StateArrested),false,true,QUOTE(ADDON)] call FUNC(defineVariable);
["VehicleSetFuel", {
PARAMS_2(_vehicle,_fuelLevel);
_vehicle setFuel _fuelLevel;
}] call FUNC(addEventhandler);
["displayTextStructured", FUNC(displayTextStructured)] call FUNC(addEventhandler);
["displayTextPicture", FUNC(displayTextPicture)] call FUNC(addEventhandler);

View File

@ -95,6 +95,9 @@ PREP(getVehicleCrew);
PREP(getVersion);
PREP(getWeaponAzimuthAndInclination);
PREP(getWeaponIndex);
PREP(getWeaponModes);
PREP(getWeaponMuzzles);
PREP(getWeaponState);
PREP(getWeaponType);
PREP(getWindDirection);
PREP(goKneeling);

View File

@ -3,7 +3,7 @@
class CfgPatches {
class ADDON {
units[] = {"ACE_Box_Misc"};
weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon"};
weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_main"};
author[] = {"KoffeinFlummi"};

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,73 @@
/*
* Author: commy2
*
* Return current state of the weapon. Attachments and magazines with ammo.
*
* Argument:
* 0: A unit (Object)
* 1: A weapon (String)
*
* Return value:
* Weapon info, format: [attachments, muzzles, magazines, ammo] (Array)
*/
#include "script_component.hpp"
private ["_unit", "_weapon"];
_unit = _this select 0;
_weapon = _this select 1;
private "_muzzles";
_muzzles = [_weapon] call FUNC(getWeaponMuzzles);
private "_weaponInfo";
_weaponInfo = [];
switch (_weapon) do {
case (primaryWeapon _unit): {
_weaponInfo pushBack primaryWeaponItems _unit;
};
case (secondaryWeapon _unit): {
_weaponInfo pushBack secondaryWeaponItems _unit;
};
case (handgunWeapon _unit): {
_weaponInfo pushBack handgunItems _unit;
};
default {
_weaponInfo pushBack ["","","",""];
};
};
// get loaded magazines and ammo
private ["_magazines", "_ammo"];
_magazines = [];
_ammo = [];
{
_magazines pushBack "";
_ammo pushBack 0;
} forEach _muzzles;
{
if (_x select 2) then {
private "_index";
_index = _muzzles find (_x select 4);
if (_index != -1) then {
_magazines set [_index, _x select 0];
_ammo set [_index, _x select 1];
};
};
} forEach magazinesAmmoFull _unit;
_weaponInfo append [_muzzles, _magazines, _ammo];
_weaponInfo

View File

@ -339,6 +339,13 @@
<Key ID="STR_ACE_Common_SettingDisplayTextFontColorDesc">
<English>The color of the text font from the ACE hints. This color is the default color for all text displayed through the ACE Hint system, if the hint text has no other color specified.</English>
</Key>
<Key ID="STR_ACE_Common_bananaDisplayName">
<English>Banana</English>
</Key>
<Key ID="STR_ACE_Common_bananaDescr">
<English>A banana is an edible fruit, botanically a berry, produced by several kinds of large herbaceous flowering plants in the genus Musa.</English>
</Key>
</Package>
</Project>

View File

@ -24,7 +24,7 @@ _onFinish = {
EXPLODE_2_PVT((_this select 0),_caller,_target);
_caller removeItem "ACE_UAVBattery";
playSound3D [QUOTE(PATHTO_R(sounds\exchange_battery.ogg)), objNull, false, getPosASL _caller, 1, 1, 10];
["VehicleSetFuel", [_target], [_target, 1]] call EFUNC(common,targetEvent); //setFuel is local
["setFuel", [_target], [_target, 1]] call EFUNC(common,targetEvent); //setFuel is local
};
_onFailure = {

View File

@ -11,7 +11,7 @@
<Czech>Přepáskovat&lt;br/&gt;Zásobníky</Czech>
<Italian>Ricarica&lt;br/&gt;Caricatori</Italian>
<Portuguese>Reorganizar&lt;br/&gt;Carregadores</Portuguese>
<Hungarian>Újratárazás<&lt;br/&gt;Hungarian>
<Hungarian>Újratárazás&lt;br/&gt;</Hungarian>
<Russian>Перепаковать&lt;br/&gt;магазины</Russian>
</Key>
<Key ID="STR_ACE_MagazineRepack_SelectMagazineMenu">

View File

@ -7,224 +7,224 @@
/*class InventoryItem_Base_F;
class HeadgearItem: InventoryItem_Base_F {
armor = 0;
passThrough = 1;
armor = 0;
passThrough = 1;
};
class H_HelmetB: ItemCore {
class ItemInfo: HeadgearItem {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
class ItemInfo: HeadgearItem {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
};
class H_HelmetB_camo: H_HelmetB {
class ItemInfo: HeadgearItem {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
class ItemInfo: HeadgearItem {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
};
class H_HelmetB_light: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 30;
armor = 3;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 30;
armor = 3;
passThrough = 0.5;
};
};
class H_Booniehat_khk: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 10;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 10;
armor = 0;
passThrough = 1;
};
};
class H_HelmetB_plain_mcamo: H_HelmetB {};
class H_HelmetSpecB: H_HelmetB_plain_mcamo {
class ItemInfo: ItemInfo {
//mass = 50;
armor = 5;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 50;
armor = 5;
passThrough = 0.5;
};
};
class H_HelmetIA: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
};
class H_Cap_red: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 4;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 4;
armor = 0;
passThrough = 1;
};
};
class H_Cap_headphones: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 8;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 8;
armor = 0;
passThrough = 1;
};
};
class H_HelmetCrew_B: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
};
class H_PilotHelmetFighter_B: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 50;
armor = 5;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 50;
armor = 5;
passThrough = 0.5;
};
};
class H_PilotHelmetHeli_B: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 30;
armor = 3;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 30;
armor = 3;
passThrough = 0.5;
};
};
class H_CrewHelmetHeli_B: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 30;
armor = 3;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 30;
armor = 3;
passThrough = 0.5;
};
};
class H_HelmetO_ocamo: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 50;
armor = 5;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 50;
armor = 5;
passThrough = 0.5;
};
};
class H_HelmetLeaderO_ocamo: H_HelmetO_ocamo {
class ItemInfo: ItemInfo {
//mass = 60;
armor = 6;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 60;
armor = 6;
passThrough = 0.5;
};
};
class H_MilCap_ocamo: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
};
class H_BandMask_blk: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 8;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 8;
armor = 0;
passThrough = 1;
};
};
class H_HelmetSpecO_ocamo: H_HelmetO_ocamo {
class ItemInfo: ItemInfo {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 40;
armor = 4;
passThrough = 0.5;
};
};
class H_Bandanna_surfer: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 8;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 8;
armor = 0;
passThrough = 1;
};
};
class H_Shemag_khk: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
};
class H_ShemagOpen_khk: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
};
class H_Beret_blk: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
};
class H_Beret_02: H_Beret_blk {
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
};
class H_Watchcap_blk: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
};
class H_TurbanO_blk: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 8;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 8;
armor = 0;
passThrough = 1;
};
};
class H_StrawHat: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
};
class H_Hat_blue: H_HelmetB {
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
//mass = 6;
armor = 0;
passThrough = 1;
};
};
class H_RacingHelmet_1_F: H_HelmetB_camo {
class ItemInfo: ItemInfo {
//mass = 50;
armor = 5;
passThrough = 0.5;
};
class ItemInfo: ItemInfo {
//mass = 50;
armor = 5;
passThrough = 0.5;
};
};*/

View File

@ -1,62 +1,62 @@
class Man;
class CAManBase: Man {
class HitPoints {
class HitHead {
/*armor = 1;
passThrough = 1;
radius = 0.1;
explosionShielding = 0.5;
minimalHit = 0;*/
class HitPoints {
class HitHead {
/*armor = 1;
passThrough = 1;
radius = 0.1;
explosionShielding = 0.5;
minimalHit = 0;*/
};
class HitBody {
/*armor = 1;
passThrough = 1;
radius = 0.15;
explosionShielding = 10;
minimalHit = 0;*/
};
class HitHands {
/*armor = 1;
passThrough = 1;
radius = 0.08;
explosionShielding = 1;
minimalHit = 0;*/
};
class HitLegs {
/*armor = 1;
passThrough = 1;
radius = 0.1;
explosionShielding = 1;
minimalHit = 0;*/
};
};
class HitBody {
/*armor = 1;
passThrough = 1;
radius = 0.15;
explosionShielding = 10;
minimalHit = 0;*/
};
class HitHands {
/*armor = 1;
passThrough = 1;
radius = 0.08;
explosionShielding = 1;
minimalHit = 0;*/
};
class HitLegs {
/*armor = 1;
passThrough = 1;
radius = 0.1;
explosionShielding = 1;
minimalHit = 0;*/
};
};
/*armor = 2;
armorStructural = 5;*/
/*armor = 2;
armorStructural = 5;*/
};
class Civilian: CAManBase {
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
class HitBody: HitBody {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitLegs: HitLegs {
armor = 2;
};
};*/
class HitLegs: HitLegs {
armor = 2;
};
};*/
};
/*class Civilian_F: Civilian {};
@ -67,503 +67,503 @@ class SoldierEB: CAManBase {};
class SoldierGB: CAManBase {};
class B_Soldier_base_F: SoldierWB {
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitLegs: HitLegs {
armor = 2;
};
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitLegs: HitLegs {
armor = 2;
};
};
armor = 2;
armorStructural = 5;*/
armor = 2;
armorStructural = 5;*/
};
class B_Soldier_02_f: B_Soldier_base_F { // t-shirt
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
class HitBody: HitBody {
armor = 1;
};
class HitBody: HitBody {
armor = 1;
};
class HitHands: HitHands {
armor = 1;
};
class HitHands: HitHands {
armor = 1;
};
class HitLegs: HitLegs {
armor = 2;
};
};*/
class HitLegs: HitLegs {
armor = 2;
};
};*/
armorStructural = 5; //7;
armorStructural = 5; //7;
};
class B_Soldier_03_f: B_Soldier_base_F { // sleeves
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
class HitBody: HitBody {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 1;
};
class HitHands: HitHands {
armor = 1;
};
class HitLegs: HitLegs {
armor = 2;
};
};*/
class HitLegs: HitLegs {
armor = 2;
};
};*/
armorStructural = 5; //7;
armorStructural = 5; //7;
};
class B_Soldier_04_f: B_Soldier_base_F { // heli pilot
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitBody: HitBody {
/*armor = 2;*/
passThrough = 1; //0.5;
/*explosionShielding = 2.4;*/
};
class HitBody: HitBody {
/*armor = 2;*/
passThrough = 1; //0.5;
/*explosionShielding = 2.4;*/
};
class HitHands: HitHands {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1.2;*/
};
class HitHands: HitHands {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1.2;*/
};
class HitLegs: HitLegs {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1.2;*/
class HitLegs: HitLegs {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1.2;*/
};
};
};
};
class B_Soldier_05_f: B_Soldier_base_F { // cas pilot
armorStructural = 5; //3;
armorStructural = 5; //3;
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitBody: HitBody {
armor = 3; //2;
passThrough = 1; //0.5;
/*explosionShielding = 2.4;*/
};
class HitBody: HitBody {
armor = 3; //2;
passThrough = 1; //0.5;
/*explosionShielding = 2.4;*/
};
class HitHands: HitHands {
armor = 3; //8;
/*passThrough = 1;
explosionShielding = 1.2;*/
};
class HitHands: HitHands {
armor = 3; //8;
/*passThrough = 1;
explosionShielding = 1.2;*/
};
class HitLegs: HitLegs {
armor = 3; //8;
/*passThrough = 1;
explosionShielding = 1.2;*/
class HitLegs: HitLegs {
armor = 3; //8;
/*passThrough = 1;
explosionShielding = 1.2;*/
};
};
};
};
class B_Soldier_diver_base_F: B_Soldier_base_F {
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 2;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitLegs: HitLegs {
armor = 2;
};
};*/
class HitLegs: HitLegs {
armor = 2;
};
};*/
};
// these appear to be broken, remnants from A2?
/*class C_man_p_fugitive_F: C_man_1 {
class HitPoints: HitPoints {
class HitBody: HitBody {
armor = "0.3*10";
};
class HitPoints: HitPoints {
class HitBody: HitBody {
armor = "0.3*10";
};
class HitLegs: HitLegs {
armor = "0.3*5";
class HitLegs: HitLegs {
armor = "0.3*5";
};
};
};
};
class C_man_w_worker_F: C_man_1 {
class HitPoints: HitPoints {
class HitBody: HitBody {
armor = "0.6*10";
};
class HitPoints: HitPoints {
class HitBody: HitBody {
armor = "0.6*10";
};
class HitHands: HitHands {
armor = "0.5*5";
};
class HitHands: HitHands {
armor = "0.5*5";
};
class HitLegs: HitLegs {
armor = "0.5*5";
class HitLegs: HitLegs {
armor = "0.5*5";
};
};
};
};
class C_man_hunter_1_F: C_man_1 {
class HitPoints: HitPoints {
class HitBody: HitBody {
armor = "0.6*10";
};
class HitPoints: HitPoints {
class HitBody: HitBody {
armor = "0.6*10";
};
class HitHands: HitHands {
armor = "0.5*5";
};
class HitHands: HitHands {
armor = "0.5*5";
};
class HitLegs: HitLegs {
armor = "0.5*5";
class HitLegs: HitLegs {
armor = "0.5*5";
};
};
};
};
class C_man_p_shorts_1_F: C_man_1 {
class HitPoints: HitPoints {
class HitLegs: HitLegs {
armor = "0.3*5";
class HitPoints: HitPoints {
class HitLegs: HitLegs {
armor = "0.3*5";
};
};
};
};
class C_man_pilot_F: C_man_1 {
class HitPoints: HitPoints {
class HitBody: HitBody {
armor = "0.6*10";
};
class HitPoints: HitPoints {
class HitBody: HitBody {
armor = "0.6*10";
};
class HitHands: HitHands {
armor = "0.5*5";
};
class HitHands: HitHands {
armor = "0.5*5";
};
class HitLegs: HitLegs {
armor = "0.5*5";
class HitLegs: HitLegs {
armor = "0.5*5";
};
};
};
};*/
class I_Soldier_base_F: SoldierGB {
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
class HitBody: HitBody {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitLegs: HitLegs {
armor = 2;
};
};*/
class HitLegs: HitLegs {
armor = 2;
};
};*/
/*armor = 2;*/
armorStructural = 5; //7;
/*armor = 2;*/
armorStructural = 5; //7;
};
class I_Soldier_02_F: I_Soldier_base_F { // sleeves
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
};
class HitBody: HitBody {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 1;
};
class HitHands: HitHands {
armor = 1;
};
class HitLegs: HitLegs {
armor = 2;
};
};*/
class HitLegs: HitLegs {
armor = 2;
};
};*/
};
class I_Soldier_03_F: I_Soldier_base_F { // heli pilot
/*armorStructural = 5;*/
/*armorStructural = 5;*/
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitBody: HitBody {
/*armor = 2;*/
passThrough = 1; //0.5;
/*explosionShielding = 2.4;*/
};
class HitBody: HitBody {
/*armor = 2;*/
passThrough = 1; //0.5;
/*explosionShielding = 2.4;*/
};
class HitHands: HitHands {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1.2;*/
};
class HitHands: HitHands {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1.2;*/
};
class HitLegs: HitLegs {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1.2;*/
class HitLegs: HitLegs {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1.2;*/
};
};
};
};
class I_Soldier_04_F: I_Soldier_base_F { // cas pilot
armorStructural = 5; //3;
armorStructural = 5; //3;
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitBody: HitBody {
armor = 3; //2;
passThrough = 1; //0.5;
/*explosionShielding = 2.4;*/
};
class HitBody: HitBody {
armor = 3; //2;
passThrough = 1; //0.5;
/*explosionShielding = 2.4;*/
};
class HitHands: HitHands {
armor = 3; //8;
/*passThrough = 1;
explosionShielding = 1.2;*/
};
class HitHands: HitHands {
armor = 3; //8;
/*passThrough = 1;
explosionShielding = 1.2;*/
};
class HitLegs: HitLegs {
armor = 3; //8;
/*passThrough = 1;
explosionShielding = 1.2;*/
class HitLegs: HitLegs {
armor = 3; //8;
/*passThrough = 1;
explosionShielding = 1.2;*/
};
};
};
};
class I_Soldier_diver_base_F: I_Soldier_base_F {
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 2;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitLegs: HitLegs {
armor = 2;
};
};*/
class HitLegs: HitLegs {
armor = 2;
};
};*/
};
class O_Soldier_base_F: SoldierEB {
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitBody: HitBody {
armor = 4; //6;
passThrough = 0.85; //0.5;
/*explosionShielding = 1.5;*/
};
class HitHands: HitHands {
armor = 4; //8;
passThrough = 0.85; //0.5;
/*explosionShielding = 0.8;*/
};
class HitLegs: HitLegs {
armor = 4; //8;
passThrough = 0.85; //0.5;
/*explosionShielding = 0.8;*/
};
};
class HitBody: HitBody {
armor = 4; //6;
passThrough = 0.85; //0.5;
/*explosionShielding = 1.5;*/
};
class HitHands: HitHands {
armor = 4; //8;
passThrough = 0.85; //0.5;
/*explosionShielding = 0.8;*/
};
class HitLegs: HitLegs {
armor = 4; //8;
passThrough = 0.85; //0.5;
/*explosionShielding = 0.8;*/
};
};
/*armor = 2;
armorStructural = 5;*/
/*armor = 2;
armorStructural = 5;*/
};
class O_officer_F: O_Soldier_base_F {
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitBody: HitBody {
/*armor = 2;
passThrough = 1;
explosionShielding = 10;*/
};
class HitBody: HitBody {
/*armor = 2;
passThrough = 1;
explosionShielding = 10;*/
};
class HitHands: HitHands {
/*armor = 2;
passThrough = 1;
explosionShielding = 1;*/
};
class HitHands: HitHands {
/*armor = 2;
passThrough = 1;
explosionShielding = 1;*/
};
class HitLegs: HitLegs {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1;*/
class HitLegs: HitLegs {
armor = 2; //8;
passThrough = 1; //0.5;
/*explosionShielding = 1;*/
};
};
};
};
class O_Soldier_02_F: O_Soldier_base_F { // crew ?
armorStructural = 5; //3;
armorStructural = 5; //3;
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitPoints: HitPoints {
class HitHead: HitHead {
/*armor = 1;
passThrough = 1;
explosionShielding = 0.5;*/
};
class HitBody: HitBody {
armor = 4; //6;
passThrough = 0.85; //0.5;
/*explosionShielding = 1.5;*/
};
class HitBody: HitBody {
armor = 4; //6;
passThrough = 0.85; //0.5;
/*explosionShielding = 1.5;*/
};
class HitHands: HitHands {
armor = 4; //8;
passThrough = 0.85; //1;
/*explosionShielding = 0.8;*/
};
class HitHands: HitHands {
armor = 4; //8;
passThrough = 0.85; //1;
/*explosionShielding = 0.8;*/
};
class HitLegs: HitLegs {
armor = 4; //8;
passThrough = 0.85; //1;
/*explosionShielding = 0.8;*/
class HitLegs: HitLegs {
armor = 4; //8;
passThrough = 0.85; //1;
/*explosionShielding = 0.8;*/
};
};
};
};
class O_Soldier_diver_base_F: O_Soldier_base_F {
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 2;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitBody: HitBody {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitHands: HitHands {
armor = 2;
};
class HitLegs: HitLegs {
armor = 2;
};
};*/
class HitLegs: HitLegs {
armor = 2;
};
};*/
};
class O_Soldier_VR_F: O_Soldier_base_F {
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
passThrough = 1;
explosionShielding = 0.5;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
passThrough = 1;
explosionShielding = 0.5;
};
class HitBody: HitBody {
armor = 2;
passThrough = 1;
explosionShielding = 10;
};
class HitBody: HitBody {
armor = 2;
passThrough = 1;
explosionShielding = 10;
};
class HitHands: HitHands {
armor = 2;
passThrough = 1;
explosionShielding = 1;
};
class HitHands: HitHands {
armor = 2;
passThrough = 1;
explosionShielding = 1;
};
class HitLegs: HitLegs {
armor = 2;
passThrough = 1;
explosionShielding = 1;
};
};*/
class HitLegs: HitLegs {
armor = 2;
passThrough = 1;
explosionShielding = 1;
};
};*/
};
class O_Protagonist_VR_F: O_Soldier_base_F {
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
passThrough = 1;
explosionShielding = 0.5;
};
/*class HitPoints: HitPoints {
class HitHead: HitHead {
armor = 1;
passThrough = 1;
explosionShielding = 0.5;
};
class HitBody: HitBody {
armor = 2;
passThrough = 1;
explosionShielding = 10;
};
class HitBody: HitBody {
armor = 2;
passThrough = 1;
explosionShielding = 10;
};
class HitHands: HitHands {
armor = 2;
passThrough = 1;
explosionShielding = 1;
};
class HitHands: HitHands {
armor = 2;
passThrough = 1;
explosionShielding = 1;
};
class HitLegs: HitLegs {
armor = 2;
passThrough = 1;
explosionShielding = 1;
};
};*/
class HitLegs: HitLegs {
armor = 2;
passThrough = 1;
explosionShielding = 1;
};
};*/
};

View File

@ -3,294 +3,301 @@ class ItemCore;
class VestItem;
class Vest_Camo_Base: ItemCore {
class ItemInfo: VestItem {
/*containerClass = "Supply0";
mass = 0;
armor = 0;
passThrough = 1;*/
};
class ItemInfo: VestItem {
/*containerClass = "Supply0";
mass = 0;
armor = 0;
passThrough = 1;*/
};
};
class Vest_NoCamo_Base: ItemCore {
class ItemInfo: VestItem {
/*containerClass = "Supply0";
mass = 0;
armor = 0;
passThrough = 1;*/
};
class ItemInfo: VestItem {
/*containerClass = "Supply0";
mass = 0;
armor = 0;
passThrough = 1;*/
};
};
// belts
class V_Rangemaster_belt: Vest_NoCamo_Base {
class ItemInfo: ItemInfo {
/*containerClass = "Supply40";
mass = 10;
armor = 0;
passThrough = 1;*/
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply40";
mass = 10;
armor = 0;
passThrough = 1;*/
};
};
// bandolliers
class V_BandollierB_khk: Vest_Camo_Base {
class ItemInfo: ItemInfo {
/*containerClass = "Supply80";
mass = 15;
armor = 0;*/
passThrough = 0.85; //1;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply80";
mass = 15;
armor = 0;*/
passThrough = 0.85; //1;
};
};
/*class V_BandollierB_cbr: V_BandollierB_khk {
class ItemInfo: ItemInfo {};
class ItemInfo: ItemInfo {};
};
class V_BandollierB_rgr: V_BandollierB_khk {
class ItemInfo: ItemInfo {};
class ItemInfo: ItemInfo {};
};
class V_BandollierB_blk: V_BandollierB_khk {
class ItemInfo: ItemInfo {};
class ItemInfo: ItemInfo {};
};
class V_BandollierB_oli: V_BandollierB_khk {
class ItemInfo: ItemInfo {};
class ItemInfo: ItemInfo {};
};*/
// plate carriers
class V_PlateCarrier1_rgr: Vest_NoCamo_Base { // lite
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 80;*/
armor = 8; //20;
passThrough = 0.75; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 80;*/
armor = 8; //20;
passThrough = 0.75; //0.5;
};
};
class V_PlateCarrier2_rgr: V_PlateCarrier1_rgr { // heavy
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 100;*/
armor = 12; //30;
passThrough = 0.75; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 100;*/
armor = 12; //30;
passThrough = 0.75; //0.5;
};
};
class V_PlateCarrier3_rgr: Vest_NoCamo_Base { // heavy (us)
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 100;*/
armor = 12; //30;
passThrough = 0.75; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 100;*/
armor = 12; //30;
passThrough = 0.75; //0.5;
};
};
class V_PlateCarrierGL_rgr: Vest_NoCamo_Base { // lite (gl)
class ItemInfo: ItemInfo {
containerClass = "Supply160"; //"Supply140";
/*mass = 100;*/
armor = 8; //100;
passThrough = 0.75; //0.7;
};
class ItemInfo: ItemInfo {
containerClass = "Supply160"; //"Supply140";
/*mass = 100;*/
armor = 8; //100;
passThrough = 0.75; //0.7;
};
};
class V_PlateCarrier1_blk: Vest_Camo_Base { // heavy (black)
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";*/
mass = 100; //80;
armor = 12; //20;
passThrough = 0.75; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";*/
mass = 100; //80;
armor = 12; //20;
passThrough = 0.75; //0.5;
};
};
class V_PlateCarrierSpec_rgr: Vest_NoCamo_Base { // lite (special)
class ItemInfo: ItemInfo {
/*containerClass = "Supply100";
mass = 120;*/
armor = 16; //40;
passThrough = 0.75; //0.1;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply100";
mass = 120;*/
armor = 16; //40;
passThrough = 0.75; //0.1;
};
};
// chestrigs
/*class V_Chestrig_khk: Vest_Camo_Base {
class ItemInfo: ItemInfo {
containerClass = "Supply140";
mass = 20;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
containerClass = "Supply140";
mass = 20;
armor = 0;
passThrough = 1;
};
};
class V_Chestrig_rgr: V_Chestrig_khk {};
class V_Chestrig_blk: V_Chestrig_khk {};
class V_Chestrig_oli: Vest_Camo_Base {
class ItemInfo: ItemInfo {
containerClass = "Supply140";
mass = 20;
armor = 0;
passThrough = 1;
};
class ItemInfo: ItemInfo {
containerClass = "Supply140";
mass = 20;
armor = 0;
passThrough = 1;
};
};*/
// tactical vests
class V_TacVest_khk: Vest_Camo_Base {
class ItemInfo: ItemInfo {
/*containerClass = "Supply100";
mass = 40;*/
armor = 8; //20;
/*passThrough = 1;*/
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply100";
mass = 40;*/
armor = 8; //20;
/*passThrough = 1;*/
};
};
class V_TacVest_brn: V_TacVest_khk {};
class V_TacVest_oli: V_TacVest_khk {};
class V_TacVest_blk: V_TacVest_khk {};
class V_TacVest_camo: Vest_Camo_Base {
class ItemInfo: ItemInfo {
/*containerClass = "Supply100";
mass = 40;*/
armor = 8; //20;
/*passThrough = 1;*/
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply100";
mass = 40;*/
armor = 8; //20;
/*passThrough = 1;*/
};
};
class V_TacVest_blk_POLICE: Vest_Camo_Base {
class ItemInfo: ItemInfo {
/*containerClass = "Supply100";*/
mass = 40; //60;
armor = 8; //100;
passThrough = 1; //0.7;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply100";*/
mass = 40; //60;
armor = 8; //100;
passThrough = 1; //0.7;
};
};
class V_TacVestIR_blk: Vest_NoCamo_Base { // raven vest
class ItemInfo: VestItem {
/*containerClass = "Supply100";
mass = 50;*/
armor = 8; //20;
passThrough = 0.85; //0.5;
};
class ItemInfo: VestItem {
/*containerClass = "Supply100";
mass = 50;*/
armor = 8; //20;
passThrough = 0.85; //0.5;
};
};
class V_TacVestCamo_khk: Vest_Camo_Base {
class ItemInfo: VestItem {
/*containerClass = "Supply100";
mass = 40;*/
armor = 8; //20;
/*passThrough = 1;*/
};
class ItemInfo: VestItem {
/*containerClass = "Supply100";
mass = 40;*/
armor = 8; //20;
/*passThrough = 1;*/
};
};
// harnesses
class V_HarnessO_brn: Vest_NoCamo_Base {
class ItemInfo: ItemInfo {
/*containerClass = "Supply160";
mass = 30;
armor = 0;*/
passThrough = 0.85; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply160";
mass = 30;
armor = 0;*/
passThrough = 0.85; //0.5;
};
};
class V_HarnessOGL_brn: Vest_NoCamo_Base { // gl
class ItemInfo: ItemInfo {
/*containerClass = "Supply120";
mass = 20;
armor = 0;*/
passThrough = 0.85; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply120";
mass = 20;
armor = 0;*/
passThrough = 0.85; //0.5;
};
};
class V_HarnessO_gry: V_HarnessO_brn {
class ItemInfo: ItemInfo {
/*containerClass = "Supply160";
mass = 30;
armor = 0;*/
passThrough = 0.85; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply160";
mass = 30;
armor = 0;*/
passThrough = 0.85; //0.5;
};
};
class V_HarnessOGL_gry: V_HarnessO_gry { // gl
class ItemInfo: ItemInfo {
/*containerClass = "Supply120";
mass = 20;
armor = 0;*/
passThrough = 0.85; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply120";
mass = 20;
armor = 0;*/
passThrough = 0.85; //0.5;
};
};
class V_HarnessOSpec_brn: V_HarnessO_brn {
class ItemInfo: VestItem {
/*containerClass = "Supply160";
mass = 30;
armor = 0;*/
passThrough = 0.85; //0.5;
};
class ItemInfo: VestItem {
/*containerClass = "Supply160";
mass = 30;
armor = 0;*/
passThrough = 0.85; //0.5;
};
};
class V_HarnessOSpec_gry: V_HarnessO_gry {
class ItemInfo: ItemInfo {
/*containerClass = "Supply160";
mass = 30;
armor = 0;*/
passThrough = 0.85; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply160";
mass = 30;
armor = 0;*/
passThrough = 0.85; //0.5;
};
};
// indep plate carriers
class V_PlateCarrierIA1_dgtl: Vest_NoCamo_Base { // lite
class ItemInfo: VestItem {
/*containerClass = "Supply120";
mass = 60;*/
armor = 8; //20;
passThrough = 0.75; //0.5;
};
class ItemInfo: VestItem {
/*containerClass = "Supply120";
mass = 60;*/
armor = 8; //20;
passThrough = 0.75; //0.5;
};
};
class V_PlateCarrierIA2_dgtl: V_PlateCarrierIA1_dgtl { // heavy
class ItemInfo: VestItem {
/*containerClass = "Supply120";
mass = 80;*/
armor = 12; //30;
passThrough = 0.75; //0.5;
};
class ItemInfo: VestItem {
/*containerClass = "Supply120";
mass = 80;*/
armor = 12; //30;
passThrough = 0.75; //0.5;
};
};
class V_PlateCarrierIAGL_dgtl: V_PlateCarrierIA2_dgtl { // heavy (gl)
class ItemInfo: VestItem {
containerClass = "Supply140"; //"Supply120";
mass = 100; //80;
armor = 12; //100;
passThrough = 0.75; //0.7;
};
class ItemInfo: VestItem {
containerClass = "Supply140"; //"Supply120";
mass = 100; //80;
armor = 12; //100;
passThrough = 0.75; //0.7;
};
};
// rebreather
/*class V_RebreatherB: Vest_Camo_Base {
class ItemInfo: ItemInfo {
containerClass = "Supply0";
mass = 80;
armor = 20;
passThrough = 1;
};
class ItemInfo: ItemInfo {
containerClass = "Supply0";
mass = 80;
armor = 20;
passThrough = 1;
};
};
class V_RebreatherIR: V_RebreatherB {};
class V_RebreatherIA: V_RebreatherB {};*/
// more plate carriers
class V_PlateCarrier_Kerry: V_PlateCarrier1_rgr { // lighter
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 80;*/
armor = 8; //30;
passThrough = 0.75; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 80;*/
armor = 8; //30;
passThrough = 0.75; //0.5;
};
};
class V_PlateCarrierL_CTRG: V_PlateCarrier1_rgr { // lite
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 80;*/
armor = 8; //20;
passThrough = 0.75; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 80;*/
armor = 8; //20;
passThrough = 0.75; //0.5;
};
};
class V_PlateCarrierH_CTRG: V_PlateCarrier2_rgr { // heavy
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 100;*/
armor = 12; //30;
passThrough = 0.75; //0.5;
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply140";
mass = 100;*/
armor = 12; //30;
passThrough = 0.75; //0.5;
};
};
// another tactical vest
class V_I_G_resistanceLeader_F: V_TacVest_camo {
class ItemInfo: ItemInfo {};
class ItemInfo: ItemInfo {};
};
// press vest
class V_Press_F: Vest_Camo_Base {
class ItemInfo: ItemInfo {
/*containerClass = "Supply40";
mass = 20;*/
armor = 8; //0; ?
/*passThrough = 1;*/
};
class ItemInfo: ItemInfo {
/*containerClass = "Supply40";
mass = 20;*/
armor = 8; //0; ?
/*passThrough = 1;*/
};
};
// marksman dlc
/*class V_PlateCarrierGL_blk: V_PlateCarrierGL_rgr {};
class V_PlateCarrierGL_mtp: V_PlateCarrierGL_rgr {};
class V_PlateCarrierSpec_blk: V_PlateCarrierSpec_rgr {};
class V_PlateCarrierSpec_mtp: V_PlateCarrierSpec_rgr {};
class V_PlateCarrierIAGL_oli: V_PlateCarrierIAGL_dgtl {};*/

View File

@ -8,8 +8,6 @@ PREP(findNextGrenadeMagazine);
PREP(findNextGrenadeMuzzle);
PREP(fireSmokeLauncher);
PREP(getSelectedGrenade);
PREP(getWeaponModes);
PREP(getWeaponMuzzles);
PREP(playChangeFiremodeSound);
PREP(putWeaponAway);
PREP(selectGrenadeAll);

View File

@ -29,8 +29,8 @@ if (_weapon in (_unit getVariable [QEGVAR(safemode,safedWeapons), []])) exitWith
private ["_muzzles", "_modes"];
_muzzles = [_weapon] call FUNC(getWeaponMuzzles);
_modes = [_weapon] call FUNC(getWeaponModes);
_muzzles = [_weapon] call EFUNC(common,getWeaponMuzzles);
_modes = [_weapon] call EFUNC(common,getWeaponModes);
private ["_index", "_muzzle", "_mode"];

View File

@ -19,7 +19,7 @@ _weapon = _this select 1;
if (_weapon == "") exitWith {};
private "_muzzles";
_muzzles = [_weapon] call FUNC(getWeaponMuzzles);
_muzzles = [_weapon] call EFUNC(common,getWeaponMuzzles);
if (currentWeapon _unit != _weapon) exitWith {
if (count _muzzles > 1) then {