//=============================================================================
// Crystal Castles (Total Conversion Mod for UnrealI)
// Gerald Lance Tindall aka. {KDS}BOZO aka. <NDP>BOZO
// Shawn Downey aka. Unleaded
// Wolfgang Schloyer aka. }TCP{Wolf aka. <NDP>Scorpion aka. MiaTheChaotic
// Doug Zeager aka. Pitbull
// John Barrett aka. [Sixpack]Shambler
// Lisa Wiggins aka. LethalMomma
// CODE NOT FOR REUSE WITHOUT PRIOR PERMISSION OF THE AUTHORS
// March 24, 2005  
//=============================================================================

==========================
Version Info
==========================
Code included for Crystal Castles Version 1.1 Release.  

This is the second Public Build Release. 

==========================
Overview 
==========================
This is a new total conversion mod for Unreal I. Why for Unreal I only you ask? Well we just like the feel of Unreal I better than the newer stuff coming out - personal preference of the principals. We shall see in the future where this goes... 

For more information and the latest downloads:

http://www.KDSmedia.com/CC_Pages/Index.htm

Thanks KDS for hosting the website!

==========================
General Notes 
==========================
The Crystal Castles Mod is the first new extensive mod to be created for Unreal I in a Nali's age. Play is a bit different from what you may be used to. Points are what matters - not the total number of kills. Points are awarded for kills but you may find it easier to pick up the high scores by collecting the gems and gold found throughout the levels.
 
Those who used to play the old 2-D arcade games where you run around and pick up gems (dots, etc) will be familiar with the concept. The change is we have moved from a static 2-D world into the third dimension.

Our Mod name "Crystal Castles" pays a bit of homage to the original Crystal Castles arcade game - it was actually the first 3D venture along this direction. Needless to say things have changed a bit since it came out. We bring you a little closer to the action by placing you in a first person viewpoint.   

Other changes are that you are a little better armed than that poor old Bentley Bear being chased by trees and other rotten baddies. You also can pick up a bunch of special items to help you win the day. But don't get complacent, more monsters are around to pound you into mush and also other players will be competing with you for that top score!!

==========================
Files Included
==========================
CrystalCastlesVer1_1.txt - Help File

CC_BugList.txt - Help File - lists known bugs

CC_VersionHistory.txt - Help File - lists version changes

Crystal.int - System File - allows Crystal Server settings to be adjusted under advanced settings

Crystal.ini - System File - contains server Crystal Castles Game configuration settings

Crystal.u - System File - Crystal Castles Game Code

CCWeapons.u - System File - Crystal Castles Weapons

CCItems.u - System File - Crystal Castles Items

CCGems.u - System File - Crystal Castles Gems

CCMisc.u - System File - Crystal Castles Miscellaneous Objects/Effects

CCSpecials.u - System File - Crystal Castles Special Effects

LoadBias.u - System File - Non Crystal Castles Server Tool (see NOTE below)

CCMisc_rc.utx - Texture File - Special FX Textures

==========================
Installation
==========================
Extract all the above files with the exception of the CCMisc_rc.utx file into to your Unreal\System directory.

Extract the CCMisc_Rc.utx file to your Unreal\Textures directory.

Open up your Unreal.ini file located in the Unreal\System directory.

Find the ServerPackages lines.

After them add:
ServerPackages=Crystal
ServerPackages=CCWeapons
ServerPackages=CCItems
ServerPackages=CCGems
ServerPackages=CCMisc
ServerPackages=CCSpecials
ServerPackages=LoadBias
ServerPackages=CCMisc_rc


Save the file.

Crystal Castles is now installed and can be run automatically when Unreal is restarted.

NOTE: the CCSpecials Package references an external package LoadBias.u that just needs to be present in your system directory for things to run smoothly. LoadBias is an external server tool interface written by <NDP>BOZO that eventually will be used to connect between various gametypes and LagTracker.u - another program that is still a work in progress. It will be used to dynamically track and adjusts for lag on the server and clients. Currently it is in its first incarnation - very BETA but I do plan on updating it some more here shortly. It is external to the core CrystalCastles code and can work with any gametype thus the seperate interface packaging. I have included LoadBias.u - basically just a shell interface that really doesn't even work correctly yet but will satisfy the core code enough to allow things to run...I will be posting updates for LagTracker once I get it running to my satisfaction. 

===========================
Operation
===========================
You can adjust various settings under Advanced Options / Game Types.
Additionally you may adjust all the pertinent game settings under the Game Options menu for each gametype or you can change things directly in the Crystal.ini file.
 
Currently we support two gametypes - Crystal Game (standard) and Crystal Game (team). There are various settings, both standard and new, that can be adjusted to change the endgame criteria - Fraglimit, Timelimit, Scorelimit, and DisableGemRespawn.

A description of the available settings and their effect follows:

[AllTimeTopScores][0-1999] - A large array holding top scores for the various maps. Lets you have some gloating rights like back in the Arcade days...The scores are stored by map and by timelimit also.
Do not adjust these settings. In the future we will have some admin control of this but not yet.

[bClassicDeathmessages] - If true uses classic deathmessages, if false uses your custom messages.

[bCoopWeaponMode] - If true weapons respawn immediately, if false there is a delay to respawn. Typically set to true on most servers. Standard setting True.

[bHumansOnly] - If true only human players and human bots allowed. If false you can join with other player types. Standard setting True.

[bNoMonsters] - If true this will disable any monster on the map. Note this will disable the MonsterSpawners so no hazard monsters will appear on the maps. If false will allow monsters.
Standard setting False.

[CountBotScores] - If true will enter bot scores on the scoreboard. If false it will ignore them.
Standard setting False.

[DisableGemRespawn] - If true will disable gem respawn. This has the effect of maxing out the score available on a map from gem pickup. This could provide for an interesting alternative to normal gameplay as people will be fighting over the last few gems...If false will enable gem respawn. Standard setting False.

[JumpBootsCFG][Charge] - Resets the charge for all JumpBoots on a map to this value. Standard setting 8.

[JumpBootsCFG][RespawnTime] - Resets the respawn time for all JumpBoots on a map to this value. Standard setting 5.

[MinPlayers] - The minimum required players needed before new scores will be entered on the scoreboard. If CountBotScores is true then Bots will be included in the count. Standard setting 2.

[ScoreKills][BattleAccidentPunishment] - A punishment for killing yourself accidently in battle when in close proximity to monsters/players. See below. Standard setting 10.

[ScoreKills][BlowUpCheckforPlayersRadius] - A radius that is searched for other monsters/players prior to assigning BattleAccidentPunishment. Standard setting 1300.

[ScoreKills][KillBonus] - A bonus for killing other players/bots. Standard setting 50.

[ScoreKills][KilledByEnvironmentPunishment] - A punishment for drowning, dying in sludge, etc. Standard setting 25.

[ScoreKills][KilledByFallPunishment] - A punishment for being falling too far. Standard setting 25.

[ScoreKills][KilledByPlayerPunishment] - A punishment for being killed by another player. Standard setting 0.

[ScoreKills][PawnPercentHealthKillBonus] - A percentage of the monster default health setting that will be awarded for killing them. Standard setting 0.1 (10%).

[ScoreKills][SuicidePunishment] - A punishment for being clumsy. Standard setting 40.

[VersionInfo] - The current base version being run on the server. Do not adjust this setting. 

<------------------------------------------------------------------------------------------>

In addition, the team game has some further settings you can adjust:

[bHardCoreDamage] - If true HardCoreDamage is enabled. Standard setting False.

[bNoTeamChanges] - If true doesn't allow team changes. Standard setting False.

[bSpawnInTeamArea] - If true players spawn in team areas. Standard setting False.

[CountSpecsAsPlayers] - If true spectators are counted in player count. Standard setting False.

[FriendlyFireScale] - A percentage of the potential team-on-team attack damage that will be transferred to your teammate. Standard setting 0.0 (0%). 

[GoalTeamScore] - A team score that will end the game outside of timelimit. If set to 0 timelimit  is when game ends. Standard setting 0. 

[MaxTeams] - Maximum number of teams that will play a particular game.

[MaxTeamSize] - Maximum size of teams allowed.

<------------------------------------------------------------------------------------------>

Crystal Castles has a built in AutoReplacer function that will dynamically place and replace inventory items in a map at startup. This along with the AutoGem placement function allows you to play any Unreal map as a CrystalCastles map. You can adjust these settings under GameTypes/Crystal Castles Auto Replacer/Replacer

Up to 64 different object types can be dynamic adjusted.

[ClassMaxAllowable] - Checks that no more than X of the replacement class appears on the maps. Deletes excess objects. Very useful for getting rid of those darn invisibility pickups...

[ClassMinRequired] - Checks that at least X of the replacement class appears on the maps. Adds needed objects at random location. Note that this is very useful for making sure at least one CrystalStinger appears...

[ClassOriginal] - The class that is being replaced.

[ClassReplace] - The class that is replacing ClassOriginal. If they are the same then it just runs the ClassMaxAllowable and ClassMinRequired checks. If None then the item is simply destroyed altogether without a replacement.

<------------------------------------------------------------------------------------------>

The maplist for the Crystal Games can be adjusted under Advanced Options /Networking / Map Lists / Crystal Castle Maps or you can directly change the settings in the Crystal.ini file.

[MapNum] - Starting map number.

[Maps][0-31] - Crystal Castles Mapnames. All Crystal Castles maps begin with CC- for ease of locating them.

Note that you can play Crystal Castles on most any Deathmatch map out there as we have a built in Weapon and Item replacement and auto gem placement capability. The CC- maps are of course best suited for the game as they showcase the full gamut of Crystal Castles capabilities.

==========================
Current Changes 
==========================
Review the CC_VersionHistory.txt document for details.

===========================
Known Bugs
===========================
Review the CC_BugList.txt document for details.

===========================
Future Plans
===========================
Got all kinds of plans in the works...
Some new plans include new weapon types and full replacement of all Unreal weapons with our own custom stuff. Many new items and special effects. Our own custom skins. Note that we already have ported this mod to UT2004. Actually won an honorable mention in the $1,000,000 Make Something Unreal Contest for our Phase 3 entry.

===========================
Thanks!
===========================
Greetings from the Core Development Team:

Gerald Lance Tindall aka. {KDS}BOZO aka. <NDP>BOZO
Shawn Downey aka. Unleaded
Wolfgang Schloyer aka. }TCP{Wolf
Doug Zeager aka. Pitbull
John Barrett aka. [Sixpack]Shambler
Lisa Wiggins aka. LethalMomma

Thanks to Lee [Fusion] Timms for allowing us to use DM_Destory][.unr as a base for a new map.
Additional Thanks to Richard Conley for the base Gem Models.

Thanks to Rick Watts aka {KDS}Rewind for hosting our website, ftp, and forums.

===========================
Contact Me!!
===========================
Please help make this a better mod!
Email any problems you find or suggested features to bozo@kds-clan.com
If you want to help out just let me know!
Thanks!!  

===========================
Disclaimer
===========================
If this causes problems on your machine - sorry but thats the way it goes. Send me info on your system and a description of what occured. Also your Unreal.log, Server.log, Unreal.ini, and Crystal.ini files and I will try to figure out what occured.

===========================
Copyright / Permissions
===========================
This game modification and all code is copyrighted by the authors.

Authors may use the gametype as a base to build map levels provided no modification or extraction of the objects are made to the code.

You are NOT allowed to commercially exploit this gametype, i.e. put it on a CD
or any other electronic medium that is sold for money without our explicit
permission!

You MAY distribute this zipfile through any electronic network (internet,
FIDO, local BBS etc.), provided you include this file and leave the archive
intact.

If this gametype is included in a pack (i.e. bundled with several other maps/gametypes in
one zip file, this text file must be included.

----------------------
UNREAL (c)1998 Epic Megagames, Inc.  All Rights Reserved.  Distributed by
GT Software, Inc. under license.  UNREAL and the UNREAL logo are registered
trademarks of Epic Megagames, Inc. All other trademarks and trade names are
properties of their respective owners.
  