Stat info
On this page, you can read about the different stats shown on this site in detail; both what the stats are, how they affect gameplay and occationally how they are calculated. You won't find info on stats i believe to be self-explanatory though.
DPS
DPS is a good indicator of a character's damage output and general performance. In addition, there's the max sustainable DPS, and the RoF used to calculate this includes reloading and overheating. It's important to note that DPS includes DoT, but splash DPS doesn't.
Damage
Damage per shot is the damage dealt per shot on a direct hit. This is the sum of both impact, splash, spray, and cloud damage.
Impact damage
This is the damage dealt on direct impact and can be dealt by both missiles and bullets. Impact damage dealt by missiles will always be dealt to the shield of shielded plants and zombies and hit detection is server side. Impact damage dealt by bullets however has some weird rounding equal to adding 0.05 and rounding to the nearest tenth, so 9 damage gets “rounded” to 9.1, 4.48 to 4.5, etc.
Many variants also have damage falloff. If the distance the projectile travels is less than the falloff start distance, the impact damage start is deal. If the distance traveled is more than the falloff end distance, then the impact damage end is dealt. For missiles there is no end damage, just an end multiplier instead. Between the falloff start and end distance the damage drops linearly. What complicates this however, is that the distance the projectile travels is not the same as the distance to the target. For every weapon in the game apart from Petrified Cactus and S.H.R.Imp Mech, the projectile spawns at the camera location unless an enemy is within 3 meters. The camera is situated ∽3 meters behind the character depending on the class. Therefore, I have calculated effective falloff distances which are used instead of the normal falloff distances if the distance is more than 3 meters.
Splash damage
Splash damage has the exact same weird rounding as impact damage for bullets. The damage falloff for missiles also effects splash damage, although for some reason the splash damage starts dropping off ∽5 meters earlier than the impact damage for Tank Commander and Scuba Soldier.
Within the inner blast radius, the max splash damage is dealt. Between the inner blast radius and the blast radius, the splash damage drops to the shockwave damage. If the inner blast radius is smaller than 2 meters, then the behavior is very odd, and I can’t explain it. For most variants, the shockwave damage is 1, however Captain Sharkbite’s and Jade Cactus’ shockwave damage is 0. There is also a shockwave radius and between it and the blast radius, the shockwave damage is dealt, which can travel through walls. I have chosen to not display the shockwave radii and shockwave damage anywhere since the shockwave radii are usually really close to the blast radii which makes them largely irrelevant.
Splash damage from missiles can also be affected by damage upgrades which is the case for roses, but this only happens if the missile travels for more than 0.1 seconds.
Spray damage
Just like damage dealt by missiles, spray damage is not rounded. Spray damage is dealt to all enemies within a certain area. This area is shaped like a trapezoid with a length, near side width and a far side width. I chose to display the area of the trapezoid instead of the near and far side widths.
Damage Cloud
Cloud damage is something which is very hard to accurately account for when calculating DPS. If you include the max amount of cloud damage, you’ll get wildly inflated values that aren’t really accurate to any in-game scenarios. Even against stationary targets, the cloud damage from each shot will be dealt over a timespan of ∽2 seconds, so the damage dealt the first 2 seconds, will be considerably lower than what the DPS would suggest. Regardless, most players you’ll shoot won’t just sit in the cloud unless they’re using a turreted ability. In those cases, you’ll do very little or sometimes no cloud damage whatsoever. On the other hand, not including the cloud damage at all is obviously not accurate either. But I believe I’ve come up with an excellent middle ground by calculating the number of cloud ticks against moving targets. I’ve chosen a relatively slow speed of 3m/s. This is done by simply dividing the radius of cloud by 3 and setting that as the despawn delay of the cloud. The despawn delay is the time between the bullet impacting and despawning.
However, there is some seemingly weird behavior with how the number of cloud ticks is calculated. I’m talking about how the DPS suddenly increases at ∽61 meters. With Park Ranger, the first cloud tick happens after 0.033 seconds, and every subsequent tick happens 0.75 seconds after the previous. Therefore, the 2nd tick happens after 0.783 seconds. Park Ranger has a cloud radius of 2 meters (actually 1 meter, but I measured the cloud radii to be 1 meter larger in-game), which gives an effective despawn delay of 0.667 seconds. The radiator that spreads the cloud damage is active while the bullet is traveling and thus if it travels for longer than 0.117 seconds, the radiator will be able to spread the 2nd tick. The DPS also suddenly drops at ∽17 meters. The first tick happens after 0.033 seconds, so if the projectile travels for longer than that, the first tick will occur midair.
DoT
DoT is dealt every 0.75 seconds for fire and once every second for toxic. Fire last for 3.75 seconds resulting in a total of 5 ticks while toxic lasts for 3 seconds resulting in 3 ticks. Every time you land a shot, the DoT duration gets reset. If different fire or toxic variants shoot the same target, the DoT will stack.
However, the toxic aura is a bit more complicated. If an enemy gets within 7 meters of a toxic variant, the toxic aura debuff will be applied. Once its applied, the enemy will take damage depending on how far away it is. Closer than 4 meters and it takes 3 damage per second, between 4 and 12 meters, the damage drops linearly to 0, and once the enemy is further than 12 meters away, they lose the debuff and have to get within 7 meters to get it applied again. The Toxic Upgrade increases this 7-meter range to 7.7 which is not something you’ll ever notice. The toxic aura spreading toxic damage between enemies, works the exact same way although it isn’t affected by the Toxic Upgrade.
Weapon Firing
Rate of fire
I have defined two different rates of fire: base RoF and effective RoF. Effective RoF is the rate of fire used for calculating DPS. For weapons with very small magazine sizes such as Tank Commander, Super Commando, Scuba Soldier, Iron Citron outside Iron Mode, Law Pea and Captain Squawk, this rate of fire will include the reload. For burst characters, this also includes the burst interval. For charge variants roughly 0.05 seconds of delay is added between each shot, and the effective RoF takes that into account. But for all other characters, the effective RoF will be the exact same as the base RoF which is simply the rate of fire stored in-game. There’s also the max sustainable RoF which always includes the reload or overheating and is meant to be the max RoF that can be sustained over an infinite timespan.
To calculate the RoF including the reload you just divide the ammo capacity by the time it takes to fire the clip and reload. Calculating that time isn’t as easy as one might think due to rounding and the fact that the reload never starts immediately after the last shot is fired. For how long the reload is delayed depends on the fire type of the weapon. For all semi-auto weapons, the reload delay is 1/30 seconds. For all fully automatic weapons, the reload delay is 60 ÷ base RoF (equal to fire interval), but it can be reduced to 0.1s by releasing the trigger shortly after the last shot is fired. This can easily be tested with Landscaper where you can decrease the reload delay from 0.48s to 0.1s or any other slow firing automatic variants such as Zoologist, Astronaut or AC Perry for example. For all charge variants except for Fire Rose, the reload delay is 60 ÷ base RoF as well, however can’t be decreased by releasing the trigger early. Fire Rose has a different fire type since her 2nd charge fires two shots and for some reason always has 0.033s reload delay. Burst weapons have a reload delay of 1/30 seconds if the ammo capacity is a multiple of the shots per burst. This is not the case with Super Commando who fires 4 shots per burst, but with an ammo capacity of 3. His reload delay is therefore 60 ÷ base RoF, or 0.12s in his case.
Breakfast Brainz’ rate of fire also increases with each shot until it hits the max RoF and gets reset back to the base RoF every time you release the trigger. If the RoF increase per shot is 0, which was the case for his beam before April 2017, the heat RoF increase multiplier will be used to determine the RoF. More about it in the overheating section.
Projectile speed
There isn’t much that defines projectile speed. You have the launch velocity in both the Y and the Z direction. Missiles can also have an engine accelerating the projectile and a max velocity limiting the speed. Something to take notice of is that the projectile doesn’t travel for the first frame after it’s fired, and this is framerate dependent. Since 60 FPS is the most common framerate, I've subtracted 1/60 seconds from the time to live when caclulating max travel distance.
Painter and Rock Pea’s projectiles also inherit 50% of the character’s speed, which is why Rock Pea seems inaccurate on the move.
Overheating
For most variants which overheat, the heat increases by a set amount per shot and steadily decreases every game-tick. Once the heat reaches 1, the weapon overheats and heatloss is disabled for a time determined by the overheat penalty. Once heatloss is enabled again, the heat must drop to below the overheat threshold before you’re allowed to fire again. Heat is hard capped at 1, which keeps this cooldown period consistent. A lower overheat threshold means you’re allowed to fire sooner, but with more heat meaning you’ll overheat quickly if you’re not careful.
We also have the heat increase rate which only Breakfast Brainz’ beam uses. If the heat increase rate is more than 0, heatloss will be disabled whilst holding the trigger. Instead, heat will increase every game-tick. Breakfast Brainz’ beam is also the only weapon with a heat RoF increase multiplier higher than 0, although it only gets used if the RoF increase per shot is 0 which was the case before April 2017. If it’s used, the new RoF will be calculated after every shot is fired. In pre-April 2017 Breakfast Brainz’ case, the heat RoF increase multiplier is 600 which means that if the heat is 0.5 after firing a shot for example, 300 RPM will be added to the RoF used to fire the next shot.
Charging
Charge time is how long it takes to charge the shot. Whilst charging, a buff will be applied to many of the charging variants, reducing movement speed and preventing jumping. After a charged shot is fired, you must wait before you can start shooting or charging again. That time is equal to 60 ÷ base RoF or 60 ÷ RoF overwrite if that is defined. If more than 1 charged shot is fired, such as with Fire Rose’s 2nd charge, the RoF overwrite is only used to determine the interval between the charged shots.
Homing
Activation delay is the time it takes to activate the guiding system. Higher projectile speed equates to the projectile traveling further without homing.
Lock-on angle is the angle a target must be within to get locked on to. A higher angle doesn’t solely make it easier to lock on to a target. It also makes it possible to aim further ahead of the target without losing the lock to better lead shots.
Release time is how long it takes to lose the lock after the target has moved outside the lock-on angle.
The max tracking angle is somewhat self-explanatory. A max tracking angle of 90° means the missile will track a target until its trajectory is perpendicular to its launch trajectory.
Weapon handling
Gunsway
Gun sway and dispersion determine the accuracy of a weapon and are therefore an important factor to a weapons performance. To define gun sway, we have the min angle, max angle, bloom per shot and decrease per second. Every time a shot is fired, the angle increases by the bloom per shot starting at the min angle. The angle decreases linearly although not between shots. The max angle is actually not a hard limit, as the gun sway angle can exceed it, however if it does, bloom per shot won’t be applied, and the angle will decrease even between shots. The former can be tested with Captain Squawk’s sniper using the reload upgrades. If you fire immediately after reloading multiple times, then your angle will be higher than the max angle when firing and the reticle wont bloom. Gun sway can be scaled. Scaling it changes the accuracy without changing the reticle. The values I show on this site are effective values after the scaling has been applied.
Different values will also be used based on the character state. Below ∽8% of base movement speed, you’re considered stationary, and the base values will be used. Above you’re considered moving. You’re also only considered jumping whilst traveling upwards. If the character is falling or hovering with Imps double jump, the base values will be used as if you’re stationary. One final thing to take notice of is that between ∽8% and 100% of base movement speed, the min angle smoothly transitions between the base and the moving value. Most variants have a speed multiplier of 0.5 while zooming, so whilst walking forward and zooming, the min angle will be right in between the base and moving value. However, bloom per shot and max angle, are not transitioned.
Lastly, aim time is the time it takes to get fully accurate after zooming when stationary. For most variants, the aim time will be very short, but for variants with a large difference between min angle when zoomed and not such as Captain Squawk or some of the Cacti, the aim time can be significant.
Dispersion
Dispersion is very similar to gun sway. They both have a min and a max angle (although I’m only showing the min angle), they both increase per shot, and decrease linearly. However, there is mainly one difference which is that dispersion decreases even between shots. Additionally, the max dispersion angle is a hard limit. Only Imp, Party Imp and Lil’Drake have dispersion which can increases faster than it decreases. For every other variant, the only dispersion stat that matters, is the minimum angle. With a min angle of 0.5°, max angle of 4°, and a RoF of 800 RPM, Imp will reach maximum dispersion after 24 consecutive shots. Party Imp, with a higher max angle of 5°, will reach maximum dispersion after 32 consecutive shots, and Lil’Drake with a slower RoF will reach maximum dispersion after a whopping 150 consecutive shots.
By the way, I do not know how gun sway and dispersion combine. I have observed dispersion making a weapon more accurate where the dispersion and gun sway angles were similar.
Recoil
There are two independent factors to recoil: the recoil amplitude and the recoil angle. Every time a shot is fired, the recoil angle is set to the max angle both vertically and horizontally and the recoil recovery time is how long it takes the recoil angle to linearly decrease back to 0°. Most weapons have a very short recoil recovery time. For those weapons, the recoil angle just ends up looking like camera shaking. The only variants that have a higher recoil recovery time than shot interval are Plasma Pea, Power Cactus and Mechanic, and the latter has very a very low recoil angle. The recoil angle is multiplied by the base RoF measured in shots per second and the recovery time which gives fast firing weapons with slow recovery time a higher recoil angle than the base values would suggest. The recoil angle can be scaled down when zooming.
Recoil amplitude on the other hand, is significantly more complicated. Like with gun sway, the recoil amplitude angle increases with each shot. Vertically the increase is constant, while horizontally the increase is chosen randomly between the min and max increase per shot. What matters most is the average of the min and max increase, but a larger difference between them gives more unpredictable recoil. Therefore, I’ve chosen to display the average increase per shot as well as the max deviation from the average. The max recoil amplitude is a hard limit just like with dispersion.
Since the decrease in recoil amplitude isn’t linear, there is a decrease factor instead, and I’m pretty sure that the decrease curve gets reset every time a shot is fired.
Just like with dispersion, the angle does decrease between shots, although the decrease rate between shots is scaled by the ShootingRecoilDecreaseScale. Lastly, the amplitude increase per shot can be multiplied for the first shot fired automatically, which can punish tap-firing with more recoil. However, if it’s a semi-auto weapon, this first shot increase scale will affect every shot, and thus I’ve multiplied the amplitude increase per shot by the first shot increase scale and set the first shot increase scale to 1 for semi-auto weapons.
Electric arcs
When a plant or zombie gets hit by an electric variant, they get applied a buff that spreads the 1st arc buff, which spreads another arc, etc. until there are no more arcs. To prevent arcs from spreading back and forth, no arcs can spread to a target that has the buff which spreads the 1st arc, the 2nd and 3rd arcs cannot be spread to a target which has the 1st arc buff, etc. These restrictions haven’t always been part of the game. Electric arcs used to spread freely with no restrictions, but this behavior was removed in the Trouble In Zombopolis Part 1 DLC and described as a bug. This was a sizeable nerf to all electric variants, and Electrician was hit especially hard since arcs could no longer spread between targets that had all taken splash damage.
Each arc buff also has an intro lasting 0.1 seconds. This results in each arc being spread 0.1 seconds after the previous. But this intro also seems to limit the rate at which the same arc can be applied to once every 0.133 seconds. Electro Brainz’ beam is limited by this. Power Chomper’s buff that deals the spray damage also has this 0.1s intro, which hard limits his RoF with the exploit to 450 RPM.
Freeze
Just like overheating, the freeze level increases per shot and decreases linearly. Once the freeze level hits 1, the target freezes for 2.1 seconds. Afterwards, they cannot be frozen for 10 seconds. While a targets freeze level increases, their movement speed gradually decreases to 60% of normal. If the freeze amount is currently 0, the first shot freeze is used instead.
Most ice variants with splash damage, apply the freezing twice on direct hits, once for the direct hit and once for the splash damage. If I take Ice Pea as an example, his freeze per shot is 0.15 and his first shot freeze is 0.3, but I’ve increased both by 0.15 to reflect how the freeze is applied twice on direct hits. The only ice variant that doesn’t have this behavior is AC Perry, so although AC Perry’s freeze rate for direct hits is terrible, he doesn’t freeze slower on splash hits. At launch he did freeze twice as fast on direct hits, however this behavior was removed in the Trouble In Zombopolis part 1 patch and described as a bug.
If two of the same ice variant shoot a target, it will get frozen twice as fast, but if two different ice variants shoot a target, the freeze wont stack and the target can get frozen twice, once by each variant.
Frost Rose freezes at a different rate for her charge shots. Her 2nd charge freezes by 0.3, and her 3rd charge freezes by 0.7. At launch, there was seemingly a bug present causing her to freeze twice as fast as intended like AC Perry. Her 2nd charge would freeze for 0.5 twice, but with 0.033 seconds in-between, causing the target to only be 99.83% frozen.
TTK
TTK, or time to kill is a very good indicator of how a variant performs in specific scenarios, but there are a few things you should know about how it’s calculated. Firstly, it doesn’t include projectile travel time. Secondly, it assumes perfect play, such as perfect tap-firing for weapons that overheat.
There are also multiple ways to calculate TTK for variants with DoT. No DoT calculates TTK without any fire of toxic DoT. Within DoT range is the time it takes to get the target low enough that they can be finished off by the DoT. This only matters for medium- to long-range fights where you can hide behind cover waiting for the DoT to do its job.
As for Breakfast Brainz, the TTK will be calculated with the RoF starting at his base RoF. Since Breakfast Brainz can’t tap-fire without reseting his RoF, he will fire in bursts if the target can’t be killed before he overheats.
I've also finally added TTK for charged shots. This will be calculated with the specified charge level pre-charged followed by the fastest combination of charged shots and non-charged shots to get the fastest TTK possible. For charge variants with ammo, it won't always choose the perfect combination if reloading is required. The numbers listed at the end of the line are how many shots of the different charge levels that were fired.
Something to keep in mind is that the TTK calculator does not take the accuracy of the variant into consideration and therefore long-range results for Imp, Party Imp and similar characters won’t exactly be realistic.
Balancing notes
The patch notes for Garden Warfare 2 often don’t include exact numbers, and sometimes important details have been completely excluded. For example, in the Trouble In Zombopolis part 1 patch notes, the nerf to Tank Commander's falloff distance was excluded and the nerfs to his reload upgrades were removed from the patch notes.
I’ve gotten access to the launch build of the game allowing me to fix many minor issues with the old patch data. Some unlisted changes might have been added to the wrong patch, and I might’ve missed some small changes, but the patch data should be nearly perfect.
Submitted stats
Figured I’d briefly write about how the average stats are calculated from the submissions.
Stat calculations
AI kills, player kills, deaths and time played are all calculated by taking the average of every response while excluding stats from responses that’ve stated they’ve mostly played the variant with old weapon stats. This should in theory help mitigate stats from nerfed variants being boosted by old stats or vice versa.
Player rank
The average player rank for each variant is calculated by multiplying the time played in each response by the players rank and dividing the sum by the total time played. This gives the average player rank of all the players of that variant weighted by each response’s play time of that variant.
Player KD ratio
There are two methods I’ve found to calculate the average player KD ratio for each variant. The first is by dividing the vanquishes of a variant by the player’s KD ratio and adding up all responses. This gives the expected number of deaths. Then you divide the total vanquishes by the expected deaths which gives the player KD. The second is by multiplying the deaths of a variant by the player’s KD ratio and adding up all responses. This gives the expected number of vanquishes which you divide by the total deaths to get the player KD. Both methods usually give a slightly different result, so I take the average of them.
Problems
The most obvious problem with the data is the lack of submissions. Multiple variants have had their stats inflated by submitters who’ve mained the variants. The second is the lack of any statistics to measure a variants performance. The closest one I have is KD ratio adjusted for the player KD, but KD ratio measures how campy a variant is almost just as much as its viability. Lastly the stat collection for individual Imp variants is broken as it doesn’t collect all the vanquishes or time played. The stats for the entire Imp class are correct however, so what I’ve done to correct it is to scale the stats of all the variants equally until the sum adds to the stats for the whole class. This should be good enough but take the Imp stats with a pinch of salt.