diff options
Diffstat (limited to 'src/server/game/Events/GameEventMgr.cpp')
-rw-r--r-- | src/server/game/Events/GameEventMgr.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Events/GameEventMgr.cpp b/src/server/game/Events/GameEventMgr.cpp index 0450104364f..d27b7b12a4e 100644 --- a/src/server/game/Events/GameEventMgr.cpp +++ b/src/server/game/Events/GameEventMgr.cpp @@ -30,6 +30,7 @@ #include "ObjectMgr.h" #include "Player.h" #include "PoolMgr.h" +#include "StringConvert.h" #include "World.h" #include "WorldStatePackets.h" @@ -856,9 +857,9 @@ void GameEventMgr::LoadFromDB() vItem.PlayerConditionId = fields[8].GetUInt32(); vItem.IgnoreFiltering = fields[9].GetBool(); - Tokenizer bonusListIDsTok(fields[7].GetString(), ' '); - for (char const* token : bonusListIDsTok) - vItem.BonusListIDs.push_back(int32(atol(token))); + for (std::string_view token : Trinity::Tokenize(fields[7].GetStringView(), ' ', false)) + if (Optional<int32> bonusListID = Trinity::StringTo<int32>(token)) + vItem.BonusListIDs.push_back(*bonusListID); // check validity with event's npcflag if (!sObjectMgr->IsVendorItemValid(entry, vItem, nullptr, nullptr, event_npc_flag)) |