config.cpp 12 KB

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