33 if(!
sDatabase.RunQuery(res,
"SELECT factionID FROM facFactions")) {
45 " celestialID AS toCelestialID,"
46 " solarSystemID AS locationID"
48 " LEFT JOIN mapDenormalize ON celestialID=itemID"
49 " WHERE stargateID=%u", stargateID))
63 " mss.solarSystemName,"
64 " mss.x, mss.y, mss.z,"
67 " mss.constellationID,"
71 " mlwc.wormholeClassID"
72 " FROM mapSolarSystems AS mss"
73 " LEFT JOIN mapLocationWormholeClasses AS mlwc ON mlwc.locationID = mss.regionID"
74 " WHERE solarSystemID=%u", ssid ))
82 codelog(DATABASE__ERROR,
"Error in GetSolarSystem query: no solarsystem for id %u", ssid);
93 " FROM mapSolarSystems WHERE solarSystemID=%u",
96 codelog(DATABASE__ERROR,
"Error in GetSolarSystemPosition query: %s", res.
error.
c_str());
100 _log(DATABASE__RESULTS,
"GetSolarSystemPosition returned %u items", res.
GetRowCount());
105 point =
GPoint(row.GetDouble(0), row.GetDouble(1), row.GetDouble(2));
113 "SELECT itemID,typeID,groupID,radius"
114 " FROM mapDenormalize WHERE solarSystemID=%u ORDER BY itemID",
117 codelog(DATABASE__ERROR,
"Error in LoadSystemStaticEntities query: %s", res.
error.
c_str());
121 _log(DATABASE__RESULTS,
"LoadSystemStaticEntities returned %u items", res.
GetRowCount());
126 entry.
itemID = row.GetUInt(0);
127 entry.
typeID = row.GetInt(1);
129 entry.
radius = row.GetDouble(3);
130 into.push_back(entry);
149 " IFNULL(e.customInfo, '0')"
151 " LEFT JOIN invTypes AS t USING (typeID)"
152 " LEFT JOIN invGroups AS g USING (groupID)"
153 " WHERE e.locationID = %u"
154 " AND g.categoryID NOT IN (%u,%u,%u,%u)"
155 " AND (e.ownerID = 1"
156 " OR g.categoryID IN (%u,%u))"
157 " ORDER BY e.itemID",
162 codelog(DATABASE__ERROR,
"Error in LoadSystemDynamicEntities query: %s", res.
error.
c_str());
166 _log(DATABASE__RESULTS,
"LoadSystemDynamicEntities returned %u items", res.
GetRowCount());
171 entry.
itemID = row.GetUInt(0);
174 entry.
typeID = row.GetUInt(3);
175 entry.
groupID = row.GetUInt(4);
177 GPoint pos(row.GetDouble(6), row.GetDouble(7), row.GetDouble(8));
179 entry.
planetID = atoi(row.GetText(9));
183 if (
sDatabase.RunQuery(res2,
"SELECT allianceID, warFactionID FROM crpCorporation WHERE corporationID = %u", entry.
corporationID))
190 "SELECT c.corporationID, co.allianceID, co.warFactionID FROM chrCharacters AS c"
191 " LEFT JOIN crpCorporation AS co USING (corporationID)"
192 " WHERE c.characterID = %u", entry.
ownerID))
201 into.push_back(entry);
222 " LEFT JOIN invTypes AS t USING (typeID)"
223 " LEFT JOIN invGroups AS g USING (groupID)"
224 " WHERE e.locationID = %u"
225 " AND g.categoryID IN (%u,%u,%u,%u,%u,%u,%u)"
226 " AND e.ownerID != 1"
227 " ORDER BY e.itemID",
233 codelog(DATABASE__ERROR,
"Error in LoadPlayerDynamicEntities query: %s", res.
error.
c_str());
237 _log(DATABASE__RESULTS,
"LoadPlayerDynamicEntities returned %u items", res.
GetRowCount());
241 entry.
itemID = row.GetUInt(0);
243 entry.
typeID = row.GetUInt(2);
245 entry.
groupID = row.GetUInt(4);
247 GPoint pos(row.GetDouble(6), row.GetDouble(7), row.GetDouble(8));
252 if (
sDatabase.RunQuery(res2,
"SELECT allianceID, warFactionID FROM crpCorporation WHERE corporationID = %u", entry.
corporationID))
259 "SELECT c.corporationID, co.allianceID, co.warFactionID FROM chrCharacters AS c"
260 " LEFT JOIN crpCorporation AS co USING (corporationID)"
261 " WHERE c.characterID = %u", entry.
ownerID))
270 into.push_back(entry);
277 if(!
sDatabase.RunQuery(res,
"SELECT locationID FROM entity WHERE itemID=%u", itemID )) {
278 codelog(DATABASE__ERROR,
"Error in GetObjectLocationID query: %s", res.
error.
c_str());
290 if(!
sDatabase.RunQuery(res,
"SELECT radius FROM invTypes WHERE typeID=%u", typeID )) {
291 codelog(DATABASE__ERROR,
"Error in GetItemTypeRadius query: %s", res.
error.
c_str());
303 if(!
sDatabase.RunQuery(res,
"SELECT radius FROM mapDenormalize WHERE itemID=%u", itemID )) {
304 codelog(DATABASE__ERROR,
"Error in GetItemTypeRadius query: %s", res.
error.
c_str());
315 if(!
sDatabase.RunQuery(res,
"SELECT typeID, wreckTypeID FROM invTypesToWrecks")) {
316 codelog(DATABASE__ERROR,
"Error in GetWrecksToTypes query: %s", res.
error.
c_str());
324 if(!
sDatabase.RunQuery(res,
"SELECT npcGroupID, itemGroupID, groupDropChance FROM lootGroup")) {
332 if(!
sDatabase.RunQuery(res,
"SELECT itemGroupID, itemID, itemMetaLevel, minAmount, maxAmount FROM lootItemGroup")) {
333 codelog(DATABASE__ERROR,
"Error in GetLootGroupTypes query: %s", res.
error.
c_str());
341 sDatabase.RunQuery(res,
"SELECT itemID, x, y, z, radius FROM mapDenormalize WHERE solarSystemID = %u AND groupID = 7", systemID);
354 planetIDs.push_back(entry);
362 sDatabase.RunQuery(res,
"SELECT itemID, x, y, z, radius FROM mapDenormalize WHERE solarSystemID = %u AND groupID = 8", systemID);
376 moonIDs.push_back(entry);
385 sDatabase.RunQuery(res,
"SELECT itemID, x, y, z, radius FROM mapDenormalize WHERE solarSystemID = %u AND groupID = 9", systemID);
399 beltIDs.push_back(entry);
408 sDatabase.RunQuery(res,
"SELECT itemID, x, y, z, radius FROM mapDenormalize WHERE solarSystemID = %u AND groupID = 10", systemID);
423 gateIDs.push_back(entry);
static bool LoadSystemDynamicEntities(uint32 systemID, std::vector< DBSystemDynamicEntity > &into)
#define _log(type, fmt,...)
double GetCelestialRadius(uint32 itemID)
void GetBelts(uint32 systemID, std::vector< DBGPointEntity > &beltIDs, uint8 &total)
uint32 GetUInt(uint32 index) const
static void GetLootGroups(DBQueryResult &res)
double GetDouble(uint32 index) const
static PyPackedRow * GetSolarSystem(uint32 ssid)
static bool LoadPlayerDynamicEntities(uint32 systemID, std::vector< DBSystemDynamicEntity > &into)
static void GetLootGroupTypes(DBQueryResult &res)
static PyObject * ListJumps(uint32)
double GetItemTypeRadius(uint32 typeID)
void GetMoons(uint32 systemID, std::vector< DBGPointEntity > &moonIDs, uint8 &total)
bool GetRow(DBResultRow &into)
const char * c_str() const
#define codelog(type, fmt,...)
static const GPoint NULL_ORIGIN(0, 0, 0)
PyObject * DBResultToRowset(DBQueryResult &result)
void GetPlanets(uint32 systemID, std::vector< DBGPointEntity > &planetIDs, uint8 &total)
static GPoint GetSolarSystemPosition(uint32 systemID)
#define IsCharacterID(itemID)
static uint32 GetObjectLocationID(uint32 itemID)
static bool LoadSystemStaticEntities(uint32 systemID, std::vector< DBSystemEntity > &into)
typeID Spawn an NPC with the specified type text Search for items matching the specified query() type()() itemID() copy() materialLevel()() itemID(attributeID)-Retrieves attribute value." ) COMMAND( setattr
static bool GetWrecksToTypes(DBQueryResult &res)
PyPackedRow * DBRowToPackedRow(DBResultRow &row)
PyObject * ListFactions()
static void GetGates(uint32 systemID, std::vector< DBGPointEntity > &gateIDs)