ACE3/addons/optics/CfgWeapons.hpp

295 lines
10 KiB
C++
Raw Normal View History

2015-04-03 10:33:12 +00:00
class CfgWeapons {
class ItemCore;
class InventoryOpticsItem_Base_F;
// HAMR
class optic_Hamr: ItemCore {
2015-04-03 10:33:12 +00:00
class ItemInfo: InventoryOpticsItem_Base_F {
class OpticsModes {
class Hamr2Scope;
class Hamr2Collimator;
2015-04-03 10:33:12 +00:00
};
};
};
class ACE_optic_Hamr_2D: optic_Hamr {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 2;
displayName = CSTRING(hamr);
2015-04-03 17:25:28 +00:00
class CBA_ScriptedOptic {
opticsPPEffects[] = {"CBA_OpticsRadBlur3"};
2015-04-03 10:33:12 +00:00
reticleTexture = QPATHTOF(reticles\hamr-reticle65_ca.paa);
reticleTextureNight = QPATHTOF(reticles\hamr-reticle65Illum_ca.paa);
reticleTextureSize = 6 / 25 * 4; // At 25x using https://github.com/CBATeam/CBA_A3/wiki/Scripted-Optics#debug-reticle, the best choice is 6
2015-04-03 17:25:28 +00:00
bodyTexture = QPATHTOF(reticles\hamr-body_ca.paa);
bodyTextureNight = QPATHTOF(reticles\hamr-bodyNight_ca.paa);
bodyTextureSize = 2.2;
2015-04-03 20:30:29 +00:00
hideMagnification = 1;
2015-04-03 20:30:29 +00:00
};
weaponInfoType = "CBA_ScriptedOptic";
2015-04-03 20:30:29 +00:00
class ItemInfo: ItemInfo {
modelOptics = "\x\cba\addons\optics\cba_optic_big_90.p3d";
2015-04-03 20:30:29 +00:00
class OpticsModes: OpticsModes {
class Hamr2Scope: Hamr2Scope {
useModelOptics = 1;
opticsZoomInit = 0.25 / 4;
opticsZoomMax = 0.25 / 4;
opticsZoomMin = 0.25 / 4;
2015-04-03 20:30:29 +00:00
};
class Hamr2Collimator: Hamr2Collimator {};
2015-04-03 20:30:29 +00:00
};
};
};
2015-04-04 06:51:22 +00:00
class ACE_optic_Hamr_PIP: ACE_optic_Hamr_2D {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 1;
displayName = CSTRING(hamr_pip);
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
modelOptics = "\x\cba\addons\optics\cba_optic_big_pip.p3d";
2015-04-04 06:51:22 +00:00
};
};
// ARCO
2015-04-04 06:51:22 +00:00
class optic_Arco: ItemCore {
class ItemInfo: InventoryOpticsItem_Base_F {
class OpticsModes {
class ARCO2collimator;
class ARCO2scope: ARCO2collimator {};
};
};
};
class ACE_optic_Arco_2D: optic_Arco {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 2;
displayName = CSTRING(arco);
class CBA_ScriptedOptic {
opticsPPEffects[] = {"CBA_OpticsRadBlur3"};
reticleTexture = QPATHTOF(reticles\arco-reticle65_ca.paa);
reticleTextureNight = QPATHTOF(reticles\arco-reticle65Illum_ca.paa);
reticleTextureSize = 6.4 / 25 * 4; // At 25x using https://github.com/CBATeam/CBA_A3/wiki/Scripted-Optics#debug-reticle, the best choice is 6.4
bodyTexture = QPATHTOF(reticles\arco-body_ca.paa);
bodyTextureNight = QPATHTOF(reticles\arco-bodyNight_ca.paa);
bodyTextureSize = 2.2;
hideMagnification = 1;
};
weaponInfoType = "CBA_ScriptedOptic";
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
modelOptics = "\x\cba\addons\optics\cba_optic_big_90.p3d";
2015-04-04 06:51:22 +00:00
class OpticsModes: OpticsModes {
class ARCO2scope: ARCO2scope {
useModelOptics = 1;
opticsZoomInit = 0.25 / 4;
opticsZoomMax = 0.25 / 4;
opticsZoomMin = 0.25 / 4;
2015-04-04 06:51:22 +00:00
};
class ARCO2collimator: ARCO2collimator {};
2015-04-04 06:51:22 +00:00
};
};
};
class ACE_optic_Arco_PIP: ACE_optic_Arco_2D {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 1;
displayName = CSTRING(arco_pip);
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
modelOptics = "\x\cba\addons\optics\cba_optic_big_pip.p3d";
2015-04-04 06:51:22 +00:00
};
};
// MRCO
2015-04-04 06:51:22 +00:00
class optic_MRCO: ItemCore {
class ItemInfo: InventoryOpticsItem_Base_F {
class OpticsModes {
class MRCOscope;
class MRCOcq;
2015-04-04 06:51:22 +00:00
};
};
};
class ACE_optic_MRCO_2D: optic_MRCO {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 2;
displayName = CSTRING(mrco);
class CBA_ScriptedOptic {
opticsPPEffects[] = {"CBA_OpticsRadBlur3"};
reticleTexture = QPATHTOF(reticles\mrco-reticle556_ca.paa);
reticleTextureNight = QPATHTOF(reticles\mrco-reticle556Illum_ca.paa);
reticleTextureSize = 6.4 / 25 * 4; // At 25x using https://github.com/CBATeam/CBA_A3/wiki/Scripted-Optics#debug-reticle, the best choice is 6.4
bodyTexture = QPATHTOF(reticles\mrco-body_ca.paa);
bodyTextureNight = QPATHTOF(reticles\mrco-bodyNight_ca.paa);
bodyTextureSize = 2.2;
hideMagnification = 1;
};
weaponInfoType = "CBA_ScriptedOptic";
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
modelOptics = "\x\cba\addons\optics\cba_optic_big_90.p3d";
2015-04-04 06:51:22 +00:00
class OpticsModes: OpticsModes {
class MRCOscope: MRCOscope {
useModelOptics = 1;
opticsZoomInit = 0.25 / 4;
opticsZoomMax = 0.25 / 4;
opticsZoomMin = 0.25 / 4;
2015-04-04 06:51:22 +00:00
};
class MRCOcq: MRCOcq {};
2015-04-04 06:51:22 +00:00
};
};
};
class ACE_optic_MRCO_PIP: ACE_optic_MRCO_2D {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
2015-04-04 10:06:20 +00:00
scope = 1;
displayName = CSTRING(mrco_pip);
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
modelOptics = "\x\cba\addons\optics\cba_optic_big_pip.p3d";
2015-04-04 06:51:22 +00:00
};
};
// SOS
2015-04-04 06:51:22 +00:00
class optic_SOS: ItemCore {
class ItemInfo: InventoryOpticsItem_Base_F {
class OpticsModes {
class Snip;
class Iron;
};
};
};
class ACE_optic_SOS_2D: optic_SOS {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 2;
displayName = CSTRING(sos);
class CBA_ScriptedOptic {
opticsPPEffects[] = {"CBA_OpticsRadBlur3"};
reticleTexture = QPATHTOF(reticles\sos-reticleMLR_ca.paa);
reticleTextureNight = QPATHTOF(reticles\sos-reticleMLRIllum_ca.paa);
reticleTextureSize = 0.76; // At 22x using https://github.com/CBATeam/CBA_A3/wiki/Scripted-Optics#debug-reticle, the best choice is 0.76
bodyTexture = QPATHTOF(reticles\sos-body_ca.paa);
bodyTextureNight = QPATHTOF(reticles\sos-bodyNight_ca.paa);
bodyTextureSize = 1.55;
};
weaponInfoType = "CBA_ScriptedOptic";
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
class OpticsModes: OpticsModes {
2016-06-09 12:28:31 +00:00
class Snip: Snip {
opticsZoomMin = "5.5 call (uiNamespace getVariable 'cba_optics_fnc_setOpticMagnificationHelper')";
opticsZoomMax = "2.75 call (uiNamespace getVariable 'cba_optics_fnc_setOpticMagnificationHelper')";
opticsZoomInit = "2.75 call (uiNamespace getVariable 'cba_optics_fnc_setOpticMagnificationHelper')";
discreteFov[] = {};
modelOptics[] = {"\x\cba\addons\optics\cba_optic_big_90.p3d"};
useModelOptics = 1;
2015-04-04 06:51:22 +00:00
};
class Iron: Iron {};
};
};
};
class ACE_optic_SOS_PIP: ACE_optic_SOS_2D {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 1;
displayName = CSTRING(sos_pip);
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
class OpticsModes: OpticsModes {
class Snip: Snip {
modelOptics[] = {"\x\cba\addons\optics\cba_optic_big_pip.p3d"};
2015-04-04 06:51:22 +00:00
};
class Iron: Iron {};
2015-04-04 06:51:22 +00:00
};
};
};
// LRPS
2015-04-04 06:51:22 +00:00
class optic_LRPS: ItemCore {
class ItemInfo: InventoryOpticsItem_Base_F {
class OpticsModes {
class Snip;
};
};
};
class ACE_optic_LRPS_2D: optic_LRPS {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 2;
displayName = CSTRING(lrps);
class CBA_ScriptedOptic {
opticsPPEffects[] = {"CBA_OpticsRadBlur3"};
reticleTexture = QPATHTOF(reticles\sos-reticleMLR_ca.paa);
reticleTextureNight = QPATHTOF(reticles\sos-reticleMLRIllum_ca.paa);
reticleTextureSize = 0.76; // At 22x using https://github.com/CBATeam/CBA_A3/wiki/Scripted-Optics#debug-reticle, the best choice is 0.76
bodyTexture = QPATHTOF(reticles\sos-body_ca.paa);
bodyTextureNight = QPATHTOF(reticles\sos-bodyNight_ca.paa);
bodyTextureSize = 1.55;
};
weaponInfoType = "CBA_ScriptedOptic";
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
class OpticsModes: OpticsModes {
class Snip: Snip {
opticsZoomMin = "22 call (uiNamespace getVariable 'cba_optics_fnc_setOpticMagnificationHelper')";
opticsZoomMax = "5.5 call (uiNamespace getVariable 'cba_optics_fnc_setOpticMagnificationHelper')";
opticsZoomInit = "5.5 call (uiNamespace getVariable 'cba_optics_fnc_setOpticMagnificationHelper')";
discreteFov[] = {};
modelOptics[] = {"\x\cba\addons\optics\cba_optic_big_90.p3d"};
2015-04-04 06:51:22 +00:00
useModelOptics = 1;
};
};
};
};
class ACE_optic_LRPS_PIP: ACE_optic_LRPS_2D {
2015-05-27 20:04:41 +00:00
author = ECSTRING(common,ACETeam);
scope = 1;
displayName = CSTRING(lrps_pip);
2015-04-04 06:51:22 +00:00
class ItemInfo: ItemInfo {
class OpticsModes: OpticsModes {
class Snip: Snip {
modelOptics[] = {"\x\cba\addons\optics\cba_optic_big_pip.p3d"};
2015-04-04 06:51:22 +00:00
};
};
};
};
// Binocular
class Default;
class Binocular: Default {
opticsZoomInit = 0.056889; // 7x power IRL
opticsZoomMin = 0.056889; // but in order to make the stadiametric rangefinder useful, ~4.4x magnification has been set
opticsZoomMax = 0.056889; // 9 px/mil
modelOptics = "\z\ace\addons\optics\models\NWD_M22_5x"; // 7 degrees horizontal field of view (Steiner M22)
// Fix AI using Binocs on short range - #18737
// minRange = 300; // 300 = uses Rangefinder often (runs a few meters, stops, uses RF, repeats)
minRange = 500; // 500 = seem almost never use it..?
minRangeProbab = 0.001;
midRange = 1000;
midRangeProbab = 0.01;
maxRange = 5000;
maxRangeProbab = 0.01;
};
2015-04-03 10:33:12 +00:00
};