Diagonal Spikeshooters And AI
Diagonal shooters are easy to do. Info_notnull with these fields
use spikeshooter_use
targetname blah
wait -1
spawnflags as for desired spikeshooter
movedir vec
Where
vec is a vector in the direction you want the spikes to fire. The velocity the spikes are fired at is 500*
vec, so to match standard quake behaviour this should be a vector of unit length. Of course, the advantage of this method is you can actually control how fast the spike fires by varying
vec - I hadn't thought of that before.
This sets up a triggered spikeshooter, if you want a constantly firing one the setup is a little different:
think shooter_think
wait n
nextthink 3
spawnflags as for desired spikeshooter
movedir vec
Be warned you need something else in the level to precache the required entities, like a regular shooter of the required type.
inertia: AI_Cafe is a good place to start looking, there's certainly an example of making enforcers duck there
http://minion.planetquake.gamespy.com/index3.html
Working in teams is a bit more vague though, as the quake AI atttacks are basically relentless and crude. There's only so much teamwork you can put into constantly spamming grenades until you die. If you had something more specific in mind, like say navigating more sensibly in packs rather than the current all rush straight at the player and collide, then maybe...