Alright, I think i found the error. By extending your modification of Game_Player from Game_Character, I believe you may completely overwrite the class, making it basically an exact copy of Game_Character. This takes away all the methods BABS has added into the Game_Player class.
So, to fix it all you have to do is change this line:
class Game_Player < Game_Character
to this:
And also, one thing I noticed while reading through your script is that instead of just using an else statement, in many places you use and elseif with the exact opposite condition of the if. This is completely redundant, because if the first statement does not catch it, then the opposite of the condition must be true.