if not Global.game_settings.single_player then
  log("You're in a online game. AutoRevive has been disabled.")
  return
else log("You're playing offline/single player. Enjoy AutoRevive!")
end

Hooks:PostHook( WeaponTweakData, "init", "ThisFileEditsWeaponStats", function(self)  --replace "ThisFileEditsWeaponStats" with the name of this file

self.ppk.CLIP_AMMO_MAX = 1000000000 --magazine size.
self.ppk.AMMO_MAX = 1000000000 --total ammo.
self.ppk.fire_mode_data.fire_rate = 1 / 30 --firerate. Replace x with your desired firerate.
self.ppk.stats.damage = 1000000000 --damage. the maximum vanilla value is 210. some weapons, however, mostly sniper rifles and explosives, have a damage multiplier that enables them to raise the damage above 210. remember to factor it in if you choose to rebalance these. additionally, changing this stat won't affect the actual damage dealt by explosives. in their case, the damage stat exists only for display, and the actual damage is handled by the projectile.
self.ppk.stats.spread = 1000000000 --accuracy, gets multiplied by 4 and 4 is subtracted (for example 10 spread = 36 accuracy).
self.ppk.stats.recoil = 1000000000 --stability, gets multiplied by 4 and 4 is subtracted (for example 10 recoil = 36 stability).
self.ppk.stats.suppression = 20 --threat, the distance on which enemies are suppressed by your gun, meaning they duck and jump for cover. 1 is the maximum value (43), 20 is the minimum value (0).
self.ppk.stats.concealment = 100000 --concealment. The max value is 30, but it can be increased above that with attachments.
self.ppk.stats.reload = 20 --the time it takes the weapon to reload. 11 is the default value, meaning it's 100% of the default reload time. values higher than 11 will result in faster reload times, and the max value is 20. values lower than 11 will result in slower reload times, and the minimum value is 1. because the reload times are different for each gun and because of how the values can be rounded, it's hard to say how big is the difference between 11 and 12, or 11 and 10. experiment with different values until you feel like the reload time is in a good place.
self.ppk.damage_falloff = SNIPER_FALL_VERYHIGH --damage falloff template name here. templates are defined in weaponfallofftweakdata.lua. list of templates in the list provided.

self.ppk.stats_modifiers = {damage = 1000000000} --damage multiplier. used for sniper rifles and the displayed stat of explosives. the weapon damage as defined above will be modified by the value put in in place of x.

self.ppk.AMMO_PICKUP = {1000000, 1000000} --ammo pickup is randomized between the two values.
self.ppk.can_shoot_through_enemy = true --true or false.
self.ppk.can_shoot_through_wall = true --true or false.
self.ppk.can_shoot_through_shield = true --true or false.
self.ppk.armor_piercing_chance = 1 --1 for always piercing, 0 for no piercing. can be any value inbetween for a chance of piercing.
self.ppk.stats.alert_size = 20 --the distance at which your gun shots are audible, matters only really in stealth. similarly to suppression, 1 is the maximum value, 20 is the minimum value (the gun is quiet as far as the game is concerned). distance table below.
self.ppk.FIRE_MODE = "auto" --either auto or single.
self.ppk.CAN_TOGGLE_FIREMODE = true --either true or false.

end )