config.cpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #define COMPONENT rocket
  2. #include "../../RD501_main/config_macros.hpp"
  3. #include "../_common/common.hpp"
  4. #undef CONCAT
  5. #define CONCAT(a,b) a##b
  6. #define DISPOSABLE_BASE(name) macro_new_weapon(launcher,name)
  7. #define DISPOSABLE_LOADED(name) macro_new_weapon(launcher,CONCAT(name,_Loaded))
  8. #define DISPOSABLE_USED(name) macro_new_weapon(launcher,CONCAT(name,_Used))
  9. class CfgPatches
  10. {
  11. class macro_patch_name(RPS_Disposable)
  12. {
  13. author=DANKAUTHORS;
  14. addonRootClass= macro_patch_name(weapons)
  15. requiredAddons[]=
  16. {
  17. macro_patch_name(weapons)
  18. };
  19. requiredVersion=0.1;
  20. units[]={};
  21. weapons[]={
  22. macro_quote(DISPOSABLE_BASE(RPS_Disposable)),
  23. macro_quote(DISPOSABLE_LOADED(RPS_Disposable)),
  24. macro_quote(DISPOSABLE_USED(RPS_Disposable))
  25. };
  26. };
  27. };
  28. class cfgWeapons
  29. {
  30. class Launcher;
  31. class Launcher_Base_F: Launcher {
  32. class WeaponSlotsInfo;
  33. };
  34. class DISPOSABLE_BASE(RPS_disposable) : Launcher_Base_F
  35. {
  36. author= "RD501";
  37. scope = 1;
  38. scopeArsenal=1;
  39. model = "\3AS\3AS_Weapons\RPS6\3AS_RPS6_F.p3d";
  40. modelOptics = "\A3\Weapons_F\acc\reticle_RPG_F";
  41. recoil = "recoil_single_law";
  42. baseWeapon = macro_quote(DISPOSABLE_LOADED(RPS_Disposable));
  43. class EventHandlers {
  44. fired = "_this call CBA_fnc_firedDisposable";
  45. };
  46. magazines[] = {macro_quote(macro_new_mag(RPS_Disposable,1))};
  47. magazineReloadTime = 0.1;
  48. reloadMagazineSound[] = {"",1,1};
  49. class WeaponSlotsInfo: WeaponSlotsInfo {
  50. mass = 10;
  51. };
  52. };
  53. class DISPOSABLE_LOADED(RPS_Disposable) : DISPOSABLE_BASE(RPS_Disposable)
  54. {
  55. author= "RD501";
  56. scope = 2;
  57. scopeArsenal=2;
  58. displayName = "Republic RPS6 Disposable Loaded";
  59. baseWeapon = macro_quote(DISPOSABLE_LOADED(RPS_Disposable));
  60. magazines[] = { "CBA_FakeLauncherMagazine" };
  61. class WeaponSlotsInfo: WeaponSlotsInfo {
  62. mass = 20;
  63. };
  64. };
  65. class DISPOSABLE_USED(RPS_Disposable) : DISPOSABLE_BASE(RPS_Disposable)
  66. {
  67. author= "RD501";
  68. scope = 1;
  69. scopeArsenal=1;
  70. displayName = "Republic RPS6 Disposable Used";
  71. baseWeapon = macro_quote(DISPOSABLE_USED(RPS_Disposable));
  72. magazines[] = { "CBA_FakeLauncherMagazine" };
  73. class WeaponSlotsInfo: WeaponSlotsInfo {
  74. mass = 10;
  75. };
  76. };
  77. };
  78. class CBA_DisposableLaunchers {
  79. DISPOSABLE_BASE(RPS_Disposable)[] = {
  80. macro_quote(DISPOSABLE_LOADED(RPS_Disposable)),
  81. macro_quote(DISPOSABLE_USED(RPS_Disposable))
  82. };
  83. };
  84. class CfgMagazines {
  85. class CA_LauncherMagazine;
  86. class macro_new_mag(RPS_Disposable,1) : CA_LauncherMagazine {
  87. author = "RD501";
  88. scope = 2;
  89. ammo = "MRAWS_HEAT55_F";
  90. type = "2 * 256";
  91. count = 1;
  92. picture = "\A3\weapons_f\launchers\nlaw\data\UI\gear_nlaw_rocket_ca.paa";
  93. model = "\A3\weapons_f\launchers\nlaw\nlaw_proxy";
  94. initSpeed = 60;
  95. maxLeadSpeed = 60;
  96. mass = 70;
  97. nameSound = "missiles";
  98. };
  99. };