Modern first-person games usually include many different kinds of weapons. This adds to the players' entertainment by varying their experience, providing them with more challenges. Different weapons require different abilities from the players—whether human or AI. Obviously, contact weapons require movement abilities to get into proximity of the target, but direct control of the weapon is also required to inflict the damage. On the other hand, projectiles require being fired from a distance while aiming for the target.
Beyond these rough categorizations, each variety of weapon requires different skills—each of which may need handling separately by the AI. For example, a weapon with fast projectiles behaves very differently from a slow one. Each alternate firing mode also requires different abilities. The essence of the combat is the common denominator: the ability to damage the enemy by shooting. This basic ability may be modeled as a reusable component in the AI, from which specific skills are derived.