There's a mistake in the current CVS code related to my spell set patch which I guess has crept in when you tidied things up. I originally had, in common/eq_packet_structs.h, this:
Code:
struct LoadSpellSet_Struct {
uint32 spell[10]; // 0xFFFFFFFF if no action, slot number if to unmem starting at 0
};
but you have it as
Code:
struct LoadSpellSet_Struct {
uint32 spell[MAX_PP_MEMSPELL]; // 0xFFFFFFFF if no action, slot number if to unmem starting at 0
};
The client actually sends back 10 spell entries to the server, even though the client actually crashes if it is asked by the server to manipulate the 10th slot. In the current source you've changed MAX_PP_MEMSPELL to 10. I've fixed it on my server by having the for loop run through to MAX_PP_MEMSPELL-1. I originally tried setting MAX_PP_MEMSPELL back to 9 but this had strange effects (the client was not seeing my characters at login).
Paul.