After cooking 250 shark WITH both subs and cooking cape (0 burnt) I only got 150 tokens. So i would need 250 sharks X 840 exp = 210,000 exp
So 150 tokens for 210,000 exp gained. 25,000 divided by 150 = 166
166 X 210,000 = 35,000,000 mil exp
In order to get 25,000 tokens you would need to cook 41,000 sharks
41,000 X 840exp each = 34mil exp
So if you can cook 1k shark an hour you can do it in 41 hours. So 3 hrs a day/1k shark an hr
You cooked 250 sharks to calculate token drop rate that is based on a random function and you based your calculation on that, so I don't want to be rude or anything but your calculation is flawed. You'd need to cook at least 1-2K sharks to get somewhat accurate results, to be able to calculate any kind of rates.
You can cook approximately 90 inventories in a hour (40 seconds per cooking full inventory) behind auction house, each inventory has 30 sharks, you said you cooked 250 sharks. That is only 6 inventories worth, and 4 minutes worth of cooking.
I have done the calculations and simulations before releasing this hotfix.
Each shark takes 1.2 seconds to cook, each shark has 1/18 or so chance to give you 25 tokens(previously 1/25). That means you will most likely get at least 25 tokens per inventory, more if you are lucky. Best way to actually get the numbers is to simulate the shark cooking process and look at the end result, how many tokens you got in a hour, not by cooking 6 inventories and calculating something that is completely random and based on chance.
EDIT: I did the simulation run again, and you'd be getting mask in 24 hours. Using this formula to run the token drop method:
int tripCountH = (1000 * 60 * 60) / 40000; //40 seconds per trip
for(int i = 0; i < tripCountH*30;i++) { //Times 30 sharks
SummerEvent.dropTokensSkilling(player, 210);//210=shark cooking exp in RSC
}
Now you do the rest of the math, that is one hour worth of simulation with platinum+gold subscriptions active.