Если два экземпляра Combatant и объект Weather получают уведомления в результате обновления счета тиков часов, а не в результате прямого вмешательства объекта Fight, то это модель Observer.
Если ваш объект Fight запускает уведомления напрямую, вы можете использовать паттерн Command для инкапсуляции получателей или заставить объект Fight отправлять сообщения непосредственно объектам Combatants и Weather по отдельности.
Прикрепляю к посту несколько видео по теме: