                         Pawn Shop IGM Editing Notes:
                    Covers v3.41+ beta Development cycle.

Known glitches identified as of Dec. 21, 2004:

1) IGM does not recognize/use correct BBS Time Left value.
   Fixed in current alord.pas library file.  Status: FIXED

2) During purchases, such as for Resurrection Spell, player
   had enough Gold, but gems field was negative.  IGM failed
   to allow purchase to occur, claiming player did not have
   enough gold.  Status: FIXED

3) IGM is supposed to reset negative stats, such as Gems, to
   Zero during igm entry - but it failed to do so.  Status: FIXED

4) Buy Gems - Need code to reset negative gems to zero.
   Status: FIXED
==============================================================

Dec. 22, 2004:
    * Added code to Run_IGM to fix IGM glitch where the
      Status bar was reporting invalid BBS Time Left values.

    * Fixed Record_Entry_Stats procedure so that it will
      properly fix negative/over-range values if any are
      encountered during IGM entry for Gems, Gold, or
      Experience Points, and all other numeric LORD stats
      that the IGM deals with.

    * Updated Player_Stats_Fix to properly cover negative
      or over-range values in the Gems, Gold, Experience,
      and Skill Points fields.  Added statement to execute
      procedure during IGM entry in the Main_Menu procedure.

    * Revised Buy_Gems and Sell_Gems procedures, and the
      Purchase function, to make sure that they do automatic
      corrections of the LORD Gems stat if it is either
      negative, or over-range.        * no compilation done.

Dec. 24: * Recompiled IGMUnit, PawnUnit, PSetUnit, and PSTrades
           unit code files, using current ALORD.pas/tpu files.

         * NO updates done of pawnshop.exe or psetup.exe today.
=========================================================

Jan. 01, 2005: * Updated copyright references in Pawnshop.txt
           to cover the new year.
         * Added notes section on upcoming igm work to fix
           glitches first, then to add some more events to IGM.

Jan. 02: * More glitches reported by Russell Tiedt:
         -- Entered IGM with extra Hitpoints from using Jennie
            HOTT code.  Asked Wendy for Blessing. Got extra
            HP from her also.  Returned to LORD and his extra
            HPs from Jennie were lost.

         -- He got 2 extra player fights from Seth Able's song
            at the Inn.  Went into IGM and traded 5 player fights
            for forest fights.  When he returned to Lord, he did
            not have the right amounts of Forest Fights and
            Player Fights.

         Verified at later date that IGM was not responsible for
         either of those problems.  LORD was responsible for both
         glitches, which I verified during January igm tests.

==================================================================
Jan. 13:  * Compiled IGMUnit, PawnUnit, PSetUnit, and PSTrades unit files.
          * Compiled v3.41 Beta version of PSetup.exe.
          * Compiled v3.41 Beta version of PawnShop.exe.
          * Reopened Pawn Shop igm for new development cycle.

** Jan. 16, 2005: Revised December 2003 Notes in PSN-1203.txt.
** Jan. 16, 2005: Moved January 2004 notes to PSN-0104.txt file.
** Jan. 16, 2005: Moved February 2004 notes to PSN-0204.txt file.
** Jan. 16, 2005: Moved March 2004 notes to PSN-0304.txt file.
** Jan. 16, 2005: Moved April 2004 notes to PSN-0404.txt file.
** Jan. 16, 2005: Moved May 2004 notes to PSN-0504.txt file.
** Jan. 16, 2005: Moved June 2004 notes to PSN-0604.txt file.

Jan. 16: * Tested IGM usage briefly using player whose numeric LORD
           stats were all reset to negative values, using temporary
           code in HIDING IN THE SHADOWS IGM.  Unable to reset Hitpoints
           to zero or negative number, since LORD immediately declares
           the player dead when they return to LORD from an IGM.

         * IGM took care of resetting negative Gems and Experience
           in normal igm usage. Negative Forest Fights and Player Fights
           were also fixed.  Other negative stats were not repaired.

         * Changed IGM version to 3.42 Beta.
           * Added code from HITS igm, REPAIR_LORD_STATS, modified to
           work with Pawn SHop igm, to IGMUnit code unit.

         * Added support for using PSETUP /CONFIG for running the
           PSETUP Configuration process.

Feb. 06: * Changed all Config.* references to TConfig.*.
         * PSetUnit/PawnUnit: changed their references to
           Two_Billion constants to local vars for each unit.
         * Changed Read_Config and Write_Config in IGM usage
           to use Config_File for all config file accesses.
         * Recompiled pawnshop.exe. No change needed for Psetup.exe.

Feb. 12: * edited code for List_Customers, Repair_Lord_Stats.
         * recompiled pawnshop.exe.

Feb. 22: * Evaluation of code relocations from IGMUnit to PSTrades:
           -- Moved Update_Vault_Gold.  -- Moved Update_Vault_Gems.
           -- Moved Deposit_Pgems, and Deposit_PGold.
           -- Copied Change_Gold_Hand procedure to PSTrades, renaming it
              to Change_Gold_Hand2.
           -- Copied Check_Vault_Stats procedure to PSTrades, renaming it
              to Check_Vault_Stats2.
           -- Moved Withdraw_PGems, Withdraw_Gold, and Dragon_Tax.

         * Identified glitch in Get_Spouse_Name.  When run at igm entry,
           it was doing Get_Spouse_Name malfunction.  Identified problem
           as being that Unit did not know value of Lord_Players variable.
           Fixed glitch by adding Get_Players_Count command to the function
           so that it will always know value of Lord_Players var.
           Status: FIXED

         * From owner menu in Pawn Shop office, did gold deposits and
           withdrawals, without spotting any problems.  Did gems deposits
           and withdrawals, also without seeing any problems.

         * Changed version to 3.43 beta, recompiling pawnshop.exe/psetup.exe.

         * removed the "Quit? [Y/N] prompt from IGM's main menu that asked
           users if they were sure they wanted to leave the igm.

         * Copied GetPlayerNum from IGMUnit to PSTrades, as GetPlayerNum2.

         * Relocated Kidnap procedure to PStrades - evaluate usability.
         { ---------------------- Afternoon work ------------ }

         * Fixed code indentation in PSTrades unit.
         * Deleted some old 2003/2004 comment markers in PSTrades.

         * Relocated to PSTrades unit from IGMUnit:  GetPlayerNum function,
           Maim, Rob_PLayer, Banish, Disfigure, Kill_Horse, Poison, Spy_Stats,
           Resurrect_Dead_Warrior (Renamed from Resurrect_Victim).
         * Relocated to PSTrades unit from IGMUnit: Read_Player, Save_Player,
           Which_Player, Deposit_Gold, and Deposit_Gems.

         * Verified usability from PSTrades unit of GetPlayerNum, Maim,
           Rob_Player, Banish, Disfigure, Kill_Horse, Poison, SPy_Stats,
           Resurrect_Dead_Warrior, Read_Player, Save_Player, Which_Player,
           Deposit_Gold, and Deposit_Gems.

Feb. 23: * Changed IGM to version 3.45 beta.
         * Created Gems_Orphan_Trade procedure in IGMUnit.
         * Gems_Orphan_Trade moved to PSTrades. Would not compile in IGMunit
           due to usage of TPotions.OrphanTrades and/or Limits.Adoptions
variables.

         * New event is limited by design to maximum Gems for Orphan Trades per
           Day limit of 50.  Default setting is 25 trades/day limit.

Feb. 24: * Tested psetup.exe. New code for Gems Orphan Trade event
           worked as intended.

         * Tested player entering IGM without updating pslimits.cfg file, and
           verified code to rewrite file using default limit of 25 adoption
trades/day.
         * Tested normal entry into igm with up-to-date pslimits.cfg file.

         * Tested all scenarios for new Gems for Orphans Trade event.
           -- Player is allowed to make adoption.
           -- Player is denied access to event when they have 32,000 or more
           kids.
           -- Player is denied access to event once they reach the Adoption
           Trades limit.

           -- Tested where player does not have any gems to make trade with.
           -- Tested where player did not enough gems to do an adoption.
         * sent archive to bbs testers, quit for the night, Thursday morning.

Feb.28: * Worked on glitch. After new player does Claim Shop and finds old owner
          lying dead in office, the igm did automatic ownership of Shop for the
          current player.  But immediately afterwards, igm denied them access
          to the Office.
        * Worked on ShopOwner function in Pawnshop.pas.  Redid new owner
testing,
          and igm correctly allowed new owner immediate access to the Office
          after Take_Over_PawnShop procedure ended execution.
==============================================================================
March 01: * Created new unit file, PAWN4.PAS.
          * Relocated Display_Screen procedure to Pawn4. verified usage.
          * deleted old Display_Screen/Display_Screen2 procedures from IGMunit
            and Pstrades.
          * Relocated Yesno function to pawn4.  Would not work correctly using
            that name, in igmunit unit. Renamed to Ask_YesNo and verified usage.
          * removed old Yesno/Yesno2 procedures from IGMunit and pstrades.

          * Relocated Post_bulletins and Display_Bulletins to pawn4 unit.
          Verified usage.  Removed old Post_Bulletins, Display_Bulletins code
          from pstrades unit.

          * Relocated ProgStamp2 to pawn4 unit. Verified usage using ProgStamp2
          name, then changed it to ProgStamp afterwards.  Deleted old
          ProgStamp/Progstamp2 procedures from igmunit and pstrades.

          * Determined that relocation of Purchase/Purchase2 was not feasible
          using pawn2 unit.  Determined that IsOwner_Spouse would not work from
          Pawn4 unit.

          * Relocated Check_Vault_Stats to pawn4 unit. verified its usage.
          * Removed old Check_Vault_Stats/Check_Vault_Stats2 code from
          IGMunit/pstrades.

          * Relocated Change_Gold_hand to pawn4 unit, verified its usage.
          * Removed old Change_Gold_Hand/Change_Gold_Hand2 code from
          IGMUnit/PStrades.

          * PawnUnit. Revised prices, strength and defense points values of
          equipment items #16 through #20.  #16-#19 are now classified as being
          between LORD's Blood Sword and Death Sword in value for the weapons.

          * Titan Blade and Trojan Shield #20 items remain classified as better
          items than Death Sword/Armour of Life are in LORD.  But I reduced the
          values of the strength/defense points that players get from their
          purchase/sale.

          * Updated documentation, code files for March 2005 beta development.

          * Changed weapon/armour purchase price discount from 95% to 85
          percent.  Changed weapon/armour sale value discount from 55% to 70
          percent.

          * changed version from 3.45 beta to 3.47 beta.

March 02: * Cleaned up code indentation in several code files.
          * PsetUnit; Changed Config: Config_Info; to TConfig: Config_Info;
            so that Psetup now uses TConfig.* config file variable names.
          * Psetup: Changed to use TConfig.* variable names.
          * Psetup: When OwnerName is reset, it was changed to a blank space.
            Changed that to use "NO SHOP OWNER" instead. Applies to
            brand new Installation, use of Reset IGM, use of Banished shop owner
            code, or use of Bankruptcy event.
          * Psetup: Changed igm from setting OwnerNum to zero when there is no
            shop owner to use 200.  Since Lord's first player is player # zero,
            that was automatically indicating to Pawn Shop, when it ran in LORD,
            that player #0 was the shop owner.  Lord only allows up to 155
            players per game, so it is highly unlikely anyone will ever be in
            the game using 200 as a player number.
          * recompiled psetunit and psetup.
          * recompiled pawn4, pawnunit, igmunit, pstrades, and pawnshop.pas
              files.

          * Pstrades: Revised Spy_Stats to include data on player's Gems,
            Experience Points, sex gender, skill mastery status, and player
            kills.  Moved Kids data into columns part of screen, under the
            Gems/Player Kills line.
          * pawnshop: Changed Spy Stats price to 10 gems, doubling price from 5.

          * With no one listed as shop owner, verified that IGM did not
            automatically make test character the new owner when they entered
            the igm.

          * Fixed igm to reject access to Trade Menu when there is no shop
            owner.

    08:20 pm: * Added Display_Menu_Code from VCII code to pstrades.pas.
          * Added Wendy_ATM_Access procedure to pstrades.pas using
            code from Gems_Orphan_Trade procedure.
          * Added Wendy_ATM_Service using code revised for ALord/Chasware
            code obtained from Violet's Cottage II igm code.
          * Added 1 menu option for ATM Service to Wendy_Menu
            in pawnshop.pas.

          * pawnshop.scr: Added "1" entry to TalkToWendy section.
          * Renamed TalkToWendy label section to Wendy_Menu.

March 03: * Moved text of Bank_Gossip to pawnshop.scr using
            BANK_GOSSIP label.
          * Successfully relocated Recognize_Shop_Owner, Deposit-Gold,
            Deposit_Gems, and Purchase functions from pstrades to pawn4 unit.
          * Verified that all 4 relocations worked properly using temporary
            on-screen debug statements to verify changes were actually made
            correctly to Tlordrec.gold, Tlordrec.Gem, Tconfig.Gold, and
            TConfig.Gem.
          * Disabled code in igmunit.pas for the four relocated functions.

          * Changed version data in psetup to 3.48 beta.
          * recompiled pawnshop.exe and psetup.exe.
          * updated ps-whats.txt file to cover weapons/armour changes, and ATM
            event.

          * 04:56 pm: Changed version to 3.49 beta after eliminating duplicate
            code in igmunit/pstrades for Recognize_Shop_Owner, Deposit_Gold,
            Deposit_Gems, and Purchase functions, which are working properly
            from the Pawn4 unit.

          * Added Display_Data_File to pawn4 unit for displaying Pawn-use.txt
            on-screen to players from Wendy Menu.  No purchase code written for
            event yet.  Event not tested yet.

          * Renamed Write_Traders_Listing in pstrades.pas to
            Write_Usage_reports.

          * Updated pawnshop.exe and psetup.exe to use v3.49 beta.
          * updated documentation files to use 3.49 beta version data.

          * Tested use of Display_Data_File to show pawn-use.txt on-screen.
            Decided it made more sense to just run List_Traders instead.

          * Verified changes in pawnshop.scr worked correctly for new event,
            including wording layout for the "Show_Usage_Reports" section in
            pawnshop.scr.  New event uses Wendy Menu code 2.

          * Cost of new event is 25 gems, to view the usage Reports while
            visiting Wendy inside the IGM.

          * Added/verified new Wendy Blessing event in pawnshop.pas.  Event
            grants player two kids.  Reward is subject to LORD's 32,000 kids
            limit, so players with 32,000 kids will not get a reward.

March 10: * Normal recompile of pawnshop.exe after doing code revisions.

          * Added 5% boost in Experience reward in Wendy's Blessing event.
          There are now twelve possible results when player asks for the
          blessing.  Limitation: The Wisdom points reward is capped at a
          maximum of 25 Million points.  The maximum reward without a limit
          assuming player has 2 Billion exp points is 100 Million points.

          Which would work since 2.1 Billion does not exceed MaxLongInt,
          but I don't write IGM code that exceeds the LORD experience limit
          of two billion.  Substitute reward granted if player gets zero
          exp. points, of 25 defense points.

          * Relocated Wendy_Wisdom_BLessing to pstrades. Would not compile
          in pawnshop.pas due to Code Segment too large showing up.

          Verified usage from pstrades for normal wisdom points reward.
          Verified usage when substitute defense points reward is given.

          * Moved Wendy Blessing #10 code to pstrades unit, using new
          Wendy_Adoptions_Blessing procedure.  Verified its usage from unit.

          * recompiled pawnshop.pas with all temporary code disabled that reset
          Wendy var to false, and was used to execute a specific blessing event
          using the Camelot_user variable.

          * Changed version to 3.51 Beta after testing both scenarios in the
          Experience Blessing event, and after testing relocated code for
          Adoptions Blessing event.

          * Psetup.exe and pawnshop.exe recompiled as version 3.51 beta.
          * documentation files updated with new version data.

March 11: IGMUnit changes:
          -- Relocated variables to Pawn4 unit on 03/11/05, previous
          dates: Blackey, Claim, ExpTrader, GemsTrader, NoBlackey, Hate,
          Naughty, Potions, PotionsBan, Robbed, Smile, Wendy;  HorseTrader,
          FairyTrader, Exitsave, Deposit, Max, Flirt_W, Flirt_B, SpouseID,
          FlirtExp, Flirt_Temp, FL_Bad, Flirt_Rate, CharmLevel, Wisdom_Change,
          Flirt_Code, Sex_ID2, TempStr2, and Chance.

          Moved IsOwner_Spouse to Pawn4 unit 03/11/2005 }

          Relocated successfully to Pawn4 unit 03/11/2005
            Assess_Chances, Change_Gold_Hand, Deposit_Gems,
            Deposit_Gold, Purchase, IsOwner_Spouse, Heal_Boss.

          Menu: Now uses TempStr2 as local variable.

          Pawn4 Changes:
          -- Changed Flirt_Code from Shortint to Byte.
          -- Renamed FlirtCode to Flirt_Code.
          -- Added Camelot_User to global vars section.
          -- Verified relocation of Gems_Fairy_Trade, Flirt_Wendy,
             Gems_Horse_Trade, and Flirt_Blackey.
          -- Added use of FW_Penalty in Flirt_Wendy procedure.

          PawnUnit, PSetUnit - no code changes

          Recompiled Psetup.exe and pawnshop.exe.

          PStrades changes:
          -- Added Redisplay var for AskFor_BLessing usage.
          -- Added Blessing_Code var.
          -- Created and tested Wendy_Adoptions_Blessing event.

          -- Verified usage after relocation from igmunit of
          various procedures, listed earlier in today's notes.

March 12: IGMUnit unit changes:
          -- Revised Buy_Protection shop owner recognition code.
          -- Removed negative Lord stat handling lines from the
             Player_Stats_Fix and Record_Entry_Stats procedures.

          Pawn4 unit changes:
          -- Moved Shop_Owner declaration to pawn4 from pawnvars.inc.
          -- Fully verified all aspects of Flirt_Wendy and
             Flirt_Blackey procedures, including recogniztion of
             proper value of Shop_Owner boolean var.  Verified that
             neither procedure knows value of Shop_Owner unless
             pawnshop.pas transmits the value to pawn4 unit. But
             once the unit knows the value, it does not forget it.
          -- Verified relocation of Assess_Chances to pawn4 unit.
          -- Verified relocation of Foul_Language to pawn4 unit.
             - Added support for one more cuss-word - "damn".

          -- Edited pawnshop.scr Blackey_Respect section, and
             Owner_Name_Change section.

          Pawnshop.pas revisions:
          -- all DEBUG and UNTESTED entries checked out and
             deleted from main program code file as of 6:20 pm.
          -- Moved Display_Trade_Limits inside Trade_Menu,
             and tweaked its code. Started use of TradeLimits_Shown
             boolean VAR so Fairy/Orphan trades message is shown
             just one timer per access of Trade Menu.

          PawnUnit, PSetUnit, PSTrades: Verified that the three
            units do not contain any DEBUG/Untested code entries.

          PsTrades changes:
          -- Worked on AskFor_BLessing procedure.

          PAWNVARS.INC: Moved Shop_Owner declaration to pawn4.

          * Buy_Protection, AskFor_Blessing: Working properly.
			 * Sell_Gems, Foul_Language: working properly.
          * Psetup /M, PSetup /Help, PSetup /Report,
            Psetup /AC, and Psetup /AG are all working properly.
          * Purchase, Flirt_Wendy, Flirt_Blackey are working properly.
          * Topsy Turvy, Ultra Ale, Eau de Shredder, Wendy_Protect,
            Wendy_Revival, Revisit_Master - working properly.
          * Gems_Fairy_Trade, Gems_Horse_Trade, and
            Gems_Orphan_Trade are all working properly.

          * recompiled psetup and pawnshop.  All changes done
            to either program have been tested and verified at
            least once over March 10-12 testing period.

March 13: * Added confiscation of 50% of player's gems when
            they use Foul Language around Blackey.
          * Fixed code indentation in pawn4.pas unit.
          * Pawnshop.scr: Edited Blackey_Respect entry.
          * Fixed code indentation in pawnunit.pas unit.

March 14: * Worked on Foul Language procedure revision/testing.

March 15: * Testing of revised Foul Language procedure, started on
            March 12th nearly completed.

          * Pawnshop.cfg format: Renamed GEM variable to GEMS.
            - Revised Pawnvars.inc, Psetup.pas accordingly.
            - Revised PawnUnit, IGMUnit, Pawn4, and PSTrades similarly.
            - Revised Pawnshop.pas similarly.

          * Exptrade.dat format: Changed FairyTrades, HorseTrades,
            FairyTrades and Visits VARs from ShortInt to BYTE.

          * psetup.pas: Revised Write_Usage_reports to use
            Commas in data columns for Experience Points Traded,
            Gems Traded, Elixirs Bought in first report;  and
            to use Commas in the data columns for Exp. Trade
            Limit, Max HPs, Strength, Defense, and Charm Potions
            in second column.
          * Verified both usage report's layout changes using
            Psetup /report command.

          * Psetup.exe/pawnshop.exe recompiled as version 3.52 beta.

March 16: * pawnshop.pas: Disabled temporary debug code for tests
            of Foul_Language event.
          * pstrades.pas: disabled temp debug code in Foul_Language procedure.
          * recompiled pawnshop.exe.
          * added "Bye_Hated" entry in Pawnshop.scr - usage not tested yet.

          * Added and tested Goodby_Code based Case code for displaying either
            Goodbye, Goodbye_Naughty, or Goodbye_Hated screens at IGM exit.

          * Buy_Gems: Fixed wording shown when player can't buy any gems that
            was somewhat misleading.  Buy Gems now shows amount of player's Gold
            In Hand.  And it indicates better why access to the Buy Gems service
            may not have worked.  Reasons: 1: You can't buy Gems if you have no
            Gold, or don't have enough to buy a single Gem.  And (2) you can't
            buy Gems if you already have a full Gems pouch.

          * fixed some indentation glitches in pawnshop.scr file.

March 19: * Updated Wendy_ATM_Service code after finding out that
            its existing old code allowed user to make a deposit,
            which caused their Gold in Bank stat to go negative.
          * recompiled igmunit, pstrades units; pawnshop.exe.

          * ATM Service: Verified rejection of invalid withdrawal amounts which
            would cause Gold in Hand to go above 2 Billion, or to go negative.
          * ATM Service: Verified rejection of invalid deposit amounts which
            would cause Gold in Bank to go above 2 Billion, or to go negative.

March 20: * Recompiled pstrades unit; igmunit unit;  pawnshop.exe.

March 21: * recompiled pawnshop.exe, pstrades/igmunit/pawn4 units.
          * verified usage of Heal_boss from pstrades unit.
          * verified shop owner punishments by Blackey for use
            of Foul Language.  Removed all temp debug/test code
            lines from foul_language and Heal_Boss procedures.
          * edited Blackey_Respect1 entry in pawnshop.scr.

March 22: * Code indentation fixed: Pawn4.pas and Pawnshop.pas.
          * no recompilation done

March 25: * Verified code indentation is OK - Pawn4.pas.
          * Fixed code indentation in igmunit.pas file.
          * no recompilation done as of 4:34 pm editing

March 31: * Received error report from Marty Blankenship that IGM is not writing
            its name in some event announcements in lognow.txt. Re-tested
            Dragon Tax event and spotted the problem for myself, and fixed it.
          * Worked on Dragon_Tax event's lognow lines to ensure that IGM
            writes "The Pawn Shop" correctly in the event's announcement.
          * Moved `@The Pawn Shop from pawnvars.inc to pawn4 unit, as global
            constant.  Revised code in pawnshop.pas, pawn4.pas, igmunit.pas,
            and pstrades.pas accordingly.
          * changed version to 3.53 beta.
          * recompiled psetup.exe and pawnshop.exe.
          * Do second test of Dragon Tax in LORD game session.

April 02: * updated documentation, code files for new month.
          * recompiled both EXE files.  sent to beta testers.

April 04: * Rewrote Blackey_Belgarion entry in pawnshop.scr so its
          * contents are legible on one screen viewed in Windows XP.
          * Verified sentence lengths, color code usage using the
            LordType program to quickly verify editing changes.
          * Integrated final product back into pawnshop.scr file.
          * no coding work needed today for Pawn Shop igm.

April 20: * Some code indentation glitches fixed in various code files.
          * recompiled psetup - changed to use shorter delays during
            maintenance cycle procedures.
          * recompiled pawnshop.exe

          * 6:17 pm: PSTrades: Gems_Orphan_Trade: Changed cost for one
            adoption down from 50 gems to 40 Gems.
          * pawnshop.scr: Changed references to orphan kid trade cost
            from 50 gems per child, to 40 gems per child.
          * changed cost of fairy from 40 gems to 30 gems in igm code.
          * no change needed for horse. it continues to be 20 gems.
          * recompiled pawnshop.exe.  6:29 pm

April 23: * tweaked igm code. Made sure it was using correct values
            for updating player database when players do adoptions.
          * recompiled pawnshop.exe. no version change.

April 24: * Changed Dash_Line lognow.txt constant to 60 spaces
            length.  Changed all CwriteLn(Dash_Line); statements
            to use CWriteLnC centered line command.
          * Changed Dash_Line2 also to 60 spaces length, and to
            centered line usage in lognow.txt entries.

          * Pawnshop.pas: News Events affected by changes:
            -- Successful robbery of Pawn Shop's Vault.
            -- Capture of thief trying to rob the vault.
            -- Mercenary evicts player from their Inn Room.
            -- Mercenary evicts player from another IGM's inn/tavern.
            -- Blackey throws player out of IGM for foul language use.
            -- Shop owner kills player spouse who tried to take over
               the Pawn Shop Office ownership from them.
            -- Player ran away from fight with shop owner.
            -- Player killed shop owner during Office fight who
               was their husband/wife.
            -- Automatic divorce notice after player kills spouse
               in the Office Fight over shop ownership.
            -- Player does automatic office take-over after finding
               previous shop owner lying dead in the office.

          * Pawn4.pas: News Events affected by changes:
            -- ProgStamp now uses the revised & centered Dash_Line.

          * Pstrades.pas: News Events affected by changes:
            -- Dragon Tax Event after shop owner kills Red Dragon.
            -- Mercenary kidnaps a warrior's child.
            -- Mercenary banishes player from LORD for a day.
            -- Mercenary is killed during Disfigure Player mission.
            -- Mercenary disfigures a warrior's Charm.
            -- Mercenary kills a warrior's horse.
            -- Mercenary maims a warrior.
            -- Mercenary poisons a warrior.
            -- Mercenary is killed while trying to rob a warrior.
            -- Mercenary steals large amount of gold from warrior.
               Thefts are limited to maximum of 250 Million gold.
            -- A dead warrior is resurrected by Wendy's magic.

          * Note for others: I did not change how PSETUP.EXE does
            lognow.txt entries.  Those may not need revision.
          * All mail notices sent to shop owner and to other players
            made by IGM are affected by Dash_Line/Dash_Line2 changes
            *IF* they are made during actual IGM usage.

          * Mail notices written by PSETUP were not changed.

          * Added line to news entry referring to fact that the
            resurrection was performed by Wendy. - Untested.

          * Revised Opponent_Stats_Fix to handle victim's Gems.
          * Added ROB_PLAYER2, STEAL_GEMS, and CHECK_GEMS
            procedures for new "Steal Gems" mercenary service.
          * Added random statement in Blackey Menu about use of
            GEMS code to rob enemy of some Gems.

          * Changed to v3.54 for testing of Gems Theft code.
          * Note to readers: I've not had time today (Sunday)
            to do LORD testing of this new event.

          * recompiled pawnshop.exe, primary unit files.
          * recompiled psetup.exe

April 25: * Rewrote Rob_PLayer, related procedures, so the same procedure
            handles both gems thefts and gold thefts.
          * Relocated several variables from pstrades to pawn4.
          * relocated Steal_Gold from pawnshop.pas to pawn4.
          * relocated several functions and procedures from pstrades
            to pawn4:  GetPlayerNum, Owner_Check, Which_Player,
            Save_Player, Read_Player, Opponent_Stats_Fix.
          * disabled old rob_player procedure in pstrades.pas.

          * Tested revised code for handling Gems theft, GOld theft
            in Rob_Player procedure.
            Fully tested: Theft of Gold - mercenary killed by target.
            Fully tested: Theft of Gold - mercenary was successful.
            Fully tested: Theft of Gems - victim had no gems.

            Partly tested: Theft of Gems - mercenary killed.
            Partly tested: Theft of Gems - mercenary was successful.

April 26: * Do full note writing later.
          * Worked on Maim_Player event rewrite and testing.
          * Worked on Rob_Player, Steal_Gold and Steal_Gems procedures.
          * Added new code for rob-gold.dat and rob-gems.dat files usage.
          * added new code - Steal_Warrior_Gold to replace Steal_Gold.
          * added new code - Steal_Warrior_Gems to replace Steal_Gems.

          * Renamed Bulletin.txt to Pawnbull.txt.  Revised PSETUP.EXE
            to handle file name change, and to handle new data files
            rob-gold.dat and rob-gems.dat.  Verified auto-rename procedure
            for renaming bulletin.txt to pawnbull.txt in PSETUP.EXE.

            Verified auto-deletion in PSETUP.EXE of Bulletin.txt when
            a pawnbull.txt file is also in existence.

April 27: * Worked on psetup.exe - Fixed it so it writes data lines to
            lognow.txt so they are centered in an 80-space area.  Also
            changed the look of the separation line used by PSETUP.EXE
            to end each lognow.txt entry it adds to the file.

          * Added Owner_Paid boolean variable to pawnshop.cfg structure
            in psetup.pas, pawnunit.pas, and pawnvars.inc source code files.

          * tested use of Owner_Paid code in Daily Maintenance.
            Once salary is paid, value is written to pawnshop.cfg as TRUE.
            OTherwise, its value should be false.

          * Unable to think of simple way so PSETUP "Knows" that it is a
            new system day, so that it will reset Owner_Paid to False before
            it runs the Daily Maintenance events code.  Initial idea was
            working, until I realized that with this Owner_Paid setup, the
            shop owner will be paid one time and then never get another
            salary - Oops.

          * Did U-turn on this one, and reset Psetup back to the way it was,
            until I can figure out way for IGM to know it is first time of
            day when PSETUP /M is run - either manually or as part of maint.bat.

          * I may have to add a pawntime.dat file similar to the one used
            by my other IGMs just so that this Owner_Paid idea can be actually
            made to work properly at all times.  Just don't feel like dealing
            with that much coding right now.

          * So IGNORE the stuff about Owner_Paid - it is not work-able yet,
            so I've disabled the code lines related to its usage in psetup.pas
            pawnvars.inc and pawnunit.pas - which are the only files I had
            changed to use Owner_Paid. 11:06 pm notes.

          * Psetup.exe and pawnshop.exe are changed to 3.55 beta.  I'm going
            ahead with the version change since the Maim Player event changes
            are all fully tested, and the Steal_Warrior_Gold and Steal_Warrior_Gems
            events should be working correctly already.

            -- Rename_Bulletin_File procedure added to Pawn4 unit
               and fully tested in Pawnshop.exe and psetup.exe.
            -- PSetup.pas and psetunit.pas files revised to use
               Pawnbull.txt instead of bulletin.txt.

April 28-29: Worked on Steal_Warrior_Gold, Which_Player,
             Steal_Warrior_Gems, Rob_Player, and other stuff.

April 29:  * Added Target_Found, Owner_Targeted, and
             Mercenary_Cancelled boolean vars - pawn4 unit.
           * Created and tested AddNews_LogLine proc. PAWN4 unit.

April 30: * Finished fine-tuning Steal_Warrior_Gold procedure,
            and Steal_Warrior_Gems procedure.  Debugged some
            glitches with Which_Player procedure.

          * IGMUnit code changes:
            -- Added Display_Lord_News procedure and did initial
            testing of new procedure in Wendy Menu.

            -- Revised Show_Mail procedure to do Pause after each
            24 lines are displayed.  Added SM_Lines variable.
            
            -- IGM uses LNWSCOPY.TXT to store copy of Lognow.txt
            and then it displays the temp file 24 lines at a time
            to the player.  Thought it was better to use copy of
            file, than to have lognow.txt locked while the IGM
            was displaying its contents.

          * Pawnshop.scr - Changed Wendy_AboutBlackey entry title
            to Wendy_About_Blackey.

          * Pawn4 unit: -- Renamed Log_Path to LordNews_FN.
            -- Added Target_Code variable.

            -- Revised/tested Post_Bulletins to use Pawnbull.txt.
            -- Revised/tested Display_Bulletins - pawnbull.txt usage.
            -- Finished verification - Theft_Success_Mail.
            -- Finished verification - Theft_Success_News.

            -- Added WP_Code var to Which_Player. Used to indicate
               to calling procedure value of Target_Found,
               Owner_Targeted, and Mercenary_Cancelled vars.
            -- Removed all debug entries code from Which_Player,
               Steal_Warrior_Gold, and Steal_Warrior_Gems.

            -- Added 3 option to Wendy_Menu for viewing lognow.txt
            -- Added PauseL, Redisplay lines to 'I' case code
               in wendy menu for Wendy_About_Blackey text display.

            -- Added 2-second delay, Redisplay lines to 'L' case
               code in wendy menu for Wendy_ThePawnShop text display.

            -- Minor editing, Uninstall_PawnShop. Psetup.exe.
            -- Minor editing - all primary code files.

May 02: * Updated documentation, source code files for new month.

May 11: * IF player asks Wendy for access to ATM and they have Zero
          gold on hand, or not enough gold to pay the Gold ATM Fee,
          Wendy now simply withdraws the ATM Fee amount from their
          bank account, and hands the gold to the player.

        * Updated ATM service code tested, and is working fine.
        * Pawnshop.exe updated for May 11 beta compile date.

        * Identified glitches in handling of Gems Sale by Player
          and Gems Purchase by Player.

        * Buy Gems:  Will no longer procedure transaction if shop
          would get no gold out of deal, or if player would not
          get any gems out of the purchase.

        * Sell_Gems: Will no longer procedure transactions if player
          would get no gold out of deal.  Transaction is also
          cancelled if shop would not get any gems out of deal.

        * Re-verified: Usage of Change_Gold_Hand, Update_Config_Gold,
          and Update_Config_Gold procedures when used during testing
          of Sell_Gems and Buy_Gems procedures.

        * Version changed to 3.57 beta.

=========================================================
May 12 - May 31: Need to update notes later.

May 12 - May 31: IGMUnit - no revision notes made.
                 Pawn4 - no new code added; no code revisions.

May 20: * Pawn4: Code indentation fixes made.



June 02: * Updated DIZ file, Documentation files.

June 18: * Recompiled IGM EXE files for new month.

June 20: * Worked on PSETUP.  Added support for using NoBlackey and
           NoViolet parameters - which did not work properly when
           accessed by Pawnshop.exe.

         * Added prompt to ask user if they want version data written
           to 3rdparty.dat igm name entry line during installation.
           VERIFIED its usage.

June 21: * Usage of /NoProtect or /NoBlackey causes WIndows XP to
           shut pawnshop.exe down immediately after it starts to
           execute, due to some kind of Illegal Instruction.

         * Various code relocations of variables and procedures
           became necessary in pawnshop.pas after getting Code
           Segment Too Large error message in early morning.

         * Evaluated relocation of Initizalize procedure from
           pawnshop.pas to pstrades.pas using debug code to
           check each variable's content during igm init process.

  { 06/21/05: Attempting to use /NoBlackey or /NoProtect caused some kind of illegal }
  { instruction, and Windows XP kept shutting down the execution of the igm. Tried }
  { using \NoProtect, and that seems to work so far, as of 05:05 am. }

           Usage of Initialize_IGM process from PSTRADES.PAS
           worked perfectly once I got Pawnshop.exe to quit
           crashing each time it tried to process either /NoBlackey
           or /NoProtect in 3rdparty.dat igm command line. For
           reason not figured out, the two values using / marks
           cause illegal instruction, and Win XP shuts program
           down immediately afterwards.  Finished testing of the
           Initialize_IGM process at 6 am with all temporary
           debug lines deleted.

         * Was able to test usage of \NoProtect, and it is working
           properly so far, as of 6:05 am this morning.

         * Used temp debug lines to verify content of ParamStr(0),
           ParamStr(1), ParamStr(2), and ParamStr(3) values from
           processing of 3rdparty.dat igm command line string.
           Retained usage until no longer needed.  Debug code
           activates only when BBS Name is CASTLE CAMELOT.

         * have not tested usage of \NoBlackey yet.  It SHOULD
           work OK.  Use it at your own risk until I say otherwise.

         * Tweaked the List_Victims procedure so it informs the player
           if NoProtect boolean variable is in use by the IGM.

         * Moved Negative_VaultGems_Reset and Negative_VaultGold_Reset
           procedures to Pawn4 - usage from there not re-tested yet.

         * Updated ps-whats.txt and pawnshop.txt files to include
           references to how sysops/end-users can use \NoBlackey
           to completely disable the Blackey Menu, and how they
           can use \NoProtect to just disable Mercenary Protection.

         * Updated PSETUP to ask user if they want version data
           info written to igm name entry line in 3rdparty.dat
           during igm installation.  Fully verified usage.

         * Verified update of IGM installation process in PSETUP
           to ask user if they want to use \NoBlackey or \NoProtect
           or not.  Verified usage of \NoProtect fully before
           quitting igm work tuesday morning.

         * IGM is using v3.58 Beta at present.  Will change to 3.60
           fairly soon.  Sent igm to beta testers group.
           -----------------------------------------------------

         * PSETUP: Changed Fairy trades per day limit from 5 to 10.
           - Changed Adoptions per day limit from 50 to 100.

           - all code regarding changes to Limits.Fairies and
           Limits.Adoptions is properly updated in PSETUP.PAS.

         * Received email from Rob McGee relaying complaint from
           one of his BBS users, Don Young <DY33@cs.com>, that
           there was serious problem with heavy abuse of the
           Mercenary Protection service offered by Wendy.  Second
           email from Don Young later in day reported similar
           serious abuses of the Banish and Poison services.

         * Made following decisions about how to handle the three
           problems. - Allow sysops to limit uses of BANISH,
           POISON, and KIDNAP.  If they set them to Zero, that
           will effectively eliminate source of two igm abuses.
           KIDNAP: I could see possibility of it being abused,
           so I will provide sysop control of that event also.

           - By limiting players to 1 Billion Experience per day,
           1 Billion in Gold, and 100,000 in Gems that can be
           obtained via various mercenary services, that will
           also serve as control mechanisms to prevent abuses.

           - Will change events like Maim_Player and Disfigure
           so that Experience gain by victim who kills their
           mercenary attacker comes out of the thief player's
           Exp. stat.  Will help control possible abuses of
           those two, if players using them risk loss of 5%
           Exp. each time they attack the wrong victim and
           their mercenary gets killed.

         * 5:29 pm: Fixed indentation in IGMUNIT.pas file.

         * PawnUnit: InRange: Changed from 2 to 3, so that players
           can only attack players within 3 levels of them using
           mercenaries.

         * 5:42 pm: Fixed indentation in PawnUnit file.

         * 6:36 pm: Fixed indentation, various sections of Pawn4.

         * 7:02 pm: Fixed indentation, various sections of PSTrades.
           Repair_Lord_Stats: Replaced with Gem Trader's code
           since Pawn Shop procedure had large amt of indent screw-up.

         * Designed third usage report, using temp file PAWN-WUR.PAS,
           for Pawn Shop IGM usage.  Not added into either PSetup.pas
           or PSTrades.pas unit files yet.

         * Verified use of NoProtect boolean VAR in Which_Player
           to tell player they may attack players who have bought
           protection earlier in the day.

         * Steal_Warrior_Gold: Changed progstamp header wording.

         * Pawnvars.inc: Changes to Player Database record.
           - Renamed MHPoints VAR to HitMax.
           - Renamed OrphanTrades VAR to Adoptions.
           - Added 6 new variables to player database:
             Banish_Count, Kids_Stolen, Poison_Count, Gems,
             Gold, and Wisdom.  All are currently enabled only
             in PawnVars.inc file.
           - Added 5 new Limit variables to IGM Limits record.
             Banish_Uses, Kidnap_Uses, Poison_Uses, Gems_Thefts,
             and Gold_Thefts.  All 5 are enabled only in
             pawnvars.inc file, as of midnight, June 21th.
           - Added three new internal IGM limit values for use
             with Experience Points - Max_Wisdom;  Gold and Gems
             - Max_Gold_Theft, Max_Gems_Theft.  For purpose of
             limiting daily rewards from exceeding 1 Billion
             in Experience Points and Gold, and 100,000 for Gems.

           - Experience is gained when players kill a mercenary
             sent to attack them, and in a few other instances
             such as winning Shop Office ownership fight.  Gold
             and Gems are gained/lost as result of mercenary
             thefts, robberies, and embezzlements.

         * Pawn4: Added un-enabled statement for updating
             TPotions.Gold to Change_Gold_Hand.
           - Added un-enabled TPotions.Wisdom statement to
             the Flirt_Wendy and FLirt_Blackey procedures.
           - Added un-enabled Tpotions.Gems statement to
             the Change_Gems procedure.

           - Rob_PLayer: Added untested Wisdom_Lost var.
             Use to (a) grant victim thief's experience when
             victim kills mercenary, and to (b) deduct same
             amount of experience from thief's EXP stat.

           - Rob_PLayer: Added note reminder to implement
             use of Max_Gold_Theft and Max_Gems_Theft.

           - Theft_Failure_Mail:  Changed to use Wisdom_Lost
             value instead of X_Amt.  Added new line in mail
             file to tell victim their Exp gain came at expense
             of the player who sent mercenary after them. UNtested.

           - Rob_Player: Changed so that Exp gained by the
             victim who kills their attacker is based on the
             thief's experience.  Dropped formula from 10% to
             5% for computing Experience reward/loss amount. Untested.

           - Rob_Player: Added un-enabled Tpotions.Wisdom statement.

         * IGMUNit: - to-do list: Code and implement third IGM
             usage report for display on-screen during IGM exit.
           - Renamed uses of MHPoints to HitMax, and OrphanTrades
             to Adoptions.
           - Revised code in List_Victims to include message
             alerting players that Mercenary Protection is
             disabled by sysop when NoProtect VAR is enabled.
             Usage verified in Tuesday morning igm tests.

         * No changes needed in PSetunit unit.

         * Moved TotalExp_Traded, TotalGems_Traded, MaxHP_Sold,
           Str_Sold, Def_Sold, Charm_Sold, Potions_Bought VARS
           from pawnshop.pas to pstrades.pas.  Moved NoBlackey
           VAR from Pawn4 to PStrades.  Was unable to move
           NoProtect var from Pawn4 because it is used in the
           Which_Player process located there.

         * PSTrades: Changed code for TLimits.Fairies to use
           max values of 10.  Changed code for TLimits.Adoptions
           to use max values of 100.  Both changes are untested.

           - Minor edits made in MAIM_Player.
           - VERIFIED content of Config_FN, ProgPath, Infoxdir,
           PlayerDataFN, LordPath, Limits_FN, Potions_FN, and
           ProgPath variables while testing Initialize_IGM.
                                                           
           - Re-Verified use of READ_CONFIG, READ_LIMITS, IF Used
           code block, and the Init_Customer_Values process.

           - Re-verified that WriteOut command worked and that
           current player's OUT file contained "is visiting The
           Pawn Shop".

         * Have not managed to do full indentation clean-up yet
           in Pawnshop.pas, pstrades.pas, and psetup.pas.  Various
           parts have been fixed as to indent glitches in each file.

         * PSTrades: VIEW_PLAYER_STATS updated to use the renamed
           TPotions.Adoptions and TPotions.HitMax variables. Untested.

June 22: * PSetUnit, Pawn4, IGMUnit: Fixed some indentation glitches.

         * PSetup: Enabled code for the 5 new PSLIMITS.CFG file
           variables.

           - Not written yet: Code for getting user choices for
           values of Banish_Uses, Kids_Stolen, Poison_Uses,
           Gems_Thefts, and Gold_Thefts - as of 12:26 pm.

         * PSTrades: Added code lines covering the 5 new Limits
           variables to READ_LIMITS process.  Untested.

           - Added PAWN-WUR.PAS content, disabled old process
           for Write_Usae_Reports. - usage untested.

           - Added code to initialize the 6 new player database
           variables in INIT_CUSTOMER_VALUES process. Untested.

         * PSETUP: Added Pawn-WUR.PAS code, replacing usage of
           program's Write_Customer_Reports process with the
           revised Write_Usage_Report process - usage untested.

         * Worked in pawn4, pstrades, igmunit, psetup, and
           pawnshop.pas for some integration of usage of
           TPotions.Banish_Count, TPotions.Kids_Stolen,
           TPotions.Poison_Count, TPotions.Gems, TPotions.Gold,
           and TPotions.Wisdom player database var's.

           And usage of TLimits.Banish_Uses, TLimits.Kidnap_uses,
           TLimits.Poison_Uses, TLimits.Gems_Thefts, and
           TLimits.Gold_Thefts IGM Limits file var's.

         * Actual usage of the five new limit variables has
           not been coded anywhere yet.

         * Added copies of Don Young's email messages to
           the PawnMisc.zip archive, for archival and for
           Chris MacPherson to see if he wishes to.

         * Finished primary update of PSETUP.PAS to properly
           update PSLIMITS.CFG with the five new limit values.

           - Wrote Code for getting input from user for Banish
           event uses, using Adoptions code as template.

           - Wrote code for Kidnap event uses, using the template.
           - Wrote code for Poison event uses, using the template.
           - Wrote code for Gems Theft event uses, using template.
           - Wrote code for Gold Theft event uses, using template.

         * Do new compilation of PSETUP.EXE and start testing
           updated/revised code and brand new code blocks/lines.

June 23: * Worked on PSETUP.pas and psetunit.pas.
         * BLANK_LINE2 moved successfully to Psetunit unit.
         * PRESSAKEY1 moved successfully to PSetunit unit.

         * Moved Write_Mail, Write_Mail2 and Num_Bounds processes
           to Psetunit Thursday morning also.  Usage from there
           not verified yet, as of 8:10 pm Thursday night.

         * Moved all of the code blocks forming CONFIGURATION
           case structure 'C' to PROCESS_IGM_LIMITS sub-procedure.

         * Changed from VAR declarations for Limit1 - Limit9 to
           use CONSTANT declarations instead.  Renamed the constant
           values to use Config_Limit1 - Config_Limit9 names.

         * Changed KIDNAP, Gems Theft, and Gold Theft code to
           allow user to disabled their usage in same manner as
           the BANISH and POISON code in Process_IGM_Limits.

         * In Process_IGM_Limits, rewrote instructions to user
           as to how to answer each of the 9 prompt sections.
           Added code to some for processing negative numbers
           and zero entries.

         * Did update of Pawnshop.txt, adding section covering
           the PSETUP Switches Menu Help.  Updated PS-Whats.txt
           with info about current player database updates,
           limits file updates, and usage of the new limit values.

         * Added support in PSETUP.EXE for use of /MAINT switch
           which will work just like /M does.

         * BANISH, KIDNAP, POISON, GEMS THEFT, GOLD THEFT: Code is
           fully in place for denying access to each of the five
           mercenary services if the corresponding boolean variable
           is enabled.  Uses NoBanish, NoKidnap, NoPoison,
           NoGemsTheft, and NoGoldTheft variables - they are all
           established when READ_LIMITS process is executed.

         * Read_Limits, in PSTRADES, rewritten to allow users to
           deny access to Kidnap Child, Gems Theft, and Gold Theft
           mercenary services.  Code was already up-to-date for
           denying access to BANISH and POISON services.

         * New entries added yesterday to pawnshop.scr:
           Banish_Service_Disabled, Poison_Service_Disabled.

         * New entries added today to pawnshop.scr:
           Gems_Theft_Disabled, Gold_Theft_Disabled, and Kidnap_Service_Disabled.

         * Finished testing of Process_IGM_limits.  Works perfectly
           as of 9:40 pm.  Usage of Zero values entered for all 9 limit
           values was checked.  Usage of over-range values was tested
           with all 9 limit values as well.

         * Changed settings #1 - 4 in pslimits.cfg to over-range values
           for evaluating code for dealing with them in READ_LIMITS process,
           when pawnshop.exe starts executing.

         * 10:44 pm: Usage of Pawnshop.exe.  Verified that Read_Limits
           correctly revised values in limits #1 - 4 that were over-range.
           - Verified code in Read_limits that indicate which mercenary
           services are disabled - Turned those lines into permament usage code.
           - Verified Rewrite of pslimits.cfg by read_limits with the
           corrected limit variable values.
           - IGM usage: Blackey menu.  Verified use of BANISH, KIDNAP, POISON,
           STEAL, and GEMS code words with corresponding access denied boolean
           vars activated, displayed the notices to player that the corresponding
           mercenary service's usage has been disabled by the sysop.
           - Reverified that Buy Protection service does not work when
           NoProtect boolean variable and IGM command line parameter is in use.

         * Verified usage of Write_Usage_reports inside pawnshop.exe.
           All columns in third usage report are aligned properly.

         * verified some MAIL code for MAIM service usage.
           verified some Lord News code for MAIM service also.

         * Disfigure - killed victim - verified.  Mercenary failure - verified.

         * Denial of access to BANISH - verified, POISON - verified, KIDNAP -
           verified, GEMS - verified, and STEAL - verified, processes in
           Blackey Menu - all worked as I intended them to do.

         * Sent igm beta out to beta testers as version 3.60 Beta.

         * Note to readers.  I have not finished the rewrite of
           pawnshop.txt so please excuse it being in a mess.

June 25: * Do notes at later time.  Summary: I screwed up with
           the Gems Theft and Gold Theft variables.  I had them
           in mind as LongInt values for tracking the amounts
           stolen each day.  I realized this morning, that they
           were supposed to be counter fields that would correspond
           with the Limit values for Gems Theft event use, and for
           Gold Theft event use.

         * Rewrote List_Traders to include format for report #3.
           Then had to go back a few hours later and rewrite it again.

         * Revised Write_Usage_Reports - then had to do it again
           to cover Gems Theft, Gold Theft counters.  While I was
           at it, I added info on usage of Banish and Poison events.

         * Sorry about this, but player database had to be changed
           once more.  There are still Gems and Gold tracking fields.
           They are just now BYTE var-type couner fields instead of
           LongInt amount fields.

           I retained the Wisdom field.  I still think its worth
           keeping to show who gained/lost wisdom points from usage
           of (a) Wendy's services and (b) Blackey's services.

         * Added code to BANISH, POISON, KIDNAP, GEMS THEFT,
           and GOLD THEFT services to increment event uses counters
           each time player uses a service.  Counter is for EACH
           usage regardless of whether player gained something.

           E.g.  You can use KIDNAP but there's no guarantee the
           IGM will let you kidnap a child.  There's a random
           chance used that decides if you are successful or not.

         * Pawnshop.scr is updated with some more dialogue entries
           I added BANISH_LIMIT_MESSAGE, POISON_LIMIT_MESSAGE,
           KIDNAP_LIMIT_MESSAGE, GEMS_THEFT_MESSAGE, and
           GOLD_THEFT_MESSAGE dialogue sections to the file.

         * PawnVars.inc: Had to make revisions to player database
           entries for Gems Theft, Gold Theft.  Made comment
           changes in Limits_Info structure - notes made on the
           other day for Gems/Gold Theft were not correct as to
           their purpose.

         * You won't get this probably until I've had time to
           do recompiles and then re-test the things that are
           revised or added this morning.

         * but when you do, you will have to delete the existing
           exptrade.dat file and start over again with a new
           igm database file.  Sorry about that, but it can't
           be helped sometimes, and this is one of those times.

         * IGMUnit: Added notes showing amount of Gems, Gold, and/or
           Experience points lost by players when IGM resets the
           over-range LORD stats.  Added sentence explaining why
           player lost those stats when they were over-range.

           - List_Traders - all three reports are reset to show
           3 records per screen so that I can re-test how they
           work on additional screens.
           - Got rid of the remaining chr(39) entries.  I see
           no reason for using them when it is just simpler to
           type a ' symbol as needed.

         * Pawn4: Changed some VAR names in the processes for
           Steal_Warrior_Gems and Steal_Warrior_Gold to use
           Gems_Stolen and Gold_Stolen instead of Change_Stat
           when displaying results of a theft to the thief player
           on-screen, and in mail files sent to the victim player.

         * Pawnshop.pas: Added code to prevent access to BANISH,
           KIDNAP, POISON, GEMS THEFT, and GOLD THEFT mercenary
           services once player reaches the event uses limits
           specified by sysop/end-user in the pslimits.cfg file.

           - Added use of the five new pawnshop.scr dialogue
           message blocks - each of which are 2 lines long.

           - BANISH: Added code for use of Banish_Count.
           - KIDNAP: Added code for use of Kids_Stolen counter.
           - POISON: Added code for use of Poison_Count.

           - Blackey Menu - GEMS/STEAL code entries - Updated
           to use GemsTheft_Count and GoldTheft_Count fields.

         * Pawnunit: Eliminated use of chr(39) in 4 places.
         * Psetunit: Minor code tweaking.

         * Psetup: Added code in un-install section so it will
           properly process any entries in maint.bat that may use
           PSETUP.EXE /Maint, instead of the normal PSETUP.EXE /M
           command lines.

           - Renamed Gems and Gold var names in Write_Usage_report
           to use Gem_Theft and Gold_Theft string values in writing
           report #3 data.

           - Added use of Banish and Poison string vars in the
           Write_usage_reports process (Psetup & PSTrades uses
           same process code).

         * PSTrades: Bug fix started here.  I changed all entries
           for Tpotions.Gems to TPotions.GemsTheft_Count - then
           did same thing in other .pas files that needed fixes.

           - Changed Tpotions.Gold to Tpotions.GoldTheft_Count
           in all of the .pas files that needed the fixes.

           - Rewrote (twice) usage report #3 layout in Write
           Usage Reports process.  Changed structure to cover
           Banish and Poison event use counters.  No room for
           commas in the Experience column at this time.

           - eliminated use of chr(34) in places.  Changed them
           to use "do not" instead of the old coding for "don't".
           - Changed code to use "it's" in several places that
           had been using the chr(34) code for apostrophe.

June 26:   * Did various work on igm.
           * Moved List_Traders from IGMUnit to Pawn4 unit.
             Is working properly from there, as of 06/27/05.

           * Moved Write_Usage_reports from PSTrades to Pawn4.
             Is working properly from there, as of 06/27/05.

           * Psetup.pas: Added use of EXE_NAME varaible fro
             writing PSETUP.EXE in pawn-use.txt file.

June 27:   * Had to completely rewrite Write_Usage_reports
             and re-test it thoroughly using Psetup /report.

           * Merged rewritten Write_usag_reports process from
             Psetup.pas into pawn4.pas unit.

           * Pawn4: Added EXE_NAME value, so that PAWNSHOP.EXE
             is written in ending line of pawn-use.txt when
             file is created/updated by the igm.
             - Changed to global vars: Report_FN, WTL_File,
             - ExpTrade_File, TReportsX.
             - Renamed old TReportX.* values to us TReportsX.
             - Added/tested Create_Database_File.
             - Renamed Write_Potions_File to Update_Database_File.
             - Relocated Display_File location in psetup.pas.
             - Relocated Rob_Player location in pawn4.pas.

           * PSetup.pas/exe and Pawn4: Created and tested
             Write_Limits_File, and Read_Limits_File, and
             Display_IGM_Limits.  Revised/retested Read_Limits
             function in pawn4 unit.

           * Pawn-use.txt: Added missing BadBrews column to
             usage report #2.  Verified column alignment in all
             three reports.

           * Pstrades: Moved SHopNum variable to pawn4 unit.
             - Also moved TPotions, PotionsFile, and Potions_FN
             variable lines to pawn4 unit.

           * recompiled pawnshop.exe and psetup.exe

June 28:  * recompiled PSETUP and PAWNSHOP EXE files.
          * Updated pawnshop.txt.

          * Worked on List_Victims - It no longer lists the
            current player as an eligible victim.
          * List_Traders revisions are working properly so far.
          * Write_Usage_Reports complete rewrite is working
            properly so far.
          * Read_Limits - fully verified - handling of negative
            values.  fully verified - handling of over-range values.
          * Write_Limits_File - fully verified - psetunit/psetup usage.

          * Write_Limits_File - fully verified - pawnshop.exe usage.
          * Read_Limits_File - fully verified - psetup.exe usage.

          * Display_IGM_Limits - fully verified psetup.exe usage.
          * Steal_Warrior_Gold, Steal_Warrior_Gems - all untested
            code lines are now fully/completely tested/verified.

          * Added code to psetunit developed from Outlands Tavern code
            that controls creation/update when a new igm usage day
            occurs using a pawntime.dat binary file.
            - Added PawnTime process.  Added Reset_IGM_Files process.
            - Added Create_Time_Text_File process - makes a ps-time.txt
            file that stores data on the date values and status of
            whether owner salary payment is allowed or not.
            - Added CREATE_MaintUse_File - creates the pawntime.dat file.
            - Added Reset_Maint_Files.
            - Added Maint_Stuff record structure - used by pawntime.dat,
            - and added Maint_Text structure - used by ps-time.txt file.

         * Added and tested code in psetup.  End result is version 3.62
           beta.  Psetup /M will no longer pay owner salary more than
           once a day.  Don't know yet if it will work properly tomorrow
           though.

         * Updated documentation files with new version data.
         * Updated notes in file for June 26-27 work.

July 02: * Updated Chasware.pas file to use file from August 2003 received
           from Charlie Wardick when he was working on Realm of Lore.

         * Updated alord.pas file, disabling unused UpdateInfoX process.

         * Increased amounts allowed, minimum/maximum, for Staff Salary,
           capping them at 1.5 Million Gold per day.

         * Increased amounts allowed, minimum/maximum, for Guards Salary,
           capping them at 900,000 Gold per day.

         * Increased amounts allowed, minimum/maximum, for Owner Salary,
           capping it at 55 Million Gold per day.  Old limit was 42 Million.

         * Fixed PSETUP so it will only pay Guards Salary and Staff Salary
           one time per day, at time first Maintenance of day is executed
           by LORD, when PSETUP /M is run from maint.bat by LORD.

         * Recompiled both PSETUP and PAWNSHOP as v3.64 beta.
         * updated program documentation for new development month.

July 08: * PSetup.exe: Changed Display_File to show next screen of data
           when Lines_Count > 22, instead of LInes_Count = 23.  Verified usage.

           -- Changed Write_Usage_Report in psetup.pas - When NONE was used
           for data fields in Report #1, columns were out of alignment. FIXED
           alignment glitch for ExpTraded, GemsTraded, and Elixirs columns.
           Other columns did not need any revision as to their alignment.

         * Recompiled PSetup.exe.          * Recompiled Pawnshop.exe.

July 13: * Decided that Buy_Gems and Sell_Gems both valued/priced Gems at far
           too high a Gold value.  Reduced formulas used for Gems Cost in each
           process.  Buy_Gems - changed 200 to 150, Level DIV 2 to Level DIV 4.
           Also changed both processes to use Gems_Cost and Gems_Price vars.
           Sell_Gems - changed 300 to 250, Level DIV 2 to Level DIV 4.

           Results: Level 9 player used in tests.  Player bought gems at
           maximum cost of 200,000 Gold per gem, and sold gems to Wendy at
           maximum value of 150,000 Gold per gem.

         * Version changed to 3.65 beta for testing of Gems code changes. DONE.

         * All untested code blocks in psetunit.pas's Read_Limits_File were
           thoroughly verified in tests using Psetup /C and Display Usage Limits
           process.  -- Verified handling of negative values for all of the
           limits. -- Verified handlinlg of over-range values for all limits.
           -- Verified handling of Zero values in Potions Limit, Exp Limit Rate,
           Fairies, and Adoptions limits.

         * All code in Psetunit.pas has been tested now. Has NO untested comment entries.

         * Eliminated usage of ps-time.txt file.  Moved Owner_Paid, Staff_Paid
           and Guards_Paid boolean variables into the pawntime.dat file.

         * added/tested code lines in psetup.pas to delete any *.cfx, *.dax, or
           *.txx files that might be in IGM directory when psetup.exe runs.

         * Verified usage of psetup.exe with revised pawntime.dat file.  Note
           that first access of changed file caused RTE 100.  So remember to
           tell beta testers that they have to delete their existing pawntime.dat
           file before running PSetup.exe for ANY reason.

         * all primary pawnshop-specific and psetup-specific unit files recompiled.

         * Tested Foul Language code.  Added new code to kill player - no exception
           for shop owner player - if they use Foul Language more than 5 times.

         * Changed IGM version to 3.66 beta. 6:38 am Tuesday, July 13th, 2005.

         * Recompiled psetup.exe, pawnshop.exe.


July 15: * Created pawn-var.txt data file listing variables,
           constants, record structures used by IGM.  Printed file.

         * Created ShopEdit.EXE player database editor utility.

July 16: * Finished testing of ShopEdit. Version 0.50 beta.

         * Reorganized IGM's player database structure.

         * Changed data type of 2 variables in pawnshop.cfg.
           - did not affect usability of file.

         * IGM recompiled as version 3.70.

July 22: * recompiled igm.  Made some editing changes in
           pawnshop.pas.  No change needed for psetup/ShopEdit.

July 27: * Added code for handling over-range stats.

July 28: * Tested Repair_Over_Range_Stats process. - worked OK.
         * fixed indentation - Initialize_IGM process.
         * replaced MarriedTo Function with Werewolf proc. code.

         * PawnUnit: Changed Item #16 cost/defense/strength values
           to correspond with LORD item #11 values for Weapons
           and Armour. * Changed Item #17 values to correspond
           to LORD items #12 values. * Changed Item #18 values to
           correspond to LORD items #13 values. * Changed Item #19
           values to correspond to LORD items #14 values. * And
           changed Item #20 values to correspond to LORD items #15
           values.

July 29: * The IGM will now only use the 0-15 range for Weapon Number
           and Armour Number that LORD uses, for better compatibility
           with DOS LORD V4.07 beta.

         * Tested revised Buy_Weapon event code - works fine.
         * Tested revised Buy_Armour event codoe - works fine.
         * Tested Create_Database_File - worked fine.
         * Tested revised code in Record_Entry_Stats after
           removing old lines for Gold/Exp/Gems over-range
           value handling, which is now handled by the
           Repair_Over_Range_Stats process.
         * Tested/revised foul language event coding.  Shop
           owner who uses bad language 4 times is put on Hate
           List, and denied further access to Blackey Menu.
           So shop owner player is immune from getting killed
           by Blackey - unless user deletes the hate.dat file.

           In which case, a 5th use of Foul Language around
           Blackey WILL probably result in shop owner's death.
           ** That event has not been tested yet. **

         * Tested use of NoGold_Msg code in Resurrect event
           when player has zero Gold on Hand.
         * Tested use of NoGold_Msg code in ATM event when
           player has zero Gold on Hand.
         * Tested code in ATM event where player has no gems.

July 30: * Worked on pawnshop.exe and ShopEdit.exe programs.

July 31: * Found/fixed error in PSETUP Maintenance.  It was
           having an RTE 207 problem with Employee Salaries,
           which I fixed.  Also fixed code for Guard salaries
           so it would not do an RTE 207 also.
         * No change today in pawnshop.exe or ShopEdit.exe.

Aug. 01: * Added MaxVisits VAR to structure for Pawnshop.cfg file.
         * Brought PawnShop, PSetup, and ShopEdit programs up-to-date
           for new month in early morning work;

         * Re-update them to use MaxVisits code - in progress.
           ShopEdit - Updated and fully verified.
           Psetup   - Updated and fully verified.
           Pawnshop - Updated and fully verified.

         * PSETUP /C: Verified reset of IGM Limits that are over-range.
           - Verified reset of IGM limits that are negative values.
           - During input of LImit values, verified that all were
           set to default values when user does not type in number,
           and just hits the ENTER key for limit questions.

         * Added VIEW_IGM_STATS process in pawn4 - was unable to put
           it into Pstrades, due to Code Segment too Large problem occuring
           for that unit file.

         * Added code in Pawnshop.pas to send player home when Visits/Day
           Limits is reached.  VERIFIED.

         * Added code in Pawnshop.pas enabling limit of 12 horse trades/day.
           - not tested yet.

         * Added code establishing Gems_Ban as true when Gems Traded stat
           reaches or exceeds 300,000.  usage not tested.  AND Not fully
           enabled in igm code.

         * Added/revised code in Foul Language event to always take away
           Experience points for Third violation upward. Third violation
           costs player 7.5% exp. Future violations cost 15%.      Untested.
           Third and future violations costs player 2 game levels now. Untested.

         * Rewrote Read_Limits_File, Write_Limits_File in PSetunit.pas unit.
         * Rewrote REad_Limits and Write_Limits in pstrades.pas unit.

         * VERIFIED: Usage of Visits/Day Limit in pawnshop.exe.
         * VERIFIED: Theft of Gold from victim player's bank account is now
           fixed so that the victim's LORD record is properly updated to
           reflect their loss of bank gold.
         * VERIFIED: Theft of Gems from victim player is now fixed. The
           victim's Lord record now reflects their loss of gems correctly.

         * REVISED: Spy Stats. All numeric variables now properly use commas.

Aug. 02: * Fixed indentation, entire file, Pawn4.pas unit.

         * recompiled pawnshop.exe.  No special coding changes.
         * Worked on PSetup.exe. - Fixed some problems found.
           -- (A) During config process, it was not properly
           detecting presence or non-presence in current
           directory of files like pawnshop.cfg.  So Config
           Menu did not always show the correct prompts.
           -- (B) Fine-tuned configuration process to work
           better - but it is also a little more wordy now.
           -- (C) Fine-tuned installation process and removed
           some bugs/glitches I found.
           -- (D) Fine-tuned un-installation process.  It was not
           removing PAWNSHOP.EXE entries from 3rdparty.dat file
           at all, but said on-screen that it had done so. FIXED.

           -- Un-install now works properly when IGM data
           entry line is for normal igm usage.
           -- Un-install works correctly when \NoBLackey is used.
           -- Un-install works correctly when \NoProtect is used.

         * Created Display_Data_Files_Info process. Added D
           option for executing it to Configuration Menu.
         * Added missing (I) Install menu line to Config Menu.
           Had somehow got deleted since June 2005 work.
         * Moved Display_Config_Settings and Display_IGM_Limits
           processes out of COnfiguration procedure, and up
           above Install_PawnShop, so Install process could
           execute them, as needed.

         * During Install process, it now does a complete
           installation using default settings for Pawnshop.cfg
           and pslimits.cfg files.  Then it tells user that if
           they want to change IGM Limits, to do so from the
           Configuration Menu once install process is ended.

         * Tested all changes made today in psetup.exe.  All are
           working correctly at this time. 11:52 pm.

         * In response to request from Marty Blankenship, I have
           worked again on the separation symbols line that
           PSETUP.EXE writes to lognow.txt file.  I hope the
           result is OK for everyone this time around.  The
           data is supposed to be centered inside a 80-space
           line, but I don't know if that works ALL the time.

Aug. 03: * Worked on PSETUP.EXE.  Fixed glitch where it did
           not properly remove entries from maint.bat file.
         * Fine-tuned install, un-install processes some more.

         * Rewrote Flirt_Wendy and Flirt_Blackey to use
           Flirt_Wisdom_Reward process to eliminate duplicate
           code used by both processes.
         * Initial testing done of Flirt_Wendy in igm and
           of Flirt_BLackey.  No problems detected.
         * Did initial work towards multiple adoptions code
           revision of Gems_Orphan_Trades process.

Aug. 04: * Verified Flirt with Wendy, Flirt with Blackey code.
         * tested revised adoptions code using 25 kids/trade
           limit initially.
         * Changed Kids/Trade limit to 50. Retested event.
           -- Normal transaction: Player asks for 50 kids. Pays
           2000 Gems.  Receives 50 Kids.  Works fine.
           -- Player has less than 40 Gems. Access to Adoptions
           event automatically terminated - works fine.
           -- Player could purchase only 35 Kids with # of Gems
           on hand.  Processed sale of 35 kids. worked fine.

         * Pawnshop.exe, psetup.exe recompiled as verion 3.72.
         * No change needed to ShopEdit utility.

         * Fixed error in ShopEdit where Search for Player was
           using invalid menu code.

         * Added code in Initialize_IGM to process any change
           in current player's LORD Player number if it is
           different from data stored in igm database.

Aug. 10: * Add notations later.

Aug. 11: * Worked on ShopEdit. Changed to version 0.65 beta.

         * Fixed utility to terminate immediately if there is
           not an exptrade.dat file to work with in the IGM
           directory ShopEdit is configured to access.

Aug. 13: * Worked on ShopEdit.  Will not run from compiler if
           Pawn_FN variable does not contain directory path info.

Aug. 14-20 - do notes later.

Aug. 21: * Dropped Gems_Ban from player database structure.
         * Dropped Max_Gems_Traded constant usage in SHOPEDIT.
         * Dropped Max_Gems_Traded usage in PAWNSHOP.EXE.

         * Changed IGM to version 3.73 beta.
         * Changed SHOPEDIT to version 0.75 beta.

Aug. 31: * Docs: Updated Lordmenu information section.
============================================================

Sept. 01: * Pawnshop.exe and Psetup.exe changed to v3.74 Beta.
          * Shopedit changed to version 0.80 beta.

Sept. 02-04: pawn4, igmunit, pawnunit, pstrades - no work.

Sept. 03: * recompiled pawnshop.exe, psetup.exe and shopedit.exe
            for new month using code revised on Sept. 01.
          -- Psetup: No longer does anything if an old bulletin.txt
          file is detected during program's usage.

Sept. 05: Pawn4 changes: -- Added HPs_Healed variable.
          -- Added Wendy_Heals_Player procedure.
          -- ProgStamp. Worked on usage of Program_Name constant.
          -- Read_Player. Tweaked line for "Player not found."

          Igmunit changes: -- Added HitPoints_Gold_Conversion -untested.
          -- moved disabled Record_Entry_Stats to ps-remov.txt.
          -- moved comments from unit file's ending to ps-remov.txt
          -- moved wendy_heals_player to pawn4 unit.
          -- Added use of Gold_Payment, Change_Gold_Hand, and
             Update_Config_Gold to Hitpoints_Gold_Conversion code
             that was taken from Nice Hag igm's program code.
          -- Title Screen: Dropped Version info from compile date line.
             Added my Fidonet mail address below Updater line.
          -- moved disabled Player_Stats_Fix proc to ps-remov.txt.

          pstrades changes: -- Made Anyone_Dead a global var.
          -- deleted disabled Repair_Negative_Stats code.
          -- deleted disabled Repair_Over_Range_Stats code.
             Both processes are now being run from pawn4 unit.
          -- Dropped use of PSS_Gems Var in line that tells user
             how many adoptions they have made during day.  Amount
             was inaccurate whenever player had gotten kids from
             Wendy's blessing.
          -- View_Player_Stats: Changed Orphan Trades to Adoptions.
          -- Rewrote wording in Resurrect process.  Added use of
             Revival_Ending label so that if user does not type
             anyone's name at revive player prompt, the process
             immediately terminates operation.
          -- Adoptions: Changed igm to allow 100 adoptions per
             gems trade purchase session.
          -- revised Heal_Boss to use HPs_Healed variable.
             revised Heal_Boss to execute Wendy_Heals_Player.
          -- Deleted Rename_Bulletin_File process.  IGM will
             now ignore presence of an old bulletin.txt file.
          -- Modified WriteOut process to include period after
             IGM's name.  OUT files in use during player's visit
             now read: "is visiting The Pawn Shop."

          pawnshop.pas changes: -- Changed wording when fairy is
             freed when he revives dead player to life during a
             shop ownership fight with current shop owner player.
          -- Revised other code in BATTLEL procedure.
          -- New shop owner's free healing is now handled by the
             Wendy_Heals_Player process. - untested.
          -- Changed Buy_Gems to use Normal_Exit, BuyGems_Exit
             labels.  Buy Gems process automatically terminates
             if player already has 32,000 or more Gems.
          -- Revised Spartan_Potion to run Wendy_Heals_Player.
          -- revised igm entry process to show Potions_Trade_Rules
             and IGM_Usage_Rules screens - from pawnshop.scr file.

             The old igm code screen was longer than 24 lines and
             was unwieldy, so I broke the IGM rules screen into
             two parts.  One covers only IGM Potions Trades, and
             the other covers the other primary igm usage rules now.

          -- Changed code that tells player how many people are in
             the IGM's player database when they enter the igm.

Sept. 06: Pawn4 changes: -- Added NoBanish to unit from Pstrades.
          -- Added TLimits to unit from PStrades.
          -- Disabled debug code in Flirt_Wisdom_Reward.
          -- Flirt with Blackey - reverified Female player coding.
             and verified use of Flirt_Wisdom_Reward by event.
          -- Rob_Player. Fixed problem where it was deducting
             invalid amount of Exp Points from player's Experience
             when their mercenary is killed while trying to steal
             another player's Bank Gold.
          -- Updated debug code in use by Rob_Player.

          pawnshop.pas changes: Removed all use of PressAkey2.
          -- pawnshop.exe code now uses PauseL ALORD process.
          -- Verified code in Shop Robbery failure event.  It
             now tells player how much exp. points they lost.
          -- Verified changes by event to Wisdom database stat.
          -- disabled use of Wisdom_Debug_Code process.

          -- Successfully relocated Evict_Player to igmunit.
          -- Successfully relocated Banish procs from pawnshop.pas
             and pstrades.pas to igmunit.
          -- Successfully relocated Disfigure procs from pawnshop.pas
             and pstrades.pas to igmunit.
          -- Successfully relocated Dragon_Gossip to igmunit.
          -- re-verified use of Gems_Theft_Message when player runs
             out of allowed Gems Theft igm event uses.
          -- re-verified use of Gold_Theft_Message when player
             runs out of allowed Steal Gold igm event uses.
          -- Added blackey codes "HEAL" and "HEALING" to direct
             wounded players to buy Spartan Potion for healing.

Sept. 07: * Brought ps-notes.txt file up-to-date.
          * revised initialize_IGM process to delete more *.??x
            data files during igm entry process.
          * recompiled pawnshop.exe.

Sept. 08: * Finished update of initialize_IGM process.
          * updated psetup.pas and pawnshop.pas.
          * recompiled primary unit files.
          * recompiled psetup.exe and pawnshop.exe.

Sept. 11: * Fixed code indentation inside pawn4.pas unit.

Sept. 12: * PSTrades: Renamed WasBanned to Was_Banned.

          * Moved KIDNAP from Pawnshop.pas to IGMUnit.
          * Moved Kidnap_Child from pstrades to igmunit.

          * Rewrote KIDNAP process to allow players to kidnap
            up to 5 kids at a time.  Fully tested new event code.

          * Recompiled PSETUP to indicate that Kidnap Uses Limit
            is also applicable to # of Kids Stolen each day.

          * recompiled pawnshop to use modified KIDNAP code.

          * Relocated all Resurrect code to IGMUnit.  Usage
            from there not verified yet.

          * Revised SHOPEDIT to v0.82 Beta, so it shows
            database record Number starting with 1, not 0.
          * compiled SHOPEDIT.exe.  Updated docs files.
          * End of morning IGM work notes.
          ================================================

          * Added Owner_Info record structure in pawnvars.inc.
            -- Two values used: LordName and NodeNum.
          * Use PS-Fight.dat for name of text file containing
            info on who is fighting the shop owner.
          * Use Battle_FN, TBattle.* vars for file access.
          * Use Battle_File text VAR for file access in
            new procs Read_Fights_File and Write_Fights_File.
            Both procs created in pstrades.pas unit.

          * First series of tests of ps-fight.dat code are
            completed.  It is working properly so far. Have
            not tested shop owner fight code again yet.

          * Lockfile.dat code in igm entry section of pawnshop.exe
            is currently disabled, with notice text added to alert
            users of the situation.  Report any glitches you run
            across to me immediately please.

          * I have used igm three times with three players where
            two were inside Pawn Shop at same time, and have not
            experienced any problems yet.  Have only tested
            situation regarding primary igm entry code to point
            where users see the Main Menu.

          * For the time being, this igm is now multi-node.
            And multi-player.  I don't know yet if all of the
            Mercenary services code will work properly now.
            Will just have to test each service and find out.

Sept. 16: * Rewrote the REPORT code block in PSETUP.PAS to
            use standard code from Gem Trader with igm for
            executing the IGM's PSETUP REPORT command.

          * Added support for using PSETUP CONFIG command,
            and for using PSETUP MAINT command.

          * Added Process_Usage_Reports proc to psetup.

          * Wrote up Automatic_IGM_Reset process but am not
            ready to test it, or to put it into use.

          * Found that if I deleted Shop owner's name from
            pawnshop.cfg, psetup /maint just happily acted
            like the shop had an owner and did normal maint
            processing.

          * At the least, Psetup needs to reset Vault Gold
            and Vault Gems to new-owner settings whenever
            it runs and vault Gold is over 1 million with
            no shop owner.

          * Edited psetup.pas - not compiled or tested yet.

** Do notes later for September 17-25 time period.

Sept. 25: * Worked on psetup.pas and psetunit.pas some.
          * Worked on pawnshop.exe code files.  Added use
            of new Write_Lord_Mail process.

            - Revised use of Write_lord_Mail with:
              Check_Vault_Stats - NOT TESTED yet.
              Theft_Failure_Mail - Fully tested.
              Theft_Success_Mail - Fully tested.
              Victim has no gems theft event - fully tested
              Victim has no bank gold theft event - fully tested

          * Revised/tested use of Negative_VaultGems_Reset
            and Negative_VaultGold_Reset processes, which are
            now using Write_Lord_Mail process.

          * Purpose of Write_Lord_Mail use is to make sure over
            time that all igm events that write to mail*.dat
            files do so in continuous operations.  That way
            Lord or another igm can't intersperse other lines
            in mail files which would look weird to the reader.

          * recompiled psetup.exe and pawnshop.exe.

          * recompiled shopedit.exe as version 0.86 beta.

Sept. 26: * Worked on making sure all of the mercenary services
            were denied properly if the requested victim is
            online in LORD.

          * found two glitches in LORD 4.07 beta.  (1) The lines
            written to mail files by LORD about players entering
            or exiting Lord are causing Lordtype to screw up.
            There is some kind of illegal character written by LORD.

            2nd glitch.  LORD 4.07 beta for unknown reason is
            turning the On_Now Lord stat to FALSE incorrectly when
            players enter Pawn Shop.

          * Corrected glitch #2 by adding code in pawnshop.pas to
            turn On_Now stat on for the current player if it is off
            when they enter the igm.

          * Can't do anything about glitch #1.  Its in LORD itself.

          * Tested services using GORDON (Current player) and BELGARION
            (second player) with Belgarion in the LORD game.

            -- BANISH, VAPORIZE, DISFIGURE, EVICT - neither allowed Gordon
            to attack Belgarion, since he was currently online.

            -- GEMS, INTERCEPT, KIDNAP, LEARN, MAIM, POISON, SPY, STEAL.
            Those were allowed, but some were not supposed to be allowed,
            where Belgarion was either in LORD or using Pawn Shop also.

          * Found out that LORD was sending players into Pawn Shop with
            the On_Now field turned off, while debugging how the Mercenary
            services were working.  Dealt with issue as listed above.

          * Fixed IGM so that when requested victim is online in Lord or
            in an igm that all of the mercenary services reject the request
            unless it is for INTERCEPT, LEARN, MAIL, or SPY.

          * Verified GEMS, KIDNAP, MAIM, POISON, and STEAL would deny access
            to requested target player when that player is online.

          * Verified that INTERCEPT, LEARN, MAIL, or SPY work when requested
            player is online.  Service is denied if victim is shop owner.

          * Verified changes to Which_Player.  Added OverRide boolean variable
            so the "Is player online" test would work properly when the INTERCEPT,
            LEARN, MAIL, or SPY services were being processed.

          * Modified all of the Which_Player commands to use TRUE/FALSE settings,
            as appropriate, in all of the Pawnshop mercenary service procedures.

          * tested changes to psetup.exe on Sunday night.
          * Tested changes to pawnshop.exe on Monday morning.

          * Psetup/Pawnshop EXE files changed to version 3.77 beta.
          * sent new igm updates to beta testers for their usage after 5:14 am.

Sept. 28: * Changed SHOPEDIT.EXE's dedication to the memory
            of Gene Autry.
          * Recompiled SHOPEDIT using v0.86 beta.
=======================================================

Oct. 01: * Updated DIZ and TXT files for new month.

Oct. 02: * Compiled Pawnshop.exe, Psetup.exe, shopedit.exe.

         * Shopedit proc name changes: Renamed DoNewDay to
           Do_NewDay. Removed negative value reset code for
           BYTE Vars PlayNum, Spartan, Shredder, Love, Fairies,
           Horses, Visits, Foul_Count, Banish_Count, Kids_Stolen,
           Poison_Count, Gems_TCount.

Oct. 03: * Recompiled SHOPEDIT, PAWNSHOP, and PSETUP for
           new month, using October 02 compile date info.
         * Shopedit changed to v0.88 beta.
         * No change in IGM version needed yet.
         * updated ps-whats.txt file.

Oct. 19: * Compiled pawnshop.exe.
         * Worked on LogLine2 constant. IGMUNIT.pas.
         * Revised Write_Lord_News process to write all news
           lines for an IGM event at one time to lognow.txt.
           Used code from Werewolf II igm for the rewrite.

         * Added NewsLine1 through NewsLine6 string vars
           in Pawn4 unit, for use by Write_Lord_News process.
         * Added Shop_News VAR in pawn4 for Write_Lord_news.

         * PAWN4: Disabled use of AddNews_LogLine process.
           - Edited Theft_Failure_News, Theft_Success_News procs.

Oct. 20: * Compiled pawnshop.exe.
         * IGMUNit. Fixed indentation - Maim_Player.
         * PAWN4: Replaced the Repair_OVer_Range_Stats process.

         * PSTRADES: Disabled Over_Range_Stats reset code block,
           until I'm ready to use it again for testing how IGM
           responds to over-range LORD stats.

Oct. 21: * Compiled psetup.exe, shopedit.exe.

Oct. 31: * Compiled Pawnshop.exe, psetup.exe.

         * Fixed IGM so it reports accurate results of vault
           robbery when player gets zero gems because they have
           32,000+ gems already, or when they get zero gold
           due to having 2 Billion Gold in Hand (or more).

         * Edited No_Target_Message process. IGMUNIT.
         * Verified Multiple Kids stolen News message. IGMUNIT

         * Verified use of Out_of_Range VAR in all mercenary
           services procedures.

         * Limited amount of Gems that can be stolen per vault
           robbery to 300 gems.

         * PSETUP.EXE: Added code to indicate that salaries
           were not paid if there is no shop owner, at ending
           of the Daily Maintenance process.

         * PSTRADES: Verified handling of over-limit values for
           Adoptions, Kidnap_uses in the Read_Limits process.

         * PSTRADES: Revised/verified code where player enters
           Zero for Kids wanted in Gems Adoption Trade event.

         * Revised code in pawnshop.scr and in PSTRADES that
           covers event where player tries to adopt kids when
           they already have 32,000 or more.

         * PSTRADES: Verified code for handling changes in
           player's LORD account number at igm entry.

========================================================
Nov. 01: * Recompiled PAWNSHOP.EXE and PSETUP.EXE.

         * Updated DIZ and TXT documentation files for new month.

         * Fixed glitch where igm failed to do automatic
           Office Ownership for player when they entered
           Office during a Claim session, where no shop
           owner previously existed.

         * Problem was that IGM was testing for Tconfig.Realname
           = '' and that was never being executed, even when
           the Real Name line in pawnshop.cfg was blank.  Fixed
           the glitch by using TConfig.RealName = ' ' test, which
           does work correctly. 

         * No change made to SHOPEDIT.EXE for new month yet.

Nov. 02: * recompiled igmunit, pawnunit, psetunit, pstrades
           unit files for new month.  No recompile of EXE files.

         * recompiled PSETUP.EXE.  Fixed Daily_Maintenance
           process to automatically delete ps-fight.dat file
           if it is found in IGM directory during Maintenance
           process.  Which is not supposed to ever be run while
           anyone is using the IGM in an IGM game session.

         * Verified use of new Daily Maint code block.  The
           ps-fight.dat was deleted by psetup.exe before it
           finished running the Maintenance process.

         * Verified Office Fight code where Wendy prevents player
           from attacking sleeping owner when they are too
           powerful.

         * When on Hate List, accessing Wendy Menu resulted in
           immediate execution of igm exit process.  Added code
           to prevent that from happening. - VERIFIED 4:59 am.

         * Rewrote pawnshop.scr dialogue used when Wendy prevents
           warrior from attacking the sleeping owner in Office.

         * Recompiled Pawnshop.exe so new changes can be tested.

         * Updated PS-Whats.txt file with Gems Vault robbery
           limit and On_Now value reset information.

         * Brought IGM work notes files fully up-to-date.

Nov. 16: * edited code related to handling On_Now stat.
         * recompiled pawn4.pas, pawnshop.pas/pawnshop.exe.

Nov. 30: * Updated documentation files for new month.

Dec. 03: * Recompiled Shopedit.exe, pawnshop.exe, and psetup.exe
           for month of December.

Dec. 13: * updated documentation files.

Dec. 15: * Worked on PSETUP.exe and Pawnshop.exe.  Add details later.

         * Replaced READ_LIMITS function with READ_LIMITS_FILE procedure.
         * Created/tested CREATE_DEFAULT_LIMITS_FILE procedure.

         * Now, when someone runs the IGM from LORD, if the pslimits.cfg
           file is missing, the IGM simply creates one with default limits
           settings.

         * Verified some situations in shop ownership claim code.

         * Recompiled & tested PSETUP.EXE and PAWNSHOP.EXE program files.

Dec. 19: * Recompiled ddansi2.pas file.  Recompiled Pawnshop.exe,
           Psetunit.pas, Pawnunit.pas, pawn4.pas, and psetup.exe
           so the Pawn Shop EXE files use current compile of
           the DDANSI2 unit - required where SHOW and SHOWLN
           procedures are used, or the ANSI_WRITE_STR function.

Dec. 27: * Edited DIZ files to update LORD 4.07 compilation date
           info if needed to refer to December 2005 instead of
           November 2005.
         * Did editing cleanup on some of the IGM's INC files.

Dec. 31: * Edited DIZ and documentation files for new year (2006)
           and for new development month (January).

Jan. 02, 2006: * Renamed TConfig.BBSName to TConfig.BBS_Name.
         * Revised pawnvars.inc file.

Jan. 03: * Recompiled Shopedit.exe as v0.94 beta.

Jan. 09: * Created CONVPAWN.EXE for usage by Pawn Shop IGM users
           to convert their existing PAWNSHOP.CFG file into the
           new PAWNSHOP.DAT igm configuration file.

         * Did complete testing of CONVPAWN v1.00.

         * Edited PSETUP.PAS and PSETUNIT.PAS to use new
           READ_CONFIG_FILE proc, instead of READ_CONFIG;
           and to use new WRITE_CONFIG_FILE proc, instead of
           WRITE_CONFIG.

         * Tested PSETUP.EXE use of Pawnshop.dat.
         * Changed PSETUP to version 3.78.0 Beta.

         * Changed PAWNSHOP.PAS, PAWN4.PAS, IGMUNIT.PAS,
           PAWNUNIT.PAS, and PSTRADES.PAS program code files
           to use READ_CONFIG_FILE and WRITE_CONFIG_FILE.

         * Tested Pawnshop.exe using pawnshop.dat. Worked fine.
         * Changed Pawnshop.exe to v3.78.0 Beta.

         * Psetup Configuration and Install processes are
           rough draft edits, and will be worked on further
           at a later date to tweak and polish them.

         * The Psetup.exe Configuration process now asks user
           for Lord Path using a different procedure, and it
           now asks user for the Sysop's LORD Handle during
           various parts of program using a new Ask_Sysop_Handle
           function.

         * Revised code in shopedit.exe and recompiled it.

         * So far, IGM seems to work fine when PSETUP /C (Config)
           and PSETUP /M (Maintenance) processes are used, and
           when IGM is accessed from LORD.

Jan. 10: * Rewrote large portion of the Configuration Menu.
           Moved more components from psetup.pas into psetunit.pas.
         * Created several ASK procedures to handle getting data
           from the user for configuring the IGM Usage Limits.
           All of the procedures were tested and work properly.
         * Created procedure LIMITS_CONFIG_MENU inside psetunit.pas
           and fully tested it.  Then moved it into Psetup.pas.
         * Deleted the old Process_IGM_Limits process, archiving
           it and other deleted disabled processes, in ps-remov.txt.
         * Changed PSETUP.EXE to version 3.79 Beta.

         * Changed the entry lines for PSETUP /C so that the contact
           information for myself and Chris MacPherson are shown
           on a separate screen from the Configuration Menu, for
           purpose of improving its look and usability.

         * Updated ps-whats.txt, pawnshop.txt, ps-notes.txt, pawnshop.diz,
           and ps-desc.sdi documentation files.

         * did not change Pawnshop.exe from usage of v3.78 Beta, since
           I have not done thorough testing of its change-over to use
           pawnshop.dat at this time.  No compilation of PAWNSHOP.EXE today.

Jan. 18: * Updated copyright data in documentation, code files.
           -- Pawnshop.exe files, Psetup.exe files,
           Shopedit.exe files, and ConvPawn.exe files.

         * Updated compilations of Pawnshop.exe and Psetup.exe.

           No update compilation done of ConvPawn or ShopEdit.

Jan. 19: * IGMUnit, Pawn4, Pawnshop, PawnUnit, Psetunit,
           PSetup, PSTrades, ShopEdit, ConvPawn - no updates done.

Jan. 20: * IGMUnit: Revised Title_Screen.  Dropped use of Scott
           Merrill, Jimmy Rose, Chris Holt, and Joe Kinjin names.
           Added Stephen Gibbs and Daryl Stout names.

Jan. 22: * Worked on CONVPAWN, PSETUP, PAWNSHOP & other code files.

Jan. 23: * Moved Pawnshop.cfg to Pawnshop.dat conversion process code
           into PSETUP.EXE.  Users run PSETUP CONVERT command in order
           to execute it, then PSETUP.EXE exits when the conversion
           process has finished.

         * IGMUnit: Edited Kidnap_Kids process.
         * Pawn4: Deleted disabled AddNews_LogLine process.
           Verified usage of Write_Lord_news.
           Deleted disabled debug code from Read_Player.
           Fixed small glitch with Write_Usage_Reports.
           Fixed then disabled Display_Data_File process.

         * Changed Pawnshop.exe and PSetup.exe to version 3.80 Beta.
         * Changed Shopedit.exe and ConvPawn.exe to Version 1.00, non-beta.

         * Fixed glitch in Psetup.exe where it was limiting Max
           Adoptions/Day limit to 500.  The actual limit is 5,000.
           Pawnshop.exe already used the correct maximum value of 5,000.

Jan. 24: * Revised pawnshop.txt, ccl-apps.txt files.

Jan. 25: * revised pawnshop.scr file.
         * Revised IGM to allow players to adopt up to 500
           kids per Gems Adoption Trade. Old limit was 100.
         * Recompiled pawnshop.exe.  v3.80 Beta.

         * Moved all of the really old update Notations out
           of the PS-WHATS.TXT file into PSWN-300.TXT file
           - covering v2.xx through v3.00 IGM work;  the
           PSWN-310.TXT - covers v3.01 - v3.10 IGM work; and
           the PSWN-340.TXT file - covers v3.11 through
           version 3.40 igm work.

         * PS-Whats.txt now only covers the update notes I've
           made since January 2005, which cover v3.41 Beta
           through the current beta version, v3.80.

         * Added PSN-Docs.zip archive inside PawnWork.zip to
           contain the PSWN*.txt documentation files.

