diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-07-10 11:27:38 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-07-10 11:27:38 +0200 |
commit | 22d29ce0494c32a73e20646d2320a44a5eb2e633 (patch) | |
tree | 5b5b0b0a5b5bf25776a690531c4da75e737efdf2 /src | |
parent | a78aa3cf4ef3f33903ec9f06d8fdc46e81c51cb3 (diff) |
Core/Players: Fixed crash happening during character creation added in previous commit
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Item/Item.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 8 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.h | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index 20efd3ae93d..565609fc561 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -1897,7 +1897,7 @@ uint32 Item::GetDisplayId() const uint32 Item::GetModifier(ItemModifier modifier) const { - return GetDynamicValues(ITEM_DYNAMIC_FIELD_MODIFIERS)[modifier]; + return GetDynamicValue(ITEM_DYNAMIC_FIELD_MODIFIERS, modifier); } void Item::SetModifier(ItemModifier modifier, uint32 value) diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 56538513a92..99a9cfd25d8 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1339,6 +1339,14 @@ std::vector<uint32> const& Object::GetDynamicValues(uint16 index) const return _dynamicValues[index]; } +uint32 Object::GetDynamicValue(uint16 index, uint8 offset) const +{ + ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); + if (offset >= _dynamicValues[index].size()) + return 0; + return _dynamicValues[index][offset]; +} + void Object::AddDynamicValue(uint16 index, uint32 value) { ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index 4492a184895..ea3b5fc6f0a 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -168,6 +168,7 @@ class TC_GAME_API Object void ApplyModFlag64(uint16 index, uint64 flag, bool apply); std::vector<uint32> const& GetDynamicValues(uint16 index) const; + uint32 GetDynamicValue(uint16 index, uint8 offset) const; void AddDynamicValue(uint16 index, uint32 value); void RemoveDynamicValue(uint16 index, uint32 value); void ClearDynamicValue(uint16 index); |