Resource icon

[WIP] Complete Data on All Weapons (Spoilers: unreleased weapons)

Sup.

I'd like to share with you guys something that I and the rest of the Imperious Lounge have been working on for some time now. As many of you know, the list of unreleased weapons (and most of their kits) was posted onto Twitter by @NWPlayer123. What many of you don't know is that virtually complete data on most of these weapons was posted to splatoon.ink; this was linked to me in my Twitch chat at some point. This was around about the time that we'd discovered just how tedious it was to shoot at a test dummy 500 times with each weapon, so we jumped at the chance to work with it. Whomever uploaded that data deserves a shoutout.

So, what am I talking about here?
OneDrive Link (synced with my master copy, always up to date, but vertical text doesn't work online so it's hard to read without downloading a copy)
Imgur Mirror (not always up to date, cannot be sorted, but more easily readable if you cannot download the file)
Raw Data (courtesy of @Box) - temporarily missing the last line of each file but we'll fix that eventually (they don't matter that much)

This spreadsheet is still very much a WIP, since we haven't yet determined a few formulae (notably projectile deceleration) and there is still more data to add to it.

Many of the headers in this spreadsheet are a little tricky to understand without some context, so let's go over that real quick.

In-game units
This game uses the following units:
- Range units: 50 range units = 1 line in the firing range. Inklings seem to be about 10-15 (they aren't cylindrical) units in diameter. Firing range dummies are truncated cones, 15 range unit diameter at the base and 10 at the top (the very top has no collision detection).
- Frames: 60 frames = 1 second. Pretty obvious when you think about it, but this is how the game measures time (there are no 'ticks' or other sub-frame measurements)

---

Main Columns

Line Range
This is the metric you're all familiar with for determining the range of a weapon (i.e. the number of firing range lines a bullet will cross), but there are some key differences that need to be understood here. First, the way range had been tested up until now was erroneous. Bullets are spawned from a certain point on a weapon (usually a little bit behind the nozzle, for obvious reasons), which means that by measuring from standing position, this created a discrepancy between the game's range units (which we'll get to in a moment) and the "line" units we've been using.

As an example: the Squiffer has a range of 180 (in the game's terms), and was tested to have a range of 4.0 lines. However, this was not accounting for the fact that the Squiffer is a relatively long weapon; when held in the firing position, it extends a fair way in front of the character model. Using the conversion of 45 range units, this gave us an erroneous E-Litre range (which is set to 340, i.e. a little under 7 lines), and the Scope and Splat Charger were both off by a little as well. Since these weapons had explicit ranges defined in the game's files, our methodology had to be the source of the error.

In the game's terms, 50 range units is equivalent to one line. Most weapons with identical ranges have similar model sizes, so for the most part, this doesn't actually mean anything; it's just more accurate.

Note that for Rollers, Line Range refers to the likely one-shot-kill range, and for Brushes, it refers to the likely hit range. For Blasters, it refers to the shot distance plus the "Middle" Area of Effect.

---

Max & Min Dmg
In the game's terms, damage is stored as a percentage (as in, 40 damage on the dummy = 0.4 damage in the game files). This doesn't mean anything except that we multiplied the values in the data by 100. In terms of how damage is handled:
- Chargers deal min damage with zero charge (up to a very small frame count), and max damage at max charge. In between, their damage follows an approximately linear curve with discrete 'steps'. Ezpz.
- Rollers flick a number of particles (defined by Splash Num), each capable of dealing anywhere from the max damage to the min damage. There's a whole lot more to this (scaling, randomised velocities, etc), though, and we'll get to that in a bit.
- Blasters deal max damage with the bullet (which appears to have a radius of 2.5 units, but this is unconfirmed since all weapons have the same "ColRadius" variable, which we currently believe to be Collision Radius--as such, we can't test it), plus an AoE on detonation with a radius of 5 units (which is a little smaller than an inkling's estimated hitbox). Min damage is identical to max damage for blasters, because each blaster has a short period just before exploding that would otherwise be subject to scaled damage.
- Shooters deal max damage for the first few frames of each shot (i.e. the StraightFrame variable). Damage is then scaled rapidly until either 15 (most weapons) or 18 (pro, 96, ds) frames after the shot is fired (MinDamageFrame variable).
- Lobbers... **** knows, they aren't out yet so we can only guess, looks like they're a cross between rollers and blasters.

---

Move Speed
... is obvious, how fast you move while firing a weapon. This can only be affected by Move Speed Up when it does not exceed base movement speed (which seems to be 0.96, not 1 as you might expect). For Chargers, there are move speeds for a number of different charge levels that we haven't bothered with yet (since they aren't that important)

---

Shots per Second
... again, obvious, but this is derived from a combination of ShotDelay (for most weapons), charge time (for chargers), RaiseTime (for rollers and lobbers), and TripleShotSpan (for the L-3 and H-3). With regard to the latter: ShotDelay and TripleShotSpan (the variable that determines how often you can burst fire with an L-3 or H-3) "overlap" in the sense that the TripleShotSpan starts immediately after the last shot is fired, so an L-3 can fire again 8 frames after its last shot. But this is really, really hard to do.

---

Shots to Empty
... is also obvious. This time it's just the inverse of however much ink a weapon uses with each shot. Nothing too complex here. The only caveat is that passive regeneration is a thing (everyone knows this, right?), so this is an underestimation of real-world stats.

---

Accuracy: Linear Distribution & Inverse Triangle Distribution
Alright, this is the confusing one. Short version: the second column (inv. triangle dist.) is the accurate one, and tells you the chance you have of hitting a target at your max range given perfect aim. It's only inaccurate on the Splattershot and N-Zap (which have ~88% accuracy, not ~84%).

First, this is 100% for Blasters, Chargers, and Rollers, because they either have a zero degree spread or a very wide spread. At some point, we'll figure out how to determine Roller accuracy past their "**** you I'm a roller" flick range, but that's fairly far down the list.

Shooters, meanwhile, have five different accuracy variables.
- DegreeRandom: the maximum angle off centre (i.e. in one direction; actual spread angle is twice this number) that a shot may travel.
- DegreeJumpRandom: as above, but at the peak of your jump (this degrades over 60 frames or until you hit the ground for each weapon--whichever comes first)
- DegBias: the chance that a shot will NOT travel down the centre of the crosshair and instead be determined by a random roll across the DegreeRandom arc. This variable is either 0.25 (for most weapons) or 0.4 (for short-range, inaccurate weapons).
- DegBiasKf: the chance that a shot will travel to the far edge of the crosshair. This variable is usually 0.02, but some weapons have 0.1, the 52 has 0.12, and the 96 has 0.2 (which is the 20% hard coded miss chance I'm always talking about on my stream). Based on our testing and observation, it seems to be possible for this percentage to trigger at the same time as DegBias. In this case, this variable takes precedence.
- DegJumpBias: the chance that a shot will be determined by RNG when jumping.
What does this all mean? All Shooter-type weapons have at least a 50% chance of shooting dead straight, no matter what their spread is.

As if this weren't annoying enough, the spread is not uniform. That is, if your shot is to be determined by RNG, that RNG is more likely to roll certain numbers than others. Our best estimate given our manual testing is that the distribution is some sort of quadratic or inverse triangle distribution (i.e. more likely to have a shot go wide than close to the crosshair), but we haven't confirmed this and likely never will (since doing so will require the source code, which we sure as hell ain't getting). The linear distribution is incorrect, but it's there to "prove" that it's wrong (see the large discrepancies between our estimation and the observed accuracy on some weapons). Inverse triangle distribution is only off on the Splattershot and N-Zap.

---

Max Acc. Range
This is the range at which even your wide shots will still hit a target. Basically, the narrower the spread, the closer this is to max range.

---

0 range TTK
Essentially a mirror of @Trifroze's data. It's not entirely accurate on a few weapons and does not account for part-charged charger shots (plus, blasters seem to have a significant delay between impact and damage being dealt, even though the lethal shot technically only needs the ~2 frames of raise time and ~1 frame of travel time to connect).

---

TTK with 1 miss
Similar use of variables to the Shots per Second column.

---

Max Range Average TTK
TTK with travel time and accuracy taken into account. Damage is reduced by a small amount to account for damage falloff, since the max range (where you see an 'x' on your crosshair) is actually beyond your max damage range for all shooters.



Shooters

Shooters are, strangely enough, probably the most difficult weapons to understand looking at the variables (aside from lobbers, but they aren't out yet, so they don't count).

We've already covered the accuracy variables, so let's talk about weapon range.

Each Shooter and Blaster has an InitVelocity (Muzzle Velocity, i.e. how fast the bullet travels at the start of its flight), StraightFrame, and GuideCheckCollisionFrame.

Simple version: You deal max damage for the first StraightFrame frames (so a shot from a Pro will deal 42 damage for 6 frames after being fired). The game checks to see if you will hit your target for GuideCheckCollisionFrame; if you will hit something, it will draw a cross on your crosshair. But since the Guide Frame is always smaller than the StraightFrame, you will NOT deal maximum damage at this range.

For the moment, we have not figured out how velocity falls off after a bullet reaches the end of its StraightFrame, so we're using an approximation that gives us correct range data (but is not correct in itself). This is mainly because we can't get 60fps footage (due to the Dojo being 30fps), and also partly due to the fact that it's not a quadratic (or even linear) velocity curve like you might expect in, you know, a sensible physics system.


Chargers

Chargers are actually quite simple. They have a hard coded min range, and a hard coded max range. They take a certain, static number of frames to charge, and their damage scaling appears to be linear (though there are discrete levels of charge, it's not a smooth curve).

Incidentally, yes, the Bamboozler will be able to fire further than a Jet Squelcher with an uncharged shot.


Blasters

Blasters, as we know, have explosive rounds. As it turns out, there's not much that's fancy about these explosions; they have a Near Radius, where they deal Near Damage (which is identical to their direct hit damage). They have similar Mid and Far radii.

The only thing that's really necessary to point out here is that the radii are stacked: the Far Radius is the total explosion radius. It is not Total = Near + Mid + Far.


Rollers

These are really messy. We haven't actually found anything in the data that tells us how roller spread works; all we know is that at some point there's a 2.2 degree spread on something or other.

So, as we know, there are two types of rollers: the "real" rollers, and the brushes. Their main difference, aside from the fact that the former instakills and the latter doesn't, is that inkbrushes have "sub" splashes in addition to their primary, main damage-dealing splashes. The Inkbrush has 1 sub splash (which is why you see 3 projectiles, but can only hit with 2), while the Octobrush has 2. How (or even if) the sub splashes deal damage is currently unknown, but the Octobrush should be easier to test with. Hopefully, we'll have an answer to that soon.

Now, for damage. As stated before, each particle of ink from a roller can do the maximum damage. However, rollers have damage scaling; repeated hits over a number of consecutive or near-consecutive frames will have their damage significantly reduced. Only one particle can hit on each frame; multiple particles hitting at the same time will NOT increase the damage of your flick in any way. (The best way to see this is to flick the large dummies in the firing range with a dynamo roller, record at 60fps, and play the footage back frame by frame). This doesn't mean much for rollers, but for brushes, it is the reason why damage is very inconsistent at certain ranges and angles.

Rollers, like Shooters, have a StraightFrame that, like shooters, determines how long a particle will retain its 125 max damage, but the key difference is that initial velocity is not a constant. Rollers (of both varieties) have randomised X and Z velocities (i.e. left/right and ahead/behind respectively). Given enough of a difference between the fastest and slowest projectile from your flick, you can actually have a particle lag so far behind that it ignores the aforementioned damage scaling and deals an extra ~100 damage. In other words, roller flicks can be deadly for a lot longer than you might expect, especially when the roller jumps.

(no, this doesn't make rollers overpowered, it just makes them slightly random)


Lobbers

Lobber data is hidden on this spreadsheet (though you can unhide the rows easily enough). The reason is simple: while we can estimate what they will be like (i.e. grenade launchers), we don't know anywhere near enough about them and cannot test any of our assertions. Also because it makes the table even less readable than it already is.

All we know about lobbers is that they share some variables with rollers (namely the ones determining inking, plus they have a RaiseTime variable), some with blasters (one of them has shots that explode on contact with the ground), and some that are completely unique.

One of the lobbers (Bomlobber) has a max damage range of 300 (6 lines) to a min damage range of 400 (8 lines), and our best estimate is that it basically throws super burst bombs that can kill you on impact. The other two fire at a more reasonable 120 (Triple Bloblobber) or 200 (Bloblobber). They also have StraightFrame variables, but unlike other weapons, their StraightFrames and InitVelocities are nowhere close to their total ranges. In other words, grenade launcher. So that's cool.


Observational Data
This is the stuff we had to begin with, and we used it to fact-check our derived equations.


Conclusion & Future Revisions
Hopefully this is at least somewhat understandable given these explanations.

Future revisions will include more thorough ink spread data, calculations on special generation speed, more complete roller data, and a generally cleaner interface.

Also, if anyone goes snooping: yes, that's a tier list. I was going to release it with this data, but then I remembered that tier lists make people get all snippy. Spoilers: a lot of it's wrong anyway, now that we know a little more about the game (double spoilers: krak-on is still bottom tier)


Credits
NWPlayer123 & A_cute_lynx
(and anyone else whom I'm unaware of) - Mining this data and pushing us well ahead of schedule
Nikey - providing our initial accuracy data
Box - hard carrying in the mathematics department
Trifroze - for frame data, TTK numbers, and so on
The rest of the Imperious Lounge - moral support, I guess?
Author
flc
Views
804
First release
Last update
Rating
5.00 star(s) 6 ratings

Latest reviews

a surprisingly in-depth guide, considering how new Splatoon is.
the inclusion of things like frame data and off-center weapon shots was a very nice addition. all in all, good job, and keep it up!
Thanks for organizing this data for us. It will be very helpful for those of us who like to create weapon guides. I personally vote the community should use this as a standard when talking about weapons.
Awesome way to describe the data, it's really easy to understand. I'm also so excited for lobbers!
Great! I'm sure the descriptions will be understandable for most everyone, which is key
Yee
Top Bottom