config.cpp 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
  1. #define COMPONENT DC_15gl
  2. #include "../../../RD501_main/config_macros.hpp"
  3. #include "../../_common/common.hpp"
  4. class CfgPatches
  5. {
  6. class macro_patch_name(dc_15c)
  7. {
  8. author="RD501";
  9. addonRootClass= macro_patch_name(weapons)
  10. requiredAddons[]=
  11. {
  12. macro_patch_name(weapons)
  13. };
  14. requiredVersion=0.1;
  15. units[]={};
  16. weapons[]={
  17. macro_new_weapon(DC,15gl),
  18. macro_new_weapon(DC,r15gl)
  19. };
  20. };
  21. };
  22. class CfgWeapons
  23. {
  24. class 3AS_DC15A_Base_F;
  25. class 3AS_DC15A_GL: 3AS_DC15A_Base_F
  26. {
  27. class WeaponSlotsInfo;
  28. class Single;
  29. class Burst;
  30. };
  31. class RD501_stun_muzzle;
  32. class JLTS_DC15A_ugl;
  33. class JLTS_DC15A_ugl_plastic:JLTS_DC15A_ugl
  34. {
  35. class Single;
  36. class EGLM;
  37. class WeaponSlotsInfo
  38. {
  39. class CowsSlot;
  40. class PointerSlot;
  41. class MuzzleSlot;
  42. };
  43. };
  44. class 3AS_GL_F;
  45. class macro_new_weapon(DC,15gl):JLTS_DC15A_ugl_plastic
  46. {
  47. displayName="Republic DC-15A UGL";
  48. JLTS_hasElectronics=0;
  49. ACE_Overheating_mrbs = 300000;
  50. magazines[]=
  51. {
  52. macro_new_mag(10mw,30)
  53. };
  54. modes[] = {"Single", "Burst"};
  55. muzzles[]=
  56. {
  57. "this",
  58. "Stun",
  59. "EGLM"
  60. };
  61. class Stun: RD501_stun_muzzle
  62. {
  63. displayName="High Energy StunMode";
  64. };
  65. class Single:Single
  66. {
  67. reloadTime=0.1;
  68. };
  69. class Burst : Single
  70. {
  71. reloadTime=0.1;
  72. burst=3;
  73. textureType="burst";
  74. };
  75. class EGLM:EGLM
  76. {
  77. magazines[] = {};
  78. magazineWell[] += {macro_new_magwell(GL_Mags)};
  79. };
  80. class WeaponSlotsInfo: WeaponSlotsInfo
  81. {
  82. mass = 30;
  83. class CowsSlot: CowsSlot
  84. {
  85. displayName = "Optics Slot";
  86. iconPicture = "\A3\Weapons_F\Data\UI\attachment_top.paa";
  87. iconPinpoint = "Bottom";
  88. iconPosition[] = {0.5,0.35};
  89. iconScale = 0.2;
  90. linkProxy = "\A3\data_f\proxies\weapon_slots\TOP";
  91. scope = 0;
  92. compatibleItems[] =
  93. {
  94. "RD501_RCO",
  95. "RD501_RCO_2",
  96. "RD501_RCO_3",
  97. "RD501_Holosight",
  98. "RD501_Holosight_2",
  99. "RD501_Holosight_3",
  100. "RD501_DMS",
  101. "RD501_DMS_2",
  102. "RD501_DMS_3",
  103. "RD501_DMS_4",
  104. "RD501_MRCO",
  105. "RD501_MRCO_2",
  106. "RD501_MRCO_3"
  107. };
  108. };
  109. class MuzzleSlot: MuzzleSlot
  110. {
  111. linkProxy="\A3\data_f\proxies\weapon_slots\MUZZLE";
  112. displayName="$str_a3_cfgweapons_abr_base_f_weaponslotsinfo_muzzleslot0";
  113. compatibleItems[]=
  114. {
  115. "RD501_muzzle_flash"
  116. };
  117. iconPicture="\A3\Weapons_F\Data\UI\attachment_muzzle.paa";
  118. iconPinpoint="Center";
  119. };
  120. class PointerSlot : PointerSlot
  121. {
  122. linkProxy = "\A3\data_f\proxies\weapon_slots\SIDE";
  123. displayName = "Pointer Slot";
  124. compatibleItems[] = {"acc_flashlight","acc_pointer_IR","ace_acc_pointer_green"};
  125. };
  126. };
  127. };
  128. class macro_new_weapon(DC,r15gl):3AS_DC15A_GL
  129. {
  130. displayName="Republic DC-15A UGL mod0";
  131. JLTS_hasElectronics=0;
  132. ACE_Overheating_mrbs = 300000;
  133. magazines[]=
  134. {
  135. macro_new_mag(10mw,30)
  136. };
  137. modes[] = {"Single", "Burst"};
  138. muzzles[]=
  139. {
  140. "this",
  141. "Stun",
  142. "RD501_15A_UGL_Muzzle"
  143. };
  144. class RD501_15A_UGL_Muzzle:3AS_GL_F
  145. {
  146. magazines[] = {};
  147. magazineWell[] += {macro_new_magwell(GL_Mags)};
  148. };
  149. class Stun: RD501_stun_muzzle
  150. {
  151. displayName="High Energy StunMode";
  152. };
  153. class Single:Single
  154. {
  155. reloadTime=0.1;
  156. };
  157. class Burst : Single
  158. {
  159. reloadTime=0.1;
  160. burst=3;
  161. textureType="burst";
  162. };
  163. class WeaponSlotsInfo: WeaponSlotsInfo
  164. {
  165. mass=80;
  166. class CowsSlot
  167. {
  168. displayName = "Optics Slot";
  169. iconPicture = "\A3\Weapons_F\Data\UI\attachment_top.paa";
  170. iconPinpoint = "Bottom";
  171. iconPosition[] = {0.5,0.35};
  172. iconScale = 0.2;
  173. linkProxy = "\a3\data_f\proxies\weapon_slots\TOP";
  174. scope = 0;
  175. compatibleItems[] =
  176. {
  177. "RD501_RCO",
  178. "RD501_RCO_2",
  179. "RD501_RCO_3",
  180. "RD501_Holosight",
  181. "RD501_Holosight_2",
  182. "RD501_Holosight_3",
  183. "RD501_DMS",
  184. "RD501_DMS_2",
  185. "RD501_DMS_3",
  186. "RD501_DMS_4",
  187. "RD501_MRCO",
  188. "RD501_MRCO_2",
  189. "RD501_MRCO_3"
  190. };
  191. };
  192. class MuzzleSlot
  193. {
  194. linkProxy="\A3\data_f\proxies\weapon_slots\MUZZLE";
  195. displayName="$str_a3_cfgweapons_abr_base_f_weaponslotsinfo_muzzleslot0";
  196. compatibleItems[]=
  197. {
  198. "RD501_muzzle_flash"
  199. };
  200. iconPicture="\A3\Weapons_F\Data\UI\attachment_muzzle.paa";
  201. iconPinpoint="Center";
  202. };
  203. class PointerSlot
  204. {
  205. linkProxy = "\A3\data_f\proxies\weapon_slots\SIDE";
  206. displayName = "Pointer Slot";
  207. compatibleItems[] = {"acc_flashlight","acc_pointer_IR"};
  208. };
  209. };
  210. };
  211. class 3AS_DC15C_Base_F;
  212. class 3AS_DC15C_GL: 3AS_DC15C_Base_F
  213. {
  214. class 3AS_15CGL;
  215. class FullAuto;
  216. class Single;
  217. class WeaponSlotsInfo;
  218. };
  219. class macro_new_weapon(DC,15cgl):3AS_DC15C_GL
  220. {
  221. displayName="Republic DC-15C US";
  222. dispersion=0.00116;
  223. ACE_Overheating_mrbs = 300000;
  224. recoil="recoil_mxc";
  225. scope = 2;
  226. magazines[]=
  227. {
  228. macro_new_mag(10mw,30)
  229. };
  230. muzzles[]=
  231. {
  232. "this",
  233. "Shotgun_Muzzle",
  234. "Stun"
  235. };
  236. class Shotgun_Muzzle: 3AS_15CGL
  237. {
  238. displayName="Shotgun Attachment";
  239. descriptionShort="Shotgun";
  240. magazines[]=
  241. {
  242. macro_new_mag(shotgun_scatter,6),
  243. macro_new_mag(shotgun_HE,6),
  244. macro_new_mag(shotgun_EMP,2)
  245. };
  246. magazineWell[]={};
  247. };
  248. class Stun: RD501_stun_muzzle
  249. {
  250. displayName="High Energy StunMode";
  251. };
  252. class FullAuto:FullAuto
  253. {
  254. reloadTime=0.08;
  255. dispersion=0.00116;
  256. };
  257. class Single : Single
  258. {
  259. reloadTime=0.08;
  260. dispersion=0.00116;
  261. };
  262. class WeaponSlotsInfo: WeaponSlotsInfo
  263. {
  264. mass = 30;
  265. class CowsSlot
  266. {
  267. displayName = "Optics Slot";
  268. iconPicture = "\A3\Weapons_F\Data\UI\attachment_top.paa";
  269. iconPinpoint = "Bottom";
  270. iconPosition[] = {0.5,0.35};
  271. iconScale = 0.2;
  272. linkProxy = "\a3\data_f\proxies\weapon_slots\TOP";
  273. scope = 0;
  274. compatibleItems[] =
  275. {
  276. "RD501_RCO",
  277. "RD501_RCO_2",
  278. "RD501_RCO_3",
  279. "RD501_Holosight",
  280. "RD501_Holosight_2",
  281. "RD501_Holosight_3",
  282. "RD501_DMS",
  283. "RD501_DMS_2",
  284. "RD501_DMS_3",
  285. "RD501_DMS_4",
  286. "RD501_MRCO",
  287. "RD501_MRCO_2",
  288. "RD501_MRCO_3"
  289. };
  290. };
  291. class MuzzleSlot
  292. {
  293. linkProxy="\A3\data_f\proxies\weapon_slots\MUZZLE";
  294. displayName="$str_a3_cfgweapons_abr_base_f_weaponslotsinfo_muzzleslot0";
  295. compatibleItems[]=
  296. {
  297. "RD501_muzzle_flash"
  298. };
  299. iconPicture="\A3\Weapons_F\Data\UI\attachment_muzzle.paa";
  300. iconPinpoint="Center";
  301. };
  302. class PointerSlot
  303. {
  304. linkProxy = "\A3\data_f\proxies\weapon_slots\SIDE";
  305. displayName = "Pointer Slot";
  306. compatibleItems[] = {"acc_flashlight","acc_pointer_IR"};
  307. };
  308. };
  309. };
  310. };