When programming for Antivirus, my job mostly revolved around scripting the Hive enemy, and weapons.
The Hive is a simple, high armor enemy. Scripting wise, it's behavior focuses around spawning turrets at a spawn point. When it spawns a turret, the four arms open up dropping the turret in place. After spawning a turret, the arms close up and there is a delay until it can spawn another.
The hive turrets were stationary floating guns based off of my base gun script. The main difference between them all would be their bullet types. If they can shoot, they fire a bullet at a set speed from a barrel(or multiple barrels) and go into a cool down state until they can fire again after reloading.