add sprite role, refactor handle_under_attack