Compare commits

..

10 Commits

Author SHA1 Message Date
Sotirios Pupakis
2c9cbb8d09 misc 2025-07-01 19:42:36 +02:00
Sotirios Pupakis
1842de959a update 2025-07-01 19:08:01 +02:00
Tklama
47093b52fa Corrected inheritance issues 2025-06-29 16:58:07 +02:00
Sotirios Pupakis
e078d684c8 version bump 2025-04-01 02:56:02 +02:00
Tklama
a896a89d7e Audio at range fix 2025-03-24 15:04:05 +01:00
Sotirios Pupakis
1eb15eec04 version bump + casing setting 2025-03-10 19:06:50 +01:00
Tklama
f23da89e7e Update
- Added camouflage variants
- Fixed weapon loudness at distance
- Fixed issue with the weapon getting Arma´d after a casing is ejected
2025-03-10 17:50:51 +01:00
ilbinek
f178efc5ae version bump 2025-01-28 05:29:09 +01:00
ilbinek
c77d5403a4 stringtable sort 2025-01-28 05:27:00 +01:00
ilbinek
2269d78784 redid rotations 2025-01-28 05:25:42 +01:00
80 changed files with 488 additions and 324 deletions

View File

@@ -10,7 +10,7 @@ exclude=[".vscode/**/*"]
[version]
major=0
minor=1
patch=6
patch=10
git_hash=0
@@ -22,13 +22,11 @@ archive=false
workshop = [
"450814997", # CBA_A3
"463939057", # ACE
"2369477168", # Advanced Developer Tools
"3499977893", # Advanced Developer Tools
"3058335345", # TBD Mortars
]
dlc = [
"S.O.G. Prairie Fire",
"Global Mobilization",
]
mission = "test.Stratis"

View File

@@ -36,7 +36,7 @@ GVAR(towingList) = [
["gm_ge_army_u1300l_container", [0, -2.69, -2.47], -0.18],
["gm_ge_army_kat1_45,1.*", [-0.04, -3.34, -2.37], -0.20],
["gm_ge_army_kat1_454.*", [-0.02, -4.62, -1.84], -0.20],
["gm_ge_army_fuchsa0.*", [-0.27, -3.42, -2.6], -0.16],
["gm_ge_army_fuchsa0.*", [-0.27, -3.42, -2.6], -0.16]
];
[QGVAR(detached), {

View File

@@ -32,17 +32,31 @@ ADDON = true;
}
] call CBA_fnc_addEventHandler;
GVAR(LAST_ROT_RIGHT) = 0;
GVAR(LAST_ROT_LEFT) = 0;
[LLSTRING(name), "RotateRight", [LLSTRING(rotright), LLSTRING(rotright_desc)], {
if (vehicle player == player) exitWith {};
if (isNull objectParent player) exitWith {};
if (typeOf (vehicle player) != QUOTE(TBD_M119)) exitWith {};
if (GVAR(LAST_ROT_RIGHT) > time + 0.05) exitWith {};
GVAR(LAST_ROT_RIGHT) = time;
call FUNC(rotateRight);
}, {},
[0x20, [false, false, false]], true, 0.1] call CBA_fnc_addKeybind;
[0x20, [false, false, false]], true] call CBA_fnc_addKeybind;
[LLSTRING(name), "RotateLeft", [LLSTRING(rotleft), LLSTRING(rotleft_desc)], {
if (vehicle player == player) exitWith {};
if (isNull objectParent player) exitWith {};
if (typeOf (vehicle player) != QUOTE(TBD_M119)) exitWith {};
if (GVAR(LAST_ROT_LEFT) > time + 0.05) exitWith {};
GVAR(LAST_ROT_LEFT) = time;
call FUNC(rotateLeft);
}, {},
[0x1E, [false, false, false]], true, 0.1] call CBA_fnc_addKeybind;
[0x1E, [false, false, false]], true] call CBA_fnc_addKeybind;
[
QGVAR(EJECT),
"CHECKBOX",
[LLSTRING(EJECT), LLSTRING(EJECT_DESC)],
QUOTE(ADDON_NICE),
true
] call CBA_fnc_addSetting;

View File

@@ -29,13 +29,15 @@ params ["_arty", "_shell"];
if !(_arty getVariable[QGVAR(breech), false]) exitWith {false};
// Check of the mortar is empty
// Check if the mortar is empty
private _mags = _arty magazinesTurret [0];
if (count _mags != 0) exitWith {false};
// Check if this shell is nearby
private _veh = nearestObjects [player, [_shell], 3];
private _ret = false;
{
if (typeOf _x == _shell) exitWith {_ret = true;};

View File

@@ -28,7 +28,7 @@ params ["_arty"];
if !(_arty getVariable[QGVAR(breech), false]) exitWith {false};
// Check of the mortar is empty
// Check if the mortar is empty
private _mags = _arty magazinesTurret [0];
if (count _mags == 0) exitWith {false};
true

View File

@@ -27,7 +27,7 @@
params ["_arty"];
if !([_arty] call FUNC(canCloseBrach)) exitWith {};
if !([_arty] call FUNC(canCloseBreech)) exitWith {};
_arty animateSource ["open_breech_source", 0];
_arty animateSource ["handle_breech_source", 0];

View File

@@ -24,6 +24,8 @@
#include "..\script_component.hpp"
if (!GVAR(EJECT)) exitWith {};
params ["_arty"];
// tbd_mortars_105mm_casing_spent
@@ -42,4 +44,4 @@ _casing allowDamage false;
// Add vertical force to the magazine
[{params ["_casing"]; _casing addForce [_casing vectorModelToWorld [0, -100, 0], [0, 0, 0]];}, [_casing]] call CBA_fnc_execNextFrame;
playsound3D [QPATHTO_R(TBD_M119\sounds\casing_drop.ogg), _casing, false, _soundPos , 5, 1, 30, 0.5];
playSound3D [QPATHTO_R(TBD_M119\sounds\casing_drop.ogg), _casing, false, _soundPos , 5, 1, 30, 0.5];

View File

@@ -26,7 +26,7 @@
params ["_arty"];
if !([_arty] call FUNC(canOpenBrach)) exitWith {};
if !([_arty] call FUNC(canOpenBreech)) exitWith {};
_arty animateSource ["open_breech_source", 1];
_arty animateSource ["handle_breech_source", 1];

View File

@@ -24,7 +24,7 @@
#include "..\script_component.hpp"
if (vehicle player == player) exitWith {};
if (isNull objectParent player) exitWith {};
if (typeOf (vehicle player) != QUOTE(TBD_M119)) exitWith {};
private _arty = vehicle player;
@@ -32,11 +32,7 @@ private _arty = vehicle player;
// Get the current animation source phase
private _currentPhase = _arty animationSourcePhase "howitzer_rotation_source";
// Edit it
_currentPhase = _currentPhase - 4;
if (_currentPhase < -1440) then {
_currentPhase = 1440;
};
_currentPhase = _currentPhase - 1;
// Set the new animation source phase
_arty animateSource ["howitzer_rotation_source", _currentPhase, 30];
_arty animateSource ["howitzer_rotation_source", _currentPhase, true];

View File

@@ -24,7 +24,7 @@
#include "..\script_component.hpp"
if (vehicle player == player) exitWith {};
if (isNull objectParent player) exitWith {};
if (typeOf (vehicle player) != QUOTE(TBD_M119)) exitWith {};
private _arty = vehicle player;
@@ -32,11 +32,7 @@ private _arty = vehicle player;
// Get the current animation source phase
private _currentPhase = _arty animationSourcePhase "howitzer_rotation_source";
// Edit it
_currentPhase = _currentPhase + 4;
if (_currentPhase > 1440) then {
_currentPhase = 1440;
};
_currentPhase = _currentPhase + 1;
// Set the new animation source phase
_arty animateSource ["howitzer_rotation_source", _currentPhase, 30];
_arty animateSource ["howitzer_rotation_source", _currentPhase, true];

View File

@@ -15,7 +15,8 @@
#define PREP_SUB(subfolder,fncName) [QPATHTOF(functions\subfolder\DOUBLES(fnc,fncName).sqf), QUOTE(DFUNC(DOUBLES(subfolder,fncName)))] call CBA_fnc_compileFunction
#define TBD_MORT(cmp,fncName) tbd_mortars##_##cmp##_##fnc##_##fncName
//#define TBD_MORT(cmp,fncName) tbd##_##cmp##_##fnc##_##fncName
#define ADDON_NICE TBD M119
#define TBD_M119 tbd_m119
#define TBD_M119_WEAPON tbd_m119_weapon
@@ -23,6 +24,10 @@
#define TBD_M119_SHOT_SOUNDSET tbd_m119_shot_soundset
#define TBD_M119_SHOT_SOUNDSHADER tbd_M119_shot_soundshader
#define TBD_M119_SHOT_MEADOWS_SOUNDSHADER tbd_M119_shot_meadows_soundshader
#define TBD_M119_SHOT_HOUSES_SOUNDSHADER tbd_M119_shot_houses_soundshader
#define TBD_M119_SHOT_FOREST_SOUNDSHADER tbd_M119_shot_forest_soundshader
#define TBD_MORTARS_105mm_ROUND_HE_CHARGE_1 tbd_mortars_105mm_round_he_charge_1
#define TBD_MORTARS_105mm_ROUND_HE_CHARGE_2 tbd_mortars_105mm_round_he_charge_2
#define TBD_MORTARS_105mm_ROUND_HE_CHARGE_3 tbd_mortars_105mm_round_he_charge_3

View File

@@ -1,70 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Project name="tbd_mortar">
<Package name="Translation">
<Key ID="STR_TBD_M119_M119_NAME">
<English>M119A3</English>
<Czech>M119A3</Czech>
<Russian>M119A3</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_OPEN_BREECH">
<English>Open breech</English>
<Czech>Otevřít zadovku</Czech>
<Russian>Открыть</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_CLOSE_BREECH">
<English>Close breech</English>
<Czech>Zavřít zadovku</Czech>
<Russian>Закрыть</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_FOLD">
<English>Fold</English>
<Czech>Složit</Czech>
<Russian>Сложить</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_UNFOLD">
<English>Unfold</English>
<Czech>Rozložit</Czech>
<Russian>Развернуть</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_LOAD">
<English>Load</English>
<Czech>Nabít</Czech>
<Russian>Зарядить</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_UNLOAD">
<English>Unload</English>
<Czech>Vybít</Czech>
<Russian>Разрядить</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_TOW">
<English>Tow</English>
<Czech>Zaháknout</Czech>
<Russian>Прицепить</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_DETACH">
<English>Detach</English>
<Czech>Odpojit</Czech>
<Russian>Отсоединить</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_ROTLEFT">
<English>Rotate left</English>
<Czech>Otočit vlevo</Czech>
<Russian>Повернуть орудие влево</Russian>
<Key ID="STR_TBD_M119_M119_DPICM">
<English>DPICM</English>
<Czech>Kazetové</Czech>
<Russian>Кассетный</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_ROTRIGHT">
<English>Rotate right</English>
<Czech>Otočit vprevo</Czech>
<Russian>Повернуть орудие вправо</Russian>
<Key ID="STR_TBD_M119_M119_EJECT">
<English>Eject casing</English>
<Czech>Vyhodit nábojnici</Czech>
<Russian>Выбросить гильщу</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_ROTLEFT_DESC">
<English>Rotate the gun to the left</English>
<Czech>Otočit celou houfnici vlevo</Czech>
<Russian>Повернуть орудие влево</Russian>
<Key ID="STR_TBD_M119_M119_EJECT_DESC">
<English>Should a casing be ejected when breech is opened after a shot was fired</English>
<Czech>Má se vyhodit nábojnice po otevření závodky po vystřelení</Czech>
<Russian>Должна гильза выброситься после открытия казенника после выстрела</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_ROTRIGHT_DESC">
<English>Rotate the gun to the right</English>
<Czech>Otočit celou houfnici vpravo</Czech>
<Russian>Повернуть орудие вправо</Russian>
<Key ID="STR_TBD_M119_M119_FOLD">
<English>Fold</English>
<Czech>Složit</Czech>
<Russian>Сложить</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_HE">
<English>HE</English>
@@ -76,15 +41,60 @@
<Czech>Laserové</Czech>
<Russian>управляемыми</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_LOAD">
<English>Load</English>
<Czech>Nabít</Czech>
<Russian>Зарядить</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_NAME">
<English>M119A3</English>
<Czech>M119A3</Czech>
<Russian>M119A3</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_OPEN_BREECH">
<English>Open breech</English>
<Czech>Otevřít zadovku</Czech>
<Russian>Открыть</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_ROTLEFT">
<English>Rotate left</English>
<Czech>Otočit vlevo</Czech>
<Russian>Повернуть орудие влево</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_ROTLEFT_DESC">
<English>Rotate the gun to the left</English>
<Czech>Otočit celou houfnici vlevo</Czech>
<Russian>Повернуть орудие влево</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_ROTRIGHT">
<English>Rotate right</English>
<Czech>Otočit vprevo</Czech>
<Russian>Повернуть орудие вправо</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_ROTRIGHT_DESC">
<English>Rotate the gun to the right</English>
<Czech>Otočit celou houfnici vpravo</Czech>
<Russian>Повернуть орудие вправо</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_SMOKE">
<English>Smoke</English>
<Czech>Dýmové</Czech>
<Russian>дымовыми</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_DPICM">
<English>DPICM</English>
<Czech>Kazetové</Czech>
<Russian>Кассетный</Russian>
<Key ID="STR_TBD_M119_M119_TOW">
<English>Tow</English>
<Czech>Zaháknout</Czech>
<Russian>Прицепить</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_UNFOLD">
<English>Unfold</English>
<Czech>Rozložit</Czech>
<Russian>Развернуть</Russian>
</Key>
<Key ID="STR_TBD_M119_M119_UNLOAD">
<English>Unload</English>
<Czech>Vybít</Czech>
<Russian>Разрядить</Russian>
</Key>
</Package>
</Project>

View File

@@ -1,6 +1,6 @@
class CfgSoundSets {
class TBD_M119_SHOT_SOUNDSET {
soundShaders[] = {QUOTE(TBD_M119_SHOT_SOUNDSHADER)};
soundShaders[] = {QUOTE(TBD_M119_SHOT_MEADOWS_SOUNDSHADER),QUOTE(TBD_M119_SHOT_FOREST_SOUNDSHADER),QUOTE(TBD_M119_SHOT_HOUSES_SOUNDSHADER)};
volumeFactor = 1.6;
volumeCurve = "InverseSquare2Curve";
sound3DProcessingType = "WeaponMediumShot3DProcessingType";
@@ -8,5 +8,9 @@ class CfgSoundSets {
spatial = 1;
doppler = 0;
loop = 0;
frequencyRandomizer = 2;
frequencyRandomizerMin = 0.2;
obstructionFactor = 0;
occlusionFactor = 0.3;
};
};

View File

@@ -1,8 +1,36 @@
class CfgSoundShaders {
class TBD_M119_SHOT_SOUNDSHADER {
class TBD_M119_SHOT_MEADOWS_SOUNDSHADER {
samples[] = {{QPATHTOF(TBD_M119\sounds\M119shot.ogg), 1}};
volume = 4;
range = 1000;
rangeCurve = "LinearCurve";
volume = "2 * (meadows max sea) * (1 - (interior * 0.7))";
range = 5000;
rangeCurve[] = {{0, 1},
{5, 1},
{6, 1},
{5000, 1}
};
};
class TBD_M119_SHOT_HOUSES_SOUNDSHADER {
samples[] = {{QPATHTOF(TBD_M119\sounds\M119shot.ogg), 1}};
volume = "2 * houses * (1 - (interior * 0.7))";
range = 5000;
rangeCurve[] = {{0, 1},
{5, 1},
{6, 1},
{5000, 1}
};
};
class TBD_M119_SHOT_FOREST_SOUNDSHADER {
samples[] = {{QPATHTOF(TBD_M119\sounds\M119shot.ogg), 1}};
volume = "2 * (forest max trees) * (1 - (interior * 0.7))";
range = 5000;
rangeCurve[] = {{0, 1},
{5, 1},
{6, 1},
{5000, 1}
};
};
};

View File

@@ -1,42 +1,43 @@
class CfgVehicles {
class Land;
class LandVehicle: Land {
class Turrets;
class LandVehicle : Land {
class NewTurret;
};
class StaticWeapon : LandVehicle {
class Turrets: Turrets {
class MainTurret;
};
class ACE_Actions;
};
class StaticMortar : StaticWeapon {
class Turrets: Turrets {
class MainTurret: MainTurret {
class Turrets {
class MainTurret : NewTurret {
class ViewOptics;
};
};
class ACE_Actions: ACE_Actions {
};
class StaticMortar : StaticWeapon {
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
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);
model = QPATHTOF(TBD_M119\TBD_M119.p3d);
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"};
slingLoadCargoMemoryPoints[] = {"sling_point_1", "sling_point_2",
"towing_point"};
transportSoldier = 0;
cargoAction[] = {"M119pose"};
getInAction = "GetInMortar";
@@ -47,8 +48,87 @@ class CfgVehicles {
accuracy = 0.8;
EPEImpulseDamageCoef = 5;
class Turrets: Turrets {
class MainTurret: MainTurret {
hiddenSelections[] = {"camo1", "camo2", "camo3", "camo4", "camo5",
"camo6", "camo7", "camo8", "camo9"};
hiddenSelectionsTextures[] = {
"x\TBD_M119\addons\M119\tbd_m119\data\one_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\two_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\three_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\four_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\five_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\six_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\seven_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\plate_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\scope_co.paa"};
class TextureSources {
class dark_green {
author = "Tklama";
displayName = "Dark Green";
factions[] = {};
textures[] = {
"x\TBD_M119\addons\M119\tbd_m119\data\one_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\two_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\three_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\four_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\five_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\six_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\seven_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\plate_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\scope_co.paa"};
};
class lightgreen {
author = "Tklama";
displayName = "Light Green";
factions[] = {};
textures[] = {
"x\TBD_M119\addons\M119\tbd_m119\data\one_lg_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\two_lg_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\three_lg_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\four_lg_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\five_lg_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\six_lg_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\seven_lg_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\plate_lg_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\scope_lg_co.paa"};
};
class desert {
author = "Tklama";
displayName = "Desert";
factions[] = {};
textures[] = {
"x\TBD_M119\addons\M119\tbd_m119\data\one_desert_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\two_desert_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\three_desert_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\four_desert_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\five_desert_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\six_desert_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\seven_desert_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\plate_desert_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\scope_desert_co.paa"};
};
class arctic {
author = "Tklama";
displayName = "Arctic";
factions[] = {};
textures[] = {
"x\TBD_M119\addons\M119\tbd_m119\data\one_arctic_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\two_arctic_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\three_arctic_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\four_arctic_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\five_arctic_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\six_arctic_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\seven_arctic_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\plate_arctic_co.paa",
"x\TBD_M119\addons\M119\tbd_m119\data\scope_arctic_co.paa"};
};
};
class Turrets : Turrets {
class MainTurret : MainTurret {
gunnerRightHandAnimName = "vertical_handpos";
gunnerLeftHandAnimName = "horizontal_handpos";
gunnerAction = "M119pose";
@@ -75,8 +155,9 @@ class CfgVehicles {
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 {
soundServoVertical[] = {
QPATHTOF(TBD_M119\sounds\metalsqueal.ogg), 5, 1, 35};
class ViewOptics : ViewOptics {
camPos = "gunnerview";
camDir = "look";
initAngleX = 0;
@@ -122,71 +203,71 @@ class CfgVehicles {
selectionDamage = "zbytek";
class DestructionEffects {
class Smoke2 {
class Smoke2 {
intensity = 1;
interval = 1;
lifetime = 5;
position = "konec_hlavne";
simulation = "particles" ;
type = "WeaponWreckSmoke";};
simulation = "particles";
type = "WeaponWreckSmoke";
};
class Smoke {
class Smoke {
intensity = 1;
interval = 1;
lifetime = 5;
position = "usti_hlavne";
simulation = "particles" ;
type = "WeaponWreckSmoke";};
simulation = "particles";
type = "WeaponWreckSmoke";
};
class Smoke3 {
class Smoke3 {
intensity = 0.15;
interval = 1;
lifetime = 3.5;
position = "smoke";
simulation = "particles" ;
type = "ObjectDestructionSmoke";};
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",
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\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\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\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\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\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\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\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\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\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\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"};
"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[] = {};
};
@@ -194,7 +275,7 @@ class CfgVehicles {
class rest_rotation_source {
source = "user";
initPhase = 0;
animPeriod = 0;
animPeriod = 0.05;
};
class howitzer_rotation_source {
source = "user";
@@ -244,13 +325,13 @@ class CfgVehicles {
animPeriod = 1;
};
class recoil_barrel_source {
class recoil_barrel_source {
source = "user";
initPhase = 0;
animPeriod = 1;
};
class open_breech_source {
class open_breech_source {
source = "user";
initPhase = 0;
animPeriod = 0.5;
@@ -294,7 +375,6 @@ class CfgVehicles {
source = "user";
initPhase = 0;
animPeriod = 0.5;
};
class magazine_smoke_hide_source {
@@ -307,7 +387,6 @@ class CfgVehicles {
source = "user";
initPhase = 0;
animPeriod = 0.5;
};
class magazine_dpicm_hide_source {
@@ -320,7 +399,6 @@ class CfgVehicles {
source = "user";
initPhase = 0;
animPeriod = 0.5;
};
class magazine_laser_hide_source {
@@ -346,10 +424,15 @@ class CfgVehicles {
initPhase = 0;
animPeriod = 1;
};
class m119_reload_source {
weapon = "TBD_M119_WEAPON";
source = "reload";
};
};
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
class ACE_Actions : ACE_Actions {
class ACE_MainActions : ACE_MainActions {
selection = "interact";
class TBD_Fold {
@@ -388,9 +471,9 @@ class CfgVehicles {
class TBD_Load {
displayName = CSTRING(load);
distance = 1.5;
showDisabled=0;
exceptions[]={};
priority=5;
showDisabled = 0;
exceptions[] = {};
priority = 5;
selection = "casing_spawn";
icon = "x\tbd_mortars\addons\main\data\load.paa";
@@ -630,9 +713,6 @@ class CfgVehicles {
};
};
};
/*
};*/
class TBD_Unload {
selection = "casing_spawn";
@@ -656,7 +736,8 @@ class CfgVehicles {
class TBD_Detach {
selection = "towing_point";
distance = 2.5;
condition = QUOTE(_target getVariable [ARR_2(QUOTE(QGVAR(towed)),false)]);
condition = QUOTE(
_target getVariable[ARR_2(QUOTE(QGVAR(towed)),false)]);
showDisabled = 0;
displayName = CSTRING(DETACH);
statement = QUOTE([ARR_1(_target)] call FUNC(detach));

View File

@@ -1,11 +1,5 @@
class CfgWeapons {
class CannonCore {
class player;
class close;
class short;
class medium;
class far;
};
class CannonCore;
class mortar_82mm: CannonCore {};
@@ -19,7 +13,7 @@ class CfgWeapons {
};
modes[] = {"Single"};
reloadSound[] = {};
reloadMagazineSound[] = {};
reloadMagazineSound[] = {QPATHTOF(TBD_M119\sounds\reload.ogg), 3, 1, 50};
magazineReloadTime = 0.5;
class Single: Mode_SemiAuto {

Binary file not shown.

View File

@@ -1,5 +1,4 @@
class CfgMovesBasic {
class defaultDie;
class ManActions {
M119pose = "M119pose";
};

View File

@@ -0,0 +1,8 @@
class cfgSound3DProcessors {
class tbd_m119Tail_3DProcessingType {
innerRange = 20;
range = 1000;
typer = "panner";
rangeCurve = "InverseSquare3Curve";
};
};

View File

@@ -4,7 +4,7 @@ class CfgPatches {
class TBD_M119 {
addonRootClass = "A3_Armor_F_Beta";
requiredAddons[] = {"cba_main", "ace_interact_menu"};
requiredVersion = 0.5;
requiredVersion = 1.96;
weapons[] = {};
units[] = {QUOTE(TBD_M119)};
};
@@ -17,3 +17,4 @@ class Mode_SemiAuto;
#include "CfgVehicles.hpp"
#include "CfgAnimationSourceSounds.hpp"
#include "CfgMoves.hpp"
#include "cfgSound3DProcessors.hpp"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -7,12 +7,12 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";

View File

@@ -7,17 +7,16 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
texture="x\TBD_M119\addons\M119\tbd_m119\data\four_nohq.paa";

View File

@@ -7,12 +7,12 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";

View File

@@ -7,12 +7,12 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -7,12 +7,12 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -7,12 +7,12 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";

View File

@@ -7,12 +7,12 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";

View File

@@ -7,12 +7,12 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";

View File

@@ -7,12 +7,12 @@
#define _ARMA_
//Class armor_f_gamma : MBT_01\Data\MBT_01_body.rvmat{
ambient[] = { 0.65, 0.65, 0.65, 0.65 };
diffuse[] = { 0.65, 0.65, 0.65, 0.65 };
ambient[] = { 1, 1, 1, 1 };
diffuse[] = { 1, 1, 1, 1 };
forcedDiffuse[] = { 0, 0, 0, 1 };
emmisive[] = { 0, 0, 0, 1 };
specular[] = { 0.5, 0.5, 0.5, 0.5 };
specularPower = 30;
specular[] = { 0.15, 0.15, 0.15, 0.15};
specularPower = 45;
PixelShaderID = "Super";
VertexShaderID = "Super";

View File

@@ -23,6 +23,7 @@ class CfgSkeletons {
"handle_vertical", "otocvez",
"barrel", "otochlaven",
"trigger", "otochlaven",
"m119_zasleh", "otochlaven",
"magazine_translation_bone", "otochlaven",
"magazine", "magazine_translation_bone",
"magazine_smoke_translation_bone", "otochlaven",
@@ -49,10 +50,21 @@ class CfgModels {
class tbd_M119 : Default {
sectionsInherit = "";
sections[] = {
"lwheel",
"rwheel"
};
sections[]= {
"zbytek",
"camo1",
"camo2",
"camo3",
"camo4",
"camo5",
"camo6",
"camo7",
"camo8",
"camo9",
"camo10",
"M119_zasleh"
};
skeletonName = "tbd_M119_skeleton";
class Animations {
@@ -83,6 +95,7 @@ class CfgModels {
source = "howitzer_rotation_source";
selection = "leftwheel";
axis = "axis_wheels";
sourceAddress = "loop";
minValue = -1440;
maxValue = 1440;
angle0 = "rad -2880";
@@ -94,6 +107,7 @@ class CfgModels {
source = "howitzer_rotation_source";
selection = "rightwheel";
axis = "axis_wheels";
sourceAddress = "loop";
minValue = -1440;
maxValue = 1440;
angle0 = "rad +2880";
@@ -105,10 +119,11 @@ class CfgModels {
source = "howitzer_rotation_source";
selection = "dummy_bone";
axis = "axis_howitzer";
sourceAddress = "loop";
minValue = -1440;
maxValue = 1440;
angle0 = "rad -1440";
angle1 = "rad +1440";
angle0 = "rad -360";
angle1 = "rad +360";
};
class rest {
@@ -387,6 +402,18 @@ class CfgModels {
selection = "plate_back";
hideValue = 1;
};
class m119_zasleh_hide
{
source = "m119_reload_source";
type = "hide";
selection = "m119_zasleh";
minValue = 0;
maxValue = 1;
hideValue = 0;
unhideValue = 0.99;
};
};
};
};