AxxWars release v1.0
by Akke Monasso (axx@pi.net)

Hello Quakefans,

when Quake first arrived, I was a little disappointed: Yes, the engine was great, but the gameplay
hadn't advanced much since Doom. I was used to the gags and gadgets of Duke Nukem.
So I played through Quake, and returned to Duke for Deathmatch fun. A few months later QuakeC patches 
arrived: Quake started showing it's power. Holograms and Pipebombs, the things I missed most in
Quake were available now, but not at the same time, since two different patches were needed.
Since no combinationpatch was available then, I started making my own. I never programmed in any
other language than Basic, and never seriously, just the basics; so I started just copying and pasting
the changes from one patch to the other, and voil: it worked. 
Since then I started this project over twice, added and removed hundreds of patches, and learned some
QuakeC in the process. 

I know there's a few Quake Combopatches out there; I played them all, and I probably used code from 
each and every one of them, but since this combines the patches *I* like, and there's probably some 
strange persons around with similar taste, I'm releasing this to the public.

I know not a lot of this stuff is original, I apologise if someone is offended by me using his work,
but I'm not trying to make a quick buck, I'm not trying to become famous, I just want to share the fun
I have playing this patch. I contacted a few of the contributors of code, and none of them minded, as
long as I don't take credit for the work. I included the names of every known contributor in the history
below, since I'm still not perfect, I  might have forgotten someone. If you recognise your work, and
aren't listed below: please contact me, the error will be rectified asap.

I'm adding stuff and fixing bugs on a daily basis, and plan to release a version at least two times a
month, as long as the real programmers keep on releasing brilliant new stuff. I might even think of
something to program myself! Keep looking where you found this, and you'll find a new version eventually.

If you have any suggestions, bugreports or some other comment: contact me. 
I don't want your money, this stuff is completely free.
You are allowed to use any code from this patch for your own patch, as long as you credit the original
author. If it's not clear from the source and this file who wrote the original code: contact me, and 
I'll try to find it out.

You are not allowed to make money off this patch, except if you donate that money to a good cause.
Releasing it on a CDRom is a NoNo too unless you give me and every person mentioned below a free copy of that cd.

The following people have contributed to this patch, by having their code, model or sound added to the patch, by giving some ideas, by testing intensively, giving moral support or by simply putting up with me.

Aexia
Alverson, Ken
AsmodeusB
Barnett, Matt
Bell, Marc
Bolin, Cristopher
Bond, Steve
Brinkman, Mirjam
Butch
Choryoth
Cuijpers, Louis
Foobar
Guthrie, John
Hannes
Hilton, Chris
Houser, Matt
Jack the Stripper
Karl, Stephen F.
Keegan, Doug
Kirsch, Dave
Lauer, Isaac
Lee, Jeff
Lewis, Mark
Li, Ray
Mercer, Ronald E.
Nestorix
Newham, Cameron
Noordsij, Dennis
Plass, Johannes
Powell, Shane W.
Punisher
Ramsay, Scott
ScottL
Smith, Bart
Smith, Stan
Spickes, John
Sto
Thingy
VHold
Wedge
Wees, Jeroen van
Weiden, Dave
Wiedenmann, David
Wright, Jonathan E.
Yakuza
Zimmerman, Charlie


Server Management

The optimal way to play Quake with a lot of players over a LAN is by using a dedicated server. The drawback is that someone has to walk over to the server to change any settings, the Admins code changes that. A secret sequence of impulses activates admin functions for a player. He can now activate and change lots of features in this patch.
Some people hate campers; I think it's a reasonable tactic in some forms of Quake matches, especially in CTF. But When a lot of players revert to camping tactics, normal deathmatch comes to a screeching halt. That's why I added the camperkiller. Another option which might prevent a specific form of camping is the option to let items spawn at a random spot, instead of at their usual respawn spot. This allows a more dynamic game, no more battles around the quaddammage.
 
Admin
Administration
Original Author: Doug Keegan (doug.keegan@tamu.edu)
Changes: AXXAD
Modules: Admin.qc
* Activate remote administration of serverfunctions.
* The sequence of impulse 64, impulse 70, impulse 73 clears a player for admin duty.

Camperkiller 
Administration
Original Author: Marc Bell (d45f45@msn.com)
Changes: AXXCK
Modules: Camper.qc
* This option is not on normally, but can be activated by Admin Impulse 97.
* When a player stays within the same area for more than 15 seconds, he gets warned.
* Five seconds later he gets another warning and looses 50% health. 
* If he's not out of 	that area three seconds later he gets fragged and looses 2 frags.

Random Items
Administration
Original Author: Marc Bell (d45f45@msn.com)
Changes: AXXRI
Module: RandItems.qc
* Admin Impulse 82 Toggles random respawning of items, default is off.

Observer
Administration
Changes: AXXOB
* Admin impulse 98 causes player to become invisible and able to walk through walls.

Limit Weapons v1.00 
Administration
Original Author: Jeff Lee (tsngonzo@aol.com)
Changes: AXXLW
Modules: Limit.qc
* Admin can deactivate certain weapons for all players.
* Enforce a non-rocketlauncher, or shotgun only game.
* use 80 to restrict a specific impulse.
* Use 81 to allow a previously restricted impulse.

Bots

It's always hard to get a lot of people together for a nice deathmatch, and when your internet provider sucks, netplay is out of the question too. That's why I added the Eliminatorbots. These bots only work on specifically prepared maps, since they need waypoints to find their way around the levels. This makes them not very flexible, but very much like a human, because they know their way around the levels and know where important powerups are.
You can find eliminator bot levels at ftp.cdrom.com in QuakeC/Bots/Eliminator.

Eliminatorbot 
Quake Bot
Source: Eliminatorbot v1.4 
Original Author: Cameron Newham (cam@iinet.com.au)
Changes: AXXEL
Modules: CBot.qc, CBotAi.qc
* Adds a deathmatch opponent, for when no human is available.
* Admin Impulse 166: Spawn a bot.
* Admin Impulse 74: Make Bots friendly to humans.

Cujo
Quake Bot
Source: Cujo v1.4 
Original Author: Jonathan E. Wright (nelno@interpath.com)
Changes: AXXCU
Modules: CujoAi.qc
Models: Cujo, H_Cujo, bit, Cujarmor.
* When a player picks up the smallest available armour in a level, an agressive dog is spawned.
* Cujo normally kills opponents on sight.  
* Impulse 134: Summon Cujo to your side.
* Impulse 135: Activate Cujo's collarlight.
* Impulse 136: Ask Cujo for a statusreport.
* Impulse 137: Force Cujo to attack, or call off an attck.
* Impulse 133: View the action through cujo's eyes.
* Impulse 132: Let cujo roam, or stay.

Gameplay

Standard deathmatch is fun, but to add a little variety and strategy a few other gameplay options have been added. I liked the way in which deathmatch 2 left all the weapons for everyone to be picked up, but wanted ammo and health to be respawned anyway. So I changed that. Other brilliant gameplay options available are It, Capture the flag, king of the Hill and Headhunt, I added each and every one of them. The more variety, the better.

Deathmatch Modes
Gameplay

* Deathmatch = 1
* Standard Quake deathmatch, nothing changed.

* Deathmatch = 2
* Weapons don't disappear when picked up.

MonsterMash
Original Author: Sto (sto@pi.net)
Changes: AXXMM
* Deathmatch = 3
* Monstermash: All monsters appear in this mode, very crowded and bloody combat.
* Monters hit by the Axe become friendly and start attacking your enemies.

AxxFest
Changes: AXXAX
* Deathmatch = 4
* AxxFest: Axes only.

HeadHunt
Original Author: Charlie Zimmerman (czimmerm@cyberenet.net)
Changes: AXXHH
Modules: Heahunt.qc
* Deathmatch = 5, Admin Impulse = 89. 
* Impulse 18 to set the altar at PlayerStart
* Players get frags only by killing other players and bringing their heads to a central alter.
* Frags are rewarded for the number of heads brought to the alter at one time.  
* One head is worth one frag.  Two heads at one time are worth 3 frags(1+2)  Three heads 6 frags (1+2+3)...and so on.  
* Hoard many heads before scoring and get big points.  But dont get killed or you loose all your heads.

Teamplay Modes
Gameplay
Original Author: David Wiedenmann (dwied@cats.ucsc.edu)
Models: Dave Kirsch (zoid@threewave.com)
Changes: AXXTP
Module: Teamplay.qc
Sound:  flagcap.wav, flagtk.wav
Models: flag.mdl, pole.mdl. 

* Teamplay = 4, Admin Impulse = 84. 
* IT: One player is IT. Players killing IT will get 3 frags instead of 1.
* When IT kills someone, he gets no frags but his victim becomes IT.

* Teamplay = 5, Admin Impulse = 85. 
* TI: One player is TI. When TI kills a player he gets 3 frags instead of 1.
* When someone else kills TI, he become TI.

* Teamplay = 6, Admin Impulse = 86. 
* Quake-TI: One player is TI. TI does damage in proportion to the number of people in the game.  
* 8 People means TI does 8 times normal damage.  
* When someone kills TI, they become TI and get 3 frags instead of 1.

* Teamplay = 7, Admin Impulse = 87.
* Capture the Flag: The game is divided into two teams.  
* The first person to join each team gets the flag and base.  
* The game begins once both teams have placed their bases (impulse 18).  
* The goal is to get the other team's flag and bring it to your base.  
* The player who captured the flag gets 10 frags, and everyone on his team gets 5 frags.  
* Flags can be dropped by using impulse 18.

* Teamplay = 8, Admin Impulse = 88. 
* King of the Hill: The only way to get frags is the be "King of the Hill".  
* At the start of the game, someone uses impulse 18 to place the Hill.  
* Any player close enough to the Hill will gain 0.1 frags/second.

* Impulse 17 will remove flags and bases and hill.
* Impulse 18 will drop the flag, base and hill.
* Impulse 19 will cycle through available teamplay modes.
* Impulse 20 will automatically put you in the team with the least players.

Weapons	

The standard weapon is the supershotgun, I changed this to give newly spawned players a fighting chance against the heavily armed. The supershotgun also does 125% damage of what it originally did, making it the best choice for close quarter combat. This change made the normal shotgun almost useless, but since that weapon has some advantages in long range combat, I decided to improve that quality even more: I gave it a lasersight, an option to zoom the display and increased the damage it dealt, making it the perfect snipergun.
The nails fired by both Nailguns ricochet off walls, and the Perforator (Super Nailgun) has tracer nails in it's ammo, lighting up in the dark. 

Realism
Weapon
Source: Realistic Weapons v1.4 
Original Authors: Cameron Newham (cam@iinet.com.au), Ronald E. Mercer (rmercer1@mindspring.com) 
Original Authors: Punisher (punisher@trojan.neta.com)
Changes: AXXRG, AXXND, AXXTW, AXXRC, AXXTR
Modules: CBNMods.qc, Sound.qc
Sounds: Weapon/Shatter
* Makes the weapons unreliable - they can jam/explode if overused
* Admin Impulse 83: Jamming of weapons on/off
* Recoil on all weapons
* Spikes, rockets & grenades slow down while in water
* Rockets leave a bubble trail in water
* Spikes, rockets, grenades and backpacks can travel through teleporters
* Maximum amount of Rockets decreased to 20. 
* Shotguns do 125% damage.
* Damage from own explosions originally was reduced by 50%, changed that to 25%.
* Own explosions now do do damage to oneself in teamplay.
* Vertical Autoaim turned off completely. 
* Monsters hear shooting nearby and investigate
* Lightning Gun no longer kills players not in water when discharging.
* Lightning gun damages submerged players when shot into water, Players damaged in this way will emit bubbles. 
* When player falls, damage increases in proportion to height.
* Backpacks, grenades, missiles and pipebombs explode when something explodes nearby.
* Name of weapon appears centered on screen when selected.
* Nails ricochet off walls.
* Supernailgun now fires a light-tracer once every 3 nails.

Airfist
Weapon, gadget
Source: Airfist v1.0 
Original Design: the Evolve Team
Original Code: Shane W. Powell, Matt Houser
Original Art: Christopher Bolin, Stephen F. Karl
Original Sound: Mark Lewis
Changes: AXXBL
Module: Airfist.qc
Model: V_Airgun.mdl
Sprite: S_Ablast
Sounds: AgFail, AgFire, AgWater, AgWFail
* Always available
* Impulse 2 to select Airfist. 
* Airfist fires a stream of air, which deflects weapons and opponents.
* Airfist can be used to jump in the air, by pointing it at the floor before firing.
* Impulse 25 readies and fires airfist. If pressed again, it reverts to previous weapon.

Blazegun
Weapon
Source: Blazegun v1.1
Original Author: Jonathan E. Wright (nelno@interpath.com)
Model by: John Guthrie (choryoth@nuc.net)
Changes: AXXBL
Module: Blaze.qc
Model: V_Laser.mdl 
* Available when Perforator is found.
* Select Perforator twice to use the Blazegun.
* The blazegun shoots gobs of flaming napalm, which can cause enemies to burn.
* Gob are affected by gravity. 
* Flames can spread from one burning player to another
* Flames can only be extinguished by immersing the flame

Pipebombs
Weapon
Original Author: AsmodeusB (tazq@sos.on.ca)
Changes: AXXPB
Module: PipeBomb.qc
Model: PipeBomb.dl
* Always available.
* Use impulse 22 to throw a pipebomb.
* Impulse 23 to detonate all pipebombs within a certain range.

Proximity mine
Weapon
Source: Pain v1.13 
Original Author: probably Jack the Stripper
Changes: AXXPM
Module: ProxMine.qc
Model: Charge.mdl
Sound: Weapon/Charged.wav
* Always available
* Use impulse 21 to fire a proximity mine, which charges after two seconds.
* When a player gets too close to a ProxMine it explodes.
* Proxmines cost 5 missiles to use.

Sniperrifle
Weapon
Source: GooseServer v0.82
Original Authors: Scott Ramsay, Stan Smith (StoshSmith@worldnet.att.net), Jacob Jaeggli (Jjaeggli@Iastate.edu)
Changes: AXXSN, AXXLS, AXXID
Module: Sniper.qc, Lazsight.qc
Models: Cross1, Cross2
Sound: Snipe.wav
* Available when shotgun is found.
* Select supershotgun twice to activate.
* When Sniperrifle is selected, a lasersight appears and the display zooms in.
* When Lasersight touches a living target, the name of that target and it's weapons is shown.

Throwing Axe 
Weapon
Source: Throwing Axe v2.1 
Original Author: Wedge (wedge@nuc.net)
Model by: Choryoth (choryoth@nuc.net)
Changes: AXXTA
Module: ThrowAxe.qc
Model: Throwaxe.mdl
Sounds: TaxHit1-3.wav, Woosh.wav
* Always available
* Select Axe twice to use. Press fire to throw a throwing axe.
* Thrown axes can be picked up again.

Seeker  
Weapon
Original Authors: Chris Hilton (Chris@ichat.com), VHold
Changes: AXXHM
Module: Seeker.qc
Model: V_Plasma 
Sound: Sgun2.wav
* Available when rocket launcher is found.
* Select Rocket Launcher twice to use the seeker.
* Seeker homes in on players, and does as much damage as a normal missile.
* Seekers cost 5 missiles to fire. 

Guided Missile
Weapon
Original Author: Ken Alverson (KenA@TSO.Cin.IX.Net)
Changes: AXXGM
Module: Guided.qc
* Available when rocket launcher is found.
* Use impulse 26 to fire a guided missile
* Missile is controlled by normal left-right, up-down movement.
		
Harpoon
Weapon, Gadget 
Original Authors: Steve Bond (wedge@nuc.net), Mike (amichael@asu.alasu.edu)
Changes: AXXGR
Module: Harpoon.qc
Models: TwHarp.mdl, TWHarpgn.mdl, bit.mdl
Sounds: tfsniper.wav, twharp.wav, chain1-3.wav, sniper.wav, bounce.wav
* Always available
* Use Impulse 2 to select the harpoon, fire to shoot it, hold fire to hold walls or ceiling.
* Player can change weapon while hanging from walss or ceiling.
* Player can now shoot a harpoon, which gets stuck in walls and ceiling. 
* A chain connected to the harpoon allows the player to climb up, and hang from the ceiling or walls. 
* Harpoon is lost when player tries to grapple an opponent.

Gadgets

Gadgets are what made Duke Nukem 3D such a brilliant game, none of them are necessary for a bloody deathmatch, but they add a lot to the fun.

Flare
Gadget
Original Author: Steve Bond (wedge@nuc.net)
Changes: AXXFL
Module: Flares.qc
* Always available
* use Impulse 24 to fire a flare.
* The flare fires in a straight direction until it hits a wall. 
* After a few seconds it brightens to flood an area in bright light. 
* A few seconds later it dims and is removed.
* Cost of a flare is 1 cell

Hologram
Gadget	
Changes: AXXHO
Module: Hologram.qc
Sounds: Player/Hologon Player/Holoff Items/Inv1
* Always available
* Impulse 31 activates a Hologram. 
* Holgrams have the correct skin and model. Player can have a maximum of three holos.

Camera
Gadget
Changes: AXXDC
Module: Camera.qc
* Always available
* Impulse 201: Activates camera and switches through different intermission viewpoints.

Sniperscope
Gadget
Module: ZoomView.qc
* Always available
* Use impulse 28 to zoom in, impulse 30 to zoom out, and impulse 29 to toggle between the two most useful zoommodes.

Feign Death
Gadget
Original code by Isaac Lauer (gwydion@psu.edu)
Changes: AXXFD
* Always available
* Use Impulse 99 to fall down, scream and pretend you're dead; impulse 99 again to stand up and continue.

Runes
Gadget
Source: Pain v1.13
Original Authors: Jack the Stripper (ghoti@erols.com), Aexia (aexia@u.washington.edu)
Changes: AXXRN, AXXSH
Modules: Runes.qc
* Five different Runes appear randomly in Deathmatch modes.
* These runes stay at a specific spot for a few seconds, then move to another spot.
* When a rune is picked up the player gets a feature depending on the rune. 
* These features last about thirty seconds.
* Rune of the Fiend: Player morphs into a fiend. 
* Rune of the Shambler: Player morphs into a Shambler.
* Rune of Jumping: Player can jump double as high as before.
* Rune of Shrooms: Player's view is distorted into tunnelview.
* Rune of Haste: Player attacks at double speed.
* Rune of Gravity: Gravity changes randomly.

Fragreport
Info
Source: Fragreport v1.20 
Original Author: Ray Li (ryl@crl.com)
Changes: AXXFR
Modules: Freport.qc
* Use impulse 27 to show table with frag statistics; who killed whom how many times.	

Telefrag preventer
Gadget
Original Author: by Johannes Plass (plass@dipmza.physik.uni-mainz.de)
Changes: AXXTF
Module: TelefragPrev.qc
* Telefrags when a player respawns only happen when all respawnpoints are occupied. 

* Gave new players a supershotgun and 50 green armor, gives new players better chances.
* No message when picking up items, sound and flash should suffice.					AXXCL	
* Type of game displayed when player logs in on server.							AXXMD
* ID Deathmessages were bugged, used fix by David Wiedenmann (dwied@cats.ucsc.edu)
* Added missing frames: 	Reloading soldier by Matt Barnett (barnett@dial.pipex.com)
 				Ogre starting chainsaw by Dave Weiden (Weiden@Trenton.EDU)
* Player's performance is commented on on when he leaves the game.
			


**************	FUTURE ADDITIONS	***************

NEXT		Clean up cycleweapons and limit weapons code.				PRI-A
		Check botlevels for bugs. 							PRI-C

BUGS		Player bodies stay upright sometimes.						PRI-B
		Telefrag deathmessages screwed.						PRI-B	
		
DEFINITELY	Unjoined players cannot move or kill or be killed.				PRI-C
		Make players with haste rune speed up movement.				PRI-B

POLISHING	Add decent config files, using default quake keys.				PRI-A
		Add helpoption. 									PRI-B

REQUESTED	Add possibility to change botname from console.				PRI-E	
		
MAYBE		Fix the camera so that it sees monsters too					PRI-D
		Limit the amount of Cujo bots to 1 at a time.					PRI-D
		Limit the amount of pets a player can have?					PRI-D

FAR FUTURE 	Add multiple personalities, capabilities and Quirks to bots.
		Add more Eliminator bot maps.
		Involve bots into teamgames.							

BRAINSTORM	Rune of featherfall.
		Next level after 10 CTFs.
		Show harpoon sticking in player's body.
		Cloaking Armour.
		Two firebuttons to fire weapons in two modes:
			Axe:		Normal or Throwing
			Shotgun:	Single or Double Barrel
			Missile:	Normal or Seeking
			Nailgun:	Normal or Blazing
		Guided missile without launcher?

		
1 Axe, Throwing Axe
2 AirFist, Harpoon
3 Super Shotgun, Sniper Rifle
4 Nailgun
5 Perforator, Blazegun
6 Grenade Launcher
7 Rocket launcher, Homing Missile
8 Lightning Gun
9 Weapons cheat (Admin)
10 Cycle weapon up
11 Serverflags
12 Cycle weapon down
17 Clear flags and hill
18 Set flag, hill or alter
20 Autoselect Team
21 Proximity Mine
22 Throw pipebomb
23 Detonate pipebombs
24 Fire flare
25 Fire Airfist or revert to previous weapon
26 Fire Guided Missile
27 Fragreport
28 Zoom in
29 Toggle zoom	
30 Zoom out
31 Hologram
50 Set map Start
51 Set map DM 1
52 Set map DM 2
53 Set map DM 3
54 Set map DM 4
55 Set map DM 5
56 Set map DM 6
57 Jump to next map
58 Increase gravity
59 Decrease gravity
60 Set NoExit
61 Set Deatmatch mode
62 Set Teamplay mode
63 Set Coop mode	
64 Admin Code 1
65 Start Kick sequence
66 Answer yes
67 Answer no
68 Increase Friction
69 Decrease Friction
70 Admin Code 2
71 Set fraglimit
72 Set timelimit
73 Admin Code 3
74 Make Bots Friendly
75 Display Admin Menu
76 Quaddamage Cheat
77 Gib
80 Limit weapon
81 Unlimit weapon
82 Toggle RandomItems
83 Toggle Jamming of weapons
84 Start a game of It!
85 Start a game of Ti!
86 Start a game of QTi!
87 Start a game of Capture the flag
88 Start a game of King of the Hill	
89 Start a game of HeadHunt
97 Toggle Camperkiller
98 Observer
99 Feign Death
114 Next Skin
115 Previous Skin
117 Admin Skin 1
118 Admin Skin 2
130 Cujo Toggle
132 Cujo Stay
133 Cujo View
134 Cujo Teleport
135 Cujo Light
136 Cujo Status
137 Cujo Attack
166 Spawn Bot
170 Bot score
201 Cameraviews
202 Playerview