The food.tick() is activated twice per tick in the latest version. It's called twice in tick() located in CharacterClass.gd. I removed one of the calls for myself.
Also when checking for the exp requirement the code checks the level reqs against the theoretical maximum, not the currentclassnumber so that if one raises the amount of classes per growth it automatically chooses the last (biggest) entry from the soft requirements list. I fixed this by replacing line 48 in ch_leveling with "if exparray.size()-1 < currentclassnumber:"