Changed the take_damage method to push the character based on the location of what is doing damage, if what is doing damage is in the mid 16 pixels of a character (from something like a jump) the character that took damage will not move.

I also added some extra arguments to take_damage to input the offset, and velocity that the character taking damage will be pushed.