config.cpp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593
  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. };
  64. };
  65. class macro_new_magwell(DC17_GL_Mags)
  66. {
  67. macro_new_magwell(1rnd_GL_flare)[]=
  68. {
  69. MACRO_GL_flare_rounds_1rnd
  70. };
  71. macro_new_magwell(1rnd_smoke)[]=
  72. {
  73. "1Rnd_Smoke_Grenade_shell",
  74. "1Rnd_SmokeRed_Grenade_shell",
  75. "1Rnd_SmokeGreen_Grenade_shell",
  76. "1Rnd_SmokeYellow_Grenade_shell",
  77. "1Rnd_SmokePurple_Grenade_shell",
  78. "1Rnd_SmokeBlue_Grenade_shell",
  79. "1Rnd_SmokeOrange_Grenade_shell",
  80. "ACE_HuntIR_M203"
  81. };
  82. }
  83. class macro_new_magwell(DC15C_Shotgun)
  84. {
  85. macro_new_magwell(shotgun)[]=
  86. {
  87. macro_new_mag(shotgun_scatter,6),
  88. macro_new_mag(shotgun_HE,6),
  89. macro_new_mag(shotgun_EMP,2)
  90. };
  91. };
  92. class macro_new_magwell(DC_15a_energy)
  93. {
  94. macro_new_magwell(DC_15a_energy)[]=
  95. {
  96. macro_new_mag(DC15a_Med,30),
  97. macro_new_mag(DC15a_High,15),
  98. macro_new_mag(DC15a_Low,60)
  99. };
  100. };
  101. class macro_new_magwell(rocket_RPS)
  102. {
  103. macro_new_magwell(rocket_RPS)[]=
  104. {
  105. macro_new_mag(RPS_AT,1),
  106. macro_new_mag(RPS_AA,1)
  107. };
  108. };
  109. };
  110. class CfgMagazines
  111. {
  112. class CA_Magazine;
  113. class SWOP_e11_Mag;
  114. class UGL_FlareWhite_F;
  115. class macro_new_mag(westar_35,20): CA_Magazine
  116. {
  117. scope = 2;
  118. model = "SW_CloneWarsWeapons\ammo.p3d";
  119. displayName = "20Rnd WESTAR-35 Magazine";
  120. picture = "\SWOP_Main\swop_Pistols\ui\M_SB_EnergyCell_CA.paa";
  121. ammo = macro_new_ammo(westar_35);
  122. //ammo = "SWOP_DC17_Ammo_low_RD501";
  123. tracersEvery = 1;
  124. type = 16;
  125. count = 20;
  126. descriptionShort = "20 Round WESTAR-35 Magazine";
  127. mass = 6;
  128. initSpeed = 310;
  129. };
  130. class 1Rnd_HE_Grenade_shell;
  131. class macro_new_mag(AT_GL,2): CA_Magazine
  132. {
  133. author = "RD501";
  134. scope = 2;
  135. type = 16;
  136. displayName = "2 Rnd LR AP DC-15A Grenades";
  137. displayNameShort = "2 Rnd LR AP DC-15A";
  138. picture = "\A3\Weapons_f\Data\ui\gear_UGL_slug_CA.paa";
  139. ammo = macro_new_ammo(GL_AT)
  140. initSpeed = 220;//120;
  141. count = 2;
  142. nameSound = "";
  143. descriptionShort = "2Rnd LR AP DC-15A Grenade";
  144. //mass = 30;
  145. mass = 15;
  146. };
  147. class macro_new_mag(HE_GL,3): macro_new_mag(AT_GL,2)
  148. {
  149. displayName = "3 Rnd LR HE DC-15A Grenades";
  150. displayNameShort = "3 RndLR HE DC-15A";
  151. count=3;
  152. ammo = macro_new_ammo(GL_HE)
  153. descriptionShort = "3Rnd LR HE DC-15A Grenade";
  154. initSpeed = 120;
  155. };
  156. class SWOP_dc15xBlasterRifle_Mag;
  157. class macro_new_mag(DC15x,6): SWOP_dc15xBlasterRifle_Mag
  158. {
  159. author = "RD501";
  160. scope = 2;
  161. model = "\SW_ExtraWeapons\PICKUPS\power_cell.p3d";
  162. picture = "\SW_ExtraWeapons\PICKUPS\UI\icons\powercell_X_ca.paa";
  163. displayName = "6Rnd DC-15X Magazine";
  164. ammo =macro_new_ammo(DC15x);
  165. tracersEvery = 1;
  166. count = 6;
  167. descriptionShort = "6Rnd DC15X Magazine";
  168. mass = 20;
  169. initSpeed = 4000;
  170. };
  171. class macro_new_mag(DC15s,60): CA_Magazine
  172. {
  173. author = "RD501";
  174. scope = 2;
  175. model = "\SW_ExtraWeapons\PICKUPS\energy_cell.p3d";
  176. picture = "\SW_ExtraWeapons\PICKUPS\UI\icons\energycell_X_ca.paa";
  177. displayName = "60Rnd DC-15S Carbine Magazine";
  178. ammo = macro_new_ammo(dc15s_carbine);
  179. tracersEvery = 1;
  180. type = 16;
  181. count = 60;
  182. descriptionShort = "60Rnd DC15 Blaster Magazine";
  183. //mass = 15;
  184. mass = 20;
  185. initSpeed = 310;
  186. };
  187. class Titan_AA;
  188. class CA_LauncherMagazine;
  189. class Titan_AT;
  190. class macro_new_mag(RPS_AT,1): Titan_AT
  191. {
  192. scope = 2;
  193. displayName = "RPS 6 AT Rocket";
  194. ammo = macro_new_ammo(RPS_AT);
  195. type = "2 * 256";
  196. count = 1;
  197. initSpeed = 60;
  198. maxLeadSpeed = 60;
  199. mass = 70;
  200. };
  201. class macro_new_mag(RPS_AA,1): Titan_AA
  202. {
  203. author = "Bohemia Interactive";
  204. scope = 2;
  205. displayName = "RPS 6 AA Rocket";
  206. displayNameShort = "AA";
  207. ammo = macro_new_ammo(RPS_AA);
  208. type = "6 * 256";
  209. picture = "\A3\Weapons_F_beta\Launchers\titan\Data\UI\gear_titan_missile_atl_CA.paa";
  210. model = "\A3\Weapons_F_beta\Launchers\titan\titan_missile_atl";
  211. initSpeed = 18;
  212. maxLeadSpeed = 277.778;
  213. descriptionShort = "Type: Anti-Air<br />Rounds: 1<br />Used in: Titan MPRL";
  214. mass = 100;
  215. };
  216. /*class SWOP_b2rocket_Mag: CA_Magazine
  217. {
  218. scope = 2;
  219. displayName = "5Rnd B2 Wrist Rockets";
  220. model = "\SW_ExtraWeapons\PICKUPS\bolts.p3d";
  221. picture = "\SW_ExtraWeapons\PICKUPS\UI\icons\bolts_X_ca.paa";
  222. ammo = "R_WristRocket_F";
  223. tracersEvery = 1;
  224. type = 16;
  225. count = 5;
  226. descriptionShort = "5Rnd Wrist Rockets";
  227. mass = 3;
  228. initSpeed = 100;
  229. soundFly[] = {"A3\Sounds_F\weapons\Rockets\rocket_fly_2", 0.501187, 1.3, 400};
  230. nameSound = "missiles";
  231. };*/
  232. class SW_iondisruptor_BlasterRifle_Mag;
  233. class macro_new_mag(RAMER,6):SW_iondisruptor_BlasterRifle_Mag
  234. {
  235. scope = 2;
  236. model = "\SW_ExtraWeapons\PICKUPS\power_cell.p3d";
  237. displayName = "6Rnd ION Magazine";
  238. picture = "\SWOP_Main\SWOP_Rifles\SWOP_Blaster\data\ui\E11_Mag.paa";
  239. ammo = "SW_iondisruptor_BlasterRifle_Ammo";
  240. tracersEvery = 1;
  241. count = 6;
  242. descriptionShort = "6Rnd ION Magazine";
  243. mass = 50;
  244. initSpeed = 310;
  245. author = "RD501";
  246. };
  247. class SWOP_DC15SAPistol_Mag;
  248. class macro_new_mag(DC15_razor_blade,9): SWOP_DC15SAPistol_Mag
  249. {
  250. scope = 2;
  251. model = "\SW_ExtraWeapons\PICKUPS\energy_cell.p3d";
  252. picture = "\SW_ExtraWeapons\PICKUPS\UI\icons\energycell_X_ca.paa";
  253. displayName = "9Rnd DC15-SA Magazine";
  254. ammo =macro_new_ammo(DC15_Razor_Blade);
  255. tracersEvery = 1;
  256. type = 16;
  257. count = 9;
  258. descriptionShort = "9Rnd DC15SA Magazine";
  259. mass =4;
  260. initSpeed = 310;
  261. };
  262. class SmokeShell;
  263. class smoke_meme_mag: SmokeShell
  264. {
  265. author = "Bohemia Interactive";
  266. displayNameShort = "Yeet Smoke";
  267. ammo = "smoke_meme";
  268. picture = "\A3\Weapons_f\data\ui\gear_smokegrenade_blue_ca.paa";
  269. model = "\A3\Weapons_f\ammo\smokegrenade_blue";
  270. descriptionShort = "Type: Smoke Grenade - Blue<br />Rounds: 1<br />Used in: Hand";
  271. displayName = "[]M18 Smoke Grenade (Yeet)";
  272. };
  273. class 3AS_Chaingun_Drum_Mag;
  274. class macro_new_mag(z1000,3000) : 3AS_Chaingun_Drum_Mag
  275. {
  276. count = 3000;
  277. tracersEvery=1;
  278. ammo = macro_new_ammo(z1000)
  279. displayName="3000Rnd Z1000 Chaingun Drum";
  280. initSpeed=860;
  281. weight=1;
  282. scope=1;
  283. };
  284. };
  285. class CfgAmmo
  286. {
  287. class GrenadeHand;
  288. class M_Titan_AT;
  289. class R_PG32V_F;
  290. class R_TBG32V_F;
  291. class LaserAmmo_Minigun;
  292. class FlareBase;
  293. class G_40mm_HE;
  294. class ATMine_Range_Ammo;
  295. class PipeBombBase;
  296. class A_RocketHH15Clone_HEAT_FireForget;
  297. class M_Titan_AA;
  298. class DH17_Blaster_Ammo;
  299. class 3AS_Chaingun_Ammo;
  300. class M_Titan_AT;
  301. class macro_new_ammo(z6):LaserAmmo_Minigun
  302. {
  303. hit = mg_hit_high;
  304. indirectHit = 0.0;
  305. indirectHitRange = 0.0;
  306. explosive = 0.0;
  307. caliber = mg_cali_high;
  308. ACE_caliber = 0;
  309. };
  310. class macro_new_ammo(GL_AT): G_40mm_HE
  311. {
  312. hit = 350;
  313. indirectHit = 0;
  314. indirectHitRange = .1;
  315. timeToLive =30;
  316. model="\3AS\3AS_Equipment\model\3AS_coredetonator.p3d";
  317. fuseDistance = 3;
  318. explosive = 0.0001;
  319. deflecting = 5;
  320. caliber = 5;
  321. ace_frag_enabled = 0;
  322. ace_frag_force = 0;
  323. ace_frag_classes[] = {""};
  324. ace_frag_metal = 0;
  325. ace_frag_charge = 0;
  326. ace_frag_gurney_c = 0;
  327. ace_frag_gurney_k = "0";
  328. ace_rearm_caliber = 0;
  329. };
  330. class macro_new_ammo(GL_HE): G_40mm_HE
  331. {
  332. hit = 60;
  333. indirectHit = 50;
  334. indirectHitRange = 5;
  335. timeToLive =30;
  336. model="\3AS\3AS_Equipment\model\3AS_thermaldet.p3d";
  337. fuseDistance = 3;
  338. };
  339. class UNSC_Mine_Ammo: ATMine_Range_Ammo
  340. {
  341. hit = 2500;
  342. indirectHit = 2500;
  343. indirectHitRange = 20;
  344. };
  345. class TermMineA: PipeBombBase
  346. {
  347. hit = 400;
  348. indirectHit = 400;
  349. indirectHitRange = 25;
  350. };
  351. class TermMineC: PipeBombBase
  352. {
  353. hit = 2500;
  354. indirectHit = 2500;
  355. indirectHitRange = 15;
  356. };
  357. class macro_new_ammo(RPS_AT):M_Titan_AT
  358. {
  359. aiAmmoUsageFlags = "128 + 256 +512";
  360. hit = 95;
  361. thrust = 130;//130;
  362. thrustTime = 3.5;
  363. timeToLive = 20;
  364. indirectHit = 20;
  365. indirectHitRange = 2;
  366. };
  367. class macro_new_ammo(RPS_AA) : M_Titan_AA
  368. {
  369. hit = 800;
  370. indirectHit = 400;
  371. indirectHitRange = 1;
  372. };
  373. //212th stuff
  374. class SCI_PLX1_R : M_Titan_AT
  375. {
  376. hit = 95;
  377. indirectHit = 20;
  378. indirectHitRange = 2;
  379. };
  380. class SCI_RPS6_HEAA_R : R_PG32V_F
  381. {
  382. hit = 800;
  383. indirectHit = 400;
  384. indirectHitRange = 1;
  385. };
  386. class SCI_RPS6_HEDP_R : R_TBG32V_F
  387. {
  388. hit = 50;
  389. indirectHit = 60;
  390. indirectHitRange = 8;
  391. };
  392. class B_127x108_APDS;
  393. class SmokeShell;
  394. class smoke_meme: SmokeShell
  395. {
  396. model = "\A3\Weapons_f\ammo\smokegrenade_blue_throw";
  397. smokeColor[] = {0.1183, 0.1867, 1, 1};
  398. effectsSmoke = "smoke_yeet";
  399. };
  400. //LOOK HERE $$$
  401. class macro_new_ammo(z1000) : 3AS_Chaingun_Ammo
  402. {
  403. hit=57.45;
  404. caliber=3.5999999;
  405. indirectHit = 3;
  406. indirectHitRange = 0.5;
  407. explosive = 0.4;
  408. ACE_caliber=1;
  409. typicalSpeed=860;
  410. model="RD501_Vehicle_Weapons\_ammo\data\laser_small_blue.p3d";
  411. };
  412. };
  413. class smoke_yeet
  414. {
  415. class SmokeShell
  416. {
  417. simulation = "particles";
  418. type = "SMOKEEFFECT_MEME";
  419. position[] = {0, 0, 0};
  420. intensity = 1;
  421. interval = 1;
  422. };
  423. class SmokeShell2
  424. {
  425. simulation = "particles";
  426. type = "SmokeShellWhite2";
  427. position[] = {0, 0, 0};
  428. intensity = 1;
  429. interval = 1;
  430. };
  431. class SmokeShellUW
  432. {
  433. simulation = "particles";
  434. type = "SmokeShellWhiteUW";
  435. position[] = {0, 0, 0};
  436. intensity = 1;
  437. interval = 1;
  438. };
  439. class SmokeShell2UW
  440. {
  441. simulation = "particles";
  442. type = "SmokeShellWhite2UW";
  443. position[] = {0, 0, 0};
  444. intensity = 1;
  445. interval = 1;
  446. };
  447. };
  448. class CfgCloudlets
  449. {
  450. class Default;
  451. class SMOKEEFFECT_MEME: Default
  452. {
  453. animationSpeedCoef = 1;
  454. colorCoef[] = {"colorR", "colorG", "colorB", "colorA"};
  455. sizeCoef = 1;
  456. position[] = {0, 0, 0};
  457. interval = 0.03;
  458. circleRadius = 0;
  459. circleVelocity[] = {0, 0, 0};
  460. particleShape = "\A3\data_f\ParticleEffects\Universal\Universal";
  461. particleFSNtieth = 16;
  462. particleFSIndex = 7;
  463. particleFSFrameCount = 48;
  464. particleFSLoop = 1;
  465. angleVar = 0.1;
  466. animationName = "";
  467. particleType = "Billboard";
  468. timerPeriod = 1;
  469. lifeTime = 20;
  470. moveVelocity[] = {0.0, 0.0, 0.0};//{0.2, 0.1, 0.1};
  471. rotationVelocity = 1;
  472. weight = 1.2777;
  473. volume = 1;
  474. rubbing = 0.05;
  475. size[] = {6, 16};//{0.1, 2, 6};
  476. color[] = {{0.6, 0.6, 0.6, 0.2}, {0.6, 0.6, 0.6, 0.05}, {0.6, 0.6, 0.6, 0}};
  477. animationSpeed[] = {1.5, 0.5};
  478. randomDirectionPeriod = 1;
  479. randomDirectionIntensity = 0.04;
  480. onTimerScript = "";
  481. beforeDestroyScript = "";
  482. destroyOnWaterSurface = 1;
  483. destroyOnWaterSurfaceOffset = -0.6;
  484. lifeTimeVar = 2;
  485. positionVar[] = {0, 0, 0};
  486. MoveVelocityVar[] = {0.25, 0.25, 0.25};
  487. rotationVelocityVar = 20;
  488. sizeVar = 0.5;
  489. colorVar[] = {0, 0, 0, 0.35};
  490. randomDirectionPeriodVar = 0;
  491. randomDirectionIntensityVar = 0;
  492. };
  493. };
  494. class CfgRecoils
  495. {
  496. class recoil_default;
  497. class Default;
  498. class macro_new_recoil(westar_pistol): recoil_default
  499. {
  500. muzzleOuter[] = {"0.05", ".5", "0.1", "0.2"};
  501. kickBack[] = {"0.04", "0.08"};
  502. temporary = "0.06";
  503. };
  504. class macro_new_recoil(dc15_rb): Default
  505. {
  506. muzzleOuter[] = {"0.3*0.2", "6", "0.3*1", ".6"};
  507. muzzleInner[] = {0, 0, 0.1, 0.1};
  508. kickBack[] = {"0.03*2", "0.06*2.5"};
  509. permanent = "0.1*1.8";
  510. temporary = "0.01*1.2";
  511. };
  512. class Valken_Super_auto_recoil: Default
  513. {
  514. muzzleOuter[] = {".08*0.25", ".08*0.25", "0.3*0.25", ".1*0.25"};
  515. muzzleInner[] = {0, 0, 0.1, 0.1};
  516. kickBack[] = {"0.03*0.25", "0.03*0.25"};
  517. permanent = "0.1*0.25";
  518. temporary = "0.01*0.25";
  519. };
  520. };