config.cpp 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. #define COMPONENT weapons
  2. #include "../RD501_main/config_macros.hpp"
  3. #include "_common/common.hpp"
  4. class CfgPatches
  5. {
  6. class macro_patch_name(weapons)
  7. {
  8. author=DANKAUTHORS;
  9. requiredAddons[]=
  10. {
  11. macro_lvl1_req
  12. };
  13. requiredVersion=0.1;
  14. units[]={};
  15. weapons[]={
  16. macro_new_weapon(scope,dc_15a_x4),
  17. macro_new_weapon(scope,dc_15a_acog),
  18. macro_new_weapon(scope,dc_15a_x4_x8)
  19. };
  20. };
  21. };
  22. //scopes
  23. class CfgWeapons
  24. {
  25. class JLTS_stun_muzzle;
  26. class RD501_stun_muzzle: JLTS_stun_muzzle
  27. {
  28. magazines[]=
  29. {
  30. macro_new_mag(stun,5)
  31. };
  32. };
  33. };
  34. class CfgMagazineWells
  35. {
  36. class macro_new_magwell(GL_Mags)
  37. {
  38. macro_new_magwell(GL_flare)[]=
  39. {
  40. GL_flare_rounds
  41. };
  42. macro_new_magwell(GL_AP)[]=
  43. {
  44. macro_new_mag(AT_GL,2),
  45. macro_new_mag(UGL_AP,2)
  46. };
  47. macro_new_magwell(GL_HE)[]=
  48. {
  49. macro_new_mag(HE_GL,3),
  50. macro_new_mag(UGL_EMP,1),
  51. macro_new_mag(UGL_HE,3)
  52. };
  53. macro_new_magwell(smoke)[]=
  54. {
  55. "3Rnd_Smoke_Grenade_shell",
  56. "3Rnd_SmokeRed_Grenade_shell",
  57. "3Rnd_SmokeGreen_Grenade_shell",
  58. "3Rnd_SmokeYellow_Grenade_shell",
  59. "3Rnd_SmokePurple_Grenade_shell",
  60. "3Rnd_SmokeBlue_Grenade_shell",
  61. "3Rnd_SmokeOrange_Grenade_shell",
  62. "ACE_HuntIR_M203",
  63. "1Rnd_Leaflets_Civ_F"
  64. };
  65. };
  66. class macro_new_magwell(DC17_GL_Mags)
  67. {
  68. macro_new_magwell(1rnd_GL_flare)[]=
  69. {
  70. MACRO_GL_flare_rounds_1rnd
  71. };
  72. macro_new_magwell(1rnd_smoke)[]=
  73. {
  74. "1Rnd_Smoke_Grenade_shell",
  75. "1Rnd_SmokeRed_Grenade_shell",
  76. "1Rnd_SmokeGreen_Grenade_shell",
  77. "1Rnd_SmokeYellow_Grenade_shell",
  78. "1Rnd_SmokePurple_Grenade_shell",
  79. "1Rnd_SmokeBlue_Grenade_shell",
  80. "1Rnd_SmokeOrange_Grenade_shell",
  81. "ACE_HuntIR_M203"
  82. };
  83. }
  84. class macro_new_magwell(DC15C_Shotgun)
  85. {
  86. macro_new_magwell(shotgun)[]=
  87. {
  88. macro_new_mag(shotgun_scatter,6),
  89. macro_new_mag(shotgun_HE,6),
  90. macro_new_mag(shotgun_EMP,2)
  91. };
  92. };
  93. class macro_new_magwell(DC_15a_energy)
  94. {
  95. macro_new_magwell(DC_15a_energy)[]=
  96. {
  97. macro_new_mag(DC15a_Med,30),
  98. macro_new_mag(DC15a_High,15),
  99. macro_new_mag(DC15a_Low,60)
  100. };
  101. };
  102. class macro_new_magwell(rocket_RPS)
  103. {
  104. macro_new_magwell(rocket_RPS)[]=
  105. {
  106. macro_new_mag(RPS_AT,1),
  107. macro_new_mag(RPS_AA,1)
  108. };
  109. };
  110. };
  111. class CfgMagazines
  112. {
  113. class CA_Magazine;
  114. class UGL_FlareWhite_F;
  115. class 1Rnd_HE_Grenade_shell;
  116. class macro_new_mag(AT_GL,2): CA_Magazine
  117. {
  118. author = "RD501";
  119. scope = 2;
  120. type = 16;
  121. displayName = "2 Rnd LR AP DC-15A Grenades";
  122. displayNameShort = "2 Rnd LR AP DC-15A";
  123. picture = "\A3\Weapons_f\Data\ui\gear_UGL_slug_CA.paa";
  124. ammo = macro_new_ammo(GL_AT)
  125. initSpeed = 220;//120;
  126. count = 2;
  127. nameSound = "";
  128. descriptionShort = "2Rnd LR AP DC-15A Grenade";
  129. //mass = 30;
  130. mass = 15;
  131. };
  132. class macro_new_mag(HE_GL,3): macro_new_mag(AT_GL,2)
  133. {
  134. displayName = "3 Rnd LR HE DC-15A Grenades";
  135. displayNameShort = "3 RndLR HE DC-15A";
  136. count=3;
  137. ammo = macro_new_ammo(GL_HE)
  138. descriptionShort = "3Rnd LR HE DC-15A Grenade";
  139. initSpeed = 120;
  140. };
  141. class Titan_AA;
  142. class CA_LauncherMagazine;
  143. class Titan_AT;
  144. class macro_new_mag(RPS_AT,1): Titan_AT
  145. {
  146. scope = 2;
  147. displayName = "RPS 6 AT Rocket";
  148. ammo = macro_new_ammo(RPS_AT);
  149. type = "2 * 256";
  150. count = 1;
  151. initSpeed = 60;
  152. maxLeadSpeed = 60;
  153. mass = 70;
  154. };
  155. class macro_new_mag(RPS_AA,1): Titan_AA
  156. {
  157. author = "Bohemia Interactive";
  158. scope = 2;
  159. displayName = "RPS 6 AA Rocket";
  160. displayNameShort = "AA";
  161. ammo = macro_new_ammo(RPS_AA);
  162. type = "6 * 256";
  163. picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_atl_CA.paa";
  164. model = "\A3\Weapons_F_beta\Launchers\titan\titan_missile_atl";
  165. initSpeed = 18;
  166. maxLeadSpeed = 277.778;
  167. descriptionShort = "Type: Anti-Air<br />Rounds: 1<br />Used in: Titan MPRL";
  168. mass = 100;
  169. };
  170. class SmokeShell;
  171. class smoke_meme_mag: SmokeShell
  172. {
  173. author = "Bohemia Interactive";
  174. displayNameShort = "Yeet Smoke";
  175. ammo = "smoke_meme";
  176. picture = "\A3\Weapons_f\data\ui\gear_smokegrenade_blue_ca.paa";
  177. model = "\A3\Weapons_f\ammo\smokegrenade_blue";
  178. descriptionShort = "Type: Smoke Grenade - Blue<br />Rounds: 1<br />Used in: Hand";
  179. displayName = "[]M18 Smoke Grenade (Yeet)";
  180. };
  181. class 3AS_Chaingun_Drum_Mag;
  182. class macro_new_mag(z1000,3000) : 3AS_Chaingun_Drum_Mag
  183. {
  184. count = 3000;
  185. tracersEvery=1;
  186. ammo = macro_new_ammo(z1000)
  187. displayName="3000Rnd Z1000 Chaingun Drum";
  188. initSpeed=860;
  189. weight=1;
  190. scope=1;
  191. };
  192. };
  193. class CfgAmmo
  194. {
  195. class GrenadeHand;
  196. class M_Titan_AT;
  197. class R_PG32V_F;
  198. class R_TBG32V_F;
  199. class LaserAmmo_Minigun;
  200. class FlareBase;
  201. class G_40mm_HE;
  202. class ATMine_Range_Ammo;
  203. class PipeBombBase;
  204. class A_RocketHH15Clone_HEAT_FireForget;
  205. class M_Titan_AA;
  206. class DH17_Blaster_Ammo;
  207. class 3AS_Chaingun_Ammo;
  208. class M_Titan_AT;
  209. class macro_new_ammo(GL_AT): G_40mm_HE
  210. {
  211. hit = 350;
  212. indirectHit = 0;
  213. indirectHitRange = .1;
  214. timeToLive =30;
  215. model="\3AS\3AS_Equipment\model\3AS_coredetonator.p3d";
  216. fuseDistance = 3;
  217. explosive = 0.0001;
  218. deflecting = 5;
  219. caliber = 5;
  220. ace_frag_enabled = 0;
  221. ace_frag_force = 0;
  222. ace_frag_classes[] = {""};
  223. ace_frag_metal = 0;
  224. ace_frag_charge = 0;
  225. ace_frag_gurney_c = 0;
  226. ace_frag_gurney_k = "0";
  227. ace_rearm_caliber = 0;
  228. };
  229. class macro_new_ammo(GL_HE): G_40mm_HE
  230. {
  231. hit = 60;
  232. indirectHit = 50;
  233. indirectHitRange = 5;
  234. timeToLive =30;
  235. model="\3AS\3AS_Equipment\model\3AS_thermaldet.p3d";
  236. fuseDistance = 3;
  237. };
  238. class UNSC_Mine_Ammo: ATMine_Range_Ammo
  239. {
  240. hit = 2500;
  241. indirectHit = 2500;
  242. indirectHitRange = 20;
  243. };
  244. class TermMineA: PipeBombBase
  245. {
  246. hit = 400;
  247. indirectHit = 400;
  248. indirectHitRange = 25;
  249. };
  250. class TermMineC: PipeBombBase
  251. {
  252. hit = 2500;
  253. indirectHit = 2500;
  254. indirectHitRange = 15;
  255. };
  256. class macro_new_ammo(RPS_AT):M_Titan_AT
  257. {
  258. aiAmmoUsageFlags = "128 + 256 +512";
  259. hit = 95;
  260. thrust = 130;//130;
  261. thrustTime = 3.5;
  262. timeToLive = 20;
  263. indirectHit = 20;
  264. indirectHitRange = 2;
  265. };
  266. class macro_new_ammo(RPS_AA) : M_Titan_AA
  267. {
  268. hit = 800;
  269. indirectHit = 400;
  270. indirectHitRange = 1;
  271. };
  272. //212th stuff
  273. class SCI_PLX1_R : M_Titan_AT
  274. {
  275. hit = 95;
  276. indirectHit = 20;
  277. indirectHitRange = 2;
  278. };
  279. class SCI_RPS6_HEAA_R : R_PG32V_F
  280. {
  281. hit = 800;
  282. indirectHit = 400;
  283. indirectHitRange = 1;
  284. };
  285. class SCI_RPS6_HEDP_R : R_TBG32V_F
  286. {
  287. hit = 50;
  288. indirectHit = 60;
  289. indirectHitRange = 8;
  290. };
  291. class B_127x108_APDS;
  292. class SmokeShell;
  293. class smoke_meme: SmokeShell
  294. {
  295. model = "\A3\Weapons_f\ammo\smokegrenade_blue_throw";
  296. smokeColor[] = {0.1183, 0.1867, 1, 1};
  297. effectsSmoke = "smoke_yeet";
  298. };
  299. //LOOK HERE $$$
  300. class macro_new_ammo(z1000) : 3AS_Chaingun_Ammo
  301. {
  302. hit=57.45;
  303. caliber=3.5999999;
  304. indirectHit = 3;
  305. indirectHitRange = 0.5;
  306. explosive = 0.4;
  307. ACE_caliber=1;
  308. typicalSpeed=860;
  309. model="RD501_Vehicle_Weapons\_ammo\data\laser_small_blue.p3d";
  310. };
  311. };
  312. class smoke_yeet
  313. {
  314. class SmokeShell
  315. {
  316. simulation = "particles";
  317. type = "SMOKEEFFECT_MEME";
  318. position[] = {0, 0, 0};
  319. intensity = 1;
  320. interval = 1;
  321. };
  322. class SmokeShell2
  323. {
  324. simulation = "particles";
  325. type = "SmokeShellWhite2";
  326. position[] = {0, 0, 0};
  327. intensity = 1;
  328. interval = 1;
  329. };
  330. class SmokeShellUW
  331. {
  332. simulation = "particles";
  333. type = "SmokeShellWhiteUW";
  334. position[] = {0, 0, 0};
  335. intensity = 1;
  336. interval = 1;
  337. };
  338. class SmokeShell2UW
  339. {
  340. simulation = "particles";
  341. type = "SmokeShellWhite2UW";
  342. position[] = {0, 0, 0};
  343. intensity = 1;
  344. interval = 1;
  345. };
  346. };
  347. class CfgCloudlets
  348. {
  349. class Default;
  350. class SMOKEEFFECT_MEME: Default
  351. {
  352. animationSpeedCoef = 1;
  353. colorCoef[] = {"colorR", "colorG", "colorB", "colorA"};
  354. sizeCoef = 1;
  355. position[] = {0, 0, 0};
  356. interval = 0.03;
  357. circleRadius = 0;
  358. circleVelocity[] = {0, 0, 0};
  359. particleShape = "\A3\data_f\ParticleEffects\Universal\Universal";
  360. particleFSNtieth = 16;
  361. particleFSIndex = 7;
  362. particleFSFrameCount = 48;
  363. particleFSLoop = 1;
  364. angleVar = 0.1;
  365. animationName = "";
  366. particleType = "Billboard";
  367. timerPeriod = 1;
  368. lifeTime = 20;
  369. moveVelocity[] = {0.0, 0.0, 0.0};//{0.2, 0.1, 0.1};
  370. rotationVelocity = 1;
  371. weight = 1.2777;
  372. volume = 1;
  373. rubbing = 0.05;
  374. size[] = {6, 16};//{0.1, 2, 6};
  375. color[] = {{0.6, 0.6, 0.6, 0.2}, {0.6, 0.6, 0.6, 0.05}, {0.6, 0.6, 0.6, 0}};
  376. animationSpeed[] = {1.5, 0.5};
  377. randomDirectionPeriod = 1;
  378. randomDirectionIntensity = 0.04;
  379. onTimerScript = "";
  380. beforeDestroyScript = "";
  381. destroyOnWaterSurface = 1;
  382. destroyOnWaterSurfaceOffset = -0.6;
  383. lifeTimeVar = 2;
  384. positionVar[] = {0, 0, 0};
  385. MoveVelocityVar[] = {0.25, 0.25, 0.25};
  386. rotationVelocityVar = 20;
  387. sizeVar = 0.5;
  388. colorVar[] = {0, 0, 0, 0.35};
  389. randomDirectionPeriodVar = 0;
  390. randomDirectionIntensityVar = 0;
  391. };
  392. };
  393. class CfgRecoils
  394. {
  395. class recoil_default;
  396. class Default;
  397. class macro_new_recoil(westar_pistol): recoil_default
  398. {
  399. muzzleOuter[] = {"0.05", ".5", "0.1", "0.2"};
  400. kickBack[] = {"0.04", "0.08"};
  401. temporary = "0.06";
  402. };
  403. class macro_new_recoil(dc15_rb): Default
  404. {
  405. muzzleOuter[] = {"0.3*0.2", "6", "0.3*1", ".6"};
  406. muzzleInner[] = {0, 0, 0.1, 0.1};
  407. kickBack[] = {"0.03*2", "0.06*2.5"};
  408. permanent = "0.1*1.8";
  409. temporary = "0.01*1.2";
  410. };
  411. class Valken_Super_auto_recoil: Default
  412. {
  413. muzzleOuter[] = {".08*0.25", ".08*0.25", "0.3*0.25", ".1*0.25"};
  414. muzzleInner[] = {0, 0, 0.1, 0.1};
  415. kickBack[] = {"0.03*0.25", "0.03*0.25"};
  416. permanent = "0.1*0.25";
  417. temporary = "0.01*0.25";
  418. };
  419. };