Name:		Loki's Minions QuickCTF Script (For all CTF play)
Version:	1.10
Author:		Brad Aaron (LM_Farbauti_CS)
Email:		farbauti@cableone.net
Q2 Port Date:	4-27-98
Last Update:	5-30-98
Description:	This cfg is designed to make optimal use of new functions available
		in LMCTF while still maintaining compatability with the many other CTF
		currently available for the Quake 2 engine.  One additional feature
		I have ported the Quickfire keys written for QW into the Quake 2 game.
Files:		readme.txt, lm_config.cfg, lm_quick.lm, lm_scripts.lm, lm_keys.lm, lm_radioon.lm,
		lm_radio.lm, lm_set.lm
Copyright:	The code contain in these files is the property of it's author, Brad Aaron.  You
		are free to use for personal use.  You are also free to distribute this script as
		long as the following three conditions are met.
		1)	it is kept whole, with all the above listed files together and unmodified
			including this readme file.
		2)	it is not being sold or distributed in any form for money.
		3)	I am given credit for the many hours of work I put into this.

Installation:	1)	Unzip the entire contents of this zip file into your quake2/baseq2 subdirectory.
		2)	Backup all autoexec.cfg and config.cfg files from this and all other subdirectories
			under quake2.  If you deside not to use this cfg you can then remove all files from
			in this zip from you installation of Quake 2 and restor the originals.
		Now you have a choice to make on how you want to use this cfg.  It is designed to work well
		with every version of CTF that I had experience with of at the time.

		To use this cfg with all Mods you play in, use it as your custom cfg on GameSpy:
		3)	Run GameSpy.
		4)	When prompted for a which player profile to use, choose the one you would like to use
			the cfg with and press <edit>.
		5)	Under the "Player name:" dialog you will see a box labeled "Custom CFG file:", use
			the pulldown list to select the file "lm_config.cfg".
		6)	Select the <Ok> button followed by the <Continue> button.
		You are now set,  the cfg will load everytime you enter a game.

		If you only want to use this cfg in certain MODs but not in others do the following:
		3)	Rename "lm_config.cfg" to "autoexec.cfg"
		4)	Copy this file into each of the Mod subdirectories you would like to use it with
		That is that, now each time you start a game under one of those mods the cfg will automatically
		load and run.

I know there are some people out there who may want to pass around this or any other work which they did not actually
participate in.  These works represent alot of time and creative energy on the part of the developers.  With this in mind
I would appreciate it if I got due credit for what I have done.  After all, I have been good enough to share it in the
first place. ;c)

These files are intended for a three button mouse, with mouse look always on.  This config is quite large and complex,
I suggest you not do too much under the hood work unless you are familar with cfg files and can decipher how this one
works.


lm_drops.lm
-----------
This file is new to version 1.00beta.
This complex fuction allows the two-key dropping of ammo/rune/flag.  You press the drop key (default
k) and then the weapon select key for the weapon who's ammo you would like to drop.  If you want to
drop your currently held rune you press "t", and to drop the flag press "h".  After pressing flag drop
you will be prompted to verify that you really want to drop it.  Pressing 1 drops the flag and 0
cancels the command.  Functions in this file are:

dammo0-dammo9	Drop ammo for associated weapon
dammog		Drop hand grenades
dammoh		Drop flag
dammor		Drop rune
dropit		Item Drop selection routine
fdrop		Flag drop idiot prompt
rdrop		Optional rune drop idiot prompt


lm_messages.lm
--------------
This file is the same as the lm_radioon.lm and lm_radiooff.lm files, without the autotext code or the
team radio code.


lm_radioon.lm & lm_radiooff.lm
------------------------------
New to version 1.10-
The structure has been altered greatly to expand on available messages.  These changes are listed below

F1	Offense Communications
F2	Defense Communications
F3	Response Communications
F3	Miscellaneous Communications
F5	Gestures/Taunts

Specific messages bound to the second key are listed below per message catergory:

Offense-
F1	Ready on Offense at "place" !
F2	Offense attack now!
F3	Got the flag at "place" - "health" - "armor" - "rune" , Need escort!
F4	Fall back and Regroup!
F5	On Escort "place" with "rune"!

Defense-
F1	Ready on defense "place" with "health", "rune", "armor"!
F1	Defense needed at"location" !
F2	Base is clear!
F3	Base is overrun!
F5	Re-equipping, off defense temporarily.

Response-
f1	Roger!
F2	Negative!
F3	Unknown!
F4	Move!

Miscellaneous-
F1	Requesting Base Status!
F2	Recover Our Flag!
F3	Attack coming from "place" Incoming!
F4	Incoming Quad at "place" !

Gestures/Taunts-
F1	Flip Off
F2	Salute
F3	Taunt
F4	Wave
F5	Point


This file is new to version 0.95.
These files are basically identical with one exception, the lm_radiooff.lm file does not use the LMCTF
team radio feature. Both fully utilize the autotext features of LMCTF and are written specifically for
LMCTF.  The next release of this config will contain a normal CTF message system option as well.  This
is a two key messaging system. The firstkey represents one of the following:

F1	Offense Message
F2	Defense Message
F3	Miscellaneous Messages
F4	Gestures/Taunts

Specific messages bound to the second key are listed below per message catergory:

Offense-
F1	Ready on Offense at "place" !
F2	Offense attack now!
F3	Got the flag at "place" - "health" - "armor" - "rune" , Need escort!
F4	Fall back and Regroup!

Defense-
f1	Defense needed at"location" !
f2	Base is clear!
f3	Base is overrun!

Miscellaneous-
f1	Roger!
f2	Requesting Base Status!
f3	Recover Our Flag!
f4	Attack coming from "place" Incoming!
f5	Incoming Quad at "place" !

Gestures/Taunts-
F1	Flip Off
F2	Salute
F3	Taunt
F4	Wave
F5	Point


lm_quick.lm
-----------
New in 1.10-
Added the Viking grappling hook support.

New in 0.95-
Recoded to allow keys to be defined in the LM_Keys.lm file.  Functionally the same.

Features in the 0.90 release-
This file contains all the code for the Quickfire keys.  Quickfire keys allow a one keypress
weapon switch and fire.  These are coded to the mouse2 and mouse2 keys (right and middle mouse
button).  You may be thinking, "What's the big deal about that?" These keys are also live
programmable.  You can select the weapon for each Quickkey by pressing the Quickset key (default
is <q>) followed by Quick key to reassign and then the weapon of your choice. 0-9 for the guns,
G for Handgrenades, H for Grappling Hook.  This cfg supports the four grapples I was aware of at
the time of coding.  To change the current grapple type being used, press the single quote key
<'>.  If you are aware of any other grapple command/type, please let me know about it and I will
add it to the cfg for the next release.  If at any time you want to cancel reprogramming before
you have finished, simply press <backspace>.

To recap default the keys:
mouse2 & mouse3		Quickfire keys
q			Quickfire set
0-9			Weapon select keys
g			Handgrenade select
h			Grappling Hook select
'			Next Grapple Type
<backspace>		Cancel Current Commands


To manually bind Quickweapons to other keys the funtions are as follows:
+weap0 thru +weap9	Quick weapons for weapon 0 thru weapon 9
+weapg			Quick Handgrenades
+pthook			Quick Grapple for the Q2CTF grapple
+lmhook			Quick Grapple for the original LMCTF grapple
+vnhook			Quick Grapple for the original Vanilla CTF grapple
+hook			Off-Hand Grapple
+currhook		The currently selected Quick grapple chosen with then grapple change key.
+q1weap			Quick Weapon 1 (Use this to bind quick weapon 1 to an additional key)
+q2weap			Quick Weapon 2 (Use this to bind quick weapon 2 to an additional key)

Other functions:
qset			Active Quickkey set mode
bset			Rebind the Quickfire keys
wset			Rebind Weapon Select keys


lm_scripts.lm
-------------
New in 1.00-
The smoother that was left from the Quakeworld days on the Zoom function has been removed, it was not needed
and infact caused less smooth functioning under Q2.  The message mode changer has been expanded to include a
non LM specific message set that avoids the use of autotext and radio.  

nolmmess		Non LM Specifc messages

New in 0.95-
As in the LM_Quick.lm file thesehave only been modified to move key definition to the LM_Keys.lm file.
I have added an additional alias for those of us that are still standard video lamers.  A function to
toggle between windowed and fullscreen mode.  One lastscript, the Sticky Grapple Sniper Mode.  It grapples
you to whatever wall/ceiling/floor you are looking at and zooms in.  Executing it again releases the
grapple and unzooms your view.

wintog			Toggle between windowed and fullscreen mode
winmodeon		Switch to windowed mode
winmodeoff		Switch to fullscreen mode
scriptoff		Turn off all Loki's Minions Script settings, reset to Q2 defaults
snipeon			Sticky Grapple Sniper Mode on
snipeoff		Sticky Grapple Sniper Mode off
snipe			Toggle Sticky Grapple Sniper Mode

Features in the 0.90 release-
This file adds a few miscellaneous functions to the game for you to use if you choose.  The following
is a list of each function with a description.

+zoom			Smooth Zoom, makes a key zoom in the field of vision when pressed and
			out when released, smoothly. (default <alt>)
+wide			Smooth Wideangle, makes a key wideangle the field of vision in when
			pressed and out when released, smoothly. (default <ctrl>)
+pinv			A key toggle for the inventory so when pressed inventory displays and
			when released inventory disappears. (default <ins>)
+pstat			A key toggle for the the status screen to make it work more like QW.
			When pressed status screen displays and when released it disappears.
			(default <tab>)
pla & cha		Observer Toggle.  This isnot funtioning properly yet, use at your own
			risk.  This does rebind the k key, to avoid this remove this function
			or change the bindings in it. (default <k>)
radioon & radiooff	Establishes a one key radio switch to turn on and off the team radio.
			(default <r>)


lm_keys.lm
----------
New in 1.00-
I bound the new dropit funtion to K and moved the future function binding for Observer mode
to O.

dropit			The drop item command.

New in 0.95-
Moved the key definition from several other routines to this file for ease of modification.
Included in these are the set commands for defining the Quickkeys.  This makes this script
MUCH more customizable to your individual preferences. The new key definitions are as follows,

jump			Added to make it more convenient for those who may not know binding very well
cancom			The command cancel function
wintog			Toggle between windowed and fullscreen mode
Q1Key			The Quickkeys are now defined in this, making it much more customizable.
Q2Key
ObKet			Move the key definition for the LMCTF Observe mode script to here (not supported yet)
GRKey			Grapple type select key. (LM, Vanilla, Zoid's, Offhand)
Rakey			Radio on off toggle

Features in the 0.90 release-
This is where the bulk of the keys are bound for the script.  Most everything key assignment
is done here.  If a key assignment is not here then it is bound elsewhere and should not be changed
unless you are certain of what you are doing.  Any additional key bindings you would care to add
should be done in this file also.  Not going into to much detail here, I figure if you are using
this cfg then you know alittle about them to start with.


lm_radio.lm
-----------
New in 0.95-
This file was basically made obsolete in the new structure.  It was replaced by two new files;
LM_Radioon.lm and LM_Radiooff.lm.

Features in the 0.90 release-
This file establishes the funtion keys as message keys specifically for LMCTF.  It utilizes the
autotext feature as well as team radio.  The best way to learn more about these key is to use them.
Before running this script be aware that this file does overwrite ALL of the function keys 1 - 12.
the print screen function as well as others will need to be bound elsewhere if you intend to use it.
I will give a general list of the message bindings below with the autotext filling locations in quotes.

Offense Communications
f1 	Offense attack now!
f2	Ready on Offense at "place" !
f3 	Got the flag at "place" - "health" - "armor" - "rune" , Need escort!
f4	Fall back and Regroup!

Miscellaneous Communications
f5	Roger!
f6	Requesting Base Status!
f7	Recover Our Flag!
f8	Attack coming from "place" Incoming!
f9	Incoming Quad at "place" !

Defensive Communications
f10	Defense needed at"location" !
f11	Base is clear!
f12	Base is overrun!

fset	Resets all the Communications keys back to their proper bindings


lm_set.lm
---------
Features in the 0.90 release-
Sets up the variable settings and such that you want to use in your ctf gaming session.  For example,
this is where the mouse sensitivity would be set or you name.  If you intend to change any of these,
make sure that you know what you are doing ahead of time.  If you are not certain of any of these, I
recommend that you not change them.  Some of these may no longer work in Quake 2 given all the upgrades.



This is, and likely always will be, a work in progress.  It is the cfg I have been playing with since
QWCTF (of course ported to Q2 and still evolving), with lots of LMCTF functionality built in.  If you
happen across any bugs or have any thoughts or ideas on this script, please let me know at
farbauti@cableone.net.  I am always looking at ways to improve it.

Thanks to LM_Hati for his suggestion of the item drop function.
