Can We Get the Source Code for Job Advacement HP/MP Gains?

Discussion in 'Closed' started by Gossamer, Dec 1, 2015.

  1. Gossamer
    Offline

    Gossamer Donator

    Joined:
    Apr 15, 2014
    Messages:
    433
    Likes Received:
    449
    Gender:
    Male
    EDIT:

    The new, accurate, averages for job advancements gains are as follows:

    Job: HP/ MP

    *1st Jobs*
    Warrior: 225 / 0
    Magician: 0 / 125
    Thief: 162.5 / 0
    Archer: 162.5 / 0
    Pirate: 162.5 / 0

    *2nd-4th Jobs*
    Warrior: 325 / 0
    Magician: 0 / 475
    Archer: 325 / 175
    Thief: 325 / 175
    Pirate: 325 / 175

    *Other*
    GM: 162.5 / 0
    Super GM: 325 / 175

    All values fluctuate by 50. (i.e. 300-350)
     
    Last edited: Dec 2, 2015
  2. Flaw
    Offline

    Flaw Donator

    Joined:
    Aug 3, 2015
    Messages:
    55
    Likes Received:
    47
    Gender:
    Male
    Country Flag:
    IGN:
    Flaw
    That'd be great
     
  3. Matt
    Offline

    Matt Administrator

    Joined:
    May 8, 2013
    Messages:
    14,647
    Likes Received:
    18,776
    Gender:
    Male
    Location:
    United Kingdom
    Country Flag:
    IGN:
    Matt
    Level:
    N/A
    Guild:
    Staff
    There is a leaked "MapleRoyals Sauce" on ragezone. Just use that, it's likely the same.
     
    Michael likes this.
  4. Succubus
    Offline

    Succubus Donator

    Joined:
    Mar 3, 2015
    Messages:
    293
    Likes Received:
    1,837
    Location:
    Wet Dreams
    IGN:
    Succubus
    Level:
    ✭✭✭
    From the MapleRoyals sauce leak:
    Code:
    public void changeJob(MapleJob newJob) {
            this.job = newJob;
            this.remainingSp++;
            if (newJob.getId() % 10 == 2) {
                this.remainingSp += 2;
            }
            updateSingleStat(MapleStat.AVAILABLESP, this.remainingSp);
            updateSingleStat(MapleStat.JOB, newJob.getId());
            if (job.getId() == 100) { //FIRST JOB WARRIOR
                maxhp += rand(200, 250);
            } else if (job.getId() == 200) { //FIRST JOB MAGICIAN
                maxmp += rand(100, 150);
            } else if (job.getId() % 100 == 0) { //FIRST JOB THIEF, BOWMAN & PIRATE
                maxhp += rand(100, 150);
                maxhp += rand(25, 50);
            } else if (job.getId() > 0 && job.getId() < 200) { //SECOND - FOURTH JOB WARRIOR
                maxhp += rand(300, 350);
            } else if (job.getId() < 300) { //SECOND - FOURTH JOB MAGICIAN
                maxmp += rand(450, 500);
            } else if (job.getId() > 0) { //EVERYTHING ELSE
                maxhp += rand(300, 350);
                maxmp += rand(150, 200);
            }
            if (maxhp >= 30000) {
                maxhp = 30000;
            }
            if (maxmp >= 30000) {
                maxmp = 30000;
            }
    }
     
    Last edited: Dec 2, 2015
    Aly and Gossamer like this.
  5. Nedzad
    Offline

    Nedzad Well-Known Member

    Joined:
    Jun 16, 2014
    Messages:
    495
    Likes Received:
    201
    Gender:
    Male
    Location:
    Sweden
    Country Flag:
    IGN:
    Elint
    If it follows what was posted then the extra mp/hp added is pseudo-random so you can't know for sure until you actually do the job adv.
     
  6. Gossamer
    Offline

    Gossamer Donator

    Joined:
    Apr 15, 2014
    Messages:
    433
    Likes Received:
    449
    Gender:
    Male
    Ah. This is nice. Nice, indeed.

    It's all about them averages.
     
  7. Gossamer
    Offline

    Gossamer Donator

    Joined:
    Apr 15, 2014
    Messages:
    433
    Likes Received:
    449
    Gender:
    Male
    This still isn't checking out.

    I just asked two lvl 34 thieves what their MaxHP is, and they said 1221 and 1216.

    If each job advancement as a thief gives 300-350 HP, and each level as a thief gives 20-24 HP (24 lvls), and each level as a Beginner gives you 12-16 HP, and you start with 50 HP, then even in the worst case scenario, you get:

    9*12 + 24*20 + 300*2 + 50 =
    108 + 480 + 600 + 50 = 1238

    So a lvl 34 thief, should have, at the very least, 1238 HP.

    How were these guys under that amount?
     
  8. Succubus
    Offline

    Succubus Donator

    Joined:
    Mar 3, 2015
    Messages:
    293
    Likes Received:
    1,837
    Location:
    Wet Dreams
    IGN:
    Succubus
    Level:
    ✭✭✭
    Oh. I did the comment wrong where beginner is. There's the modulus modifier and since there are jobs that have a remainder of 0 when you divide by 100, that could be it.

    300 - Archer
    400 - Rogue
    500 - Pirate
     
    Aly likes this.
  9. Gossamer
    Offline

    Gossamer Donator

    Joined:
    Apr 15, 2014
    Messages:
    433
    Likes Received:
    449
    Gender:
    Male
    k, so, I'm assuming this line:

    else if (job.getId() % 100 == 0) { //BEGINNER
    maxhp += rand(100, 150);
    maxhp += rand(25, 50);

    doesn't just mean Beginner. I'm assuming the % 100 == 0 means 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, which include all 1st jobs.

    EDIT: Just saw your post after I posted this lol xD Glad it's all cleared up.
    EDIT EDIT: Beginner wouldn't even make any sense xD
     
  10. Gossamer
    Offline

    Gossamer Donator

    Joined:
    Apr 15, 2014
    Messages:
    433
    Likes Received:
    449
    Gender:
    Male
    I'm assuming:

    } else if (job.getId() % 100 == 0) {
    maxhp += rand(100, 150);
    maxhp += rand(25, 50);

    is a typo.

    It was probably supposed to be maxmp += rand(25, 50);
    But hey, can't complain about extra HP.
     
  11. Succubus
    Offline

    Succubus Donator

    Joined:
    Mar 3, 2015
    Messages:
    293
    Likes Received:
    1,837
    Location:
    Wet Dreams
    IGN:
    Succubus
    Level:
    ✭✭✭
    On the if / else if statement, you can see that both the first job warrior and magician classes would satisfy the condition before it reached the line where "else if (job.getId() % 100 == 0)" would be tested. Therefore, only the other three classes are affected by this "else if" statement while warriors and magicians have their own first job HP/MP increases. RIP that extra HP now that you pointed it out. :D
     
    Aly and Gossamer like this.
  12. Gossamer
    Offline

    Gossamer Donator

    Joined:
    Apr 15, 2014
    Messages:
    433
    Likes Received:
    449
    Gender:
    Male
    Another interesting thing I've found in the sauce is that Pirates only gain 10-12 MP per LevelUpAP placed into MP, when they lose 16 from each removal.

    That's a ~5 point deficit for MP Washing for Pirates, whereas most classes have a ~1 point deficit. Sucks for Pirates xD
     

Share This Page