          XTRAWEAPONS 1.9

INSTALLATION:
  make a directory for the XtraWeapons patch and create a progs subdir
  unzip distribution files into progs, run qccdos
  unzip w/ -d
  or move *.qc and progs.src into progs

  OR:
  
  use the progs.dat supplied (drop in XtraWeapons dir
      
  FOR ALL GUNS: hit impulse to change to it, hit attack button to shoot

Its real late right now, so there may be some leftovers from the camera 
patch and multiskin. I extract all the xtraweps code from TheZone Server 
code, and those are in it. It'll be up for d/l after this weekend i hope.
If anyone wants to run it, tell me.

Cluster Bombs
  fire a grenade, 1.5 secs later it explodes and tosses out 7 others.
  my first patch. Fun.

  default impulse: 70.

Bouncing Betty's for QUAKE

seen Blown Away? Yes? yo know what these are
No?
These work a little differently. You toss'em out and they go into wait mode.
they just sit there innocently until some freak comes near'em, then they
pop up and give the area a shrapnel spray at crotch level.
To quote Dark Helmet: "Say goodbye to your two best friends, and I don't
mean your pals in the Winnebago"

default impulse: 71.

Nail Rockets:

Here's one that piggybacks on the rocket launcher. It fires, then after
the fuse is up, it explodes and releases a shotgun like shrapnel spray
in the direction it was moving in.

default Impulse: 72

Laser:

This is a simple one that uses the shotgun model. It fires a laser that is
identical to the enforcer's, except its a little faster.

default Impulse: 73


Homing Rockets

I stole the HomeFindTarget code VHOLD made (who didn't?) and added a sonar 
ping. Nearby explosions will kill the rocket as well, giving a way to stop 
it, nails might work, i dont think bullets will. The sonar ping pings faster 
the closer the rocket gets. Used the bounce.wav. I may allow it to change 
targets in flight, just to make Chicken tournaments interesting, as well 
as allowing it to target its owner after a time limit (ever seen Hunt for 
Red October?)

default Impulse: 74

Lightning Rockets

These crawl through the air, (1/4 the speed of a normal rocket) and zap 
nearby people. It makes a BIG damage explosion if it hits water, and if 
it zaps someone in water its a sure gib (400 dmg if target is in water)

bug: right now it only zaps one entity at a time

default Impulse: 75

Phosphorus Grenades

These pop after 2 seconds and leave a flame at the spot, it hurts to get 
close. The flame weakens in 10 seconds, and dies 10 seconds after that.

default Impulse: 76

Napalm Rockets and Grenades

Rockets & Grenades, if i do this, it'll use a frag grenade type thing with 
nails that stick, and then if they are hurt by an explosion, they light up 
and roast whatever they're stuck to. Water will get rid of them.

bug: they dont stick to monsters/players because they dont light up on them

default Impulse: 77 ( grenades ), 78 (rockets)

OK, this is gonna take explaining. At the risk of making combining of weapon
patches possibly EXTREMELY troublesome, I screwed around a bit with the 
stuff in WEAPONS.QC and ITEMS.QC.
        
SHRAPNEL.QC has the touch func used by the Bouncers and the FragRockets as
            well as the min func used in SetCurrentAmmo();

cluster.qc has the main Cluster Bomb code
bouncer.qc has the main Bouncing Betty code
fragrock.qc has the main fragrocket code
ADD shrapnel.qc to your progs.src BEFORE you add fragrock.qc and bouncer.qc
fragrock.qc, bouncer.qc, and cluster.qc need to be before ITEMS.QC and 
WEAPONS.QC

ex:
progs.src:
..\progs.dat

defs.qc
...
shrapnel.qc
cluster.qc
bouncer.qc
fragrock.qc
...
items.qc
weapons.qc
...
EOF

For the internal changes, i added two entity fields, .weapons1 and .ef
these are to get around the fact that Quake only had 23 useable bits 
in .items, and all but 2 were used. unfortunately, i wanted 3 or more
new weapons. therefore the changes.

.ef only has one recognized value right now: EXTRA_1. This tells 
W_Attack to use the alternate weapon. Boolean fields for them are in
.weapons1. 
ergo: 
  for the shotgun: .weapon=IT_SHOTGUN;ef=0;
  for the Cluster Bombs: .weapon=WP_CLUSTER;ef=EXTRA_1;

if all bits of .weapons1 get used, just add .weapons2 and EXTRA_2=2.
then add to the relavent portions of items.qc and weapons.qc.
this allows ALL weapons to act the same to the user, hit the button to
choose, hit fire to shoot; as well as allowing for unlimited weapons.
right now, 3 bits are used in .weapons1: 
  WP_CLUSTER = 1;
  WP_BOUNCER = 2;
  WP_FRAGROCK = 4;
i ought to be using more soon.

History:
  1.0:  Clusters, Bouncers, FragRockets, and Laser
  1.8:  short lived, adds Napalm guns (not finished), Homers, 
        LightningRockets, and Phosphor Grenades, as well as a couple changes 
        to the others (made some more stuff constant)
  1.9:  Fixes bug in homer.qc (same .weapons1 bitfield as the fragrockets,
        disabled homers)

John Allensworth
tarquin@texas.net
ReaperMan on the QuakeServers
