нечего изобретать кривую систему.
один тип ботов - в самый раз. в етом типе должно быть поле, определяющее какой именно тип бота. зачем это надо? а затем, что много кода у разных ботов должно делать одно и то же. все они должны умирать, перемещаться, коллизится и т.д. поетому чтобы тебе по 20 раз не писать одно и то же (а потом еще и исправлять ето), пиши ето один раз. как то так:
for b.bot=each bot
if b\tp = BOT_SOLIDER
код обработки солдата
endif
if b\tp = BOT_MUTANT
код обработки мутанта
endif
if b\tp = BOT_KSENYA_SOBCHAK
код обработки босса
endif
код обработки всякого
next