Page 1 of 1

Test notes

Posted: 16 Feb 2024, 22:47
by Wellvin

The "Modern OpenGL" option (F9 > video) had some lag when going in/out of buildings while the "Software" had almost no lag.

At level 8, I'm able to equip the Round Leather Shield (Req. level 9).
Upon completing Vincent quest I see 2 messages instead of 1:
[20:06] You picked up 850 GP.
[20:06] You receive 850 GP!


Re: Test notes

Posted: 25 Feb 2024, 23:55
by ThinkSome

You can equip items above your level as the level restrictions are off in ML.

The first pickup message probably comes from within the client,
while the second is dispatched from

Code: Select all

npc/005-1/vincent.txt:    message strcharinfo(0), l("You receive @@ GP!", 850);

Perhaps Jesusalva knows more about why that message is there,
because money pickup notifications seem to be the default.


Re: Test notes

Posted: 26 Feb 2024, 00:19
by jesusalva
ThinkSome wrote: 25 Feb 2024, 23:55

You can equip items above your level as the level restrictions are off in ML.

The first pickup message probably comes from within the client,
while the second is dispatched from

Code: Select all

npc/005-1/vincent.txt:    message strcharinfo(0), l("You receive @@ GP!", 850);

Perhaps Jesusalva knows more about why that message is there,
because money pickup notifications seem to be the default.

Experience notifications is because M+/MV omits when you level up, GP notifications are likely for "too old code" reasons.


Re: Test notes

Posted: 28 Feb 2024, 00:10
by ThinkSome
jesusalva wrote: 26 Feb 2024, 00:19

Experience notifications is because M+/MV omits when you level up,

Should this be changed so xp received is shown even at lvl-up?

I've looked at TMWA and this is how level-up is done:

First comes the "new baselevel" packet:

Code: Select all

0000 readInt16:  176 0xb0: SMSG_PLAYER_STAT_UPDATE_1
Level-up here, should be 6/9 xp + 6 xp spilling over to lvl 2 and 3/16 xp.
Levelup message?
0002 readInt16:  11 0xb: type
0004 readInt32:  2 0x2: value

Then the new xp required for lvl-up:

Code: Select all

0000 Receive packet: MessageIn
0000 readInt16:  177 0xb1: SMSG_PLAYER_STAT_UPDATE_2
0002 readInt16:  22 0x16: type
0004 readInt32:  16 0x10: value

Then comes the xp packet:

Code: Select all

0000 readInt16:  177 0xb1: SMSG_PLAYER_STAT_UPDATE_2
Sp::BASEEXP
0002 readInt16:  1 0x1: type
0004 readInt32:  3 0x3: value
3 xp received.

And the xp gained message is skipped in LocalPlayer::attributeChanged because new xp < old xp. ManaVerse would have to keep track of old lvl-up xp to accurately show xp gained here.