Files
m119/addons/m119/tbd_m119/CfgVehicles.hpp
2024-05-30 21:23:19 +02:00

508 lines
18 KiB
C++

class CfgVehicles {
class Land;
class LandVehicle: Land {
class Turrets;
};
class StaticWeapon : LandVehicle {
class Turrets: Turrets {
class MainTurret;
};
class ACE_Actions;
};
class StaticMortar : StaticWeapon {
class Turrets: Turrets {
class MainTurret: MainTurret {
class ViewOptics;
};
};
class ACE_Actions: ACE_Actions {
class ACE_MainActions;
};
};
class TBD_M119: StaticMortar {
artilleryScanner = 0; // turn off artillery computer
ace_artillerytables_showRangetable = 1; // "fix" rangetables not showing up
ace_artillerytables_showGunLaying = 1; // "fix" rangetables not showing up
scope = 2;
scopeCurator = 2;
author = "TBD Team";
displayName = CSTRING(name);
model = QPATHTOF(TBD_M119\TBD_M119);
editorPreview = QPATHTOF(TBD_M119\data\preview.jpg);
picture = QPATHTOF(TBD_M119\data\M119_icon.paa);
side = 1;
faction = "BLU_F";
crew = "B_Soldier_F";
slingLoadCargoMemoryPoints[] = {"sling_point_1", "sling_point_2", "towing_point"};
transportSoldier = 0;
cargoAction[] = {"M119pose"};
getInAction = "GetInMortar";
getOutAction = "GetOutLow";
unitInfoType = "RscUnitInfoMortar";
editorSubcategory = "EdSubcat_Turrets";
cost = 200000;
accuracy = 0.8;
EPEImpulseDamageCoef = 5;
class Turrets: Turrets {
class MainTurret: MainTurret {
gunnerRightHandAnimName = "vertical_handpos";
gunnerLeftHandAnimName = "horizontal_handpos";
gunnerAction = "M119pose";
gunnergetInAction = "GetInLow";
gunnergetOutAction = "GetOutLow";
weapons[] = {QUOTE(TBD_M119_WEAPON)};
elevationMode = 1;
initCamElev = 20;
minCamElev = -35;
maxCamElev = 35;
initElev = 0;
minTurn = -5.625;
maxTurn = 5.625;
initTurn = 0;
cameraDir = "look";
discreteDistance[] = {};
discreteDistanceCameraPoint[] = {"gunnerview"};
gunnerForceOptics = 0;
maxVerticalRotSpeed = 0.05;
maxHorizontalRotSpeed = 0.1;
memoryPointCamera = "gunnerview";
memoryPointGunnerOptics = "gunnerview";
gunnerOpticsModel = QPATHTOF(TBD_M119\scope.p3d);
gunnerUsesPilotView = 1;
disableSoundAttenuation = 1;
soundServo[] = {QPATHTOF(TBD_M119\sounds\wheels.ogg), 1, 1, 20};
soundServoVertical[] = {QPATHTOF(TBD_M119\sounds\metalsqueal.ogg), 5, 1, 35};
class ViewOptics: ViewOptics {
camPos = "gunnerview";
camDir = "look";
initAngleX = 0;
minAngleX = -30;
maxAngleX = 30;
initAngleY = 0;
minAngleY = 0;
maxAngleY = 68;
initFov = 0.15;
minFov = 0.15;
maxFov = 0.15;
visionMode[] = {"Normal"};
};
minelev = -5;
maxelev = 70;
gunBeg = "usti_hlavne";
gunEnd = "konec_hlavne";
ejectDeadGunner = 1;
usepip = 2;
discreteDistanceInitIndex = 0;
primaryGunner = 1;
memoryPointsGetInGunner = "pos_gunner";
memoryPointsGetInGunnerDir = "pos_gunner_dir";
proxyType = "CPGunner";
proxyIndex = 1;
magazines[] = {};
};
};
htMin = 1;
htMax = 480;
afMax = 0;
mfMax = 0;
mFact = 1;
tBody = 100;
ace_cargo_canLoad = 0;
ace_dragging_canCarry = 0;
ace_dragging_canDrag = 1;
ace_dragging_dragPosition[] = {0, 1.2, 0};
ace_dragging_dragDirection = 0;
ace_dragging_ignoreWeight = 1;
selectionDamage = "zbytek";
class DestructionEffects {
class Smoke2 {
intensity = 1;
interval = 1;
lifetime = 5;
position = "konec_hlavne";
simulation = "particles" ;
type = "WeaponWreckSmoke";};
class Smoke {
intensity = 1;
interval = 1;
lifetime = 5;
position = "usti_hlavne";
simulation = "particles" ;
type = "WeaponWreckSmoke";};
class Smoke3 {
intensity = 0.15;
interval = 1;
lifetime = 3.5;
position = "smoke";
simulation = "particles" ;
type = "ObjectDestructionSmoke";};
};
class Damage {
mat[] = {"x\TBD_M119\addons\M119\tbd_m119\data\one.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\one_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\one_destroy.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\two.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\two_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\two_destroy.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\three.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\three_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\three_destroy.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\four.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\four_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\four_destroy.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\five.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\five_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\five_destroy.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\six.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\six_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\six_destroy.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\seven.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\seven_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\seven_destroy.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\plate.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\plate_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\plate_destroy.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\scope.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\scope_damage.rvmat",
"x\TBD_M119\addons\M119\tbd_m119\data\scope_destroy.rvmat"};
tex[] = {};
};
class AnimationSources {
class rest_rotation_source {
source = "user";
initPhase = 0;
animPeriod = 0;
};
class howitzer_rotation_source {
source = "user";
initPhase = 0;
animPeriod = 0;
};
class trigger_rotation_source {
source = "user";
initPhase = 0;
animPeriod = 0;
};
class rightwheel_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class leftwheel_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class trigger_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class plate_back_source {
source = "user";
initPhase = 1;
animPeriod = 1;
};
class plate_front_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class recoil_rest_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class recoil_barrel_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class open_breech_source {
source = "user";
initPhase = 0;
animPeriod = 0.5;
sound = "close";
soundPosition = "konec_hlavne";
};
class handle_breech_source {
source = "user";
initPhase = 0;
animPeriod = 0.5;
};
class hydraulics_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class small_wheel_source {
source = "user";
initPhase = 0;
animPeriod = 1;
sound = "gears";
soundPosition = "konec_hlavne";
};
class magazine_load_source {
source = "user";
initPhase = 0;
animPeriod = 0.5;
sound = "reload";
soundPosition = "konec_hlavne";
};
class magazine_hide_source {
source = "user";
initPhase = 1;
animPeriod = 0;
};
class magazine_smoke_load_source {
source = "user";
initPhase = 0;
animPeriod = 0.5;
sound = "reload";
soundPosition = "konec_hlavne";
};
class magazine_smoke_hide_source {
source = "user";
initPhase = 1;
animPeriod = 0;
};
class magazine_dpicm_load_source {
source = "user";
initPhase = 0;
animPeriod = 0.5;
sound = "reload";
soundPosition = "konec_hlavne";
};
class magazine_dpicm_hide_source {
source = "user";
initPhase = 1;
animPeriod = 0;
};
class magazine_laser_load_source {
source = "user";
initPhase = 0;
animPeriod = 0.5;
sound = "reload";
soundPosition = "konec_hlavne";
};
class magazine_laser_hide_source {
source = "user";
initPhase = 1;
animPeriod = 0;
};
class mainTurretT_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class mainGunT_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class hydraulicsT_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
};
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
selection = "interact";
class TBD_Fold {
distance = 2.5;
condition = QUOTE([ARR_1(_target)] call FUNC(canFold));
displayName = CSTRING(fold);
statement = QUOTE([ARR_1(_target)] call FUNC(fold));
};
class TBD_Unfold {
distance = 2.5;
condition = QUOTE([ARR_1(_target)] call FUNC(canUnfold));
displayName = CSTRING(unfold);
statement = QUOTE([ARR_1(_target)] call FUNC(unfold));
};
};
class TBD_OpenBreech {
selection = "int_handle_breech";
distance = 1.5;
condition = QUOTE([ARR_1(_target)] call FUNC(canOpenBreech));
showDisabled = 0;
displayName = CSTRING(open_breech);
statement = QUOTE([ARR_1(_target)] call FUNC(openBreech));
};
class TBD_CloseBreech {
selection = "int_handle_breech";
distance = 1.5;
condition = QUOTE([ARR_1(_target)] call FUNC(canCloseBreech));
showDisabled = 0;
displayName = CSTRING(close_breech);
statement = QUOTE([ARR_1(_target)] call FUNC(closeBreech));
};
class TBD_Load {
displayName = CSTRING(load);
distance = 1.5;
showDisabled=0;
exceptions[]={};
priority=5;
selection = "casing_spawn";
icon = "x\tbd_mortars\addons\main\data\load.paa";
class TBD_LoadHECh1 {
displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_1";
condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_1)))] call FUNC(canLoad));
statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_1)),0)] call FUNC(load));
showDisabled = 0;
exceptions[] = {};
};
class TBD_LoadHECh2 {
displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_2";
condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_2)))] call FUNC(canLoad));
statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_2)),0)] call FUNC(load));
showDisabled = 0;
exceptions[] = {};
};
class TBD_LoadHECh3 {
displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_3";
condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_3)))] call FUNC(canLoad));
statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_3)),0)] call FUNC(load));
showDisabled = 0;
exceptions[] = {};
};
class TBD_LoadHECh4 {
displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_4";
condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_4)))] call FUNC(canLoad));
statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_4)),0)] call FUNC(load));
showDisabled = 0;
exceptions[] = {};
};
class TBD_LoadHECh5 {
displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_5";
condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_5)))] call FUNC(canLoad));
statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_5)),0)] call FUNC(load));
showDisabled = 0;
exceptions[] = {};
};
class TBD_LoadHECh6 {
displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_6";
condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_6)))] call FUNC(canLoad));
statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_6)),0)] call FUNC(load));
showDisabled = 0;
exceptions[] = {};
};
class TBD_LoadHECh7 {
displayName = "$STR_TBD_MORTARS_105mm_HE_CHARGE_7";
condition = QUOTE([ARR_2(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_7)))] call FUNC(canLoad));
statement = QUOTE([ARR_3(_target,QUOTE(QUOTE(TBD_MORTARS_105mm_ROUND_HE_CHARGE_7)),0)] call FUNC(load));
showDisabled = 0;
exceptions[] = {};
};
};
class TBD_Unload {
selection = "casing_spawn";
distance = 1.5;
showDisabled = 0;
displayName = CSTRING(unload);
condition = QUOTE([ARR_1(_target)] call FUNC(canUnload));
statement = QUOTE([ARR_2(_target,0)] call FUNC(unload));
icon = "x\tbd_mortars\addons\main\data\unload.paa";
};
class TBD_Tow {
selection = "towing_point";
distance = 2.5;
condition = QUOTE([ARR_1(_target)] call FUNC(canBeTowed));
showDisabled = 0;
displayName = CSTRING(TOW);
statement = QUOTE([ARR_1(_target)] call FUNC(tow));
};
class TBD_Detach {
selection = "towing_point";
distance = 2.5;
condition = QUOTE(_target getVariable [ARR_2(QUOTE(QGVAR(towed)),false)]);
showDisabled = 0;
displayName = CSTRING(DETACH);
statement = QUOTE([ARR_1(_target)] call FUNC(detach));
};
};
};
};