---------------------------------------------
LithDuke V0.2 (beta)
A Lithium-style DukeMatch conversion for Duke Nukem 3D v1.4/1.5
Author E-Mail: maartenp@together.net
---------------------------------------------

NOTE: This conversion is in BETA.  Any bug reports or suggestions are more
than welcome and should be E-Mailed to the address above.  This includes any
changes you think should be made to the techs, spawn times, etc. for the
finished version.

Sadly, Porting to v1.3 is not planned, since the BFG10K
is not portable, *and* the megahealth, *and* the Atomic Shield, *and* the
Regen tech (addstrength command does not exist in 1.3 con files?)


---------------
Installation
---------------

lithinst.bat automates both installs and uninstalls.

-------------
Description
-------------

You may notice that conventional duke3d is not optimized for Dukematch.
Only one DM level is included.  The purpose of this mod is to optimize Duke3d
for Dukematch:

*  A safety mode
*  A 'Weapons stay' option
*  A megahealth instead of the Atomic Health and Medkit items, which gave a
disproportionately large advantage to the player who was able to collect them

In addition, 'techs' are included to make the game more interesting,
described in detail below.

Unfortunately, due to the new architecture, levels not designed for this mod
won't work with it.  However, they can easily be converted by adding tech
spawn points and remapping the Atomic Health and Medkits to be replaced by
the Megahealth and Minihealth.  The technical details described later in
this text are a good start to converting levels and creating your own LithDuke
levels.

-------
Techs 
-------

These are simply items to add zest to a Dukematch.  You can have only one at
a time, and each one gives you special abilities.  When you are killed, the
tech is dropped and the killer may pick it up.  The techs continue to change
hands in this way throughout the match.

You can choose how many techs to have (if any) with the "Monsters" option
when selecting your level.  To drop a tech (In order to pick up another one),
crouch still and press space.  Dropped techs (whether deliberately dropped
or just lost when their owners were killed) will teleport to a tech-spawn
point after a long period without activity.

A quick list of the techs:

Regen - Standing still while you hold this tech will slowly increase your
health, up to 150!  Also, sustains Mega-health levels, instead of it rotting
away.

Atomic Shield - Not merely an indestructible shield, this thing provides
extra protection against energy weapons and absorbs as little as 1/3 to as
much as 2/3 of damage taken, randomly.  (A standard shield absorbs only 1/3)

Partial Invisibility - You are mostly invisible in the front, though fully
visible from the back and sides.  To be truly invisible, however, you must
put down your weapon (the weapon floating over your head gives you away
otherwise).  It's highly recommended all players turn weapon mode on, as
this tech is designed with it in mind.

Biopack - Protects you against the elements.  When wearing this suit, you
cannot be hurt by slime or lava, and you also cannot drown.  Its anti-gravity
capability makes it invaluable for aerial shortcuts!

BFG10K tech - Arguably the strongest and yet weakest tech in the collection.
Use it and, after charging up, it will fire a deadly BFG blast in the
direction you are facing.  When it detonates it kills everything within a
large radius (excluding the shooter of the blast).  It also 'irradiates' all
players close to it during its period of travel. (again excluding the
shooter)  However, it moves slowly and can often be dodged, plus it sucks
away 50 health with every shot and takes a second or two to charge up. 
Use with care.

PITD tech - Also known as the Phase Induced Teleporter Device.  Next time
you're outgunned, take the coward's way out.  Activate the PITD and you'll
have enough time to escape during teleportation.  However, use it wisely;
when you teleport, the PITD stays behind.  

Megahealth - Not really a tech, but quite worth mentioning.  Adds 100 to your
current health level, up to 250.  Your health then slowly deteriorates to 100.
Takes twice as long to respawn as other items, so if it's available, grab it!

Minihealth - Like the megahealth, but only adds 50 to your health level.

--------
Levels
--------

    Title       | Finished | Optimal players | Weapons stay    | Base
----------------|----------|-----------------|-----------------|---------
Stadium         | Yes      | 2 - 4           | Recommended 4-8 | e3l9
Faces of Death  | Yes      | 2 - 4           | Recommended     | e1l7
Hollywood Ho... | Yes      | 2 - 4           | Recommended 4-8 | e1l1
Red Light Di... | Yes      | 2 - 6           | Recommended     | e1l2
Spin Cycle      | Yes      | 2 - 4           | Recommended 6-8 | e2l10
Hotel Hell      | Yes      | 3 - 6           | Recommended 4-8 | e3l1
Tier Drops      | Yes      | 2 - 4           | Recommended 5-8 | e3l9
Rage            | Yes      | 2 - 4           | Recommended     | rage
Mansion         | Yes      | 3 - 6           | Recommended 4-8 | mansion
JRoom           | Yes      | 2 - 4           | Not recommended | jroom

NOTE:  People are encouraged to convert more user maps, as there aren't very
many at the moment.

---------------------------------------
Creating your own levels for LithDuke
---------------------------------------

#3584: TECHSPAWN - Tech spawning point.  Should be one in your level with no
lotag, another in your level with a lotag of 2, two with a lotag of 3,
and two with a lotag of four (aka skill levels)

#53: MEGAHEALTH - No tagging.  Megahealth powerup.  Adds 100 to health.  TIP:
Try to only place megahealths in areas not easily controlled, as in the
central area of Spin Cycle, or, in the case of more than one Megahealth, so
that they both can't be controlled at the same time.  (aka Stadium)

#3850: MINIHEALTH - No tagging.  Minihealth powerup.  Adds 50 to health.

NOTE: Do *not* attempt to insert the techs themselves.  If you want a
predefined tech, use the TECHSPAWN palette codes described in the "Notes"
section.

Tip: Try to 'even' the techs.  For example, in the converted Red Light
District, there is a shrinker that can only be reached with a biopack
tech.  This compensates for the uselessness of this tech in most other parts
of the level.  Note that the shrinker is also placed in the area in which it
is the most useless (large open area), which stops players from dominating
the area with it.

---------------
Extensibility
---------------

You can modify most of the parameters for the new items and other defines in
lithuser.con (ie. BFG speed, Max regen health, Atomic Shield health-to-armor
ratio, player respawn time etc).  However, each player in the game must have
the exact same CON files.

---------------
Survival tips
---------------

*  You are especially vulnerable to attacks during the BFG charge phase (due
to the drain on your health), so it is advised to charge up most of the way
*before* showing yourself to your opponent.  Holodukes, cameras and audio
cues are all good tools for determining your opponent's position.

*  The BFG blast emits pulsating light.  This is a good cue for determining
if a BFG blast is about to come around a corner, and likewise you can
usually deduce that when the pulsating light stops with a long bright pulse,
the BFG has detonated.

*  If you come to a tripbomb trap with your opponent hot on your tail, use
your PITD if you have one (if you don't have one, this is a good reason to
get one).  You can teleport *through* the tripbombs, leaving your opponent
on the other side.  If he gives up his tech, he can grab the dropped PITD
and teleport through also, but you'll be gone by then :)

*  If you see your opponent with a shrinker, try to get an Atomic Shield.
You cannot be shrunken when using this shield, and it also gives extra
protection against microwaves and freezeblasts.

*  Use Safety Mode wisely.  If your opponent is right there when you respawn,
shoot him, but keep in mind that the invincibility wears off very quickly,
so try to steer yourself towards a weapon or tech that will give you a
chance against your opponent when you become vulnerable.

-------
Notes
-------

* In this mod, there is a "Weapons Stay" mode available.  Simply select
"Dukematch/No spawn" as the game type.  Items will respawn normally, but
weapons will stay and be available only to those who do not already have them.
Some levels will play better in this mode.  Any user levels for LithDuke
should include info on the recommended mode (See lithtmpl.txt)

*  When you are killed, you will notice that if you do not hit space you will
respawn automatically after several seconds.  This is to keep the game
interesting.  (How long until you automatically respawn is defined by
PRESPFORCETIME)  Also, there is a parameter called "PRESPTIME" that defines
the delay until you are *allowed* to respawn.  This is by default extremely
short, though it might come in handy for something.

*  TECHSPAWN sprite palette values:
  0 - Spawn Random tech (Recommended)
  1 - Spawn Regen
  2 - Spawn Atomic Shield
  3 - Spawn Partial Invisibility
  4 - Spawn Biopack
  5 - Spawn BFG10K 

*  When you respawn, you'll get a few seconds of 'safety mode' to collect
weapons and items.  During this time, you cannot be hurt.  This stops
unfair "respawn kills" and discourages hovering about respawn points.
You can change how long Safety Mode lasts by modifying the define
"PINTROTIME".  Safety mode will end immediately if you grab a megahealth
or tech.

*  On the *first* spawn only, all players will be in 'start mode'.  When any
player moves a bang sound will be made and their Safety Mode timer will be
started.  This is for "sync" times in games.
The bang sound can be useful for catching cheaters of sync times, but they
will not be well-rewarded: any non-cheaters they catch will have a full
Safety Mode timer.

*  The Megahealth/Minihealth powerups are *not* limited in their max amounts,
unlike the Atomic Healths which were restricted to 2x standard health.
MEGAHEALTHLIMIT defines this and effects both Megahealth and Minihealth.
It is set by default at 250, but can go as low as 101 or as high as 32767
without having any impact on standard health amounts.  MEGAHEALTHAMOUNT and
MINIHEALTHAMOUNT determine their respective health benefits.

----------
Credits
----------

The tech sounds are taken from Quake II Threewave CTF, except for xport01.wav,
which is taken from Quake's teleport sound.  Megahealth and disruption
sounds taken from the Quake II pak0.pak file.  If the authors wish me to
take them out, I will do so, though I have no idea where other appropriate 
sounds would come from.

3DRealms for a great game, and of course for their level "Stadium", a good
generic DM-friendly level that this mod was tested on  (In the finished
release, commonly used game levels, converted, will be in another episode)

The CON modifications are mine, all mine.  They weren't exactly easy, I'll
tell ya that. :-)  In the process, I discovered a neat CON trick for
communicating between sprites which was vital for the BFG10K.  An example:

soundonce BFG_HIT
ifnosounds
  state bfg_has_hit
  else
  stopsound BFG_HIT

This would test if the sound BFG_HIT was currently playing, as the
soundonce command only plays a sound if it isn't already playing, and
'ifnosounds' tests if the current sprite is playing any sounds.  Naturally,
the sprite would only be playing no sounds after the soundonce command if the
sound had already been playing, meaning a BFG blast had hit.  If it had
not been played, it is canceled before it can be heard.

