aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Battlegrounds/Battleground.cpp2
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp1
-rw-r--r--src/server/game/Entities/Object/Object.h18
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFieldFlags.cpp760
-rw-r--r--src/server/game/Entities/Object/Updates/UpdateFields.h214
-rw-r--r--src/server/game/Entities/Player/Player.cpp4
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/game/Entities/Unit/Unit.h4
-rw-r--r--src/server/game/Server/Packets/ReputationPackets.h18
-rw-r--r--src/server/game/Spells/Spell.cpp50
-rw-r--r--src/server/game/Spells/SpellEffects.cpp4
-rw-r--r--src/server/scripts/Kalimdor/Firelands/boss_alysrazor.cpp5
-rw-r--r--src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_halion.cpp3
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_sindragosa.cpp2
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp61
-rw-r--r--src/server/scripts/Spells/spell_monk.cpp110
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp28
17 files changed, 930 insertions, 356 deletions
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();