33 std::vector<int32> player,
corp, ally, owner,
npc, station;
41 for (
auto cur : entityIDs) {
47 player.push_back(cur);
48 }
else if (cur < 33000) {
51 station.push_back(cur);
67 " corporationID AS ownerID,"
68 " corporationName AS ownerName,"
71 " NULL AS ownerNameID"
72 " FROM crpCorporation"
73 " WHERE corporationID IN (%s)", ids.c_str()))
84 " allianceID AS ownerID,"
85 " allianceName AS ownerName,"
88 " NULL AS ownerNameID"
90 " WHERE allianceID IN (%s)", ids.c_str()))
101 " characterID AS ownerID,"
102 " characterName AS ownerName,"
105 " NULL AS ownerNameID"
106 " FROM chrCharacters"
107 " WHERE characterID IN (%s)", ids.c_str()))
118 " typeID AS ownerID,"
119 " typeName AS ownerName,"
122 " typeNameID AS ownerNameID"
124 " WHERE typeID IN (%s)", ids.c_str()))
131 if (station.size()) {
135 " corporationID AS ownerID,"
136 " corporationName AS ownerName,"
138 " FROM crpCorporation"
139 " WHERE corporationID IN (SELECT corporationID FROM staStations WHERE stationID IN (%s))", ids.c_str()))
154 " NULL AS ownerNameID"
155 " FROM eveStaticOwners"
156 " WHERE ownerID IN (%s)", ids.c_str()))
169 if (!
sDatabase.RunQuery(res,
"SELECT allianceID, shortName FROM alnAlliance WHERE allianceID IN (%s)", ids.c_str() )) {
170 codelog(DATABASE__ERROR,
"Error in GetMultiAllianceShortNamesEx query: %s", res.
error.
c_str());
180 std::vector<int32> staticItems, dynamicItems, asteroidItems;
182 dynamicItems.clear();
183 asteroidItems.clear();
185 for (
auto cur : entityIDs) {
187 staticItems.push_back(cur);
189 asteroidItems.push_back(cur);
191 dynamicItems.push_back(cur);
196 std::string ids =
"";
198 if (staticItems.size()) {
202 " itemID AS locationID,"
203 " itemName AS locationName,"
205 " itemNameID AS locationNameID"
206 " FROM mapDenormalize"
207 " WHERE itemID in (%s)", ids.c_str()))
209 codelog(DATABASE__ERROR,
"Error in GetMultiLocationsEx query: %s", res.
error.
c_str());
214 if (dynamicItems.size()) {
218 " itemID AS locationID,"
219 " itemName AS locationName,"
221 " NULL AS locationNameID"
223 " WHERE itemID in (%s)", ids.c_str()))
225 codelog(DATABASE__ERROR,
"Error in GetMultiLocationsEx query: %s", res.
error.
c_str());
230 if (asteroidItems.size()) {
232 sLog.Warning(
"GetMultiLocationsEx",
"Asteroid Items (%s) requested.", ids.c_str());
235 " itemID AS locationID,"
236 " itemName AS locationName,"
238 " NULL AS locationNameID"
240 " WHERE itemID in (%s)", ids.c_str()))
242 codelog(DATABASE__ERROR,
"Error in GetMultiLocationsEx query: %s", res.
error.
c_str());
254 if (!
sDatabase.RunQuery(res,
"SELECT stationID, stationName, stationTypeID, solarSystemID, x, y, z FROM staStations WHERE stationID in (%s)", ids.c_str())) {
255 codelog(DATABASE__ERROR,
"Error in GetMultiStationEx query: %s", res.
error.
c_str());
269 " corporationID, tickerName,"
270 " shape1, shape2, shape3,"
271 " color1, color2, color3 "
272 " FROM crpCorporation"
273 " WHERE corporationID in (%s)", ids.c_str()))
275 codelog(DATABASE__ERROR,
"Error in GetMultiCorpTickerNamesEx query: %s", res.
error.
c_str());
292 " graphicID, url3D, urlWeb, icon, urlSound, explosionID"
294 " WHERE graphicID in (%s)", ids.c_str()))
296 codelog(DATABASE__ERROR,
"Error in GetMultiGraphicsEx query: %s", res.
error.
c_str());
306 if (!
sDatabase.RunQuery(res,
"SELECT unitID, unitName, displayName FROM eveUnits")) {
315 bool wantConstellations,
bool wantSystems,
bool wantStations)
317 const char *
key =
"solarSystemID";
321 }
else if (wantConstellations) {
323 }
else if (wantSystems) {
324 key =
"constellationID";
325 }
else if (wantStations) {
326 key =
"solarSystemID";
332 " groupID, typeID, itemID, itemName,"
333 " solarSystemID AS locationID, IFNULL(orbitID, 0) AS orbitID,"
335 " FROM mapDenormalize"
336 " WHERE %s=%u", key, entityID )) {
348 " s.solarSystemID AS locationID,"
349 " s.xMin, s.xMax, s.yMin,"
350 " s.yMax, s.zMin, s.zMax,"
357 " j.celestialID AS destinations"
358 " FROM mapSolarSystems AS s"
359 " LEFT JOIN mapDenormalize AS d USING (solarSystemID)"
360 " LEFT JOIN mapJumps AS j ON j.stargateID = d.itemID"
361 " WHERE solarSystemID=%u", solarSystemID
372 if (!
sDatabase.RunQuery(res,
"SELECT languageID,languageName,translatedLanguageName FROM languages")) {
387 " typeID,groupID,typeName,description,graphicID,radius,"
388 " mass,volume,capacity,portionSize,raceID,basePrice,"
389 " published,marketGroupID,chanceOfDuplicating "
391 " WHERE typeID in (%s)", ids.c_str()))
393 codelog(DATABASE__ERROR,
"Error in GetMultiInvTypesEx query: %s", res.
error.
c_str());
404 " stationID, solarSystemID "
406 " WHERE corporationID = %u ", ownerID))
408 codelog(DATABASE__ERROR,
"Error in GetStationSolarSystemsByOwner query: %s", res.
error.
c_str());
440 " FROM mapCelestialStatistics"
441 " WHERE celestialID = %u", celestialID))
443 codelog(DATABASE__ERROR,
"Error in GetCelestialStatistic query: %s", res.
error.
c_str());
482 " solarSystemID AS locationID,"
483 " IFNULL(orbitID, 0) AS orbitID,"
488 " FROM mapDenormalize"
489 " WHERE solarSystemID = %u"
493 codelog(DATABASE__ERROR,
"Error in GetDynamicCelestials query: %s", result.
error.
c_str());
502 if (!
sDatabase.RunQuery(res,
"SELECT textLabel, `text` FROM intro WHERE langID = '%s' AND textgroup = %u", langID.c_str(), textgroup)) {
503 codelog(DATABASE__ERROR,
"Error in GetTextsForGroup query: %s", res.
error.
c_str());
512 if (!
sDatabase.RunQuery(res,
"SELECT corporationID, stationID FROM staStations WHERE solarSystemID=%u", solarSystemID)) {
522 sLog.Warning (
"ConfigDB::GetMapConnections",
"DB query - System:%u, Sol:%u, Reg:%u, Con:%u, Cel:%u, cached:%u",
id, sol, reg, con, cel, _c);
523 const char *
key =
"fromsol";
531 sLog.Error (
"ConfigDB::GetMapConnections()",
"Bad argument (id: %u, sol: %u, reg: %u, con: %u) passed to key.",
id, sol, reg, con );
536 "SELECT ctype, fromreg, fromcon, fromsol, stargateID, celestialID, tosol, tocon, toreg"
537 " FROM mapConnections"
538 " WHERE %s = %u", key,
id )) {
539 codelog(DATABASE__ERROR,
"Error in GetMapConnections query: %s", res.
error.
c_str());
540 sLog.Error (
"ConfigDB::GetMapConnections()",
"No Data for key: %s, id: %u.", key,
id);
553 " 0 AS landmarkNameID,"
556 " FROM mapLandmarks" ))
558 codelog(DATABASE__ERROR,
"Error in GetMapLandmarks query: %s", res.
error.
c_str());
#define IsStaticItem(itemID)
#define IsAsteroidID(itemID)
PyObjectEx * DBResultToCRowset(DBQueryResult &result)
PyRep * GetMultiGraphicsEx(const std::vector< int32 > &entityIDs)
PyObject * GetMapLandmarks()
PyRep * GetDynamicCelestials(uint32 solarSystemID)
Retrieves dynamic, celestial objects for a given solar system.
PyRep * GetTextsForGroup(const std::string &langID, uint32 textgroup)
PyObject * GetMapOffices(uint32)
PyRep * GetStationSolarSystemsByOwner(uint32 ownerID)
PyRep * GetMultiOwnersEx(const std::vector< int32 > &entityIDs)
#define sLog
Evaluates to a NewLog instance.
PyObject * ListLanguages()
const char * c_str() const
#define codelog(type, fmt,...)
PyObject * DBResultToRowset(DBQueryResult &result)
PyRep * GetCelestialStatistic(uint32 celestialID)
PyRep * GetMultiAllianceShortNamesEx(const std::vector< int32 > &entityIDs)
PyTuple * DBResultToRowList(DBQueryResult &result, const char *type)
PyTuple * DBResultToTupleSet(DBQueryResult &result)
#define IsCharacterID(itemID)
PyRep * GetMultiCorpTickerNamesEx(const std::vector< int32 > &entityIDs)
PyRep * GetMultiInvTypesEx(const std::vector< int32 > &typeIDs)
PyObject * DBResultToIndexRowset(DBQueryResult &result, const char *key)
#define IsStationID(itemID)
PyObject * GetMap(uint32 solarSystemID)
PyObject * GetMapConnections(uint32, bool, bool, bool, uint16, uint16)
PyRep * GetMultiStationEx(const std::vector< int32 > &entityIDs)
PyRep * GetMultiLocationsEx(const std::vector< int32 > &entityIDs)
#define IsAlliance(itemID)
typeID Spawn an NPC with the specified type text Search for items matching the specified query() type() key(value)-Send an OnRemoteMessage" ) COMMAND( setbpattr
void ListToINString(const std::vector< int32 > &ints, std::string &into, const char *if_empty)
PyObjectEx * GetMapObjects(uint32 entityID, bool wantRegions, bool wantConstellations, bool wantSystems, bool wantStations)