 Package: UTeamFix
  Author: }TCP{Wolf aka Mia_The_Chaotic
    Date: 2002-11-09
 Version: Release 8
Feedback: wolf@tcp-clan.nl


*** IMPORTANT NOTE FOR UPGRADERS FROM RELEASES 6 AND LOWER
*** YOU MUST RESET YOUR ADMIN PASSWORD IN THE ADVANCED OPTIONS AT THE GAME
*** OPTIONS NOW, NOT IN GAMEENGINE - YOUR OLD PASSWORD WILL NOT WORK!
*** ALTERNATIVELY MODIFY UTEAMFIX.INI MANUALLY


I. What is this?
This is Unreal Team Game Deathmatch type. It is identical to the normal
Unreal Team Game, but with some bugs fixed:
- The Gold skins will now be used correctly
- The Scoreboard has been fixed (it takes 32 players now btw -> see
    the screenshot)
- Optional SkaarjTrooper skins added, big thanks to squirrelsoftware,
  because they were taken and modified from RealCTF and modified to include
  green and gold skin, so big thanks to both Mouse and Martin Davies at
  this point.

Doesn't UCop already fix the first?
-> yes... but it doesn't fix the 2nd. Also, people complain UCop causes
   lag. Now you have an alternative which won't cause any more lag than
   normal team game would.
But it doesn't provide the other features UCop has...
-> True, use "ServerDog" to compensate some if you feel you need...
   this is just an easy fix for exactly 2 bugs in teamgame, no more, no less!
   ++ addition: This is no longer true, with the deathcounter, the
      Trooper Skins and the optional features this patch has become notably
      more :)


II. Install
Copy "UTeamFix.u" all "*.int" files to your Unreal\system directory. The
"utx" files go to your Unreal\textures directory, it contains the Skaarj
team skins and the alternate human skin pack.

Append this in the "Unreal.ini", section [Engine.GameEngine]:
ServerPackages=UTeamFix
ServerPackages=SKTrooperTeam

You do not need the Skaarjskins to run the patch, you can safely leave them
off - just set "bHumansOnly" in the advanced preferences for this game mode
to "true" then. This makes perfectly sense for clan match servers where only
human players are allowed. Vice versa, if you DO INSTALL the Skaarj skins,
make sure you set "bHumansOnly" to false! Otherwise your install is in
vain :)

Since Release 8, another skin package comes along, it is a set of alternate
human skins which are easier to distinguish. To use them, you must add another
line there at the Unreal.ini:
ServerPackages=UTeamSkins
and you must set "AlternateHumanSkins" to "True" in the advanced options.
Not all original human skins have been enhanced, e.g. Male2 skins were
only "brightened". If anyone feels like making nice skins for the still
"not so good ones", well make them and mail me to include em
(remember TEAM skins!!) :)


III. Run
You can run this like all other game modes "out of the box" by selecting it
from the Unreal game menu. But note that it looks identical to "team game"
so press F1 to see if you have the "fixed" version running or the "normal"
(the fixed has an extra line indicating it is the fixed one in the header).

To run a dedicated server in batch mode, this would be your command line:
Unreal.exe <startmap>.unr?game=UTeamFix.TeamGameFix -server

(Fixed DM since release 8:
 Unreal.exe <startmap>.unr?game=UTeamFix.DeathmatchGameFix -server)

Default admin password for this game type is "admin" (but usually the one of
your former game type will be taken), configuration is written into
"UTeamFix.ini" file.


IV. Extra features (Settings)
1) HardCoreDamage (OPTIONAL !!!!)
   In the advanced options, under game types where this game mode will also be
   listed, you will find one new variable called "bHardCoreDamage". This can
   be enabled if you want the hardcoredamage in team games. Note that this
   works INDEPENDANTLY from bHardCoremode, you could have hardcoredamage but
   classic game mode (if you wanted).
   This has just been included as a little extra in case you find classic
   damage too frustrating... It is off by default so that this team game
   behaves EXACTLY like normal teamgame in that matter by default.
2) Count Spectators as players (OPTIONAL !!!!)
   Another new variable can be found in the same spot, if you set
   "CountSpecsAsPlayers" to true, the Unreal UBrowser will always report
   all connected clients, not only actual players. The advantage of this is
   you see who REALLY is on, the disadvantage is if you only look at the
   "playercount" you might get a wrong impression of how many "players" are
   actually up and fragging :)
3) IllegalStringResolve - put in some string you want all empty or totally
   illegal string-pair values to be set to. For example, if you set this to
   "ImAStoopidPunk" all people with an empty name will get that name when
   joining your server... This is a general bug-prevention mechanism to avoid
   empty key/value pairs not handled properly by Unreal.
4) AlternateHumanSkins: If true (and the alternate human skin package is
   properly installed) UTeamFix will use the better viewable human skins
   instead of the standard Unreal team skins


V. New Ingame Commands
1) clean255
   Should you have summoned some bots (or there are some ghost players in an
   illegal team - as seen when a "gold" player shows up in the upper right
   corner of the scoreboard) a quick "admin clean255" will get rid of them.
   This function is automatically executed after each playerlogin in case
   playerlogin failed and leaves a ghost... But just in case...
   R7: Admins will never be kicked by this command now.



Revsion history
---------------
Release 2: 08/08/2002
           - bugfix: set gold teamskin if gold selected but maxteams<4
Release 3: 08/10/2002-08/11/2002
           - bugfix/enhancement: FAIL teamchange if not allowed and tell
             player - but normal "teamchange" at login time.
             Also, Spectators may freely change team.
           - "clean255" function added just in case bots or even players
             somehow still get the illegal team id, just type
             "admin clean255" to kick all "illegal team players" (including
             those "ghost" pawns...)
           - Spectators now shown in Scoreboard
           - PLAYERS have improved HUD  + better teamsay
                                        + better event display
             The HUD code was partly originally done by mouse from
             squirrelsoftware, since I have taken something from the RealCTF
             HUD code. Big thanks to mouse for allowing me to use any part
             of RealCTF for non-commercial use.             
           - Added SkaarjTrooper skins. As mentioned before, the original
             red and blue skins were done by squirrelsoftware. The green and
             gold skin were achieved by changing the palette of the existing
             ones...
           - bugfix: sortscores
           - bugfix: Gold Teamskin not shown when players login with "255"
                     team and are then assigned to gold team
           - DeathCounter added
           - Overrode addbot() function + corrected ReplicationInfo
                                        + corrected log- error-message if
                                          Skaarj-bots fail to spawn because
                                          "humans only" set
Release 4: 08/13/2002
           - bugfix: Spectators didn't show up correctly in scoreboard if more
                     than 1 spectator was present (silly bug pff...)
           - kicked one obsolete reference in the replicationinfo which I just
             oversaw after optimizing the code a bit :)
Release 5: 09/10/2002
           - enhancement: clarified "illegal" team code
           - autokill BOTS on illegal teams
           - ecplicit destruction of PlayerReplicationInfo of clean255() killed
             Players (and Bots)
           - Scoreboard now shows team of spectators in a colored "taint"
           - Scoreboard minor improvement when NOT to show header
Release 6: 10/07/2002
           - illegal option values will be resolved to <<critical>> now
           - server crash issue fixed
Release 7: 10/10/2002
           - Scoreboard cleanup
           - login completely overhauled
              > admins can join full server
              > admins can join full teams
              > admins can join non-existent teams(!!)
           - Spectators can join full servers if MaxSpecators not yet reached
             and CountSpecsAsPlayer=false
           - Admin / GamePW overriden - YOU NEED TO RESET THEM IF YOU UPGRADED
Release 8: 2002-11-09 (I'm now using ISO dates - --)
           - Scoreboard now displays ID on top of ping (a tribute to ServerDog)
           - Bots get ID correctly now
           - Start-ID is now 1, not 0
           - Fixed a ScriptWarning when bots are added
           - The "CRITICAL" text (when empty string in options) is now
             variable and you can set it whatever you want...
           - prelogin() greatly improved, new error messages
               (spectator spots used, or player spots used but can join as...)
           - hopefully fixed another server crash issue
           - rejoining of same players will be rejected if they rejoin too
             fast
           - alternate human skin package added
           - DM mode "DeathMatchGameFix"   hardcore damage mode
           - ScoreBoard bugfixes
           - int file was messed up LMAO!!

Planned:
- Incoprporate PsiTrix[MoA]'s cleangame (disable spawnkills and silly DP
    kills)
- changing Team no longer costs a point  ... tricky, always
    UnrealShare.killed() called for no reason...
- admin send private messages



Known issues:
-------------
1) Some older functions which are still called (part of Unreal) will cause
   Scriptwarnings, e.g. when SkaarjTroopers enter or when anyone joins GOLD
   team. Don't worry, that's what would happen in a normal teamgame too.
   Just ignore it.
2) GOLD players appear without team - and people crash out at same time:
   That's an Unreal bug. If that happens, your maxteamsize * number of teams
   < MaxPlayers.
   In other words: your maxplayers would allow more players to join, but all
   teams have reached maximum size already. To resolve the issue, either
   lower the maxplayers or raise the maxteamsize.
   NOTE: If you play with bots you better have a large maxteamsize, because
   bots don't count as players!!
   ** THIS SHOULD BE FIXED BY NOW, BUT YOU NEVER KNOW **



Enjoy,

Wolf
