The Bag Conundrum
Many CBs and Shadowers tout, "The amount of damage done is not based upon total mesos, but upon bags. You get a bonus per bag." This is only partway true, assuming the formula is correct.
Here's how ME works in a nutshell, assume ME level 30:
1. You press the skill button
2. Maplestory looks at the hitbox for Meso Explosion. It then counts the number of bags you have dropped until it reaches 20 bags of mesos
3. Maplestory then attacks the enemy X amount of times, where X is equal to the number of bags. The number of attacks cannot be more than 15.
4. The damage of each attack is calculated by using the meso in each exploded bag (up to the 15th bag of mesos). So yes, the other 5 bags are wasted.
Another thing to notice is that dropping fewer mesos is far more efficient than dropping higher level of mesos. So because 5 bags of 10k easily outdamages 1 bag of 50k does not mean that there is a hidden bag bonus. Just that the calculation greatly disfavors 50k bags of mesos. As a matter of fact, the most efficient amount of mesos to drop for Meso Explosion is 1k bags.
The Formula
First of all, I want to give credit to ZakumSlayers for the formula which was discovered in the BMS data. Thank you for sharing this with the forum.
In case you don't understand code, I'll just write the formula here:Code:aMoneyAmountDbl = (double)anMoneyAmount;
if ( aMoneyAmountDbl <= 1000 )
ratio = (aMoneyAmountDbl * 0.82 + 28.0) / 5300;
else
ratio = aMoneyAmountDbl / (double)(aMoneyAmount + 5250);
randNum = aRandom[nIdx++ % 7] % 10,000,000;
mastery = (double)randNum / 20,000,000 + 0.5;
SkillData = SKILLENTRY__GetLevelData(dword_6A7D5C, nSLV);
aDamage = (signed __int64)((50 * SkillData->nX) * mastery * ratio);
If you have equal to or fewer than 1000 mesos
MIN: (50 * Skill->XValue) * 0.5 * ((Mesos * 0.82 + 28.0) / 5300)
MAX: (50 * Skill->XValue) * ((Mesos * 0.82 + 28.0) / 5300)
Otherwise:
MIN: (50 * Skill->XValue) * 0.5 * (Mesos / (MesoPool + 5250))
MAX: (50 * Skill->XValue) * (Mesos / (MesoPool + 5250))
I will be using the code above for the rest of the calculations here:
So, assuming you dropped 10 mesos at level 1 ME:
ratio = (10 * 0.82 + 28) / 5300;
ratio = 0.0068301886792453
Next part is just mastery. Mastery is always 0.5. The maximum damage is calculated with Mastery being 1.0.
Damage = ((50 * SkillData->nX) * 0.5 * 0.0068301886792453);
Damage = (int)((50 * 500) * 0.5 * 0.0068301886792453);
Damage = 85;
And max damage would be double this, assuming perfect results, so the damage range for 10 mesos at level 1 ME is 85 ~ 170
Now let's assume we drop 10 mesos at level 30 ME. The ratio variable would be the same. The only thing that would change here is the SkillData->nX value, which is 1000 at level 30:
Damage = (int)((50 * 1000) * 0.5 * 0.0068301886792453);
Damage = 170 ~ 341
What's the most efficient amount of mesos to drop?
I'll be very simple about it. The answer is a 1k bag of mesos is the most meso-efficient drop. Anything more than this, and your mesos are not being used as efficiently as possible. Allow me to explain.
Let's assume you have level 30 ME. Here's how much damage you'd do at each amount of mesos considering you only drop one bag:
Mesos Minimum Damage Difference 100 518.87 200 905.66 386.79 300 1292.45 386.79 400 1679.25 386.79 500 2066.04 386.79 600 2452.83 386.79 700 2839.62 386.79 800 3226.42 386.79 900 3613.21 386.79 1000 4000.00 386.79 1100 4330.71 330.71 1200 4651.16 320.45
So, looking at this table above, we have to calculate how much of an advantage we receive for each additional 100 mesos. This difference is located in the "Difference" column above. You'll notice that the amount of damage you do is perfectly proportional to the mesos put in all the way up until you reach 1k mesos. Anything after that, and you start to lose damage/meso drastically. The reason for this is the formula given in the other spoiler. In the formula, there is a different formula used if the amount of mesos dropped is below 1k and a different formula for above 1k. The purpose of using different formulas for each of these ranges is so each additional meso put in the pile after 1k gives you a decreasing amount of damage/meso to prevent 50k bags of mesos from being too strong. It becomes self-evident that 1k bags of mesos is the most meso-efficient.
Graphing out this formula yields the following (note the following is MINIMUM damage/bag). Also note that this is ONLY CALCULATING ONE BAG OF MESOS.