long max = getItemId() == ADENA_ID ? MAX_ADENA : Integer.MAX_VALUE;
?!
Is it mistake? All the count variable have a long type. Client works with 999,999,999,999,999 amount of item without any problems. So why? Why does count is cutting off to integer?
I changed it lo long max. Now I have 13,000,000,000,001,023 Festival Adenas in inventory and don't feel any troubles. I can correct drop some of them, or pick up one more item.
Retail is just retail. Many free servers have high rates, so you can easy collect more than 2kkk of some item.
Seems like 99bill limit was just for cheaters =)) It is something like "theoretically limit of amount player can physically reach with honest playing".
With x250 drop rate players can collect more than 2^31-1 Seal Stones relatively easy.
UnAfraid, I didn't say it is bug. And in most cases you are right than 2KKK is enough. I just was intrigued by an integer limit among long variables. And a special after problem with Seal Stones.
If the client indeed supports values up to unsigned long for item amounts, then I think this limit should be increased to long max value. First because we can, and second because it makes the server more customisable, and more likely to work properly at higher rates without encountering problems like the one Arantir pointed out.
If you have problems, FIRST TRY SOLVING THEM YOURSELF, and if you get errors, TRY TO ANALYZE THEM, and ONLY if you can't help it, THEN ask here.
Otherwise you will never learn anything if all you do is copy-paste! Discussion breeds innovation.