How is item chance calculated? It is a complex calculation involving multiple steps, but here is how you figure out the chance that your item will drop.
Before any calculations are made, you have to figure out something called "itemKakuritu", which means how possible you can obtain an item. This is a *really* complex calculation, so I'll try to slim it down as much as I can:
Base Enemy Item TranslationEdit
After calculating Enemy Point Value, you need to use this calculation to get your BEIT (Base Enemy Item Translation) Value. This is variable based on the following Criteria:
- FEPV <= 500: (FEPV * 4 + 1000) / 6
- FEPV 500.001-1000: (FEPV * 4 + 2000) / 6
- FEPV 1000.001-2000: (FEPV * 4 + 4000) / 6
- Else: (FEPV * 3 + 4000) / 5
Base Comparison Item TranslationEdit
Once you calculate BEIT, you need to calculate BCIT (Base Comparison Item Translation) Value. This is calculated through the following calculation:
- LUK / BEIT * 0.6 + 0.3
Capped Luck BonusesEdit
Capped Luck Bonuses are figured out by some variable additions, adding to the BCIT to produce the CLB:
- MIN(0.14, LUK / 2000 * 0.14)
- MIN(0.14, LUK / 25000 * 0.14)
- MIN(0.3, LUK / 300000 * 0.3)
- MIN(0.3, LUK / 500000 * 0.3)
- MIN(0.1, LUK / 1000000 * 0.1)
Final Luck ValueEdit
Final Luck Value (FLV) is figured out by using variable gates. First, you assign CLB to FLV, then you run through the following modifications (in order, these stack!):
- IF (FLV > 1): FLV = (FLV + 2) / 3
- IF (FLV > 2): FLV = (FLV + 4) / 3
Finally, you cannot have a FLV higher than 3, and then the following equation is run against the final value:
- FLV = (FLV * 100) / 100
In the below example, let's say I go against the ??? Succubus, with base values. You can see how Luck Caps out around 200000 LUK here, with no more benefit being given at that point.
Next, we take one of the most powerful bosses in the game that I found in the code. I utilized my general numbers, and modified the luck table and you can see how increasing luck at higher levels really doesn't do much. Just for fun, I figured out how much LUK it would take to cap out at 3.0 LUK Value, it would take 8,838,495 total LUK. This is without modifying my other stats whatsoever.
Item Drop ChanceEdit
Now we get into the Meat and Potatoes, how an item drop rate is figured out. Up to three items can be on a single creature, and most have at least one in its drop rate calculation. If a monster has at least one item, the following system is run:
Item Base Drop PossibilityEdit
When an item can be possibly dropped, it runs the following calculation:
- Random(0.0,1.0) * NumberOfItemsOnMonster * 0.85 * (ItemKakuritu + 1) / 2 + 1
This gets the base drop possibility. If this number is greater than the number of items on the monster, it is reduced to that number, and if the number is less than zero, it is increased to zero. If your final number is greater than the number of items on the monster, the last item entry is used.
Next, each item has a specific drop rate, which is multiplied by your itemKakuritu, and a random number (0.0 to 1.0) is generated. If that number is under the drop rate, it is given to you.
Solving for the Random Calculation:
- Minimum Random = ((ItemNumber-1)*2)/0.85/(ItemKakuritu+1)/NumberOfItemsOnMonster
- Maximum Random = (((ItemNumber+0.99999)-1)*2)/0.85(ItemKakuritu+1)/NumberOfItemsOnMonster