Hi,
I've been reverse engineering CIP server for a while (3 or 4 monts) and could notice something curious in the TSkill class. Turns out there are these flags
DeltaAct, MagicDeltaAct, Delta which represent how fast players get learning points a.k.a experience for each skill. Can't remember exactly how everything gets calculated because I'm not at home to check my notes, but I do remember these
deltas being hardcoded values for each profession. This means experience stages are perfectly possible by having a parser (ezzz released his) check for, say, Skill ID 0 (level) and having it modify its
Deltas at server save. The game server would happily load everything because these values are assigned when a player logs in for the first time and then trusted to remain the same (until, of course, the userfile is deleted). Quiet the same way premium rose delivery used to work.
@Ezzz please correct me if wrong?
However, since user files are kept in memory at runtime and the ones on disk are ignored, there would be a time gap between players getting to the level where stages change and the change itself (can be applied only while the server is rebooting).
Also it may be possible to implement ghosting (not tested and wouldn't work like RL) by removing the Unpass flag from ItemID 99 (Creature Container) in objects.srv.