---------------------
 Climber 2000 BETA 4
---------------------

Climber2000 is a flexible grappling weapon for Unreal Tournament.  
With user-configurable range, retract speed, and hook range
it can be tailored to suite the desires of the player or system
admin.  With the "Drop Flag" option, CTF players can be prevented 
from grappling away with the flag.  Climber2000 comes with an 
Arena-style mutator (ClimberArena) that replaces the Translocator 
with the Climber2000 and an additional mutator (Climber2000) that 
simply adds a Climber2000 to each player's inventory.

Climber2000 is unique among grapplers in that it does not necessarily
retract you to a position when the hook makes contact.  When not in an
attached position, primary fire will launch a regular hook while 
secondary fire will launch an autoretracting hook.  In addition, if 
the player moves or falls out of the configured range of an attached
hook, the Climber2000 will reverse their velocity, effectively 
tethering the Player to the hook and allowing for "swinging" actions.  
This does not apply when unlimited range is set.  In order to recall 
the hook or drop from an attached position, the player must hit 
secondary fire .  If a player retracts and retrieves the hook, another
hook can be fired with primary fire and used for a "zipline" effect 
between positions.  Secondary fire allows the player to drop from an
attached position.

The gun's Indicator Light shows one of four colors to indicate the
current status of the Climber2000.  These are:

 Green - Ready State
Yellow - Hook In Transit
   Red - Hook Attached, Waiting for Retract
Purple - Retracting to Hook position

Additionally the Climber2000's hook has a user configurable limited
lifespan.  Each use of the "tethering" action at the end of the range
artificially shortens the hook's lifespan.  Hooks are vulnerable
to attack until retrieved and can be destroyed.  Each hook puts out
a visibility beacon in the color of the player's team once attached
to a wall.

Climber2000 has UWindows support and Advanced Options menu support
included.

Optional Parameters and their defaults:

Put this in your Unrealtournament.ini or primary ini file:

[Climber2000.Climber]
HookLife=120		// life of hook/attachment in seconds
HookSpeed=2000		// Travel speed of the hook
Range=6000			// range of hook (0 = unlimited)
SpeedFactor=1.5		// retract speed as a factor of running speed 
					// (1.0 = 100% running speed)
bDropFlag=False		// if a player has the flag and tries to grapple 
					// away they drop the flag
bIgnoreWaterZones=False		// Water Zones will not affect retracting 
							   speed (as much)

There is one user-specific setting:
bNoWalkAttach=False // Player will not attach to ground if running/walking

Finally, in order to bind the Climber2000 to a key, assign this
line to the desired key:

GetWeapon Climber2000.Climber

Enjoy.

- William 'Ntruder' Chenoweth
  (ntruder@home.com)

Questions/comments/suggestions accepted and appreciated.


-----------------
 SPECIAL THANKS!
-----------------

Alot of this project would not have been successful without the help
of alot of people.

Mike Fox of Legend Ent.
	Thanks for your suggestions and comments and most of all for 
	testing all those different pre-releases on your cool server!!  
	NIUT is the coolest mutator ever.  And thanks for forwarding my 
	modeling questions to...

Joel Walden of Legend Ent.
	Thanks for answering my dumb skinning question with one deft 
	email. ;)

Steve Polge of Epic Games
	Thanks for answering my player physics question.  Without that 
	little answer this wouldn't have worked at all.

Alan Willard of Epic Games
	For inadvertantly getting me into a gaming and game programming
	obsession with free copies of UT and for forwarding my email to
	Steve Polge.

Molly 'Illyana' Willard
    For encouraging me when I got stuck and for the cool texture
	pieces on Climber2000's skin.   

And special thanks to everyone who sent me encouragement, bug reports,
and suggestions...

------------------------------------
 Considerations for Level Designers
------------------------------------

One problem I have not been able to address is the problem of 
grappling to skyboxes.  While it can be somewhat stifled by the use
of the Range configuration, its still unavoidable in some instances.
So the best I can offer is some tips for level designers who want to
prevent skybox grappling in future level designs.

The Climber2000's hook has an aversion to pain zones.  That is,
ZoneInfo.bPainZone=True, whether there is any actual damage or not.
It will immediately self destruct upon entering a pain zone, but not
if fired within a painzone (so players can escape).  The trick to
prevent skybox grappling is to create a large zone portal that 
outlines the subtract brush that makes up the outer walls of the 
level. on the inside, and put a simple ZoneInfo inside with bPainZone
set to True.  This should not affect the way the level looks or 
behaves as long as the Damage specifier is set to 0.  This trick can 
be used to stifle grappling to any surface.


------------------
 Revision History
------------------

06/13/2000 (not public)
BETA 4 - Tried to address a replication issue
		 New indicator light graphic

04/24/2000 (not public)
BETA 3 - Streamlined simulation and replication code
		 Addressed mysterious "uncooperative Climber" network bug
		 Fixed indicator light miscolor after weapon switch		 

04/17/2000 (not public)
BETA 2 - Fixed player physics problem with AutoRetract function
		 Changed to MultiSkins, shrinking the package size alot
		 Made Indicator light material UNLIT
		 Spiffed up UMod Menu

04/07/2000
BETA 1 - First public release

