diff options
18 files changed, 931 insertions, 356 deletions
diff --git a/sql/updates/world/master/2017_04_16_00_world.sql b/sql/updates/world/master/2017_04_16_00_world.sql new file mode 100644 index 00000000000..bfa61ed2a67 --- /dev/null +++ b/sql/updates/world/master/2017_04_16_00_world.sql @@ -0,0 +1 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName` IN ('spell_mimiron_p3wx2_laser_barrage','spell_mimiron_spinning_up','spell_monk_surging_mist','spell_monk_surging_mist_glyphed','spell_pri_mind_sear'); diff --git a/src/server/game/Battlegrounds/Battleground.cpp b/src/server/game/Battlegrounds/Battleground.cpp index 86c6b5d8cc5..928ac0f1b30 100644 --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -1697,7 +1697,7 @@ bool Battleground::AddSpiritGuide(uint32 type, float x, float y, float z, float if (Creature* creature = AddCreature(entry, type, x, y, z, o, teamId)) { creature->setDeathState(DEAD); - creature->SetChannelObjectGuid(creature->GetGUID()); + creature->AddChannelObject(creature->GetGUID()); // aura /// @todo Fix display here // creature->SetVisibleAura(0, SPELL_SPIRIT_HEAL_CHANNEL); diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp index 97f70e5a8f7..8caf45a59e4 100644 --- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp +++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp @@ -104,6 +104,7 @@ bool AreaTrigger::CreateAreaTrigger(uint32 spellMiscId, Unit* caster, Unit* targ SetGuidValue(AREATRIGGER_CREATING_EFFECT_GUID, castId); SetUInt32Value(AREATRIGGER_SPELLID, spell->Id); + SetUInt32Value(AREATRIGGER_SPELL_FOR_VISUALS, spell->Id); SetUInt32Value(AREATRIGGER_SPELL_X_SPELL_VISUAL_ID, spellXSpellVisualId); SetUInt32Value(AREATRIGGER_TIME_TO_TARGET_SCALE, GetMiscTemplate()->TimeToTargetScale != 0 ? GetMiscTemplate()->TimeToTargetScale : GetUInt32Value(AREATRIGGER_DURATION)); SetFloatValue(AREATRIGGER_BOUNDS_RADIUS_2D, GetTemplate()->MaxSearchRadius); diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index b5bc67bd8ad..71ce53919ce 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -236,7 +236,7 @@ class TC_GAME_API Object template<class T> DynamicFieldStructuredView<T> GetDynamicStructuredValues(uint16 index) const { - static_assert(std::is_pod<T>::value, "T used for Object::SetDynamicStructuredValue<T> is not a POD type"); + static_assert(std::is_standard_layout<T>::value && std::is_trivially_destructible<T>::value, "T used for Object::SetDynamicStructuredValue<T> is not a trivially destructible standard layout type"); using BlockCount = std::integral_constant<uint16, sizeof(T) / sizeof(uint32)>; ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); std::vector<uint32> const& values = _dynamicValues[index]; @@ -247,7 +247,7 @@ class TC_GAME_API Object template<class T> T const* GetDynamicStructuredValue(uint16 index, uint16 offset) const { - static_assert(std::is_pod<T>::value, "T used for Object::SetDynamicStructuredValue<T> is not a POD type"); + static_assert(std::is_standard_layout<T>::value && std::is_trivially_destructible<T>::value, "T used for Object::SetDynamicStructuredValue<T> is not a trivially destructible standard layout type"); using BlockCount = std::integral_constant<uint16, sizeof(T) / sizeof(uint32)>; ASSERT(index < _dynamicValuesCount || PrintIndexError(index, false)); std::vector<uint32> const& values = _dynamicValues[index]; @@ -260,13 +260,25 @@ class TC_GAME_API Object template<class T> void SetDynamicStructuredValue(uint16 index, uint16 offset, T const* value) { - static_assert(std::is_pod<T>::value, "T used for Object::SetDynamicStructuredValue<T> is not a POD type"); + static_assert(std::is_standard_layout<T>::value && std::is_trivially_destructible<T>::value, "T used for Object::SetDynamicStructuredValue<T> is not a trivially destructible standard layout type"); using BlockCount = std::integral_constant<uint16, sizeof(T) / sizeof(uint32)>; SetDynamicValue(index, (offset + 1) * BlockCount::value - 1, 0); // reserve space for (uint16 i = 0; i < BlockCount::value; ++i) SetDynamicValue(index, offset * BlockCount::value + i, *(reinterpret_cast<uint32 const*>(value) + i)); } + template<class T> + void AddDynamicStructuredValue(uint16 index, T const* value) + { + static_assert(std::is_standard_layout<T>::value && std::is_trivially_destructible<T>::value, "T used for Object::SetDynamicStructuredValue<T> is not a trivially destructible standard layout type"); + using BlockCount = std::integral_constant<uint16, sizeof(T) / sizeof(uint32)>; + std::vector<uint32> const& values = _dynamicValues[index]; + uint16 offset = uint16(values.size() / BlockCount::value); + SetDynamicValue(index, (offset + 1) * BlockCount::value - 1, 0); // reserve space + for (uint16 i = 0; i < BlockCount::value; ++i) + SetDynamicValue(index, offset * BlockCount::value + i, *(reinterpret_cast<uint32 const*>(value) + i)); + } + void ClearUpdateMask(bool remove); uint16 GetValuesCount() const { return m_valuesCount; } diff --git a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp index 9f053c2310c..9876fe85e4e 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp +++ b/src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp @@ -102,6 +102,7 @@ uint32 ItemUpdateFieldFlags[CONTAINER_END] = UF_FLAG_OWNER, // ITEM_FIELD_MODIFIERS_MASK UF_FLAG_PUBLIC, // ITEM_FIELD_CONTEXT UF_FLAG_OWNER, // ITEM_FIELD_ARTIFACT_XP + UF_FLAG_OWNER, // ITEM_FIELD_ARTIFACT_XP+1 UF_FLAG_OWNER, // ITEM_FIELD_APPEARANCE_MOD_ID UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1 UF_FLAG_PUBLIC, // CONTAINER_FIELD_SLOT_1+1 @@ -310,10 +311,6 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_COMPANION_GUID+3 UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_DB_ID UF_FLAG_PUBLIC, // UNIT_FIELD_BATTLE_PET_DB_ID+1 - UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_CHANNEL_OBJECT - UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_CHANNEL_OBJECT+1 - UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_CHANNEL_OBJECT+2 - UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_FIELD_CHANNEL_OBJECT+3 UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_CHANNEL_SPELL UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_CHANNEL_SPELL_X_SPELL_VISUAL UF_FLAG_PUBLIC, // UNIT_FIELD_SUMMONED_BY_HOME_REALM @@ -4040,6 +4037,756 @@ uint32 UnitUpdateFieldFlags[PLAYER_END] = UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+997 UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+998 UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+999 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1000 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1001 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1002 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1003 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1004 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1005 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1006 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1007 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1008 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1009 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1010 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1011 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1012 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1013 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1014 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1015 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1016 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1017 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1018 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1019 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1020 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1021 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1022 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1023 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1024 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1025 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1026 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1027 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1028 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1029 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1030 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1031 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1032 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1033 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1034 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1035 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1036 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1037 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1038 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1039 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1040 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1041 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1042 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1043 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1044 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1045 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1046 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1047 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1048 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1049 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1050 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1051 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1052 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1053 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1054 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1055 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1056 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1057 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1058 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1059 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1060 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1061 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1062 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1063 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1064 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1065 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1066 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1067 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1068 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1069 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1070 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1071 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1072 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1073 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1074 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1075 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1076 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1077 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1078 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1079 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1080 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1081 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1082 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1083 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1084 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1085 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1086 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1087 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1088 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1089 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1090 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1091 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1092 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1093 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1094 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1095 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1096 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1097 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1098 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1099 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1100 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1101 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1102 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1103 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1104 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1105 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1106 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1107 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1108 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1109 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1110 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1111 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1112 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1113 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1114 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1115 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1116 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1117 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1118 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1119 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1120 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1121 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1122 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1123 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1124 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1125 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1126 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1127 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1128 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1129 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1130 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1131 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1132 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1133 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1134 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1135 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1136 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1137 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1138 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1139 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1140 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1141 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1142 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1143 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1144 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1145 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1146 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1147 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1148 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1149 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1150 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1151 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1152 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1153 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1154 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1155 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1156 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1157 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1158 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1159 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1160 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1161 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1162 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1163 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1164 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1165 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1166 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1167 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1168 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1169 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1170 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1171 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1172 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1173 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1174 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1175 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1176 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1177 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1178 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1179 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1180 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1181 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1182 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1183 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1184 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1185 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1186 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1187 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1188 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1189 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1190 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1191 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1192 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1193 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1194 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1195 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1196 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1197 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1198 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1199 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1200 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1201 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1202 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1203 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1204 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1205 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1206 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1207 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1208 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1209 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1210 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1211 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1212 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1213 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1214 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1215 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1216 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1217 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1218 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1219 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1220 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1221 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1222 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1223 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1224 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1225 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1226 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1227 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1228 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1229 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1230 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1231 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1232 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1233 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1234 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1235 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1236 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1237 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1238 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1239 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1240 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1241 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1242 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1243 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1244 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1245 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1246 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1247 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1248 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1249 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1250 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1251 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1252 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1253 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1254 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1255 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1256 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1257 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1258 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1259 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1260 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1261 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1262 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1263 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1264 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1265 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1266 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1267 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1268 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1269 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1270 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1271 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1272 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1273 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1274 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1275 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1276 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1277 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1278 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1279 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1280 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1281 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1282 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1283 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1284 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1285 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1286 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1287 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1288 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1289 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1290 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1291 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1292 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1293 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1294 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1295 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1296 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1297 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1298 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1299 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1300 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1301 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1302 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1303 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1304 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1305 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1306 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1307 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1308 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1309 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1310 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1311 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1312 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1313 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1314 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1315 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1316 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1317 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1318 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1319 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1320 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1321 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1322 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1323 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1324 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1325 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1326 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1327 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1328 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1329 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1330 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1331 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1332 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1333 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1334 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1335 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1336 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1337 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1338 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1339 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1340 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1341 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1342 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1343 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1344 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1345 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1346 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1347 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1348 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1349 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1350 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1351 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1352 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1353 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1354 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1355 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1356 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1357 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1358 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1359 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1360 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1361 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1362 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1363 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1364 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1365 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1366 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1367 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1368 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1369 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1370 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1371 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1372 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1373 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1374 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1375 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1376 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1377 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1378 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1379 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1380 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1381 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1382 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1383 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1384 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1385 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1386 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1387 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1388 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1389 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1390 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1391 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1392 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1393 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1394 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1395 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1396 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1397 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1398 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1399 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1400 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1401 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1402 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1403 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1404 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1405 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1406 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1407 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1408 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1409 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1410 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1411 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1412 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1413 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1414 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1415 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1416 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1417 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1418 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1419 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1420 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1421 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1422 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1423 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1424 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1425 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1426 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1427 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1428 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1429 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1430 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1431 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1432 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1433 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1434 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1435 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1436 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1437 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1438 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1439 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1440 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1441 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1442 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1443 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1444 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1445 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1446 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1447 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1448 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1449 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1450 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1451 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1452 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1453 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1454 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1455 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1456 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1457 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1458 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1459 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1460 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1461 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1462 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1463 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1464 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1465 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1466 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1467 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1468 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1469 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1470 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1471 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1472 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1473 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1474 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1475 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1476 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1477 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1478 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1479 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1480 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1481 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1482 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1483 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1484 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1485 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1486 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1487 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1488 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1489 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1490 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1491 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1492 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1493 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1494 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1495 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1496 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1497 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1498 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1499 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1500 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1501 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1502 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1503 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1504 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1505 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1506 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1507 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1508 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1509 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1510 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1511 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1512 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1513 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1514 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1515 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1516 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1517 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1518 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1519 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1520 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1521 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1522 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1523 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1524 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1525 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1526 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1527 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1528 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1529 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1530 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1531 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1532 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1533 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1534 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1535 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1536 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1537 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1538 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1539 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1540 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1541 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1542 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1543 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1544 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1545 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1546 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1547 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1548 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1549 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1550 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1551 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1552 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1553 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1554 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1555 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1556 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1557 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1558 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1559 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1560 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1561 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1562 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1563 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1564 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1565 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1566 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1567 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1568 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1569 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1570 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1571 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1572 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1573 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1574 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1575 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1576 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1577 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1578 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1579 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1580 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1581 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1582 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1583 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1584 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1585 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1586 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1587 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1588 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1589 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1590 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1591 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1592 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1593 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1594 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1595 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1596 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1597 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1598 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1599 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1600 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1601 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1602 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1603 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1604 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1605 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1606 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1607 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1608 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1609 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1610 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1611 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1612 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1613 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1614 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1615 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1616 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1617 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1618 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1619 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1620 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1621 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1622 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1623 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1624 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1625 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1626 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1627 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1628 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1629 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1630 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1631 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1632 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1633 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1634 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1635 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1636 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1637 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1638 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1639 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1640 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1641 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1642 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1643 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1644 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1645 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1646 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1647 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1648 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1649 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1650 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1651 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1652 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1653 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1654 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1655 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1656 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1657 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1658 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1659 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1660 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1661 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1662 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1663 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1664 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1665 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1666 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1667 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1668 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1669 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1670 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1671 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1672 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1673 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1674 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1675 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1676 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1677 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1678 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1679 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1680 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1681 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1682 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1683 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1684 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1685 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1686 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1687 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1688 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1689 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1690 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1691 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1692 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1693 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1694 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1695 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1696 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1697 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1698 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1699 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1700 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1701 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1702 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1703 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1704 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1705 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1706 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1707 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1708 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1709 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1710 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1711 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1712 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1713 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1714 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1715 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1716 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1717 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1718 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1719 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1720 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1721 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1722 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1723 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1724 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1725 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1726 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1727 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1728 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1729 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1730 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1731 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1732 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1733 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1734 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1735 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1736 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1737 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1738 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1739 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1740 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1741 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1742 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1743 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1744 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1745 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1746 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1747 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1748 + UF_FLAG_PRIVATE, // PLAYER_FIELD_QUEST_COMPLETED+1749 UF_FLAG_PRIVATE, // PLAYER_FIELD_HONOR UF_FLAG_PRIVATE, // PLAYER_FIELD_HONOR_NEXT_LEVEL }; @@ -4048,6 +4795,7 @@ uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END] = { UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_DYNAMIC_FIELD_PASSIVE_SPELLS UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_DYNAMIC_FIELD_WORLD_EFFECTS + UF_FLAG_PUBLIC | UF_FLAG_URGENT, // UNIT_DYNAMIC_FIELD_CHANNEL_OBJECTS UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_RESERACH_SITE UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_RESEARCH_SITE_PROGRESS UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_DAILY_QUESTS @@ -4060,6 +4808,7 @@ uint32 UnitDynamicUpdateFieldFlags[PLAYER_DYNAMIC_END] = UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL UF_FLAG_PRIVATE, // PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL + UF_FLAG_PUBLIC, // PLAYER_DYNAMIC_FIELD_ARENA_COOLDOWNS }; uint32 GameObjectUpdateFieldFlags[GAMEOBJECT_END] = @@ -4216,6 +4965,7 @@ uint32 AreaTriggerUpdateFieldFlags[AREATRIGGER_END] = UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_TIME_TO_TARGET_SCALE UF_FLAG_PUBLIC | UF_FLAG_URGENT, // AREATRIGGER_TIME_TO_TARGET_EXTRA_SCALE UF_FLAG_PUBLIC, // AREATRIGGER_SPELLID + UF_FLAG_PUBLIC, // AREATRIGGER_SPELL_FOR_VISUALS UF_FLAG_PUBLIC, // AREATRIGGER_SPELL_X_SPELL_VISUAL_ID UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // AREATRIGGER_BOUNDS_RADIUS_2D UF_FLAG_PUBLIC, // AREATRIGGER_DECAL_PROPERTIES_ID @@ -4262,7 +5012,7 @@ uint32 ConversationUpdateFieldFlags[CONVERSATION_END] = UF_FLAG_DYNAMIC, // OBJECT_FIELD_ENTRY UF_FLAG_DYNAMIC | UF_FLAG_URGENT, // OBJECT_DYNAMIC_FLAGS UF_FLAG_PUBLIC, // OBJECT_FIELD_SCALE_X - UF_FLAG_DYNAMIC, // CONVERSATION_FIELD_LAST_LINE_DURATION + UF_FLAG_DYNAMIC, // CONVERSATION_LAST_LINE_END_TIME }; uint32 ConversationDynamicUpdateFieldFlags[CONVERSATION_DYNAMIC_END] = diff --git a/src/server/game/Entities/Object/Updates/UpdateFields.h b/src/server/game/Entities/Object/Updates/UpdateFields.h index 8e6d7136d1d..152e4009c63 100644 --- a/src/server/game/Entities/Object/Updates/UpdateFields.h +++ b/src/server/game/Entities/Object/Updates/UpdateFields.h @@ -19,7 +19,7 @@ #ifndef _UPDATEFIELDS_H #define _UPDATEFIELDS_H -// Auto generated for version 7, 1, 5, 23360 +// Auto generated for version 7, 2, 0, 23801 enum ObjectFields { @@ -55,9 +55,9 @@ enum ItemFields ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x043, // Size: 1, Flags: PUBLIC ITEM_FIELD_MODIFIERS_MASK = OBJECT_END + 0x044, // Size: 1, Flags: OWNER ITEM_FIELD_CONTEXT = OBJECT_END + 0x045, // Size: 1, Flags: PUBLIC - ITEM_FIELD_ARTIFACT_XP = OBJECT_END + 0x046, // Size: 1, Flags: OWNER - ITEM_FIELD_APPEARANCE_MOD_ID = OBJECT_END + 0x047, // Size: 1, Flags: OWNER - ITEM_END = OBJECT_END + 0x048, + ITEM_FIELD_ARTIFACT_XP = OBJECT_END + 0x046, // Size: 2, Flags: OWNER + ITEM_FIELD_APPEARANCE_MOD_ID = OBJECT_END + 0x048, // Size: 1, Flags: OWNER + ITEM_END = OBJECT_END + 0x049, }; enum ItemDynamicFields @@ -93,103 +93,103 @@ enum UnitFields UNIT_FIELD_TARGET = OBJECT_END + 0x01C, // Size: 4, Flags: PUBLIC UNIT_FIELD_BATTLE_PET_COMPANION_GUID = OBJECT_END + 0x020, // Size: 4, Flags: PUBLIC UNIT_FIELD_BATTLE_PET_DB_ID = OBJECT_END + 0x024, // Size: 2, Flags: PUBLIC - UNIT_FIELD_CHANNEL_OBJECT = OBJECT_END + 0x026, // Size: 4, Flags: PUBLIC, URGENT - UNIT_CHANNEL_SPELL = OBJECT_END + 0x02A, // Size: 1, Flags: PUBLIC, URGENT - UNIT_CHANNEL_SPELL_X_SPELL_VISUAL = OBJECT_END + 0x02B, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_SUMMONED_BY_HOME_REALM = OBJECT_END + 0x02C, // Size: 1, Flags: PUBLIC - UNIT_FIELD_BYTES_0 = OBJECT_END + 0x02D, // Size: 1, Flags: PUBLIC - UNIT_FIELD_DISPLAY_POWER = OBJECT_END + 0x02E, // Size: 1, Flags: PUBLIC - UNIT_FIELD_OVERRIDE_DISPLAY_POWER_ID = OBJECT_END + 0x02F, // Size: 1, Flags: PUBLIC - UNIT_FIELD_HEALTH = OBJECT_END + 0x030, // Size: 2, Flags: PUBLIC - UNIT_FIELD_POWER = OBJECT_END + 0x032, // Size: 6, Flags: PUBLIC, URGENT_SELF_ONLY - UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x038, // Size: 2, Flags: PUBLIC - UNIT_FIELD_MAXPOWER = OBJECT_END + 0x03A, // Size: 6, Flags: PUBLIC - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x040, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x046, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL - UNIT_FIELD_LEVEL = OBJECT_END + 0x04C, // Size: 1, Flags: PUBLIC - UNIT_FIELD_EFFECTIVE_LEVEL = OBJECT_END + 0x04D, // Size: 1, Flags: PUBLIC - UNIT_FIELD_SCALING_LEVEL_MIN = OBJECT_END + 0x04E, // Size: 1, Flags: PUBLIC - UNIT_FIELD_SCALING_LEVEL_MAX = OBJECT_END + 0x04F, // Size: 1, Flags: PUBLIC - UNIT_FIELD_SCALING_LEVEL_DELTA = OBJECT_END + 0x050, // Size: 1, Flags: PUBLIC - UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x051, // Size: 1, Flags: PUBLIC - UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x052, // Size: 6, Flags: PUBLIC - UNIT_FIELD_FLAGS = OBJECT_END + 0x058, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x059, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_FLAGS_3 = OBJECT_END + 0x05A, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_AURASTATE = OBJECT_END + 0x05B, // Size: 1, Flags: PUBLIC - UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x05C, // Size: 2, Flags: PUBLIC - UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x05E, // Size: 1, Flags: PRIVATE - UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x05F, // Size: 1, Flags: PUBLIC - UNIT_FIELD_COMBATREACH = OBJECT_END + 0x060, // Size: 1, Flags: PUBLIC - UNIT_FIELD_DISPLAYID = OBJECT_END + 0x061, // Size: 1, Flags: DYNAMIC, URGENT - UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x062, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x063, // Size: 1, Flags: PUBLIC, URGENT - UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x064, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x065, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x066, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x067, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_BYTES_1 = OBJECT_END + 0x068, // Size: 1, Flags: PUBLIC - UNIT_FIELD_PETNUMBER = OBJECT_END + 0x069, // Size: 1, Flags: PUBLIC - UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x06A, // Size: 1, Flags: PUBLIC - UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x06B, // Size: 1, Flags: OWNER - UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x06C, // Size: 1, Flags: OWNER - UNIT_MOD_CAST_SPEED = OBJECT_END + 0x06D, // Size: 1, Flags: PUBLIC - UNIT_MOD_CAST_HASTE = OBJECT_END + 0x06E, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MOD_HASTE = OBJECT_END + 0x06F, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MOD_RANGED_HASTE = OBJECT_END + 0x070, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MOD_HASTE_REGEN = OBJECT_END + 0x071, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MOD_TIME_RATE = OBJECT_END + 0x072, // Size: 1, Flags: PUBLIC - UNIT_CREATED_BY_SPELL = OBJECT_END + 0x073, // Size: 1, Flags: PUBLIC - UNIT_NPC_FLAGS = OBJECT_END + 0x074, // Size: 2, Flags: PUBLIC, DYNAMIC - UNIT_NPC_EMOTESTATE = OBJECT_END + 0x076, // Size: 1, Flags: PUBLIC - UNIT_FIELD_STAT = OBJECT_END + 0x077, // Size: 4, Flags: PRIVATE, OWNER - UNIT_FIELD_POSSTAT = OBJECT_END + 0x07B, // Size: 4, Flags: PRIVATE, OWNER - UNIT_FIELD_NEGSTAT = OBJECT_END + 0x07F, // Size: 4, Flags: PRIVATE, OWNER - UNIT_FIELD_RESISTANCES = OBJECT_END + 0x083, // Size: 7, Flags: PRIVATE, OWNER, SPECIAL_INFO - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x08A, // Size: 7, Flags: PRIVATE, OWNER - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x091, // Size: 7, Flags: PRIVATE, OWNER - UNIT_FIELD_MOD_BONUS_ARMOR = OBJECT_END + 0x098, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_BASE_MANA = OBJECT_END + 0x099, // Size: 1, Flags: PUBLIC - UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x09A, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_BYTES_2 = OBJECT_END + 0x09B, // Size: 1, Flags: PUBLIC - UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x09C, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09D, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09E, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x09F, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x0A0, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS = OBJECT_END + 0x0A1, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x0A2, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0A3, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_ATTACK_SPEED_AURA = OBJECT_END + 0x0A4, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x0A5, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x0A6, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x0A7, // Size: 7, Flags: PRIVATE, OWNER - UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0AE, // Size: 7, Flags: PRIVATE, OWNER - UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x0B5, // Size: 1, Flags: PRIVATE, OWNER - UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x0B6, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MIN_ITEM_LEVEL_CUTOFF = OBJECT_END + 0x0B7, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MIN_ITEM_LEVEL = OBJECT_END + 0x0B8, // Size: 1, Flags: PUBLIC - UNIT_FIELD_MAXITEMLEVEL = OBJECT_END + 0x0B9, // Size: 1, Flags: PUBLIC - UNIT_FIELD_WILD_BATTLEPET_LEVEL = OBJECT_END + 0x0BA, // Size: 1, Flags: PUBLIC - UNIT_FIELD_BATTLEPET_COMPANION_NAME_TIMESTAMP = OBJECT_END + 0x0BB, // Size: 1, Flags: PUBLIC - UNIT_FIELD_INTERACT_SPELLID = OBJECT_END + 0x0BC, // Size: 1, Flags: PUBLIC - UNIT_FIELD_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x0BD, // Size: 1, Flags: DYNAMIC, URGENT - UNIT_FIELD_STATE_ANIM_ID = OBJECT_END + 0x0BE, // Size: 1, Flags: DYNAMIC, URGENT - UNIT_FIELD_STATE_ANIM_KIT_ID = OBJECT_END + 0x0BF, // Size: 1, Flags: DYNAMIC, URGENT - UNIT_FIELD_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x0C0, // Size: 4, Flags: DYNAMIC, URGENT - UNIT_FIELD_SCALE_DURATION = OBJECT_END + 0x0C4, // Size: 1, Flags: PUBLIC - UNIT_FIELD_LOOKS_LIKE_MOUNT_ID = OBJECT_END + 0x0C5, // Size: 1, Flags: PUBLIC - UNIT_FIELD_LOOKS_LIKE_CREATURE_ID = OBJECT_END + 0x0C6, // Size: 1, Flags: PUBLIC - UNIT_FIELD_LOOK_AT_CONTROLLER_ID = OBJECT_END + 0x0C7, // Size: 1, Flags: PUBLIC - UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET = OBJECT_END + 0x0C8, // Size: 4, Flags: PUBLIC - UNIT_END = OBJECT_END + 0x0CC, + UNIT_CHANNEL_SPELL = OBJECT_END + 0x026, // Size: 1, Flags: PUBLIC, URGENT + UNIT_CHANNEL_SPELL_X_SPELL_VISUAL = OBJECT_END + 0x027, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_SUMMONED_BY_HOME_REALM = OBJECT_END + 0x028, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BYTES_0 = OBJECT_END + 0x029, // Size: 1, Flags: PUBLIC + UNIT_FIELD_DISPLAY_POWER = OBJECT_END + 0x02A, // Size: 1, Flags: PUBLIC + UNIT_FIELD_OVERRIDE_DISPLAY_POWER_ID = OBJECT_END + 0x02B, // Size: 1, Flags: PUBLIC + UNIT_FIELD_HEALTH = OBJECT_END + 0x02C, // Size: 2, Flags: PUBLIC + UNIT_FIELD_POWER = OBJECT_END + 0x02E, // Size: 6, Flags: PUBLIC, URGENT_SELF_ONLY + UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x034, // Size: 2, Flags: PUBLIC + UNIT_FIELD_MAXPOWER = OBJECT_END + 0x036, // Size: 6, Flags: PUBLIC + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x03C, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x042, // Size: 6, Flags: PRIVATE, OWNER, UNIT_ALL + UNIT_FIELD_LEVEL = OBJECT_END + 0x048, // Size: 1, Flags: PUBLIC + UNIT_FIELD_EFFECTIVE_LEVEL = OBJECT_END + 0x049, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_LEVEL_MIN = OBJECT_END + 0x04A, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_LEVEL_MAX = OBJECT_END + 0x04B, // Size: 1, Flags: PUBLIC + UNIT_FIELD_SCALING_LEVEL_DELTA = OBJECT_END + 0x04C, // Size: 1, Flags: PUBLIC + UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x04D, // Size: 1, Flags: PUBLIC + UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x04E, // Size: 6, Flags: PUBLIC + UNIT_FIELD_FLAGS = OBJECT_END + 0x054, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x055, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_FLAGS_3 = OBJECT_END + 0x056, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_AURASTATE = OBJECT_END + 0x057, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x058, // Size: 2, Flags: PUBLIC + UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x05A, // Size: 1, Flags: PRIVATE + UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x05B, // Size: 1, Flags: PUBLIC + UNIT_FIELD_COMBATREACH = OBJECT_END + 0x05C, // Size: 1, Flags: PUBLIC + UNIT_FIELD_DISPLAYID = OBJECT_END + 0x05D, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x05E, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x05F, // Size: 1, Flags: PUBLIC, URGENT + UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x060, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x061, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x062, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x063, // Size: 1, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_BYTES_1 = OBJECT_END + 0x064, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PETNUMBER = OBJECT_END + 0x065, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x066, // Size: 1, Flags: PUBLIC + UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x067, // Size: 1, Flags: OWNER + UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x068, // Size: 1, Flags: OWNER + UNIT_MOD_CAST_SPEED = OBJECT_END + 0x069, // Size: 1, Flags: PUBLIC + UNIT_MOD_CAST_HASTE = OBJECT_END + 0x06A, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_HASTE = OBJECT_END + 0x06B, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_RANGED_HASTE = OBJECT_END + 0x06C, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_HASTE_REGEN = OBJECT_END + 0x06D, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MOD_TIME_RATE = OBJECT_END + 0x06E, // Size: 1, Flags: PUBLIC + UNIT_CREATED_BY_SPELL = OBJECT_END + 0x06F, // Size: 1, Flags: PUBLIC + UNIT_NPC_FLAGS = OBJECT_END + 0x070, // Size: 2, Flags: PUBLIC, DYNAMIC + UNIT_NPC_EMOTESTATE = OBJECT_END + 0x072, // Size: 1, Flags: PUBLIC + UNIT_FIELD_STAT = OBJECT_END + 0x073, // Size: 4, Flags: PRIVATE, OWNER + UNIT_FIELD_POSSTAT = OBJECT_END + 0x077, // Size: 4, Flags: PRIVATE, OWNER + UNIT_FIELD_NEGSTAT = OBJECT_END + 0x07B, // Size: 4, Flags: PRIVATE, OWNER + UNIT_FIELD_RESISTANCES = OBJECT_END + 0x07F, // Size: 7, Flags: PRIVATE, OWNER, SPECIAL_INFO + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x086, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x08D, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_MOD_BONUS_ARMOR = OBJECT_END + 0x094, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_BASE_MANA = OBJECT_END + 0x095, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x096, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_BYTES_2 = OBJECT_END + 0x097, // Size: 1, Flags: PUBLIC + UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x098, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MOD_POS = OBJECT_END + 0x099, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09A, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x09B, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x09C, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MOD_POS = OBJECT_END + 0x09D, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MOD_NEG = OBJECT_END + 0x09E, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x09F, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_ATTACK_SPEED_AURA = OBJECT_END + 0x0A0, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x0A1, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x0A2, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x0A3, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0AA, // Size: 7, Flags: PRIVATE, OWNER + UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x0B1, // Size: 1, Flags: PRIVATE, OWNER + UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x0B2, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MIN_ITEM_LEVEL_CUTOFF = OBJECT_END + 0x0B3, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MIN_ITEM_LEVEL = OBJECT_END + 0x0B4, // Size: 1, Flags: PUBLIC + UNIT_FIELD_MAXITEMLEVEL = OBJECT_END + 0x0B5, // Size: 1, Flags: PUBLIC + UNIT_FIELD_WILD_BATTLEPET_LEVEL = OBJECT_END + 0x0B6, // Size: 1, Flags: PUBLIC + UNIT_FIELD_BATTLEPET_COMPANION_NAME_TIMESTAMP = OBJECT_END + 0x0B7, // Size: 1, Flags: PUBLIC + UNIT_FIELD_INTERACT_SPELLID = OBJECT_END + 0x0B8, // Size: 1, Flags: PUBLIC + UNIT_FIELD_STATE_SPELL_VISUAL_ID = OBJECT_END + 0x0B9, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_ANIM_ID = OBJECT_END + 0x0BA, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_ANIM_KIT_ID = OBJECT_END + 0x0BB, // Size: 1, Flags: DYNAMIC, URGENT + UNIT_FIELD_STATE_WORLD_EFFECT_ID = OBJECT_END + 0x0BC, // Size: 4, Flags: DYNAMIC, URGENT + UNIT_FIELD_SCALE_DURATION = OBJECT_END + 0x0C0, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOKS_LIKE_MOUNT_ID = OBJECT_END + 0x0C1, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOKS_LIKE_CREATURE_ID = OBJECT_END + 0x0C2, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOK_AT_CONTROLLER_ID = OBJECT_END + 0x0C3, // Size: 1, Flags: PUBLIC + UNIT_FIELD_LOOK_AT_CONTROLLER_TARGET = OBJECT_END + 0x0C4, // Size: 4, Flags: PUBLIC + UNIT_END = OBJECT_END + 0x0C8, }; enum UnitDynamicFields { UNIT_DYNAMIC_FIELD_PASSIVE_SPELLS = OBJECT_DYNAMIC_END + 0x000, // Flags: PUBLIC, URGENT UNIT_DYNAMIC_FIELD_WORLD_EFFECTS = OBJECT_DYNAMIC_END + 0x001, // Flags: PUBLIC, URGENT - UNIT_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x002, + UNIT_DYNAMIC_FIELD_CHANNEL_OBJECTS = OBJECT_DYNAMIC_END + 0x002, // Flags: PUBLIC, URGENT + UNIT_DYNAMIC_END = OBJECT_DYNAMIC_END + 0x003, }; enum PlayerFields @@ -303,10 +303,10 @@ enum PlayerFields PLAYER_FIELD_BAG_SLOT_FLAGS = UNIT_END + 0x9F8, // Size: 4, Flags: PRIVATE PLAYER_FIELD_BANK_BAG_SLOT_FLAGS = UNIT_END + 0x9FC, // Size: 7, Flags: PRIVATE PLAYER_FIELD_INSERT_ITEMS_LEFT_TO_RIGHT = UNIT_END + 0xA03, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_QUEST_COMPLETED = UNIT_END + 0xA04, // Size: 1000, Flags: PRIVATE - PLAYER_FIELD_HONOR = UNIT_END + 0xDEC, // Size: 1, Flags: PRIVATE - PLAYER_FIELD_HONOR_NEXT_LEVEL = UNIT_END + 0xDED, // Size: 1, Flags: PRIVATE - PLAYER_END = UNIT_END + 0xDEE, + PLAYER_FIELD_QUEST_COMPLETED = UNIT_END + 0xA04, // Size: 1750, Flags: PRIVATE + PLAYER_FIELD_HONOR = UNIT_END + 0x10DA, // Size: 1, Flags: PRIVATE + PLAYER_FIELD_HONOR_NEXT_LEVEL = UNIT_END + 0x10DB, // Size: 1, Flags: PRIVATE + PLAYER_END = UNIT_END + 0x10DC, }; enum PlayerDynamicFields @@ -323,7 +323,8 @@ enum PlayerDynamicFields PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS = UNIT_DYNAMIC_END + 0x009, // Flags: PRIVATE PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL = UNIT_DYNAMIC_END + 0x00A, // Flags: PRIVATE PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL = UNIT_DYNAMIC_END + 0x00B, // Flags: PRIVATE - PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x00C, + PLAYER_DYNAMIC_FIELD_ARENA_COOLDOWNS = UNIT_DYNAMIC_END + 0x00C, // Flags: PUBLIC + PLAYER_DYNAMIC_END = UNIT_DYNAMIC_END + 0x00D, }; enum GameObjectFields @@ -395,11 +396,12 @@ enum AreaTriggerFields AREATRIGGER_TIME_TO_TARGET_SCALE = OBJECT_END + 0x014, // Size: 1, Flags: PUBLIC, URGENT AREATRIGGER_TIME_TO_TARGET_EXTRA_SCALE = OBJECT_END + 0x015, // Size: 1, Flags: PUBLIC, URGENT AREATRIGGER_SPELLID = OBJECT_END + 0x016, // Size: 1, Flags: PUBLIC - AREATRIGGER_SPELL_X_SPELL_VISUAL_ID = OBJECT_END + 0x017, // Size: 1, Flags: PUBLIC - AREATRIGGER_BOUNDS_RADIUS_2D = OBJECT_END + 0x018, // Size: 1, Flags: DYNAMIC, URGENT - AREATRIGGER_DECAL_PROPERTIES_ID = OBJECT_END + 0x019, // Size: 1, Flags: PUBLIC - AREATRIGGER_CREATING_EFFECT_GUID = OBJECT_END + 0x01A, // Size: 4, Flags: PUBLIC - AREATRIGGER_END = OBJECT_END + 0x01E, + AREATRIGGER_SPELL_FOR_VISUALS = OBJECT_END + 0x017, // Size: 1, Flags: PUBLIC + AREATRIGGER_SPELL_X_SPELL_VISUAL_ID = OBJECT_END + 0x018, // Size: 1, Flags: PUBLIC + AREATRIGGER_BOUNDS_RADIUS_2D = OBJECT_END + 0x019, // Size: 1, Flags: DYNAMIC, URGENT + AREATRIGGER_DECAL_PROPERTIES_ID = OBJECT_END + 0x01A, // Size: 1, Flags: PUBLIC + AREATRIGGER_CREATING_EFFECT_GUID = OBJECT_END + 0x01B, // Size: 4, Flags: PUBLIC + AREATRIGGER_END = OBJECT_END + 0x01F, }; enum AreaTriggerDynamicFields @@ -423,7 +425,7 @@ enum SceneObjectDynamicFields enum ConversationFields { - CONVERSATION_FIELD_LAST_LINE_DURATION = OBJECT_END + 0x000, // Size: 1, Flags: DYNAMIC + CONVERSATION_LAST_LINE_END_TIME = OBJECT_END + 0x000, // Size: 1, Flags: DYNAMIC CONVERSATION_END = OBJECT_END + 0x001, }; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index b211074b74c..9c3aa04370f 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -17770,10 +17770,6 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) if (m_deathExpireTime > now + MAX_DEATH_COUNT * DEATH_EXPIRE_STEP) m_deathExpireTime = now + MAX_DEATH_COUNT * DEATH_EXPIRE_STEP - 1; - // clear channel spell data (if saved at channel spell casting) - SetChannelObjectGuid(ObjectGuid::Empty); - SetUInt32Value(UNIT_CHANNEL_SPELL, 0); - // clear charm/summon related fields SetOwnerGUID(ObjectGuid::Empty); SetGuidValue(UNIT_FIELD_CHARMEDBY, ObjectGuid::Empty); diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 697b76ca157..5193d3317ef 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -681,7 +681,7 @@ enum QuestSaveType typedef std::map<uint32, QuestSaveType> QuestStatusSaveMap; // Size of client completed quests bit map -#define QUESTS_COMPLETED_BITS_SIZE 1000 +#define QUESTS_COMPLETED_BITS_SIZE 1750 enum QuestSlotOffsets { diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index 674e3025017..9a71212e48c 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -1948,8 +1948,8 @@ class TC_GAME_API Unit : public WorldObject float GetNegStat(Stats stat) const { return GetFloatValue(UNIT_FIELD_NEGSTAT+stat); } float GetCreateStat(Stats stat) const { return m_createStats[stat]; } - ObjectGuid GetChannelObjectGuid() const { return GetGuidValue(UNIT_FIELD_CHANNEL_OBJECT); } - void SetChannelObjectGuid(ObjectGuid guid) { SetGuidValue(UNIT_FIELD_CHANNEL_OBJECT, guid); } + DynamicFieldStructuredView<ObjectGuid> GetChannelObjects() const { return GetDynamicStructuredValues<ObjectGuid>(UNIT_DYNAMIC_FIELD_CHANNEL_OBJECTS); } + void AddChannelObject(ObjectGuid guid) { AddDynamicStructuredValue(UNIT_DYNAMIC_FIELD_CHANNEL_OBJECTS, &guid); } void SetCurrentCastSpell(Spell* pSpell); void InterruptSpell(CurrentSpellTypes spellType, bool withDelayed = true, bool withInstant = true); diff --git a/src/server/game/Server/Packets/ReputationPackets.h b/src/server/game/Server/Packets/ReputationPackets.h index c5f3545fb75..06f9053eccc 100644 --- a/src/server/game/Server/Packets/ReputationPackets.h +++ b/src/server/game/Server/Packets/ReputationPackets.h @@ -19,31 +19,29 @@ #define ReputationPackets_h__ #include "Packet.h" +#include <array> namespace WorldPackets { namespace Reputation { - static uint16 const FactionCount = 256; + static uint16 const FactionCount = 300; class InitializeFactions final : public ServerPacket { public: InitializeFactions() : ServerPacket(SMSG_INITIALIZE_FACTIONS, 1312) { - for (uint16 i = 0; i < FactionCount; ++i) - { - FactionStandings[i] = 0; - FactionHasBonus[i] = false; - FactionFlags[i] = 0; - } + FactionStandings.fill(0); + FactionHasBonus.fill(false); + FactionFlags.fill(0); } WorldPacket const* Write() override; - int32 FactionStandings[FactionCount]; - bool FactionHasBonus[FactionCount]; ///< @todo: implement faction bonus - uint8 FactionFlags[FactionCount]; ///< @see enum FactionFlags + std::array<int32, FactionCount> FactionStandings; + std::array<bool, FactionCount> FactionHasBonus; ///< @todo: implement faction bonus + std::array<uint8, FactionCount> FactionFlags; ///< @see enum FactionFlags }; class RequestForcedReactions final : public ClientPacket diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 7880d1339b3..5b94f965067 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -965,30 +965,38 @@ void Spell::SelectImplicitChannelTargets(SpellEffIndex effIndex, SpellImplicitTa { case TARGET_UNIT_CHANNEL_TARGET: { - WorldObject* target = ObjectAccessor::GetUnit(*m_caster, m_originalCaster->GetChannelObjectGuid()); - CallScriptObjectTargetSelectHandlers(target, effIndex, targetType); - // unit target may be no longer avalible - teleported out of map for example - if (target && target->ToUnit()) - AddUnitTarget(target->ToUnit(), 1 << effIndex); - else - TC_LOG_DEBUG("spells", "SPELL: cannot find channel spell target for spell ID %u, effect %u", m_spellInfo->Id, effIndex); + for (ObjectGuid const& channelTarget : m_originalCaster->GetChannelObjects()) + { + WorldObject* target = ObjectAccessor::GetUnit(*m_caster, channelTarget); + CallScriptObjectTargetSelectHandlers(target, effIndex, targetType); + // unit target may be no longer avalible - teleported out of map for example + if (target && target->GetTypeId() == TYPEID_UNIT) + AddUnitTarget(target->ToUnit(), 1 << effIndex); + else + TC_LOG_DEBUG("spells", "SPELL: cannot find channel spell target for spell ID %u, effect %u", m_spellInfo->Id, effIndex); + } break; } case TARGET_DEST_CHANNEL_TARGET: if (channeledSpell->m_targets.HasDst()) m_targets.SetDst(channeledSpell->m_targets); - else if (WorldObject* target = ObjectAccessor::GetWorldObject(*m_caster, m_originalCaster->GetChannelObjectGuid())) + else { - CallScriptObjectTargetSelectHandlers(target, effIndex, targetType); + DynamicFieldStructuredView<ObjectGuid> channelObjects = m_originalCaster->GetChannelObjects(); + WorldObject* target = channelObjects.size() > 0 ? ObjectAccessor::GetWorldObject(*m_caster, *channelObjects.begin()) : nullptr; if (target) { - SpellDestination dest(*target); - CallScriptDestinationTargetSelectHandlers(dest, effIndex, targetType); - m_targets.SetDst(dest); + CallScriptObjectTargetSelectHandlers(target, effIndex, targetType); + if (target) + { + SpellDestination dest(*target); + CallScriptDestinationTargetSelectHandlers(dest, effIndex, targetType); + m_targets.SetDst(dest); + } } + else + TC_LOG_DEBUG("spells", "SPELL: cannot find channel spell destination for spell ID %u, effect %u", m_spellInfo->Id, effIndex); } - else - TC_LOG_DEBUG("spells", "SPELL: cannot find channel spell destination for spell ID %u, effect %u", m_spellInfo->Id, effIndex); break; case TARGET_DEST_CHANNEL_CASTER: { @@ -4356,7 +4364,7 @@ void Spell::SendChannelUpdate(uint32 time) { if (time == 0) { - m_caster->SetChannelObjectGuid(ObjectGuid::Empty); + m_caster->ClearDynamicValue(UNIT_DYNAMIC_FIELD_CHANNEL_OBJECTS); m_caster->SetUInt32Value(UNIT_CHANNEL_SPELL, 0); } @@ -4368,11 +4376,6 @@ void Spell::SendChannelUpdate(uint32 time) void Spell::SendChannelStart(uint32 duration) { - ObjectGuid channelTarget = m_targets.GetObjectTargetGUID(); - if (!channelTarget && !m_spellInfo->NeedsExplicitUnitTarget()) - if (m_UniqueTargetInfo.size() + m_UniqueGOTargetInfo.size() == 1) // this is for TARGET_SELECT_CATEGORY_NEARBY - channelTarget = !m_UniqueTargetInfo.empty() ? m_UniqueTargetInfo.front().targetGUID : m_UniqueGOTargetInfo.front().targetGUID; - WorldPackets::Spells::SpellChannelStart spellChannelStart; spellChannelStart.CasterGUID = m_caster->GetGUID(); spellChannelStart.SpellID = m_spellInfo->Id; @@ -4391,8 +4394,11 @@ void Spell::SendChannelStart(uint32 duration) } m_timer = duration; - if (!channelTarget.IsEmpty()) - m_caster->SetChannelObjectGuid(channelTarget); + for (TargetInfo const& target : m_UniqueTargetInfo) + m_caster->AddChannelObject(target.targetGUID); + + for (GOTargetInfo const& target : m_UniqueGOTargetInfo) + m_caster->AddChannelObject(target.targetGUID); m_caster->SetUInt32Value(UNIT_CHANNEL_SPELL, m_spellInfo->Id); m_caster->SetUInt32Value(UNIT_CHANNEL_SPELL_X_SPELL_VISUAL, m_SpellVisual); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 46410d47dcc..42ddd71058b 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -4748,7 +4748,7 @@ void Spell::EffectTransmitted(SpellEffIndex effIndex) if (goinfo->type == GAMEOBJECT_TYPE_RITUAL) m_caster->GetPosition(fx, fy, fz); - GameObject* pGameObj = new GameObject; + GameObject* pGameObj = new GameObject(); Position pos = { fx, fy, fz, m_caster->GetOrientation() }; G3D::Quat rot = G3D::Matrix3::fromEulerAnglesZYX(m_caster->GetOrientation(), 0.f, 0.f); @@ -4766,7 +4766,7 @@ void Spell::EffectTransmitted(SpellEffIndex effIndex) { case GAMEOBJECT_TYPE_FISHINGNODE: { - m_caster->SetChannelObjectGuid(pGameObj->GetGUID()); + m_caster->AddChannelObject(pGameObj->GetGUID()); m_caster->AddGameObject(pGameObj); // will removed at spell cancel // end time of range when possible catch fish (FISHING_BOBBER_READY_TIME..GetDuration(m_spellInfo)) diff --git a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp index 01f7c3ab097..3910789805a 100644 --- a/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp +++ b/src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp @@ -179,8 +179,9 @@ class npc_harbinger_of_flame : public CreatureScript void EnterCombat(Unit* /*target*/) override { - if (Creature* bird = ObjectAccessor::GetCreature(*me, me->GetChannelObjectGuid())) - DoZoneInCombat(bird, 200.0f); + for (ObjectGuid const& birdGuid : me->GetChannelObjects()) + if (Creature* bird = ObjectAccessor::GetCreature(*me, birdGuid)) + DoZoneInCombat(bird, 200.0f); me->InterruptSpell(CURRENT_CHANNELED_SPELL); _events.Reset(); diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp index 81bbcec913e..ee7ebaad976 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp @@ -1734,7 +1734,8 @@ class spell_halion_twilight_cutter : public SpellScriptLoader return; Unit* caster = GetCaster(); - if (Unit* channelTarget = ObjectAccessor::GetUnit(*caster, caster->GetChannelObjectGuid())) + DynamicFieldStructuredView<ObjectGuid> channelObjects = caster->GetChannelObjects(); + if (Unit* channelTarget = (channelObjects.size() == 1 ? ObjectAccessor::GetUnit(*caster, *channelObjects.begin()) : nullptr)) { unitList.remove_if(TwilightCutterSelector(caster, channelTarget)); return; diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp index 82182418752..5ccb7431db6 100644 --- a/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp +++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp @@ -1104,7 +1104,7 @@ class spell_sindragosa_s_fury : public SpellScriptLoader uint32 damage = (uint32(GetEffectValue() / _targetCount) * randomResist) / 10; - SpellNonMeleeDamage damageInfo(GetCaster(), GetHitUnit(), GetSpellInfo()->Id, GetSpellInfo()->SchoolMask); + SpellNonMeleeDamage damageInfo(GetCaster(), GetHitUnit(), GetSpellInfo()->Id, GetSpell()->m_SpellVisual, GetSpellInfo()->SchoolMask); damageInfo.damage = damage; GetCaster()->DealSpellDamage(&damageInfo, false); GetCaster()->SendSpellNonMeleeDamageLog(&damageInfo); diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp index cb40e167bd7..b15c3a66fd0 100644 --- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp +++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp @@ -1040,7 +1040,8 @@ class boss_vx_001 : public CreatureScript // Handle rotation during SPELL_SPINNING_UP, SPELL_P3WX2_LASER_BARRAGE, SPELL_RAPID_BURST, and SPELL_HAND_PULSE_LEFT/RIGHT if (me->HasUnitState(UNIT_STATE_CASTING)) { - if (Creature* channelTarget = ObjectAccessor::GetCreature(*me, me->GetChannelObjectGuid())) + DynamicFieldStructuredView<ObjectGuid> channelObjects = me->GetChannelObjects(); + if (Unit* channelTarget = (channelObjects.size() == 1 ? ObjectAccessor::GetUnit(*me, *channelObjects.begin()) : nullptr)) me->SetFacingToObject(channelTarget); return; } @@ -1963,33 +1964,6 @@ class spell_mimiron_napalm_shell : public SpellScriptLoader } }; -// 63274 - P3Wx2 Laser Barrage -- HACK! Core will currently not set UNIT_FIELD_CHANNEL_OBJECT automatially if the spell targets more than a single target. -class spell_mimiron_p3wx2_laser_barrage : public SpellScriptLoader -{ - public: - spell_mimiron_p3wx2_laser_barrage() : SpellScriptLoader("spell_mimiron_p3wx2_laser_barrage") { } - - class spell_mimiron_p3wx2_laser_barrage_SpellScript : public SpellScript - { - PrepareSpellScript(spell_mimiron_p3wx2_laser_barrage_SpellScript); - - void OnHit(SpellEffIndex /*effIndex*/) - { - GetCaster()->SetChannelObjectGuid(GetHitUnit()->GetGUID()); - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_mimiron_p3wx2_laser_barrage_SpellScript::OnHit, EFFECT_0, SPELL_EFFECT_APPLY_AURA); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_mimiron_p3wx2_laser_barrage_SpellScript(); - } -}; - // 64542 - Plasma Blast class spell_mimiron_plasma_blast : public SpellScriptLoader { @@ -2365,35 +2339,6 @@ class spell_mimiron_self_repair : public SpellScriptLoader } }; -// 63414 - Spinning Up -- HACK! Core will currently not set UNIT_FIELD_CHANNEL_OBJECT automatially if the spell targets more than a single target. -// eff0 will hit both caster and target due to hack in spellmgr.cpp, it is necessary because caster will interrupt itself if aura is not active on caster. -class spell_mimiron_spinning_up : public SpellScriptLoader -{ - public: - spell_mimiron_spinning_up() : SpellScriptLoader("spell_mimiron_spinning_up") { } - - class spell_mimiron_spinning_up_SpellScript : public SpellScript - { - PrepareSpellScript(spell_mimiron_spinning_up_SpellScript); - - void OnHit(SpellEffIndex /*effIndex*/) - { - if (GetHitUnit() != GetCaster()) - GetCaster()->SetChannelObjectGuid(GetHitUnit()->GetGUID()); - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_mimiron_spinning_up_SpellScript::OnHit, EFFECT_0, SPELL_EFFECT_APPLY_AURA); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_mimiron_spinning_up_SpellScript(); - } -}; - // 64426 - Summon Scrap Bot class spell_mimiron_summon_assault_bot : public SpellScriptLoader { @@ -2832,7 +2777,6 @@ void AddSC_boss_mimiron() new spell_mimiron_fire_search(); new spell_mimiron_magnetic_core(); new spell_mimiron_napalm_shell(); - new spell_mimiron_p3wx2_laser_barrage(); new spell_mimiron_plasma_blast(); new spell_mimiron_proximity_explosion(); new spell_mimiron_proximity_mines(); @@ -2842,7 +2786,6 @@ void AddSC_boss_mimiron() new spell_mimiron_rocket_strike_damage(); new spell_mimiron_rocket_strike_target_select(); new spell_mimiron_self_repair(); - new spell_mimiron_spinning_up(); new spell_mimiron_summon_assault_bot(); new spell_mimiron_summon_assault_bot_target(); new spell_mimiron_summon_fire_bot(); diff --git a/src/server/scripts/Spells/spell_monk.cpp b/src/server/scripts/Spells/spell_monk.cpp index aee2db42146..0d9e6ad3f3d 100644 --- a/src/server/scripts/Spells/spell_monk.cpp +++ b/src/server/scripts/Spells/spell_monk.cpp @@ -99,7 +99,7 @@ public: if (GetTarget()->HasAura(SPELL_MONK_CRACKLING_JADE_LIGHTNING_KNOCKBACK_CD)) return false; - if (eventInfo.GetActor()->GetGUID() != GetTarget()->GetChannelObjectGuid()) + if (eventInfo.GetActor()->HasAura(SPELL_MONK_CRACKLING_JADE_LIGHTNING_CHANNEL, GetTarget()->GetGUID())) return false; Spell* currentChanneledSpell = GetTarget()->GetCurrentSpell(CURRENT_CHANNELED_SPELL); @@ -188,117 +188,9 @@ public: } }; -// 116694 - Surging Mist -class spell_monk_surging_mist : public SpellScriptLoader -{ - public: - spell_monk_surging_mist() : SpellScriptLoader("spell_monk_surging_mist") { } - - class spell_monk_surging_mist_SpellScript : public SpellScript - { - PrepareSpellScript(spell_monk_surging_mist_SpellScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - if (!sSpellMgr->GetSpellInfo(SPELL_MONK_SURGING_MIST_HEAL)) - return false; - return true; - } - - void SelectTarget(WorldObject*& target) - { - Unit* caster = GetCaster(); - if (caster->GetUInt32Value(UNIT_CHANNEL_SPELL) == SPELL_MONK_SOOTHING_MIST) - if (Unit* soothingMistTarget = ObjectAccessor::GetUnit(*caster, caster->GetChannelObjectGuid())) - target = soothingMistTarget; - } - - void HandleDummy(SpellEffIndex effIndex) - { - PreventHitDefaultEffect(effIndex); - GetCaster()->CastSpell(GetHitUnit(), SPELL_MONK_SURGING_MIST_HEAL, true); - } - - void Register() override - { - OnObjectTargetSelect += SpellObjectTargetSelectFn(spell_monk_surging_mist_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_TARGET_ALLY); - OnEffectHitTarget += SpellEffectFn(spell_monk_surging_mist_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_monk_surging_mist_SpellScript(); - } -}; - -// 123273 - Surging Mist (Glyphed) -class spell_monk_surging_mist_glyphed : public SpellScriptLoader -{ -public: - spell_monk_surging_mist_glyphed() : SpellScriptLoader("spell_monk_surging_mist_glyphed") { } - - class spell_monk_surging_mist_glyphed_SpellScript : public SpellScript - { - PrepareSpellScript(spell_monk_surging_mist_glyphed_SpellScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - if (!sSpellMgr->GetSpellInfo(SPELL_MONK_SURGING_MIST_HEAL)) - return false; - if (!sSpellMgr->GetSpellInfo(SPELL_MONK_SOOTHING_MIST)) - return false; - return true; - } - - void SelectTarget(std::list<WorldObject*>& targets) - { - Unit* caster = GetCaster(); - if (caster->GetUInt32Value(UNIT_CHANNEL_SPELL) == SPELL_MONK_SOOTHING_MIST) - { - targets.clear(); - if (Unit* soothingMistTarget = ObjectAccessor::GetUnit(*caster, caster->GetChannelObjectGuid())) - targets.push_back(soothingMistTarget); - } - else - { - targets.remove_if([caster](WorldObject* target) - { - return target->GetTypeId() != TYPEID_UNIT || !target->ToUnit()->IsInRaidWith(caster); - }); - targets.sort(Trinity::HealthPctOrderPred()); - if (!targets.empty()) - targets.resize(1); - } - - if (targets.empty()) - targets.push_back(caster); - } - - void HandleDummy(SpellEffIndex effIndex) - { - PreventHitDefaultEffect(effIndex); - GetCaster()->CastSpell(GetHitUnit(), SPELL_MONK_SURGING_MIST_HEAL, true); - } - - void Register() override - { - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_monk_surging_mist_glyphed_SpellScript::SelectTarget, EFFECT_0, TARGET_UNIT_SRC_AREA_ALLY); - OnEffectHitTarget += SpellEffectFn(spell_monk_surging_mist_glyphed_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_monk_surging_mist_glyphed_SpellScript(); - } -}; - void AddSC_monk_spell_scripts() { new spell_monk_crackling_jade_lightning(); new spell_monk_crackling_jade_lightning_knockback_proc_aura(); new spell_monk_provoke(); - new spell_monk_surging_mist(); - new spell_monk_surging_mist_glyphed(); } diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index e6c1eb43b2f..a815f8d893b 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -748,33 +748,6 @@ class spell_pri_mana_leech : public SpellScriptLoader } }; -// 49821 - Mind Sear -class spell_pri_mind_sear : public SpellScriptLoader -{ - public: - spell_pri_mind_sear() : SpellScriptLoader("spell_pri_mind_sear") { } - - class spell_pri_mind_sear_SpellScript : public SpellScript - { - PrepareSpellScript(spell_pri_mind_sear_SpellScript); - - void FilterTargets(std::list<WorldObject*>& unitList) - { - unitList.remove_if(Trinity::ObjectGUIDCheck(GetCaster()->GetChannelObjectGuid())); - } - - void Register() override - { - OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_pri_mind_sear_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_DEST_AREA_ENEMY); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_pri_mind_sear_SpellScript(); - } -}; - // 47948 - Pain and Suffering (Proc) class spell_pri_pain_and_suffering_proc : public SpellScriptLoader { @@ -1309,7 +1282,6 @@ void AddSC_priest_spell_scripts() new spell_pri_lightwell_renew(); new spell_pri_mana_burn(); new spell_pri_mana_leech(); - new spell_pri_mind_sear(); new spell_pri_pain_and_suffering_proc(); new spell_pri_penance(); new spell_pri_phantasm(); |