Firstly I would like to say that I did not write all of this. This guide is written by UponWish three years ago and improved by PepsiBandit two years ago, and optimized by me today (14:52 GMT +1, 11. may 2014). Data for experienced HP washers: Spoiler Here's some data for those who already know about HP Washing: Job, HP gained, MP lost, Min MP, Min HP Beginner, +8~12HP, -8MP, (10 x level) +2, (12 x level) +50 Warrior, +50~54HP, -4MP, (4 x level) +156, (24 x level) +172 Thief, +20~24HP, -12MP, (4 x level) +56, (24 x level) +472 Bowman, +16~20HP, -12MP, (14 x level) +148, (20 x level) +378 Magician, +6~10HP, -90MP, (14 x level) +148, (20 x level) +378 Pirate, +16~20HP (+36~40HP for Brawlers), -16MP, (18 x level) +111, (22 x level) +380 Spoiler Code: case 2048: // HP int MaxHP = c.getPlayer().getMaxHp(); if (c.getPlayer().getHpApUsed() == 10000 || MaxHP == 30000) return; ISkill improvingMaxHP = null; int improvingMaxHPLevel = 0; if (c.getPlayer().getJob().isA([COLOR="DarkGreen"]MapleJob.BEGINNER[/COLOR])) { [COLOR="DarkGreen"]MaxHP += rand(8, 12)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Blue"]MapleJob.WARRIOR[/COLOR])) { improvingMaxHP = SkillFactory.getSkill(1000001); improvingMaxHPLevel = c.getPlayer().getSkillLevel(improvingMaxHP); if (improvingMaxHPLevel >= 1) { [COLOR="blue"]MaxHP += rand(20, 24) + improvingMaxHP[/COLOR].getEffect(improvingMaxHPLevel).getY(); } else { [COLOR="blue"]MaxHP += rand(20, 24)[/COLOR]; } } else if (c.getPlayer().getJob().isA([COLOR="Orange"]MapleJob.MAGICIAN[/COLOR])) { [COLOR="Orange"]MaxHP += rand(6, 10)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Purple"]MapleJob.BOWMAN[/COLOR])) { [COLOR="purple"]MaxHP += rand(16, 20)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Red"]MapleJob.THIEF[/COLOR])) { [COLOR="red"]MaxHP += rand(20, 24)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Sienna"]MapleJob.PIRATE[/COLOR])) { improvingMaxHP = SkillFactory.getSkill(5100000); improvingMaxHPLevel = c.getPlayer().getSkillLevel(improvingMaxHP); if (improvingMaxHPLevel >= 1) { [COLOR="Sienna"]MaxHP += rand(16, 20) + improvingMaxHP[/COLOR].getEffect(improvingMaxHPLevel).getY(); } else { [COLOR="Sienna"]MaxHP += rand(16, 20)[/COLOR]; } } MaxHP = Math.min(30000, MaxHP); c.getPlayer().setHpApUsed(c.getPlayer().getHpApUsed() + 1); c.getPlayer().setMaxHp(MaxHP); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXHP, MaxHP)); break; case 8192: // MP int MaxMP = c.getPlayer().getMaxMp(); if (c.getPlayer().getMpApUsed() == 10000 || c.getPlayer().getMaxMp() == 30000) return; if (c.getPlayer().getJob().isA(MapleJob.BEGINNER)) { MaxMP += rand(6, 8); } else if (c.getPlayer().getJob().isA(MapleJob.WARRIOR)) { MaxMP += rand(2, 4); } else if (c.getPlayer().getJob().isA(MapleJob.MAGICIAN)) { ISkill improvingMaxMP = SkillFactory.getSkill(2000001); int improvingMaxMPLevel = c.getPlayer().getSkillLevel(improvingMaxMP); if (improvingMaxMPLevel >= 1) { MaxMP += rand(18, 20) + improvingMaxMP.getEffect(improvingMaxMPLevel).getY(); } else { MaxMP += rand(18, 20); } } else if (c.getPlayer().getJob().isA(MapleJob.BOWMAN)) { MaxMP += rand(10, 12); } else if (c.getPlayer().getJob().isA(MapleJob.THIEF)) { MaxMP += rand(10, 12); } else if (c.getPlayer().getJob().isA(MapleJob.PIRATE)) { MaxMP += rand(10, 12); } MaxMP = Math.min(30000, MaxMP); c.getPlayer().setMpApUsed(c.getPlayer().getMpApUsed() + 1); c.getPlayer().setMaxMp(MaxMP); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXMP, MaxMP)); break; Here's some data for HP washing by adding the point to HP using an AP reset, and then removing it using another reset: Job, HP gained, MP lost, Min MP, Min HP Beginner, +8~12HP, -8MP, (10 x level) +2, (12 x level) +50 Warrior, +50~55HP, -4MP, (4 x level) +156, (24 x level) +172 Thief, +16~20HP, -12MP, (4 x level) +56, (24 x level) +472 Bowman, +16~20HP, -12MP, (14 x level) +148, (20 x level) +378 Magician, +10~20HP, -90MP, (14 x level) +148, (20 x level) +378 Pirate, +20HP (+40HP for Brawlers), -16MP, (18 x level) +111, (22 x level) +380 Spoiler Code: switch (APTo) { case 64: // str if (c.getPlayer().getStr() >= 999) { return; } c.getPlayer().setStr(c.getPlayer().getStr() + 1); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.STR, c.getPlayer().getStr())); break; case 128: // dex if (c.getPlayer().getDex() >= 999) { return; } c.getPlayer().setDex(c.getPlayer().getDex() + 1); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.DEX, c.getPlayer().getDex())); break; case 256: // int if (c.getPlayer().getInt() >= 999) { return; } c.getPlayer().setInt(c.getPlayer().getInt() + 1); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.INT, c.getPlayer().getInt())); break; case 512: // luk if (c.getPlayer().getLuk() >= 999) { return; } c.getPlayer().setLuk(c.getPlayer().getLuk() + 1); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.LUK, c.getPlayer().getLuk())); break; case 2048: // hp int maxhp = c.getPlayer().getMaxHp(); if (maxhp >= 30000) { c.getSession().write(MaplePacketCreator.updatePlayerStats(MaplePacketCreator.EMPTY_STATUPDATE, true)); return; } else { if (c.getPlayer().getJob().isA([COLOR="DarkGreen"]MapleJob.BEGINNER[/COLOR])) { [COLOR="DarkGreen"]maxhp += rand(8, 12)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Blue"]MapleJob.WARRIOR[/COLOR])) { ISkill improvingMaxHP = SkillFactory.getSkill(1000001); int improvingMaxHPLevel = c.getPlayer().getSkillLevel(improvingMaxHP); [COLOR="blue"]maxhp += rand(20, 25)[/COLOR]; if (improvingMaxHPLevel >= 1) { [COLOR="blue"]maxhp += improvingMaxHP[/COLOR].getEffect(improvingMaxHPLevel).getY(); } } else if (c.getPlayer().getJob().isA([COLOR="DarkOrange"]MapleJob.MAGICIAN[/COLOR])) { [COLOR="DarkOrange"]maxhp += rand(10, 20)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Purple"]MapleJob.BOWMAN[/COLOR])) { [COLOR="Purple"]maxhp += rand(16, 20)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Red"]MapleJob.THIEF[/COLOR])) { [COLOR="Red"]maxhp += rand(16, 20)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Sienna"]MapleJob.PIRATE[/COLOR])) { ISkill improvingMaxHP = SkillFactory.getSkill(5100000); int improvingMaxHPLevel = c.getPlayer().getSkillLevel(improvingMaxHP); [COLOR="Sienna"]maxhp += 20;[/COLOR] if (improvingMaxHPLevel >= 1) { [COLOR="Sienna"]maxhp += improvingMaxHP[/COLOR].getEffect(improvingMaxHPLevel).getY(); } } maxhp = Math.min(30000, maxhp); c.getPlayer().setHpApUsed(c.getPlayer().getHpApUsed() + 1); c.getPlayer().setMaxHp(maxhp); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXHP, c.getPlayer().getMaxHp())); break; } case 8192: // mp int maxmp = c.getPlayer().getMaxMp(); if (maxmp >= 30000) { return; } else { if (c.getPlayer().getJob().isA(MapleJob.BEGINNER)) { maxmp += rand(6, 8); } else if (c.getPlayer().getJob().isA(MapleJob.WARRIOR)) { maxmp += rand(2, 4); } else if (c.getPlayer().getJob().isA(MapleJob.MAGICIAN)) { ISkill improvingMaxMP = SkillFactory.getSkill(2000001); int improvingMaxMPLevel = c.getPlayer().getSkillLevel(improvingMaxMP); maxmp += rand(18, 20); if (improvingMaxMPLevel >= 1) { maxmp += improvingMaxMP.getEffect(improvingMaxMPLevel).getY(); } } else if (c.getPlayer().getJob().isA(MapleJob.BOWMAN)) { maxmp += rand(10, 12); } else if (c.getPlayer().getJob().isA(MapleJob.THIEF)) { maxmp += rand(10, 12); } else if (c.getPlayer().getJob().isA(MapleJob.PIRATE)) { maxmp += rand(10, 12); } maxmp = Math.min(30000, maxmp); c.getPlayer().setMpApUsed(c.getPlayer().getMpApUsed() + 1); c.getPlayer().setMaxMp(maxmp); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXMP, c.getPlayer().getMaxMp())); break; ♠♠ Fully revised HP washing guide for beginners ♠♠ Index 1.Abstract A. What is HP washing? B. How does it work? C. Will your damage be affected by using this technique? D. Who should do it? E. What is the rate between HP gain and MP lost? F. What are the Pros and Cons of HP washing? G. How to improve MP gained per level H. How much HP washing can you do / should you do? I. How to HP Wash J. When can I do HP washing? 2. Facts 3. INT Equip Suggestions 4. Conclusion 5. Summary 6. Credits 7. References 1. Abstract A. What is HP washing? This concept was first pioneered by Tiger from GMS and further tested out and improved by many guys including Tanyia and kwanhua from MSEA. HP washing is not against any rules and is essential for certain bosses. B. How does it work? Normally when you level up you will have your 5 spare AP and you will just add them to what ever you want. With HP washing you will first put these 5 AP into HP. Once it is in HP you can then buy an AP reset scroll from the cash shop (you need one for each point), Then you will use the reset and you can take one point out of MP and return this spare point into what ever you were originally going to. Important note: You can just keep reusing the same 1 AP, adding it to HP, then taking it out of MP and repeat until you reach minimum MP C. Will your damage be affected by using this technique? No. The overall outcome will be a reduction of your MP and an increase of HP with no affect on your damage. There is an alternative to HP washing known as blood washing which will have an affect on your damage. Blood washing involves only adding into HP without extracting the AP after to use (I wouldn’t recommend this). D. Who should do it? The class that benefits most from HP washing is warrior. HP washing is almost essential at higher levels because of the high damage by bosses. Some of these bosses would be impossible for certain jobs unless washed. E. What is the rate between HP gain and MP lost? Beginner +8~12HP, -8MP Warrior +50~54HP -4MP Thief +20~24 HP -12MP Bowman +16~20HP -12MP Magician +6~10Hp -90MP Pirate +16~20HP (+36~40HP for Brawlers) -16MP F. What are the Pros and Cons of HP washing? Pros: - Gain more HP so you can survive 1~ 2 HKO from boss monsters (Zakum, Horntail, Grandpa, Anego, Papulatus, Pink Bean… etc) attacks that deal large amounts of damage! - It will also mean that you need less money for pots at higher levels assuming that you use % HP pots such as ginger ales. Cons: - It's very expensive, 3.1K NX per wash. G. How to improve MP gained per level Every 10 INT that you have when you level up will increase your MP gained by 1. To be able to have more INT without it affecting your damage and training speed people will often buy INT gear. INT gear are items that have been specifically scrolled for INT, not often intended for use. This means the items are often common instead of job specific. The amount of INT gained increases in steps. If for example you had +10 INT items then you would get 1 additional MP, if your had 20 INT you would get 2 MP. If you only had 19 INT you would get 1 MP. The extra MP gained increases in discrete steps. It’s best to start wearing INT items as early as possible to gain the most out of it (level 1 if possible). H. How much HP washing can you do / should you do? It varies from job to job. But the minimum MP is the thing that controls it all. However if you use INT gear, you can gain a lot more MP. The more MP you gain, the more you can potentially wash. (This is for after 2nd job advancement) Min MP Formula for Beginner = 10 x level + 2 Min MP Formula for Spearman class = 4 x level + 156 Min MP Formula for Fighter class = 4 x level + 56 Min MP Formula for Bowman = 14 x level + 148 Min MP Formula for Thief = 14 x level + 148 Min MP Formula for Pirate = 18 x level + 111 For eg, let’s assume that you are a Level 200 Thief with 4000 MP. The thief minimum MP that he can’t remove is 200 x 14 + 148 = 2948 So, this thief could channel at MOST 4000 MP - 2948 MP = 1052 MP into his HP To be more realistic you probably would not need to wear godly INT gear from level 1 and wash as much as you can. The amount of HP for each job is: (This is for after 2nd job advancement) Min HP Formula for Beginner = 12 x level + 50 Min HP Formula for Spearman class = 24 x level + 172 Min HP Formula for Fighter class = 24 x level + 472 Min HP Formula for Bowman = 20 x level + 378 Min HP Formula for Thief = 20 x level + 378 Min HP Formula for Pirate = 22 x level + 380 You will then need to decide how much HP you feel that you need. Some of the following are targets you might want: Monster Magic Damage Touch Damage Crimson Balrog 2.5k 4.5k Ergoth 3.9k 3k Zakum 2.9k 11k Pianus 5k 5.2k Papulatus 6k 5.2k Bigfoot 12k Anego 19k 12k Horntail 7.8k 23k Pink Bean 19k 23k Please note that the damage shown is not always the maximum amount needed in order to be able to safely kill the bosses and that with Pink Bean it also has an instant kill attack. I. How to HP Wash Step 1: Keep some spare AP for washing when you level up. Step 2: Calculate your minimum MP Step 3: Calculate the amount of resets you can do Step 4: Using AP Reset Cards (NX Cash) 1. Put 1 AP into HP (doing this one at a time is often the most sensible although it makes no difference in the end) 2. Use AP Reset to reduce 1 point from MP. 3. Add that 1 point into your primary attribute. (example: If you are a Thief, add to LUK) 4. Repeat step 1 and 2 until all your AP have been used. J. When i can do HP washing? I would recommend waiting until after the second job advancement as you can get more HP per MP that way. This does not mean you should not wear INT equips as soon as you can though. 2. Facts: 1. Maximum HP/MP cap for all jobs is 30,000. 2. YES, you can do HP washing at level 1 with umbrella and bandana. About 12~13MP every level from lvl 1-10 3. Do not try to reset with Hyper Body, it won’t work. 4. It is NOT possible for lvl 200 to reach 30k HP without hyper body/washing now. 5. It is also currently NOT possible to reach 30k by normal HP washing (without INT gear). 6. It is ONLY possible to reach 30k now if you wash with INT gear. 7. Will wearing STR gear gain more HP? No, no and no. After research, it has proven that HP washing is the only way. 8. If you put AP to HP and cant -MP mean you have reached the minimum MP limit. Then u will temporarily weaker than normal until you can further wash in the coming levels. So, wash AP per AP is advisable. 3. INT Equip Suggestions: The most common items INT items are listed below with an approximate INT gain assuming you have decent funds available (much higher INT can be achieved). Remember that you should equip these before you level when you are about 99.90%, make sure you do not leave it until too late to equip them. Item, Level, Average int Hat: Black Bandana, 10, 1~3 INT Green Bandana, 10, 1~10 INT (scrolled) Zakum Helm, 50, 13~17 INT Overall: Bath Robe, 20, 10~20 INT (scrolled) Earrings: Any earring, 15+, 4~5 INT (scrolled) Capes Any cape, 25+, 8~11 INT (scrolled) Weapons: Wooden Wand, 8, 4~8 INT (scrolled) Blue Umbrella, 0, 1~6 INT (scrolled) Gloves: Work gloves, 10, 4~7 INT (scrolled) Shoes: Yellow Snow Shoes, 50, 3~6 INT (clean or scrolled) Shield: Any shield, 5+, 5~7 INT (scrolled) These would be decent INT items that could be used for washing but every little helps. I would recommend buying a zakum helm to begin with as it is probably the most effective at increasing INT for cost. Some of the other cheap items would be 100% scrolling a bath robe and buying a low INT cape. HP washing on a low budget would give you around 30 extra INT. If you plan on spending very large amounts (billions on each item) of money you can get over 150 INT. 4. Conclusion So, if each time you wear +30 INT equipment at 99.9% before next level, you would gain additional 3 MP, and leveling 3 times would get you 15 MP. It would be sufficient for about 1 AP reset (check table at the top of the page). If you are wearing +90 INT equipment, you will gain 9 MP per level, and in 3 levels you gain 27 MP. If you are a warrior then this would be enough to use 6 AP Resets= 6×55HP = 330 HP! In short, every 10 INT gains 1 MP. 5. Summary The main reasons for HP washing are to make it easier and safer to train at places such as skeles and to kill bosses. For dark knights there is also the bonus of using bersek which requires you to be on less than 40% HP and gives a 200% attack bonus. If you had 30k HP with then you would still be able to get this bonus with 12k HP which is enough to take a hit from almost any monster. 6. Credits UponWish, for originally writing this Tiger, from GMS for invention of HP theory Tanyia, and many others from MSEA for the washing HP information Ayumilove, maple blog and her formulas LostJVlyDex from Khaini GMS for discovering the flaw in the theory PepsiBandit, MesosPlz mod and someone who made noticeable adjustments to this guide The guild Queens here on MapleRoyals, for answering all my tedious questions and being extremely helpful helping me optimize this premade guide for MapleRoayls Pheelo, for optimizing this guide for MapleRoyals 7. References: Tutorial Vids: Normal resetting (without INT gear) http://www.youtube.com/watch?v=jFfHts-iUdg AP Reset cash value *Each AP Reset Scroll - 3100 NX The purpose of this thread was to give people ideas on how to construct their washing skills while being able to make decisions for themselves. There is no ultimate guide out there, or else it would have been apparent to us right from the beginning. Any questions or suggestions are welcome. ♪HAPPY WASHING♪ Original source: http://www.sleepywood.net/forum/showthread.php?t=1502061 Thank you for taking the to read this and please feel free to ask any questions. ~Pheelo
I would like to say that from my experience of HP washing my hermit (Nikon) is that the average HP gain is 20~24. I haven't seen any HP addition lower than 20 and higher than 24. The MP loss is correct.
This would also correlate with what Matt once posted: Code: else if (c.getPlayer().getJob().isA(MapleJob.THIEF)) { MaxHP += rand(20, 24); }
Thx to you guys, and Matt for the code. Fixed it. Noticed in the code that brawlers have a HP increase like warriors have, added it to the guide.
You might want to add that you can also add 1 AP into HP, and then keep taking AP out of MP and putting it into HP. If I remember correctly, it's a loss of HP because the HP gained is static and not varied, however you don't need to save AP if you use this method.
I had my doubts about it, have been trying to get a hold of you, thanks for your input. I have fixed it now. How is it a loss of HP? As you say yourself, HP gain is static. That would mean that every point you put in HP will yield the same area HP, for example, beginners get 8-12 HP no matter what method you use. Also, as you probably know, every washing method will only work till you reach minimum MP. I'll add the method to the guide, thanks for your input.
It's a loss of HP because if you directly add the AP into HP (without using an AP reset) it's a varied number. Like you said beginners get 8-12 HP. If you use the method I'm speaking of, it's not 8-12. The HP gained would be a static number, something like 8 HP per wash rather than 8-12 HP. I don't know the actual number but I'm just using that as an example. Over time the HP loss would become significant.
Wow, that's pretty interesting, I hope a GM can provide us with the code used to AP resets so we can clear things up
UPDATE I had contact with Matt today and he gave me these data for adding HP using AP resets: Code: switch (APTo) { case 64: // str if (c.getPlayer().getStr() >= 999) { return; } c.getPlayer().setStr(c.getPlayer().getStr() + 1); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.STR, c.getPlayer().getStr())); break; case 128: // dex if (c.getPlayer().getDex() >= 999) { return; } c.getPlayer().setDex(c.getPlayer().getDex() + 1); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.DEX, c.getPlayer().getDex())); break; case 256: // int if (c.getPlayer().getInt() >= 999) { return; } c.getPlayer().setInt(c.getPlayer().getInt() + 1); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.INT, c.getPlayer().getInt())); break; case 512: // luk if (c.getPlayer().getLuk() >= 999) { return; } c.getPlayer().setLuk(c.getPlayer().getLuk() + 1); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.LUK, c.getPlayer().getLuk())); break; case 2048: // hp int maxhp = c.getPlayer().getMaxHp(); if (maxhp >= 30000) { c.getSession().write(MaplePacketCreator.updatePlayerStats(MaplePacketCreator.EMPTY_STATUPDATE, true)); return; } else { if (c.getPlayer().getJob().isA([COLOR="DarkGreen"]MapleJob.BEGINNER[/COLOR])) { [COLOR="DarkGreen"]maxhp += rand(8, 12)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Blue"]MapleJob.WARRIOR[/COLOR])) { ISkill improvingMaxHP = SkillFactory.getSkill(1000001); int improvingMaxHPLevel = c.getPlayer().getSkillLevel(improvingMaxHP); [COLOR="blue"]maxhp += rand(20, 25)[/COLOR]; if (improvingMaxHPLevel >= 1) { [COLOR="blue"]maxhp += improvingMaxHP[/COLOR].getEffect(improvingMaxHPLevel).getY(); } } else if (c.getPlayer().getJob().isA([COLOR="DarkOrange"]MapleJob.MAGICIAN[/COLOR])) { [COLOR="DarkOrange"]maxhp += rand(10, 20)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Purple"]MapleJob.BOWMAN[/COLOR])) { [COLOR="Purple"]maxhp += rand(16, 20)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Red"]MapleJob.THIEF[/COLOR])) { [COLOR="Red"]maxhp += rand(16, 20)[/COLOR]; } else if (c.getPlayer().getJob().isA([COLOR="Sienna"]MapleJob.PIRATE[/COLOR])) { ISkill improvingMaxHP = SkillFactory.getSkill(5100000); int improvingMaxHPLevel = c.getPlayer().getSkillLevel(improvingMaxHP); [COLOR="Sienna"]maxhp += 20;[/COLOR] if (improvingMaxHPLevel >= 1) { [COLOR="Sienna"]maxhp += improvingMaxHP[/COLOR].getEffect(improvingMaxHPLevel).getY(); } } maxhp = Math.min(30000, maxhp); c.getPlayer().setHpApUsed(c.getPlayer().getHpApUsed() + 1); c.getPlayer().setMaxHp(maxhp); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXHP, c.getPlayer().getMaxHp())); break; } case 8192: // mp int maxmp = c.getPlayer().getMaxMp(); if (maxmp >= 30000) { return; } else { if (c.getPlayer().getJob().isA(MapleJob.BEGINNER)) { maxmp += rand(6, 8); } else if (c.getPlayer().getJob().isA(MapleJob.WARRIOR)) { maxmp += rand(2, 4); } else if (c.getPlayer().getJob().isA(MapleJob.MAGICIAN)) { ISkill improvingMaxMP = SkillFactory.getSkill(2000001); int improvingMaxMPLevel = c.getPlayer().getSkillLevel(improvingMaxMP); maxmp += rand(18, 20); if (improvingMaxMPLevel >= 1) { maxmp += improvingMaxMP.getEffect(improvingMaxMPLevel).getY(); } } else if (c.getPlayer().getJob().isA(MapleJob.BOWMAN)) { maxmp += rand(10, 12); } else if (c.getPlayer().getJob().isA(MapleJob.THIEF)) { maxmp += rand(10, 12); } else if (c.getPlayer().getJob().isA(MapleJob.PIRATE)) { maxmp += rand(10, 12); } maxmp = Math.min(30000, maxmp); c.getPlayer().setMpApUsed(c.getPlayer().getMpApUsed() + 1); c.getPlayer().setMaxMp(maxmp); statupdate.add(new Pair<MapleStat, Integer>(MapleStat.MAXMP, c.getPlayer().getMaxMp())); break; In Short Job, Using AP from level up to gain HP, using AP from AP reset to gain HP Beginner, +8~12HP, +8~12HP The Same Warrior, +50~54HP, +50~55HP Slightly better Thief, +20~24HP, +16~20HP Much worse Bowman, +16~20HP, +16~20HP The Same Magician, +6~10HP, +10~20HP Much better Pirate, +16~20HP (+36~40HP for Brawlers), +20HP (+40HP for Brawlers) Much better
I've made your post a sticky, as I think it will be of great help to a lot of players! Thank you for making it!
To get this 100% straight: I'm a Shadower, so if I were to reset LUK, put it in HP and then reset MP back to LUK, I would get 16~20 HP? I always thought it always gave me 16 HP... o:
No you would get 20~24 for +hp -> -mp + luk If you put in HP, reset MP back to HP, you'd get 16~20 (instead of 16 fixed).
So if you reset AP out of a regular stat (rather than using level-up AP) and place it into HP, you get the maximum of your job's range, every time? So you're using twice as many AP resets for the same amount of washes? That's a little extreme.
No. Add your level up ap into hp, then subtract mp and add the reset ap to regular stat. 1 reset per wash.
Let me try to explain this. There are 2 main methods of HP washing. Let's call the first method the traditional HP washing method, since it is the one most players are familiar with. Method 1 Step 1. Add 1 point to HP Step 2. Use AP Reset, deduct 1 point from MP and add it back into the relevant stat(luk, dex etc.) Notes: You are limited to 5 resets per level since it uses the AP gained from level up. Following this method will allow a gain of Beginner, +8~12HP, Warrior, +50~54HP Thief, +20~24HP Bowman, +16~20HP Magician, +6~10HP Pirate, +16~20HP (+36~40HP for Brawlers) Method 2 Step 1. You need to add at least 1 point in HP first. Step 2. Use AP reset, -mp and add hp. Step 3. You can keep repeating Step 2 till you hit the minimum mp. Notes: People used to argue against this method, since it seems that adding HP using an AP Reset would fix the HP gained (at +16 for thieves for example). But due to how it is coded here in Royals, it does not fix the HP gain, hence it is a viable method to HP wash as well. Following this method will allow a gain of Beginner, +8~12HP Warrior +50~55HP Thief 16~20HP Bowman +16~20HP Magician +10~20HP Pirate +20HP (+40HP for Brawlers) As Pheelo has compared both methods: Method 1 VS Method 2
...? I used to do real HP Washing. This is where you take points in and out of HP. (You lost less HP than you gained when doing so) Does this not work here?
You can test it if you want, but if it was more efficient per reset chances are someone would have tested it already.
With this method could you just work on getting your MP pool nice and fat with base int/int equips and then mass HP wash at level 120?