LSC/LBS Version Notes
      ---------------------------------------------------------------------
LSC
4.0.0 This version is incompatible with all previous versions due to
      significant changes in the data files and legion description
      character data.  The main features of this version are support for
      terrain, reserve options, acceptable losses, specific and general
      weapon bonuses for custom training types, expansion of the character
      inputs, and improved validations of inputs and calculations.

        (1) A primary and secondary terrain can now be specified in
            legion descriptions and LSC will automatically adjust the
            calculations to account for terrain modifiers due to Race,
            Supernatural Status, Training Type, Weapon, Armor, Shield, and
            Warmount.  The calculations are now extremely accurate for all
            standard soldier configurations and terrain conditions.

        (2) Reserve options can now be specified in legion descriptions,
            which allows LSC to handle reserve slots correctly with
            fortifications and Defending Walls terrain.

        (3) General and Specific Weapon bonuses are now identified in the
            Training Types, Races, and Supernatural Statuses data files
            instead of being hard-coded into the program.  This allows for
            a more complete specification of the combat values for
            discovered or player designed custom training types and allows
            LSC to automatically adjust the combat bonuses based on the
            equipped weapon, for any weapon/class and bonus combinations.

        (4) A "Base Weapon ID" field was added to the weapon data file to
            support the use of enchanted weapons with the specific and
            general weapons bonuses.

        (5) The character data in legion descriptions was expanded to
            include DF, MAD, SAD, DAM, and INV.  This was done mainly to
            support a more realistic handling of characters in LBS.

        (6) LSC is more rigorous about validating the data in legion
            descriptions and the results of the calculations.  The maximum
            MAFB has been increased to 500%, which appears to be the actual
            limit in the Legends battle program.  Soldier INV is now
            properly capped at 3.

        (7) The output has been changed slightly to include the new inputs,
            including Terrain, Reserve Options, and Acceptable Losses.
            Soldier totals are now shown both with and without the
            magic/character slot effects, making it easier to compare the
            numbers with those on a battle report (which doesn't show the
            effects of magic).

        (8) There have been various changes and updates to the data in the
            data files: all of the Knights training types have been given a
            +50% MAFB, because this fits the results.  Whether this is due
            to a flaw in the LSC algorithm or Legends battle program I
            could not tell you, but I have not yet observed the same
            problem with any other training types.  The Charge Bonus for
            Lance was corrected to 150% (the 2nd edition rules has a typo).
            The Charge Bonus for Netherworld was changed to 15%.  Blessed
            of OM status was given a +1 SAD.  Shade, Morghoul, and Touched
            of the Bear statuses were added.  Dark Minions, Grey Knights,
            Knight Defenders, Saurian Slavers, and Mist Warriors training
            types were added (all standard but unusual training types in
            COA).  Spider Folk, Efreet, and Servant of Darkness races were
            added.  Most of this data, except for a few of the training
            types, has been derived from battles and should be considered
            extremely tentative, especially the attack factor bonuses.

LBS
2.0.0 This version is compatible with LSC v4.0.0 data files and legion
      description files.  It will not work with the data files or legion
      descriptions from earlier versions.  The main features of this
      version are realistic handling of reserve slots during a battle,
      improved target selection, and realistic treatment of characters.
      Additionally, LBS incorporates all of the changes in LSC v4.0.0 that
      have improved the calculations, such as terrain modifiers and reserve
      slots options with fortifications, which greatly improves the battle
      simulations.  The output was changed to include a brief summary of
      the opposing forces and provide more information about battlefield
      events, including reserve slot movement.  The simulation is now
      essentially "complete", except for random elements.  Unfortunately,
      (or perhaps fortunately) random elements play a major role in Legends
      battles, but since they are inherently unpredictable the simulator
      has basically reached the limits of a deterministic approach.

      (1) The inclusion of reserve slot options in legion descriptions
          allows a more realistic approach in the simulations.  Battles are
          now simulated on a 14 position battlefield like real battles with
          reserve slots maneuvering according to their options and
          appropriate trigger events during the simulation.

      (2) There were some flaws in the target selection used in LBS v2 that
          have been corrected.  The most obvious flaws were asssociated
          with the reserve slot options and battlefield positions and this
          has been changed to a more accurate algorithm based on a study of
          actual battle reports.

      (3) The additional character data in legion descriptions allows LBS
          to do a more realistic simulation of characters on the
          battlefield.  Characters can now "stand alone" without soldiers
          and in fact it is possible to simulate duels and lair battles.
          However, the simulation of characters is still quite crude and
          the focus of the simulator remains on soldier battles, so I do
          not recommend taking the character results too seriously.

      (4) Since LBS incorporates all of the changes in LSC v4, the soldier
          numbers it uses are usually quite a bit more accurate and the
          accuracy of the simulation is much improved.  You can expect the
          simulation to be extremely precise - up to the point where
          something unpredictable happens, like a slot routing.  Predicting
          such events is your job, but hopefully the simulator helps.

      (5) LBS will use the Acceptable Losses entries in the fighting forces
          to stop the simulation when one of the forces withdraws due to
          excessive losses.

      (5) The output has been expanded to show the terrain conditions in
          which the forces are fighting, the reserve slot options, the
          acceptable losses, and a brief summary of the soldiers and
          equipment in both forces.  This in no way replaces the LSC
          output, but gives a quick verification that the legion
          descriptions LBS is using are correct.  The summarization of
          battlefield events has been expanded and improved and there are
          some minor cosmetic changes to the battle report.

      ---------------------------------------------------------------------

3.0.1 This version fixes some bugs in 3.0.0 that could cause mangled output
      or a program crash when working with large legions.  There are also
      some minor enhancements that improve the usefulness of the program
      when calculating extremely large legions.  LSB has been updated to
      version 1.0.1.

        (1)   All of the previous versions had a serious problem handling
              a legion when its values exceeded the output column width.
              When the numbers got big enough, the output could become
              mangled or the program could hang.  (It didn't become obvious
              until version 3.0.0 because prior to that the output width
              restricted the usefulness of the program to relatively small
              legions.)  This has been fixed.

        (2)   The output limitations have been expanded again, to the point
              where LSC can now handle any realistic legion.  The column
              widths will permit printing CF, AF, and SAV totals in the
              millions, and a DF as high as 9,999.

        (3)   In the unlikely event that any of the calculated values
              exceed the new output limitations, this version of LSC will
              detect that condition and print a row of asterisks in the
              column instead of a possibly misleading number.  This does
              not mean that LSC cannot calculate the number, simply that it
              is too large to print.  Internally, all of the calculated
              values can go much higher than what will print: somewhat more
              than 2 billion.

        (4)   The largest number that can appear in a legion description
              and be handled properly is 32767.  That means that you cannot
              have more than 32767 soldiers in a slot, a soldier training
              level greater than 32767, a character magic attack greater
              than 32767, etc.  With the remotely possible exception of the
              amount of soldiers (although I have yet to hear of a legion
              that big) and some of the character data (should you happen
              to have a god in your legion), this should not prove to be a
              serious limitation.  You can put larger numbers in the file,
              but they will be handled in unpredictable ways, so don't.

        (5)   The item ID#s for magic shields were wrong in the SHIELDS.LSC
              file and are now correct.

      ---------------------------------------------------------------------

3.0.0 This version is incompatible with the earlier data files, because of
      the addition of DAM and INV.  This version adds DAM and INV
      calculations, some limited handling of fortifications, and corrects
      a couple of minor logic errors.  The good news is that all of your
      existing legion description files from v2.0.0 will still work,
      although you will have to add the fortifications data in the proper
      format if you want to use that feature.

        (1)   All of the data files now include a field for DAM or INV or
              both, except for the MOUNTS file.  LSC will display this
              information and show the maximum in the slot totals.  The
              main reason for including this data is that it is needed by
              the Legends Battle Simulator (LBS), which is now part of the
              LSC package.  NOTE: early Crown of Avalon games do not use
              DAM and INV (always zero).  If you are using LSC with one of
              those games, ignore the DAM and INV numbers.  If you are
              using LBS, however, you will have to zero/blank out all of
              the DAM and INV fields in the copy of the data files you are
              using for those games.

        (2)   The legion description file may now include a line describing
              the fortification bonuses received by the "legion" (meaning
              it is a location rather than a legion).  These bonuses will
              be applied to all soldier slots.  The fortifications line
              begins with an F in the legion description and includes
              fields for DF, MORale bonus (not currently used), AFB, and
              OVERall modifier (usually 5 times DF).  NOTE: the program
              cannot not calculate the bonuses from the fortifications
              structures, e.g. walls, towers, etc. because how these
              calculations are done is a mystery.  You must know what the
              bonuses will be from a previous attack, or be able to make
              a good estimate of what they will be, in order to use this
              feature.

        (3)   There was a slight logic problem in the overall modifier
              calculations of the previous version(s) that could have
              resulted in a slightly inflated DF on occasion, although
              generally it would have been lost in the program's rather
              cavalier approach to rounding.  The overall bonus to DF from
              magic was being added to the total DF before the force leader
              overall modifier was applied, which was incorrect.  All of
              the overall modifiers should be applied to the base DF at
              the same time.  This has been corrected.

        (4)   The maximum AFB and MAFB that a slot may have is 400%.
              Previous versions of LSC did not ensure that the total
              bonuses did not exceed that value; this version does.

        (5)   The width of the AF, MAF, and CAF columns in the output was
              expanded to 6 columns and columns were added to the report,
              making the maximum width of the output exceed 80 columns.
              This should make LSC useful for large legions, but is less
              convenient for viewing on the screen/editor and printing.
              You will have to set your print options to allow for this.
              (Amiga users can use SETFONT when viewing the output on the
              screen.  SETFONT COURIER 11 will let you see the entire width
              of the output on a high res shell window.)

        (6)   There was one correction to the data files and several minor
              additions.  The correction was for the Fanatics training type
              in the TYPES.LSC table.  The MAD and SAD values were
              reversed (should be MAD=1 SAD=0).  The additions were some
              unusual statuses and weapons.

      ---------------------------------------------------------------------

2.0.0 This version is incompatible with all previous versions because of
      changes to the formats of the TYPES.LSC, RACES.LSC, and STATUS.LSC
      data files.  There have also been changes to the weapon class codes
      used in the WEAPONS.LSC data file, training type special codes used
      in TYPES.LSC, and miscellaneous additions and changes to the data in
      many of the files.  If you have not made any changes to any of the
      data files, then discard them and use the new ones provided with this
      version.  If you have made changes to any of the data files, preserve
      a copy of the ones you changed, replace the old files with the new
      ones provided with this version, and add your changes to the new data
      files in the revised formats.  Take particular care that the weapon
      class codes are correct if you added any additional weapons and that
      delimiters appear for the new fields if you added races, statuses, or
      training types.

        (1)   The TYPES, RACES, and STATUS data files have two new fields:
              MAFB% and SAFB%, the Missile Attack Factor Bonus and the
              Surprise Missile Attack Factor Bonus.  The AF columns in the
              rulebook are Melee Attack Factor Bonuses only.  Generally,
              the MAFB is 0 for training type.  Midnight Games has told me
              that the MAFB for special status is always the same as the
              AFB.  The race MAFB is not generally known and it may not be
              possible to have a SAFB for either status or race.  Your
              guess is as good as mine.  Leave the field blank if you can't
              make a good guess at what it should be.  You can also place a
              question mark (or whatever) AFTER the number in the field to
              remind yourself that you aren't sure about the number.  LSC
              will ignore any text following the number.

        (2)   The additional fields mentioned in (1) made the G, I, and J
              training type special codes superfluous.  They have been
              removed from the TYPES data file and are no longer recognized
              as valid by the program.  Code C replaces code G for Assassin
              Archers training, covering the +50% bonus for bows.  (The
              rulebook says Assassin Archers get the bonus for ALL missile
              weapons, but I have made it just bows to be consistent with
              the other Archers training.  I have no evidence either way.
              If it should really be +50% with all missile weapons, then
              you can fix it by removing the code and making the MAFB% 50.)

        (3)   The program uses the MAFB field mentioned in (1) instead of
              treating the AFB% entry as a MAFB for soldiers armed with
              missile weapons, which was a misunderstanding on my part as
              to what the rulebook tables meant.  The rulebook tables AF
              column is the attack factor bonus for melee only.  This will
              result in significant differences in soldier calculations of
              MAFB for most training types.

        (4)   Stealth training was added to the TYPES.LSC data file.  It
              was inadvertantly left out of the data file in previous
              versions.

        (5)   A few additional special statuses were added to the STATUS
              data file.  Since there is little official information
              regarding special status bonuses, most of this data should be
              considered questionable.  Fields left blank indicates that
              the information was unknown to me (will be considered to be
              zero by the program).

        (6)   Some of the armor and weapons MAD and SAD values were
              changed.  Note that a lot of these are deduced or guessed at
              from character information.  If my data looks incorrect, use
              yours.

        (7)   There may be other new or revised entries in the data files.
              I add/change the data files as information comes to me or
              I discover errors.

        (8)   A previously undiscovered bug was detected and fixed in this
              version.  Blank entries in the data files (NOT the legion
              description files) were not resolving to zero and could
              generate erroneous data.  In some cases this could cause the
              program to crash.  This will no longer happen.  Blank entries
              in fields or fields containing invalid data (i.e. only text
              in a numeric field) will be treated as zero entries in all
              the files.  (Note how I have changed all the weapon MAFB
              entries for non-missile weapons to No instead of zero.  This
              will make a 0% MAFB missile weapon stand out, if there is
              such a thing.)  It is also possible to place text AFTER any
              of the numeric entries within the field, as a comment of
              sorts, and the number will still be read properly.  For
              example, you could put 15? in a field to indicate that you
              aren't sure of the number and the program will see it as the
              number 15.

        (9)   There were references in the LSC.DOC file to hard-coded
              limits in the numbers of items that could be in each of the
              data files.  There is NO limit to the numbers of items that
              can be in each table and hasn't been since prior to version
              1.0.3 (the first "release" version).  The original AREXX
              program read the data files in their entirety into RAM and
              the original C translation duplicated this with arrays, but
              that version is long gone.  It was so long between the
              early versions and the decision to do a "release" version
              that I totally forgot the program logic involved in looking
              up the soldier items in the data files.

        (10)  In connection with the previous item, the statement in the
              documentation that new entries in the data files could be
              tested by "running LSC against any legion description file,
              whether it contains the new data or not" is incorrect.  The
              only way to insure that LSC will even read the new data is to
              put a reference to it in the legion description file.  LSC
              reads each data file only as far as necessary to match each
              of the soldier items in the legion description file.  Be
              aware that LSC has a rather cavalier attitude toward the data
              in the files.  If an entry is not in the right format, for
              example you put text in a numeric field, LSC will just call
              it a zero and keep plugging away.  The only things it gets
              really serious about is that item ID#s be > 0 and that there
              be enough field delimiters on the line.  Therefore, you
              should examine the program output carefully to be sure that
              the new data is used correctly in the calculations.

        (11)  The weapon class codes used in the WEAPONS.LSC data file were
              changed as follows: X (2-handed axe) is no longer used.  The
              following additional codes were added: 2 is a 2-handed weapon
              (no shield), R is a weapon that has a missile attack, M is a
              weapon that can be used BOTH mounted and unmounted, O is a
              weapon that can be used ONLY while mounted.  Note
              particularly that a weapon must now have class code R in
              order to be treated as a missile weapon; this allows for the
              possibility of a 0% MAFB missile weapon.  Also a weapon
              should have either class code M or O, or neither, but never
              both.  Likewise it should probably never have more than one
              of the S, A, and B codes (if it had all three, it would be a
              sword, axe, and bow all in one).  There is no limit to the
              number of class codes that can be used with each weapon.
              Previous versions had an (undocumented) limit of 5 codes per
              weapon.

        (12)  The additional weapon class codes allow LSC to perform some
              validity checks on the soldier slots.  A 2-handed weapon
              cannot be used with a shield, a warmount cannot be used with
              a non-mountable weapon, and a mounted-only weapon cannot be
              used unless the soldiers also have a warmount.  LSC will
              still perform all of its calculations if it detects one of
              these errors, but will append a note to the end of its output
              to warn you that the soldiers are improperly equipped.

        (13)  The soldier slot totals lines were printing out for slots
              that had only a character in them.  If a slot contains only a
              character, LSC will now print only the character total line.
              Also, LSC is more intelligent about printing character
              information in general.  If a slot contains no soldiers, then
              any character lines containing only bonuses to the soldiers
              will be suppressed (e.g. AFB, OVER fields).  If the character
              has no combat numbers (e.g. CF, AF, MAF, CAF, SAV) then the
              'C' line will not print.  The character ID field is now
              purely optional and for your convenience; LSC ignores it
              except to print it (zero if nothing was entered).

        (14)  A minor change was made to the output in the MAFB column.
              Previous versions did not show the MAFB for the various
              soldier items unless the soldiers had a missile weapon.  This
              version shows the bonus even if the weapon has no missile
              attack, but in that case the total missile attack factor of
              the soldiers will of course still be zero.  Purely a style
              change; I decided that I prefer to see all of the bonuses
              whether they are being used or not.

      ---------------------------------------------------------------------

1.0.4   (1)   Fixed an error in the program logic.  The overall commander
              (slot 9 character) overall bonus was not being applied to
              soldier slots unless there was a character assigned to that
              slot.  The overall commander's overall modifier is now
              properly applied to all slots containing soldiers whether
              there is a character assigned to this slot or not.

      ---------------------------------------------------------------------
