Thanks for clearing that up KLS.  I don't really know much about the BLOBs and I am guessing that is what pp stuff is.  I know level is stored directly in the character_ table, which is why I thought level2 had to be added there.  I am still not clear on why there is a level field in the table if it is also in the pp (blob I guess).
Either way, if level2 is already there, then it looks like this should be a simple fix.  I will give it a try and see how it tests.
I also think that these 2 lines could be removed:
	Code:
	        lu->level_old = level;
        level = set_level;
 Because I don't see where those are even used anywhere in the code.
I also don't see any use of level_old and can't think of any reason why it would even exist.  That is why I thought the packet structure might be wrong.  Once I was done posting that, I already knew it had nothing to do with the fix, but it probably doesn't hurt to have the packet structure corrected if it is wrong.  I am not saying that it is wrong, but just that I don't know what a level_old would be used for and I don't see it referenced anywhere else, or used anywhere.  Just something to consider, anyway.