EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
EVE_Scanning.h
Go to the documentation of this file.
1 /*
2  *
3  *
4  *
5  */
6 
7 #ifndef EVE_SCANNING_H
8 #define EVE_SCANNING_H
9 
10 /*
11 static float probeResultPerfect = 1.0f;
12 static float probeResultInformative = 0.75f;
13 static float probeResultGood = 0.25f;
14 static float probeResultUnusable = 0.001f;
15 */
16 
17 namespace Scanning {
18 // -allan 7Jul14
19  namespace Group {
20  enum {
21  Scrap = 1, //wrecks in system (client filter only)
22  Signature = 4, //advanced anomaly. need probes to scan
23  Ship = 8, //abandoned ships
24  Structure = 16, //all pos structures
25  DroneOrProbe = 32, //player items
26  Celestial = 64, //static system entity (client filter only)
27  Anomaly = 128 //detected using ship sensors
28  };
29  }
30 }
31 
32 namespace Probe {
33  namespace State {
34  enum {
35  Inactive = 0,
36  Idle = 1,
37  Moving = 2,
38  Warping = 3,
39  Scanning = 4,
40  Returning = 5,
41  Waiting = 6 // internal only
42  };
43  }
44 }
45 
46 /*
47  *
48  AttrScanRadarStrength = 208, //Radar Site (scanning/exploration)
49  AttrScanLadarStrength = 209, //Ladar Site (scanning/exploration)
50  AttrScanMagnetometricStrength = 210, //Magnetometric Site (scanning/exploration)
51  AttrScanGravimetricStrength = 211, //Gravimetric Site (scanning/exploration)
52  AttrScanAllStrength = 1136, //Unknown Site (scanning/exploration)
53  AttrScanGenericStrength = 1169, //undefined in client
54  *
55  * attributes used/defined in client
56  attributeScanAllStrength = 1136
57  attributeScanFrequencyResult = 1161
58  attributeScanGravimetricStrength = 211
59  attributeScanGravimetricStrengthBonus = 238
60  attributeScanGravimetricStrengthPercent = 1027
61  attributeScanLadarStrength = 209
62  attributeScanLadarStrengthBonus = 239
63  attributeScanLadarStrengthPercent = 1028
64  attributeScanMagnetometricStrength = 210
65  attributeScanMagnetometricStrengthBonus = 240
66  attributeScanMagnetometricStrengthPercent = 1029
67  attributeScanRadarStrength = 208
68  attributeScanRadarStrengthBonus = 241
69  attributeScanRadarStrengthPercent = 1030
70  attributeScanRange = 765
71  attributeScanResolution = 564
72  attributeScanResolutionBonus = 566
73  attributeScanResolutionMultiplier = 565
74  attributeScanSpeed = 79
75 
76 
77  probeScanGroupScrap = 1
78  probeScanGroupSignatures = 4
79  probeScanGroupShips = 8
80  probeScanGroupStructures = 16
81  probeScanGroupDronesAndProbes = 32
82  probeScanGroupCelestials = 64
83  probeScanGroupAnomalies = 128
84  probeScanGroups = {}
85  probeScanGroups[probeScanGroupScrap] = set([groupBiomass,
86  groupCargoContainer,
87  groupWreck,
88  groupSecureCargoContainer,
89  groupAuditLogSecureContainer])
90  probeScanGroups[probeScanGroupSignatures] = set([groupCosmicSignature])
91  probeScanGroups[probeScanGroupAnomalies] = set([groupCosmicAnomaly])
92  probeScanGroups[probeScanGroupShips] = set([groupAssaultShip,
93  groupBattlecruiser,
94  groupBattleship,
95  groupBlackOps,
96  groupCapitalIndustrialShip,
97  groupCapsule,
98  groupCarrier,
99  groupCombatReconShip,
100  groupCommandShip,
101  groupCovertOps,
102  groupCruiser,
103  groupDestroyer,
104  groupDreadnought,
105  groupElectronicAttackShips,
106  groupEliteBattleship,
107  groupExhumer,
108  groupForceReconShip,
109  groupFreighter,
110  groupFrigate,
111  groupHeavyAssaultShip,
112  groupHeavyInterdictors,
113  groupIndustrial,
114  groupIndustrialCommandShip,
115  groupInterceptor,
116  groupInterdictor,
117  groupJumpFreighter,
118  groupLogistics,
119  groupMarauders,
120  groupMiningBarge,
121  groupSupercarrier,
122  groupPrototypeExplorationShip,
123  groupRookieship,
124  groupShuttle,
125  groupStealthBomber,
126  groupTitan,
127  groupTransportShip,
128  groupStrategicCruiser])
129  probeScanGroups[probeScanGroupStructures] = set([groupConstructionPlatform,
130  groupStationUpgradePlatform,
131  groupStationImprovementPlatform,
132  groupMobileWarpDisruptor,
133  groupAssemblyArray,
134  groupControlTower,
135  groupCorporateHangarArray,
136  groupElectronicWarfareBattery,
137  groupEnergyNeutralizingBattery,
138  groupForceFieldArray,
139  groupJumpPortalArray,
140  groupLogisticsArray,
141  groupMobileHybridSentry,
142  groupMobileLaboratory,
143  groupMobileLaserSentry,
144  groupMobileMissileSentry,
145  groupMobilePowerCore,
146  groupMobileProjectileSentry,
147  groupMobileReactor,
148  groupMobileShieldGenerator,
149  groupMobileStorage,
150  groupMoonMining,
151  groupRefiningArray,
152  groupScannerArray,
153  groupSensorDampeningBattery,
154  groupShieldHardeningArray,
155  groupShipMaintenanceArray,
156  groupSilo,
157  groupStasisWebificationBattery,
158  groupStealthEmitterArray,
159  groupTrackingArray,
160  groupWarpScramblingBattery,
161  groupCynosuralSystemJammer,
162  groupCynosuralGeneratorArray,
163  groupInfrastructureHub,
164  groupSovereigntyClaimMarkers,
165  groupSovereigntyDisruptionStructures,
166  groupOrbitalConstructionPlatforms,
167  groupPlanetaryCustomsOffices])
168  probeScanGroups[probeScanGroupDronesAndProbes] = set([groupCapDrainDrone,
169  groupCombatDrone,
170  groupElectronicWarfareDrone,
171  groupFighterDrone,
172  groupFighterBomber,
173  groupLogisticDrone,
174  groupMiningDrone,
175  groupProximityDrone,
176  groupRepairDrone,
177  groupStasisWebifyingDrone,
178  groupUnanchoringDrone,
179  groupWarpScramblingDrone,
180  groupScannerProbe,
181  groupSurveyProbe,
182  groupWarpDisruptionProbe])
183  probeScanGroups[probeScanGroupCelestials] = set([groupAsteroidBelt,
184  groupForceField,
185  groupMoon,
186  groupPlanet,
187  groupStargate,
188  groupSun,
189  groupStation])
190 */
191 
192 /* ship scanner result data from client...
193  *
194  *
195 EXPLORATION_SITE_TYPES = {attributeScanGravimetricStrength: 'UI/Inflight/Scanner/Gravimetric',
196  attributeScanLadarStrength: 'UI/Inflight/Scanner/Ladar',
197  attributeScanMagnetometricStrength: 'UI/Inflight/Scanner/Magnetometric',
198  attributeScanRadarStrength: 'UI/Inflight/Scanner/Radar',
199  attributeScanAllStrength: 'UI/Common/Unknown'}
200 
201 
202  if groupID == const.groupCosmicSignature:
203  for signatureType in [const.attributeScanGravimetricStrength,
204  const.attributeScanLadarStrength,
205  const.attributeScanMagnetometricStrength,
206  const.attributeScanRadarStrength,
207  const.attributeScanAllStrength]:
208  **** if groupID is sig or anom, groupName is based on scanstr.
209 
210  result.scanGroupName = self.scanGroups[result.scanGroupID]
211  self.scanGroups[const.probeScanGroupAnomalies] = localization.GetByLabel('UI/Inflight/Scanner/CosmicAnomaly')
212  self.scanGroups[const.probeScanGroupSignatures] = localization.GetByLabel('UI/Inflight/Scanner/CosmicSignature')
213  self.scanGroups[const.probeScanGroupShips] = localization.GetByLabel('UI/Inflight/Scanner/Ship')
214  self.scanGroups[const.probeScanGroupStructures] = localization.GetByLabel('UI/Inflight/Scanner/Structure')
215  self.scanGroups[const.probeScanGroupDronesAndProbes] = localization.GetByLabel('UI/Inflight/Scanner/DroneAndProbe')
216  self.__disallowanalysisgroups = [const.groupSurveyProbe]
217 
218  if certainty >= const.probeResultGood: (0.25)
219  explorationSite = result.groupID in (const.groupCosmicAnomaly, const.groupCosmicSignature)
220  if explorationSite:
221  result.groupName = self.GetExplorationSiteType(result.strengthAttributeID)
222  else:
223  result.groupName = cfg.invgroups.Get(result.groupID).name
224  if certainty >= const.probeResultInformative: (0.75)
225  if explorationSite:
226  result.typeName = result.dungeonName
227  else:
228  result.typeName = cfg.invtypes.Get(typeID).name
229 
230 
231  **** distance can be fudged....
232  if isinstance(result.data, Vector3):
233  dist = (result.data - myPos).Length()
234  elif isinstance(result.data, float):
235  dist = result.data
236  certainty = min(0.9999, certainty)
237  else:
238  dist = (result.data.point - myPos).Length()
239  certainty = min(0.9999, certainty)
240 
241 
242  if result.certainty >= const.probeResultPerfect and isinstance(result.data, Vector3):
243  if result.scanGroupID in (const.probeScanGroupSignatures, const.probeScanGroupAnomalies):
244  self.resultsCached[result.id] = result
245  */
246 
247 
248 #endif // EVE_SCANNING_H