mirror of
https://github.com/EQEmu/Server.git
synced 2026-08-27 10:47:56 +00:00
[Tradeskills] Implement learning recipes from books (#4170)
This uses the book scribe button to learn recipes in SoF+ clients. For Titanium clients the button is not available so a workaround will need to be added later. Note live gives no feedback when scribing books (at least those tested).
This commit is contained in:
@@ -59,6 +59,24 @@ public:
|
||||
return NewEntity();
|
||||
}
|
||||
|
||||
// insert with ON DUPLICATE KEY UPDATE to leave rows that exist unchanged
|
||||
static int InsertUpdateMany(Database& db, const std::vector<CharRecipeList>& entries)
|
||||
{
|
||||
std::vector<std::string> values;
|
||||
values.reserve(entries.size());
|
||||
|
||||
for (const auto& e: entries)
|
||||
{
|
||||
values.emplace_back(fmt::format("({},{},{})", e.char_id, e.recipe_id, e.madecount));
|
||||
}
|
||||
|
||||
auto results = db.QueryDatabase(fmt::format(
|
||||
"INSERT INTO {0} (char_id, recipe_id, madecount) VALUES {1} ON DUPLICATE KEY UPDATE {2}={2}",
|
||||
TableName(), fmt::join(values, ","), PrimaryKey()));
|
||||
|
||||
return results.Success() ? results.RowsAffected() : 0;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif //EQEMU_CHAR_RECIPE_LIST_REPOSITORY_H
|
||||
|
||||
Reference in New Issue
Block a user