1) Неважно сколько сторон, важно как один юнит определяет другого - друг(нейтральный)/враг. Сейчас это делается по двум спискам (умные/красивые), в более общем случае (N сторон) возможны варианты.
2) После того как такое определение состоялось - уже отрабатывает AI (атакует или нет), в существующем виде он вполне подходит.
По п.2 ничего переделывать не надо, только по п.1 механизм определения свой/чужой.
П.С. Да, я в курсе что 3 строчки - это не ТЗ.