ACE3/addons/overpressure/functions/fnc_firedEHBB.sqf

40 lines
1.1 KiB
Plaintext
Raw Normal View History

2015-07-10 22:09:20 +00:00
/*
* Author: joko // Jonas
* Handle fire of local launchers
*
* Arguments:
* 0: Unit that fired <OBJECT>
* 1: Weapon fired <STRING>
* 2: Muzzle <STRING>
* 3: Mode <STRING>
* 4: Ammo <STRING>
* 5: Magazine <STRING>
* 6: Projectile <OBJECT>
2015-07-10 22:09:20 +00:00
*
* Return value:
* None
*
* Example:
* [player, "launch_RPG32_F", "launch_RPG32_F", "Single", "R_PG32V_F", "RPG32_F", projectile] call ace_overpressure_fnc_firedEHBB;
*
* Public: No
2015-07-10 22:09:20 +00:00
*/
2015-08-30 05:49:12 +00:00
#include "script_component.hpp"
params ["_firer", "_weapon", "", "", "_ammo", "_magazine", ""];
// Prevent AI from causing backblast damage (fast exit to only run for local players)
if (_firer != ACE_player) exitWith {};
2015-08-30 22:05:55 +00:00
// Bake variable name and check if the variable exists, call the caching function otherwise
private _varName = format [QGVAR(values%1%2%3), _weapon, _ammo, _magazine];
private _damage = if (isNil _varName) then {
2015-08-30 21:40:53 +00:00
([_weapon, _ammo, _magazine] call FUNC(cacheOverPressureValues)) select 2;
} else {
(missionNameSpace getVariable _varName) select 2;
};
2015-08-30 21:40:53 +00:00
if (_damage > 0) then {
2015-07-10 22:09:20 +00:00
_this call DFUNC(fireLauncherBackblast)
};