#### Math Fish

**Squirrel**

Royal Guardian

Characters

Math Fish (Marksman), Shama Fisha (Water), Accursed Angelfish (Shadow), Logical Loach (Fire)

Platform

PC, Steam

Last edited

I figured I was going to give @Sarah Otter something as meme-y as a bunch of screaming goat songs, I should give something similarly over-the-top for @Damon Otter. Therefore, I present to you on this Christmas day the first part of a huge humongous giant monstrous formula I am working on that will eventually be used to tell you the value of every stat in the game (except Magic Find ... forget that lol).

Well this is definitely very math-y looking and quite large as I said, but ... what in the name of all things logical is this thing? That is what I will attempt to explain in the rest of this post.

First, and foremost, this part of the formula simply gives the total damage per second of a single ability. The reason it is so large and complicated is that I am attempting to account for pretty much anything ... consumable buffs, party buffs, how often something triggers, how active a stat is, how stats influence one another, and so on. And I have a variable somewhere for every single one of these (or will eventually lol)! For the mathematically inclined, this is just a few multipliers scaled by total cooldown followed by a few adders. This isn't perfect yet, as I haven't fully fleshed out the adders or the ACT formulas for Flux and Berserk. That will come once I have a lot more foundational stuff built up.

Second, there are a lot of "variables" in there. I put "variables" in quotes because, believe it or not, most of these things is actually its own formula ... most with 24 or so variables in them. I condensed the formula down to this because this is all I could reasonably fit on one line. rofl Here is what they are:

This first bunch is from the "Constants" sheet:

This last one is from the "Abilities" sheet.

Well this is definitely very math-y looking and quite large as I said, but ... what in the name of all things logical is this thing? That is what I will attempt to explain in the rest of this post.

First, and foremost, this part of the formula simply gives the total damage per second of a single ability. The reason it is so large and complicated is that I am attempting to account for pretty much anything ... consumable buffs, party buffs, how often something triggers, how active a stat is, how stats influence one another, and so on. And I have a variable somewhere for every single one of these (or will eventually lol)! For the mathematically inclined, this is just a few multipliers scaled by total cooldown followed by a few adders. This isn't perfect yet, as I haven't fully fleshed out the adders or the ACT formulas for Flux and Berserk. That will come once I have a lot more foundational stuff built up.

Second, there are a lot of "variables" in there. I put "variables" in quotes because, believe it or not, most of these things is actually its own formula ... most with 24 or so variables in them. I condensed the formula down to this because this is all I could reasonably fit on one line. rofl Here is what they are:

All these ones with "ACT" in them are formulas that tell me how active a particular stat is. Most of these will have a flat value of 100%, but there was a need to generalize all these for cases like Onslaught, Flux, Berserk, Blasting, Voidstrike, and Juggernaut (just from the stats taken into account here). Each one of these 24 formulas and their 576 partial derivatives will have to be custom-written ... that will bring much pain and suffering. lol

I would have written these as "OSF" instead of "F", but that would have made the formula take two lines. Oh well! All these are the Official Stat Formula for each stat, but generalized to have many more variables in them. For ease in comparison I included both formulas below this bullet point. The stats I have in the massive formula above are:- 1 - Mastery 1 (There is one for Mastery 2 ... but it is more complicated to add than you would think)
- 10 - Haste
- 11 - Expertise
- 12 - Savagery
- 13 - Brutality
- 14 - Berserk
- 15 - Blasting
- 16 - Flux
- 17 - Glory
- 18 - Juggernaut
- 21 - Onslaught
- 22 - Poise
- 23 - Voidstrike

This is the indicator function. It is 1 if the ability is a single target damaging ability and 0 otherwise. I use this to filter abilities for the Voidstrike stat, which only can be utilized off single target abilities.

These are two times I have to calculate for the Voidstrike stat. The first time is the average time it takes to trigger Voidstrike while the second time is the average time it takes to utilize Voidstrike once triggered. Both of these will have formulas that will be as nasty as they sound.

Expected Hit Points. It is a value I need to calculate how much damage Juggernaut actually does, as Juggernaut is based of your CURRENT hit points.

It means dip s ... Seriously, it means Damage Instances per Second. It is a value I need to determine the damage per second of Blasting. The damage is easy enough, but scaling it to be a per second value requires more work.

This first bunch is from the "Constants" sheet:

This last one is from the "Abilities" sheet.