mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
RHS CSW compatability (#7082)
* Initial Commit
* Got rid of unneeded translation values
* Updated Strings
* "Fixed" issue where when you deploy the tripid and weapon on slope it freaked out.
* Fixed locality issues. Added timers to relavent functions.
* Added weights to all magazines/tripod. Weights to weapons coming soon when I transfer them to the launcher slot
* Fixed bug regarding localized strings. Created new tripod model
* Added timers for deploying/picking up the tripod. Changed ammo-box model from custom to one already in ARMA. Changed gun-bag model for a more generic one. Created a texture for the tripod and gunbag
* Removed ability to disassemble weapons via the addAction. Added ACE Action to get in due to a memory point issue. Changed from a static deploy/dismount time to one based in the weapon configs
* Created forward-compatability. Made it so I can define a base plate for any weapon if I ever want to expand from the generic M3 Tripod.
* Fixed bug where tripod wouldn't deploy with the correct times. Fixed bug where if you moved the tripod into the ground it would go flying.
* Added mortar compatability. Will probably shift whole mortar ammo loading to CSW one day
* Added icons to each relavent item
* Added README, possibly fixed bug where if you are in a weapon others cant load/unload ammo. Changed distance you can interact with weapons
* Added checks for when deploying the gun as well as unloading ammo to prevent duplication/deletion of items.
* Added documentation
* Added order to doc
* Explained why things are the way they are
* Remove temp files
* Removed redundant files
* Converted tabs->spaces. Added newlines at end of all files. Changed broken line in fnc_tripodDeploy.sqf.
* 100% newlines at end of file
* Added newlines to files that didnt get the change. Fixed README. Changed from GVAR(cswOptions) to GVAR(options). Changed from tabs to spaces in wiki
* Fixed issue with UAV assembling with enableWeaponDisassembling. Fixed bug where game would crash if you disassembled static weapon with more than 1 magazine
* Tabs->Spaces
* Added CSW options to base StaticWeapon class to allow for easier additions. Switched default mortar away from CSW system due to incompatabilities
* Lazy Evaluations and macros to describe how things work.
* Added newlines to script_component. Fix no-texture issue on tripod. "Fix" 20mm HE saying 40mm HE. Add custom icons to all weapons. Move "Check Ammo" to CSW menu
* abc
* Revert "abc"
This reverts commit bcb4214bd9
.
* Update to current commit
* Revert changes to fortify.md
* Updated UI Icon to Crew Served Ammo branch UI
* Added Pabst's CrewServedAmmo to handle ammo loading/unloading instead of my solution
* Fixed bug where currentWeaponTurret returned a blank string when a player hasent entered hte weapon to select the current weapon
* Re-added ammo loading time
* Tabs->Spaces
* Newline at end of files
* Removed replaced functions
* Remove redundant strings. Move ammo handling to appropiate section
* Tabs->Spaces
* Update wiki
* Updated to fix crash with default weapons and disable CSW ability on default static weapons
* Added editor attributes to enable/disable CSW at edit time
* Change how ammo is removed from the CSW. Uses math instead of iteration
* Fix bug where assembled weapon did not get rid of default actions
* Added support for multiple types of ammo in one CSW
* Add tracer magazines for .50 cal
* Fix bug where you could load ammo even if the gun couldnt take any more
* Disable debug and enable compile cache
* Changed weapon deploy/pickup time. Removed custom Titan missiles. Using ACE Dragging now. Added progress bar check for pickupTripod. Updated documentation
* Removed check if CSW is full to unload ammo
* Fix bug where items would spawn underneath other items on wepaon dismount
* Change some things
* Configure base statics, improve returnAmmo
* Add mortar baseplate
* Remove explicit inheritance
* Fix bug where unloading ammo would duplicate it if you had room in your person.
* Tab->Space
* Player couldnt pickup tripod due to legacy code
* Fix GMG_01_base_F inheritce
* Port of ACE 2 tripod + ACE 2 CSW Bag
* Move ACE 2 Data to APL folder
* Adjust weights to make them more accurate to how ARMA uses it and the real life equivalents
* Fix bug where error was thrown on esc from picking up tripod. Tripod rotated 180
* Fix bug where if you called ace_common_claim the weapon could be set to be disassembled even though it may not be wanted via CSW
* Added ability to toggle ammo handling when weaponAssembly is disabled.
* Add Proxy Weapons for all Vanilla static weapons. These serve as a way to allow for realistic ammo reload times without having to modify base classes if you want feautres turned off. Adjusted reload and mount times to be more "realistic"
* Fix Shadow RPT Spam
* Update wiki
* Change order of setDir and setPos
* Change all setDir/setPos orientations. Remove redundant check. Ensure that weapon locked state reflects it with the "getIn" command. Add a way to pass in a specific classname for the weapon assemble type. Add a callback function onDisassemble if user wants to set the state of the new tripod using the old weapon as a reference
* Actually check for the carryWeaponClassname in the deployWeapon check
* Ai Compatiblity
* Add stringtable entries
* Formatting fixes
* Stringtables for settings, fix setMagazineTurretAmmo
* inherit ammo for mags, reorder stringtable
displays correct ammo and descriptionShort
* don't require ace_javelin
* Tweaks, cleanup, localzation, ace_reload changes
change weapon tag to [CSW]
tweak localization strings
minor cleanup
simplify some ace_reload funcs
* delete moved dev func
* Hopefully fix issue where to-be deleted tripod intersects with newly created weapon and vice versa. Remove PBOPREFIX newline
* cleanup/proxyWeapon/mk6 compat
* RHS compatability
* Modified all tripod p3ds to have [0,0,0] at the mount. Ported AGS-30, Kord, M220, and SPG-9 tripods to APL And added them to CSW. Changed RHS compats to use new ported tripods. Changed strings to reflect real names.
* Change from M224 Mortar Bag -> Mk6 Mortar bag
* Add named propert (Autocenter) to make P3D [0,0,0] the center of the object instead of engine calculated
* oh no tabs
* remove some more evil tabs
* fix changes lost in merge
* fix bad merge pt2
* Fix UBC
This commit is contained in:
parent
abe2ce2f6f
commit
7b13a75305
Binary file not shown.
Binary file not shown.
BIN
addons/apl/ace_csw_tripod_ags30.p3d
Normal file
BIN
addons/apl/ace_csw_tripod_ags30.p3d
Normal file
Binary file not shown.
BIN
addons/apl/ace_csw_tripod_kord.p3d
Normal file
BIN
addons/apl/ace_csw_tripod_kord.p3d
Normal file
Binary file not shown.
BIN
addons/apl/ace_csw_tripod_m122.p3d
Normal file
BIN
addons/apl/ace_csw_tripod_m122.p3d
Normal file
Binary file not shown.
BIN
addons/apl/ace_csw_tripod_m220.p3d
Normal file
BIN
addons/apl/ace_csw_tripod_m220.p3d
Normal file
Binary file not shown.
BIN
addons/apl/ace_csw_tripod_spg9.p3d
Normal file
BIN
addons/apl/ace_csw_tripod_spg9.p3d
Normal file
Binary file not shown.
95
addons/apl/data/csw_nsv.rvmat
Normal file
95
addons/apl/data/csw_nsv.rvmat
Normal file
@ -0,0 +1,95 @@
|
||||
ambient[]={1,1,1,1.000000};
|
||||
diffuse[]={1,1,1,1.000000};
|
||||
forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000};
|
||||
emmisive[]={0.000000,0.000000,0.000000,1.000000};
|
||||
specular[]={1,1,1,1.000000};
|
||||
specularPower=40.000000;
|
||||
PixelShaderID="super";
|
||||
VertexShaderID="super";
|
||||
class Stage1
|
||||
{
|
||||
texture = "z\ace\addons\apl\data\csw_nsv_nohq.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1.000000,0.000000,0.000000};
|
||||
up[]={0.000000,1.000000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="a3\weapons_f\Data\DetailMaps\metal_detail_dt.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={8.0000,0.000000,0.000000};
|
||||
up[]={0.000000,8.0000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
||||
class Stage3
|
||||
{
|
||||
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1.000000,0.000000,0.000000};
|
||||
up[]={0.000000,1.000000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
||||
class Stage4
|
||||
{
|
||||
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1.000000,0.000000,0.000000};
|
||||
up[]={0.000000,1.000000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
||||
class Stage5
|
||||
{
|
||||
texture = "z\ace\addons\apl\data\csw_nsv_smdi.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1.000000,0.000000,0.000000};
|
||||
up[]={0.000000,1.000000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
||||
class Stage6
|
||||
{
|
||||
texture = "#(ai,32,128,1)fresnel(3.38,5.33)";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1.000000,0.000000,0.000000};
|
||||
up[]={0.000000,1.000000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
||||
class Stage7
|
||||
{
|
||||
texture="a3\data_f\env_land_co.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1.000000,0.000000,0.000000};
|
||||
up[]={0.000000,1.000000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
||||
class StageTI {
|
||||
texture = "a3\data_f\default_vehicle_ti_ca.paa";
|
||||
};
|
BIN
addons/apl/data/csw_nsv_co.paa
Normal file
BIN
addons/apl/data/csw_nsv_co.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/csw_nsv_nohq.paa
Normal file
BIN
addons/apl/data/csw_nsv_nohq.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/csw_nsv_smdi.paa
Normal file
BIN
addons/apl/data/csw_nsv_smdi.paa
Normal file
Binary file not shown.
92
addons/apl/data/csw_spg9.rvmat
Normal file
92
addons/apl/data/csw_spg9.rvmat
Normal file
@ -0,0 +1,92 @@
|
||||
ambient[] = {1.0,1.0,1.0,1.0};
|
||||
diffuse[] = {1.0,1.0,1.0,1.0};
|
||||
forcedDiffuse[] = {0.0,0.0,0.0,0.0};
|
||||
emmisive[] = {0.0,0.0,0.0,1.0};
|
||||
specular[] = {0.545,0.545,0.545,1.0};
|
||||
specularPower = 100.0;
|
||||
PixelShaderID = "Super";
|
||||
VertexShaderID = "Super";
|
||||
class Stage1
|
||||
{
|
||||
texture = "z\ace\addons\apl\data\csw_spg9_nohq.paa";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {1.0,0.0,0.0};
|
||||
up[] = {0.0,1.0,0.0};
|
||||
dir[] = {0.0,0.0,1.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture = "a3\weapons_f\Data\DetailMaps\metal_detail_dt.paa";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {8.0,0.0,0.0};
|
||||
up[] = {0.0,2.0,0.0};
|
||||
dir[] = {0.0,0.0,1.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
||||
class Stage3
|
||||
{
|
||||
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {1.0,0.0,0.0};
|
||||
up[] = {0.0,1.0,0.0};
|
||||
dir[] = {0.0,0.0,1.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
||||
class Stage4
|
||||
{
|
||||
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {1.0,0.0,0.0};
|
||||
up[] = {0.0,1.0,0.0};
|
||||
dir[] = {0.0,0.0,1.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
||||
class Stage5
|
||||
{
|
||||
texture = "z\ace\addons\apl\data\csw_spg9_smdi.paa";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {1.0,0.0,0.0};
|
||||
up[] = {0.0,1.0,0.0};
|
||||
dir[] = {0.0,0.0,1.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
||||
class Stage6
|
||||
{
|
||||
texture = "#(ai,32,128,1)fresnel(1.89,1.02)";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {1.0,0.0,0.0};
|
||||
up[] = {0.0,1.0,0.0};
|
||||
dir[] = {0.0,0.0,1.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
||||
class Stage7
|
||||
{
|
||||
texture="a3\data_f\env_land_co.paa";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {1.0,0.0,0.0};
|
||||
up[] = {0.0,1.0,0.0};
|
||||
dir[] = {0.0,0.0,1.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
BIN
addons/apl/data/csw_spg9_co.paa
Normal file
BIN
addons/apl/data/csw_spg9_co.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/csw_spg9_nohq.paa
Normal file
BIN
addons/apl/data/csw_spg9_nohq.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/csw_spg9_smdi.paa
Normal file
BIN
addons/apl/data/csw_spg9_smdi.paa
Normal file
Binary file not shown.
32
addons/apl/data/csw_tow_merge.rvmat
Normal file
32
addons/apl/data/csw_tow_merge.rvmat
Normal file
@ -0,0 +1,32 @@
|
||||
ambient[]={1.000000,1.000000,1.000000,1.000000};
|
||||
diffuse[]={1.000000,1.000000,1.000000,1.000000};
|
||||
forcedDiffuse[]={0.000000,0.000000,0.000000,0.000000};
|
||||
emmisive[]={0.000000,0.000000,0.000000,1.000000};
|
||||
specular[]={0.3000000,0.3000000,0.3000000,1.000000};
|
||||
specularPower=100.000000;
|
||||
PixelShaderID="NormalMapSpecularDIMap";
|
||||
VertexShaderID="NormalMap";
|
||||
class Stage1
|
||||
{
|
||||
texture="z\ace\addons\apl\data\csw_tow_merge_nohq.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1.000000,0.000000,0.000000};
|
||||
up[]={0.000000,1.000000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture="z\ace\addons\apl\data\csw_tow_merge_smdi.paa";
|
||||
uvSource="tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[]={1.000000,0.000000,0.000000};
|
||||
up[]={0.000000,1.000000,0.000000};
|
||||
dir[]={0.000000,0.000000,0.000000};
|
||||
pos[]={0.000000,0.000000,0.000000};
|
||||
};
|
||||
};
|
BIN
addons/apl/data/csw_tow_merge_co.paa
Normal file
BIN
addons/apl/data/csw_tow_merge_co.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/csw_tow_merge_nohq.paa
Normal file
BIN
addons/apl/data/csw_tow_merge_nohq.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/csw_tow_merge_smdi.paa
Normal file
BIN
addons/apl/data/csw_tow_merge_smdi.paa
Normal file
Binary file not shown.
32
addons/apl/data/csw_tripod_ags.rvmat
Normal file
32
addons/apl/data/csw_tripod_ags.rvmat
Normal file
@ -0,0 +1,32 @@
|
||||
ambient[] = {1.0,1.0,1.0,1.0};
|
||||
diffuse[] = {1.0,1.0,1.0,1.0};
|
||||
forcedDiffuse[] = {0.0,0.0,0.0,0.0};
|
||||
emmisive[] = {0.0,0.0,0.0,0.0};
|
||||
specular[] = {0.3,0.3,0.3,1.0};
|
||||
specularPower = 256.0;
|
||||
PixelShaderID = "NormalMapSpecularDIMap";
|
||||
VertexShaderID = "NormalMap";
|
||||
class Stage1
|
||||
{
|
||||
texture = "z\ace\addons\apl\data\csw_tripod_ags_nohq.paa";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {1.0,0.0,0.0};
|
||||
up[] = {0.0,1.0,0.0};
|
||||
dir[] = {0.0,0.0,0.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
||||
class Stage2
|
||||
{
|
||||
texture = "z\ace\addons\apl\data\csw_tripod_ags_smdi.paa";
|
||||
uvSource = "tex";
|
||||
class uvTransform
|
||||
{
|
||||
aside[] = {1.0,0.0,0.0};
|
||||
up[] = {0.0,1.0,0.0};
|
||||
dir[] = {0.0,0.0,0.0};
|
||||
pos[] = {0.0,0.0,0.0};
|
||||
};
|
||||
};
|
BIN
addons/apl/data/csw_tripod_ags_co.paa
Normal file
BIN
addons/apl/data/csw_tripod_ags_co.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/csw_tripod_ags_nohq.paa
Normal file
BIN
addons/apl/data/csw_tripod_ags_nohq.paa
Normal file
Binary file not shown.
BIN
addons/apl/data/csw_tripod_ags_smdi.paa
Normal file
BIN
addons/apl/data/csw_tripod_ags_smdi.paa
Normal file
Binary file not shown.
@ -1330,5 +1330,37 @@
|
||||
<Chinesesimp>玩家与AI</Chinesesimp>
|
||||
<Chinese>玩家與AI</Chinese>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Common_playerOnly">
|
||||
<English>Players only</English>
|
||||
<Russian>Игроков</Russian>
|
||||
<Polish>Tylko dla graczy</Polish>
|
||||
<Spanish>Solo jugadores</Spanish>
|
||||
<German>Nur Spieler</German>
|
||||
<Czech>Pouze hráči</Czech>
|
||||
<Portuguese>Somente jogadores</Portuguese>
|
||||
<French>Joueur uniquement</French>
|
||||
<Hungarian>Csak játékosok</Hungarian>
|
||||
<Italian>Solo giocatori</Italian>
|
||||
<Japanese>プレイヤーのみ</Japanese>
|
||||
<Korean>플레이어만</Korean>
|
||||
<Chinesesimp>只限玩家</Chinesesimp>
|
||||
<Chinese>只限玩家</Chinese>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Common_playersAndAI">
|
||||
<English>Players and AI</English>
|
||||
<Russian>Игроков и ботов</Russian>
|
||||
<Polish>Gracze oraz AI</Polish>
|
||||
<Spanish>Jugadores e IA</Spanish>
|
||||
<German>Spieler und KI</German>
|
||||
<Czech>Hráči a AI</Czech>
|
||||
<Portuguese>Jogadores e IA</Portuguese>
|
||||
<French>Joueurs et IA</French>
|
||||
<Hungarian>Játékosok és AI</Hungarian>
|
||||
<Italian>Giocatori ed IA</Italian>
|
||||
<Japanese>プレイヤーと AI</Japanese>
|
||||
<Korean>플레이어 및 인공지능</Korean>
|
||||
<Chinesesimp>玩家与AI</Chinesesimp>
|
||||
<Chinese>玩家與AI</Chinese>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -36,6 +36,7 @@ class GVAR(groups) {
|
||||
rhs_mag_127x108mm_50 = 1;
|
||||
rhs_mag_127x108mm_100 = 1;
|
||||
rhs_mag_127x108mm_150 = 1;
|
||||
rhs_mag_127x108mm_300 = 1;
|
||||
CUP_150Rnd_127x108_KORD_M = 1;
|
||||
CUP_50Rnd_127x108_KORD_M = 1;
|
||||
CUP_50Rnd_TE3_LRT5_127x107_DSHKM_M = 1; // not sure why cup uses 107 for the DSHKM?
|
||||
@ -52,14 +53,18 @@ class GVAR(groups) {
|
||||
class ACE_1Rnd_82mm_Mo_HE {
|
||||
ACE_1Rnd_82mm_Mo_HE = 1;
|
||||
8Rnd_82mm_Mo_shells = 1;
|
||||
rhs_12Rnd_m821_HE = 1;
|
||||
rhs_mag_3vo18_10 = 1;
|
||||
};
|
||||
class ACE_1Rnd_82mm_Mo_Smoke {
|
||||
ACE_1Rnd_82mm_Mo_Smoke = 1;
|
||||
8Rnd_82mm_Mo_Smoke_white = 1;
|
||||
rhs_mag_d832du_10 = 1;
|
||||
};
|
||||
class ACE_1Rnd_82mm_Mo_Illum {
|
||||
ACE_1Rnd_82mm_Mo_Illum = 1;
|
||||
8Rnd_82mm_Mo_Flare_white = 1;
|
||||
rhs_mag_3vs25m_10 = 1;
|
||||
};
|
||||
class ACE_1Rnd_82mm_Mo_HE_Guided {
|
||||
ACE_1Rnd_82mm_Mo_HE_Guided = 1;
|
||||
|
@ -66,20 +66,57 @@ class CfgVehicles {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_m3_tripod.p3d);
|
||||
displayName = CSTRING(Tripod_displayName);
|
||||
displayName = CSTRING(m3Tripod_displayName);
|
||||
class ADDON {
|
||||
disassembleTo = QGVAR(m3CarryTripod);
|
||||
};
|
||||
};
|
||||
class GVAR(m3TripodLow): GVAR(m3Tripod) {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_m3_tripod.p3d);
|
||||
displayName = CSTRING(Tripod_displayName);
|
||||
class ADDON {
|
||||
disassembleTo = QGVAR(m3CarryTripodLow);
|
||||
};
|
||||
};
|
||||
class GVAR(kordTripod): GVAR(baseTripod) {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ace_csw_tripod_kord.p3d);
|
||||
displayName = CSTRING(kordTripod_displayName);
|
||||
class ADDON {
|
||||
disassembleTo = QGVAR(kordCarryTripod);
|
||||
};
|
||||
};
|
||||
class GVAR(kordTripodLow): GVAR(kordTripod) {
|
||||
class ADDON {
|
||||
disassembleTo = QGVAR(kordCarryTripod);
|
||||
};
|
||||
};
|
||||
class GVAR(sag30Tripod): GVAR(m3Tripod) {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ace_csw_tripod_ags30.p3d);
|
||||
displayName = CSTRING(sag30Tripod_displayName);
|
||||
class ADDON {
|
||||
disassembleTo = QGVAR(sag30CarryTripod);
|
||||
};
|
||||
};
|
||||
class GVAR(m220Tripod): GVAR(baseTripod) {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ace_csw_tripod_m220.p3d);
|
||||
displayName = CSTRING(m220Tripod_displayName);
|
||||
class ADDON {
|
||||
disassembleTo = QGVAR(m220CarryTripod);
|
||||
};
|
||||
};
|
||||
class GVAR(spg9Tripod): GVAR(baseTripod) {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ace_csw_tripod_spg9.p3d);
|
||||
displayName = CSTRING(spg9Tripod_displayName);
|
||||
class ADDON {
|
||||
disassembleTo = QGVAR(spg9CarryTripod);
|
||||
};
|
||||
};
|
||||
class GVAR(mortarBaseplate): GVAR(m3Tripod) {
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
|
@ -16,7 +16,7 @@ class CfgWeapons {
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 440;
|
||||
};
|
||||
displayName = CSTRING(TripodFolded_displayName);
|
||||
displayName = CSTRING(m3TripodFolded_displayName);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
@ -27,8 +27,88 @@ class CfgWeapons {
|
||||
class ADDON: ADDON {
|
||||
deploy = QGVAR(m3TripodLow);
|
||||
};
|
||||
displayName = CSTRING(TripodLowFolded_displayName);
|
||||
displayName = CSTRING(m3TripodLowFolded_displayName);
|
||||
};
|
||||
|
||||
class GVAR(kordCarryTripod): Launcher_Base_F {
|
||||
class ADDON {
|
||||
type = "mount";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
deploy = QGVAR(kordTripod);
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 350;
|
||||
};
|
||||
displayName = CSTRING(kordTripodFolded_displayName);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = QPATHTOF(UI\Tripod_Icon.paa);
|
||||
};
|
||||
|
||||
class GVAR(kordCarryTripodLow): GVAR(kordCarryTripod) {
|
||||
class ADDON {
|
||||
deploy = QGVAR(kordTripodLow);
|
||||
};
|
||||
displayName = CSTRING(kordTripodFoldedLow_displayName);
|
||||
};
|
||||
|
||||
class GVAR(m220CarryTripod): Launcher_Base_F {
|
||||
class ADDON {
|
||||
type = "mount";
|
||||
deployTime = 10;
|
||||
pickupTime = 6;
|
||||
deploy = QGVAR(m220Tripod);
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 210;
|
||||
};
|
||||
displayName = CSTRING(m220TripodFolded_displayName);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = QPATHTOF(UI\Tripod_Icon.paa);
|
||||
};
|
||||
|
||||
class GVAR(spg9CarryTripod): Launcher_Base_F {
|
||||
class ADDON {
|
||||
type = "mount";
|
||||
deployTime = 5;
|
||||
pickupTime = 3;
|
||||
deploy = QGVAR(spg9Tripod);
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 260;
|
||||
};
|
||||
displayName = CSTRING(spg9TripodFolded_displayName);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = QPATHTOF(UI\Tripod_Icon.paa);
|
||||
};
|
||||
|
||||
class GVAR(sag30CarryTripod): Launcher_Base_F {
|
||||
class ADDON {
|
||||
type = "mount";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
deploy = QGVAR(sag30Tripod);
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 260;
|
||||
};
|
||||
displayName = CSTRING(sag30TripodFolded_displayName);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = QPATHTOF(UI\Tripod_Icon.paa);
|
||||
};
|
||||
|
||||
class GVAR(carryMortarBaseplate): Launcher_Base_F {
|
||||
class ADDON {
|
||||
type = "mount";
|
||||
@ -39,7 +119,7 @@ class CfgWeapons {
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 290; // M3A1 baseblate weight
|
||||
};
|
||||
displayName = CSTRING(mortarBaseplate_displayName);
|
||||
displayName = CSTRING(m224MortarBaseplate_displayName);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
@ -48,6 +128,7 @@ class CfgWeapons {
|
||||
};
|
||||
|
||||
|
||||
|
||||
// Weapons:
|
||||
class GVAR(staticATCarry): Launcher_Base_F {
|
||||
class ADDON {
|
||||
@ -144,7 +225,7 @@ class CfgWeapons {
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 620; // M252 Mortar Weight
|
||||
};
|
||||
displayName = CSTRING(StaticMortarBag_displayName);
|
||||
displayName = CSTRING(m224MortarBag_displayName);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
|
@ -6,8 +6,11 @@ class CfgSkeletons {
|
||||
};
|
||||
class ACE_CSW_Tripod_Skeleton: Default {};
|
||||
class ACE_CSW_M3_Tripod_Skeleton: Default {};
|
||||
// class ACE_CSW_FoldedTripod_Skeleton: Default {};
|
||||
// class ACE_CSW_ammoBox_Skeleton: Default {};
|
||||
class ace_csw_tripod_ags30_Skeleton: Default {};
|
||||
class ace_csw_tripod_kord_Skeleton: Default {};
|
||||
class ace_csw_tripod_m122_Skeleton: Default {};
|
||||
class ace_csw_tripod_m220_Skeleton: Default {};
|
||||
class ace_csw_tripod_spg9_Skeleton: Default {};
|
||||
class ACE_CSW_WeaponBag_Skeleton: Default {};
|
||||
class ACE_CSW_mortarBaseplate_Skeleton: Default {};
|
||||
};
|
||||
@ -27,16 +30,31 @@ class CfgModels {
|
||||
sections[] = {};
|
||||
skeletonName = "ACE_CSW_M3_Tripod_Skeleton";
|
||||
};
|
||||
/* class ACE_CSW_FoldedTripod: Default {
|
||||
class ace_csw_tripod_ags30 : Default {
|
||||
sectionsInherit = "";
|
||||
sections[] = {};
|
||||
skeletonName = "ACE_CSW_FoldedTripod_Skeleton";
|
||||
skeletonName = "ace_csw_tripod_ags30_Skeleton";
|
||||
};
|
||||
class ACE_CSW_ammoBox: Default {
|
||||
class ace_csw_tripod_kord : Default {
|
||||
sectionsInherit = "";
|
||||
sections[] = {};
|
||||
skeletonName = "ACE_CSW_ammoBox_Skeleton";
|
||||
}; */
|
||||
skeletonName = "ace_csw_tripod_kord_Skeleton";
|
||||
};
|
||||
class ace_csw_tripod_m122 : Default {
|
||||
sectionsInherit = "";
|
||||
sections[] = {};
|
||||
skeletonName = "ace_csw_tripod_m122_Skeleton";
|
||||
};
|
||||
class ace_csw_tripod_m220 : Default {
|
||||
sectionsInherit = "";
|
||||
sections[] = {};
|
||||
skeletonName = "ace_csw_tripod_m220_Skeleton";
|
||||
};
|
||||
class ace_csw_tripod_spg9 : Default {
|
||||
sectionsInherit = "";
|
||||
sections[] = {};
|
||||
skeletonName = "ace_csw_tripod_spg9_Skeleton";
|
||||
};
|
||||
class ACE_CSW_Bag: Default {
|
||||
sectionsInherit = "";
|
||||
sections[] = {};
|
||||
|
@ -32,6 +32,13 @@
|
||||
|
||||
// Create a tripod
|
||||
private _cswTripod = createVehicle [_tripodClassname, [0, 0, 0], [], 0, "NONE"];
|
||||
// Because the tripod can be a "full weapon" we disable any data that will allow it to be loaded
|
||||
_cswTripod setVariable [QGVAR(assemblyMode), 1, true]; // Explicitly set advanced assembly mode and broadcast
|
||||
_cswTripod setVariable [QGVAR(emptyWeapon), true, false]; // unload gun, shouldn't need broadcast for this as it will be local to us
|
||||
if (!GVAR(defaultAssemblyMode)) then {
|
||||
TRACE_1("global disableVanillaAssembly event",_cswTripod); // handles it being assembled when setting is disabled
|
||||
[QGVAR(disableVanillaAssembly), [_cswTripod]] call CBA_fnc_globalEvent;
|
||||
};
|
||||
|
||||
private _posATL = _player getRelPos [2, 0];
|
||||
_posATL set [2, ((getPosATL _player) select 2) + 0.5];
|
||||
|
@ -25,7 +25,8 @@
|
||||
private _pickupTime = getNumber(configFile >> "CfgWeapons" >> _carryWeaponClassname >> QUOTE(ADDON) >> "pickupTime");
|
||||
TRACE_4("",typeOf _staticWeapon,_carryWeaponClassname,_turretClassname,_pickupTime);
|
||||
if (!isClass (configFile >> "CfgWeapons" >> _carryWeaponClassname)) exitWith {ERROR_1("bad weapon classname [%1]",_carryWeaponClassname);};
|
||||
if (!isClass (configFile >> "CfgVehicles" >> _turretClassname)) exitWith {ERROR_1("bad turret classname [%1]",_turretClassname);};
|
||||
// Turret classname can equal nothing if the deploy bag is the "whole" weapon. e.g Kornet, Metis, other ATGMs
|
||||
if (!(_turretClassname isEqualTo "") && {!isClass (configFile >> "CfgVehicles" >> _turretClassname)}) exitWith {ERROR_1("bad turret classname [%1]",_turretClassname);};
|
||||
|
||||
private _onFinish = {
|
||||
params ["_args"];
|
||||
@ -53,29 +54,33 @@
|
||||
};
|
||||
} forEach (magazinesAllTurrets _staticWeapon);
|
||||
|
||||
if !(_turretClassname isEqualTo "") then {
|
||||
private _cswTripod = createVehicle [_turretClassname, [0, 0, 0], [], 0, "NONE"];
|
||||
[_cswTripod, _staticWeapon] call (missionNamespace getVariable _onDisassembleFunc);
|
||||
|
||||
LOG("delete weapon");
|
||||
deleteVehicle _staticWeapon;
|
||||
|
||||
// Delay a frame so weapon has a chance to be deleted
|
||||
[{
|
||||
params ["_player", "_cswTripod", "_weaponDir", "_weaponPos", "_carryWeaponClassname"];
|
||||
params ["_cswTripod", "_weaponDir", "_weaponPos"];
|
||||
_cswTripod setDir _weaponDir;
|
||||
_cswTripod setPosATL _weaponPos;
|
||||
_cswTripod setVelocity [0, 0, -0.05];
|
||||
_cswTripod setVectorUp (surfaceNormal _weaponPos);
|
||||
}, [_cswTripod, _weaponDir, _weaponPos]] call CBA_fnc_execNextFrame;
|
||||
[_cswTripod, _staticWeapon] call (missionNamespace getVariable _onDisassembleFunc);
|
||||
};
|
||||
|
||||
[{
|
||||
params ["_player", "_weaponPos", "_carryWeaponClassname"];
|
||||
if ((alive _player) && {(secondaryWeapon _player) == ""}) exitWith {
|
||||
_player addWeapon _carryWeaponClassname;
|
||||
};
|
||||
private _weaponRelPos = _cswTripod getRelPos RELATIVE_DIRECTION(90);
|
||||
private _weaponRelPos = _weaponPos getPos RELATIVE_DIRECTION(90);
|
||||
private _weaponHolder = createVehicle ["groundWeaponHolder", [0, 0, 0], [], 0, "NONE"];
|
||||
_weaponHolder setDir random [0, 180, 360];
|
||||
_weaponHolder setPosATL [_weaponRelPos select 0, _weaponRelPos select 1, _weaponPos select 2];
|
||||
_weaponHolder addWeaponCargoGlobal [_carryWeaponClassname, 1];
|
||||
}, [_player, _cswTripod, _weaponDir, _weaponPos, _carryWeaponClassname]] call CBA_fnc_execNextFrame;
|
||||
}, [_player, _weaponPos, _carryWeaponClassname]] call CBA_fnc_execNextFrame;
|
||||
|
||||
LOG("delete weapon");
|
||||
deleteVehicle _staticWeapon;
|
||||
|
||||
LOG("end");
|
||||
};
|
||||
|
@ -4,9 +4,6 @@
|
||||
<Key ID="STR_ACE_CSW_displayName">
|
||||
<English>Crew Served Weapons</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_Tripod_displayName">
|
||||
<English>CSW Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_PlaceTripod_displayName">
|
||||
<English>Place Tripod</English>
|
||||
</Key>
|
||||
@ -123,18 +120,6 @@
|
||||
<Key ID="STR_ACE_CSW_genericDescription">
|
||||
<English>Used to reload crew served weapons</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_TripodFolded_displayName">
|
||||
<English>[CSW] Deployable Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_TripodLowFolded_displayName">
|
||||
<English>[CSW] Deployable Tripod (Low)</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_mortarBaseplate_displayName">
|
||||
<English>[CSW] Mk6 Mortar Baseplate</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_StaticMortarBag_displayName">
|
||||
<English>[CSW] Mk6 Mortar Tube</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_StaticATWeapon_displayName">
|
||||
<English>[CSW] Mini-Spike Launcher (AT)</English>
|
||||
</Key>
|
||||
@ -216,5 +201,47 @@
|
||||
<Key ID="STR_ACE_CSW_mag_127x108">
|
||||
<English>[CSW] 12.7 x 108 mm Ammo Belt</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_m3Tripod_displayName">
|
||||
<English>M3 Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_kordTripodFolded_displayName">
|
||||
<English>[CSW] 6P57 Deployable Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_kordTripodFoldedLow_displayName">
|
||||
<English>[CSW] 6P57 Deployable Tripod (Low)</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_m220TripodFolded_displayName">
|
||||
<English>[CSW] M220 Deployable Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_spg9TripodFolded_displayName">
|
||||
<English>[CSW] SPG-9 Deployable Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_sag30TripodFolded_displayName">
|
||||
<English>[CSW] SAG-30 Deployable Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_kordTripod_displayName">
|
||||
<English>6P57 Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_sag30Tripod_displayName">
|
||||
<English>SAG-30 Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_m220Tripod_displayName">
|
||||
<English>M220 Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_spg9Tripod_displayName">
|
||||
<English>SPG-9 Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_m3TripodFolded_displayName">
|
||||
<English>[CSW] M3 Deployable Tripod</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_m3TripodLowFolded_displayName">
|
||||
<English>[CSW] M3 Deployable Tripod (Low)</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_m224MortarBaseplate_displayName">
|
||||
<English>[CSW] M224 Mortar Baseplate</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_CSW_m224MortarBag_displayName">
|
||||
<English>[CSW] Mk6 Mortar Tube</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
@ -39,6 +39,7 @@ class CfgVehicles {
|
||||
disassembleTurret = QGVAR(m3TripodLow); // Which tripod will appear when weapon has been disassembled
|
||||
ammoLoadTime = 7; // How long it takes in seconds to load ammo into the weapon
|
||||
ammoUnloadTime = 5; // How long it takes in seconds to unload ammo from the weapon
|
||||
desiredAmmo = 69; // When the weapon is reloaded it will try and reload to this ammo capacity
|
||||
disassembleFunc = "myCoolFunction.sqf"; // A callback function for when the CSW gets disassembled. Arguments: [tripod, staticWeapon]
|
||||
};
|
||||
};
|
||||
@ -55,6 +56,7 @@ class CfgMagazines {
|
||||
type=256; // Must be 256 to show up in Arsenal
|
||||
count = 100; // How much ammo gets added per "Load Ammo" selection
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d"; // default ammo box model
|
||||
//ace_isbelt = 1; // Needed if your magazine has belt linking
|
||||
};
|
||||
};
|
||||
```
|
||||
@ -63,22 +65,22 @@ class CfgMagazines {
|
||||
|
||||
```cpp
|
||||
class CfgWeapons {
|
||||
class ace_csw_base_carry;
|
||||
class banana_carry_weapon: ace_csw_base_carry {
|
||||
class ace_csw_options {
|
||||
assembleTo = "banana_csw"; // What the weapon will assemble into
|
||||
baseTripod = "banana_tripod"; // The tripod which the weapon can be assembled onto (Default is "ace_csw_m3Tripod")
|
||||
class Launcher_Base_F;
|
||||
class banana_carry_weapon: Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon"; // What type of carry it is. Must always be "weapon" for the carry weapon
|
||||
deployTime = 4; // How long it takes to deploy the weapon onto the tripod
|
||||
pickupTime = 4; // How long it takes to disassemble weapon from the tripod
|
||||
class assembleTo {
|
||||
ace_csw_m3Tripod = "banana_csw_mod1"; // What tripod can this weapon deploy onto, and what vehicle will it spawn when it is deployed
|
||||
banana_tripod = "banana_csw";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class HMG_Static;
|
||||
class banana_weapon: HMG_Static {
|
||||
class ace_csw_options {
|
||||
deployTime = 10; // Time in seconds it takes to mount the weapon on the tripod
|
||||
pickupTime = 12; // Time in seconds it takes to dismount the weapon from the tripod
|
||||
};
|
||||
magazines[] = { banana_ammo }; // You must have both the dummy and real ammunition
|
||||
class banana_proxy_weapon: HMG_Static {
|
||||
magazineReloadTime = 0.5; // Proxy weapons are spawned onto the CSW when it is assembled. Because ammo loading times use defined values in the magazine, this number needs to be low to ensure low latency
|
||||
};
|
||||
};
|
||||
```
|
||||
@ -87,8 +89,8 @@ class CfgWeapons {
|
||||
|
||||
```cpp
|
||||
class ace_csw_groups { // Ammo that can be loaded into this CSW
|
||||
class banana_ammo { // The magazine which will be loaded into the weapon
|
||||
banana_dummy_ammo = 1; // Ammo that is loaded into the weapon as per CfgWeapons >> weapon >> magazines
|
||||
class banana_ammo { // The magazine which the player can place into their inventory
|
||||
banana_dummy_ammo = 1; // Magazine that is loaded into the weapon as per CfgWeapons >> weapon >> magazines
|
||||
};
|
||||
|
||||
// Optional
|
||||
@ -99,6 +101,9 @@ class CfgWeapons {
|
||||
/*
|
||||
Ammo types already defined by CSW:
|
||||
- ace_csw_100Rnd_127x99_mag
|
||||
- ace_csw_100Rnd_127x99_mag_red
|
||||
- ace_csw_100Rnd_127x99_mag_green
|
||||
- ace_csw_100Rnd_127x99_mag_yellow
|
||||
- ace_csw_50Rnd_127x108_mag
|
||||
- ace_csw_20Rnd_20mm_G_belt
|
||||
- ACE_1Rnd_82mm_Mo_HE
|
||||
@ -129,13 +134,13 @@ class CfgVehicles {
|
||||
|
||||
```cpp
|
||||
class CfgWeapons {
|
||||
class ace_csw_base_carry;
|
||||
class banana_carry_tripod: ace_csw_base_carry {
|
||||
class GVAR(options) {
|
||||
deployTime = 166; // How much time in seconds it takes to deploy the tripod
|
||||
pickupTime = 12; // How much time in seconds it takes to pickup the tripod
|
||||
type = "mount"; // What type of carry it is. Must always be "mount" for the carry tripod
|
||||
deploy = "banana_tripod"; // What will be deployed when "Deploy Tripod" is selected
|
||||
class Launcher_Base_F;
|
||||
class banana_carry_tripod: Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "mount"; // What type of carry it is. Must always be "mount" for the tripod
|
||||
deployTime = 4; // How long it takes to deploy the tripod
|
||||
pickupTime = 4; // How long it takes to pickup the tripod
|
||||
deploy = "banana_tripod"; // what vehicle will spawn when the tripod is deployed
|
||||
};
|
||||
};
|
||||
};
|
||||
|
18
optionals/compat_rhs_afrf3/CfgMagazineGroups.hpp
Normal file
18
optionals/compat_rhs_afrf3/CfgMagazineGroups.hpp
Normal file
@ -0,0 +1,18 @@
|
||||
#define CREATE_MAGAZINE_GROUP(ammo) class GVAR(ammo) { rhs_##ammo = 1; }
|
||||
class ace_csw_groups {
|
||||
CREATE_MAGAZINE_GROUP(mag_9M131M);
|
||||
CREATE_MAGAZINE_GROUP(mag_9M131F);
|
||||
CREATE_MAGAZINE_GROUP(mag_9m133);
|
||||
CREATE_MAGAZINE_GROUP(mag_9m133f);
|
||||
CREATE_MAGAZINE_GROUP(mag_9m1331);
|
||||
CREATE_MAGAZINE_GROUP(mag_9m133m2);
|
||||
CREATE_MAGAZINE_GROUP(mag_PG9V);
|
||||
CREATE_MAGAZINE_GROUP(mag_PG9N);
|
||||
CREATE_MAGAZINE_GROUP(mag_PG9VNT);
|
||||
CREATE_MAGAZINE_GROUP(mag_OG9VM);
|
||||
CREATE_MAGAZINE_GROUP(mag_OG9V);
|
||||
CREATE_MAGAZINE_GROUP(mag_VOG30_30);
|
||||
CREATE_MAGAZINE_GROUP(mag_GPD30_30);
|
||||
CREATE_MAGAZINE_GROUP(mag_VOG17m_30);
|
||||
};
|
||||
|
@ -14,4 +14,136 @@ class cfgMagazines {
|
||||
class rhs_mag_127x108mm_1470 : rhs_mag_127x108mm_50 {
|
||||
ace_isbelt = 0;
|
||||
};
|
||||
class RHS_mag_VOG30_30: VehicleMagazine {
|
||||
ace_isbelt = 1;
|
||||
};
|
||||
class RHS_mag_GPD30_30: RHS_mag_VOG30_30 {};
|
||||
|
||||
// RHS magazines for crew handled ammo
|
||||
class rhs_mag_9M131M;
|
||||
class GVAR(mag_9M131M): rhs_mag_9M131M {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 55;
|
||||
model = "rhsafrf\addons\rhs_heavyweapons\atgm\rhs_metis_emptytube.p3d";
|
||||
picture = "\A3\Weapons_F_Tank\Launchers\Vorona\Data\UI\icon_rocket_vorona_HEAT_F_ca.paa";
|
||||
};
|
||||
class rhs_mag_9M131F;
|
||||
class GVAR(mag_9M131F): rhs_mag_9M131F {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 55;
|
||||
model = "rhsafrf\addons\rhs_heavyweapons\atgm\rhs_metis_emptytube.p3d";
|
||||
picture = "\A3\Weapons_F_Tank\Launchers\Vorona\Data\UI\icon_rocket_vorona_HEAT_F_ca.paa";
|
||||
};
|
||||
class rhs_mag_9m133;
|
||||
class GVAR(mag_9m133): rhs_mag_9m133 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 55;
|
||||
model = "rhsafrf\addons\rhs_heavyweapons\atgm\rhs_kornet_emptytube.p3d";
|
||||
picture = "\A3\Weapons_F_Tank\Launchers\Vorona\Data\UI\icon_rocket_vorona_HEAT_F_ca.paa";
|
||||
};
|
||||
class rhs_mag_9m133f;
|
||||
class GVAR(mag_9m133f): rhs_mag_9m133f {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 55;
|
||||
model = "rhsafrf\addons\rhs_heavyweapons\atgm\rhs_kornet_emptytube.p3d";
|
||||
picture = "\A3\Weapons_F_Tank\Launchers\Vorona\Data\UI\icon_rocket_vorona_HEAT_F_ca.paa";
|
||||
};
|
||||
class rhs_mag_9m1331;
|
||||
class GVAR(mag_9m1331): rhs_mag_9m1331 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 55;
|
||||
model = "rhsafrf\addons\rhs_heavyweapons\atgm\rhs_kornet_emptytube.p3d";
|
||||
picture = "\A3\Weapons_F_Tank\Launchers\Vorona\Data\UI\icon_rocket_vorona_HEAT_F_ca.paa";
|
||||
};
|
||||
class rhs_mag_9m133m2;
|
||||
class GVAR(mag_9m133m2): rhs_mag_9m133m2 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 55;
|
||||
model = "rhsafrf\addons\rhs_heavyweapons\atgm\rhs_kornet_emptytube.p3d";
|
||||
picture = "\A3\Weapons_F_Tank\Launchers\Vorona\Data\UI\icon_rocket_vorona_HEAT_F_ca.paa";
|
||||
};
|
||||
class rhs_mag_PG9V;
|
||||
class GVAR(mag_PG9V): rhs_mag_PG9V {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 80;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_Exp\Launchers\RPG7\Data\UI\icon_rocket_RPG7_CA.paa";
|
||||
};
|
||||
class rhs_mag_PG9N;
|
||||
class GVAR(mag_PG9N): rhs_mag_PG9N {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 80;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_Exp\Launchers\RPG7\Data\UI\icon_rocket_RPG7_CA.paa";
|
||||
};
|
||||
class rhs_mag_PG9VNT;
|
||||
class GVAR(mag_PG9VNT): rhs_mag_PG9VNT {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 80;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_Exp\Launchers\RPG7\Data\UI\icon_rocket_RPG7_CA.paa";
|
||||
};
|
||||
class rhs_mag_OG9VM;
|
||||
class GVAR(mag_OG9VM): rhs_mag_OG9VM {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 80;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_Exp\Launchers\RPG7\Data\UI\icon_rocket_RPG7_CA.paa";
|
||||
};
|
||||
class rhs_mag_OG9V;
|
||||
class GVAR(mag_OG9V): rhs_mag_OG9V {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 80;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_Exp\Launchers\RPG7\Data\UI\icon_rocket_RPG7_CA.paa";
|
||||
};
|
||||
|
||||
class GVAR(mag_VOG30_30): RHS_mag_VOG30_30 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 30;
|
||||
mass = 40;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = QPATHTOEF(csw,UI\ammoBox_50bmg_ca.paa);
|
||||
};
|
||||
class GVAR(mag_GPD30_30): RHS_mag_GPD30_30 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 30;
|
||||
mass = 40;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = QPATHTOEF(csw,UI\ammoBox_50bmg_ca.paa);
|
||||
};
|
||||
class RHS_mag_VOG17m_30;
|
||||
class GVAR(mag_VOG17m_30): RHS_mag_VOG17m_30 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 30;
|
||||
mass = 40;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = QPATHTOEF(csw,UI\ammoBox_50bmg_ca.paa);
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -233,6 +233,16 @@ class CfgVehicles {
|
||||
position = "";
|
||||
};
|
||||
};
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_SPG9);
|
||||
magazineLocation = "_target selectionPosition 'breach'";
|
||||
disassembleWeapon = QGVAR(spg9_carry);
|
||||
disassembleTurret = QEGVAR(csw,spg9Tripod);
|
||||
desiredAmmo = 1;
|
||||
ammoLoadTime = 5;
|
||||
ammoUnloadTime = 3;
|
||||
};
|
||||
};
|
||||
class rhs_Kornet_Base: AT_01_base_F {
|
||||
class ACE_Actions: ACE_Actions {
|
||||
@ -241,10 +251,105 @@ class CfgVehicles {
|
||||
selection = "tripod";
|
||||
};
|
||||
};
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_9K133_launcher);
|
||||
magazineLocation = "_target selectionPosition 'gun'";
|
||||
disassembleWeapon = QGVAR(kornet_carry);
|
||||
disassembleTurret = "";
|
||||
desiredAmmo = 1;
|
||||
ammoLoadTime = 7;
|
||||
ammoUnloadTime = 5;
|
||||
};
|
||||
};
|
||||
|
||||
class rhs_assault_umbts;
|
||||
class rhs_assault_umbts_engineer: rhs_assault_umbts {
|
||||
EGVAR(logistics_wirecutter,hasWirecutter) = 1;
|
||||
};
|
||||
|
||||
class StaticMortar: StaticWeapon {};
|
||||
class rhs_2b14_82mm_Base: StaticMortar {
|
||||
class ACE_Actions: ACE_Actions {
|
||||
class ACE_MainActions: ACE_MainActions {
|
||||
position = "";
|
||||
selection = ""; // no good selections for this mortar
|
||||
};
|
||||
};
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
magazineLocation = "";
|
||||
proxyWeapon = QGVAR(rhs_weap_2b14);
|
||||
disassembleWeapon = QGVAR(2b14_carry); // carry weapon [CfgWeapons]
|
||||
disassembleTurret = QEGVAR(csw,mortarBaseplate); // turret [CfgVehicles]
|
||||
desiredAmmo = 1;
|
||||
ammoLoadTime = 3;
|
||||
ammoUnloadTime = 3;
|
||||
};
|
||||
};
|
||||
|
||||
class rhs_nsv_tripod_base: StaticMGWeapon {
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_nsvt_effects);
|
||||
magazineLocation = "_target selectionPosition 'magazine'";
|
||||
disassembleWeapon = QGVAR(nsv_carry);
|
||||
disassembleTurret = QEGVAR(csw,kordTripodLow);
|
||||
desiredAmmo = 50;
|
||||
ammoLoadTime = 10;
|
||||
ammoUnloadTime = 8;
|
||||
};
|
||||
};
|
||||
|
||||
class RHS_KORD_Base: rhs_nsv_tripod_base {
|
||||
class ACE_CSW: ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_KORD);
|
||||
disassembleWeapon = QGVAR(kord_carry);
|
||||
disassembleTurret = QEGVAR(csw,kordTripodLow);
|
||||
};
|
||||
};
|
||||
|
||||
class RHS_KORD_high_base: RHS_KORD_Base {
|
||||
class ACE_CSW: ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_KORD);
|
||||
disassembleWeapon = QGVAR(kord_carry);
|
||||
disassembleTurret = QEGVAR(csw,kordTripod);
|
||||
};
|
||||
};
|
||||
|
||||
class StaticGrenadeLauncher: StaticWeapon {};
|
||||
class RHS_AGS30_TriPod_base: StaticGrenadeLauncher {
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_AGS30);
|
||||
magazineLocation = "_target selectionPosition 'magazine'";
|
||||
disassembleWeapon = QGVAR(ags30_carry);
|
||||
disassembleTurret = QEGVAR(csw,sag30Tripod);
|
||||
desiredAmmo = 30;
|
||||
ammoLoadTime = 10;
|
||||
ammoUnloadTime = 8;
|
||||
};
|
||||
};
|
||||
|
||||
class rhs_SPG9M_base: rhs_SPG9_base {
|
||||
class ACE_CSW: ACE_CSW {
|
||||
enabled = 1;
|
||||
disassembleWeapon = QGVAR(spg9m_carry);
|
||||
};
|
||||
};
|
||||
|
||||
class rhs_Metis_Base: AT_01_base_F {
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_9K115_2_launcher);
|
||||
magazineLocation = "_target selectionPosition 'gun'";
|
||||
disassembleWeapon = QGVAR(metis_carry);
|
||||
disassembleTurret = "";
|
||||
desiredAmmo = 1;
|
||||
ammoLoadTime = 7;
|
||||
ammoUnloadTime = 5;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,3 +1,4 @@
|
||||
#define CREATE_CSW_PROXY(weapon) class ##weapon; class GVAR(weapon): ##weapon { magazineReloadTime = 0.5; }
|
||||
|
||||
class CfgWeapons {
|
||||
|
||||
@ -110,7 +111,10 @@ class CfgWeapons {
|
||||
};
|
||||
};
|
||||
};
|
||||
class Launcher_Base_F;
|
||||
class Launcher;
|
||||
class Launcher_Base_F: Launcher {
|
||||
class WeaponSlotsInfo;
|
||||
};
|
||||
class rhs_weap_rpg7: Launcher_Base_F {
|
||||
ace_reloadlaunchers_enabled = 1;
|
||||
};
|
||||
@ -141,4 +145,157 @@ class CfgWeapons {
|
||||
ace_overpressure_range = 15;
|
||||
ace_overpressure_damage = 0.5;
|
||||
};
|
||||
|
||||
CREATE_CSW_PROXY(rhs_weap_2b14);
|
||||
CREATE_CSW_PROXY(rhs_weap_nsvt_effects);
|
||||
CREATE_CSW_PROXY(rhs_weap_KORD);
|
||||
CREATE_CSW_PROXY(RHS_weap_AGS30);
|
||||
CREATE_CSW_PROXY(rhs_weap_SPG9);
|
||||
CREATE_CSW_PROXY(rhs_weap_9K133_launcher);
|
||||
CREATE_CSW_PROXY(rhs_weap_9K115_2_launcher);
|
||||
|
||||
class GVAR(2b14_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 20;
|
||||
pickupTime = 25;
|
||||
class assembleTo {
|
||||
EGVAR(csw,mortarBaseplate) = "rhs_2b14_82mm_msv";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 670; // 2B14 Mortar Weight
|
||||
};
|
||||
displayName = CSTRING(2b14_tube);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsafrf\addons\rhs_heavyweapons\data\ico\podnos_2b14_ca.paa";
|
||||
};
|
||||
|
||||
class GVAR(nsv_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
class assembleTo {
|
||||
EGVAR(csw,kordTripodLow) = "RHS_NSV_TriPod_MSV";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 550;
|
||||
};
|
||||
displayName = CSTRING(nsv_gun);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsafrf\addons\rhs_heavyweapons\mg\bis_kord\kord_CA.paa";
|
||||
};
|
||||
|
||||
class GVAR(kord_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
class assembleTo {
|
||||
EGVAR(csw,kordTripod) = "rhs_KORD_high_MSV";
|
||||
EGVAR(csw,kordTripodLow) = "rhs_KORD_MSV";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 550;
|
||||
};
|
||||
displayName = CSTRING(kord_gun);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsafrf\addons\rhs_heavyweapons\data\ico\kord6u16sp_ca.paa";
|
||||
};
|
||||
|
||||
class GVAR(ags30_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
class assembleTo {
|
||||
EGVAR(csw,sag30Tripod) = "RHS_AGS30_TriPod_MSV";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 400; // https://odin.tradoc.army.mil/mediawiki/index.php/AGS-17_Russian_30mm_Automatic_Grenade_Launcher
|
||||
};
|
||||
displayName = CSTRING(ags30_gun);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsafrf\addons\rhs_heavyweapons\data\ico\ags_static_CA.paa";
|
||||
};
|
||||
|
||||
class GVAR(spg9_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
class assembleTo {
|
||||
EGVAR(csw,spg9Tripod) = "rhsgref_ins_SPG9";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 1000;
|
||||
};
|
||||
displayName = CSTRING(spg9_tube);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsafrf\addons\rhs_heavyweapons\data\ico\spg9_CA.paa";
|
||||
};
|
||||
class GVAR(spg9m_carry): GVAR(spg9_carry) {
|
||||
class ACE_CSW {
|
||||
class assembleTo {
|
||||
EGVAR(csw,spg9Tripod) = "rhs_SPG9M_MSV";
|
||||
};
|
||||
};
|
||||
displayName = CSTRING(spg9m_tube);
|
||||
};
|
||||
|
||||
class GVAR(metis_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "mount";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
deploy = "rhs_Metis_9k115_2_msv";
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 300;
|
||||
};
|
||||
displayName = CSTRING(metis_tube);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsafrf\addons\rhs_heavyweapons\data\ico\metis_at13_CA.paa";
|
||||
};
|
||||
|
||||
class GVAR(kornet_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "mount";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
deploy = "rhs_Kornet_9M133_2_msv";
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 600;
|
||||
};
|
||||
displayName = CSTRING(kornet_launcher);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsafrf\addons\rhs_heavyweapons\data\ico\metis_at13_CA.paa";
|
||||
};
|
||||
};
|
||||
|
@ -6,7 +6,7 @@ class CfgPatches {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_rearm", "ace_refuel", "ace_repair", "rhs_c_weapons", "rhs_c_troops", "rhs_c_bmd", "rhs_c_bmp", "rhs_c_bmp3", "rhs_c_a2port_armor", "rhs_c_btr", "rhs_c_sprut", "rhs_c_t72", "rhs_c_tanks", "rhs_c_a2port_air", "rhs_c_a2port_car", "rhs_c_cars", "rhs_c_trucks", "rhs_c_2s3", "rhs_c_rva", "rhs_c_heavyweapons"};
|
||||
requiredAddons[] = {"ace_csw", "ace_rearm", "ace_refuel", "ace_repair", "rhs_c_weapons", "rhs_c_troops", "rhs_c_bmd", "rhs_c_bmp", "rhs_c_bmp3", "rhs_c_a2port_armor", "rhs_c_btr", "rhs_c_sprut", "rhs_c_t72", "rhs_c_tanks", "rhs_c_a2port_air", "rhs_c_a2port_car", "rhs_c_cars", "rhs_c_trucks", "rhs_c_2s3", "rhs_c_rva", "rhs_c_heavyweapons"};
|
||||
author = ECSTRING(common,ACETeam);
|
||||
authors[] = {"Ruthberg", "GitHawk", "BaerMitUmlaut", "commy2", "Skengman2"};
|
||||
url = ECSTRING(main,URL);
|
||||
@ -19,3 +19,5 @@ class CfgPatches {
|
||||
#include "CfgMagazines.hpp"
|
||||
#include "CfgWeapons.hpp"
|
||||
#include "CfgVehicles.hpp"
|
||||
#include "CfgMagazineGroups.hpp"
|
||||
|
||||
|
29
optionals/compat_rhs_afrf3/stringtable.xml
Normal file
29
optionals/compat_rhs_afrf3/stringtable.xml
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="compat_rhs_afrf3">
|
||||
<Key ID="STR_ACE_compat_rhs_afrf3_2b14_tube">
|
||||
<English>2B14 Tube Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_afrf3_nsv_gun">
|
||||
<English>NSV Gun Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_afrf3_kord_gun">
|
||||
<English>KORD Gun Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_afrf3_ags30_gun">
|
||||
<English>AGS-30 Gun Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_afrf3_spg9_tube">
|
||||
<English>SPG-9 Launcher Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_afrf3_spg9m_tube">
|
||||
<English>SPG-9M Launcher</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_afrf3_metis_tube">
|
||||
<English>9k115 Metis Launcher Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_afrf3_kornet_launcher">
|
||||
<English>9m113 Kornet Launcher</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
@ -4,4 +4,24 @@ class CfgVehicles {
|
||||
// Canoes are propelled by paddlers
|
||||
EGVAR(refuel,canReceive) = 0;
|
||||
};
|
||||
|
||||
class StaticMGWeapon;
|
||||
class rhs_DSHKM_base: StaticMGWeapon {
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_DSHKM);
|
||||
magazineLocation = "_target selectionPosition 'otocvez'";
|
||||
disassembleWeapon = QGVAR(dshkm_carry);
|
||||
disassembleTurret = QEGVAR(csw,kordTripod);
|
||||
desiredAmmo = 50;
|
||||
ammoLoadTime = 10;
|
||||
ammoUnloadTime = 8;
|
||||
};
|
||||
};
|
||||
class rhs_DSHkM_Mini_TriPod_base: rhs_DSHKM_base {
|
||||
class ACE_CSW: ACE_CSW {
|
||||
enabled = 1;
|
||||
disassembleTurret = QEGVAR(csw,kordTripodLow);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -1,3 +1,4 @@
|
||||
#define CREATE_CSW_PROXY(weapon) class ##weapon; class GVAR(weapon): ##weapon { magazineReloadTime = 0.5; }
|
||||
|
||||
class CfgWeapons {
|
||||
class rhs_weap_kar98k_Base_F;
|
||||
@ -81,4 +82,31 @@ class CfgWeapons {
|
||||
class rhs_weap_mg42_base: Rifle_Base_F {
|
||||
ACE_Overheating_allowSwapBarrel = 1;
|
||||
};
|
||||
|
||||
CREATE_CSW_PROXY(rhs_weap_DSHKM);
|
||||
|
||||
class Launcher;
|
||||
class Launcher_Base_F: Launcher {
|
||||
class WeaponSlotsInfo;
|
||||
};
|
||||
class GVAR(dshkm_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
class assembleTo {
|
||||
EGVAR(csw,kordTripod) = "rhsgref_ins_DSHKM";
|
||||
EGVAR(csw,kordTripodLow) = "rhsgref_ins_DSHKM_Mini_TriPod";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 740;
|
||||
};
|
||||
displayName = CSTRING(dshk_gun);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsafrf\addons\rhs_heavyweapons\data\mapico\icomap_DShKM_CA.paa";
|
||||
};
|
||||
};
|
||||
|
@ -6,7 +6,7 @@ class CfgPatches {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"rhsgref_main", "rhsgref_c_weapons"};
|
||||
requiredAddons[] = {"ace_csw", "rhsgref_main", "rhsgref_c_weapons"};
|
||||
author = ECSTRING(common,ACETeam);
|
||||
authors[] = {"PabstMirror", "Ruthberg", "Anton"};
|
||||
url = ECSTRING(main,URL);
|
||||
|
8
optionals/compat_rhs_gref3/stringtable.xml
Normal file
8
optionals/compat_rhs_gref3/stringtable.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="compat_rhs_gref3">
|
||||
<Key ID="STR_ACE_compat_rhs_gref3_dshk_gun">
|
||||
<English>DSHK Gun Bag</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
24
optionals/compat_rhs_usf3/CfgMagazineGroups.hpp
Normal file
24
optionals/compat_rhs_usf3/CfgMagazineGroups.hpp
Normal file
@ -0,0 +1,24 @@
|
||||
#define CREATE_MAGAZINE_GROUP(ammo) class GVAR(ammo) { rhs_##ammo = 1; }
|
||||
class ace_csw_groups {
|
||||
CREATE_MAGAZINE_GROUP(mag_TOW);
|
||||
CREATE_MAGAZINE_GROUP(mag_TOWB);
|
||||
CREATE_MAGAZINE_GROUP(mag_ITOW);
|
||||
CREATE_MAGAZINE_GROUP(mag_TOW2);
|
||||
CREATE_MAGAZINE_GROUP(mag_TOW2A);
|
||||
CREATE_MAGAZINE_GROUP(mag_TOW2b);
|
||||
CREATE_MAGAZINE_GROUP(mag_TOW2b_aero);
|
||||
CREATE_MAGAZINE_GROUP(mag_TOW2bb);
|
||||
class GVAR(48Rnd_40mm_MK19) {
|
||||
RHS_48Rnd_40mm_MK19 = 1;
|
||||
RHS_96Rnd_40mm_MK19 = 1;
|
||||
};
|
||||
class GVAR(48Rnd_40mm_MK19_M430I) {
|
||||
RHS_48Rnd_40mm_MK19_M430I = 1;
|
||||
RHS_96Rnd_40mm_MK19_M430I = 1;
|
||||
};
|
||||
class GVAR(48Rnd_40mm_MK19_M1001) {
|
||||
RHS_48Rnd_40mm_MK19_M1001 = 1;
|
||||
RHS_96Rnd_40mm_MK19_M1001 = 1;
|
||||
};
|
||||
};
|
||||
|
@ -51,4 +51,105 @@ class cfgMagazines {
|
||||
ammo = "ACE_Hellfire_AGM114N";
|
||||
};
|
||||
|
||||
// RHS magazines for crew handled ammo
|
||||
class rhs_mag_TOW;
|
||||
class GVAR(mag_TOW): rhs_mag_TOW {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 200; // Actually should be 440 but ARMA uses weight and volume in the same number
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d"; // ammo can instead of any special model so no one gets especially confused over what it is
|
||||
picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_at_CA.paa";
|
||||
};
|
||||
class rhs_mag_TOWB;
|
||||
class GVAR(mag_TOWB): rhs_mag_TOWB {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 200;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_at_CA.paa";
|
||||
};
|
||||
class rhs_mag_ITOW;
|
||||
class GVAR(mag_ITOW): rhs_mag_ITOW {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 200;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_at_CA.paa";
|
||||
};
|
||||
class rhs_mag_TOW2;
|
||||
class GVAR(mag_TOW2): rhs_mag_TOW2 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 200;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_at_CA.paa";
|
||||
};
|
||||
class rhs_mag_TOW2A;
|
||||
class GVAR(mag_TOW2A): rhs_mag_TOW2A {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 200;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_at_CA.paa";
|
||||
};
|
||||
class rhs_mag_TOW2b;
|
||||
class GVAR(mag_TOW2b): rhs_mag_TOW2b {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 200;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_at_CA.paa";
|
||||
};
|
||||
class rhs_mag_TOW2b_aero;
|
||||
class GVAR(mag_TOW2b_aero): rhs_mag_TOW2b_aero {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 200;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_at_CA.paa";
|
||||
};
|
||||
class rhs_mag_TOW2bb;
|
||||
class GVAR(mag_TOW2bb): rhs_mag_TOW2bb {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 1;
|
||||
mass = 200;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d";
|
||||
picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_at_CA.paa";
|
||||
};
|
||||
|
||||
class GVAR(48Rnd_40mm_MK19): RHS_48Rnd_40mm_MK19 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 48;
|
||||
mass = 40;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d"; // ammo can instead of any special model so no one gets especially confused over what it is
|
||||
picture = QPATHTOEF(csw,UI\ammoBox_50bmg_ca.paa);
|
||||
};
|
||||
class RHS_48Rnd_40mm_MK19_M430I;
|
||||
class GVAR(48Rnd_40mm_MK19_M430I): RHS_48Rnd_40mm_MK19_M430I {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 48;
|
||||
mass = 40;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d"; // ammo can instead of any special model so no one gets especially confused over what it is
|
||||
picture = QPATHTOEF(csw,UI\ammoBox_50bmg_ca.paa);
|
||||
};
|
||||
class RHS_48Rnd_40mm_MK19_M1001;
|
||||
class GVAR(48Rnd_40mm_MK19_M1001): RHS_48Rnd_40mm_MK19_M1001 {
|
||||
scope = 2;
|
||||
type = 256;
|
||||
count = 48;
|
||||
mass = 40;
|
||||
model = "\A3\Structures_F_EPB\Items\Military\Ammobox_rounds_F.p3d"; // ammo can instead of any special model so no one gets especially confused over what it is
|
||||
picture = QPATHTOEF(csw,UI\ammoBox_50bmg_ca.paa);
|
||||
};
|
||||
|
||||
};
|
||||
|
@ -300,6 +300,66 @@ class CfgVehicles {
|
||||
selection = "main_gun";
|
||||
};
|
||||
};
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
magazineLocation = "";
|
||||
proxyWeapon = QGVAR(rhs_mortar_81mm);
|
||||
disassembleWeapon = QGVAR(m252_carry); // carry weapon [CfgWeapons]
|
||||
disassembleTurret = QEGVAR(csw,mortarBaseplate); // turret [CfgVehicles]
|
||||
desiredAmmo = 1;
|
||||
ammoLoadTime = 3;
|
||||
ammoUnloadTime = 3;
|
||||
};
|
||||
};
|
||||
|
||||
class StaticMGWeapon: StaticWeapon {};
|
||||
|
||||
class rhs_m2staticmg_base: StaticMGWeapon {
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_M2);
|
||||
magazineLocation = "_target selectionPosition 'magazine'";
|
||||
disassembleWeapon = QGVAR(m2_carry);
|
||||
disassembleTurret = QEGVAR(csw,m3Tripod);
|
||||
desiredAmmo = 100;
|
||||
ammoLoadTime = 10;
|
||||
ammoUnloadTime = 8;
|
||||
};
|
||||
};
|
||||
|
||||
class RHS_M2StaticMG_MiniTripod_base: rhs_m2staticmg_base {
|
||||
class ACE_CSW: ACE_CSW {
|
||||
enabled = 1;
|
||||
disassembleTurret = QEGVAR(csw,m3TripodLow);
|
||||
};
|
||||
};
|
||||
|
||||
class StaticGrenadeLauncher: StaticWeapon {};
|
||||
class RHS_MK19_TriPod_base: StaticGrenadeLauncher {
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_MK19);
|
||||
magazineLocation = "_target selectionPosition 'magazine'";
|
||||
disassembleWeapon = QGVAR(mk19_carry);
|
||||
disassembleTurret = QEGVAR(csw,m3TripodLow);
|
||||
desiredAmmo = 48;
|
||||
ammoLoadTime = 10;
|
||||
ammoUnloadTime = 8;
|
||||
};
|
||||
};
|
||||
|
||||
class StaticATWeapon: StaticWeapon {};
|
||||
class RHS_TOW_TriPod_base: StaticATWeapon {
|
||||
class ACE_CSW {
|
||||
enabled = 1;
|
||||
proxyWeapon = QGVAR(rhs_weap_TOW_Launcher_static);
|
||||
magazineLocation = "_target selectionPosition 'tube'";
|
||||
disassembleWeapon = QGVAR(tow_carry);
|
||||
disassembleTurret = QEGVAR(csw,m220Tripod);
|
||||
desiredAmmo = 1;
|
||||
ammoLoadTime = 8;
|
||||
ammoUnloadTime = 5;
|
||||
};
|
||||
};
|
||||
|
||||
class rhsusf_infantry_usmc_base;
|
||||
|
@ -1,3 +1,4 @@
|
||||
#define CREATE_CSW_PROXY(weapon) class ##weapon; class GVAR(weapon): ##weapon { magazineReloadTime = 0.5; }
|
||||
|
||||
class CfgWeapons {
|
||||
class NVGoggles;
|
||||
@ -231,7 +232,10 @@ class CfgWeapons {
|
||||
};
|
||||
};
|
||||
|
||||
class Launcher_Base_F;
|
||||
class Launcher;
|
||||
class Launcher_Base_F: Launcher {
|
||||
class WeaponSlotsInfo;
|
||||
};
|
||||
class rhs_weap_smaw: Launcher_Base_F {
|
||||
ace_reloadlaunchers_enabled = 1;
|
||||
ace_overpressure_angle = 45;
|
||||
@ -420,4 +424,91 @@ class CfgWeapons {
|
||||
class RHS_jetpilot_usaf: H_HelmetB {
|
||||
HEARING_PROTECTION_VICCREW
|
||||
};
|
||||
|
||||
CREATE_CSW_PROXY(rhs_mortar_81mm);
|
||||
CREATE_CSW_PROXY(RHS_M2);
|
||||
CREATE_CSW_PROXY(RHS_MK19);
|
||||
CREATE_CSW_PROXY(Rhs_weap_TOW_Launcher_static);
|
||||
|
||||
class GVAR(m252_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 20;
|
||||
pickupTime = 25;
|
||||
class assembleTo {
|
||||
EGVAR(csw,mortarBaseplate) = "RHS_M252_WD";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 620; // M252 Mortar Weight
|
||||
};
|
||||
displayName = CSTRING(m252_tube);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsusf\addons\rhsusf_heavyweapons\data\ico\mortar_m251_CA.paa";
|
||||
};
|
||||
|
||||
class GVAR(m2_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
class assembleTo {
|
||||
EGVAR(csw,m3Tripod) = "RHS_M2StaticMG_WD";
|
||||
EGVAR(csw,m3TripodLow) = "RHS_M2StaticMG_MiniTripod_WD";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 840;
|
||||
};
|
||||
displayName = CSTRING(m2_gun);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsusf\addons\rhsusf_editorPreviews\data\rhs_M2StaticMG_D.paa";
|
||||
};
|
||||
|
||||
class GVAR(mk19_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
class assembleTo {
|
||||
EGVAR(csw,m3TripodLow) = "RHS_MK19_TriPod_WD";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 770;
|
||||
};
|
||||
displayName = CSTRING(mk19_gun);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsusf\addons\rhsusf_heavyweapons\data\ico\mk19_stat_CA.paa";
|
||||
};
|
||||
|
||||
class GVAR(tow_carry): Launcher_Base_F {
|
||||
class ACE_CSW {
|
||||
type = "weapon";
|
||||
deployTime = 4;
|
||||
pickupTime = 4;
|
||||
class assembleTo {
|
||||
EGVAR(csw,m220Tripod) = "RHS_TOW_TriPod_WD";
|
||||
};
|
||||
};
|
||||
class WeaponSlotsInfo: WeaponSlotsInfo {
|
||||
mass = 500;
|
||||
};
|
||||
displayName = CSTRING(tow_tube);
|
||||
author = ECSTRING(common,ACETeam);
|
||||
scope = 2;
|
||||
model = QPATHTOEF(apl,ACE_CSW_Bag.p3d);
|
||||
modes[] = {};
|
||||
picture = "\rhsusf\addons\rhsusf_heavyweapons\data\Ico\tow_static_CA.paa";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -6,7 +6,7 @@ class CfgPatches {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_javelin", "ace_rearm", "ace_refuel", "ace_repair", "rhsusf_c_weapons", "rhsusf_c_troops", "rhsusf_c_m1a1", "rhsusf_c_m1a2", "RHS_US_A2_AirImport", "rhsusf_c_m109", "rhsusf_c_HEMTT_A4", "rhsusf_c_hmmwv", "rhsusf_c_rg33", "rhsusf_c_fmtv", "rhsusf_c_m113", "RHS_US_A2Port_Armor", "rhsusf_c_melb"};
|
||||
requiredAddons[] = {"ace_javelin", "ace_rearm", "ace_refuel", "ace_repair", "ace_csw", "rhsusf_c_weapons", "rhsusf_c_troops", "rhsusf_c_m1a1", "rhsusf_c_m1a2", "RHS_US_A2_AirImport", "rhsusf_c_m109", "rhsusf_c_HEMTT_A4", "rhsusf_c_hmmwv", "rhsusf_c_rg33", "rhsusf_c_fmtv", "rhsusf_c_m113", "RHS_US_A2Port_Armor", "rhsusf_c_melb"};
|
||||
author = ECSTRING(common,ACETeam);
|
||||
authors[] = {"Ruthberg", "GitHawk", "BaerMitUmlaut"};
|
||||
url = ECSTRING(main,URL);
|
||||
@ -21,3 +21,5 @@ class CfgPatches {
|
||||
#include "CfgWeapons.hpp"
|
||||
#include "CfgVehicles.hpp"
|
||||
#include "CfgGlasses.hpp"
|
||||
#include "CfgMagazineGroups.hpp"
|
||||
|
||||
|
17
optionals/compat_rhs_usf3/stringtable.xml
Normal file
17
optionals/compat_rhs_usf3/stringtable.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project name="ACE">
|
||||
<Package name="compat_rhs_usf3">
|
||||
<Key ID="STR_ACE_compat_rhs_usf3_m252_tube">
|
||||
<English>M252 Tube Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_usf3_m2_gun">
|
||||
<English>M2 Gun Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_usf3_mk19_gun">
|
||||
<English>MK19 Gun Bag</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_compat_rhs_usf3_tow_tube">
|
||||
<English>BGM-71 TOW Launcher Bag</English>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user