ACE3/addons/spottingscope/CfgVehicles.hpp

232 lines
7.4 KiB
C++
Raw Normal View History

2015-06-05 07:34:27 +00:00
2016-06-06 21:14:19 +00:00
class CBA_Extended_EventHandlers_base;
2015-06-05 07:34:27 +00:00
class CfgVehicles {
class Man;
class CAManBase: Man {
class ACE_SelfActions {
class ACE_Equipment {
class GVAR(place) {
displayName = CSTRING(Placedown);
condition = QUOTE([ARR_2(_player,'ACE_SpottingScope')] call EFUNC(common,hasItem));
statement = QUOTE([ARR_2(_player,'ACE_SpottingScope')] call FUNC(place));
showDisabled = 0;
2016-04-08 18:34:50 +00:00
icon = QPATHTOF(UI\w_spottingscope_ca.paa);
2015-06-05 07:34:27 +00:00
};
};
};
};
2015-06-05 08:32:55 +00:00
class ThingX;
class ACE_SpottingScope_Tube: ThingX {
author = ECSTRING(common,ACETeam);
scope = 1;
displayName = CSTRING(DisplayName);
model = QPATHTOF(data\ace_spottingscope_tube.p3d);
};
2015-06-05 07:34:27 +00:00
class LandVehicle;
class StaticWeapon: LandVehicle {
class Turrets {
2015-06-05 07:34:27 +00:00
class MainTurret;
};
2016-06-06 21:14:19 +00:00
class ACE_Actions {
class ACE_MainActions;
2015-06-05 08:32:55 +00:00
};
2015-06-05 07:34:27 +00:00
};
2016-06-06 21:14:19 +00:00
class ACE_SpottingScopeObject: StaticWeapon {
2016-06-06 21:14:19 +00:00
EGVAR(dragging,canDrag) = 1;
EGVAR(dragging,dragPosition)[] = {0,1,0};
EGVAR(dragging,dragDirection) = 0;
class ACE_Actions: ACE_Actions {
2016-06-06 21:14:19 +00:00
class ACE_MainActions: ACE_MainActions {
selection = "main_turret_axis";
2016-06-06 21:14:19 +00:00
class ACE_Pickup {
selection = "";
displayName = CSTRING(PickUp);
distance = 5;
condition = QUOTE((alive _target) && (count (crew _target) == 0));
statement = QUOTE([ARR_2(_target,_player)] call FUNC(pickup));
showDisabled = 0;
exceptions[] = {};
icon = QPATHTOF(UI\w_spottingscope_ca.paa);
};
};
};
class EventHandlers {
2016-06-06 21:14:19 +00:00
class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {};
};
CBA_ScriptedOpticClass = "ACE_SpottingScopeOptic";
2016-06-06 22:17:04 +00:00
author = ECSTRING(common,ACETeam);
2015-06-05 07:34:27 +00:00
scope = 1;
side = 1;
typicalCargo[] = {"Soldier"};
displayName = CSTRING(DisplayName);
2016-04-08 18:34:50 +00:00
model = QPATHTOF(data\ace_spottingscope.p3d);
2015-06-05 07:34:27 +00:00
mapSize = 0.5;
transportSoldier = 0;
getInAction = "PlayerProne";
getOutAction = "PlayerProne";
2016-06-06 22:17:04 +00:00
editorSubcategory = "EdSubcat_Turrets";
2016-06-06 21:14:19 +00:00
threat[] = {0.7, 0.3, 0};
accuracy = 0.12;
cost = 10000;
icon = "\A3\Static_F_Gamma\data\UI\map_StaticTurret_AT_CA.paa";
attenuationEffectType = "";
class SpeechVariants {
class Default {
speechSingular[] = {"veh_infantry_SF_s"};
speechPlural[] = {"veh_infantry_SF_p"};
};
};
textSingular = "$STR_A3_nameSound_veh_infantry_SF_s";
textPlural = "$STR_A3_nameSound_veh_infantry_SF_p";
nameSound = "veh_infantry_SF_s";
2015-06-05 07:34:27 +00:00
class Turrets: Turrets {
class MainTurret: MainTurret {
minTurn = -45;
maxTurn = 45;
initTurn = 0;
minElev = -10;
maxElev = 40;
initElev = 0;
class ViewGunner {
initAngleX = 5;
minAngleX = -30;
maxAngleX = 30;
initAngleY = 0;
minAngleY = -100;
maxAngleY = 100;
initFov = 0.75;
minFov = 0.25;
2015-11-24 21:24:14 +00:00
maxFov = 1.25;
2015-06-05 07:34:27 +00:00
};
2016-06-06 21:14:19 +00:00
2015-06-05 07:34:27 +00:00
class ViewOptics {
initAngleX = 0;
minAngleX = -30;
maxAngleX = 30;
initAngleY = 0;
minAngleY = -100;
maxAngleY = 100;
minFov = "0.25/35"; // real one is 15x-45x, but max mag in game is 37x
maxFov = "0.25/5";
initFov= "0.25/5";
2015-06-05 07:34:27 +00:00
};
2016-06-06 21:14:19 +00:00
weapons[] = {};
magazines[] = {};
gunnerOpticsColor[] = {1,1,1,1};
gunnerOpticsModel = "\A3\Weapons_F\empty.p3d";
2016-06-06 21:14:19 +00:00
gunnerOpticsEffect[] = {"OpticsCHAbera1","OpticsBlur2"};
gunnerOutOpticsShowCursor = 0;
gunnerOpticsShowCursor = 0;
gunnerAction = "ACE_SpottingScope";
gunnerGetInAction = "PlayerProne";
gunnerGetOutAction = "PlayerProne";
2016-06-06 21:14:19 +00:00
gunnerForceOptics = 0;
ejectDeadGunner = 0;
turretInfoType = "CBA_ScriptedOptic_zooming";
2016-06-06 21:14:19 +00:00
opticsDisablePeripherialVision = 1;
2015-06-05 07:34:27 +00:00
};
};
// damage handling
armor = 80;
class Damage {
tex[] = {};
mat[] = {
QPATHTO_R(data\ace_spottingscope_metal.rvmat),
QPATHTO_R(data\ace_spottingscope_metal_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_metal_destruct.rvmat),
QPATHTO_R(data\ace_spottingscope_glass.rvmat),
QPATHTO_R(data\ace_spottingscope_glass_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_glass_destruct.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber_damage.rvmat)
};
};
editorPreview = QPATHTOF(data\preview_spottingscope.jpg);
2016-06-06 21:14:19 +00:00
};
2016-06-06 22:17:04 +00:00
class ACE_B_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_B_SpottingScope";
scope = 2;
side = 1;
faction = "BLU_F";
crew = "B_spotter_F";
};
class ACE_O_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_O_SpottingScope";
scope = 2;
side = 0;
faction = "OPF_F";
crew = "O_spotter_F";
};
class ACE_I_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_I_SpottingScope";
scope = 2;
side = 2;
faction = "IND_F";
crew = "I_spotter_F";
};
class ACE_B_T_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_B_T_SpottingScope";
scope = 2;
side = 1;
faction = "BLU_T_F";
crew = "B_T_Spotter_F";
};
class ACE_O_T_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_O_T_SpottingScope";
scope = 2;
side = 0;
faction = "OPF_T_F";
crew = "O_T_Spotter_F";
};
2016-06-06 21:14:19 +00:00
class Item_Base_F;
class ACE_Item_SpottingScope: Item_Base_F {
author[] = {"Rocko", "Scubaman3D"};
scope = 2;
scopeCurator = 2;
displayName = CSTRING(DisplayName);
vehicleClass = "Items";
editorCategory = "EdCat_Equipment";
editorSubcategory = "EdSubcat_InventoryItems";
editorPreview = QPATHTOF(data\preview_spottingscope.jpg);
2016-06-06 21:14:19 +00:00
class TransportItems {
MACRO_ADDITEM(ACE_SpottingScope,1);
};
};
class Box_NATO_Support_F;
class ACE_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(ACE_SpottingScope,2);
2015-06-05 07:34:27 +00:00
};
};
};