Kohan Revision History:

WARNING: films made in previous versions of Kohan will no longer work

=============================================================================
1.2.0
=============================================================================

SUMMARY OF CHANGES
! adds features to the lobby chat/server browser, such as automatic AFK and
  additional filters
! adds an elapsed time display in-game
! adds logic to deal with abuse of clumping 
! adds a significant amount of information to observer mode

DETAILS OF CHANGES

Lobby Chat:
! adds the Lobby Options interface, where you can configure notification messages
! adds automatic AFK detection; after 60 seconds of inactivity (configurable) 
  you will be indicated as AFK to other users
- adds a "You may have a firewall" warning.  The "Firewall" checkbox to 
  disable this warning is on the Lobby Options interface.
- fixes inconsistencies with the player list scrollbar when toggling full/partial chat
- fixes problem where your current whisper target would be dropped from the
  list if they changed names.  Now it correctly updates the name in the list.
- fixes potential crash if you quickly exit/enter the lobby interface while
  connected to chat
- changes chat to not display "changed name" messages for an ignored user
- uses a variety of icons for the different types of messages

Server Browser:
! reduces query traffic to games in progress to improve performance for low
  bandwidth connections while still allowing your game to be listed. 
  [See below for additional details.]
! adds filters to the new Options interface (by version, room or language)
- adds Game Time elapsed to the server information window for games in progress
- adds the option to disable automatic refreshing of the server list
- increases the ping thresholds for gem colors
- changes the server list to only color the gem by ping (not the hostname)
- grays out servers that are incompatible (by version)
- stops popup message boxes from aborting the server list query

Multiplayer:
! adds "Observers" option to in-game chat target dropdown
! adds information about the climate to the map description for a random map
! adds an "Elite" checkbox to the Settings interface.  Disabling this option
  will disable elite techs in custom games.
! adds an "Auto-Ready" checkbox to the Settings interface.
- fixes a problem where, in certain rare backup circumstances (where the
  host lags), a player might have their name changed to an AI name
- fixes potential client hang when the host is changing maps

Design:
! changes formation modifiers to drop at triple the rate that they rise.  
  E.g. a company will reach the formation modifier for pressed column three times faster.
! reduces Pressed Column efficiency to 25% and Column efficiency to 50%
! increases Elite Bowman movement from 20 to 24, and increases attack rate from once
  every 2.5 seconds to once every 2 seconds
! changes Khaldunite damage to not count towards non-magical, melee, or ranged
  damage modifers. This affects several attackers and defenders.  For example, 
  Elite Bowmen now do full damage against Skeletons and Shadelings.
- changes the Elite Bowman melee attack to Khaldunite damage
- changes technology casters to require upgraded components: Lich, Warlock, 
  Devout, Conjuror and Enchanter
- increases Forked Lightning morale damage from 0.33 to 0.5 (Praxus)
- increases the Skeleton Warrior cost from 3 to 4 gold
- decreases Unholy Armor holy protection from 10% to 50%
- reduces Conflagaration radius from 3 to 2.5 (Warlock)
- reduces the random gold reward for unoccupied ruins
- reduces Ilya Aswan's ranged attack reload time from 2.5s to 2s

Gameplay:
! adds logic to the unit AI to resolve clumping situations when at rest or 
  in combat. This will translate into a disadvantage if you enter combat with
  units that are clumped too closely.
! fixes some pathfinding problems: getting stuck at the edge of the map and "bouncing"
- fixes problems with settlers and engineers getting in the way when trying
  to construct a building in a low movement terrain
- fixes several problems with remote detection zones (RZODs) staying "on"
  after combat in an area, or with RZODs not being "on" when they should be.
  An RZOD is a ZOD that allows you to see your enemy's ZOC when engaged.
- fixes Volley spells so they work against buildings (Praxus, Balthasar Aswan, Simurgh) 
- fixes bug where projectiles would disappear in the last row or column of the map
- fixes bug that would sometimes allow you, with the correct timeing, to
  raze an under siege building after the militia had been wiped out
- changes the routing AI to consider allied supply nodes, and to further 
  favor supply nodes not under siege
- changes the caster AI to never try to cast an enchantment against a unit
  that is immune to enchantments (e.g. Gauri)

Strategic AI:
! changes the AI to more aggressively go after an undefended enemy building
  after accidentally destroying its militia 
- doubles the value of tribute to the AI
- fixes problem where the AI would not commission if it had too many cities
- makes the AI more aggressively recruit up to its limit if it has a lot of gold
- reduces the number of cases where the AI would disband an expensive company
  despite having a strong economy

Campaign:
- fixes possible mission completion problems in Basic Tutorial M1 and M2 
- adds reverse objective to Cycle of Destruction M6 to prevent mission from
  becoming impossible to complete if an outpost is destroyed  
- fixes Ceyahdev misspellings
- fixes the missing trailblazing ability on the ranger companies in M12 

Interface:
! adds a significant amount of information to observer mode, all relative to 
  the owner of the selected object.  You can now view the Mini-map, Economy, 
  City Management, or any lore (except Quest) from that kingdom's point of view.
! adds indicators for missions completed and the path between them 
  to the world map on the Campaign interface
! adds information about damage type and attack rate to the unit panel
! adds "/time", "/version", and "/score" in-game commands
! adds an "Elapsed Game Time" option that indicates the time in top right of 
  the center panel
- rearranges the Options interface
- makes small adjustments to several interfaces to fit localized text
- hides the ranged attack icon when clicking on an unknown amulet for a hero
  with a ranged attack
- draws the destination flag when using a construct/repair order (like for move/attack)
- fixes typos in technology descriptions 
- fixes an interface state problem with the facing change order 
- fixes problem where some values on the Company Creation interface are not
  refreshed when a component upgrade is completed
- fixes crash in the company lore when using the "Special Companies" filter

Films:
- adds the version number to the warning message for trying to play
  a film from a different version
- changes the default film name to use the long date format

Editor:
! changes the mini-map to display information from the point of view of the
  selected object's kingdom
! adds "Faction Technologies" trigger effect (a convenience to simulation 
  the rules of custom games)
! adds "Set Not Razeable" trigger effect. A building marked as not razeable 
  cannot be destroyed or razed, and will be ignored by monsters
! adds "Player Is Dead" condition.
- fixes "Captured by Player" condition which did not work after the object
  has been captured once
- fixes eventual fatal resulting from trying to test a map with an isolated 
  object (invalid)
- fixes crash placing a preset with no front-line units
- fixes use of several conditions with Multiple: Captured by Player,
  Militia Killed by Player, Hero on Map, Company Routed
- changes the timing of hero decommissioning upon death, so that the 
  "Object Dead" condition can be used with the "Lose Hero" effect.
- changes "Destroy Object" effect to try to "kill" the object with normal
  rules so that a corpse will be left behind
- changes the editor to not list non-editable read-only maps 
- changes the editor to force a "Repair Map" when you save after creating/ 
  deleting blocking objects. This prevents the creation of maps with unreachable areas.
- renames "Corrupt (Evil)" to "Evil"

Graphics:
- extends animations on the Rhaksha Nest, all outposts, Ceyah Village and Citadel
- changes the look of Forked Lightning (Praxus) and Heaven's Bolt (Sadira Bahhrum)
- changes the Counter Magic tech icon to indicate a settlement tech
- adds a visual explosion effect to the Earthshock spell

Other:
- fixes some problems handling and reporting errors on Win2K
- fixes crash saving screenshots when low on disk space 
- changes distributed SAI files to read-only, to minimize the chance of breaking
  patches (if you change one of the original SAIs, patches will fail)

DETAILS ON SERVER BROWSER CHANGE

To reduce query traffic to games in progress, Kohan now only refreshes closed
games every 5 minutes.  There are some side effects.

1) All open games are now always listed at the top.

2) When retrieving the server list, it must wait several seconds after querying
   for open games before it will start building the list of closed games. 

3) An open game that launches will disappear from the list for several minutes
   before appearing on the closed games list.

If you have a low bandwidth connection and are hosting games, to completely 
eliminate query traffic during the game use "nolistinprogress" on the command 
line, or disable "Public" prior to launching. 

=============================================================================
1.1.0
=============================================================================

SUMMARY OF ADDITIONS AND CHANGES:

! adds GameSpy Chat to the connection interface
! adds the ability to ban players
! adds several climate options to the random map generator
! adds Retreat/Rout buttons to the regiment interface
! adds new art for the Dreadlord and Paladin
! adds automatic detection of new versions, and automatic downloading of patches
! adds support for official expansions and mods
! changes pressed move so that the company reverts to column move instead of stopping
! improves the SAI player
! fixes some exploits

DETAILS OF CHANGES

Multiplayer:
! adds GameSpy Chat, for all Kohan players not in a game, to the Connection Interface.  [See README for more detail.]
! adds Rooms to the Connection Interface.  They are used as chat channels and to separate listing games.  [See README for more detail.]
! adds a notification sound for in-game chat messages (can be toggled in the Options interface)
! fixes problem with use of political treaties sometimes causing sync failures
! changes the Resign button to offer 3 choices: Resign, Leave or Cancel
! adds the ability to ban players
! adds a "Change Info" button to the multiplayer interface, which allows
  you to change the game name or password without rehosting the game
- adds a 'Mods' column to the Connection Interface to indicate two letter codes for any
  mods or expansions in use by the server
- fixes local random map settings getting clobbered when joining a game
- fixes problem where the host quits and the backup host is behind a firewall
  (other clients behind firewalls still will be dropped)
- fixes problem sending whisper chat if there are Open slots in the distribution
  of players (e.g. someone has quit)
- fixes sync failure with Use Scenario Settings films that used the trade building order 
- fixes sync failure with Custom Settings films where a player dropped later in the game
- fixes a potential invalid packet crash when hosting on Win2K
- fixes inability to chat if you used the in-game menu to pop up the kick interface
- increases the maximum hostname length
- changes game setup so that faction, team, and ready are reset when a player leaves
- changes the "suggests changing X" messages to display the proper name of the setting
- changes the "setting X changed" messages to be more descriptive
- disables saving in multiplayer


Random Map:
! adds several climates to the random map generator: Desert, Rainforest, and
  Corrupt. Each climate has a different set of terrains and a relative weighting for each.
- stops streaks from occurring in random maps
- changes the random map generator to randomly use Forest1 or Forest2
- fixes occasional failure to generate random maps with 4 or less players in 
  non-standard slots
- increases the minimum distance between lairs and player settlements in random maps

Design:
! increases morale loss due to pressed mode from 1 every 10s to 1 every 8s 
! changes pressed move so that the company reverts to column move, instead of
  stopping, when it runs out of morale 
! increases Conflagration damage to 35 (Warlock)
! changes Wash of Pain to only apply damage if the enchantment is not already in place,
  and reduces the radius from 4 to 3 (Zealot)
! removes the Magician from Ceyah cities 
! changes the all Gauri, Drauga and Haroun units to require a basic component
! changes the Shadeling Scout to one stone upkeep
! changes Windrider: adds to "Mounted" group (for the Cavalry Foe bonus), 
  reduces movement rate from 34 to 32, adds -20 siege penalty, reduces damage from 36 to 34
- removes Rainbringer and Windrider from the carpentry guild cost reduction
- adds immunity to enchantments to Gauri militia
- adds Avatar to the same tech groups as the Paladin
- adds 75% magic resistance support bonus to Sorceress, and removes morale bonus
- adds 6 reverse damage to Lazarus at level 2
- decreases Shadow Priest commission cost from 32 to 24
- changes Ceyah militia from monsters to regular militia so they don't rampage
- changes the Rhaksha Slave's captain to the Shadow Captain 
- changes Lethargy cost from 40 to 45, and Summon Dead from 50 to 40 (Necromancer)
- gives the Footman militia (village/militia) Cavalry Foe +3
- increases the Footman's Cavalry Foe bonus from +3 to +5
- increases Undead militia attack from 18 to 20
- increases Shadow militia defense from 5 to 6, and health from 250 to 280
- increases combat value of Shadow Beasts (affects AI and score)
- decreases the value of destroying enemy companies with respect to score

Game Play:
! adds Retreat/Rout buttons to the regiment interface, that appear when the
  entire regiment is engaged.
! changes the building engagement rules to check if any portion of the building is
  in the ZOC - not just the center
! fixes the computation of upkeep shortage to account for total resource production
! fixes exploit where, with fine timing, you can keep settlers from entering the settlement
  after construction is complete - allowing them to be reused
! changes settlements to not surrender while they have a wall
! changes the rules for trading buildings
  1) cannot be traded if under siege
  2) cannot be traded while constructing or upgrading
  3) cannot be traded if it contains components (they will be automatically sold)
- fixes problem where, sometimes, when an outpost is destroyed, some militia
  elements may be stuck in a death state with 0 health 
- fixes a case where summoned monsters stand around after combat
- fixes situation where, after combat, the captain has stopped moving but the company 
  is still engaged (without an enemy)
- fixes a crash when a non-player settlement loses a wall in the cataclysm 
- removes gold booty from newly constructed settlements
- increases the threshold health required to send out partial militia companies (slightly) 
- changes the regiment lock formation to keep companies one tile away from each other
- changes new buildings to not explore the surrounding area until construction is complete 
- changes retreating companies to speed up if the slowest element is lost
- changes non-support elements to always be aggressive (Slaan Champion)
- allows you to place new buildings over the selected company

Campaign:
- adds a "discovered" trigger to the Ironwood Grove in CDM3 
- adds more political favor to triggers in CDM4 
- fixes Shohn Maht's truncated description

AI:
! improves the SAI player in several aspects
- fixes problem where SAI would unnecessarily re-explore remote regions (those with no zones)
- fixes rare crash in post-engagement evaluation
- improves the path following logic and reduces the occurrences where units
  get separated from their company
- updates Default AI profile (reduces priority of Factory, Supply Post, and more)

Editor:
! adds trigger effects to alter the political relation of two given kingdoms.  These
  "Set Relation" trigger effects can also be used to toggle Monster War.
! adds "Object Owned by Ally" trigger condition
- adds active/inactive indication to player dropdown in the player settings editor 
- adds preferred faction indication to AI dropdown in the player settings editor
- fixes problem where the "Unsummon" effect is left on the screen after 
  testing a map with summoned creatures
- fixes crash when a trigger gives experience to a building
- fixes crash if the trigger description is deleted
- changes the error message for trying to save over read-only files to be more explanatory
- adds several terrain features to Corrupt, and a couple to Corrupt/Evil
- changes water to not be surrounded by beach when placed in snow
- changes the editor to display the proper names in the terrain list
- changes "Set Explored" to reveal an area with a radius of 6 when used on terrain features
- changes the spell dropdown in the trigger editor to be sorted

Interface:
- adds warnings to films when there is a version mismatch
- adds tooltips to the Load/Save Preset dropdowns in the Company Creation interface
- fixes company creation interface so the captain type cannot be changed without 
  changing the front-line type
- fixes exploit with the company creation interface that allowed a user that clicked
  just right to see the hidden portrait belonging to a sleeping hero
- fixes exploit which allowed the building placement shadow to be used to
  probe the fog for the enemy
- fixes mouse cursor straying when swapped out of Kohan 
- fixes problem where, when the cursor is over a listbox, the arrow keys will
  scroll both the map and the listbox at the same time
- fixes crash quickly clicking on the company display after selecting a one-company group
- fixes problems with the clipboard functions (ALT-C and ALT-V)
- fixes problems with ALT state getting stuck when task-switching
- fixes problem display certain icons in the company creation with using
  a double-byte language
- removes spurious game cleanup messages you get when going to Select Map in a custom game
- removes the feature where clicking twice on a company in a group selects the entire group
- changes non-Mareten buildings to use unique icons in City Management/Building Lore
- changes the Upgrade button in the settlement interface to use the icon for the next level
- increases company creation interface name limit by two characters

Save Games:
- saves victory status 
- saves custom regiment formations

Graphics:
! adds new art for the Dreadlord and updates Paladin art
! fixes rare crash in sprite drawing code on NT/2000
- changes icon for Priestess
- changes the art for the rout buttons on the regiment interface to display the rout
  flag instead of the retreat flag
- fixes minor graphics glitch where some objects might disappear at the screen's right edge
- improves the look of the cataclysm

Other:
! adds automatic detection of new versions, and automatic downloading of patches,
  to the Multiplayer Connection Interface
! adds support for expansions and user mods. [See README for more detail.]
! adds KohanLauncher to allow you to select expansions and user mods
- adds memory usage optimizations with respect to networking, AI, and FX
- adds "Checksum" command line parameter for identifying corrupt installs
- fixes some problems cleaning up Kohan after an error
- fixes several localization issues
- fixes synchronization issues for network play with linux version

=============================================================================
1.0.9
=============================================================================

Multiplayer:
! adds password support to multiplayer games.  Servers that are passworded 
  now display a shield instead of a gem.
! changes multiplayer to pick a random hard AI (instead of a random AI) of
  the appropriate faction to replace a disconnected/dropped player
! fixes problem where local host settings are clobbered whenever you join 
  a multiplayer game
- adds additional protection to multiplayer games against invalid packets
- fixes chat messages with multiple consecutive spaces getting truncated incorrectly
- fixes problem where the game can become broken if the host quits but the backup 
  host is lagging, or if the host is lagging and then kicked
- removes the "Can't Change Game Speed" warning that occurs whenever you use
  the Options Interface

Design:
! changes Ice Storm incidental damage from 25 to 50 (Sorceress)
! changes Battle Priest's second spell from Courage to Blessing
! fixes the rules of engagement so that all engaged companies use the
  same rules for engaging new targets, regardless of what formation they had
  prior to engagement
! changes the caster AI to try to cast summon spells before enchantment spells 
- increases the range of all summon spells
- changes summoned monsters to get a new target from their summoner after
  their immediate target is killed, instead of poofing 
- changes Spell Immunity to only apply to offensive enchantments (Enchanter)
- changes Roxanna and Garadun Payne to Royalist
- changes the company resupply rules to consider all units as eligible for
  resupply, not just attached units (i.e. inside the ZOC)
- removes Skeletons from the description of the Armory Guild


Interface:
! adds Sword & Shield icon to Scenario maps that are intended as Team Deathmatch.
  Three maps have been marked as Team Deathmatch: Passages, Four Corners, and Two Bridges.
! changes the company creation interface to list all units alphabetically
- adds Reverse Stereo option
- adds Kohan logo to the Connection Interface
- fixes a rare crash when clicking the sell cursor on an empty component slot
- fixes crash looking at a custom story piece after loading a savegame (e.g. Fortresses)
- fixes scrollbars so they don't ignore double-clicks
- fixes problems with typing invalid characters into a number editbox
- fixes the windows cursor disappearing on some error message boxes
- fixes problem where the Hero Attach button was sometimes not available if you
  had a one company group selected
- fixes exploit where presets with heroes can be used to identify unknown amulets
- fixes problem where read-only savegames cannot be loaded

Graphics:
! adds player color to the void beast
- changes the Show Damage Numbers option to use different colors for holy/unholy damage
- optimizes the drawing of small sprites
- optimizes the drawing of text and fixes a problem displaying incorrect text with 
  Show Tile Numbers

Game Play:
! fixes problem where validation of the trade building order was using
  the actual company limit (capped at 20) instead of the theoretical 
  company limit (no cap).  This was a problem when checking if giving away
  your settlement would put you above the limit (which is not allowed).
! fixes several problems loading save games
! fixes exploit where you could get Engineers to complete new settlements
- fixes a problem where the "Save Film" option is incorrectly available after
  loading during a mission (if you did try to view that film it would generate
  an error)

Custom Games:
! fixes a problem in custom games using "Target City %" where constructing
  mines/outposts distorts the values used in determining victory.
- changes custom games to give certain powerful lairs an extra gold reward
  if the main reward is a technology or hero
- fixes problem where your faction is incorrect after loading a custom game
  save where you had originally selected random faction 

Campaign:
- changes Cycle of Destruction Mission 11 to report "You have won" instead
  of "Mission Over" when you complete it, to prevent confusion in realizing
  that you can continue to mission 12
- changes the Debriefing Interface so the Replay Mission button is available
  for previously completed missions

Editor:
- changes the Object Is Type condition to only list buildings 

========
1.0.7
========

Multiplayer:
! adds the ability for three people to play on a LAN game using one CD key
! fixes the inability to connect to multiplayer games through GameSpy Arcade
- fixes a crash when kicked from the game while changing name
- fixes problem, in the connection interface, where if you selected a server 
  that had all of Target Gold, Cities and City Percentage defined, half of 
  the interface would disappear.
- fixes crash on host machine when there are too many connection attempts
- fixes problem where, if the host drops while the backup host is lagging,
  he is marked as "Ready" and the game is stuck at the vote interface

Interface:
! adds an option to turn off unit acknowledgement sounds
- fixes a rare problem where the cursor got stuck as a unit icon in the company creation
- fixes a problem with lore panels not getting cleared out in observer mode
- fixes the problem where scrolling the mousewheel when an editbox is selected would
  delete the selection
- fixes problem where the cursor is constrained to a 1024x768 area on the desktop
  after swapping out of Kohan (with large desktop resolutions).
- fixes problem on Win2K where, if an error message were to be displayed, it would appear
  as if Kohan had locked up.

Game Play:
- changes windriders to be listed under archers instead of cavalry and the windrider 
  captain to default into command mode instead of combat mode
- changes the Royalist building militia: the village and city now have 2 companies of 6,
  and the town and citadel now have 4 companies of 4.
- changes the vulnerability spell to be an area effect spell instead of a group spell
- reduces the cost of the shadow demon to eighteen gold and the upkeep to one mana
- fixes Sadira Bahhrum not having an attack sound
- fixes problem where AI players that have no enemies, in a single victory only
  game with diplomacy on, try to make alliances instead of trying to break them.

Tutorial:
- removes the Dreadlord unit from basic tutorial mission 6.  This opens it up to play
  in the Demo.
- changes currently visible triggers to company engaged triggers where appropriate.  This
  affects Basic Tutorial Mission 3, 4, and 6, and Advanced Tutorial Mission 3

Campaign:
- Cycle of Destruction 4: fixes a potential problem with the Haroun Sanctuary Repaired mission
- Cycle of Destruction 5: removes the militia from the abandoned town
- Cycle of Destruction 6: fixes a story problem if you build the extra outpost before 
  repairing the existing ones

Editor:
- fixes related triggers list in the Object Editor to correctly represent all
  conditions (in supply, full health, etc triggers were not listed)

Miscellaneous:
- fixes some problems running Kohan on some configurations
- adds splash screen during copy protection authentication

========
1.0.3
========

Interface:
- fixes a problem in the font system that could result in the last word of
  text being duplicated (which happened in BTM3)
- fixes the sell cursor on the city management panel
- fixes some problems with long chat messages, including a potential crash and
  incorrect truncation
- fixes the blue shield messages (such as "X advanced to Regular") to be
  listed when the company filter button is selected in the Message Lore
- fixes non-US standard keyboard mappings for edit boxes

Multiplayer:
- fixes a problem where, in a one player multiplayer game, instead of your
  only option being "Leave Network Game," it is "Resign"
- fixes a problem where games not marked as 'Public' show up as "waiting
  for players" when browsing on a LAN
- fixes problem in Use Scenario Settings multiplayer games where, when the
  host drops, the new host would not take over control of some AI players
- adds the version number to the server info window for Scenario games
- adds a "ConnectTimeout" command line parameter, and increases the default timeout to 15s
- fixes the "gametype" command line parameter
- changes Kohan so that running with "connect" or "hostdefault" skips the intro movies

Films:
- fixes resign orders to playback correctly in a film (would result in a sync error)
- fixes problem where player names are sometimes swapped around in a film
- fixes a crash starting some files, and another crash playing a bad film
- fixes viewing films based off campaign maps

Editor:
- adds "Company Engaged" trigger condition

Miscellaneous:
- fixes the cursor disappearing on the Test Graphics OK message box
- fixes a crash with one of the cheat codes
- fixes crash launching custom games on non-random maps if AIs or players were
  assigned to slots that don't have start positions on the map
- fixes SAI disbanding upkeep free companies in scenario or campaign games


