From 8add3f93f532534a1b815abcaf83b7eab63b4b9e Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Mon, 24 Nov 2025 14:06:12 -0600 Subject: [PATCH] Gun Balancing (#2279) * some things * I'm tiredxs * yea * gun * retexture i think * soresm ore * op * Create TACZ_CHANGELOG.md * surely final stuff * iuh --- kubejs/assets/tacz/lang/en_us.json | 4 + kubejs/assets/tacz/textures/gun/slot/m700.png | Bin 0 -> 2390 bytes kubejs/assets/tacz/textures/gun/uv/m700.png | Bin 0 -> 13988 bytes kubejs/assets/tacz/textures/gun/uv/m700_n.png | Bin 0 -> 5473 bytes kubejs/assets/tacz/textures/gun/uv/m700_s.png | Bin 0 -> 4853 bytes kubejs/server_scripts/gregtech/recipes.js | 2 + kubejs/server_scripts/tacz/index_modifiers.js | 214 +++++++++++++++++- kubejs/server_scripts/tacz/recipes.ammo.js | 27 ++- kubejs/server_scripts/tacz/recipes.guns.js | 98 +++++--- kubejs/startup_scripts/tacz/constants.js | 8 +- tacz/TACZ_CHANGELOG.md | 133 +++++++++++ tacz/ulv_guns.zip | Bin 114255 -> 108945 bytes 12 files changed, 449 insertions(+), 37 deletions(-) create mode 100644 kubejs/assets/tacz/textures/gun/slot/m700.png create mode 100644 kubejs/assets/tacz/textures/gun/uv/m700.png create mode 100644 kubejs/assets/tacz/textures/gun/uv/m700_n.png create mode 100644 kubejs/assets/tacz/textures/gun/uv/m700_s.png create mode 100644 tacz/TACZ_CHANGELOG.md diff --git a/kubejs/assets/tacz/lang/en_us.json b/kubejs/assets/tacz/lang/en_us.json index 7e1a52660..dd65ee5de 100644 --- a/kubejs/assets/tacz/lang/en_us.json +++ b/kubejs/assets/tacz/lang/en_us.json @@ -25,8 +25,12 @@ "create_armorer.attachment.extended_mag_ca_2.name": "Copper Plated Magazine", "create_armorer.attachment.extended_mag_ca_3.name": "Brass Plated Magazine", "create_armorer.ammo.rbapb.name": "Rimmed Blunt Ammo", + "create_armorer.gun.pistol_auto_stress": "\"Stress\" Semi Pistol", "create_armorer.gun.mg_platemag_flywheel": "\"Flywheel\" Machine Gun", + "create_armorer.gun.sniper_semi_clockwork": "\"Clockwork\" Rifle", "create_armorer.gun.rifle_assult_crane": "\"Crane\" Assault Rifle", + "tacz.ammo.30_06.name": ".30-06 SLAP Ammo", + "tacz.gun.m700.name": "\"Clutch\" Sniper Rifle", "item.tacz.ammo_box.iron": "Steel Ammo Box", "item.tacz.ammo_box.gold": "§9Magnalium Ammo Box", "item.tacz.ammo_box.diamond": "§6Desh Ammo Box" diff --git a/kubejs/assets/tacz/textures/gun/slot/m700.png b/kubejs/assets/tacz/textures/gun/slot/m700.png new file mode 100644 index 0000000000000000000000000000000000000000..35b6afacfd1192e10587cbcaf35b548f675321ff GIT binary patch literal 2390 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 IM6N<$g16djVgLXD literal 0 HcmV?d00001 diff --git a/kubejs/assets/tacz/textures/gun/uv/m700.png b/kubejs/assets/tacz/textures/gun/uv/m700.png new file mode 100644 index 0000000000000000000000000000000000000000..6f4918f1786158282ff94af06d16680a08d6a99d GIT binary patch literal 13988 zcmdUWg;!fm^zBV>cXtZ3SgGI|yc93)?(Pl&3Y6kf+zKtUxD}T`3&FLxTXA;@ynMeW z|HE5rR&rNvGWXoMGjsOdXD3=sMIH~E8XEurJcV~M9{>P^JOlxl=*Txi_aD{(KnN(v zNNW1#9OPo;(Dr2R1Wd3gyueA-=B(g!3$?U|dC8TCH+=-j;eeQGoE-m2==tqy7kJhYu=PqTFTcgVew6i)b0*}G- ze>{u}4bE$6r;j)Oh4(~G@Rj2_fl;QVpg%jihi@(4{VDqQWK!wGJL+~jQ8w8*xxa6s zobR)RSNBfOuKPhW@LlxnQ`bsc=5j~VKXdo-#Ptim-D6_`o0sgIoNwpn=W%a3*M*nA`bK+>ZxQc9z6}z>I8q4!gpGo-43=b0?9?is7Yw~gb#!!Ge zJW4_;_-XTa!m25uSWIMciz2usdGV&P?3o-Snue;ls0{vs{d39FpzFF)%vbfI+lsnK z4vH^i-z9v!yt1AY6$iQQe>{+%&}itcMLm&fH(3d;%-gYRgu<((;8JM$VH{dTX8UrA znPkBpBF`QG&i|VCHId~S2D-xL#)|$sw$TjRhu_yUxSg;8%`*5%Wl zt#(|N7{jZo%(I#cS?Nes`DCOz1DY&WR;_Yz7KhOd&J0&P59;@}(Xp_9r}oy3(oT3h zdD&Q9T>+m#ypL`{XJ&-${_4oGVN}_9g+8lBf^~xo%0^2{kxrSLOD9)s7GZ#n9M0)F zsbiT9@3NOrvS4KM5TRbE>&~C=5Yw~>dEd(kj4@A+I;RF`-e=oI;!;_Eq@p@(q0?l? z;0|Ga?KyVk5_s_8ylq=wsPf6y>alap8;rY(R0F8T2IgJLsfxDhU9aH&cxhTby>mQ){G0?1RvWm2xac> z{L!_*GsD?04t}=PAIh}6G512>ezqaH3lK+tta00D2@ZgweXF8yL~qEns-`e4!L7kJ z-K*zt|B>kuReLb7-`~>tC}i~5)0m#3irCPvKq;u!kVzf+c0$0A^@jOtC$+7$aKMK; z@T>5GBx$c;BXUs!p0bPmogLoy?>}Qy*dPa~Y-Dxm;<*+bKo35cZRq*Xdj;0TfMIv~ z(UlQpbzw^oqOW1RF$S@~KSnb9myQxz|pD z8GF5~aJ9(K+#$v6H0#Uy+?YyLrTqElp@{nr4T!h!d-J}nKl`n!-$U~IQwFeXA7Vbg zk2_jcc}Aq@_0$^Bf>-_eGyHS%U0#N|e)6lAhPDDTC}Ku*y)_#s?U;G-P<%Rj`*LrP zvT`eJ5Gc=gN5y?RNELU7l$@JCVWrK^;>pcp_)Tta_;znFkE4W|mX`F@vCI2(myS#P zv&Fj3?K>!{5kp$r*_5(BDGM4`n(OCu_>o1G4(D6!4ct*gnXK5y6SEM zWMjmrhV6qr(Z*B_9J0UmOX!d6uS{VXfo#vRMuWCxE5h9&I)LB68Jb4lJh%J=&(qKu zk>&Mx-R{|x$8+{w%$5|3{dJke9m|{uSE{<;8Fp*>_K7xQ7Gebv`Z-B2N-HbrVZ_4x z%M7bA*72i2b$4-zpNem0!daO`NJ0^puXQoh#96&e|oy4$u6^*-=pRihd|j4T+?d0BpfqD%4B z3!qje4_yWg*6O8aa6hydx$J(0;JU+DMIm*g0FT|E6DxzPw2+UAffK(>+Bs1 zSh1AmdA5zN-`d|1E670MMUzRc+R;{Dvo(h;nbrsNn0ux7{#s6=4 z-cQGUod)e>82G&xB|6F{FT6JPzx}Xlj4fkjJ-G2)h1v5puc0RaB!%LlV7E`>c|1nT z79Mu6CLm)Kbhx?p@9CvGh+-ONy9YLP<+ZTHgy$4 z<)*bYY-$^G98`Std!^rdyVz=1`P?S9i1on^B_|b=+DX0{;&UnDh~lyQ7DFZ2%>Z5*> zH=ubEt}=@f_M?`fr)!kA^fivfc*Yv~0nUlZ5#q~MOG$a$5~B&AeFM@G0cZ&r`??7% z18XV$F(cVFpjV4!HOh%UvqeVF=tCRwULN=#;1syYEr2eHP{L4SA}g}FzfehHDf_91 z*6=`ksf<7uBv(wpP|EL+xf=HdFQ6?4TCNP$KwbCk&eyptV(5%{xSB~Y=siiSPP68@ z>&$NpdsyNz+1LZB>0r;bgFipmU-C2w1BW<-#Ml)WiB5D-dliV1YNJH7x&HWZEc~SW zBzqwVA6Nh(*ZNKdlOoM#mQ8sYU6@lt5 z6Ignh6RImC@#Hu*mA&-WzB!CSmeS^FYBr@G8#c{os}o|_VmArjn+v7=kn$Ha#_&R; z1v-p@-hzm6c&YNVy!zx4HTfzu?w;VpAC(z~56#66+*A}u4hX&hUmFUt6}-a$u5d&e z@HE9^?0b`xm5(<&@foS{4t)O3j-^`BK^;{ju@CPweBGYj;>BaVnD{S#RJ|L}$^j5h z>l_a=x8>FQC`V8XWo0y|%od*b&>IO+sR&^zKnb%w!*;|HbZ*i<68>rfx?``mgE{U4 znn9q-GM?v$xj#jL?>$(R0mA48U~^V8FXak9hWo6mto>as@DhP1*@3HUDvjDVlqUNl z)U))%=fCJ6WBrYGkcag;1xaWz^d8)YEgDbHRg3y9EWZQaUqx4kX#fuy;eX*FH%?wO zr7le%x{z7AXk3>)1G``h?D$tJwwBHVE@a#w{r)fKJO16?Tpgw7)8}L~6?D1(LPQ4M zlk}F_pm+OriFS5LT4Privu%;hj*q{75lev+N30YcseKhtHnH0tF$pKu_IX_v$THW{ zRBs^yjZP^^B!R~Z_P{ZDTQCw!s^bOcR-BH{mrLRE!`w^S_ZF&E3RZY3Ske*m@uHs*x!H;)!J$9 zD#M5H6Mn}0pA(p^_>gSyHWnigj3r5#p(idikWCthrW*n(N3}F~l9IUwc>VAiNdM|0 zH|4xUyoF%u{e+84Dv^8Tn5ujeXS-;-J;6`E@4Q~N^DxOF0BViKzX|+2)apM(S-PLk^yph&5}DY-QdsI%DE6r-=*V-l!wgm< zHUe#8%{3fSsB828c?emPim?(?h5DUb!8`Cue=~60kme9T$sYfD@6YCu1+TJD>wlEI z34K@m7Ui_Q5F3uh?Vfn_;mwIZkZu%=7A?17jRv~{+S{B7reh3gog=(griHlfpz=;IGo_yzpbY3e_Q3aVR-_-5Q7KbB55Dy%~S%G z>(x;U*SWI2u=F(fMhw%9O_KCi-*Uy2^6+1WTBQFqmO9cE&V^CZk_)1bfbK`Fc~8dH z>u`*odiSejr>g>3yB!dc@~=YHzVDu|4oMJ_WyqnU&%PFi4dS9c-g%nMY)pp?Wz?XO zhyVWU;K03ba%nSCSttHPHN6sY_?t6q+T)k(K5+K2U>A^qyop~g3|*xYJWs$hwq`u2 z8r`_Cv&rqsO1~D~qx3#@tnbyCwZQw(@_^$YbsAtRf~0hrb`JxFDOILU;zKMKSNJj* zBNyi=RpPq1acGEXdv_`3q*pDi7)nuY{}^b=W;t7>lD`Wt>|jHP)$KVtKj<`X4O&|?UOK)B!NN@`!tPCaKxb9;-ar#{mJS8p1=jZp~ z1D?RaE7Sh(I*E8L_}|C^)=D`0<3eZxIi-z2q%ZQk(3M?ig4ch!RO*ASuk`8Ckx5X- z8~6`G{ttBYL@VgW66ACdb=H#aa_nWbh@=^R_eb#dXwLJE#-}|4!<^4={?5&1;-66w zu@viR3*>ovUlx;iiC)7?E)!v6NKh}oss}ynbH_&&Z^jkIm%seZ>)h!7Z2jn|rB_3L z)oBcgQ<5F%fIPH5GC?-R>D<55(@E_CG~YKstA~>EIsn@HN-w~doKeTrtfvE`{AA%U zVFUD0;U+Xk3*dhQh2obJ@{2$Vb*uNiMR6Euh-}B#S*>H*?JPLdFlgcEBwa+odz|oO znKMJ)HTcdrI}hxwjmkb#=+^)si;L+DoEnGed9)~`*!-jK4trw}iic4#8Kr+xu~`VN z_C;JCkLL%!J?SS^EP`~eyMUoC)xx`qxIvgdVN`f&(!4;;+BrE3hJ1AiLHcbYyP zAgJ)2q%Tv2z7Sv}KxSY^45$rNH64;NLK{#psYHB^_}?fLk1}{_)}d&qLhOlSy--DH z8ac6MG18QnLgrr;R2#U@y{TQpqhmm#+N|<|EIP^!KKqjheh2dmpOql^*bX+MOZ4*` zIx#mE1|m%i(-NB1q&PG5o87u#up=!n%|}TC=3|((32>Rk2e#3348(ex9{PX~Us6l8urrsJxw=)J|lP@40iTjq9nw~JO(Yu#+rbAjVIXNlo3&*S= zD6|aFH!#4Bi;c`Lg99<%L^qgv`1UHe93TcZvIGyDWan5}?K)07UF#Tcr{S9L7p z7Xf<%j-d<7h7uf`8AAMfUK-(;uu%mt3TJ zAagq4O8Ad3P;F>g^7236?aL@b4v>KmN?*xBIfxQhF!i^o3GICcC_cDc>)T^x;s)$;K@&8$X+@rV5>9VG>n@;9j8t zbPy(d6sbv+ouj=syj>V?9>z#FGygbPGb(-E0}2UM=_=|{PrXlOYz7N+{3T-!iWEQ= zj^29w0b$M6`Mcmdus?0=?HpP@#Q~b`BRsv++>fCeALMxJhqF9-0dnCyNX>@U2{BW6vM$WV$ozvSShK%T59%eNYJDKk)ecp9<)zOT&AOjCk^G@3DH_l9 zK1w{tIW#|bum9pM{Qmm1gJ(%XY>)}tBu&+p4$5*{j5z*{XUY)r}W$P&l>KWd}M; zEQta`5NThVW0r{)UV_zaZdCZZ#~Z0-h@j$OK@$FDl#?=e zK?!In35O1#L{VQ3h6~*kJIXP3Hd#KPnp+?S&<=pvpO9P{HKHYpKJK|`5M+N;8=x$= zx*p8t(fD)#csfHs!riK7pb^MNqRQYIAt3=E6?V9gT`H)HBk5fXr69s=d}PoK zE^A)NpB67W1j1sk&@eGFuTWsy+sXt3a;Sx2s^i`OIBc&f->zF2F9QkT{a(wxD`ER} z8bujF>uly$jzoQjPLBc%@38zQ^W;>)dsFxYf$!0T{5MZvh?jcr`QK*7chQVH*q%8S zqJ(V{TydMFc>$^tw+7$$&4NH=7X{G6|HvDE5%0DcaWJGAtadpw1FmqBnhGwomgBfG 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 M{DN8jDfe6d1II2IBme*a literal 0 HcmV?d00001 diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index b76dc2ea4..1d57dc612 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1842,6 +1842,8 @@ const registerGTCEURecipes = (event) => { .duration(20 * 5) .category(GTRecipeCategories.INGOT_MOLDING) + event.replaceInput( {output: 'gtceu:nano_saber'}, 'gtceu:ruridit_plate', '#forge:plates/ostrum_iodide' ) + // Change // The 9x buff for large boiler recipes above does not apply to this for some reason, so it gets 3x duration for an effective 1/3 reduction instead diff --git a/kubejs/server_scripts/tacz/index_modifiers.js b/kubejs/server_scripts/tacz/index_modifiers.js index 3f7cc5d57..c157e27de 100644 --- a/kubejs/server_scripts/tacz/index_modifiers.js +++ b/kubejs/server_scripts/tacz/index_modifiers.js @@ -18,6 +18,7 @@ const ammoIndexLogic = (event) => { switch(id) { case "tacz:45_70": json.stack_size = 64; break; case "tacz:12g": json.stack_size = 64; break; + case "tacz:30_06": json.stack_size = 64; break; case "create_armorer:40mmhe": json.stack_size = 16; break; case "create_armorer:rbapb": json.stack_size = 64; break; @@ -99,6 +100,12 @@ const gunIndexLogic = (event) => { return event.removeGun(); } + + if (id === "create_armorer:sniper_semi_clockwork"){ + const json = JSON.parse(event.getStdJson()); + json.type = "rifle"; + return event.setJson(JSON.stringify(json)); + } } const attachmentDataLogic = (event) => { @@ -109,6 +116,7 @@ const gunDataLogic = (event) => { const id = event.getId().toString(); const json = JSON.parse(event.getStdJson()); + //Pistols if (id === "ulv_guns:flintlock_data"){ json.bullet.damage = 14; json.bullet.extra_damage.damage_adjust = @@ -121,36 +129,168 @@ const gunDataLogic = (event) => { } if(id === "create_armorer:pistol_revolver_torque_data"){ + json.ammo = "create_armorer:rbapb"; + + json.bullet.pierce = 2; + json.bullet.damage = 12; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.head_shot_multiplier = 1.5; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 25, "damage": 12}, + {"distance": 50, "damage": 11}, + {"distance": 75, "damage": 9}, + {"distance": "infinite", "damage": 7} + ] + + } + + if(id === "create_armorer:pistol_auto_stress_data"){ + json.ammo = "create_armorer:rbapb"; + json.ammo_amount = 10; + json.extended_mag_ammo_amount = + [ + 14, + 18, + 22 + ] + + json.fire_mode = + [ + "semi" + ] + + json.bullet.damage = 8; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 32, "damage": 8}, + {"distance": 64, "damage": 7}, + {"distance": "infinite", "damage": 6} + ] + } + + if(id === "applied_armorer:niklas_pistol_semi_pride_data"){ json.bullet.extra_damage.armor_ignore = 0.25; } + if(id === "applied_armorer:niklas_pistol_double_win_win_data"){ + json.bullet.damage = 10; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.head_shot_multiplier = 1.5; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 15, "damage": 10}, + {"distance": 35, "damage": 9}, + {"distance": "infinite", "damage": 8} + ] + } + + //Snipers + if(id === "tacz:springfield1873_data") { + json.bullet.damage = 25; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 40, "damage": 25}, + {"distance": 70, "damage": 21}, + {"distance": 100, "damage": 17}, + {"distance": "infinite", "damage": 12} + ] + } + + if(id === "tacz:m700_data"){ + json.ammo_amount = 2; + json.extended_mag_ammo_amount = + [ + 4, + 6, + 9 + ] + + json.bullet.damage = 32; + json.bullet.extra_damage.head_shot_multiplier = 1.75; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 48, "damage": 32}, + {"distance": 96, "damage": 28}, + {"distance": 128, "damage": 23}, + {"distance": "infinite", "damage": 18} + ] + } + + if(id === "applied_armorer:moritz_sniper_semi_k30_data") { + json.bullet.pierce = 4; + json.bullet.damage = 40; + json.bullet.extra_damage.armor_ignore = 0.55; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 100, "damage": 40}, + {"distance": 200, "damage": 35}, + {"distance": "infinite", "damage": 30} + ] + } + + + //Rifles if(id === "create_armorer:sniper_semi_clockwork_data"){ + json.ammo = "create_armorer:slap"; + json.ammo_amount = 10; + json.extended_mag_ammo_amount = + [ + 13, + 16, + 20 + ] + + json.bullet.extra_damage.armor_ignore = 0.30; json.bullet.damage = 22; + json.bullet.extra_damage.head_shot_multiplier = 1.50; json.bullet.extra_damage.damage_adjust = [ {"distance": 60, "damage": 22}, {"distance": 120, "damage": 19}, {"distance": "infinite", "damage": 17} ] + json.builtin_attachments = {}; json.builtin_attachments.scope = "create_armorer:sight_simple"; } + if(id === "create_armorer:rifle_assult_crane_data"){ + json.ammo_amount = 20; + json.extended_mag_ammo_amount = + [ + 28, + 36, + 44 + ] + } + if(id === "applied_armorer:moritz_rifle_ar77_data") { json.ammo = "applied_armorer:hard_core_quartz_bullet"; - json.bullet.damage = 13; + json.ammo_amount = 25; + json.extended_mag_ammo_amount = + [ + 36, + 45, + 52 + ] + + + json.bullet.damage = 14; json.bullet.extra_damage.armor_ignore = 0.35; json.bullet.extra_damage.head_shot_multiplier = 1.75; json.bullet.extra_damage.damage_adjust = [ - {"distance": 80, "damage": 13}, - {"distance": 120, "damage": 11}, - {"distance": "infinite", "damage": 9} + {"distance": 80, "damage": 14}, + {"distance": 120, "damage": 12}, + {"distance": "infinite", "damage": 10} ] } + //Shotguns if(id === "tacz:db_long_data"){ json.bullet.extra_damage.armor_ignore = 0.22; } @@ -159,6 +299,71 @@ const gunDataLogic = (event) => { json.bullet.extra_damage.armor_ignore = 0.22; } + //SMGs + if(id === "create_armorer:smg_auto_crank_data"){ + json.ammo = "create_armorer:rbapb"; + + json.ammo_amount = 25; + json.extended_mag_ammo_amount = + [ + 35, + 45, + 55 + ] + + json.bullet.damage = 8; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.head_shot_multiplier = 1.2; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 24, "damage": 8}, + {"distance": 48, "damage": 7}, + {"distance": 72, "damage": 6}, + {"distance": "infinite", "damage": 5} + ] + } + + if(id === "applied_armorer:niklas_smg_freedom_data"){ + json.ammo_amount = 35; + json.extended_mag_ammo_amount = + [ + 45, + 55, + 65 + ] + + json.bullet.damage = 10; + json.bullet.extra_damage.armor_ignore = 0.25; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 24, "damage": 10}, + {"distance": 48, "damage": 9}, + {"distance": 72, "damage": 8}, + {"distance": "infinite", "damage": 7} + ] + } + + //Heavy + if(id === "create_armorer:mg_platemag_flywheel_data") { + json.ammo_amount = 40; + json.extended_mag_ammo_amount = + [ + 55, + 80, + 115 + ] + + json.rpm = 640; + + json.bullet.damage = 12; + json.bullet.extra_damage.damage_adjust = + [ + {"distance": 32, "damage": 12}, + {"distance": 64, "damage": 11}, + {"distance": "infinite", "damage": 10} + ] + } + if(id === "create_armorer:cannon_40mm_salamander_data"){ json.bullet.damage = 50; json.bullet.extra_damage.damage_adjust = @@ -166,6 +371,7 @@ const gunDataLogic = (event) => { {"distance": 200, "damage": 50}, {"distance": "infinite", "damage": 45} ] + json.builtin_attachments = {}; json.builtin_attachments.scope = "create_armorer:sight_simple"; } diff --git a/kubejs/server_scripts/tacz/recipes.ammo.js b/kubejs/server_scripts/tacz/recipes.ammo.js index f0aebe5fe..2fbc8f20f 100644 --- a/kubejs/server_scripts/tacz/recipes.ammo.js +++ b/kubejs/server_scripts/tacz/recipes.ammo.js @@ -93,6 +93,13 @@ function registerTACZAmmoRecipes(event){ .duration(20) //Clockwork era + event.recipes.gtceu.assembler('tfg_tacz:rb_small_lv') + .itemInputs('4x #forge:nuggets/lead','2x #forge:foils/copper', '#forge:ingots/brass', + '#forge:dusts/gunpowder') + .itemOutputs(Item.of('tacz:ammo', 4, + '{AmmoId:"create_armorer:rbapb"}')) + .EUt(GTValues.VA[GTValues.LV]) + .duration(20) event.recipes.gtceu.assembler('tfg_tacz:rb_small') .itemInputs('4x #forge:nuggets/lead','2x #forge:foils/copper', '4x tfg:small_bullet_casing', '#forge:dusts/gunpowder') @@ -107,20 +114,36 @@ function registerTACZAmmoRecipes(event){ '{AmmoId:"create_armorer:rbapb"}')) .EUt(GTValues.VA[GTValues.EV]) .duration(20) + event.recipes.gtceu.assembler('tfg_tacz:slap_large') - .itemInputs('4x #forge:nuggets/lead','4x #forge:foils/copper', '4x tfg:large_bullet_casing', + .itemInputs('4x #forge:bolts/lead','4x #forge:foils/copper', '4x tfg:large_bullet_casing', '#forge:dusts/gunpowder') .itemOutputs(Item.of('tacz:ammo', 4, '{AmmoId:"create_armorer:slap"}')) .EUt(GTValues.VA[GTValues.MV]) .duration(20) event.recipes.gtceu.assembler('tfg_tacz:slap_large_nc') - .itemInputs('8x #forge:nuggets/lead','8x #forge:foils/copper', '8x tfg:large_bullet_casing', + .itemInputs('8x #forge:bolts/lead','8x #forge:foils/copper', '8x tfg:large_bullet_casing', 'tfg:nitrocellulose') .itemOutputs(Item.of('tacz:ammo', 8, '{AmmoId:"create_armorer:slap"}')) .EUt(GTValues.VA[GTValues.EV]) .duration(20) + + event.recipes.gtceu.assembler('tfg_tacz:3006_large') + .itemInputs('4x #forge:rods/annealed_copper','4x #forge:foils/copper', '4x tfg:large_bullet_casing', + '#forge:dusts/gunpowder') + .itemOutputs(Item.of('tacz:ammo', 4, + '{AmmoId:"tacz:30_06"}')) + .EUt(GTValues.VA[GTValues.MV]) + .duration(20) + event.recipes.gtceu.assembler('tfg_tacz:3006_large_nc') + .itemInputs('8x #forge:rods/annealed_copper','8x #forge:foils/copper', '8x tfg:large_bullet_casing', + 'tfg:nitrocellulose') + .itemOutputs(Item.of('tacz:ammo', 8, + '{AmmoId:"tacz:30_06"}')) + .EUt(GTValues.VA[GTValues.EV]) + .duration(20) //Certus era diff --git a/kubejs/server_scripts/tacz/recipes.guns.js b/kubejs/server_scripts/tacz/recipes.guns.js index 40d6dda8f..93a60512b 100644 --- a/kubejs/server_scripts/tacz/recipes.guns.js +++ b/kubejs/server_scripts/tacz/recipes.guns.js @@ -70,66 +70,85 @@ function registerTACZGunRecipes(event){ //Region clockwork era event.recipes.gtceu.assembler('tfg_tacz:ca_torque_revo') - .itemInputs('gtceu:steel_small_fluid_pipe', '4x #forge:ingots/aluminium', '2x #forge:plates/brass', + .itemInputs('gtceu:steel_small_fluid_pipe', '4x #forge:ingots/black_steel', '2x #forge:plates/brass', '6x #forge:rings/brass', '2x gtceu:treated_wood_planks', '8x #forge:screws/black_steel', - 'tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 288)) + '3x greate:steel_cogwheel') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 256)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:pistol_revolver_torque",HasBulletInBarrel:1b}')) .circuit(1) + .EUt(GTValues.VA[GTValues.LV]) + .duration(80) + event.recipes.gtceu.assembler('tfg_tacz:ca_stress_pistol') + .itemInputs('gtceu:steel_small_fluid_pipe', '4x #forge:ingots/black_steel', '2x #forge:ingots/aluminium', + '3x #forge:plates/brass', 'gtceu:treated_wood_planks', '12x #forge:screws/black_steel', + '4x #forge:screws/brass', 'tfg:advanced_clockwork_mechanism') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 468)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:pistol_auto_stress",HasBulletInBarrel:1b}')) + .circuit(2) .EUt(GTValues.VA[GTValues.MV]) .duration(80) event.recipes.gtceu.assembler('tfg_tacz:ca_crane') .itemInputs('gtceu:steel_small_fluid_pipe', '7x #forge:ingots/aluminium', '2x #forge:ingots/black_steel', '4x #forge:plates/brass','2x gtceu:copper_tiny_fluid_pipe', '2x gtceu:treated_wood_planks', '2x #forge:small_gears/steel', '14x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 540)) + .inputFluids(Fluid.of('gtceu:soldering_alloy', 684)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"AUTO",GunId:"create_armorer:rifle_assult_crane",HasBulletInBarrel:1b}')) .EUt(GTValues.VA[GTValues.MV]) .duration(100) + event.recipes.gtceu.assembler('tfg_tacz:ca_crank_smg') + .itemInputs('gtceu:steel_small_fluid_pipe', '5x #forge:ingots/aluminium', '5x #forge:plates/brass', + '6x gtceu:steel_tiny_fluid_pipe', '2x gtceu:treated_wood_planks', '2x #forge:small_gears/steel', + '16x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 612)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"AUTO",GunId:"create_armorer:smg_auto_crank",HasBulletInBarrel:1b}')) + .circuit(3) + .EUt(GTValues.VA[GTValues.MV]) + .duration(100) event.recipes.gtceu.assembler('tfg_tacz:ca_pump_bearing') .itemInputs('2x gtceu:steel_small_fluid_pipe', '4x #forge:ingots/aluminium', '4x #forge:plates/brass', '8x gtceu:treated_wood_planks', '#forge:small_gears/steel', '#forge:gears/steel', '16x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 432)) + .inputFluids(Fluid.of('gtceu:soldering_alloy', 504)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:shotgun_pump_bearing",HasBulletInBarrel:0b}')) .EUt(GTValues.VA[GTValues.MV]) - .circuit(3) + .circuit(4) .duration(100) event.recipes.gtceu.assembler('tfg_tacz:ca_clockwork_sniper') - .itemInputs('gtceu:steel_normal_fluid_pipe', '7x #forge:ingots/aluminium', '7x #forge:ingots/black_steel', + .itemInputs('gtceu:steel_normal_fluid_pipe', '6x #forge:ingots/aluminium', '3x #forge:ingots/black_steel', '4x #forge:plates/brass','6x gtceu:copper_tiny_fluid_pipe', '2x gtceu:treated_wood_planks', - '14x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 792)) + '12x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 684)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:sniper_semi_clockwork",HasBulletInBarrel:1b}')) .EUt(GTValues.VA[GTValues.MV]) - .circuit(4) + .circuit(5) .duration(120) event.recipes.gtceu.assembler('tfg_tacz:ca_flywheel_mg') .itemInputs('gtceu:steel_normal_fluid_pipe', '10x #forge:ingots/aluminium', '6x #forge:ingots/black_steel', '6x #forge:plates/brass', 'create:steam_engine', '3x gtceu:steel_tiny_fluid_pipe', '2x gtceu:treated_wood_planks','20x #forge:screws/black_steel', '2x tfg:advanced_clockwork_mechanism') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 936)) + .inputFluids(Fluid.of('gtceu:soldering_alloy', 1008)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:0,GunFireMode:"AUTO",GunId:"create_armorer:mg_platemag_flywheel",HasBulletInBarrel:1b}')) .EUt(GTValues.VA[GTValues.MV]) .duration(160) + event.recipes.gtceu.assembler('tfg_tacz:tacz_m700') + .itemInputs('3x gtceu:steel_small_fluid_pipe', '5x #forge:ingots/aluminium', '4x #forge:plates/black_steel', + '16x gtceu:treated_wood_planks', '16x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism') + .inputFluids(Fluid.of('gtceu:soldering_alloy', 768)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"tacz:m700",HasBulletInBarrel:0b}')) + .EUt(GTValues.VA[GTValues.MV]) + .circuit(6) + .duration(120) //Region certus era - event.recipes.gtceu.assembler('tfg_tacz:aa_pride') - .itemInputs('gtceu:titanium_small_fluid_pipe', '4x #forge:ingots/titanium', '2x #forge:plates/stainless_steel', - '2x #forge:rods/long/titanium', '8x #forge:screws/hsla_steel', 'tfg:certus_mechanism') - .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1152)) - .itemOutputs(Item.of('tacz:modern_kinetic_gun', - '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:niklas_pistol_semi_pride",HasBulletInBarrel:0b}')) - .circuit(2) - .EUt(GTValues.VA[GTValues.EV]) - .duration(80) - event.recipes.gtceu.assembler('tfg_tacz:aa_right') .itemInputs('gtceu:titanium_small_fluid_pipe', '5x #forge:ingots/titanium', '3x #forge:plates/stainless_steel', '#forge:rods/long/titanium', '10x #forge:screws/hsla_steel', 'tfg:certus_mechanism') @@ -139,6 +158,16 @@ function registerTACZGunRecipes(event){ .circuit(1) .EUt(GTValues.VA[GTValues.EV]) .duration(80) + + event.recipes.gtceu.assembler('tfg_tacz:aa_pride') + .itemInputs('gtceu:titanium_small_fluid_pipe', '4x #forge:ingots/titanium', '2x #forge:plates/stainless_steel', + '2x #forge:rods/long/titanium', '8x #forge:screws/hsla_steel', 'tfg:certus_mechanism') + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1152)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:niklas_pistol_semi_pride",HasBulletInBarrel:0b}')) + .circuit(2) + .EUt(GTValues.VA[GTValues.EV]) + .duration(80) event.recipes.gtceu.assembler('tfg_tacz:aa_win_win') .itemInputs('2x gtceu:titanium_small_fluid_pipe', '10x #forge:ingots/titanium', '6x #forge:plates/stainless_steel', @@ -150,6 +179,17 @@ function registerTACZGunRecipes(event){ .EUt(GTValues.VA[GTValues.EV]) .duration(120) + event.recipes.gtceu.assembler('tfg_tacz:aa_k30') + .itemInputs('2x gtceu:titanium_small_fluid_pipe', '8x #forge:ingots/titanium', '2x #forge:ingots/magnalium', + '8x #forge:plates/stainless_steel', '3x #forge:rods/long/hsla_steel', '2x tfc:lens', + '24x #forge:screws/hsla_steel', 'tfg:certus_mechanism') + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1728)) + .itemOutputs(Item.of('tacz:modern_kinetic_gun', + '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:moritz_sniper_semi_k30",HasBulletInBarrel:0b}')) + .circuit(4) + .EUt(GTValues.VA[GTValues.EV]) + .duration(220) + event.recipes.gtceu.assembler('tfg_tacz:aa_ar') .itemInputs('gtceu:titanium_small_fluid_pipe', '10x #forge:ingots/titanium', '5x #forge:plates/stainless_steel', '2x #forge:rods/long/hsla_steel', '2x tfc:lens', '20x #forge:screws/hsla_steel', @@ -172,16 +212,16 @@ function registerTACZGunRecipes(event){ .EUt(GTValues.VA[GTValues.EV]) .duration(180) - event.recipes.gtceu.assembler('tfg_tacz:aa_k30') - .itemInputs('2x gtceu:titanium_small_fluid_pipe', '8x #forge:ingots/titanium', '2x #forge:ingots/magnalium', - '8x #forge:plates/stainless_steel', '3x #forge:rods/long/hsla_steel', '2x tfc:lens', - '24x #forge:screws/hsla_steel', 'tfg:certus_mechanism') - .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 1728)) + event.recipes.gtceu.assembler('tfg_tacz:aa_freedom') + .itemInputs('gtceu:titanium_small_fluid_pipe', '7x #forge:ingots/titanium', '4x #forge:plates/stainless_steel', + '2x #forge:rods/long/hsla_steel', '2x tfc:lens', '16x #forge:screws/hsla_steel', + 'tfg:certus_mechanism') + .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 2160)) .itemOutputs(Item.of('tacz:modern_kinetic_gun', - '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:moritz_sniper_semi_k30",HasBulletInBarrel:0b}')) - .circuit(4) + '{GunCurrentAmmoCount:0,GunFireMode:"AUTO",GunId:"applied_armorer:niklas_smg_freedom",HasBulletInBarrel:1b}')) + .circuit(7) .EUt(GTValues.VA[GTValues.EV]) - .duration(220) + .duration(160) event.recipes.gtceu.assembler('tfg_tacz:aa_gl') .itemInputs('gtceu:tungsten_steel_normal_fluid_pipe', '12x #forge:ingots/titanium', '6x #forge:plates/stainless_steel', diff --git a/kubejs/startup_scripts/tacz/constants.js b/kubejs/startup_scripts/tacz/constants.js index 319b52e24..ae2892684 100644 --- a/kubejs/startup_scripts/tacz/constants.js +++ b/kubejs/startup_scripts/tacz/constants.js @@ -134,7 +134,7 @@ global.TACZ_AMMO_INDEX = [ 'tacz:357mag', 'tacz:46x30', 'tacz:57x28', - 'tacz:30x06', + 'tacz:30_06', 'tacz:50ae', 'tacz:45_70', 'tacz:762x25', @@ -346,12 +346,14 @@ global.TACZ_ENABLED_GUNS = [ //Pistol 'ulv_guns:flintlock', 'create_armorer:pistol_revolver_torque', + 'create_armorer:pistol_auto_stress', 'applied_armorer:niklas_pistol_semi_right', 'applied_armorer:niklas_pistol_semi_pride', 'applied_armorer:niklas_pistol_double_win_win', //Sniper 'tacz:springfield1873', + 'tacz:m700', 'create_armorer:sniper_semi_clockwork', 'applied_armorer:moritz_sniper_semi_k30', @@ -367,7 +369,8 @@ global.TACZ_ENABLED_GUNS = [ 'tacz:db_long', //SMG - + 'create_armorer:smg_auto_crank', + 'applied_armorer:niklas_smg_freedom', //Heavy 'create_armorer:mg_platemag_flywheel', @@ -380,6 +383,7 @@ global.TACZ_ENABLED_GUNS = [ global.TACZ_ENABLED_AMMO = [ 'tacz:12g', 'tacz:45_70', + 'tacz:30_06', 'create_armorer:slap', 'create_armorer:rbapb', 'create_armorer:40mmhe', diff --git a/tacz/TACZ_CHANGELOG.md b/tacz/TACZ_CHANGELOG.md new file mode 100644 index 000000000..49e0d5b08 --- /dev/null +++ b/tacz/TACZ_CHANGELOG.md @@ -0,0 +1,133 @@ +# TACZ CHANGELOG +## TFG Version 0.11.9 +## Additions + +### "Clutch" Sniper Rifle +- True MV tier marksman Rifle +- Uses new .30-06 SLAP Ammo +- Stats + - Damage: 32 + - Ammo Capacity: 3 + - Armor Piercing: 50% + - Headshot Multi: 175% + +### "Stress" Semi Pistol +- MV tier Pistol +- Uses Rimmed Blunt Ammo +- Stats + - Damage: 8 + - Ammo Capacity: 26 + - Armor Piercing: 25% + - Headshot Multi: 120% + +### "Crank" SMG +- MV tier SMG +- Uses Rimmed Blunt Ammo +- Stats + - Damage: 8 + - Ammo Capacity: 26 + - Armor Piercing: 25% + - Headshot Multi: 120% + +### Freedom SMG +- EV tier SMG +- Uses Etched Quartz Bullets +- Stats + - Damage: 10 + - Ammo Capacity: 36 + - Armor Piercing: 25% + - Headshot Multi: 150% +## Balance Changes +## Pistols +### "Torque" Revolver +- Tier: MV -> LV +- Damage: 18 -> 12 +- Damage Falloff: + - 0-25: 18 -> 12 + - 25-50: 17 -> 11 + - 50-75: 16 -> 9 + - 75+: 16 -> 7 +- Armor Pierce: 40% -> 25% +- Headshot Multi: 200% -> 150% + +### Pride Pistol +- Armor Pierce: 20% -> 25% + +### Win-Win Pistols +- Damage: 9 -> 10 +- Damage Falloff: + - 0-15: 9 -> 10 + - 15-35: 8 -> 9 + - 35+: 7 -> 8 +- Armor Pierce: 10% -> 25% +- Headshot Multi: 125% -> 150% + +## Snipers + +### Springfield Sniper +- Damage: 35 -> 25 +- Damage Falloff: + - 0-40: 35 -> 25 + - 40-70: 28 -> 21 + - 70-100: 19 -> 17 + - 100+: 16 -> 12 + +### K30 Sniper +- Damage: 45 -> 40 +- Damage Falloff: + - 0-100: 45 -> 40 + - 100-200: 43 -> 35 + - 200+: 38 -> 30 +- Armor Pierce: 50% -> 55% +- Pierce: 3 -> 4 + +## Rifles + +### "Clockwork" Rifle +- Designation: Sniper -> Rifle +- Ammo: Rimmed Blunt -> SLAP +- Ammo Count: + - Base: 8 -> 10 + - Extend 1: 10 -> 13 + - Extend 2: 12 -> 16 + - Extend 3: 14 -> 20 +- Headshot Multi: 200% -> 150% + +### "Crane" Assault Rifle +- Ammo Count: + - Base: 10 -> 20 + - Extend 1: 20 -> 28 + - Extend 2: 30 -> 36 + - Extend 3: 40 -> 44 + +### AR77 Rifle +- Ammo Count: + - Base: 20 -> 25 + - Extend 1: 27 -> 36 + - Extend 2: 34 -> 45 + - Extend 3: 40 -> 52 +- Damage: 13 -> 14 +- Damage Falloff: + - 0-80: 13 -> 14 + - 80-160: 11 -> 12 + - 160+: 9 -> 10 + +## Machine Guns + +### "Flywheel" Machine Gun +- Ammo Count: + - Base: 50 -> 40 + - Extend 1: 65 -> 55 + - Extend 2: 80 -> 80 + - Extend 3: 100 -> 115 +- Fire Rate: 600 -> 650 +- Damage: 13 -> 12 +- Damage Falloff: + - 0-32: 13 -> 12 + - 32-64: 12 -> 11 + - 64+: 10 -> 10 + +## Ammo + +### SLAP Ammo +- Lead Nuggets -> Lead Bolts \ No newline at end of file diff --git a/tacz/ulv_guns.zip b/tacz/ulv_guns.zip index 074c170d96e907e7a2900d34c43cf565c656e97c..c58813fc3e9a61b17f15f0e9fc7bf71e6c3d8e34 100644 GIT binary patch delta 7396 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