Each type of character now has their own unique update function