a TableManager contains a list of all tables, and each table contains a list of seats (character references).
instead of using a character reference as a parameter for your StartFightAgainst function, you should use a table reference.
any time you have a valid EnemyTable but you don’t have a valid CurrentEnemy, you go through the EnemyTable’s list of seats looking for an enemy. if none are valid, you pick a new random table from the list of tables.