Changeset 81 for trunk/AI/Protocol.pas


Ignore:
Timestamp:
Jan 15, 2017, 8:05:13 PM (8 years ago)
Author:
chronos
Message:
  • Fixed: English needs to be first language list of languages in Windows installer script.
  • Modified: Update protocol and switches for AI to be same as in main application.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/AI/Protocol.pas

    r24 r81  
    909909    (adSmartWeapons, preNone, preNone)); // futMissileTechnology
    910910
    911 Imp:
    912 array [0 .. nImp - 1] of // city improvements
    913   record Kind, Preq, Cost, Maint, Expiration: integer;
     911Imp: array [0 .. nImp - 1] of // city improvements
     912record
     913  Kind: Integer;
     914  Preq: Integer;
     915  Cost: Integer;
     916  Maint: Integer;
     917  Expiration: integer;
    914918end
    915919= ((Kind: ikWonder; Preq: adMathematics; Cost: 400; Maint: 0;
     
    935939  (Kind: ikWonder; Preq: adMonotheism; Cost: 400; Maint: 0; Expiration: - 1),
    936940  // woMich
    937   (Kind: ikNA; Preq: preNA), // {11}
    938   (Kind: ikWonder; Preq: adTheoryOfGravity; Cost: 400; Maint: 0;
    939   Expiration: - 1), // woNewton
     941  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {11}
     942  (Kind: ikWonder; Preq: adTheoryOfGravity; Cost: 400; Maint: 0; Expiration: - 1), // woNewton
    940943  (Kind: ikWonder; Preq: adTheology; Cost: 400; Maint: 0; Expiration: - 1),
    941944  // woBach
    942   (Kind: ikNA; Preq: preNA), // {14}
     945  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {14}
    943946  (Kind: ikWonder; Preq: adDemocracy; Cost: 500; Maint: 0; Expiration: - 1),
    944947  // woLiberty
     
    953956  (Kind: ikWonder; Preq: adSpaceFlight; Cost: 800; Maint: 0; Expiration: - 1),
    954957  // woMir
    955   (Kind: ikNA; Preq: preNA), // {21}
    956   (Kind: ikNA; Preq: preNA), // {22}
    957   (Kind: ikNA; Preq: preNA), // {23}
    958   (Kind: ikNA; Preq: preNA), // {24}
    959   (Kind: ikNA; Preq: preNA), // {25}
    960   (Kind: ikNA; Preq: preNA), // {26}
    961   (Kind: ikNA; Preq: preNA), // {27}
    962   (Kind: ikTrGoods; Preq: preNone; Cost: 0; Maint: 0), // imTrGoods
    963   (Kind: ikCommon; Preq: adWarriorCode; Cost: 40; Maint: 1), // imBarracks
    964   (Kind: ikCommon; Preq: adPottery; Cost: 60; Maint: 1), // imGranary
    965   (Kind: ikCommon; Preq: adCeremonialBurial; Cost: 40; Maint: 1), // imTemple
    966   (Kind: ikCommon; Preq: adCurrency; Cost: 60; Maint: 1), // imMarket
    967   (Kind: ikCommon; Preq: adWriting; Cost: 80; Maint: 3), // imLibrary
    968   (Kind: ikCommon; Preq: adCodeOfLaws; Cost: 80; Maint: 2), // imCourt
    969   (Kind: ikCommon; Preq: adMasonry; Cost: 80; Maint: 1), // imWalls
    970   (Kind: ikCommon; Preq: adConstruction; Cost: 80; Maint: 1), // imAqueduct
    971   (Kind: ikCommon; Preq: adBanking; Cost: 120; Maint: 2), // imBank
    972   (Kind: ikCommon; Preq: adMonotheism; Cost: 100; Maint: 1), // imCathedral
    973   (Kind: ikCommon; Preq: adUniversity; Cost: 160; Maint: 5), // imUniversity
    974   (Kind: ikCommon; Preq: adSeafaring; Cost: 60; Maint: 1), // imHarbor
    975   (Kind: ikCommon; Preq: adPoetry; Cost: 60; Maint: 2), // imTheater
    976   (Kind: ikCommon; Preq: adIndustrialization; Cost: 200; Maint: 3), // imFactory
    977   (Kind: ikCommon; Preq: adRobotics; Cost: 320; Maint: 5), // imMfgPlant
    978   (Kind: ikCommon; Preq: adRecycling; Cost: 320; Maint: 4), // imRecycling
    979   (Kind: ikCommon; Preq: adElectricity; Cost: 120; Maint: 2), // imPower
    980   (Kind: ikCommon; Preq: adEnvironmentalism; Cost: 120; Maint: 1), // imHydro
    981   (Kind: ikCommon; Preq: adNuclearPower; Cost: 240; Maint: 2), // imNuclear
    982   (Kind: ikCommon; Preq: adRefining; Cost: 160; Maint: 2), // imPlatform
    983   (Kind: ikCommon; Preq: preNone; Cost: 40; Maint: 1), // imTownHall
    984   (Kind: ikCommon; Preq: adSanitation; Cost: 120; Maint: 2), // imSewer
    985   (Kind: ikCommon; Preq: adRefrigeration; Cost: 80; Maint: 2), // imSupermarket
    986   (Kind: ikCommon; Preq: adAutomobile; Cost: 160; Maint: 4), // imHighways
    987   (Kind: ikCommon; Preq: adComputers; Cost: 240; Maint: 7), // imResLab
    988   (Kind: ikCommon; Preq: adAdvancedRocketry; Cost: 100; Maint: 1),
     958  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {21}
     959  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {22}
     960  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {23}
     961  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {24}
     962  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {25}
     963  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {26}
     964  (Kind: ikNA; Preq: preNA; Cost: 0; Maint: 0; Expiration: 0), // {27}
     965  (Kind: ikTrGoods; Preq: preNone; Cost: 0; Maint: 0; Expiration: 0), // imTrGoods
     966  (Kind: ikCommon; Preq: adWarriorCode; Cost: 40; Maint: 1; Expiration: 0), // imBarracks
     967  (Kind: ikCommon; Preq: adPottery; Cost: 60; Maint: 1; Expiration: 0), // imGranary
     968  (Kind: ikCommon; Preq: adCeremonialBurial; Cost: 40; Maint: 1; Expiration: 0), // imTemple
     969  (Kind: ikCommon; Preq: adCurrency; Cost: 60; Maint: 1; Expiration: 0), // imMarket
     970  (Kind: ikCommon; Preq: adWriting; Cost: 80; Maint: 3; Expiration: 0), // imLibrary
     971  (Kind: ikCommon; Preq: adCodeOfLaws; Cost: 80; Maint: 2; Expiration: 0), // imCourt
     972  (Kind: ikCommon; Preq: adMasonry; Cost: 80; Maint: 1; Expiration: 0), // imWalls
     973  (Kind: ikCommon; Preq: adConstruction; Cost: 80; Maint: 1; Expiration: 0), // imAqueduct
     974  (Kind: ikCommon; Preq: adBanking; Cost: 120; Maint: 2; Expiration: 0), // imBank
     975  (Kind: ikCommon; Preq: adMonotheism; Cost: 100; Maint: 1; Expiration: 0), // imCathedral
     976  (Kind: ikCommon; Preq: adUniversity; Cost: 160; Maint: 5; Expiration: 0), // imUniversity
     977  (Kind: ikCommon; Preq: adSeafaring; Cost: 60; Maint: 1; Expiration: 0), // imHarbor
     978  (Kind: ikCommon; Preq: adPoetry; Cost: 60; Maint: 2; Expiration: 0), // imTheater
     979  (Kind: ikCommon; Preq: adIndustrialization; Cost: 200; Maint: 3; Expiration: 0), // imFactory
     980  (Kind: ikCommon; Preq: adRobotics; Cost: 320; Maint: 5; Expiration: 0), // imMfgPlant
     981  (Kind: ikCommon; Preq: adRecycling; Cost: 320; Maint: 4; Expiration: 0), // imRecycling
     982  (Kind: ikCommon; Preq: adElectricity; Cost: 120; Maint: 2; Expiration: 0), // imPower
     983  (Kind: ikCommon; Preq: adEnvironmentalism; Cost: 120; Maint: 1; Expiration: 0), // imHydro
     984  (Kind: ikCommon; Preq: adNuclearPower; Cost: 240; Maint: 2; Expiration: 0), // imNuclear
     985  (Kind: ikCommon; Preq: adRefining; Cost: 160; Maint: 2; Expiration: 0), // imPlatform
     986  (Kind: ikCommon; Preq: preNone; Cost: 40; Maint: 1; Expiration: 0), // imTownHall
     987  (Kind: ikCommon; Preq: adSanitation; Cost: 120; Maint: 2; Expiration: 0), // imSewer
     988  (Kind: ikCommon; Preq: adRefrigeration; Cost: 80; Maint: 2; Expiration: 0), // imSupermarket
     989  (Kind: ikCommon; Preq: adAutomobile; Cost: 160; Maint: 4; Expiration: 0), // imHighways
     990  (Kind: ikCommon; Preq: adComputers; Cost: 240; Maint: 7; Expiration: 0), // imResLab
     991  (Kind: ikCommon; Preq: adAdvancedRocketry; Cost: 100; Maint: 1; Expiration: 0),
    989992  // imMissileBat
    990   (Kind: ikCommon; Preq: adMetallurgy; Cost: 80; Maint: 1), // imCoastalFort
    991   (Kind: ikCommon; Preq: adAdvancedFlight; Cost: 160; Maint: 1), // imAirport
    992   (Kind: ikCommon; Preq: adAmphibiousWarfare; Cost: 80; Maint: 1), // imDockyard
    993   (Kind: ikNatLocal; Preq: preNone; Cost: 100; Maint: 0), // imPalace
    994   (Kind: ikNatLocal; Preq: adEngineering; Cost: 400; Maint: 4), // imGrWall
    995   (Kind: ikNatLocal; Preq: adConstruction; Cost: 200; Maint: 4), // imColosseum
    996   (Kind: ikNatLocal; Preq: adAstronomy; Cost: 300; Maint: 4), // imObservatory
    997   (Kind: ikNatLocal; Preq: adTactics; Cost: 100; Maint: 4), // imMilAcademy
    998   (Kind: ikNatLocal; Preq: adSteel; Cost: 200; Maint: 2), // imBunker
    999   (Kind: ikNatLocal; Preq: adSyntheticFood; Cost: 120; Maint: 2), // imAlgae
    1000   (Kind: ikNatGlobal; Preq: adTheCorporation; Cost: 320; Maint: 4), // imStockEx
    1001   (Kind: ikNatLocal; Preq: adSpaceFlight; Cost: 400; Maint: 0), // imSpacePort
    1002   (Kind: ikShipPart; Preq: adTransstellarColonization; Cost: 240; Maint: 0),
     993  (Kind: ikCommon; Preq: adMetallurgy; Cost: 80; Maint: 1; Expiration: 0), // imCoastalFort
     994  (Kind: ikCommon; Preq: adAdvancedFlight; Cost: 160; Maint: 1; Expiration: 0), // imAirport
     995  (Kind: ikCommon; Preq: adAmphibiousWarfare; Cost: 80; Maint: 1; Expiration: 0), // imDockyard
     996  (Kind: ikNatLocal; Preq: preNone; Cost: 100; Maint: 0; Expiration: 0), // imPalace
     997  (Kind: ikNatLocal; Preq: adEngineering; Cost: 400; Maint: 4; Expiration: 0), // imGrWall
     998  (Kind: ikNatLocal; Preq: adConstruction; Cost: 200; Maint: 4; Expiration: 0), // imColosseum
     999  (Kind: ikNatLocal; Preq: adAstronomy; Cost: 300; Maint: 4; Expiration: 0), // imObservatory
     1000  (Kind: ikNatLocal; Preq: adTactics; Cost: 100; Maint: 4; Expiration: 0), // imMilAcademy
     1001  (Kind: ikNatLocal; Preq: adSteel; Cost: 200; Maint: 2; Expiration: 0), // imBunker
     1002  (Kind: ikNatLocal; Preq: adSyntheticFood; Cost: 120; Maint: 2; Expiration: 0), // imAlgae
     1003  (Kind: ikNatGlobal; Preq: adTheCorporation; Cost: 320; Maint: 4; Expiration: 0), // imStockEx
     1004  (Kind: ikNatLocal; Preq: adSpaceFlight; Cost: 400; Maint: 0; Expiration: 0), // imSpacePort
     1005  (Kind: ikShipPart; Preq: adTransstellarColonization; Cost: 240; Maint: 0; Expiration: 0),
    10031006  // imShipComp
    1004   (Kind: ikShipPart; Preq: adImpulseDrive; Cost: 600; Maint: 0), // imShipPow
    1005   (Kind: ikShipPart; Preq: adSelfContainedEnvironment; Cost: 800; Maint: 0));
     1007  (Kind: ikShipPart; Preq: adImpulseDrive; Cost: 600; Maint: 0; Expiration: 0), // imShipPow
     1008  (Kind: ikShipPart; Preq: adSelfContainedEnvironment; Cost: 800; Maint: 0; Expiration: 0));
    10061009// imShipHab
    10071010
    10081011nImpReplacement = 5;
    1009 ImpReplacement:
    1010 array [0 .. nImpReplacement - 1] of record NewImp, OldImp: integer;
     1012ImpReplacement: array [0 .. nImpReplacement - 1] of record
     1013  NewImp: Integer;
     1014  OldImp: Integer;
    10111015end
    10121016= ((NewImp: imSewer; OldImp: imAqueduct), (NewImp: imCourt; OldImp: imTownHall),
     
    10191023spPow = 1;
    10201024spHab = 2;
    1021 ShipNeed:
    1022 array [0 .. nShipPart - 1] of integer = (6, 4, 2);
    1023 ShipImpIndex:
    1024 array [0 .. nShipPart - 1] of integer = (imShipComp, imShipPow, imShipHab);
    1025 
    1026 GovPreq:
    1027 array [1 .. nGov - 1] of integer = { government prerequisites }
     1025ShipNeed: array [0 .. nShipPart - 1] of integer = (6, 4, 2);
     1026ShipImpIndex: array [0 .. nShipPart - 1] of integer = (imShipComp, imShipPow, imShipHab);
     1027
     1028GovPreq: array [1 .. nGov - 1] of integer = { government prerequisites }
    10281029  (preNone, adMonarchy, adTheRepublic, adTheology, adCommunism, adDemocracy,
    10291030  adInternet);
    10301031
    1031 AgePreq:
    1032 array [1 .. 3] of integer = (adScience, adMassProduction,
     1032AgePreq: array [1 .. 3] of integer = (adScience, adMassProduction,
    10331033  adTransstellarColonization);
    10341034
    1035 Terrain:
    1036 array [0 .. 11] of record MoveCost, Defense, ClearTerrain, IrrEff, IrrClearWork,
    1037   AfforestTerrain, MineEff, MineAfforestWork, TransTerrain, TransWork: integer;
    1038 FoodRes, ProdRes, TradeRes: array [0 .. 2] of integer;
    1039 Filler:
    1040 array [0 .. 12] of integer;
     1035Terrain: array [0 .. 11] of record
     1036  MoveCost: Integer;
     1037  Defense: Integer;
     1038  ClearTerrain: Integer;
     1039  IrrEff: Integer;
     1040  IrrClearWork: Integer;
     1041  AfforestTerrain: Integer;
     1042  MineEff: Integer;
     1043  MineAfforestWork: Integer;
     1044  TransTerrain: Integer;
     1045  TransWork: Integer;
     1046  FoodRes, ProdRes, TradeRes: array [0 .. 2] of Integer;
     1047  Filler: array [0 .. 12] of Integer;
    10411048end
    10421049= ((MoveCost: 1; Defense: 4; ClearTerrain: - 1; IrrEff: 0; IrrClearWork: 0;
    10431050  AfforestTerrain: - 1; MineEff: 0; MineAfforestWork: 0; TransTerrain: - 1;
    10441051  TransWork: 0; FoodRes: (0, 0, 0); ProdRes: (0, 0, 0);
    1045   TradeRes: (0, 0, 0)), { Ocn }
     1052  TradeRes: (0, 0, 0); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Ocn }
    10461053  (MoveCost: 1; Defense: 4; ClearTerrain: - 1; IrrEff: 0; IrrClearWork: 0;
    10471054  AfforestTerrain: - 1; MineEff: 0; MineAfforestWork: 0; TransTerrain: - 1;
    10481055  TransWork: 0; FoodRes: (1, 5, 1); ProdRes: (0, 0, 5);
    1049   TradeRes: (3, 3, 3)), { Sho }
     1056  TradeRes: (3, 3, 3); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Sho }
    10501057  (MoveCost: 1; Defense: 4; ClearTerrain: - 1; IrrEff: 1; IrrClearWork: 600;
    10511058  AfforestTerrain: fForest; MineEff: 0; MineAfforestWork: 1800;
    10521059  TransTerrain: fHills; TransWork: 3000; FoodRes: (3, 2, 2); ProdRes: (0, 1, 0);
    1053   TradeRes: (1, 1, 1)), { Gra }
     1060  TradeRes: (1, 1, 1); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Gra }
    10541061  (MoveCost: 1; Defense: 4; ClearTerrain: fGrass; IrrEff: 0; IrrClearWork: 1800;
    10551062  AfforestTerrain: - 1; MineEff: 1; MineAfforestWork: 600;
    10561063  TransTerrain: fPrairie; TransWork: 3000; FoodRes: (0, 3, 0);
    1057   ProdRes: (1, 1, 4); TradeRes: (1, 1, 1)), { Dst }
     1064  ProdRes: (1, 1, 4); TradeRes: (1, 1, 1); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Dst }
    10581065  (MoveCost: 1; Defense: 4; ClearTerrain: - 1; IrrEff: 1; IrrClearWork: 600;
    10591066  AfforestTerrain: fForest; MineEff: 0; MineAfforestWork: 2400;
    10601067  TransTerrain: - 1; TransWork: 0; FoodRes: (1, 3, 1); ProdRes: (1, 1, 3);
    1061   TradeRes: (1, 1, 1)), { Pra }
     1068  TradeRes: (1, 1, 1); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Pra }
    10621069  (MoveCost: 1; Defense: 4; ClearTerrain: - 1; IrrEff: 1; IrrClearWork: 600;
    10631070  AfforestTerrain: - 1; MineEff: 0; MineAfforestWork: 0; TransTerrain: fGrass;
    10641071  TransWork: 3000; FoodRes: (1, 1, 1); ProdRes: (0, 0, 4);
    1065   TradeRes: (1, 6, 1)), { Tun }
     1072  TradeRes: (1, 6, 1); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Tun }
    10661073  (MoveCost: 2; Defense: 4; ClearTerrain: - 1; IrrEff: 0; IrrClearWork: 0;
    10671074  AfforestTerrain: - 1; MineEff: 3; MineAfforestWork: 1800; TransTerrain: - 1;
    10681075  TransWork: 0; FoodRes: (0, 3, 0); ProdRes: (1, 1, 0);
    1069   TradeRes: (0, 4, 0)), { Arc }
     1076  TradeRes: (0, 4, 0); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Arc }
    10701077  (MoveCost: 2; Defense: 6; ClearTerrain: fGrass; IrrEff: 0; IrrClearWork: 2400;
    10711078  AfforestTerrain: fForest; MineEff: 0; MineAfforestWork: 2400;
    10721079  TransTerrain: fHills; TransWork: 3000; FoodRes: (1, 1, 1); ProdRes: (0, 4, 1);
    1073   TradeRes: (1, 1, 5)), { Swa }
    1074   (), { - }
     1080  TradeRes: (1, 1, 5); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Swa }
     1081  (MoveCost: 0; Defense: 0; ClearTerrain: 0; IrrEff: 0;
     1082  IrrClearWork: 0; AfforestTerrain: 0; MineEff: 0; MineAfforestWork: 0;
     1083  TransTerrain: 0; TransWork: 0; FoodRes: (0, 0, 0); ProdRes: (0, 0, 0);
     1084  TradeRes: (0, 0, 0); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { - }
    10751085  (MoveCost: 2; Defense: 6; ClearTerrain: fPrairie; IrrEff: 0;
    10761086  IrrClearWork: 600; AfforestTerrain: - 1; MineEff: 0; MineAfforestWork: 0;
    10771087  TransTerrain: - 1; TransWork: 0; FoodRes: (1, 3, 1); ProdRes: (2, 2, 2);
    1078   TradeRes: (1, 1, 4)), { For }
     1088  TradeRes: (1, 1, 4); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { For }
    10791089  (MoveCost: 2; Defense: 8; ClearTerrain: - 1; IrrEff: 1; IrrClearWork: 600;
    10801090  AfforestTerrain: - 1; MineEff: 3; MineAfforestWork: 1200;
    10811091  TransTerrain: fGrass; TransWork: 6000; FoodRes: (1, 1, 1); ProdRes: (0, 0, 2);
    1082   TradeRes: (0, 4, 0)), { Hil }
     1092  TradeRes: (0, 4, 0); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), { Hil }
    10831093  (MoveCost: 3; Defense: 12; ClearTerrain: - 1; IrrEff: 0; IrrClearWork: 0;
    10841094  AfforestTerrain: - 1; MineEff: 2; MineAfforestWork: 1200; TransTerrain: - 1;
    10851095  TransWork: 0; FoodRes: (0, 0, 0); ProdRes: (1, 4, 1);
    1086   TradeRes: (0, 0, 7))); { Mou }
     1096  TradeRes: (0, 0, 7); Filler: (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0))); { Mou }
    10871097
    10881098// settler work required MP
     
    11041114nUpgrade = 15;
    11051115upgrade:
    1106 array [0 .. nDomains - 1, 0 .. nUpgrade - 1] of record Preq, Strength, Trans,
    1107   Cost: integer
     1116array [0 .. nDomains - 1, 0 .. nUpgrade - 1] of record
     1117  Preq: Integer;
     1118  Strength: Integer;
     1119  Trans: Integer;
     1120  Cost: integer;
    11081121end
    1109 = (((Preq: adWarriorCode; Strength: 4; Trans: 0;
    1110   Cost: 3), (Preq: adBronzeWorking; Strength: 2; Trans: 0;
    1111   Cost: 4), (Preq: adIronWorking; Strength: 2; Trans: 0;
    1112   Cost: 5), (Preq: adChivalry; Strength: 2; Trans: 0;
    1113   Cost: 5), (Preq: adMonotheism; Strength: 3; Trans: 0;
    1114   Cost: 7), (Preq: adGunpowder; Strength: 3; Trans: 0;
    1115   Cost: 8), (Preq: adExplosives; Strength: 4; Trans: 0;
    1116   Cost: 9), (Preq: adTactics; Strength: 5; Trans: 0; Cost: 10), (Preq: adRadio;
    1117   Strength: 6; Trans: 0; Cost: 11), (Preq: adDemocracy; Strength: 6; Trans: 0;
    1118   Cost: 5), (Preq: adMobileWarfare; Strength: 7; Trans: 0;
    1119   Cost: 12), (Preq: adRobotics; Strength: 8; Trans: 0;
    1120   Cost: 15), (Preq: adComposites; Strength: 8; Trans: 0;
    1121   Cost: 15), (Preq: adTheLaser; Strength: 8; Trans: 0;
    1122   Cost: 14), (Preq: futMaterialTechnology; Strength: 10; Trans: 0; Cost: 2)),
    1123   ((Preq: adMapMaking; Strength: 4; Trans: 1; Cost: 8), (Preq: adNavigation;
    1124   Strength: 4; Trans: 0; Cost: 10), (Preq: adEngineering; Strength: 0; Trans: 1;
    1125   Cost: 8), (Preq: adGunpowder; Strength: 8; Trans: 0;
    1126   Cost: 12), (Preq: adMagnetism; Strength: 12; Trans: 1;
    1127   Cost: 20), (Preq: adExplosives; Strength: 16; Trans: 0;
    1128   Cost: 24), (Preq: adSteamEngine; Strength: 24; Trans: 0;
    1129   Cost: 28), (Preq: adAmphibiousWarfare; Strength: 24; Trans: 1;
    1130   Cost: 18), (Preq: adAdvancedRocketry; Strength: 32; Trans: 0;
    1131   Cost: 38), (Preq: futMaterialTechnology; Strength: 14; Trans: 0;
    1132   Cost: 4), (Preq: futArtificialIntelligence; Strength: 14; Trans: 0;
    1133   Cost: 4), (Preq: preNA), (Preq: preNA), (Preq: preNA), (Preq: preNA)),
    1134   ((Preq: adFlight; Strength: 12; Trans: 1; Cost: 14), (Preq: adTactics;
    1135   Strength: 6; Trans: 0; Cost: 17), (Preq: adElectronics; Strength: 6; Trans: 0;
    1136   Cost: 20), (Preq: adMin; Strength: 8; Trans: 0; Cost: 24),
    1137   (Preq: adComposites; Strength: 8; Trans: 0; Cost: 26), (Preq: adSmartWeapons;
    1138   Strength: 11; Trans: 0; Cost: 32), (Preq: futArtificialIntelligence;
    1139   Strength: 7; Trans: 0; Cost: 4), (Preq: preNA), (Preq: preNA), (Preq: preNA),
    1140   (Preq: preNA), (Preq: preNA), (Preq: preNA), (Preq: preNA), (Preq: preNA)));
     1122= (((Preq: adWarriorCode; Strength: 4; Trans: 0; Cost: 3),
     1123  (Preq: adBronzeWorking; Strength: 2; Trans: 0; Cost: 4),
     1124  (Preq: adIronWorking; Strength: 2; Trans: 0; Cost: 5),
     1125  (Preq: adChivalry; Strength: 2; Trans: 0; Cost: 5),
     1126  (Preq: adMonotheism; Strength: 3; Trans: 0; Cost: 7),
     1127  (Preq: adGunpowder; Strength: 3; Trans: 0; Cost: 8),
     1128  (Preq: adExplosives; Strength: 4; Trans: 0; Cost: 9),
     1129  (Preq: adTactics; Strength: 5; Trans: 0; Cost: 10),
     1130  (Preq: adRadio; Strength: 6; Trans: 0; Cost: 11),
     1131  (Preq: adDemocracy; Strength: 6; Trans: 0; Cost: 5),
     1132  (Preq: adMobileWarfare; Strength: 7; Trans: 0; Cost: 12),
     1133  (Preq: adRobotics; Strength: 8; Trans: 0; Cost: 15),
     1134  (Preq: adComposites; Strength: 8; Trans: 0; Cost: 15),
     1135  (Preq: adTheLaser; Strength: 8; Trans: 0; Cost: 14),
     1136  (Preq: futMaterialTechnology; Strength: 10; Trans: 0; Cost: 2)),
     1137  ((Preq: adMapMaking; Strength: 4; Trans: 1; Cost: 8),
     1138  (Preq: adNavigation; Strength: 4; Trans: 0; Cost: 10),
     1139  (Preq: adEngineering; Strength: 0; Trans: 1; Cost: 8),
     1140  (Preq: adGunpowder; Strength: 8; Trans: 0; Cost: 12),
     1141  (Preq: adMagnetism; Strength: 12; Trans: 1; Cost: 20),
     1142  (Preq: adExplosives; Strength: 16; Trans: 0; Cost: 24),
     1143  (Preq: adSteamEngine; Strength: 24; Trans: 0; Cost: 28),
     1144  (Preq: adAmphibiousWarfare; Strength: 24; Trans: 1; Cost: 18),
     1145  (Preq: adAdvancedRocketry; Strength: 32; Trans: 0; Cost: 38),
     1146  (Preq: futMaterialTechnology; Strength: 14; Trans: 0; Cost: 4),
     1147  (Preq: futArtificialIntelligence; Strength: 14; Trans: 0; Cost: 4),
     1148  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1149  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1150  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1151  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0)),
     1152  ((Preq: adFlight; Strength: 12; Trans: 1; Cost: 14),
     1153  (Preq: adTactics; Strength: 6; Trans: 0; Cost: 17),
     1154  (Preq: adElectronics; Strength: 6; Trans: 0; Cost: 20),
     1155  (Preq: adMin; Strength: 8; Trans: 0; Cost: 24),
     1156  (Preq: adComposites; Strength: 8; Trans: 0; Cost: 26),
     1157  (Preq: adSmartWeapons; Strength: 11; Trans: 0; Cost: 32),
     1158  (Preq: futArtificialIntelligence; Strength: 7; Trans: 0; Cost: 4),
     1159  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1160  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1161  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1162  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1163  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1164  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1165  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0),
     1166  (Preq: preNA; Strength: 0; Trans: 0; Cost: 0)));
    11411167
    11421168{ model features }
     
    11701196mcLine = 26;
    11711197mcFirstNonCap = mcNav;
    1172 AutoFeature:
    1173 Set of mcFirstNonCap .. nFeature - 1 = [mcNav, mcSE, mcNP, mcJet, mcAcademy];
     1198AutoFeature: set of mcFirstNonCap .. nFeature - 1 = [mcNav, mcSE, mcNP, mcJet,
     1199  mcAcademy];
    11741200// unit class advances, automatically applied if available
    11751201
    1176 Feature:
    1177 array [0 .. nFeature - 1] of { unit model features }
     1202Feature: array [0 .. nFeature - 1] of { unit model features }
    11781203  record Domains, Preq, Weight, Cost: integer;
    11791204end
     
    12061231  (Domains: 7; Preq: adMassProduction; Weight: 0; Cost: 0)); { mcLine }
    12071232
    1208 WeightPreq7:
    1209 array [0 .. nDomains - 1] of integer = (adHorsebackRiding, adSeafaring,
     1233WeightPreq7: array [0 .. nDomains - 1] of integer = (adHorsebackRiding, adSeafaring,
    12101234  adAdvancedFlight);
    1211 WeightPreq10:
    1212 array [0 .. nDomains - 1] of integer = (adAutomobile, adSteel, preNA);
     1235WeightPreq10: array [0 .. nDomains - 1] of integer = (adAutomobile, adSteel, preNA);
    12131236
    12141237INFIN = 999999;
     
    13071330    Exp, { micro experience, the level is Exp div ExpCost }
    13081331    Load: Byte; { number of transported units }
    1309     Flags: word end;
    1310 
    1311     TCityInfo = packed record Loc, Status, // free for AI use
     1332    Flags: word;
     1333  end;
     1334
     1335  TCityInfo = packed record
     1336    Loc, Status, // free for AI use
    13121337    SavedStatus: LongInt; // for server internal use only
    13131338    Owner, // last known owner, even if not alive anymore!
     
    13721397
    13731398  TTileInfo = record
    1374     Food, Prod, Trade, ExplCity: integer end;
    1375     TCityReport = record HypoTiles, HypoTax, HypoLux, Working, Happy, FoodRep,
     1399    Food, Prod, Trade, ExplCity: integer;
     1400  end;
     1401
     1402  TCityReport = record
     1403    HypoTiles, HypoTax, HypoLux, Working, Happy, FoodRep,
    13761404      ProdRep, Trade, PollRep, Corruption, Tax, Lux, Science, Support, Eaten,
    13771405      ProdCost, Storage, Deployed: integer;
     
    14061434  TGetCityData = record
    14071435    Owner: integer;
    1408     c: TCity end;
    1409     TCityAreaInfo = record Available: array [0 .. 26] of integer;
     1436    c: TCity;
     1437  end;
     1438
     1439  TCityAreaInfo = record
     1440    Available: array [0 .. 26] of integer;
    14101441  end;
    14111442
     
    14141445  end;
    14151446
    1416   TJobProgressData = array [0 .. nJob - 1] of record Required, Done,
     1447  TJobProgressData = array [0 .. nJob - 1] of record
     1448    Required, Done,
    14171449    NextTurnPlus: integer;
    14181450  end;
     
    14341466    Ship1Change, Ship2Change: array [0 .. nShipPart - 1] of integer;
    14351467  end;
    1436   TOffer = record nDeliver, nCost: integer;
     1468  TOffer = record
     1469    nDeliver, nCost: integer;
    14371470    Price: array [0 .. 11] of Cardinal;
    14381471  end;
     
    16001633
    16011634procedure MakeUnitInfo(p: integer; const u: TUn; var ui: TUnitInfo);
    1602   procedure MakeModelInfo(p, mix: integer; const m: TModel; var mi: TModelInfo);
    1603     function IsSameModel(const mi1, mi2: TModelInfo): boolean;
    1604       function SpecialTile(Loc, TerrType, lx: integer): integer;
     1635procedure MakeModelInfo(p, mix: integer; const m: TModel; var mi: TModelInfo);
     1636function IsSameModel(const mi1, mi2: TModelInfo): boolean;
     1637function SpecialTile(Loc, TerrType, lx: integer): integer;
    16051638
    16061639implementation
Note: See TracChangeset for help on using the changeset viewer.