// ******************************************************************** //
// *                                                                  * //
// * Tangential Quake II Module                                       * //
// *                                                                  * //
// ******************************************************************** //


===============
= Information =
===============

File       : Tangential_140.zip
Version    : 1.45
Date       : 08 Mar 1998
Author     : Tangent-
Email      : yuen@ug.cs.dal.ca
             ayuen@fastlanetech.com
ICQ        : 4848733 (Work)
             6040729 (Home)
Web site   : http://www.planetquake.com/tangential


===============
= Development =
===============

Time       : [1.00]   1 hour
             [1.10]   3 hours
             [1.11]   0 hour
             [1.20]  10 hours
             [1.30]  15 hours
             [1.40]  20 hours
             [1.45]  10 hours
             ---------------
             Total:  60 hours

Tool(s)    : Visual C++ 5.0 Professional Edition

OS         : Windows95
             WindowsNT 4.0 SP3

Feature(s) : 1. [1.00] Swinging grappling hook (by Bort, see below)
             2. [1.10] Ricocheting blaster projectiles (laser blaster and hyperblaster)
             3. [1.10] Message Of The Day (MOTD.txt)
             4. [1.10] Double laser blaster
             5. [1.10] Player vomits gibs (laster blaster and hyperblaster)
             6. [1.10] Gun scope (zoom in/zoom out)
             7. [1.10] Flash hand grenade (blinding effects)
             8. [1.11] Flash grenade thrower does not blind (fix)
             9. [1.20] SecantBot 1.00
            10. [1.30] SecantBot 1.10
            11. [1.40] Point Release (3.12 and later) compatibility
            14. [1.40] SecantBot 1.20
            15. [1.45] Merge with 3.14 source code
            16. [1.45] SecantBot 1.25


===========
= Content =
===========
        Readme.txt              - This file
        gamex86.dll             - The game DLL
        Tangential.cfg          - The default configuration file
        Sample.bdl              - The sample bot configuration file
        Tangential.bat          - Normal server start up batch file
        Tangential_D.bat        - Dedicated server start up batch file

        /sound
        GrappleHook_Attach.wav  - GrappleHook sound file
        GrappleHook_Detach.wav  - GrappleHook sound file
        GrappleHook_Damage.wav  - GrappleHook sound file
        GrappleHook_Grow.wav    - GrappleHook sound file
        GrappleHook_Shrink.wav  - GrappleHook sound file
        GunScope_ZoomIn.wav     - GunScope sound file
        GunScope_ZoomOut.wav    - GunScope sound file

        /models/items/hook
        skin.pcx                - GrappleHook skin
        tris.md2                - GrappleHook model


================
= Installation =
================

        Unzip the ZIP file _with subdirectory names_ in your Quake II directory.
e.g. If you installed Quake2 into C:\Quake2, then unzip into C:\Quake2 and
you will get a subdirectory called "C:\Quake2\Tangential".

        The "Sample.bdl" file is provided as a guideline for customizing SecantBot.
You can simply rename or copy it to "Bot.bdl" if you do not already have a previous
version of this file.


===========
= Running =
===========

        To run a listen (normal) server with Tangential, use the "Tangential.bat".
You can also create a shortcut to point to this file, which is located in your
Quake II directory.

        To run a dedicated server with Tangential, use the "Tangential_D.bat".
You must specify a starting map file.  e.g.  "Tangential_D base1"  will start a
dedicated server using base1.bsp to start the game.


============
= Commands =
============

0. cmd tangential

        Report the version number of the Tangential DLL.

1. cmd grapplehook <action>

        <action> :  activate   - fire the grappling hook
                    deactivate - disable the grappling hook
                    grow       - extend the length of the chain
                    shrink     - reduce the length of the chain
                    version    - report the version number

2. cmd motd

        Display the message of the day (motd) from a file called
        "motd.txt" located in the Tagential directory.

3. cmd gunscope <direction>

        <direction> : zoomin   - make distant objects to appear bigger
                      zoomout  - return to normal

4. sv secantbot <command>

        <command> :  summon <name> - make a bot called <name> with
                                     attributes listed in a file
                                     called "Bot.bdl".

                        e.g. "sv secantbot summon Jezebel"

                     dispel <name> - kick the bot called <name> off
                                     the server.

                        e.g. "sv secantbot dispel Viper"

                     add <skill> <number>
                                   - create <number> of bots of <skill>
                                     level with random skin

                        e.g. "sv secantbot random 5 6"

                     version        - report the version number

                        e.g. "sv secantbot version"


=======
= FAQ =
=======

Q. I did all of the above but when I start Quake II it says
   "couldn't exec Tangential.cfg".  What's wrong?

A. Did you unzip using directory names?  In WinZIP, check the box
   that says "using folder names".  Make sure a subdirectory called
   "Tangential" is present in your main Quake II directory.


Q. How do I use the grappling hook effectively?

A. There are 3 keys for the grappling hook.  The activation key (CTRL)
   fires off a new hook in the direction that you're looking at.  If 
   you are already using a hook, it will disappear.  It's like a
   toggle switch.  The O key will shrink the length of the chain, while
   the P key will grow the length.  So, let's say you are hanging from
   a ceiling, you can do "bungee jumping" by using the O and P keys.
   Also, remember that you can still move, or, swing in mid-air.  If
   you have always wanted to be Tarzan, this is your chance.


Q. How do I change the keys to use the grappling hook and other things?

A. Open up a file called "Tangential.cfg" in the Tangential directory.
   Find the lines that say "bind CTRL ...".  Change the key to whatever
   you want.  The file is fairly self-explanatory.


Q. How do I use the flash grenades effectively?

A. Just switch to hand grenade mode (press 'G').  The grenades that you
   throw are now flash grenades.  When it explodes, it will blind everyone
   who is looking directly at it within a certain raidius.  You, the
   thrower, are not affected because you closed your eyes when it exploded.
   Now switch to your favorite weapon and kill those helpless victims who
   are running around blindly (heh).


Q. How do I change the Message Of The Day (MOTD)?

A. Open up a file called "MOTD.txt" in the Tangential directory.  Type
   in anything you want there.  They will be printed on the players'
   screen when connected to the server.  Do not put too much in there
   as there is a limit on the size of the buffer.


Q. What is the gun scope?

A. It is an enhancement to your guns so that you can "zoom" in and nail
   your opponent(s).  It is a perfect companion to the RailGun, especially
   when you are hanging from a high ceiling/slope.  If you are a sniper,
   then you are in heaven.


Q. How do I spawn some bots to spice up the deathmatch?

A. Bring down the console (press `).  Type "cmd secantbot add <skill> <number>".
   This will spawn <number> of SecantBots with <skill> level, normal speed, and
   optimal ping time in the game at a random spawn location.  Now go find them(it).
   Create more bots if you want total mayhem, up to the MaxClients limit.


Q. How do I spawn my customized bot?

A. Bring down the console (press `).  Type "cmd secantbot summon <name>".
   This will spawn a new SecantBot in the game at a random spawn location.
   The bot has the attributes that you specified in the file "Bot.bdl".


Q. When I try to summon a bot, the game tells me "Unknown bot: <Name>".  Why?

A. Two possible causes.

   - You typed in a wrong or non-existent bot name.  Make sure it is defined
     in a file called "Bot.bdl" in the Tangential directory.  If the file
     does not exist, just rename "Sample.bdl" to "Bot.bdl".

   - The bot is defined incorrectly.  Study the other entries.  Make sure
     the format is correct.


Q. How do I create bots with custom skin and model?

A. Open up a files called "Bot.bdl" in the Tangential directory.  Study
   the comments in the file.  Find the section [Model] and add your own
   model defintion.  Find the section [Skin] to add your own skin defintion.
   Finally, in the [Bot] section, add your new bot entry following the
   format of existing entries.  You can now "summon" the new bot in
   a deathmatch.


Q. How do the different numeric attributes affect a bot?

A. There are currently 3 numeric attributes that give SecantBot a sense
   of "personality".  They are:

       Skill - An overall rating on the bot's ability to roam, aim,
               attack, dodge and aggressiveness.  The higher the skill
               is, the better the bot can perform in these areas.

       Speed - The movement speed of the bot.  The default is 5, which
               is the same as a real player's.  At 1, the bot crawls at
               a _very_ slow pace.  At 9, you may well think you are
               seeing a ghost as the bot "flies" by you.

       Ping  - More commonly known as lag.  This simulates the effect of
               playing over the Internet.  The lower it is, the better
               the bot can survive against a LPB, you, the player with
               a 0 ping.

    The "Sample.bdl" file provides some pre-defined bots with reasonable
    attributes:
    
        "Athena"  and "Cipher"    -  Inexperienced player
        "Jezebel" and "Howitzer"  -  Average player
        "Venus"   and "Psycho"    -  Advanced player
        "Voodoo"  and "Rampage"   -  Special(!)


Q. How do I use the gamei386.so with Linux Quake II?

A. Answer this: you are smart enough to get Linux Quake II going, what
   is stopping you from using a MOD?


Q. I think I have found a bug.  What should I do?

A. There is a "Bug" section on the Tangential home page.  Please let me 
   know if you have found a bug that is not already there.  My email is 
   listed above. Here they are again: 

          yuen@ug.cs.dal.ca
          ayuen@fastlanetech.com


Q. I have a question that is not in this FAQ.  What should I do?

A. Use the above email address (either one) to send me the question.


Q. I am bored.

A. Sorry, I cannot help you with that.


===========
= Credits =
===========

The Swinging Grappling Hook was created by Bort.  Permissions have been granted
to modify the source code to merge with the rest of Tangential.

    Email     : perceli@ix.netcom.com
    Web Site  : http://phook.symix.com/hook


========================
= Copyright/Disclaimer =
========================

This archive and associated files are Copyright (c) 1998 by Anthony Yuen.

This module was created for my own enjoyment of Quake II.   It is distributed
AS IS and I hope you enjoy it.  I will not take any responsibility whatsoever
for your system crashes, any damage or loss of data due to the use of this
module.  But I guarantee that I have not intentionally added any malicious
content to this module.

This module is in no way associated with id Software.

You may freely distribute this archive, as long as it remains intact.

For commercial distributions or distribution on CDs, please contact me and
get my written permission first.

Enjoy.

Tangent- (yuen@ug.cs.dal.ca, ayuen@fastlanetech.com)

