Duel MOD for Descent 3
BETA 3

!!!IMPORTANT NOTE!!!
Users of this beta version CANNOT join servers running previous beta versions, and vice versa. If the version numbers don't match, you will be auto-kicked from the game upon joining.

Programming - Chris "Gwar" Ledwith
Level Design - Bob "Sirian" Thomas
Logo - Alan "Zonerie" Fork (with ship models contributed by James "kuman" Ku)
Original Ideas - Various mods, especially "Rocket Arena" for Quake 1/2/3 and "Duel" for Tribes

Duel is a gameplay modification for Descent 3. It provides competitive 1 on 1 play in a group environment. Players may request a duel with any available player on the server. If their request is accepted by the desired opponent within 30 seconds, the two players are taken out of observer mode and placed in an unoccupied area of the level. After a 5-second countdown, their controls are enabled and the duel begins!


INSTALLATION
------------
Installation is easy: simply extract the zip archive to your "/Descent3/netgames" folder.


MENUS
-----
Almost everything you need to know about playing Duel you can find in its extensive menu system. You can access the menus by pressing F6. The first menu, labeled Duel, has several submenus, from which you can configure your ship and vote on certain global changes.


SETUP
-----
All setup (ship, item, and weapon) can only be done in observer mode. Changes take effect upon the start of your next duel.

Ship Setup
You can select which ship to pilot from the Duel menu.

Item Setup
You can select which item to carry from the Duel menu. There are 2 choices:
-Ammo Rack (default)
  Gives your ship 1/4 (rounded) of its normal (Anarchy) maximum ammo count (versus 1/5 without the ammo rack), with some minor adjustments made for play balance. Look up the $writeammo command in the COMMAND LIST elsewhere in this readme for more information.
-AB Cooler
  Afterburners will recharge at twice the normal rate.

Weapon Setup
You are limited to carrying 3 primaries and 3 secondary missile types, IN ADDITION to the default Laser and Concussion missiles. If you select the Super Laser it automatically gets the quad upgrade. None of Descent 3's countermeasures are made available. Since some of them contribute to lag, it was decided to leave them out of Duel altogether.


VOTING
------
The voting system allows players to vote on a variety of global changes to gameplay. You can, for example, allow/disallow ships, weapons, and items, adjust starting shields and energy, and even kick players that are being disruptive. After someone initiates a vote, all other players can vote yes or no. For a vote to pass, 51% of players must vote yes. So if you don't bother to vote, it is the same as a no.


PLAY MODES
----------
In addition to the default "Singles" play mode, there are also "Best Of" and "Play To" modes of play, in which each duel is played for a number of rounds.
The current play mode is set by the server and cannot be voted on. See the COMMAND LIST elsewhere in this readme for info on setting up the play mode for your server.


SHORTCUT KEYS
-------------
Alt-A : Accept the latest duel request received
Alt-R : Re-request your last duel opponent
Alt-Y : Vote 'Yes' to the current vote
Alt-N : Vote 'No' to the current vote


DEDICATED SERVERS
-----------------
If you're planning to run this mod on your own dedicated server, first of all, thanks! Server ops, feel free to email me with any questions, suggestions, or concerns that you have. Duel should be able to handle 2 to 3 times the number of players that the same server handles for a regular Anarchy game (since each player only gets movement and position packets from their opponent). I would suggest running your server at 8 players or less for the first few games, then gradually raise this limit over time and see if your server can handle the load without greatly increased lag.

The first time you run a dedicated server, Duel will create a file named "Duel.cfg" in your "/Descent3" folder. This file contains various configuration settings that you can modify.

COMMAND LIST
Press F8 while playing and then type the command, or just type it at the console if you are running a dedicated server.

$debug
Usage: $debug
For use in debugging.
This command outputs a ton of values stored by the mod to a file called "dueldbg.txt" in your "/Descent3" folder. If you run into any problems while running your dedicated server, please email me about it and attach this file.

$writeammo
Usage: $writeammo
Writes a table of ammo counts for each ship type to a file called "duelammo.txt" in your "/Descent3" folder.

$ships [Dedicated Server Only]
Usage: $ships <num> <0|1>
Sets or displays ship allows. The parameter 'num' starts at 0 (the Pyro-GL). For example, to disable Magnum, type "$ships 2 0" (since the Magnum's ship index is 2).

$items [Dedicated Server Only]
Usage: $items <num> <0|1>
Sets or displays item allows.

$weapons [Dedicated Server Only]
Usage: $weapons <num> <0|1>
Sets or displays weapon allows.

$shields [Dedicated Server Only]
Usage: $shields <0|1|2>
Sets or displays initial shields.

$energy [Dedicated Server Only]
Usage: $energy <0|1|2>
Sets or displays initial energy.

$secondaries [Dedicated Server Only]
Usage: $secondaries <0|1|2>
Sets or displays the secondaries multiplier.

$duels [Dedicated Server Only]
Usage: $duels
Lists currently active duels.

$arenas [Dedicated Server Only]
Usage: $arenas
Lists arenas, and indicates which are in use.

$votes [Dedicated Server Only]
Usage: $votes <num> <0|1>
Sets or displays vote category allows.
With this command you can disable voting for any vote category. The parameter 'num' is the index of the category you wish to enable/disable, in the order they appear on the Vote menu, starting with 0. For example, Allowed Ships is category 0, and Kick Player is category 6.

$away [Dedicated Server Only]
Usage: $away
Displays away states of connected players.

$playmode
Usage: $playmode <num>
Sets or displays current play mode.


WHAT'S NEW IN BETA 3
----------------------------
-Minor bug fixes
-Players can no longer request and play in duels while away
-Request Duel menu now clearly indicates which players are not available to duel (i.e. away or in a duel)
-Round-based play (see PLAY MODES elsewhere in this readme for more info)
-New dedicated server commands: $away, $playmode


WHAT'S NEW IN BETA 2
----------------------------
-Minor bug fixes
-Fixed a major dedicated server crash bug
-Reduced network traffic
-Column on F7 screen shows each player's current arena
-Intro logo artwork
-Alt-A will accept latest duel request
-Alt-R will re-request last duel opponent
-You can now mark yourself as away


KNOWN BUGS
----------
This is an open beta version of Duel, and as such it contains a few known bugs. Any bugs that can be fixed will be 
fixed before the final release.

-in observer mode, you will sometimes get stuck (unable to move) on parts of the level geometry. THIS IS A D3 BUG. Just go to the Observe Arena and select an arena again and you will be put at the starting position and unstuck.
-highlight bars and the observer icon are in the wrong place if the screen is sized down ('-' key)
-sometimes players will not get a crosshair when their duel begins, or the wrong crosshair
-Observe Arena menu sometimes shows wrong selection
-if you're the server player, weapon sounds will sometimes remain stuck on after finishing a duel
-attempting to piggyback observe another player will count as a manual observer attempt (which will get you auto-kicked after three times)

IMPORTANT NOTE ABOUT REPORTING BUGS:
If you run into a bug not covered in this readme, please type '$debug' after pressing F8 in the game, just after the bug occurs. Then email me about it and attach the "dueldbg.txt" from your "/Descent3" folder. Look up the $debug command in the COMMAND LIST elsewhere in this readme for more information. If you forgot to type '$debug', just give me a description of the bug and what you were doing at the time that it happened.


PLANNED FEATURES
----------------
By final release time, these features should be in. These are features that *I* personally want to see in the final release. This list is *NOT* an open invitation to barrage me with your own feature requests.

-support for Linux and Macintosh
-language translations for international versions of Descent (Italian, French, German, and Spanish!)
-support for terrain start points. Currently, terrain areas still require start points inside of rooms
-ability to declare a draw
-e/s converter as a carry-on item
-more stats
-original sound effects
-and a few more surprises


LEGAL STUFF
----------
Duel MOD for Descent 3: Copyright 2000 Chris Ledwith

Files that are part of the Duel MOD for Descent 3:
duel.d3m - the mod itself
duel_readme.txt - this text file
duel_levels.txt - the text file that explains level requirements

You may not make changes to this Descent 3 mod for any purpose, without the written permission of the author.

You may distribute this Descent 3 mod freely over any electronic medium, so long as you include this text file and all files listed above, and so long as you do not charge any fees for access; you may not "sell" this Descent 3 mod as part of any for-profit venture.


FINAL NOTES
-----------
Thanks to Sirian for agreeing to make levels for this mod, and for creating such excellent dueling environments.

Thanks to Zonerie for the Duel logo.

Special thanks to Jeff "Sewerat" Slutter of Outrage Entertainment for answering my questions concerning the Descent 3 SDK and for putting together such a powerful tool.
Thanks to Outrage for a great game, and for releasing the SDK in the first place.

Helpful input and testing:
  Sirian
  Horizon
  Xciter (especially for providing a dedicated server for testing)
  Sparhawk (and for his great server, Deathnest)
  CDN_Wingman, Oneiros, Thundercat, Vander, Arch_Angel!, Birdseye, SliSuncho, Stinger, Alkazar, Trinity, SolidAir, Christ, {ROX}Genghis, [RIP]One, [RIP]uanew1

Comments, questions, donations:
chris.ledwith@gte.net

Thanks for playing Duel
Chris Ledwith aka Gwar


END OF FILE