Moved weapon logic outside player class.