Skip to content

Commit

Permalink
Weaponfactory cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
hitscanner43 committed Jan 23, 2025
1 parent 3969e6f commit 9740507
Showing 1 changed file with 47 additions and 285 deletions.
332 changes: 47 additions & 285 deletions lua/weaponfactorytweakdata.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,51 @@
Hooks:PostHook(WeaponFactoryTweakData, "init", "eclipse__init", function(self)
local stat_blacklist = {
"foregrip",
"extra",
"grip",
"stock",
"lower_body",
"body",
"vertical_grip",
"lower_reciever",
"upper_reciever",
"drag_handle",
"bolt",
"slide",
"gadget",
}

for id, part in pairs(self.parts) do
if table.contains(stat_blacklist, part.type) then
part.stats = {}
part.custom_stats = {}
end

if part.stats then
if part.perks and table.contains(part.perks, "silencer") then
part.stats.suppression = 10
part.stats.alert_size = -12
elseif part.stats.suppression then
part.stats.suppression = 0
end

if part.perks and table.contains(part.perks, "scope") then
part.stats.concealment = -1
part.stats.recoil = 1
end

if part.stats.spread_moving then
part.stats.spread_moving = 0
end

if part.type == "magazine" and id:match("_quick") or id:match("_speed") then
part.stats = {}
part.stats.concealment = -1
part.stats.reload = 2
end
end
end

-- SHOTGUNS --
local shotgun_ammo_type_overrides = {
triple_aught = {
Expand Down Expand Up @@ -359,97 +406,6 @@ Hooks:PostHook(WeaponFactoryTweakData, "init", "eclipse__init", function(self)
wpn_fps_upg_a_dragons_breath = shotgun_ammo_type_overrides.dragons_breath.very_heavy,
}

-- SNIPERS --
local sniper_silencer_stats_weak = { damage = -4, recoil = 1, spread = 1, concealment = -2, suppression = 12 }
local sniper_silencer_stats_mid = { damage = -8, recoil = 1, spread = 1, concealment = -2, suppression = 12 }
local sniper_silencer_stats_strong = { damage = -12, recoil = 1, spread = 1, concealment = -2, suppression = 12 }

-- Contractor
self.parts.wpn_fps_snp_tti_ns_hex.stats = sniper_silencer_stats_weak

-- Grom
self.parts.wpn_fps_snp_siltstone_ns_variation_b.stats = { recoil = 1, spread = 1, concealment = -1 }
self.parts.wpn_fps_snp_siltstone_b_silenced.stats = sniper_silencer_stats_weak

-- Lebensauger
self.parts.wpn_fps_snp_wa2000_b_long.stats.concealment = -1
self.parts.wpn_fps_snp_wa2000_b_suppressed.stats = sniper_silencer_stats_weak

-- Rattlesnake
self.parts.wpn_fps_snp_msr_b_long.stats = { recoil = 2, concealment = -2 }
self.parts.wpn_fps_snp_msr_ns_suppressor.stats = sniper_silencer_stats_mid

-- R700
self.parts.wpn_fps_snp_r700_s_military.stats = { total_ammo_mod = 3, concealment = -1 }
self.parts.wpn_fps_snp_r700_s_tactical.stats = { recoil = 1, concealment = -1 }
self.parts.wpn_fps_snp_r700_b_medium.stats = sniper_silencer_stats_mid

-- Repeater
self.parts.wpn_fps_snp_winchester_b_long.stats.concealment = -1
self.parts.wpn_fps_snp_winchester_b_suppressed.stats = sniper_silencer_stats_mid

-- Desert Fox
self.parts.wpn_fps_snp_desertfox_b_long.stats.concealment = -2
self.parts.wpn_fps_snp_desertfox_b_silencer.stats = sniper_silencer_stats_strong

-- Nagant
self.parts.wpn_fps_snp_mosin_body_black.stats = {} -- it's just a recolor, why give it stats
self.parts.wpn_fps_snp_mosin_b_short.stats = { recoil = -1, spread = -1, concealment = 2 }
self.parts.wpn_fps_snp_mosin_b_standard.stats = { recoil = 1, spread = 1, concealment = -2 }
self.parts.wpn_fps_snp_mosin_b_sniper.stats = sniper_silencer_stats_strong
self.parts.wpn_fps_snp_mosin_ns_bayonet.stats = {
min_damage = 24,
concealment = -2,
min_damage_effect = 1.75,
max_damage_effect = 1.75,
value = 1,
max_damage = 24,
}

-- R93
self.parts.wpn_fps_snp_r93_body_wood.stats = {} -- tbh similar deal
self.parts.wpn_fps_snp_r93_b_short.stats = { recoil = -1, spread = -1, concealment = 2 }
self.parts.wpn_fps_snp_r93_b_suppressed.stats = sniper_silencer_stats_strong

-- Platypus
self.parts.wpn_fps_snp_model70_ns_suppressor.stats = sniper_silencer_stats_strong
self.parts.wpn_fps_snp_model70_s_legend.stats = {}

-- AWP
self.parts.wpn_fps_snp_awp_conversion_dragonlore.stats = {}
self.parts.wpn_fps_snp_awp_conversion_dragonlore.custom_stats = {}
self.parts.wpn_fps_snp_awp_conversion_wildlands.stats = {}

-- Thanatos
self.parts.wpn_fps_snp_m95_barrel_short.stats = { recoil = -4, spread = -1, concealment = 3 }
self.parts.wpn_fps_snp_m95_barrel_long.stats = { recoil = 4, spread = 2, concealment = -4 }
self.parts.wpn_fps_snp_m95_barrel_suppressed.stats = sniper_silencer_stats_strong

-- Rangehitter
self.parts.wpn_fps_snp_sbl_b_long.stats.recoil = 0
self.parts.wpn_fps_snp_sbl_b_short.stats = sniper_silencer_stats_weak
self.parts.wpn_fps_snp_sbl_s_saddle.stats.total_ammo_mod = 3

-- Scout
self.parts.wpn_fps_snp_scout_ns_suppressor.stats = sniper_silencer_stats_mid
self.parts.wpn_fps_snp_scout_bolt_speed.stats = { fire_rate = 2, spread = -1, concealment = -1 }
self.parts.wpn_fps_snp_scout_s_pads_none.stats = { recoil = -2, concealment = 2 }
self.parts.wpn_fps_snp_scout_conversion.stats = {}

-- North Star
self.parts.wpn_fps_snp_victor_ns_omega.stats = sniper_silencer_stats_weak
self.parts.wpn_fps_snp_victor_g_mod3.stats.concealment = -1
self.parts.wpn_fps_m4_uupg_s_zulu.stats = { concealment = 2, recoil = -2 }
self.parts.wpn_fps_snp_victor_sbr_kit.stats = { recoil = -1, spread = -2, concealment = 3 }

-- Aran
self.parts.wpn_fps_snp_contender_barrel_long.stats = { recoil = 1, spread = 1, concealment = -1 }
self.parts.wpn_fps_snp_contender_barrel_short.stats = { recoil = -2, spread = -1, concealment = 2 }
self.parts.wpn_fps_snp_contender_frontgrip_long.stats = { recoil = 2, concealment = -1 }
self.parts.wpn_fps_upg_m4_g_contender.stats = { spread = 2, recoil = 1, concealment = -2 }
self.parts.wpn_fps_snp_contender_conversion.stats = { recoil = -4, spread = 1, damage = 500, concealment = -8, total_ammo_mod = -10 }
self.parts.wpn_fps_snp_contender_conversion.custom_stats = { ammo_pickup_max_mul = 0.65 }

-- DMRs (& Kits) --
-- ak family
self.parts.wpn_fps_upg_ass_ak_b_zastava.custom_stats = { can_shoot_through_enemy = true, armor_piercing_add = 1, ammo_pickup_min_mul = 0.5, ammo_pickup_max_mul = 0.375 }
Expand Down Expand Up @@ -507,107 +463,6 @@ Hooks:PostHook(WeaponFactoryTweakData, "init", "eclipse__init", function(self)

-- STILL NEED TO ORGANIZE EVERYTHING BELOW CAUSE HOLY IT IS BAD --

-- Secondary Sights
self.parts.wpn_fps_upg_o_sig.stats.recoil = 0
self.parts.wpn_fps_upg_o_45rds.stats.recoil = 0
self.parts.wpn_fps_upg_o_45rds_v2.stats.recoil = 0
self.parts.wpn_fps_upg_o_45steel.stats.concealment = 0
self.parts.wpn_fps_upg_o_xpsg33_magnifier.stats.recoil = 0

-- Weapon-Specific Stuff
-- mp5 straight mag
self.parts.wpn_fps_smg_mp5_m_straight.stats.total_ammo_mod = -5
self.parts.wpn_fps_smg_mp5_m_straight.custom_stats = { ammo_pickup_max_mul = 0.8 }
-- union short barrel
self.parts.wpn_fps_ass_corgi_b_short.stats.spread = -1
-- bipod nerf
self.parts.wpn_fps_upg_bp_lmg_lionbipod.stats.recoil = -1
-- Commando 553 modifications
self.parts.wpn_fps_ass_s552_body_standard_black.stats = { spread = 0, recoil = -2, concealment = 2 }
self.parts.wpn_fps_ass_s552_b_long.stats = { spread = 2, concealment = -2 }
self.parts.wpn_fps_ass_s552_fg_standard_green.stats = { concealment = 2, spread = -1, recoil = -1 }
self.parts.wpn_fps_ass_s552_fg_railed.stats = { concealment = -3, recoil = 2, spread = 2 }
self.parts.wpn_fps_ass_s552_g_standard_green.stats = { spread = 1, recoil = 1 }
-- Falcon modifications
self.parts.wpn_fps_ass_fal_s_01.stats = { recoil = -2, concealment = 2 }
self.parts.wpn_fps_ass_fal_s_wood.stats = { recoil = 3, concealment = -2 }
self.parts.wpn_fps_ass_fal_g_01.stats = { recoil = 1, spread = -2, concealment = 2 }
-- Akron stuff
self.parts.wpn_fps_lmg_hcar_barrel_dmr.stats = { extra_ammo = -5, total_ammo_mod = -10, damage = 20, value = 3 }
self.parts.wpn_fps_lmg_hcar_barrel_dmr.custom_stats = { ammo_pickup_max_mul = 0.8, ammo_pickup_min_mul = 0.8 }
self.parts.wpn_fps_lmg_hcar_body_conversionkit.stats = { extra_ammo = 40, total_ammo_mod = 20, damage = -40, value = 1, spread = 1, recoil = 1, fire_rate = 1.667 }
self.parts.wpn_fps_lmg_hcar_body_conversionkit.custom_stats = { ammo_pickup_max_mul = 2.25, ammo_pickup_min_mul = 2.25, fire_rate_multiplier = 1.667 }
-- campbell stuff
self.parts.wpn_fps_lmg_kacchainsaw_b_long.stats = { spread = 1, recoil = -1 }
self.parts.wpn_fps_lmg_kacchainsaw_b_short.stats = { spread = -1, recoil = 1 }
self.parts.wpn_fps_lmg_kacchainsaw_conversionkit.stats = { damage = 40, recoil = -2, spread = 2 }
self.parts.wpn_fps_lmg_kacchainsaw_conversionkit.custom_stats = { fire_rate_multiplier = 0.6, ammo_pickup_max_mul = 0.83 }

-- Weapon Magazines

-- Speedpull
self.parts.wpn_fps_m4_upg_m_quick.stats = { concealment = -1, reload = 1 }
self.parts.wpn_fps_upg_ak_m_quick.stats = { concealment = -1, reload = 1 }
self.parts.wpn_fps_ass_g36_m_quick.stats = { concealment = -1, reload = 1 }
self.parts.wpn_fps_ass_aug_m_quick.stats = { concealment = -1, reload = 1 }
self.parts.wpn_fps_smg_sr2_m_quick.stats = { concealment = -1, reload = 1 }
self.parts.wpn_fps_smg_mac10_m_quick.stats = { concealment = -1, reload = 1 }
self.parts.wpn_fps_smg_p90_m_strap.stats = { concealment = -1, reload = 1 }
self.parts.wpn_fps_smg_fmg9_m_speed.stats = { concealment = -1, reload = 1 }
self.parts.wpn_fps_snp_awp_m_speed.stats = { concealment = -1, reload = 1 }
-- L5
self.parts.wpn_fps_upg_m4_m_l5.stats = { concealment = -1, recoil = 1 }
-- Expert
self.parts.wpn_fps_ass_l85a2_m_emag.stats = { concealment = -1, spread = 1 }
-- Quad
self.parts.wpn_fps_upg_m4_m_quad.stats = { extra_ammo = 15, reload = -2, concealment = -3 }
self.parts.wpn_fps_upg_ak_m_quad.stats = { extra_ammo = 15, reload = -2, concealment = -3 }
-- Tactical
self.parts.wpn_fps_upg_m4_m_pmag.stats = { value = 2, concealment = -2, recoil = 1, spread = 1 }
-- Vintage
self.parts.wpn_fps_upg_m4_m_straight.stats = { concealment = 1, extra_ammo = -3 }
-- Milspec
self.parts.wpn_fps_m4_uupg_m_std.stats = { concealment = -1, extra_ammo = 3 }
-- Low Drag
self.parts.wpn_fps_upg_ak_m_uspalm.stats = { concealment = -2, recoil = 1, spread = 1 }
-- Extended Falcon
self.parts.wpn_fps_ass_fal_m_01.stats = { extra_ammo = 10, concealment = -2 }
-- Extended Kang Arms
self.parts.wpn_fps_snp_qbu88_m_extended.stats = { concealment = -2, extra_ammo = 5 }
-- Signature SMG extended
self.parts.wpn_fps_smg_shepheard_mag_extended.stats = { extra_ammo = 5, concealment = -1 }

-- Gadgets
-- Military Laser module
self.parts.wpn_fps_upg_fl_ass_peq15.stats.recoil = 0
self.parts.wpn_fps_upg_fl_ass_peq15.stats.spread = 2
-- Tactical Laser module
self.parts.wpn_fps_upg_fl_ass_smg_sho_peqbox.stats.concealment = 0
-- Assault Light
self.parts.wpn_fps_upg_fl_ass_smg_sho_surefire.stats.concealment = 0
-- extra mag for stryk
self.parts.wpn_fps_pis_g18c_m_mag_33rnd.stats.reload = -1
self.wpn_fps_pis_x_g18c.override.wpn_fps_pis_g18c_m_mag_33rnd.stats.reload = -1
self.parts.wpn_fps_pis_czech_m_extended.stats.reload = -1
self.wpn_fps_pis_x_czech.override.wpn_fps_pis_czech_m_extended.stats.reload = -1

-- Conversion kits
-- wasp exclusive kit
self.parts.wpn_fps_smg_fmg9_conversion.stats.recoil = 1
self.parts.wpn_fps_smg_fmg9_conversion.stats.spread = 1

-- mcshay pack
self.parts.wpn_fps_upg_ak_body_upperreceiver_zenitco.stats = { value = 3, concealment = -1, damage = 3, spread = -2 }
self.parts.wpn_fps_m4_uupg_m_strike.stats = { value = 1, extra_ammo = 4, concealment = -2 }
self.parts.wpn_fps_m4_uupg_upper_radian.stats = { value = 3, spread = 1, recoil = 2 }
self.parts.wpn_fps_m4_uupg_lower_radian.stats = { value = 1, recoil = 1 }
self.parts.wpn_fps_uupg_fg_radian.stats = { value = 1, recoil = 2, spread = 1, damage = 2, concealment = -1 }
self.parts.wpn_fps_m4_uupg_g_billet.stats = { value = 6, spread = 1, recoil = 1 }
self.parts.wpn_fps_upg_ak_ns_zenitco.stats = { value = 1, concealment = -1, damage = 3, spread = 2, recoil = 1 }
self.wpn_fps_ass_m16.override.wpn_fps_uupg_fg_radian = { stats = { recoil = 1, concealment = 2 } }

-- Specials

-- Flamethrower Tanks
-- MK1
self.parts.wpn_fps_fla_mk2_mag_rare.stats.damage = -10
Expand Down Expand Up @@ -646,99 +501,6 @@ Hooks:PostHook(WeaponFactoryTweakData, "init", "eclipse__init", function(self)
self.parts.wpn_fps_bow_arblast_m_explosive.stats.damage = 0 -- apparently none of this matters cause of some vanilla bs
self.parts.wpn_fps_bow_arblast_m_poison.stats = { damage = -20 } -- same thing

-- Barrel Extentions

-- Suppressors
-- Medium & Rami
self.parts.wpn_fps_upg_ns_ass_smg_medium.stats = { alert_size = 12, damage = -3, recoil = 1, spread = 1, concealment = -1 }
self.parts.wpn_fps_lmg_kacchainsaw_ns_suppressor.stats = { alert_size = 12, damage = -3, recoil = 1, spread = 1, concealment = -1 }
-- PBS
self.parts.wpn_fps_upg_ns_ass_pbs1.stats.spread = 2
self.parts.wpn_fps_upg_ns_ass_pbs1.stats.concealment = -3
-- Tooth Fairy (cavity)
self.parts.wpn_fps_ass_sub2000_fg_suppressed.stats.damage = -5
-- KS12-S Long Silencer
self.parts.wpn_fps_ass_shak12_ns_suppressor.stats.damage = -3
-- K-B100 Suppressor (ketchnov)
self.parts.wpn_fps_ass_groza_b_supressor.stats.damage = -1
-- Silent Killer
self.parts.wpn_fps_upg_ns_shot_thick.stats.damage = -2
-- Shh
self.parts.wpn_fps_upg_ns_sho_salvo_large.stats.damage = -2
-- Silenced Barrel (lion's roar)
self.parts.wpn_fps_ass_vhs_b_silenced.stats.damage = -2
-- Stealth Barrel (car-4)
self.parts.wpn_fps_m4_uupg_b_sd.stats.damage = -3
-- Roctec
self.parts.wpn_fps_upg_ns_pis_medium_gem.stats.damage = -2
-- Champion's
self.parts.wpn_fps_upg_ns_pis_large_kac.stats.damage = -2
-- Standard issue
self.parts.wpn_fps_upg_ns_pis_medium.stats.damage = -2
-- Size doesn't matter
self.parts.wpn_fps_upg_ns_pis_small.stats.damage = -3
-- Monolith
self.parts.wpn_fps_upg_ns_pis_large.stats.damage = -2
-- Asepsis
self.parts.wpn_fps_upg_ns_pis_medium_slim.stats.damage = -2
-- Budget
self.parts.wpn_fps_upg_ns_ass_filter.stats.damage = -2
-- Jungle Ninja
self.parts.wpn_fps_upg_ns_pis_jungle.stats.damage = -3
-- Ninja Barrel (mp5)
self.parts.wpn_fps_smg_mp5_fg_mp5sd.stats.damage = -2
-- Silentgear (jackal)
self.parts.wpn_fps_smg_schakal_ns_silencer.stats.damage = -2
-- BY90 Wide (akgen)
self.parts.wpn_fps_smg_vityaz_b_supressed.stats.damage = -2
-- Silenced Barrel (streetsweeper)
self.parts.wpn_fps_sho_striker_b_suppressed.stats.damage = -2
-- Silenced Barrel (goliath)
self.parts.wpn_fps_sho_rota_b_silencer.stats.damage = -3

-- Compensators / Nozzles / Muzzles
-- Stubby
self.parts.wpn_fps_upg_ns_ass_smg_stubby.stats.damage = 3
self.parts.wpn_fps_upg_ns_ass_smg_stubby.stats.spread = 3
self.parts.wpn_fps_upg_ns_ass_smg_stubby.stats.concealment = -1
-- Tank
self.parts.wpn_fps_upg_ns_ass_smg_tank.stats.damage = 2
self.parts.wpn_fps_upg_ns_ass_smg_tank.stats.recoil = 3
self.parts.wpn_fps_upg_ns_ass_smg_tank.stats.spread = 3
-- Fire Breather
self.parts.wpn_fps_upg_ns_ass_smg_firepig.stats.spread = 2
self.parts.wpn_fps_upg_ns_ass_smg_firepig.stats.recoil = 3
self.parts.wpn_fps_upg_ns_ass_smg_firepig.stats.suppression = -9
-- Competitors Compensator
self.parts.wpn_fps_upg_ass_ns_jprifles.stats.spread = 2
self.parts.wpn_fps_upg_ass_ns_jprifles.stats.recoil = 4
-- Funnel of Fun
self.parts.wpn_fps_upg_ass_ns_linear.stats.recoil = 2
self.parts.wpn_fps_upg_ass_ns_linear.stats.spread = 2
self.parts.wpn_fps_upg_ass_ns_linear.stats.suppression = -9
-- Tactical
self.parts.wpn_fps_upg_ass_ns_surefire.stats.recoil = 2
self.parts.wpn_fps_upg_ass_ns_surefire.stats.spread = 4
self.parts.wpn_fps_upg_ass_ns_surefire.stats.suppression = -1
-- Ported
self.parts.wpn_fps_upg_ass_ns_battle.stats.concealment = 0
self.parts.wpn_fps_upg_ass_ns_battle.stats.recoil = 2
self.parts.wpn_fps_upg_ass_ns_battle.stats.spread = 2
self.parts.wpn_fps_upg_ass_ns_battle.stats.damage = -3
-- Marmon
self.parts.wpn_fps_upg_ns_ass_smg_v6.stats.concealment = -2
self.parts.wpn_fps_upg_ns_ass_smg_v6.stats.recoil = 3
self.parts.wpn_fps_upg_ns_ass_smg_v6.stats.spread = 3
-- KS12-A Burst Muzzle
self.parts.wpn_fps_ass_shak12_ns_muzzle.stats.concealment = 0
self.parts.wpn_fps_ass_shak12_ns_muzzle.stats.suppression = -7
-- DHL
self.parts.wpn_fps_upg_ns_duck.stats.recoil = -3
self.parts.wpn_fps_upg_ns_duck.stats.suppression = -5
self.parts.wpn_fps_upg_ns_duck.stats.concealment = -4
-- hailstorm loud ext
self.parts.wpn_fps_hailstorm_b_extended.stats = { value = 1, concealment = -2, damage = 1, spread = 3, recoil = 2 }

-- misc
table.delete(self.wpn_fps_sho_sko12.uses_parts, "wpn_fps_upg_i_singlefire")
table.delete(self.wpn_fps_sho_sko12.uses_parts, "wpn_fps_upg_i_autofire")
Expand Down

0 comments on commit 9740507

Please sign in to comment.