19 "SELECT id, briefingID, name, level, typeID, important, storyline, raceID, constellationID, corporationID, dungeonID,"
20 " rewardISK, rewardItemID, rewardISK, rewardItemQty, bonusISK, bonusTime FROM agtMissions WHERE briefingID > 0 AND rewardISK > 0"))
21 codelog(DATABASE__ERROR,
"Error in LoadMissionData query: %s", res.
error.
c_str());
27 "SELECT q.id, q.briefingID, q.name, q.level, q.typeID, q.important, q.storyline, q.itemTypeID, q.itemQty, it.volume, q.rewardISK, q.rewardItemID,"
28 " q.rewardItemQty, q.bonusISK, q.bonusTime, q.sysRange, q.raceID"
29 " FROM qstCourier AS q LEFT JOIN invTypes AS it ON it.typeID = itemTypeID WHERE briefingID > 0 AND itemTypeID > 0 AND rewardISK > 0"))
30 codelog(DATABASE__ERROR,
"Error in LoadCourierData query: %s", res.
error.
c_str());
36 "SELECT q.id, q.briefingID, q.name, q.level, q.typeID, q.important, q.storyline, q.itemTypeID, q.itemQty, it.volume, q.rewardISK, q.rewardItemID,"
37 " q.rewardItemQty, q.bonusISK, q.bonusTime, q.sysRange, q.raceID"
38 " FROM qstMining AS q LEFT JOIN invTypes AS it ON it.typeID = itemTypeID WHERE briefingID > 0 AND itemTypeID > 0 AND rewardISK > 0"))
47 "INSERT INTO agtOffers(acceptFee, agentID, characterID, courierAmount, courierTypeID, courierVolume, dateAccepted, dateIssued, destinationID, destinationTypeID, "
48 " destinationOwnerID, destinationSystemID, expiryTime, important, storyline, missionID, briefingID, name, offerID, originID, originOwnerID, originSystemID,"
49 " remoteCompletable, remoteOfferable, rewardISK, rewardItemID, rewardItemQty, rewardLP, bonusISK, bonusTime, stateID, typeID, dungeonLocationID, dungeonSolarSystemID)"
51 " %u, %u, %u, %u, %u, %f, %f, %f, %u,"
52 " %u, %u, %u, %f, %i, %u,"
53 " %u, %u, '%s', %u, %u, %u, %u, %i,"
54 " %i, %u, %u, %u, %u, %u, %u, %u,"
62 codelog(DATABASE__ERROR,
"Failed to insert new MissionOffer: %s", err.
c_str());
72 sDatabase.RunQuery(err,
"DELETE FROM agtOffers WHERE offerID = %u", data.
offerID);
79 if (!
sDatabase.RunQuery(err,
"UPDATE agtOffers SET stateID = %u, dateAccepted = %f, dateCompleted = %f, expiryTime = %f WHERE offerID = %u",
82 codelog(DATABASE__ERROR,
"Failed to update MissionOffer: %s", err.
c_str());
89 "SELECT acceptFee, agentID, characterID, courierAmount, courierTypeID, courierVolume, dateAccepted, dateIssued, destinationID, destinationTypeID, destinationOwnerID, destinationSystemID,"
90 " expiryTime, important, storyline, missionID, briefingID, name, offerID, originID, originOwnerID, originSystemID, remoteCompletable, remoteOfferable, "
91 " rewardISK, rewardItemID, rewardItemQty, rewardLP, bonusISK, bonusTime, stateID, typeID, dungeonLocationID, dungeonSolarSystemID "
92 " FROM agtOffers WHERE dateCompleted = 0 AND stateID < 3"))
100 "SELECT agentID, characterID, courierAmount, courierTypeID, dateAccepted, dateCompleted, dateIssued, destinationID, expiryTime, important, storyline, missionID, name,"
101 " offerID, originID, rewardISK, rewardItemID, rewardItemQty, rewardLP, stateID, typeID FROM agtOffers WHERE dateCompleted > 0 OR expiryTime > %f OR stateID > 2",
GetFileTimeNow()))
102 codelog(DATABASE__ERROR,
"Error in LoadClosedOffers query: %s", res.
error.
c_str());
107 std::string ids =
"";
110 "SELECT bookmarkID, ownerID, itemID, typeID, memo, created, x, y, z, locationID, note, creatorID, folderID"
111 " FROM bookmarks WHERE bookmarkID IN (%s)", ids.c_str()))
121 sDatabase.RunQuery(res,
"SELECT itemID, quantity FROM entity WHERE typeID = %u AND ownerID = %u", typeID, charID);
124 std::map<uint32, uint16>
map;
131 for (
auto cur : map) {
134 if (cur.second <= qty) {
136 sDatabase.RunQuery(err,
"DELETE FROM entity WHERE itemID = %u", cur.first);
137 }
else if (cur.second > qty) {
138 sDatabase.RunQuery(err,
"UPDATE entity SET quantity = %u WHERE itemID = %u", qty, cur.first);
static void RemoveMissionItem(uint32 charID, uint16 typeID, uint32 qty)
int32 GetInt(uint32 index) const
static void LoadMiningData(DBQueryResult &res)
bool GetRow(DBResultRow &into)
uint32 destinationSystemID
static void LoadOpenOffers(DBQueryResult &res)
const char * c_str() const
#define codelog(type, fmt,...)
static void LoadCourierData(DBQueryResult &res)
static void LoadClosedOffers(DBQueryResult &res)
uint32 destinationOwnerID
static void LoadMissionBookMark(DBQueryResult &res, std::vector< int32 > &bmIDs)
uint32 dungeonSolarSystemID
static void CreateOfferID(MissionOffer &data)
void ListToINString(const std::vector< int32 > &ints, std::string &into, const char *if_empty)
static void UpdateMissionOffer(MissionOffer &data)
static void LoadMissionData(DBQueryResult &res)
static void DeleteOffer(MissionOffer &data)