Title    : Holy Wars - New deathmatch warfare in Quake
Filename : holywars.zip
Version  : 1.2
Date     : 4 of June, 1997
Author   : Paolo "Nusco" Perrotta
Email    : pperrotta@mailbox.dsnet.it
WWW page : http://quake.shiny.it/holywars/
Credits  : John Spickes for The Complete Enhanced Teamplay patch (included);
           all the friends, betatesters and people helping and giving suggestions;
           Paolo "Earthbreaker" Petrini for his support on Quake Italia
           (http://www.quake.shiny.it/);
           id and Hipnotic for you-know-what. 

Build time: some days, spread over the course of several months.

Type of Mod
-----------
Quake C  : yes
Sound    : no
MDL      : no  


Format of QuakeC
----------------
unified diff  : no
context diff  : no
.qc files     : no
progs.dat     : yes


What is Holy Wars
-----------------

Holy Wars is a deathmatch/teamplay mod for a minimum of 3 players. It's a 
server-side patch, so you won't need any client-side file, at least when using 
the official Quake maps from id - the game has built-in support for these.
You can easily adapt existing maps to Holy Wars if you know how to use 
MAPENT and QBSP. Owners of Hipnotic's Mission Pack #1 can play Holy Wars 
on HIPDM1, too.

Holy Wars doesn't pretend to be the Next Big Thing, but it can be a refreshing 
diversion after some hours of CTF. I kept it very simple, while radically changing 
the rules of deathmatch Quake. No complex new keys and weapons or new impulses 
here. The mod is strongly oriented towards mayhem and carnage, more than subtle 
strategy and tactical reasoning.

Any comments and bug reports will be very welcome, exp. on the subject of game 
balance.


The rules
---------

A Holy Wars level contains a new object called the Halo, which is easily 
recognisable as it emits a very strong light and blue sparks.

If you get the Halo, you'll score 2 frags and become a Saint. You'll also 
immediately receive some armour and health. The Halo will then follow you 
around until you die, making you very visible to other players. The sparks
of the Halo will become golden to indicate that the Halo cannot be picked up 
by someone else anymore, until you die.

"Normal" players can frag each other happily, but won't score frags for doing 
so. The Saint is the only player in the game who scores the normal 1 frag per 
kill.

If a player kills the Saint he scores 3 frags. The Halo will then fall on the 
ground, and everybody can pick it up and become the next Saint. After 30 
seconds, an abandoned Halo will teleport to its starting position.

If a fallen Halo is unreachable because it fell into lava or in some other 
unhealthy place (like, say, out of the level), you'd better hurry to the base 
to be there when it reappers after the 30 seconds are expired.

The idea is that everybody must try to kill the Saint and steal the Halo. In 
deathmatch, the game is always a furious "The Saint vs. The Rest of the World". 
In teamplay games, the team where the Saint is should defend him from the other 
team.

The result will hopefully be total carnage.


Score system
------------

If you're a normal player:

 0  points for killing another player;
 3  points for killing the Saint;
 2  points for getting the Halo and becoming the Saint.

If you're the Saint:

 1 point per frag. Watch your score grow!

When a player is sanctified, he/she will receive an amount of armour and 
health proportional to the number of enemies into the game (minus the number 
of friends if teamplay is on).


Enhanced Teamplay
-----------------

This patch includes version 0.92 of The Complete Enhanced Teamplay by 
John Spickes. This excellent patch allows you to customize your team games 
in novel and interesting ways. Read the file TEAM.TXT for info.


Statistics
----------

At the end of a game, statistics for every player will be printed on the console. 
You can scroll the text using the PagUp and pageDown keys. These statistics are 
more or less useless, but fun.


How to Install Holy Wars
------------------------

You must have the registered version of Quake to install Holy Wars. To install 
the patch, just make a HOLYWARS directory under your QUAKE directory and unzip 
the holywars.zip file in it. 

To run the patch start Quake by typing "quake -game holywars" (and any other 
parameters you like). When you're in the game, bring out the console and open 
a map by using the "MAP <mapname>" console command.


Impulses
--------

Good news: there are no new impulses involved in gameplay. The only impulses 
used are IMPULSE 42 (and that's only used for map-modifying purposes - see 
the "Maps" section) and IMPULSE 60 to get the statistics during the game 
(also automatically binded to the word STATS).



Maps
----

Some maps are directly supported by the Holy Wars code - this means that 
these maps will automatically be adapted to Holy Wars when you launch them 
in a Holy Wars session.

All of id's original Quake maps are directly supported. This means that you 
can play these maps when using the patch as a server-side patch.


Other maps are directly supported, but they're not included in the original 
Quake: this means you'll have to create a new MAPS dir under your HOLYWARS 
directory and copy the *.bsp files in. 
(Important note: This also means that Holy Wars won't work as a server-side 
patch anymore - the maps will have to be copied on the clients as well as 
the server. If a client doesn't find the map, it will refuse to connect.)

The non-standard directly supported maps are:

*) The small but sweet "Blue Death" by Adriano Lorenzini 
(http://www.quake.shiny.it/archive/bdeath.zip). This is particularly good 
for only three players.

*) HIPDM1, the great Hipnotic deathmatch map from Mission Pack #1. 
Holy Wars will automatically take away all the new Hipnotic weapons and 
powerups from the map and substitute them with mundane Quake stuff (I'm 
sorry about this, but keeping the new stuff in would require a completely 
different version of the progs.dat just on purpose). To use this map, 
you'll need a pack processor (like Xpak, which you can find at 
ftp://ftp.cdrom.com/pub/quake/utils/bsp_pak_tools/xpak041.zip) to extract 
a copy of it from Hipnotic's *.pak file. Then copy it into the 
QUAKE/HOLYWARS/MAP directory.


Besides, it is very easy to adapt existing maps to use them with Holy Wars. 
To do this you must be able to use a map entity extractor (like Mapent), 
and QBSP (with the "-onlyents" switch) to put the entities back in. Here 
are the addresses where you can find the files:

ftp://ftp.cdrom.com/pub/quake/utils/level_edit/bsp_builders/mapent.zip
ftp://ftp.cdrom.com/pub/quake/utils/level_edit/bsp_builders/qbsp_dos.zip

To adapt a map, you must add a new entity to it:

{
"classname" "item_holywars_halo"
"origin" "x y z"
}

Where x, y and z are the three coordinates of the Halo's base. To find a good 
position for the Halo, you can launch the map in single player 
("DEATHMATCH 0"), and use "IMPULSE 42" - this will print the current position 
of the player on the console. Use "FLY" or "NOCLIP" to move around freely and 
find a good spot.
When you've patched the map, put it under QUAKE/HOLYWARS/MAPS. Each client 
should have a copy of the map, but the copies on the clients don't need to be 
patched.

IMPULSE 42 won't work in deathmatch. This little feature can be used for 
whatever it's worth - I once used it to find good spots for deathmatch 
cameras in a level.


Source availability  and technical notes
----------------------------------------

I didn't make the source code available, as it's embarrassingly messy, and 
not very interesting BTW. If you really want it you can contact me - it's 
nobody's industrial secret.

You can easily modify the teamplay and deathmatch default values by editing 
the holywars.cfg file. This configuration file is auto-started when you 
launch Quake + Holy Wars.

Right now, the Halo takes most of the CPU time, and some net bandwidth too, 
but I won't even try to optimize it more than I did unless somebody reports a 
noticeable slowdown.


Copyright and Distribution Permissions
--------------------------------------

The Enhanced Teamplay Patch is copyright by John Spickes 
aka Guru (jspickes@eng.umd.edu).
Quake is copyright by id Software.
The rest of this patch is copyright by Paolo "Nusco" 
Perrotta (pperrotta@mailbox.dsnet.it).

You can do what you want with this patch, excluded:

1) strip out this copyright notice from it;
2) make money from it in any form without asking for the author's permission 
first.

"In any form" means: "No, you cannot pick up this stuff and put it on a 
commercial CD. If you ask me, I could give you the permission to do so - if 
you don't have the permission, you can't. Period".

Any non-commercial use is allowed and welcome. You can redistribute this 
patch at your own leisure. Letting me know of any use of this patch 
(appearances on web pages or in compilations, modifications, etc.) would 
be polite, but is not required.

The strange language that I used to write this document is my own version 
of English, and it's copyright of myself.

I don't make any implicit or explicit guarantees about this patch: you're 
using it at your own risk. I bet it won't explode, BTW.


Availability
------------

The official Holy Wars web page (including news and updated
versions) is at:

	http://www.quake.shiny.it/holywars/

New versions will also be made available on the main Quake FTP archive:

        ftp://ftp.cdrom.com/pub/quake/quakec/deathmatch/holywars.zip


Known bugs:
-----------

They're not bugs: they're miracles.


Version History:
----------------


* 1.2 (06/04/1997)

-> Statistics at the end of the game and with IMPULSE 60.
-> Support for all of id's maps.
-> The Halo is now teleported with the owner, to avoid the previous 
   impossibility to recognize the Saint soon after a teleportation.
-> The Halo shines blue particles when it's free, to improve visibility
   (exp. on GLQuake).
-> Deleted unnecessary messages ("You have taken some ammo" and other such 
   useless stuff).
-> "What to do" message at respawning.
-> Random respawn spots.
-> Optimized Halo movement function (now almost twice as fast, useful on 
   slow systems).
-> Other very minor things and bug fixes.


* 1.01 (05/19/1997)

-> Corrected a bug that generated "Unknown entities" when starting certain maps.


* 1.0 (05/15/1997)

-> First publicly distributed version with a lot of changes.


* 1.0b (02/22/1997, unreleased)

-> First semi-working version for betatesters.