using System; using System.Collections.Generic; namespace CevoAILib { /// /// INTERNAL - only use from CevoAILib classes! /// static class Protocol { public const int nPl = 15; public const int nJob = 15; public const int unFortified = 0x01; public const int unBombsLoaded = 0x02; public const int unMountainDelay = 0x04; public const int unConscripts = 0x08; public const int unWithdrawn = 0x10; public const int unMulti = 0x80; public const int mdZOC = 0x01; public const int mdCivil = 0x02; public const int mdDoubleSupport = 0x04; public const int ciCapital = 0x01; public const int ciWalled = 0x02; public const int ciCoastalFort = 0x04; public const int ciMissileBat = 0x08; public const int ciBunker = 0x10; public const int ciSpacePort = 0x20; public const int sExecute = 0x4000; // {call command-sExecute to request return value without execution} // Info Request Commands public const int sMessage = 0x0000; public const int sSetDebugMap = 0x0010; public const int sRefreshDebugMap = 0x0040; public const int sGetChart = 0x0100; // + type shl 4 public const int sGetTechCost = 0x0180; public const int sGetTileInfo = 0x0200; public const int sGetCityTileInfo = 0x0210; public const int sGetHypoCityTileInfo = 0x0220; public const int sGetJobProgress = 0x0230; public const int sGetModels = 0x0270; public const int sGetUnits = 0x0280; public const int sGetDefender = 0x0290; public const int sGetBattleForecast = 0x02A0; public const int sGetUnitReport = 0x02B0; public const int sGetMoveAdvice = 0x02C0; public const int sGetPlaneReturn = 0x02D0; public const int sGetBattleForecastEx = 0x02E0; public const int sGetCity = 0x0300; public const int sGetCityReport = 0x0310; public const int sGetCityAreaInfo = 0x0320; public const int sGetEnemyCityReport = 0x0330; public const int sGetEnemyCityAreaInfo = 0x0340; public const int sGetCityTileAdvice = 0x0350; public const int sGetCityReportNew = 0x0360; public const int sGetEnemyCityReportNew = 0x0370; // Client Deactivation Commands public const int sTurn = 0x4800; public const int sSetGovernment = 0x5100; public const int sSetRates = 0x5110; public const int sRevolution = 0x5120; public const int sSetResearch = 0x5200; public const int sStealTech = 0x5210; public const int sSetAttitude = 0x5300; // + concerned player shl 4 public const int sCancelTreaty = 0x5400; // Model Related Commands public const int sCreateDevModel = 0x5800; public const int sSetDevModelCap = 0x5C00; // {+value shl 4} // Unit Related Commands public const int sRemoveUnit = 0x6000; public const int sSetUnitHome = 0x6010; public const int sSetSpyMission = 0x6100; // + mission shl 4 public const int sLoadUnit = 0x6200; public const int sUnloadUnit = 0x6210; public const int sSelectTransport = 0x6220; public const int sMoveUnit = 0x6400; // {+dx and 7 shl 4 +dy and 7 shl 7} // Settlers Related Commands public const int sctSettlers = 0x2800; public const int sAddToCity = 0x6810; public const int sStartJob = 0x6C00; // {+job shl 4} // City Related Commands public const int sSetCityProject = 0x7001; public const int sBuyCityProject = 0x7010; public const int sSellCityProject = 0x7020; public const int sSellCityImprovement = 0x7101; public const int sRebuildCityImprovement = 0x7111; public const int sSetCityTiles = 0x7201; public const int cInitModule = 0x0000; public const int cReleaseModule = 0x0100; public const int cNewGame = 0x0800; public const int cLoadGame = 0x0810; public const int cGetReady = 0x08F0; public const int cBreakGame = 0x0900; public const int cTurn = 0x2000; public const int cResume = 0x2010; public const int cContinue = 0x2080; public const int cShowAfterMove = 0x3040; public const int cShowAfterAttack = 0x3050; public const int cShowCityChanged = 0x3090; public const int cShowMoving = 0x3140; public const int cShowCapturing = 0x3150; public const int cShowAttacking = 0x3240; public const int cShowEndContact = 0x3810; public const int scContact = 0x4900; public const int scReject = 0x4A00; public const int scDipStart = 0x4B00; public const int scDipNotice = 0x4B10; public const int scDipAccept = 0x4B20; public const int scDipCancelTreaty = 0x4B30; public const int scDipOffer = 0x4B4E; public const int scDipBreak = 0x4BF0; public const int opChoose = 0x00000000; public const int opCivilReport = 0x11000000; // + turn + concerned nation shl 16 public const int opMilReport = 0x12000000; // + turn + concerned nation shl 16 public const int opMap = 0x1F000000; public const int opTreaty = 0x20000000; // + suggested nation treaty public const int opShipParts = 0x30000000; // + number + part type shl 16 public const int opMoney = 0x40000000; // + value public const int opTech = 0x50000000; // + advance public const int opAllTech = 0x51000000; public const int opModel = 0x58000000; // + model index public const int opAllModel = 0x59000000; public const int opMask = 0x7F000000; public const int rExecuted = 0x40000000; public const int rEffective = 0x20000000; public const int rUnitRemoved = 0x10000000; public const int rEnemySpotted = 0x08000000; public const int eEnemyDestroyed = 0x05; public const int mcFirstNonCap = 9; public const int cpIndex = 0x1FF; public const int cpConscripts = 0x200; public const int cpDisbandCity = 0x400; public const int cpImp = 0x800; public const int phStealTech = 0x02; } /// /// INTERNAL - only use from CevoAILib classes! /// static class ROReadPoint { public const int TestFlags = 25; public const int DevModel = 44; public const int Tech = 61; public const int Attitude = 85; public const int Wonder = 160; public const int Ship = 216; public const int NatBuilt = 261; public const int nBattleHistory = 272; public const int OracleIncome = 290; public const int SizeOfUn = 8; public const int SizeOfUnitInfo = 4; public const int SizeOfCity = 28; public const int SizeOfCityInfo = 5; public const int SizeOfModel = 17; public const int SizeOfModelInfo = 7; } }