Add Posibility to Change Backblast Values in Magazine Config

This commit is contained in:
Joko 2015-07-10 22:30:07 +02:00
parent c0c07b3ada
commit 8cd8504b3f
3 changed files with 26 additions and 13 deletions

View File

@ -14,38 +14,38 @@ class Extended_PostInit_EventHandlers {
class Extended_FiredBIS_EventHandlers { class Extended_FiredBIS_EventHandlers {
class CAManBase { class CAManBase {
class ADDON { class ADDON {
firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireLauncherBackblast)}); firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgMagazines' >> _this select 5 >> QUOTE(QGVAR(Damage))) > 0} || {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireLauncherBackblast)});
}; };
}; };
class Tank { class Tank {
class ADDON { class ADDON {
firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)}); firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgMagazines' >> _this select 5 >> QUOTE(QGVAR(Damage))) > 0} || {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)});
}; };
}; };
class Car { class Car {
class ADDON { class ADDON {
firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)}); firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgMagazines' >> _this select 5 >> QUOTE(QGVAR(Damage))) > 0} || {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)});
}; };
}; };
class Helicopter { class Helicopter {
class ADDON { class ADDON {
firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)}); firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgMagazines' >> _this select 5 >> QUOTE(QGVAR(Damage))) > 0} || {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)});
}; };
}; };
class Plane { class Plane {
class ADDON { class ADDON {
firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)}); firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgMagazines' >> _this select 5 >> QUOTE(QGVAR(Damage))) > 0} || {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)});
}; };
}; };
class Ship_F { class Ship_F {
class ADDON { class ADDON {
firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)}); firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgMagazines' >> _this select 5 >> QUOTE(QGVAR(Damage))) > 0} || {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)});
}; };
}; };
class StaticWeapon { class StaticWeapon {
class ADDON { class ADDON {
firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)}); firedBIS = QUOTE(if (local (_this select 0) && {getNumber (configfile >> 'CfgMagazines' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0} || {getNumber (configfile >> 'CfgWeapons' >> _this select 1 >> QUOTE(QGVAR(Damage))) > 0}) then {_this call DFUNC(fireOverpressureZone)});
}; };
}; };
}; };

View File

@ -29,10 +29,16 @@ _position = getPosASL _projectile;
_direction = [0, 0, 0] vectorDiff (vectorDir _projectile); _direction = [0, 0, 0] vectorDiff (vectorDir _projectile);
private ["_backblastAngle", "_backblastRange", "_backblastDamage"]; private ["_backblastAngle", "_backblastRange", "_backblastDamage"];
_backblastDamage = getNumber (configFile >> "CfgMagazines" >> _magazine >> QGVAR(damage));
_backblastAngle = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(angle)) / 2; if (_backblastDamage == 0) then {
_backblastRange = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(range)); _backblastAngle = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(angle)) / 2;
_backblastDamage = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(damage)); _backblastRange = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(range));
_backblastDamage = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(damage));
} else {
_backblastAngle = getNumber (configFile >> "CfgMagazines" >> _magazine >> QGVAR(angle)) / 2;
_backblastRange = getNumber (configFile >> "CfgMagazines" >> _magazine >> QGVAR(range));
};
// Damage to others // Damage to others
private "_affected"; private "_affected";

View File

@ -30,9 +30,16 @@ _direction = vectorDir _projectile;
private ["_dangerZoneAngle", "_dangerZoneRange", "_dangerZoneDamage"]; private ["_dangerZoneAngle", "_dangerZoneRange", "_dangerZoneDamage"];
_dangerZoneAngle = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(angle)) / 2; _dangerZoneDamage = getNumber (configFile >> "CfgMagazines" >> _magazine >> QGVAR(damage));
_dangerZoneRange = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(range));
_dangerZoneDamage = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(damage)); if (_dangerZoneDamage == 0) then {
_dangerZoneAngle = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(angle)) / 2;
_dangerZoneRange = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(range));
_dangerZoneDamage = getNumber (configFile >> "CfgWeapons" >> _weapon >> QGVAR(damage));
} else {
_dangerZoneAngle = getNumber (configFile >> "CfgMagazines" >> _magazine >> QGVAR(angle)) / 2;
_dangerZoneRange = getNumber (configFile >> "CfgMagazines" >> _magazine >> QGVAR(range));
};
// Damage to others // Damage to others
private "_affected"; private "_affected";