source: branches/AlphaChannel/AI Template/Project/Lib/Protocol.cs

Last change on this file was 191, checked in by chronos, 5 years ago
  • Added: AI Template directory with manual for development of custom AI from original game.
File size: 6.3 KB
Line 
1using System;
2using System.Collections.Generic;
3
4namespace CevoAILib
5{
6 /// <summary>
7 /// INTERNAL - only use from CevoAILib classes!
8 /// </summary>
9 static class Protocol
10 {
11 public const int nPl = 15;
12 public const int nJob = 15;
13
14 public const int unFortified = 0x01;
15 public const int unBombsLoaded = 0x02;
16 public const int unMountainDelay = 0x04;
17 public const int unConscripts = 0x08;
18 public const int unWithdrawn = 0x10;
19 public const int unMulti = 0x80;
20
21 public const int mdZOC = 0x01;
22 public const int mdCivil = 0x02;
23 public const int mdDoubleSupport = 0x04;
24
25 public const int ciCapital = 0x01;
26 public const int ciWalled = 0x02;
27 public const int ciCoastalFort = 0x04;
28 public const int ciMissileBat = 0x08;
29 public const int ciBunker = 0x10;
30 public const int ciSpacePort = 0x20;
31
32 public const int sExecute = 0x4000; // {call command-sExecute to request return value without execution}
33
34 // Info Request Commands
35 public const int sMessage = 0x0000;
36 public const int sSetDebugMap = 0x0010;
37 public const int sRefreshDebugMap = 0x0040;
38 public const int sGetChart = 0x0100; // + type shl 4
39 public const int sGetTechCost = 0x0180;
40 public const int sGetTileInfo = 0x0200;
41 public const int sGetCityTileInfo = 0x0210;
42 public const int sGetHypoCityTileInfo = 0x0220;
43 public const int sGetJobProgress = 0x0230;
44 public const int sGetModels = 0x0270;
45 public const int sGetUnits = 0x0280;
46 public const int sGetDefender = 0x0290;
47 public const int sGetBattleForecast = 0x02A0;
48 public const int sGetUnitReport = 0x02B0;
49 public const int sGetMoveAdvice = 0x02C0;
50 public const int sGetPlaneReturn = 0x02D0;
51 public const int sGetBattleForecastEx = 0x02E0;
52 public const int sGetCity = 0x0300;
53 public const int sGetCityReport = 0x0310;
54 public const int sGetCityAreaInfo = 0x0320;
55 public const int sGetEnemyCityReport = 0x0330;
56 public const int sGetEnemyCityAreaInfo = 0x0340;
57 public const int sGetCityTileAdvice = 0x0350;
58 public const int sGetCityReportNew = 0x0360;
59 public const int sGetEnemyCityReportNew = 0x0370;
60
61 // Client Deactivation Commands
62 public const int sTurn = 0x4800;
63
64 public const int sSetGovernment = 0x5100;
65 public const int sSetRates = 0x5110;
66 public const int sRevolution = 0x5120;
67 public const int sSetResearch = 0x5200;
68 public const int sStealTech = 0x5210;
69 public const int sSetAttitude = 0x5300; // + concerned player shl 4
70 public const int sCancelTreaty = 0x5400;
71
72 // Model Related Commands
73 public const int sCreateDevModel = 0x5800;
74 public const int sSetDevModelCap = 0x5C00; // {+value shl 4}
75
76 // Unit Related Commands
77 public const int sRemoveUnit = 0x6000;
78 public const int sSetUnitHome = 0x6010;
79 public const int sSetSpyMission = 0x6100; // + mission shl 4
80 public const int sLoadUnit = 0x6200;
81 public const int sUnloadUnit = 0x6210;
82 public const int sSelectTransport = 0x6220;
83 public const int sMoveUnit = 0x6400; // {+dx and 7 shl 4 +dy and 7 shl 7}
84
85 // Settlers Related Commands
86 public const int sctSettlers = 0x2800;
87 public const int sAddToCity = 0x6810;
88 public const int sStartJob = 0x6C00; // {+job shl 4}
89
90 // City Related Commands
91 public const int sSetCityProject = 0x7001;
92 public const int sBuyCityProject = 0x7010;
93 public const int sSellCityProject = 0x7020;
94 public const int sSellCityImprovement = 0x7101;
95 public const int sRebuildCityImprovement = 0x7111;
96 public const int sSetCityTiles = 0x7201;
97
98 public const int cInitModule = 0x0000;
99 public const int cReleaseModule = 0x0100;
100 public const int cNewGame = 0x0800;
101 public const int cLoadGame = 0x0810;
102 public const int cGetReady = 0x08F0;
103 public const int cBreakGame = 0x0900;
104 public const int cTurn = 0x2000;
105 public const int cResume = 0x2010;
106 public const int cContinue = 0x2080;
107 public const int cShowAfterMove = 0x3040;
108 public const int cShowAfterAttack = 0x3050;
109 public const int cShowCityChanged = 0x3090;
110 public const int cShowMoving = 0x3140;
111 public const int cShowCapturing = 0x3150;
112 public const int cShowAttacking = 0x3240;
113 public const int cShowEndContact = 0x3810;
114
115 public const int scContact = 0x4900;
116 public const int scReject = 0x4A00;
117 public const int scDipStart = 0x4B00;
118 public const int scDipNotice = 0x4B10;
119 public const int scDipAccept = 0x4B20;
120 public const int scDipCancelTreaty = 0x4B30;
121 public const int scDipOffer = 0x4B4E;
122 public const int scDipBreak = 0x4BF0;
123
124 public const int opChoose = 0x00000000;
125 public const int opCivilReport = 0x11000000; // + turn + concerned nation shl 16
126 public const int opMilReport = 0x12000000; // + turn + concerned nation shl 16
127 public const int opMap = 0x1F000000;
128 public const int opTreaty = 0x20000000; // + suggested nation treaty
129 public const int opShipParts = 0x30000000; // + number + part type shl 16
130 public const int opMoney = 0x40000000; // + value
131 public const int opTech = 0x50000000; // + advance
132 public const int opAllTech = 0x51000000;
133 public const int opModel = 0x58000000; // + model index
134 public const int opAllModel = 0x59000000;
135 public const int opMask = 0x7F000000;
136
137 public const int rExecuted = 0x40000000;
138 public const int rEffective = 0x20000000;
139 public const int rUnitRemoved = 0x10000000;
140 public const int rEnemySpotted = 0x08000000;
141
142 public const int eEnemyDestroyed = 0x05;
143
144 public const int mcFirstNonCap = 9;
145
146 public const int cpIndex = 0x1FF;
147 public const int cpConscripts = 0x200;
148 public const int cpDisbandCity = 0x400;
149 public const int cpImp = 0x800;
150
151 public const int phStealTech = 0x02;
152 }
153
154 /// <summary>
155 /// INTERNAL - only use from CevoAILib classes!
156 /// </summary>
157 static class ROReadPoint
158 {
159 public const int TestFlags = 25;
160 public const int DevModel = 44;
161 public const int Tech = 61;
162 public const int Attitude = 85;
163 public const int Wonder = 160;
164 public const int Ship = 216;
165 public const int NatBuilt = 261;
166 public const int nBattleHistory = 272;
167 public const int OracleIncome = 290;
168
169 public const int SizeOfUn = 8;
170 public const int SizeOfUnitInfo = 4;
171 public const int SizeOfCity = 28;
172 public const int SizeOfCityInfo = 5;
173 public const int SizeOfModel = 17;
174 public const int SizeOfModelInfo = 7;
175 }
176}
Note: See TracBrowser for help on using the repository browser.