[Request]MaxMana Calculation

09/05/2009 15:15 Basser#1
Does anyone know the code for the real MaxMana calculation, the current one isn't working correctly.

Edit:

I think this is correct:
Amount of mana = z
Spirit = x
Job 100 / 101: y = 1
Job 133 / 143: y = 1.333333
Job 134 / 144: y = 1.666666
Job 135 / 145 y = 2
than the formula is
x * 5 * y = z

is this correct?
09/05/2009 16:47 PeTe Ninja#2
double posting is forbidden, merge into one post..

I know the correct calculation.
09/05/2009 16:54 Basser#3
Sorry about that, didn't think about it.
Can you please post the calculation real co uses?
What's wrong with this one?

Edit:
Pete, I really appreciate if you help me out, I've added you on MSN.
About the formula I just gave, Its wrong, not even close to correct >_>.
I think I know how to find out a part of the formula, but not an exact one. =(
09/05/2009 17:17 _tao4229_#4
That's pretty close to right(from what I remember), just add on gourd mana as well.
09/05/2009 17:19 Basser#5
@Tao, I don't think its close to right, not if the client displays the right amount of MaxMana, It is correct at taoist and interntaoist, but not add Water/Fire Wizard >_>
09/05/2009 17:35 Belth#6
Taoist: x = 15
Wizard: x = 20
Master: x = 25
Saint: x = 30
All others jobs (including intern taos): x = 5

baseMP = spirit * x
maxMP = baseMP + equipment MP

I haven't tested for all jobs but I believe that is correct.
09/05/2009 17:46 Basser#7
Belth, except for Taoist, I think thats correct, I'm not srue about Taoist though.
09/05/2009 18:11 unknownone#8
You get 5 per Spirit, then add a bonus to the total for professions. (Essentially equivalent to what Belth posted, but simpler to calculate)
-Fire/WaterTaoist: +200%
-Fire/WaterWizard: + 300%
-Fire/WaterMaster: +400%
-Fire/WaterSaint: +500%
09/05/2009 20:41 PeTe Ninja#9
Code:
        public ushort BaseMaxMP()
        {
            
            int Mana = 0;
            int Multiplier = 5;

            if (Class == 132 || Class == 142)
                Multiplier = 15;
            if (Class == 133 || Class == 143)
                Multiplier = 20;
            if (Class == 134 | Class == 144)
                Multiplier = 25;
            if (Class == 135 || Class == 145)
                Multiplier = 30;

            Mana = (Spi * Multiplier);

            int BaseMP = Mana;
            MaxMP += (ushort)BaseMP;
            Ready = true;
            return (ushort)Mana;
        }
09/06/2009 13:06 Basser#10
I figured that out just before you posted it. :P
Thanks though!
#request change title [SOLVED-Req]MaxMana Calc
#request close
09/06/2009 14:14 tanelipe#11
#Closed