summaryrefslogtreecommitdiff
path: root/src/server/database/Database/Implementation
diff options
context:
space:
mode:
authorNoxies <eronoxsmail@gmail.com>2021-12-09 03:57:15 +0100
committerGitHub <noreply@github.com>2021-12-08 23:57:15 -0300
commitc95c29838be46c3d5482bda1d2b93e843c6c47d2 (patch)
treef5947b90d3f917870fb46694ee18648a1ecbd6e9 /src/server/database/Database/Implementation
parent8ae8db5283ee8c89edc247cd81841ef7e839825c (diff)
feat(Scripts/Commands): Item restoration command (#9538)
* Implement item restore command & move itemmove to new item cmd * Implement LANG_COMMAND_DISABLED * Prevent command usage if no config is set * WIP: `.item restore list` * Fix restore list & create base for restore item * Send item to player via mail * Put player as last argument * Use Postmaster & fix restore list * Show item name in restore list * Update HandleItemMoveCommand to be using the api Co-authored-by: Skjalf <47818697+Nyeriah@users.noreply.github.com> * Send item instantly if online
Diffstat (limited to 'src/server/database/Database/Implementation')
-rw-r--r--src/server/database/Database/Implementation/CharacterDatabase.cpp3
-rw-r--r--src/server/database/Database/Implementation/CharacterDatabase.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/server/database/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp
index 30875a93c0..32b2ff0486 100644
--- a/src/server/database/Database/Implementation/CharacterDatabase.cpp
+++ b/src/server/database/Database/Implementation/CharacterDatabase.cpp
@@ -593,7 +593,10 @@ void CharacterDatabaseConnection::DoPrepareStatements()
// Recovery Item
PrepareStatement(CHAR_INS_RECOVERY_ITEM, "INSERT INTO recovery_item (Guid, ItemEntry, Count) VALUES (?, ?, ?)", CONNECTION_SYNCH);
+ PrepareStatement(CHAR_SEL_RECOVERY_ITEM, "SELECT id, itemEntry, Count FROM recovery_item WHERE id = ?", CONNECTION_SYNCH);
+ PrepareStatement(CHAR_SEL_RECOVERY_ITEM_LIST, "SELECT id, itemEntry, Count FROM recovery_item WHERE Guid = ? ORDER BY id DESC", CONNECTION_SYNCH);
PrepareStatement(CHAR_DEL_RECOVERY_ITEM, "DELETE FROM recovery_item WHERE Guid = ? AND ItemEntry = ? AND Count = ? ORDER BY Id DESC LIMIT 1", CONNECTION_ASYNC);
+ PrepareStatement(CHAR_DEL_RECOVERY_ITEM_BY_RECOVERY_ID, "DELETE FROM recovery_item WHERE id = ?", CONNECTION_ASYNC);
// Character names
PrepareStatement(CHAR_INS_RESERVED_PLAYER_NAME, "INSERT IGNORE INTO reserved_name (name) VALUES (?)", CONNECTION_ASYNC);
diff --git a/src/server/database/Database/Implementation/CharacterDatabase.h b/src/server/database/Database/Implementation/CharacterDatabase.h
index 5efb51b86d..2d675c6670 100644
--- a/src/server/database/Database/Implementation/CharacterDatabase.h
+++ b/src/server/database/Database/Implementation/CharacterDatabase.h
@@ -509,7 +509,10 @@ enum CharacterDatabaseStatements : uint32
CHAR_UPD_QUEST_TRACK_ABANDON_TIME,
CHAR_INS_RECOVERY_ITEM,
+ CHAR_SEL_RECOVERY_ITEM,
+ CHAR_SEL_RECOVERY_ITEM_LIST,
CHAR_DEL_RECOVERY_ITEM,
+ CHAR_DEL_RECOVERY_ITEM_BY_RECOVERY_ID,
CHAR_INS_RESERVED_PLAYER_NAME,