Your Badass Rank is a universal stat that applies to all of your characters, and all of your characters contribute to your rank.
You get Badass Ranks from completing the challenges outlined in the Badass menu (default J on pc). You can see these challenges in a list on the right-hand side. Some challenges are tiered, and reward you with more and more Badass Ranks and customization items as you advance up in tiers. Some challenges are one-off and provide a one-time reward. You can complete a challenge once with each character, which effectively allows you to endlessly increase your Badass rank as you create more characters. You can also track challenges by clicking on them in the list.
You get more Badass Tokens as you accumulate Badass Ranks. The current rate is unknown, but is estimated to be:
Badass Rank = (Badass Tokens)9 / 5
Rounded down to the nearest whole number (source).
Badass Tokens can be spent on a set of 5 random upgrades. Each upgrade can be purchased multiple times to no maximum, but there are diminishing returns. For any one upgrade that you invest in, the total accumulated magnitude of that upgrade is given by:
Magnitude = (Badass Tokens spent on option)3 / 4
This means that if you invest 20 Badass Tokens to +% Gun Damage, you will have ~9.5% bonus gun damage on all of your characters (source).
Customization items are unlockables you can use to customize your character head and body skins/colors.
On request: here are the steps to calculate how many Badass Ranks you need for your next Badass Token:
- Calculate your current expected Badass Tokens from your Badass Rank.
- Calculate the expected Badass Rank for an additional token.
- Determine the difference between the expected rank and your current rank.
Expected Badass Tokens = (Current Badass Rank)5 / 9
Expected Badass Rank = floor(ceil(Expected Badass Tokens)9 / 5)
Ranks Needed = Expected Badass Rank - Current Badass Rank
For example, if you are at Badass Rank 1000, you have an expected 46.41 Badass Tokens (meaning you have 46 available). For one more token (47), you would need about 1022 Badass Ranks, meaning you will need about 22 more Badass Ranks before you get another token.
As you said, these are all the pieces already. If what I'd figure is your question it's easy to answer:
"How much damage would I do if I fire for $Length time?"
$Length * $RoF = X rounds
X rounds * $damage = gunDamage
X rounds * $DOT% = avgDotAmount
DoTs are smart in this game, they all have their separate timers and can stack independently from one another. This makes the damage as intuitive as possible:
dotDamage = avgDotAmount * ticks(element)
totalDamage = (gunDamage + dotDamage) * multiplier(element)
As this was far too easy to answer, I can only assume your question would be like
"When can I stop firing, knowing that my DoTs will kill the enemy?"
To which the answer would be "Never, unless the target isn't currently affected, then keep firing."
To us human player at least; for all the data is there in the fountain of numbers that spew from the target you are perforating with bullets. Would we be perfect computers, we could see when a new dot starts ticking(it wouldn't have a previous tick before it) and thus know exactly how many ticks are left. Being human, all we can say is "it's on fire" or "it's not on fire." This makes knowing for SURE your target is going to die impossible, the best one could do is make a normal distribution graph(wiki) with the probabilities if your target will die.
If that's really what you'd want, I could run it through some model, but it's still gonna be a pretty useless graph. Input the specific gun and skills you're using, and you could get a graph with probabilities mapped vs dotDamage. Even if you could watch that while shooting things, you can only guess how much health your target has left.
If instead, and my final guess, the question would be "How much do I overkill?" that amounts to the same, as that is also "Amount of dotDamage still to be done."
Best Answer
The answer is NO, you can't. There is no feature to reset them.
Also i did check and it seems those stats are stored on remote servers and not your local machine, so we can't just tweak a file either. (As best as i could find.)