=====================================================================================
=      Lord Smagol's Quake Battler v1.0      by Carl.Lloyd-Parker@bigfoot.com      =
=====================================================================================

It's been a long time in the making, but here it is :)

This is a battle server with lots of player-selectable features that any clients can connect to without needing extra stuff on their machines.

The features are also available in single player games (You will need to close the console, and re-open it after each command so that it can be processed; since accessing the console in single player pauses the game).

To use:

Mortals:	Make a directory (e.g. BATTLER) in your Quake Directory and copy PROGS.DAT there.
		Then run the game with:

		QUAKE -GAME BATTLER

Quake-C:	Regenerate the complete set of QC files using Quake Patch on v106qc files.

		Get Patch    from ftp://cdrom.com/pub/quake/utils/quakec/dif_pat.zip
		Get Sources  from ftp://cdrom.com/pub/quake/quakec/utils/qc106pac.zip
		Get Compiler from ftp://cdrom.com/pub/idgames/idstuff/source or

		All my changes to the existing files are indicated with /// comments.
		LORD.QC and SMEAGOL.QC contain the new routines.

Bind some convenient keys to the commands for the options you want in your AUTOEXEC.CFG file.

		bind f Flare	// for example

There are no impulses to remember, when a player connects, they are given the commands.

You may experience a problem with Quake bombing out with Z_Malloc errors.
Battler uses aliases instead of hassling you with a list of impulses, if you have a lot of aliases of your own, or binds that change aliases, the "zone" memory gets too fragmented.
The "zone" memory can be increased with:

		Quake -zone 100 -game BATTLER

You can try larger values if you still get the Z_Malloc errors, but be sensible ;)

Don't worry about the 'Unknown command "Gollum"' message - It's not a bug, it's a feature :)
It only appears the first time you connect, it is used to tell the server that you already have the aliases so it doesn't download them again ... and cause Z_Malloc errors.
If it bothers you, put the following in your AUTOEXEC.CFG

		alias Gollum ""

To save time, server operators can select the start-up settings from the command line as follows:

Start a multi-player game, enter the game with just one player and change the settings to what you want your server to start with.

	Type TEMP1 at the server console to find out the code for part of the settings.
	Type REGISTERED at the server console to find more settings.
	Type DEVELOPER at the server console to find even more settings.

Quit the game, then start your server with some extra parameters in the command line:

	Quake -dedicated -game BATTLER +TEMP1 ###### +REGISTERED ###### +DEVELOPER ######

Where ###### are the respective values returned earlier.

=====================================================================================

There are no known bugs.

I don't release programs with known bugs, I'll leave that to Microsoft >;)

However, if you find any bugs, please e-mail me (Carl.Lloyd-Parker@bigfoot.com)

=====================================================================================

Features available:

=================
= BATTLE SERVER =
=================

Toggle Battle Mode by typing BATTLE at the console.

Battle Mode starts in pre-battle state, where players have all weapons and infinite ammo, but can't be hurt (use KILL if you get stuck in lava).

During pre-battle players can change the SETTINGS to suit themselves, and then type READY.
When all players have typed READY, there is a short countdown, and all players are killed (their frags are cleared) and they start at the respawn points. All backpacks, dropped items, grenades and missiles are removed so that nothing can be smuggled into the battle ;)

The SETTINGS uses a voting system, in the event of a tie, the standard setting will be used.

If a player joins during a battle, they are invisible and can't interact with the level (players, doors, teleports, etc.) until a battling player allows them in by typing JOIN at the console.

Invisible players may leave the battle without affecting play, but if a battling player leaves, the battle is stopped.

Battling stops when the timelimit and/or fraglimit is reached, and play is returnes to the pre-battle stare.


===================
= OTHER ADDITIONS =
===================

CRUCIFIED ZOMBIES CAN BE GIBBED
-------------------------------

Stop moaning, here's a rocket to put you out of your misery!

It doesn't affect gameplay, so I included it - also in deathmatch.


DEATHMATCH 3 RULES
------------------

In Deathmatch 1 rules, when you die, it's bloody hard to get back into the game since there are hardly any weapons about - unless you win one with your shotgun!

Deathmatch 2 rules fix that, but nothing respawns :(

With Deathmatch 3 rules you get the best of both :)

Weapons don't respawn, and only one weapon of each type per player; as Deathmatch 2.

The Pentagram and Ring of Shadows respawn after 8 minutes instead of 5 minutes in Deathmatch 1.

The Quad respawns after 100 seconds instead of 60 seconds in Deathmatch 1.

The Armour respawns after 40 seconds instead of 20 seconds in Deathmatch 1.

All other items respawn as in Deathmatch 1.


DEATHMATCH 4 RULES
------------------

This is real mayhem! You start with all weapons, ammo and 200 Red Armor :)

Apart from that, it's as Deathmatch 1.


CONSOLE VARIABLES TEMP1 AND REGISTERED AND DEVELOPER HIJACKED
-------------------------------------------------------------

I need somewhere to keep settings which don't get cleared during level changes, so I have hijacked the console variables "temp1", "registered" and "developer".

"temp1" is only used for debugging to test dead player body frames.

Since battler may only be used with registered Quake, using the spare bits of the "registered" is no problem :)

"developer" is usually 0; setting it to non-zero displays extra info on the server, but I can't find any other console variables that behave like "registered", and that also work on a dedicated server.

I wanted to use "showpause" for my third hijack, but it didn't work on a dedicated server :(


OPTION FOR RANDOM PLAYER RESPAWN SPOT
-------------------------------------

If you're really pissed off by players who learn the sequence of the deathmatch respawn spots and frag you repeatedly as you respawn, this will put a stop to it :)

Toggled by RESPAWNS


OPTION TO SHUFFLE ITEMS
-----------------------

If some players keep getting hammered by route-runners and campers, this should even things out.

Items (health, ammo, weapons, armor or powerups) start in their usual places, but are moved around when they respawn.

Toggled by SHUFFLE


OPTION TO REMOVE SELECTED ITEMS
-------------------------------

Limit the items available to see who is the best without Quad Rockets etc.

No Shells				toggled by NOSHELLS
No Nails				toggled by NONAILS
No Rockets				toggled by NOROCKETS
No Cells				toggled by NOCELLS

No Super Shotguns			toggled by NOSSG
No Nailguns				toggled by NONG
No Super Nailguns			toggled by NOSNG
No Grenade Launchers		toggled by NOGL
No Rocket Launchers		toggled by NORL
No Lightning Guns			toggled by NOLG

No Health				toggled by NOHEALTH
No MegaHealth			toggled by NOMEGA

No Green Armor			toggled by NOARMORG
No Yellow Armor			toggled by NOARMORY
No Red Armor			toggled by NOARMORR

No Quad Damage			toggled by NOQUAD
No Ring of Shadows		toggled by NORING
No Pentagram of Protection	toggled by NOPENT


DROP SELECTED ITEMS OPTION
--------------------------

How many times have you killed someone just as they got the Quad, Ring, or Biosuit?
Now you can have the remaining time :)

Drop Pentagram of Protection	toggled by DROPPENT (Used by Camper/Suicide/Disconnect)
Drop Quad Damage			toggled by DROPQUAD
Drop Ring of Shadows		toggled by DROPRING
Drop Biosuit			toggled by DROPSUIT
Drop Armor				toggled by DROPARMOR


POWERUP TIME IS ADDED TO CURRENT POWERUP TIME
---------------------------------------------

To make the Drop Powerups feature work better, the powerup time (Quad Damage, Ring of Shadows, Pentagram of Protection and Biosuit) is added to your remaining time when a powerup is collected.

This feature is only available in Deathmatch so as not to affect single player.


CAMPER DETECTOR OPTION
----------------------

Don't those lame players who camp near the weapons and powerups really piss you off!

If you're not skilled enough to deal with campers, this will sort things out :)

Toggled by CAMPER

If a player lurks in one place for too long, they drop all their stuff* except the axe, and can't pick anything up for 30 seconds while they emit a locating beep :)

* The powerups, Armor and Biosuit will be dropped if their options are enabled (see above).


MISSILE TELEPORT OPTION
-----------------------

Send Rockets, Grenades and Nails through Teleports to surprise others.

Toggled by TELEPORT

(They don't always teleport due to something to do with the collision detection; Maybe the trigger_teleport is too close to a wall or it is too thin so the missile skips it.)


OPTION TO INCLUDE MONSTERS IN DEATHMATCH
----------------------------------------

Some players think they just get in the way, but if you want them, here they are.

Killing a monster gets a frag (which can be lost - see below).

Toggled by MONSTERS

You may get "monster can't find target" errors sometimes. It happens on maps that have the targets flagged as not in easy/normal/hard, these targets are not included in deathmatch.
This isn't serious, but these monsters won't patrol their path.


OPTION FOR REGENERATING MONSTERS
--------------------------------

If you thought Nightmare was too easy, try this ;)

Dead monsters (except Rotfish) will come back to life 30 seconds after being killed.

Toggled by REGEN

When a monster regenerates, you lose the frag you got for killing it.

I look forward to seeing some 100% Nightmare Speed Demos with this (and monster jumps and shots) enabled ;)


OPTION TO IMPROVE MONSTER SHOTS
-------------------------------

Here's a mod for all you Nightmare Quake addicts.

The Ogres used to be really stupid (They had only one grenade launch angle), but Lord Smagol has sent them to Ballistics School :)

The Zombies also had only one launch angle, but being undead for ages gave them plenty of time to practise their aiming.

The Ogres and Zombies now understand gravity, they will advance until within range and adjust for enemy above or below them.

The Ogres, Zombies, Scrags, Enforcers and Death Knights will try to compensate for enemy movement by aiming at where their enemy is moving to.

Ogre shooting			toggled by OGRESHOT
Zombie shooting			toggled by ZOMBIESHOT
Death Knight shooting		toggled by DEATHSHOT
Enforcer shooting			toggled by ENFSHOT
Scrag shooting			toggled by SCRAGSHOT


OPTION TO IMPROVE MONSTER JUMPING
---------------------------------

Here's another mod for all you Nightmare Quake addicts.

The Fiends are a bit stupid (they didn't know how high they could jump), but Lord Smagol has given them a physics lesson.

The Dogs are a bit more accurate now, but their jumps weren't big enough to really make a difference.

The Fiends and Dogs now understand gravity, they will advance until within range, adjust for enemy above or below them, try to compensate for enemy movement, and not get stuck on steps.

Fiend jumping			toggled by FIENDJUMP
Dog jumping				toggled by DOGJUMP


OPTION TO STOP LIGHTNING DISCHARGE IN WATER HURTING THINGS OUT OF WATER
-----------------------------------------------------------------------

How many times have you been killed by someone using this bug (DM3 is a common place) ?

Toggled by DISCHARGE

If you are in water/slime/lava and your victim is in another pool (of the same type) they can still be hurt; it's too difficult to check for this :(


OPTION TO BALANCE WEAPON POWER
------------------------------

The axe is just about useless, the shotguns are for emergency use only, and the nailguns don't really earn their keep either :(

When you have used all your Rockets, Grenades and Lightning, you go on the defensive, and run to find some more ammo for them.

The Axe, Nailgun and Super Nailgun now do double damage.
The Shotgun and Super Shotgun now do 50% more damage.

Toggled by BALANCE

The weapon power in Doom is more balanced than in Quake, which made the Shotguns and Chaingun quite effective when used properly.


THROW AMMO OPTION
-----------------

Throw a weapon and some ammo to a newly respawned team-mate.

Toggled by THROWAMMO

In team games with Deathmatch 1 rules, when you die, it's bloody hard to get back into the game since there are hardly any weapons about - unless you win one with your shotgun!
Now you can throw a weapon (such as a super Nailgun) and some ammo to a team-mate :)

To throw current weapon (Better than shotgun) use THROW

I have only allowed this in Deathmatch 1 games since the weapons remain in Deathmatch 2, Deathmatch 3 and Coop games; It would be a simple matter to equip the entire team with a full load of ammo ;)

Easy to include, but credit goes to Steve Bond/John Guthrie (wedge@nuc.net/choryoth@nuc.net)


FLARES OPTION
-------------

Fire flares into walls to light up the shadows (and campers) :)

Toggled by FLARES

To fire a flare use FLARE

Easy to include, but credit goes to Steve Steve Bond (wedge@nuc.net)


TRACER BEEP OPTION
------------------

Fire a tracer that sticks to another player for 1 minute, and follow the beeps :)

Toggled by TRACERS

To fire a Tracer (cost 1 rocket and 1 Cell) use TRACER

Easy to include, but credit goes to Jonathan Avraham (procedure@hotmail.com)


HOMING ROCKETS OPTION
---------------------

Fire player/monster seeking rockets :)

A variation of the Vore missile, these will pick the nearest visible enemy, and follow them.

If they lose sight of their current target they will continue in current direction until an enemy is visible again; This makes corridor travel better than the Vore missiles ;)

Toggled by HOMING

To fire a Homing Rocket (Cost 5 Rockets) use HOMER

This is a complete re-working of Homing Rockets by Vhold <vhold@netwizards.net>


PROXIMITY BOMBS OPTION
----------------------

Put Proximity Bombs in strategic locations and wait for someone to get too close :)

Toggled by PROXBOMBS

To throw a Proximity bomb (cost 5 grenades; Grenade Launcher must be selected) use PROXIMITY

To avoid flooding the level, they will self-detonate after 30 seconds.


TRIGGER BOMBS OPTION
--------------------

Fill a room with Trigger Bombs and detonate them when someone enters :)

Toggled by TRIGBOMBS

To throw a Trigger bomb (cost 5 grenades; Grenade Launcher must be selected) use TRIGGER
To detonate all your Trigger Bombs use DETONATE

To avoid flooding the level, they will self-detonate after 30 seconds.


=====================================================================================

Credits go to:

	id Software for Quake.

	John Carmack for releasing QuakeC; allowing great flexibility.

	DrProd & TPOD for some suggestions and play-testing.

	Thresh for helping John Carmack make some space in his garage ;)

=====================================================================================
=                   "Intel giveth ... and Microsoft taketh away"                    =
=====================================================================================
