ronancpl / HeavenMS

An improved server based on MapleSolaxia (v83 MapleStory private server)
GNU Affero General Public License v3.0
1.03k stars 742 forks source link

Missing APs compared to GMS #420

Closed xinyifly closed 5 years ago

xinyifly commented 5 years ago

A lv200 warrior's AP build usually be like this:

STR: 999
DEX: 23
INT: 4
LUK: 4

In current source, 9 AP is missing from new beginner's creating, 5 AP is missing from 3rd job advancement. (4th job advancement gives 5 AP correctly)

Not sure total AP about Cygnus or Aran.

MapleCharacter.getDefault() shows that initial AP should be 25 in total:

ret.str = 12;
ret.dex = 5;
ret.int_ = 4;
ret.luk = 4;

CharacterFactoryRecipe has a different initial value:

private int str = 4, dex = 4, int_ = 4, luk = 4;
ronancpl commented 5 years ago

The 3rd job advancement AP is in fact missing and will be checked up.

In the earlier versions of GMS, every player would start up with 4 points in each attribute, thus this should be a feature at least for when players are allowed to assign their own stats on the starting beginner levels.

12/5/4/4 may still be applicable for when not using the "earlier-GMS mimic" feature (that is, when USE_AUTOASSIGN_STARTERS_AP is enabled - autoassigned APs for beginners being a behavior existent on GMS v83), this way matching the build pattern for Warrior above.

ronancpl commented 5 years ago

It's being considered to add a bonus 2/3/4 AP for 2nd to 4th job advancements for when USE_AUTOASSIGN_STARTERS_AP = false, so that it helps self-assigning mechanic to also cover the depicted Warrior build, but that will only be done in practice if enough feedback is achieved.

Anyone in agreement or discordance with this move may show up their opinion on this feature by reacting with a :+1: or :-1:, respectively, on this topic.

xinyifly commented 5 years ago

@ronancpl Hi, I noticed the USE_AUTOASSIGN_STARTERS_AP . The only confusing towards new beginner is that my new created char lost 9 AP that should be in remaining. It's supposed to be:

4/4/4/4
Unallocated: 9

But currently it's:

4/4/4/4
Unallocated: 0

In earlier version of GMS, we can roll a dice, so I think we shouldn't have a pure 4/4/4/4 stat without any extra AP at level 1 (Feeling much weaker cri). Currently I added recipe.setRemainingAp(9) in BeginnerCreator.createRecipe() in my fork.

ronancpl commented 5 years ago

Even before having dice available (v62 if I'm not wrong has that feature), on earlier GMS every character would start the game in this stat factor of 4/4/4/4, AP at 0.

That flag tries to mimic this earlier mechanic, on where players were free to up stats before level 10, and the early game was more challenging (Orange Mushrooms were actually one big threat on the early-game, and would be more challenging on non-STR players).

The way it seems to be on v83 (12/5/4/4), besides the autoassigning that helps players not to naively up dull stats, doesn't seem to be that challenging.

Suppose a player ups HP/MP all the way up when they're given that ability early-game, they'd be penalized by the game by not actually being able to pick a job since they don't fulfill any criteria. That used to be a thing back then, and this flag, when disabled, tries to fulfill that.

xinyifly commented 5 years ago

@ronancpl That was the old time mages hit snails (green) to lv8 hahahaha. (It's balanced, tho. After tough beginner time, mages became OP during first job advancement) My confuse solved, thank you.

ronancpl commented 5 years ago

@xinyifly Well, seeing the problem that sourced this issue is still up, to settle it up 2 things will be done in development:

xinyifly commented 5 years ago

@ronancpl Great! And I found that you can check if you're missing AP using a AP Reset checking that if you are able to decrease HP/MP

ronancpl commented 5 years ago

Sorry, couldn't understand your statement of using AP Reset to check out missing APs.

AP removal of HP/MP seems to be only related to the minimum base value expected for a player level, possibly unrelated to whether him/her has AP missing or not.

xinyifly commented 5 years ago

@ronancpl Assume a situation: modify a normal character's HP/MP into 30k, and try to use an AP Reset. You should be albe to decrease HP/MP. Then modify database to give user some extra APs. With user's total AP increasing, we'll find that the decrease button of HP/MP goes grey once 14 AP(9 in lv1 + 5 in 3rd job advance) added back to character.

ronancpl commented 5 years ago

Understood now that metric, thanks for showing it.

But now there's this:

image

image

From the images above, warriors at level 200 stops being able to convert HP/MP when 981/23 is reached. STR at 981 occurs when the player was given 1 AP more besides the 995 AP they are supposed to be given.

This may signal players are not intended to be given any more AP than the 995 from levels in a 4/4/4/4 base scenario.

xinyifly commented 5 years ago

@ronancpl Did you try advance your job to a 4th job like Hero?

ronancpl commented 5 years ago

@xinyifly Oops, actually didn't, my bad.

image

When trying on a 4th job class, it expects 15 AP more before blocking again. Supposedly, each job change starting from the 2nd is expected to give APs, so it seems.

xinyifly commented 5 years ago

@ronancpl Sorry for the late replies, was in traveling and finally got a chance to access Maple client. Here are a serials of Screenshots that for the detailed AP build from AP Reset.

At level 1, with 4/4/4/4 + 8

MapleForest-STAGE-WINDOW_cWkPknBAvs

4/4/4/4 + 9

MapleForest-STAGE-WINDOW_pXEKBXK7NT

Go straight level 70 (2nd job advance)

MapleForest-STAGE-WINDOW_Xo4MAwIHW3

Decrease 1 STR to prove it was correct build

MapleForest-STAGE-WINDOW_ngukLcJWpf

Level 70, 3rd job advance

MapleForest-STAGE-WINDOW_7DLeo00n0g

Decrease 1 remaining AP to prove it was correct build

MapleForest-STAGE-WINDOW_Or4bvQpuL8

Level 120, 3rd job advance

MapleForest-STAGE-WINDOW_22hAKtrrSD

Decrease 1 STR to prove it was correct build

MapleForest-STAGE-WINDOW_WsHBDbBRko

Level 120, 4th job advance

MapleForest-STAGE-WINDOW_dyj2AIBNTB

Decrease 1 remaining AP to prove it was correct build

MapleForest-STAGE-WINDOW_2UPF4K9fMF

Level 200

MapleForest-STAGE-WINDOW_S3rdumo6pV

Decrease 1 DEX to prove it was correct build

MapleForest-STAGE-WINDOW_jE1b1a9hRM

For the AP build provided in your screenshot

MapleForest-STAGE-WINDOW_KS4FRTTvmd

And with 1 remaining AP decreased

MapleForest-STAGE-WINDOW_aGimqFFTmW

It seems that you didn't count remaining AP in and your total AP actually got exceed.

MapleForest-STAGE-WINDOW_Mfydul1yG0

Online 8 days 🎉