diff options
| author | Treeston <treeston.mmoc@gmail.com> | 2020-09-01 00:38:46 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-02-04 23:37:29 +0100 |
| commit | c4b287c7bfb2bb2dcb5efacf238e29413ebe77ec (patch) | |
| tree | 5a12a24a3a9fbe17f9bac3e6d3ab9f60c8201598 /src/server/game/Chat | |
| parent | f7e1b5338de02649fd43dc9c952b8d4b5feb20aa (diff) | |
Core/Misc: DBC std::array refactors, and |Hachievement unit tests
(cherry picked from commit 3fbbe7cfbe1bc51db12bdc1ec7b21c16d1716366)
Diffstat (limited to 'src/server/game/Chat')
| -rw-r--r-- | src/server/game/Chat/HyperlinkTags.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/game/Chat/HyperlinkTags.cpp b/src/server/game/Chat/HyperlinkTags.cpp index b72dcfddb91..83c037d23cc 100644 --- a/src/server/game/Chat/HyperlinkTags.cpp +++ b/src/server/game/Chat/HyperlinkTags.cpp @@ -71,13 +71,17 @@ class HyperlinkDataTokenizer bool Trinity::Hyperlinks::LinkTags::achievement::StoreTo(AchievementLinkData& val, std::string_view text) { HyperlinkDataTokenizer t(text); + uint32 achievementId; if (!t.TryConsumeTo(achievementId)) return false; val.Achievement = sAchievementStore.LookupEntry(achievementId); - if (!(val.Achievement && t.TryConsumeTo(val.CharacterId) && t.TryConsumeTo(val.IsFinished) && - t.TryConsumeTo(val.Month) && t.TryConsumeTo(val.Day))) + + if (!(val.Achievement && t.TryConsumeTo(val.CharacterId) && t.TryConsumeTo(val.IsFinished) && t.TryConsumeTo(val.Month) && t.TryConsumeTo(val.Day))) return false; + if ((12 < val.Month) || (31 < val.Day)) + return false; + int32 year; if (!t.TryConsumeTo(year)) return false; @@ -90,8 +94,7 @@ bool Trinity::Hyperlinks::LinkTags::achievement::StoreTo(AchievementLinkData& va else val.Year = 0; - return (t.TryConsumeTo(val.Criteria[0]) && - t.TryConsumeTo(val.Criteria[1]) && t.TryConsumeTo(val.Criteria[2]) && t.TryConsumeTo(val.Criteria[3]) && t.IsEmpty()); + return (t.TryConsumeTo(val.Criteria[0]) && t.TryConsumeTo(val.Criteria[1]) && t.TryConsumeTo(val.Criteria[2]) && t.TryConsumeTo(val.Criteria[3]) && t.IsEmpty()); } bool Trinity::Hyperlinks::LinkTags::apower::StoreTo(ArtifactPowerLinkData& val, std::string_view text) |
