EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
EVE_Defines.h
Go to the documentation of this file.
1 
2 /* EVE_Defines.h
3  * this file defines hard-coded values for game item classes
4  * we also define C-type macros for ease of readabilty in various item conditionals
5  *
6  */
7 
8 /*
9  *******************************
10  ********* ITEM CLASSES BASED ON UniqueIdetifier (UID)
11  * <0 private chat channels
12  * 1 static chat channels
13  * 1k temp Planet Structures (PinIDs - sent from client)
14  * 100k bookmark folders ** not implemented yet
15  * 350k market groups
16  * 500k Factions
17  * 1m NPC Corp
18  * 2m1 trial-friendly chat channels
19  * 3m Agent
20  * 9m Universe (not sure)
21  * 10m K-Space Region (Known space)
22  * 11m W-Space Region (Wormhole space)
23  * 12m A-Space Region (Abyssal space - not in crucible)
24  * 20m K-Space Constellation
25  * 20m W-Space Constellation
26  * 20m A-Space Constellation
27  * 30m K-Space Solar System
28  * 31m W-Space Solar System
29  * 32m A-Space Solar System
30  * 40m Celestial (star:multiple_types,groupID=6, planet:multiple_types,groupID=7, moon:typeID=14,groupID=8; belt:typeID=15,groupID=9)
31  * 50m Stargate (groupid 10)
32  * 60m Stations (groupid 15, catid 3)
33  * 61m Outposts ** need to put Outpost creation here @ 61m, and save in mapDenormalize table.
34  * 64m Trading ** containers for trade. this is the inventory item all traded items are contained in, but separate, ofc.
35  * 66m OfficeFolder
36  * 68m FactoryFolder
37  * 70m UniverseAsteroid ** this is NON-targetable, NON-selectable roids. deco only
38  * 80m Control Bunker (to 80m1) ** not sure what this is yet
39  * 81m Promenades (WIS shit)
40  * 82m Planatary Districts
41  * 90m PlayerCharacters (-1 = max NPC Item)
42  * 98m PlayerCorps
43  * 99m Alliance
44  * 100m Station Office ** corp officeID. used for locationID of items in corp hangar, based on flag.
45  * 110m temp SEs
46  * 130m Planet Structures (PinIDs)
47  * 135m Customs Offices (67253 planets) ** 1004746013567 on live
48  * 140m saved DSEs, player items
49  * 450m asteroid SEs
50  * 500m player drones
51  * 600m bookmarks - player created ** 1130462570 on live
52  * 635m bookmarks - mission created ** not implemented yet
53  * 650m blueprints ** not implemented yet ** 1007111250519 on live
54  *** begin temp, non-saved UIDs
55  * 750m npcs and jetcans used as tracking markers
56  * 950m fleetIDs
57  * 960m wingIDs
58  * 970m squadIDs
59  * 1b temp DSEs (missiles only at this time) ** 9000000000001190696 on live
60  * 1b2 dungeon SEs
61  * 2b1 max int32
62  * 9e0 fake items
63  */
64 
65 
66 #ifndef EVE_DEFINES_H
67 #define EVE_DEFINES_H
68 
69 // defined breakPoint --doesnt work. not sure why. dont care
70 #define SrvPause() do { printf("%s %d\n", __FILE__, __LINE__); getchar(); } while (0)
71 
72 // bulkdata version
73 #define bulkDataBranch 4
74 // bulkDataChangeID rddmmyyyy
75 // where r=revision, dd=day, mm=month, yyyy=year
76 #define bulkDataChangeID 107232020
77 
78 // define number of rentable offices in stations (config option later?)
79 // this replaces the hard-coded count previously used in station.h
80 #define maxRentableOffices 10
81 
82 // defines based on itemID, per client
83 #define maxNonCapModuleSize 500
84 
85 #define minCharType 1373
86 #define maxCharType 1386
87 
88 #define minEveMarketGroup 0
89 #define maxStaticChannel 1000
90 #define minJunkyardID 1000
91 #define maxJunkyardID 1999
92 #define minBMFolder 100000
93 #define maxBMFolder 300000
94 #define maxEveMarketGroup 350000
95 #define minDustMarketGroup 350001
96 #define maxDustMarketGroup 399999
97 #define minFaction 500000
98 #define maxFaction 999999
99 #define minNPCCorporation 1000000
100 #define maxNPCCorporation 1100000
101 #define minAgent 3000000
102 #define maxAgent 3999999
103 #define npcTraderJoe 4000000
104 #define minTrader 4000001
105 #define maxTrader 5000000
106 #define minRegion 10000000
107 #define maxRegion 19999999
108 #define minWHRegion 11000000
109 #define maxWHRegion 11999999
110 #define minConstellation 20000000
111 #define maxConstellation 29999999
112 #define minWHConstellation 21000000
113 #define maxWHConstellation 21999999
114 #define minSolarSystem 30000000
115 #define maxSolarSystem 31999999
116 #define minWHSolarSystem 31000000
117 #define maxWHSolarSystem 31999999
118 #define minValidLocation 30000000
119 #define minValidShipLocation 30000000
120 #define minUniverseCelestial 40000000
121 #define maxUniverseCelestial 49999999
122 #define minStargate 50000000
123 #define maxStargate 59999999
124 #define minValidCharLocation 60000000
125 #define minStation 60000000
126 #define maxNPCStation 60999999
127 #define minOutpost 61000000
128 #define maxStation 63999999
129 #define minTradeCont 64000000
130 #define maxTradeCont 65999999
131 #define minOfficeFolder 66000000
132 #define maxOfficeFolder 67999999
133 #define minFactoryFolder 68000000
134 #define maxFactoryFolder 69999999
135 #define minUniverseAsteroid 70000000 // deco only - not targetable, no bracket in overview
136 #define maxUniverseAsteroid 79999999
137 #define minControlBunker 80000000 // not sure what this is yet.
138 #define maxControlBunker 80099999
139 #define maxNPCItem 89999999
140 #define minCharacter 90000000 // client NPC def ends here
141 #define maxCharacter 97999999
142 #define minPCCorporation 98000000 // player corps start here
143 #define minAlliance 99000000 // alliances start here
144 #define minOffice 100000000
145 #define maxOffice 109999999
146 #define minTempItemID 110000000
147 #define minPIStructure 130000000 // Planet Structures
148 #define minCustomsOffice 135000000
149 #define minPlayerItem 140000000
150 #define maxPlayerItem 300000000
151 #define minAsteroidItem 450000000
152 #define minDroneItem 500000000
153 #define minBookmark 600000000
154 #define minMissionBookmark 635000000
155 #define minBlueprint 650000000
156 #define minNPC 750000000
157 #define maxNPC 760000000
158 #define minFleet 950000000
159 #define maxFleet 959000000
160 #define minWing 960000000
161 #define maxWing 969000000
162 #define minSquad 970000000
163 #define maxSquad 979000000
164 #define minMissile 1000000000
165 #define minDungeon 1200000000
166 #define maxEveItem 2147483647 // max int32
167 
168 #define maxHangarCapy 9000000000000000
169 
170 #define minFakeItem 9000000000000000000 // min missileID on live. not needed here?
171 
172 
173 // DSTLOCALBALLS = 0x0C0000000h (3,221,225,472 decimal) unknown where this is from
174 
175 
176 // static defines to ease code checks
177 #define STATION_OFFICE_OFFSET 6000000
178 #define TEMP_ENTITY_ID 110000000
179 #define PLANET_PIN_ID 130000000
180 #define ASTEROID_ID 450000000
181 #define DRONE_ID 500000000
182 #define NPC_ID 750000000
183 #define FLEET_ID 950000000
184 #define WING_ID 960000000
185 #define SQUAD_ID 970000000
186 #define MISSILE_ID 1000000000
187 #define DUNGEON_ID 1200000000
188 
189 #define MAX_SHORT_ID 2147483647
190 #define MAX_LONG_ID 9223372036854775807 // max int64.
191 
192 
193 // defines based on UID
194 #define IsTempPinID(pinID) \
195  (pinID <= 1000)
196 
197 #define IsStaticChannel(itemID) \
198  ((itemID >= 1) && (itemID <= maxStaticChannel))
199 
200 #define IsCharType(typeID) \
201  ((typeID >= minCharType) && (typeID <= maxCharType))
202 
203 #define IsWreckTypeID(typeID) \
204  ((typeID > 26467) && (typeID < 30826))
205 
206  #define IsCharacterID(itemID) \
207  ((itemID >= minCharacter) && (itemID <= maxCharacter))
208 
209 #define IsValidLocation(itemID) \
210  ((IsSolarSystemID(itemID)) \
211  or (IsRegionID(itemID)) \
212  or (IsStationID(itemID)))
213 
214 #define IsValidOwner(itemID) \
215 ((itemID == 1) || ((itemID >= minNPCCorporation) && (itemID <= maxNPCCorporation)) \
216 || ((itemID >= minPCCorporation) && (itemID < minAlliance)) \
217 || ((itemID >= minCharacter) && (itemID <= maxCharacter)))
218 
219 #define IsCharacterLocation(itemID) \
220  (itemID >= minValidCharLocation)
221 
222 #define IsContainerLocation(itemID) \
223  (itemID >= minValidShipLocation)
224 
225 #define IsFleetID(itemID) \
226 ((itemID >= minFleet) && (itemID < maxFleet))
227 
228 #define IsWingID(itemID) \
229 ((itemID >= minWing) && (itemID < maxWing))
230 
231 #define IsSquadID(itemID) \
232 ((itemID >= minSquad) && (itemID < maxSquad))
233 
234 #define IsCorp(itemID) \
235 (((itemID >= minNPCCorporation) && (itemID <= maxNPCCorporation)) \
236 || ((itemID >= minPCCorporation) && (itemID < minAlliance)))
237 
238 #define IsNPCCorp(itemID) \
239 ((itemID >= minNPCCorporation) && (itemID < maxNPCCorporation))
240 
241 #define IsPlayerCorp(itemID) \
242 ((itemID >= minPCCorporation) && (itemID < minAlliance))
243 
244 #define IsAlliance(itemID) \
245 ((itemID >= minAlliance) && (itemID < minOffice))
246 
247 #define IsAgent(itemID) \
248 ((itemID >= minAgent) && (itemID < maxAgent))
249 
250 #define IsFaction(itemID) \
251 ((itemID >= minFaction) && (itemID < maxFaction))
252 
253 #define IsOfficeID(itemID) \
254 ((itemID >= minOffice) && (itemID < minTempItemID))
255 
256 #define IsPlayerItem(itemID) \
257 ((itemID > minPlayerItem) && (itemID < maxPlayerItem))
258 
259 #define IsAsteroidID(itemID) \
260 ((itemID >= minAsteroidItem) && (itemID < minDroneItem))
261 
262 #define IsDrone(itemID) \
263 ((itemID >= minDroneItem) && (itemID < minBookmark))
264 
265 // this covers all static items
266 #define IsStaticItem(itemID) \
267  (itemID <= maxNPCItem)
268 
269 // this covers ALL static celestial-type items
270 #define IsStaticMapItem(itemID) \
271 ((itemID >= minRegion) && (itemID < maxNPCItem))
272 
273 #define IsRegionID(itemID) \
274 ((itemID >= minRegion) && (itemID < minConstellation))
275 
276 #define IsConstellationID(itemID) \
277 ((itemID >= minConstellation) && (itemID < minSolarSystem))
278 
279 #define IsSolarSystemID(itemID) \
280 ((itemID >= minSolarSystem) && (itemID < maxSolarSystem))
281 
282 #define IsWSpaceID(itemID) \
283 ((itemID >= minWHSolarSystem) && (itemID < maxWHSolarSystem))
284 
285 #define IsKSpaceID(itemID) \
286 ((itemID >= minSolarSystem) && (itemID < minWHSolarSystem))
287 
288 #define IsCelestialID(itemID) \
289 ((itemID >= minUniverseCelestial) && (itemID < minStargate))
290 
291 #define IsStargateID(itemID) \
292 ((itemID >= minStargate) && (itemID < minStation))
293 
294 #define IsStationID(itemID) \
295 ((itemID >= minStation) && (itemID < minTradeCont))
296 
297 #define IsNPCStation(itemID) \
298 ((itemID >= minStation) && (itemID < minOutpost))
299 
300 #define IsNPC(itemID) \
301 ((itemID >= minNPC) && (itemID <= maxNPC))
302 
303 #define IsOutpost(itemID) \
304 ((itemID >= minOutpost) && (itemID < minTradeCont))
305 
306 #define IsTrading(itemID) \
307 ((itemID >= minTradeCont) && (itemID < minOfficeFolder))
308 
309 #define IsOfficeFolder(itemID) \
310 ((itemID >= minOfficeFolder) && (itemID < minFactoryFolder))
311 
312 #define IsFactoryFolder(itemID) \
313 ((itemID >= minFactoryFolder) && (itemID < minUniverseAsteroid))
314 
315 #define IsUniverseAsteroid(itemID) \
316 ((itemID >= minUniverseAsteroid) && (itemID < minControlBunker))
317 
318 #define IsControlBunker(itemID) \
319 ((itemID >= minControlBunker) and (itemID < 80100000))
320 
321 #define IsScenarioItem(itemID) \
322 ((itemID > minCharacter) && (itemID < minPlayerItem))
323 
324 #define IsFakeItem(itemID) \
325  (itemID >= minFakeItem)
326 
327 #define IsValidTarget(itemID) \
328  (((itemID >= minOutpost) && (itemID <= maxStation)) \
329  || ((itemID >= minControlBunker) && (itemID <= maxNPCItem)) \
330  || ((itemID >= minTempItemID) && (itemID <= minPIStructure)) \
331  || (itemID >= minCustomsOffice))
332 
333 #define IsTempItem(itemID) \
334  ((itemID >= minTempItemID) && (itemID < minPIStructure))
335 
336 #define IsCargoHoldFlag(flag) \
337 ((flag == flagCargoHold) || (flag == flagSecondaryStorage) || (flag == flagShipHangar) \
338  || ((flag >= flagFuelBay) && (flag <= flagAmmoHold)))
339 
340 #define IsSpecialHoldFlag(flag) \
341 ((flag == flagSecondaryStorage) || (flag == flagShipHangar) \
342  || ((flag >= flagFuelBay) && (flag <= flagAmmoHold)))
343 
344 #define IsHangarFlag(flag) \
345 ((flag == flagHangar) || ((flag >= flagCorpHangar2) && (flag <= flagCorpHangar7)))
346 
347 #define IsOfficeFlag(flag) \
348 ((flag >= flagCorpMarket) && (flag <= flagProperty))
349 
350 #define IsModuleSlot(flag) \
351 (((flag >= flagLowSlot0) && (flag <= flagHiSlot7)) \
352  || ((flag >= flagRigSlot0) && (flag <= flagRigSlot7)) \
353  || ((flag >= flagSubSystem0) && (flag<=flagSubSystem7)))
354 
355 #define IsFittingSlot(flag) \
356 ((flag >= flagLowSlot0) && (flag <= flagHiSlot7))
357 
358 #define IsHiSlot(flag) \
359 ((flag >= flagHiSlot0) && (flag <= flagHiSlot7))
360 
361 #define IsMidSlot(flag) \
362 ((flag >= flagMidSlot0) && (flag <= flagMidSlot7))
363 
364 #define IsLowSlot(flag) \
365 ((flag >= flagLowSlot0) && (flag <= flagLowSlot7))
366 
367 #define IsRigSlot(flag) \
368 ((flag >= flagRigSlot0) && (flag <= flagRigSlot7))
369 
370 #define IsSubSystem(flag) \
371 ((flag >= flagSubSystem0) && (flag <= flagSubSystem7))
372 
373 
374 #define IsCash(key) \
375 ((key >= 1000) && (key <= 1006))
376 
377 #define IsAUR(key) \
378 ((key >= 1200) && (key <= 1206))
379 
380 #define IsDustKey(key) \
381 (key >= 10000)
382 
383 
384 #define FlagToSlot(flag) \
385 (flag - flagSlotFirst)
386 
387 #define SlotToFlag(slot) \
388 ((EVEItemFlags)(flagSlotFirst + slot))
389 
390 
391 #define IsDScanImmune(itemID) \
392 (((itemID >= minNPC) && (itemID <= maxNPC)) \
393 || ((itemID >= minTempItemID) && (itemID < minPIStructure)) \
394 
395 #define IsTraderJoe(itemID) \
396 (itemID == npcTraderJoe)
397 
398 #define IsTrader(itemID) \
399 (((itemID >= minTrader) && (itemID <= maxTrader))
400 
401 
402 /*
403 def IsJunkLocation(locationID):
404  if locationID >= 2000:
405  return 0
406  elif locationID in (6, 8, 10, 23, 25):
407  return 1
408  elif locationID > 1000 and locationID < 2000:
409  return 1
410  else:
411  return 0
412 
413 */
414 
415 #endif //EVE_DEFINES_H