Updated to 7.3.5.25996 (Db2 files not updated)

This commit is contained in:
hondacrx
2018-02-19 10:32:16 -05:00
parent 0ab432f8c0
commit 0a3dfaba37
43 changed files with 1584 additions and 1425 deletions
@@ -75,50 +75,54 @@ namespace Framework.Constants
CharCreateTimeout = 48,
CharCreateThrottle = 49,
CharDeleteInProgress = 50,
CharDeleteSuccess = 51,
CharDeleteFailed = 52,
CharDeleteFailedLockedForTransfer = 53,
CharDeleteFailedGuildLeader = 54,
CharDeleteFailedArenaCaptain = 55,
CharDeleteFailedHasHeirloomOrMail = 56,
CharDeleteFailedUpgradeInProgress = 57,
CharDeleteFailedHasWowToken = 58,
CharDeleteFailedVasTransactionInProgress = 59,
CharCreateAlliedRaceAchievement = 50,
CharCreateLevelRequirementDemonHunter = 51,
CharLoginInProgress = 60,
CharLoginSuccess = 61,
CharLoginNoWorld = 62,
CharLoginDuplicateCharacter = 63,
CharLoginNoInstances = 64,
CharLoginFailed = 65,
CharLoginDisabled = 66,
CharLoginNoCharacter = 67,
CharLoginLockedForTransfer = 68,
CharLoginLockedByBilling = 69,
CharLoginLockedByMobileAh = 70,
CharLoginTemporaryGmLock = 71,
CharLoginLockedByCharacterUpgrade = 72,
CharLoginLockedByRevokedCharacterUpgrade = 73,
CharLoginLockedByRevokedVasTransaction = 74,
CharDeleteInProgress = 52,
CharDeleteSuccess = 53,
CharDeleteFailed = 54,
CharDeleteFailedLockedForTransfer = 55,
CharDeleteFailedGuildLeader = 56,
CharDeleteFailedArenaCaptain = 57,
CharDeleteFailedHasHeirloomOrMail = 58,
CharDeleteFailedUpgradeInProgress = 59,
CharDeleteFailedHasWowToken = 60,
CharDeleteFailedVasTransactionInProgress = 61,
CharNameSuccess = 75,
CharNameFailure = 76,
CharNameNoName = 77,
CharNameTooShort = 78,
CharNameTooLong = 79,
CharNameInvalidCharacter = 80,
CharNameMixedLanguages = 81,
CharNameProfane = 82,
CharNameReserved = 83,
CharNameInvalidApostrophe = 84,
CharNameMultipleApostrophes = 85,
CharNameThreeConsecutive = 86,
CharNameInvalidSpace = 87,
CharNameConsecutiveSpaces = 88,
CharNameRussianConsecutiveSilentCharacters = 89,
CharNameRussianSilentCharacterAtBeginningOrEnd = 90,
CharNameDeclensionDoesntMatchBaseName = 91
CharLoginInProgress = 62,
CharLoginSuccess = 63,
CharLoginNoWorld = 64,
CharLoginDuplicateCharacter = 65,
CharLoginNoInstances = 66,
CharLoginFailed = 67,
CharLoginDisabled = 68,
CharLoginNoCharacter = 69,
CharLoginLockedForTransfer = 70,
CharLoginLockedByBilling = 71,
CharLoginLockedByMobileAh = 72,
CharLoginTemporaryGmLock = 73,
CharLoginLockedByCharacterUpgrade = 74,
CharLoginLockedByRevokedCharacterUpgrade = 75,
CharLoginLockedByRevokedVasTransaction = 76,
CharLoginLockedByRestriction = 77,
CharNameSuccess = 78,
CharNameFailure = 79,
CharNameNoName = 80,
CharNameTooShort = 81,
CharNameTooLong = 82,
CharNameInvalidCharacter = 83,
CharNameMixedLanguages = 84,
CharNameProfane = 85,
CharNameReserved = 86,
CharNameInvalidApostrophe = 87,
CharNameMultipleApostrophes = 88,
CharNameThreeConsecutive = 89,
CharNameInvalidSpace = 90,
CharNameConsecutiveSpaces = 91,
CharNameRussianConsecutiveSilentCharacters = 92,
CharNameRussianSilentCharacterAtBeginningOrEnd = 93,
CharNameDeclensionDoesntMatchBaseName = 94
}
public enum CharacterUndeleteResult
+13 -11
View File
@@ -108,21 +108,22 @@ namespace Framework.Constants
public const byte BagStart = 19;
public const byte BagEnd = 23;
public const byte ItemStart = 23;
public const byte ItemEnd = 39;
public const byte ItemEnd = 47;
public const byte BankItemStart = 39;
public const byte BankItemEnd = 67;
public const byte BankBagStart = 67;
public const byte BankBagEnd = 74;
public const byte BankItemStart = 47;
public const byte BankItemEnd = 75;
public const byte BankBagStart = 75;
public const byte BankBagEnd = 82;
public const byte BuyBackStart = 74;
public const byte BuyBackEnd = 86;
public const byte ReagentStart = 87;
public const byte ReagentEnd = 184;
public const byte ChildEquipmentStart = 184;
public const byte ChildEquipmentEnd = 187;
public const byte BuyBackStart = 82;
public const byte BuyBackEnd = 94;
public const byte ReagentStart = 94;
public const byte ReagentEnd = 192;
public const byte ChildEquipmentStart = 192;
public const byte ChildEquipmentEnd = 195;
public const byte Bag0 = 255;
public const byte DefaultSize = 16;
}
public struct EquipmentSlot
@@ -975,6 +976,7 @@ namespace Framework.Constants
CantUseItem = 98, // You can't use that item.
CantBeObliterated = 99, // You can't obliterate that item
GuildBankConjuredItem = 100,// You cannot store conjured items in the guild bank
CantDoThatRightNow = 101,// You can't do that right now.
}
public enum BuyResult
+2
View File
@@ -14,6 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
using System;
namespace Framework.Constants
{
@@ -99,6 +100,7 @@ namespace Framework.Constants
RespawnDelay
}
[Flags]
public enum GridMapTypeMask
{
None = 0x00,
File diff suppressed because it is too large Load Diff
+10 -6
View File
@@ -101,6 +101,7 @@ namespace Framework.Constants
public const byte FieldBytes2OffsetIgnorePowerRegenPredictionMask = 0;
public const byte FieldBytes2OffsetAuraVision = 1;
public const byte FieldBytes2OffsetNumBackpackSlots = 2;
public const byte FieldBytes3OffsetOverrideSpellsId = 2; // Uint16!
public const byte FieldBytes3OffsetOverrideSpellsIdUint16Offset = FieldBytes3OffsetOverrideSpellsId / 2;
@@ -485,14 +486,17 @@ namespace Framework.Constants
public enum PlayerLocalFlags
{
ControllingPet = 0x01, // Displays "You have an active summon already" when trying to tame new pet
TrackStealthed = 0x02,
ReleaseTimer = 0x08, // Display time till auto release spirit
NoReleaseWindow = 0x10, // Display no "release spirit" window at all
NoPetBar = 0x00000020, // CGPetInfo::IsPetBarUsed
OverrideCameraMinHeight = 0x00000040,
UsingPartGarrison = 0x00000100,
CanUseObjectsMounted = 0x00000200,
CanVisitPartyGarrison = 0x00000400
NoPetBar = 0x20, // CGPetInfo::IsPetBarUsed
OverrideCameraMinHeight = 0x40,
NewlyBosstedCharacter = 0x80,
UsingPartGarrison = 0x100,
CanUseObjectsMounted = 0x200,
CanVisitPartyGarrison = 0x400,
AccountSecured = 0x1000 // Script_IsAccountSecured
}
public enum PlayerFieldByte2Flags
@@ -572,7 +576,7 @@ namespace Framework.Constants
// first slot for item stored (in any way in player items data)
Start = 0,
// last+1 slot for item stored (in any way in player items data)
End = 187,
End = 195,
Count = (End - Start)
}
+8 -2
View File
@@ -526,7 +526,12 @@ namespace Framework.Constants
MistsOfPandaria = 4,
WarlordsOfDraenor = 5,
Legion = 6,
Max
Max,
// future expansion
BattleForAzeroth = 7,
MaxAccountExpansions
}
public enum PowerType : byte
{
@@ -2302,7 +2307,8 @@ namespace Framework.Constants
QuestTurnInFailReason = 983,
ClaimedChallengeModeRewardOld = 984,
TalentGrantedByAura = 985,
ChallengeModeAlreadyComplete = 986
ChallengeModeAlreadyComplete = 986,
GlyphTargetNotAvailable = 987
}
public enum SceneFlags
@@ -1051,6 +1051,19 @@ namespace Framework.Constants
MustBeStandingNearInjuredChromieInMountHyjal = 340, // Must Be Standing Near The Injured Chromie In Mount Hyjal.
RemoveCannonsHeavyIronPlatingFirst = 342, // You Should Remove The Cannon'S Heavy Iron Plating First.
RemoveCannonsElectrokineticDefenseGridFirst = 343, // You Should Remove The Cannon'S Electrokinetic Defense Grid First.
RequiresTheArmoryKeyAndDendriteClusters = 344, // You Are Missing Pieces Of The Armory Key Or Do Not Have Enough Dendrite Clusters.
ThisItemRequiresBasicObliterumToUpgrade = 345, // This Item Requires Basic Obliterum To Upgrade.
ThisItemRequiresPrimalObliterumToUpgrade = 346, // This Item Requires Primal Obliterum To Upgrade.
ThisItemRequiresFlightMastersWhistle = 347, // This Item Requires A Flight Master'S Whistle.
RequiresPowerThatEchoesThatOfTheAugari = 349, // Will Only Open To One Wielding The Power That Echoes That Of The Augari.
ThatPlayerHasAPendingTotemicRevival = 350, // That Player Has A Pending Totemic Revival.
YouHaveNoFireMinesDeployed = 351, // You Have No Fire Mines Deployed.
YouAreBlockedByAStructureAboveYou = 353, // You Are Blocked By A Structure Above You.
Requires100ImpMeat = 354, // Requires 100 Imp Meat.
YouHaveNotObtainedAnyBackgroundFilters = 355, // You Have Not Obtained Any Background Filters.
NothingInterestingPostedHereRightNow = 356, // There Is Nothing Interesting Posted Here Right Now.
ParagonReputationRequiresHigherLevel = 357, // Paragon Reputation Is Not Available Until A Higher Level.
UunaIsMissing = 358, // Uuna Is Missing.
}
public enum SpellMissInfo
@@ -363,6 +363,7 @@ namespace Framework.Constants
Private | Owner | UnitAll, // UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER+5
Public, // UNIT_FIELD_LEVEL
Public, // UNIT_FIELD_EFFECTIVE_LEVEL
Public, // UNIT_FIELD_SANDBOX_SCALING_ID
Public, // UNIT_FIELD_SCALING_LEVEL_MIN
Public, // UNIT_FIELD_SCALING_LEVEL_MAX
Public, // UNIT_FIELD_SCALING_LEVEL_DELTA
@@ -2110,6 +2111,39 @@ namespace Framework.Constants
Private, // PLAYER_FIELD_INV_SLOT_HEAD+745
Private, // PLAYER_FIELD_INV_SLOT_HEAD+746
Private, // PLAYER_FIELD_INV_SLOT_HEAD+747
Private, // PLAYER_FIELD_INV_SLOT_HEAD+748
Private, // PLAYER_FIELD_INV_SLOT_HEAD+749
Private, // PLAYER_FIELD_INV_SLOT_HEAD+750
Private, // PLAYER_FIELD_INV_SLOT_HEAD+751
Private, // PLAYER_FIELD_INV_SLOT_HEAD+752
Private, // PLAYER_FIELD_INV_SLOT_HEAD+753
Private, // PLAYER_FIELD_INV_SLOT_HEAD+754
Private, // PLAYER_FIELD_INV_SLOT_HEAD+755
Private, // PLAYER_FIELD_INV_SLOT_HEAD+756
Private, // PLAYER_FIELD_INV_SLOT_HEAD+757
Private, // PLAYER_FIELD_INV_SLOT_HEAD+758
Private, // PLAYER_FIELD_INV_SLOT_HEAD+759
Private, // PLAYER_FIELD_INV_SLOT_HEAD+760
Private, // PLAYER_FIELD_INV_SLOT_HEAD+761
Private, // PLAYER_FIELD_INV_SLOT_HEAD+762
Private, // PLAYER_FIELD_INV_SLOT_HEAD+763
Private, // PLAYER_FIELD_INV_SLOT_HEAD+764
Private, // PLAYER_FIELD_INV_SLOT_HEAD+765
Private, // PLAYER_FIELD_INV_SLOT_HEAD+766
Private, // PLAYER_FIELD_INV_SLOT_HEAD+767
Private, // PLAYER_FIELD_INV_SLOT_HEAD+768
Private, // PLAYER_FIELD_INV_SLOT_HEAD+769
Private, // PLAYER_FIELD_INV_SLOT_HEAD+770
Private, // PLAYER_FIELD_INV_SLOT_HEAD+771
Private, // PLAYER_FIELD_INV_SLOT_HEAD+772
Private, // PLAYER_FIELD_INV_SLOT_HEAD+773
Private, // PLAYER_FIELD_INV_SLOT_HEAD+774
Private, // PLAYER_FIELD_INV_SLOT_HEAD+775
Private, // PLAYER_FIELD_INV_SLOT_HEAD+776
Private, // PLAYER_FIELD_INV_SLOT_HEAD+777
Private, // PLAYER_FIELD_INV_SLOT_HEAD+778
Private, // PLAYER_FIELD_INV_SLOT_HEAD+779
Private, // PLAYER_FARSIGHT
Private, // PLAYER_FARSIGHT+1
Private, // PLAYER_FARSIGHT+2
@@ -2134,6 +2168,7 @@ namespace Framework.Constants
Private, // PLAYER_FIELD_COINAGE+1
Private, // PLAYER_XP
Private, // PLAYER_NEXT_LEVEL_XP
Private, // PLAYER_TRIAL_XP
Private, // PLAYER_SKILL_LINEID
Private, // PLAYER_SKILL_LINEID+1
Private, // PLAYER_SKILL_LINEID+2
@@ -2973,7 +3008,6 @@ namespace Framework.Constants
Private, // PLAYER_FIELD_MOD_TARGET_PHYSICAL_RESISTANCE
Private, // PLAYER_FIELD_LOCAL_FLAGS
Private, // PLAYER_FIELD_BYTES
Private, // PLAYER_SELF_RES_SPELL
Private, // PLAYER_FIELD_PVP_MEDALS
Private, // PLAYER_FIELD_BUYBACK_PRICE_1
Private, // PLAYER_FIELD_BUYBACK_PRICE_1+1
@@ -4885,6 +4919,7 @@ namespace Framework.Constants
Private, // PLAYER_DYNAMIC_FIELD_TOYS
Private, // PLAYER_DYNAMIC_FIELD_TRANSMOG
Private, // PLAYER_DYNAMIC_FIELD_CONDITIONAL_TRANSMOG
Private, // PLAYER_DYNAMIC_FIELD_SELF_RES_SPELLS
Private, // PLAYER_DYNAMIC_FIELD_CHARACTER_RESTRICTIONS
Private, // PLAYER_DYNAMIC_FIELD_SPELL_PCT_MOD_BY_LABEL
Private, // PLAYER_DYNAMIC_FIELD_SPELL_FLAT_MOD_BY_LABEL
+176 -173
View File
@@ -93,81 +93,83 @@ namespace Framework.Constants
PowerRegenInterruptedFlatModifier = ObjectFields.End + 0x042, // Size: 6, Flags: Private, Owner, UnitAll
Level = ObjectFields.End + 0x048, // Size: 1, Flags: Public
EffectiveLevel = ObjectFields.End + 0x049, // Size: 1, Flags: Public
ScalingLevelMin = ObjectFields.End + 0x04a, // Size: 1, Flags: Public
ScalingLevelMax = ObjectFields.End + 0x04b, // Size: 1, Flags: Public
ScalingLevelDelta = ObjectFields.End + 0x04c, // Size: 1, Flags: Public
FactionTemplate = ObjectFields.End + 0x04d, // Size: 1, Flags: Public
VirtualItemSlotId = ObjectFields.End + 0x04e, // Size: 6, Flags: Public
Flags = ObjectFields.End + 0x054, // Size: 1, Flags: Public, Urgent
Flags2 = ObjectFields.End + 0x055, // Size: 1, Flags: Public, Urgent
Flags3 = ObjectFields.End + 0x056, // Size: 1, Flags: Public, Urgent
AuraState = ObjectFields.End + 0x057, // Size: 1, Flags: Public
BaseAttackTime = ObjectFields.End + 0x058, // Size: 2, Flags: Public
RangedAttackTime = ObjectFields.End + 0x05a, // Size: 1, Flags: Private
BoundingRadius = ObjectFields.End + 0x05b, // Size: 1, Flags: Public
CombatReach = ObjectFields.End + 0x05c, // Size: 1, Flags: Public
DisplayId = ObjectFields.End + 0x05d, // Size: 1, Flags: Dynamic, Urgent
NativeDisplayId = ObjectFields.End + 0x05e, // Size: 1, Flags: Public, Urgent
MountDisplayId = ObjectFields.End + 0x05f, // Size: 1, Flags: Public, Urgent
MinDamage = ObjectFields.End + 0x060, // Size: 1, Flags: Private, Owner, SpecialInfo
MaxDamage = ObjectFields.End + 0x061, // Size: 1, Flags: Private, Owner, SpecialInfo
MinOffHandDamage = ObjectFields.End + 0x062, // Size: 1, Flags: Private, Owner, SpecialInfo
MaxOffHandDamage = ObjectFields.End + 0x063, // Size: 1, Flags: Private, Owner, SpecialInfo
Bytes1 = ObjectFields.End + 0x064, // Size: 1, Flags: Public
PetNumber = ObjectFields.End + 0x065, // Size: 1, Flags: Public
PetNameTimestamp = ObjectFields.End + 0x066, // Size: 1, Flags: Public
PetExperience = ObjectFields.End + 0x067, // Size: 1, Flags: Owner
PetNextLevelExp = ObjectFields.End + 0x068, // Size: 1, Flags: Owner
ModCastSpeed = ObjectFields.End + 0x069, // Size: 1, Flags: Public
ModCastHaste = ObjectFields.End + 0x06a, // Size: 1, Flags: Public
ModHaste = ObjectFields.End + 0x06b, // Size: 1, Flags: Public
ModRangedHaste = ObjectFields.End + 0x06c, // Size: 1, Flags: Public
ModHasteRegen = ObjectFields.End + 0x06d, // Size: 1, Flags: Public
ModTimeRate = ObjectFields.End + 0x06e, // Size: 1, Flags: Public
CreatedBySpell = ObjectFields.End + 0x06f, // Size: 1, Flags: Public
NpcFlags = ObjectFields.End + 0x070, // Size: 2, Flags: Public, Dynamic
NpcEmotestate = ObjectFields.End + 0x072, // Size: 1, Flags: Public
Stat = ObjectFields.End + 0x073, // Size: 4, Flags: Private, Owner
PosStat = ObjectFields.End + 0x077, // Size: 4, Flags: Private, Owner
NegStat = ObjectFields.End + 0x07b, // Size: 4, Flags: Private, Owner
Resistances = ObjectFields.End + 0x07f, // Size: 7, Flags: Private, Owner, SpecialInfo
ResistanceBuffModsPositive = ObjectFields.End + 0x086, // Size: 7, Flags: Private, Owner
ResistanceBuffModsNegative = ObjectFields.End + 0x08d, // Size: 7, Flags: Private, Owner
ModBonusArmor = ObjectFields.End + 0x094, // Size: 1, Flags: Private, Owner
BaseMana = ObjectFields.End + 0x095, // Size: 1, Flags: Public
BaseHealth = ObjectFields.End + 0x096, // Size: 1, Flags: Private, Owner
Bytes2 = ObjectFields.End + 0x097, // Size: 1, Flags: Public
AttackPower = ObjectFields.End + 0x098, // Size: 1, Flags: Private, Owner
AttackPowerModPos = ObjectFields.End + 0x099, // Size: 1, Flags: Private, Owner
AttackPowerModNeg = ObjectFields.End + 0x09a, // Size: 1, Flags: Private, Owner
AttackPowerMultiplier = ObjectFields.End + 0x09b, // Size: 1, Flags: Private, Owner
RangedAttackPower = ObjectFields.End + 0x09c, // Size: 1, Flags: Private, Owner
RangedAttackPowerModPos = ObjectFields.End + 0x09d, // Size: 1, Flags: Private, Owner
RangedAttackPowerModNeg = ObjectFields.End + 0x09e, // Size: 1, Flags: Private, Owner
RangedAttackPowerMultiplier = ObjectFields.End + 0x09f, // Size: 1, Flags: Private, Owner
AttackSpeedAura = ObjectFields.End + 0x0a0, // Size: 1, Flags: Private, Owner
MinRangedDamage = ObjectFields.End + 0x0a1, // Size: 1, Flags: Private, Owner
MaxRangedDamage = ObjectFields.End + 0x0a2, // Size: 1, Flags: Private, Owner
PowerCostModifier = ObjectFields.End + 0x0a3, // Size: 7, Flags: Private, Owner
PowerCostMultiplier = ObjectFields.End + 0x0aa, // Size: 7, Flags: Private, Owner
Maxhealthmodifier = ObjectFields.End + 0x0b1, // Size: 1, Flags: Private, Owner
HoverHeight = ObjectFields.End + 0x0b2, // Size: 1, Flags: Public
MinItemLevelCutoff = ObjectFields.End + 0x0b3, // Size: 1, Flags: Public
MinItemLevel = ObjectFields.End + 0x0b4, // Size: 1, Flags: Public
Maxitemlevel = ObjectFields.End + 0x0b5, // Size: 1, Flags: Public
WildBattlepetLevel = ObjectFields.End + 0x0b6, // Size: 1, Flags: Public
BattlepetCompanionNameTimestamp = ObjectFields.End + 0x0b7, // Size: 1, Flags: Public
InteractSpellid = ObjectFields.End + 0x0b8, // Size: 1, Flags: Public
StateSpellVisualId = ObjectFields.End + 0x0b9, // Size: 1, Flags: Dynamic, Urgent
StateAnimId = ObjectFields.End + 0x0ba, // Size: 1, Flags: Dynamic, Urgent
StateAnimKitId = ObjectFields.End + 0x0bb, // Size: 1, Flags: Dynamic, Urgent
StateWorldEffectId = ObjectFields.End + 0x0bc, // Size: 4, Flags: Dynamic, Urgent
ScaleDuration = ObjectFields.End + 0x0c0, // Size: 1, Flags: Public
LooksLikeMountId = ObjectFields.End + 0x0c1, // Size: 1, Flags: Public
LooksLikeCreatureId = ObjectFields.End + 0x0c2, // Size: 1, Flags: Public
LookAtControllerId = ObjectFields.End + 0x0c3, // Size: 1, Flags: Public
LookAtControllerTarget = ObjectFields.End + 0x0c4, // Size: 4, Flags: Public
End = ObjectFields.End + 0x0c8
SandboxScalingId = ObjectFields.End + 0x04a, // Size: 1, Flags: Public
ScalingLevelMin = ObjectFields.End + 0x04b, // Size: 1, Flags: Public
ScalingLevelMax = ObjectFields.End + 0x04c, // Size: 1, Flags: Public
ScalingLevelDelta = ObjectFields.End + 0x04d, // Size: 1, Flags: Public
FactionTemplate = ObjectFields.End + 0x04e, // Size: 1, Flags: Public
VirtualItemSlotId = ObjectFields.End + 0x04f, // Size: 6, Flags: Public
Flags = ObjectFields.End + 0x055, // Size: 1, Flags: Public, Urgent
Flags2 = ObjectFields.End + 0x056, // Size: 1, Flags: Public, Urgent
Flags3 = ObjectFields.End + 0x057, // Size: 1, Flags: Public, Urgent
AuraState = ObjectFields.End + 0x058, // Size: 1, Flags: Public
BaseAttackTime = ObjectFields.End + 0x059, // Size: 2, Flags: Public
RangedAttackTime = ObjectFields.End + 0x05b, // Size: 1, Flags: Private
BoundingRadius = ObjectFields.End + 0x05c, // Size: 1, Flags: Public
CombatReach = ObjectFields.End + 0x05d, // Size: 1, Flags: Public
DisplayId = ObjectFields.End + 0x05e, // Size: 1, Flags: Dynamic, Urgent
NativeDisplayId = ObjectFields.End + 0x05f, // Size: 1, Flags: Public, Urgent
MountDisplayId = ObjectFields.End + 0x060, // Size: 1, Flags: Public, Urgent
MinDamage = ObjectFields.End + 0x061, // Size: 1, Flags: Private, Owner, SpecialInfo
MaxDamage = ObjectFields.End + 0x062, // Size: 1, Flags: Private, Owner, SpecialInfo
MinOffHandDamage = ObjectFields.End + 0x063, // Size: 1, Flags: Private, Owner, SpecialInfo
MaxOffHandDamage = ObjectFields.End + 0x064, // Size: 1, Flags: Private, Owner, SpecialInfo
Bytes1 = ObjectFields.End + 0x065, // Size: 1, Flags: Public
PetNumber = ObjectFields.End + 0x066, // Size: 1, Flags: Public
PetNameTimestamp = ObjectFields.End + 0x067, // Size: 1, Flags: Public
PetExperience = ObjectFields.End + 0x068, // Size: 1, Flags: Owner
PetNextLevelExp = ObjectFields.End + 0x069, // Size: 1, Flags: Owner
ModCastSpeed = ObjectFields.End + 0x06a, // Size: 1, Flags: Public
ModCastHaste = ObjectFields.End + 0x06b, // Size: 1, Flags: Public
ModHaste = ObjectFields.End + 0x06c, // Size: 1, Flags: Public
ModRangedHaste = ObjectFields.End + 0x06d, // Size: 1, Flags: Public
ModHasteRegen = ObjectFields.End + 0x06e, // Size: 1, Flags: Public
ModTimeRate = ObjectFields.End + 0x06f, // Size: 1, Flags: Public
CreatedBySpell = ObjectFields.End + 0x070, // Size: 1, Flags: Public
NpcFlags = ObjectFields.End + 0x071, // Size: 2, Flags: Public, Dynamic
NpcEmotestate = ObjectFields.End + 0x073, // Size: 1, Flags: Public
Stat = ObjectFields.End + 0x074, // Size: 4, Flags: Private, Owner
PosStat = ObjectFields.End + 0x078, // Size: 4, Flags: Private, Owner
NegStat = ObjectFields.End + 0x07c, // Size: 4, Flags: Private, Owner
Resistances = ObjectFields.End + 0x080, // Size: 7, Flags: Private, Owner, SpecialInfo
ResistanceBuffModsPositive = ObjectFields.End + 0x087, // Size: 7, Flags: Private, Owner
ResistanceBuffModsNegative = ObjectFields.End + 0x08e, // Size: 7, Flags: Private, Owner
ModBonusArmor = ObjectFields.End + 0x095, // Size: 1, Flags: Private, Owner
BaseMana = ObjectFields.End + 0x096, // Size: 1, Flags: Public
BaseHealth = ObjectFields.End + 0x097, // Size: 1, Flags: Private, Owner
Bytes2 = ObjectFields.End + 0x098, // Size: 1, Flags: Public
AttackPower = ObjectFields.End + 0x099, // Size: 1, Flags: Private, Owner
AttackPowerModPos = ObjectFields.End + 0x09a, // Size: 1, Flags: Private, Owner
AttackPowerModNeg = ObjectFields.End + 0x09b, // Size: 1, Flags: Private, Owner
AttackPowerMultiplier = ObjectFields.End + 0x09c, // Size: 1, Flags: Private, Owner
RangedAttackPower = ObjectFields.End + 0x09d, // Size: 1, Flags: Private, Owner
RangedAttackPowerModPos = ObjectFields.End + 0x09e, // Size: 1, Flags: Private, Owner
RangedAttackPowerModNeg = ObjectFields.End + 0x09f, // Size: 1, Flags: Private, Owner
RangedAttackPowerMultiplier = ObjectFields.End + 0x0a0, // Size: 1, Flags: Private, Owner
AttackSpeedAura = ObjectFields.End + 0x0a1, // Size: 1, Flags: Private, Owner
MinRangedDamage = ObjectFields.End + 0x0a2, // Size: 1, Flags: Private, Owner
MaxRangedDamage = ObjectFields.End + 0x0a3, // Size: 1, Flags: Private, Owner
PowerCostModifier = ObjectFields.End + 0x0a4, // Size: 7, Flags: Private, Owner
PowerCostMultiplier = ObjectFields.End + 0x0ab, // Size: 7, Flags: Private, Owner
MaxHealthModifier = ObjectFields.End + 0x0b2, // Size: 1, Flags: Private, Owner
HoverHeight = ObjectFields.End + 0x0b3, // Size: 1, Flags: Public
MinItemLevelCutoff = ObjectFields.End + 0x0b4, // Size: 1, Flags: Public
MinItemLevel = ObjectFields.End + 0x0b5, // Size: 1, Flags: Public
Maxitemlevel = ObjectFields.End + 0x0b6, // Size: 1, Flags: Public
WildBattlepetLevel = ObjectFields.End + 0x0b7, // Size: 1, Flags: Public
BattlepetCompanionNameTimestamp = ObjectFields.End + 0x0b8, // Size: 1, Flags: Public
InteractSpellid = ObjectFields.End + 0x0b9, // Size: 1, Flags: Public
StateSpellVisualId = ObjectFields.End + 0x0ba, // Size: 1, Flags: Dynamic, Urgent
StateAnimId = ObjectFields.End + 0x0bb, // Size: 1, Flags: Dynamic, Urgent
StateAnimKitId = ObjectFields.End + 0x0bc, // Size: 1, Flags: Dynamic, Urgent
StateWorldEffectId = ObjectFields.End + 0x0bd, // Size: 4, Flags: Dynamic, Urgent
ScaleDuration = ObjectFields.End + 0x0c1, // Size: 1, Flags: Public
LooksLikeMountId = ObjectFields.End + 0x0c2, // Size: 1, Flags: Public
LooksLikeCreatureId = ObjectFields.End + 0x0c3, // Size: 1, Flags: Public
LookAtControllerId = ObjectFields.End + 0x0c4, // Size: 1, Flags: Public
LookAtControllerTarget = ObjectFields.End + 0x0c5, // Size: 4, Flags: Public
End = ObjectFields.End + 0x0c9
}
public enum UnitDynamicFields
@@ -205,101 +207,101 @@ namespace Framework.Constants
CurrentBattlePetBreedQuality = UnitFields.End + 0x366, // Size: 1, Flags: Public
Prestige = UnitFields.End + 0x367, // Size: 1, Flags: Public
HonorLevel = UnitFields.End + 0x368, // Size: 1, Flags: Public
InvSlotHead = UnitFields.End + 0x369, // Size: 748, Flags: Private
InvSlotHead = UnitFields.End + 0x369, // Size: 780, Flags: Private
EndNotSelf = UnitFields.End + 0x369,
Farsight = UnitFields.End + 0x655, // Size: 4, Flags: Private
SummonedBattlePetId = UnitFields.End + 0x659, // Size: 4, Flags: Private
KnownTitles = UnitFields.End + 0x65d, // Size: 12, Flags: Private
Coinage = UnitFields.End + 0x669, // Size: 2, Flags: Private
Xp = UnitFields.End + 0x66b, // Size: 1, Flags: Private
NextLevelXp = UnitFields.End + 0x66c, // Size: 1, Flags: Private
SkillLineId = UnitFields.End + 0x66d, // Size: 448, Flags: Private
SkillLineStep = UnitFields.End + 0x6AD,
SkillLineRank = UnitFields.End + 0x6ED,
SkillLineSubStartRank = UnitFields.End + 0x72D,
SkillLineMaxRank = UnitFields.End + 0x76D,
SkillLineTempBonus = UnitFields.End + 0x7AD,
SkillLinePermBonus = UnitFields.End + 0x7ED,
CharacterPoints = UnitFields.End + 0x82d, // Size: 1, Flags: Private
MaxTalentTiers = UnitFields.End + 0x82e, // Size: 1, Flags: Private
TrackCreatures = UnitFields.End + 0x82f, // Size: 1, Flags: Private
TrackResources = UnitFields.End + 0x830, // Size: 1, Flags: Private
Expertise = UnitFields.End + 0x831, // Size: 1, Flags: Private
OffhandExpertise = UnitFields.End + 0x832, // Size: 1, Flags: Private
RangedExpertise = UnitFields.End + 0x833, // Size: 1, Flags: Private
CombatRatingExpertise = UnitFields.End + 0x834, // Size: 1, Flags: Private
BlockPercentage = UnitFields.End + 0x835, // Size: 1, Flags: Private
DodgePercentage = UnitFields.End + 0x836, // Size: 1, Flags: Private
DodgePercentageFromAttribute = UnitFields.End + 0x837, // Size: 1, Flags: Private
ParryPercentage = UnitFields.End + 0x838, // Size: 1, Flags: Private
ParryPercentageFromAttribute = UnitFields.End + 0x839, // Size: 1, Flags: Private
CritPercentage = UnitFields.End + 0x83a, // Size: 1, Flags: Private
RangedCritPercentage = UnitFields.End + 0x83b, // Size: 1, Flags: Private
OffhandCritPercentage = UnitFields.End + 0x83c, // Size: 1, Flags: Private
SpellCritPercentage1 = UnitFields.End + 0x83d, // Size: 1, Flags: Private
ShieldBlock = UnitFields.End + 0x83e, // Size: 1, Flags: Private
ShieldBlockCritPercentage = UnitFields.End + 0x83f, // Size: 1, Flags: Private
Mastery = UnitFields.End + 0x840, // Size: 1, Flags: Private
Speed = UnitFields.End + 0x841, // Size: 1, Flags: Private
Lifesteal = UnitFields.End + 0x842, // Size: 1, Flags: Private
Avoidance = UnitFields.End + 0x843, // Size: 1, Flags: Private
Sturdiness = UnitFields.End + 0x844, // Size: 1, Flags: Private
Versatility = UnitFields.End + 0x845, // Size: 1, Flags: Private
VersatilityBonus = UnitFields.End + 0x846, // Size: 1, Flags: Private
FieldPvpPowerDamage = UnitFields.End + 0x847, // Size: 1, Flags: Private
FieldPvpPowerHealing = UnitFields.End + 0x848, // Size: 1, Flags: Private
ExploredZones1 = UnitFields.End + 0x849, // Size: 320, Flags: PRIVATE
RestInfo = UnitFields.End + 0x989, // Size: 4, Flags: Private
ModDamageDonePos = UnitFields.End + 0x98d, // Size: 7, Flags: Private
ModDamageDoneNeg = UnitFields.End + 0x994, // Size: 7, Flags: Private
ModDamageDonePct = UnitFields.End + 0x99b, // Size: 7, Flags: Private
ModHealingDonePos = UnitFields.End + 0x9a2, // Size: 1, Flags: Private
ModHealingPct = UnitFields.End + 0x9a3, // Size: 1, Flags: Private
ModHealingDonePct = UnitFields.End + 0x9a4, // Size: 1, Flags: Private
ModPeriodicHealingDonePercent = UnitFields.End + 0x9a5, // Size: 1, Flags: Private
WeaponDmgMultipliers = UnitFields.End + 0x9a6, // Size: 3, Flags: Private
WeaponAtkSpeedMultipliers = UnitFields.End + 0x9a9, // Size: 3, Flags: Private
ModSpellPowerPct = UnitFields.End + 0x9ac, // Size: 1, Flags: Private
ModResiliencePercent = UnitFields.End + 0x9ad, // Size: 1, Flags: Private
OverrideSpellPowerByApPct = UnitFields.End + 0x9ae, // Size: 1, Flags: Private
OverrideApBySpellPowerPercent = UnitFields.End + 0x9af, // Size: 1, Flags: Private
ModTargetResistance = UnitFields.End + 0x9b0, // Size: 1, Flags: Private
ModTargetPhysicalResistance = UnitFields.End + 0x9b1, // Size: 1, Flags: Private
LocalFlags = UnitFields.End + 0x9b2, // Size: 1, Flags: Private
FieldBytes = UnitFields.End + 0x9b3, // Size: 1, Flags: Private
SelfResSpell = UnitFields.End + 0x9b4, // Size: 1, Flags: Private
PvpMedals = UnitFields.End + 0x9b5, // Size: 1, Flags: Private
BuyBackPrice1 = UnitFields.End + 0x9b6, // Size: 12, Flags: Private
BuyBackTimestamp1 = UnitFields.End + 0x9c2, // Size: 12, Flags: Private
Kills = UnitFields.End + 0x9ce, // Size: 1, Flags: Private
LifetimeHonorableKills = UnitFields.End + 0x9cf, // Size: 1, Flags: Private
WatchedFactionIndex = UnitFields.End + 0x9d0, // Size: 1, Flags: Private
CombatRating1 = UnitFields.End + 0x9d1, // Size: 32, Flags: Private
ArenaTeamInfo11 = UnitFields.End + 0x9f1, // Size: 42, Flags: Private
MaxLevel = UnitFields.End + 0xa1b, // Size: 1, Flags: Private
ScalingLevelDelta = UnitFields.End + 0xa1c, // Size: 1, Flags: Private
MaxCreatureScalingLevel = UnitFields.End + 0xa1d, // Size: 1, Flags: Private
NoReagentCost1 = UnitFields.End + 0xa1e, // Size: 4, Flags: Private
PetSpellPower = UnitFields.End + 0xa22, // Size: 1, Flags: Private
Researching1 = UnitFields.End + 0xa23, // Size: 10, Flags: Private
ProfessionSkillLine1 = UnitFields.End + 0xa2d, // Size: 2, Flags: Private
UiHitModifier = UnitFields.End + 0xa2f, // Size: 1, Flags: Private
UiSpellHitModifier = UnitFields.End + 0xa30, // Size: 1, Flags: Private
HomeRealmTimeOffset = UnitFields.End + 0xa31, // Size: 1, Flags: Private
ModPetHaste = UnitFields.End + 0xa32, // Size: 1, Flags: Private
FieldBytes2 = UnitFields.End + 0xa33, // Size: 1, Flags: Private
FieldBytes3 = UnitFields.End + 0xa34, // Size: 1, Flags: Private, UrgentSelfOnly
LfgBonusFactionId = UnitFields.End + 0xa35, // Size: 1, Flags: Private
LootSpecId = UnitFields.End + 0xa36, // Size: 1, Flags: Private
OverrideZonePvpType = UnitFields.End + 0xa37, // Size: 1, Flags: Private, UrgentSelfOnly
BagSlotFlags = UnitFields.End + 0xa38, // Size: 4, Flags: Private
BankBagSlotFlags = UnitFields.End + 0xa3c, // Size: 7, Flags: Private
InsertItemsLeftToRight = UnitFields.End + 0xa43, // Size: 1, Flags: Private
QuestCompleted = UnitFields.End + 0xa44, // Size: 1750, Flags: Private
Honor = UnitFields.End + 0x111a, // Size: 1, Flags: Private
HonorNextLevel = UnitFields.End + 0x111b, // Size: 1, Flags: Private
End = UnitFields.End + 0x111C
Farsight = UnitFields.End + 0x675, // Size: 4, Flags: Private
SummonedBattlePetId = UnitFields.End + 0x679, // Size: 4, Flags: Private
KnownTitles = UnitFields.End + 0x67d, // Size: 12, Flags: Private
Coinage = UnitFields.End + 0x689, // Size: 2, Flags: Private
Xp = UnitFields.End + 0x68b, // Size: 1, Flags: Private
NextLevelXp = UnitFields.End + 0x68c, // Size: 1, Flags: Private
TrialXp = UnitFields.End + 0x68d, // Size: 1, Flags: Private
SkillLineId = UnitFields.End + 0x68e, // Size: 448, Flags: Private
SkillLineStep = UnitFields.End + 0x6ce,
SkillLineRank = UnitFields.End + 0x70e,
SkillLineSubRank = UnitFields.End + 0x74e,
SkillLineMaxRank = UnitFields.End + 0x78c,
SkillLineTempBonus = UnitFields.End + 0x7ce,
SkillLinePermBonus = UnitFields.End + 0x80e,
CharacterPoints = UnitFields.End + 0x84e, // Size: 1, Flags: Private
MaxTalentTiers = UnitFields.End + 0x84f, // Size: 1, Flags: Private
TrackCreatures = UnitFields.End + 0x850, // Size: 1, Flags: Private
TrackResources = UnitFields.End + 0x851, // Size: 1, Flags: Private
Expertise = UnitFields.End + 0x852, // Size: 1, Flags: Private
OffhandExpertise = UnitFields.End + 0x853, // Size: 1, Flags: Private
RangedExpertise = UnitFields.End + 0x854, // Size: 1, Flags: Private
CombatRatingExpertise = UnitFields.End + 0x855, // Size: 1, Flags: Private
BlockPercentage = UnitFields.End + 0x856, // Size: 1, Flags: Private
DodgePercentage = UnitFields.End + 0x857, // Size: 1, Flags: Private
DodgePercentageFromAttribute = UnitFields.End + 0x858, // Size: 1, Flags: Private
ParryPercentage = UnitFields.End + 0x859, // Size: 1, Flags: Private
ParryPercentageFromAttribute = UnitFields.End + 0x85a, // Size: 1, Flags: Private
CritPercentage = UnitFields.End + 0x85b, // Size: 1, Flags: Private
RangedCritPercentage = UnitFields.End + 0x85c, // Size: 1, Flags: Private
OffhandCritPercentage = UnitFields.End + 0x85d, // Size: 1, Flags: Private
SpellCritPercentage1 = UnitFields.End + 0x85e, // Size: 1, Flags: Private
ShieldBlock = UnitFields.End + 0x85f, // Size: 1, Flags: Private
ShieldBlockCritPercentage = UnitFields.End + 0x860, // Size: 1, Flags: Private
Mastery = UnitFields.End + 0x861, // Size: 1, Flags: Private
Speed = UnitFields.End + 0x862, // Size: 1, Flags: Private
Lifesteal = UnitFields.End + 0x863, // Size: 1, Flags: Private
Avoidance = UnitFields.End + 0x864, // Size: 1, Flags: Private
Sturdiness = UnitFields.End + 0x865, // Size: 1, Flags: Private
Versatility = UnitFields.End + 0x866, // Size: 1, Flags: Private
VersatilityBonus = UnitFields.End + 0x867, // Size: 1, Flags: Private
PvpPowerDamage = UnitFields.End + 0x868, // Size: 1, Flags: Private
PvpPowerHealing = UnitFields.End + 0x869, // Size: 1, Flags: Private
ExploredZones1 = UnitFields.End + 0x86a, // Size: 320, Flags: Private
RestInfo = UnitFields.End + 0x9aa, // Size: 4, Flags: Private
ModDamageDonePos = UnitFields.End + 0x9ae, // Size: 7, Flags: Private
ModDamageDoneNeg = UnitFields.End + 0x9b5, // Size: 7, Flags: Private
ModDamageDonePct = UnitFields.End + 0x9bc, // Size: 7, Flags: Private
ModHealingDonePos = UnitFields.End + 0x9c3, // Size: 1, Flags: Private
ModHealingPct = UnitFields.End + 0x9c4, // Size: 1, Flags: Private
ModHealingDonePct = UnitFields.End + 0x9c5, // Size: 1, Flags: Private
ModPeriodicHealingDonePercent = UnitFields.End + 0x9c6, // Size: 1, Flags: Private
WeaponDmgMultipliers = UnitFields.End + 0x9c7, // Size: 3, Flags: Private
WeaponAtkSpeedMultipliers = UnitFields.End + 0x9ca, // Size: 3, Flags: Private
ModSpellPowerPct = UnitFields.End + 0x9cd, // Size: 1, Flags: Private
ModResiliencePercent = UnitFields.End + 0x9ce, // Size: 1, Flags: Private
OverrideSpellPowerByApPct = UnitFields.End + 0x9cf, // Size: 1, Flags: Private
OverrideApBySpellPowerPercent = UnitFields.End + 0x9d0, // Size: 1, Flags: Private
ModTargetResistance = UnitFields.End + 0x9d1, // Size: 1, Flags: Private
ModTargetPhysicalResistance = UnitFields.End + 0x9d2, // Size: 1, Flags: Private
LocalFlags = UnitFields.End + 0x9d3, // Size: 1, Flags: Private
FieldBytes = UnitFields.End + 0x9d4, // Size: 1, Flags: Private
PvpMedals = UnitFields.End + 0x9d5, // Size: 1, Flags: Private
BuyBackPrice1 = UnitFields.End + 0x9d6, // Size: 12, Flags: Private
BuyBackTimestamp1 = UnitFields.End + 0x9e2, // Size: 12, Flags: Private
Kills = UnitFields.End + 0x9ee, // Size: 1, Flags: Private
LifetimeHonorableKills = UnitFields.End + 0x9ef, // Size: 1, Flags: Private
WatchedFactionIndex = UnitFields.End + 0x9f0, // Size: 1, Flags: Private
CombatRating1 = UnitFields.End + 0x9f1, // Size: 32, Flags: Private
ArenaTeamInfo11 = UnitFields.End + 0xa11, // Size: 42, Flags: Private
MaxLevel = UnitFields.End + 0xa3b, // Size: 1, Flags: Private
ScalingLevelDelta = UnitFields.End + 0xa3c, // Size: 1, Flags: Private
MaxCreatureScalingLevel = UnitFields.End + 0xa3d, // Size: 1, Flags: Private
NoReagentCost1 = UnitFields.End + 0xa3e, // Size: 4, Flags: Private
PetSpellPower = UnitFields.End + 0xa42, // Size: 1, Flags: Private
Researching1 = UnitFields.End + 0xa43, // Size: 10, Flags: Private
ProfessionSkillLine1 = UnitFields.End + 0xa4d, // Size: 2, Flags: Private
UiHitModifier = UnitFields.End + 0xa4f, // Size: 1, Flags: Private
UiSpellHitModifier = UnitFields.End + 0xa50, // Size: 1, Flags: Private
HomeRealmTimeOffset = UnitFields.End + 0xa51, // Size: 1, Flags: Private
ModPetHaste = UnitFields.End + 0xa52, // Size: 1, Flags: Private
FieldBytes2 = UnitFields.End + 0xa53, // Size: 1, Flags: Private
FieldBytes3 = UnitFields.End + 0xa54, // Size: 1, Flags: Private, UrgentSelfOnly
LfgBonusFactionId = UnitFields.End + 0xa55, // Size: 1, Flags: Private
LootSpecId = UnitFields.End + 0xa56, // Size: 1, Flags: Private
OverrideZonePvpType = UnitFields.End + 0xa57, // Size: 1, Flags: Private, UrgentSelfOnly
BagSlotFlags = UnitFields.End + 0xa58, // Size: 4, Flags: Private
BankBagSlotFlags = UnitFields.End + 0xa5c, // Size: 7, Flags: Private
InsertItemsLeftToRight = UnitFields.End + 0xa63, // Size: 1, Flags: Private
QuestCompleted = UnitFields.End + 0xa64, // Size: 1750, Flags: Private
Honor = UnitFields.End + 0x113a, // Size: 1, Flags: Private
HonorNextLevel = UnitFields.End + 0x113b, // Size: 1, Flags: Private
End = UnitFields.End + 0x113c,
}
public enum PlayerDynamicFields
@@ -313,11 +315,12 @@ namespace Framework.Constants
Toys = UnitDynamicFields.End + 0x006, // Flags: Private
Transmog = UnitDynamicFields.End + 0x007, // Flags: PRIVATE
ConditionalTransmog = UnitDynamicFields.End + 0x008, // Flags: PRIVATE
CharacterRestrictions = UnitDynamicFields.End + 0x009, // Flags: PRIVATE
SpellPctModByLabel = UnitDynamicFields.End + 0x00A, // Flags: PRIVATE
SpellFlatModByLabel = UnitDynamicFields.End + 0x00B, // Flags: PRIVATE
ArenaCooldowns = UnitDynamicFields.End + 0x00C, // Flags: PUBLIC
End = UnitDynamicFields.End + 0x00D
SelfResSpells = UnitDynamicFields.End + 0x009, // Flags: Private
CharacterRestrictions = UnitDynamicFields.End + 0x00a, // Flags: Private
SpellPctModByLabel = UnitDynamicFields.End + 0x00b, // Flags: Private
SpellFlatModByLabel = UnitDynamicFields.End + 0x00c, // Flags: Private
ArenaCooldowns = UnitDynamicFields.End + 0x00d, // Flags: Public
End = UnitDynamicFields.End + 0x00e,
}
public enum GameObjectFields
@@ -49,21 +49,21 @@ namespace Framework.Database
"subject, deliver_time, expire_time, money, has_items FROM mail WHERE receiver = ? ");
PrepareStatement(CharStatements.SEL_MAIL_LIST_ITEMS, "SELECT itemEntry,count FROM item_instance WHERE guid = ?");
PrepareStatement(CharStatements.SEL_ENUM, "SELECT c.guid, c.name, c.race, c.class, c.gender, c.skin, c.face, c.hairStyle, c.hairColor, c.facialStyle, c.customDisplay1, c.customDisplay2, c.customDisplay3, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid, c.slot, c.logout_time, c.activeTalentGroup " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid, c.slot, c.logout_time, c.activeTalentGroup, c.lastLoginBuild " +
"FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? LEFT JOIN guild_member AS gm ON c.guid = gm.guid " +
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? AND c.deleteInfos_Name IS NULL");
PrepareStatement(CharStatements.SEL_ENUM_DECLINED_NAME, "SELECT c.guid, c.name, c.race, c.class, c.gender, c.skin, c.face, c.hairStyle, c.hairColor, c.facialStyle, c.customDisplay1, c.customDisplay2, c.customDisplay3, c.level, c.zone, c.map, " +
"c.position_x, c.position_y, c.position_z, gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, " +
"cb.guid, c.slot, c.logout_time, c.activeTalentGroup, cd.genitive FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? " +
"cb.guid, c.slot, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, cd.genitive FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? " +
"LEFT JOIN character_declinedname AS cd ON c.guid = cd.guid LEFT JOIN guild_member AS gm ON c.guid = gm.guid " +
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.account = ? AND c.deleteInfos_Name IS NULL");
PrepareStatement(CharStatements.SEL_UNDELETE_ENUM, "SELECT c.guid, c.deleteInfos_Name, c.race, c.class, c.gender, c.skin, c.face, c.hairStyle, c.hairColor, c.facialStyle, c.customDisplay1, c.customDisplay2, c.customDisplay3, c.level, c.zone, c.map, c.position_x, c.position_y, c.position_z, " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid, c.slot, c.logout_time, c.activeTalentGroup " +
"gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, cb.guid, c.slot, c.logout_time, c.activeTalentGroup, c.lastLoginBuild " +
"FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? LEFT JOIN guild_member AS gm ON c.guid = gm.guid " +
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.deleteInfos_Account = ? AND c.deleteInfos_Name IS NOT NULL");
PrepareStatement(CharStatements.SEL_UNDELETE_ENUM_DECLINED_NAME, "SELECT c.guid, c.deleteInfos_Name, c.race, c.class, c.gender, c.skin, c.face, c.hairStyle, c.hairColor, c.facialStyle, c.customDisplay1, c.customDisplay2, c.customDisplay3, c.level, c.zone, c.map, " +
"c.position_x, c.position_y, c.position_z, gm.guildid, c.playerFlags, c.at_login, cp.entry, cp.modelid, cp.level, c.equipmentCache, " +
"cb.guid, c.slot, c.logout_time, c.activeTalentGroup, cd.genitive FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? " +
"cb.guid, c.slot, c.logout_time, c.activeTalentGroup, c.lastLoginBuild, cd.genitive FROM characters AS c LEFT JOIN character_pet AS cp ON c.guid = cp.owner AND cp.slot = ? " +
"LEFT JOIN character_declinedname AS cd ON c.guid = cd.guid LEFT JOIN guild_member AS gm ON c.guid = gm.guid " +
"LEFT JOIN character_banned AS cb ON c.guid = cb.guid AND cb.active = 1 WHERE c.deleteInfos_Account = ? AND c.deleteInfos_Name IS NOT NULL");
PrepareStatement(CharStatements.SEL_FREE_NAME, "SELECT name, at_login FROM characters WHERE guid = ? AND NOT EXISTS (SELECT NULL FROM characters WHERE name = ?)");
@@ -77,7 +77,7 @@ namespace Framework.Database
PrepareStatement(CharStatements.DEL_BATTLEGROUND_RANDOM, "DELETE FROM character_battleground_random WHERE guid = ?");
PrepareStatement(CharStatements.INS_BATTLEGROUND_RANDOM, "INSERT INTO character_battleground_random (guid) VALUES (?)");
PrepareStatement(CharStatements.SEL_CHARACTER, "SELECT c.guid, account, name, race, class, gender, level, xp, money, skin, face, hairStyle, hairColor, facialStyle, customDisplay1, customDisplay2, customDisplay3, bankSlots, restState, playerFlags, playerFlagsEx, " +
PrepareStatement(CharStatements.SEL_CHARACTER, "SELECT c.guid, account, name, race, class, gender, level, xp, money, skin, face, hairStyle, hairColor, facialStyle, customDisplay1, customDisplay2, customDisplay3, inventorySlots, bankSlots, restState, playerFlags, playerFlagsEx, " +
"position_x, position_y, position_z, map, orientation, taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, " +
"resettalents_time, primarySpecialization, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeonDifficulty, " +
"totalKills, todayKills, yesterdayKills, chosenTitle, watchedFaction, drunk, " +
@@ -418,18 +418,18 @@ namespace Framework.Database
PrepareStatement(CharStatements.DEL_LFG_DATA, "DELETE FROM lfg_data WHERE guid = ?");
// Player saving
PrepareStatement(CharStatements.INS_CHARACTER, "INSERT INTO characters (guid, account, name, race, class, gender, level, xp, money, skin, face, hairStyle, hairColor, facialStyle, customDisplay1, customDisplay2, customDisplay3, bankSlots, restState, playerFlags, playerFlagsEx, " +
PrepareStatement(CharStatements.INS_CHARACTER, "INSERT INTO characters (guid, account, name, race, class, gender, level, xp, money, skin, face, hairStyle, hairColor, facialStyle, customDisplay1, customDisplay2, customDisplay3, inventorySlots, bankSlots, restState, playerFlags, playerFlagsEx, " +
"map, instance_id, dungeonDifficulty, raidDifficulty, legacyRaidDifficulty, position_x, position_y, position_z, orientation, trans_x, trans_y, trans_z, trans_o, transguid, " +
"taximask, cinematic, totaltime, leveltime, rest_bonus, logout_time, is_logout_resting, resettalents_cost, resettalents_time, primarySpecialization, " +
"extra_flags, stable_slots, at_login, zone, death_expire_time, taxi_path, totalKills, todayKills, yesterdayKills, chosenTitle, watchedFaction, drunk, health, power1, power2, power3, " +
"power4, power5, power6, latency, activeTalentGroup, lootSpecId, exploredZones, equipmentCache, knownTitles, actionBars, grantableLevels) VALUES " +
"(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
PrepareStatement(CharStatements.UPD_CHARACTER, "UPDATE characters SET name=?,race=?,class=?,gender=?,level=?,xp=?,money=?,skin=?,face=?,hairStyle=?,hairColor=?,facialStyle=?,customDisplay1=?,customDisplay2=?,customDisplay3=?,bankSlots=?,restState=?,playerFlags=?,playerFlagsEx=?," +
"power4, power5, power6, latency, activeTalentGroup, lootSpecId, exploredZones, equipmentCache, knownTitles, actionBars, grantableLevels, lastLoginBuild) VALUES " +
"(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
PrepareStatement(CharStatements.UPD_CHARACTER, "UPDATE characters SET name=?,race=?,class=?,gender=?,level=?,xp=?,money=?,skin=?,face=?,hairStyle=?,hairColor=?,facialStyle=?,customDisplay1=?,customDisplay2=?,customDisplay3=?,inventorySlots=?,bankSlots=?,restState=?,playerFlags=?,playerFlagsEx=?," +
"map=?,instance_id=?,dungeonDifficulty=?,raidDifficulty=?,legacyRaidDifficulty=?,position_x=?,position_y=?,position_z=?,orientation=?,trans_x=?,trans_y=?,trans_z=?,trans_o=?,transguid=?,taximask=?,cinematic=?,totaltime=?,leveltime=?,rest_bonus=?," +
"logout_time=?,is_logout_resting=?,resettalents_cost=?,resettalents_time=?,primarySpecialization=?,extra_flags=?,stable_slots=?,at_login=?,zone=?,death_expire_time=?,taxi_path=?," +
"totalKills=?,todayKills=?,yesterdayKills=?,chosenTitle=?," +
"watchedFaction=?,drunk=?,health=?,power1=?,power2=?,power3=?,power4=?,power5=?,power6=?,latency=?,activeTalentGroup=?,lootSpecId=?,exploredZones=?," +
"equipmentCache=?,knownTitles=?,actionBars=?,grantableLevels=?,online=?,honor=?,honorLevel=?,prestigeLevel=?,honorRestState=?,honorRestBonus=? WHERE guid=?");
"equipmentCache=?,knownTitles=?,actionBars=?,grantableLevels=?,online=?,honor=?,honorLevel=?,prestigeLevel=?,honorRestState=?,honorRestBonus=?,lastLoginBuild=? WHERE guid=?");
PrepareStatement(CharStatements.UPD_ADD_AT_LOGIN_FLAG, "UPDATE characters SET at_login = at_login | ? WHERE guid = ?");
PrepareStatement(CharStatements.UPD_REM_AT_LOGIN_FLAG, "UPDATE characters set at_login = at_login & ~ ? WHERE guid = ?");
+1 -1
View File
@@ -174,7 +174,7 @@ abstract class Appender
public void Write(LogMessage message)
{
if (_level == LogLevel.Disabled || _level > message.level)
if (_level == LogLevel.Disabled || (_level != LogLevel.Fatal && _level > message.level))
return;
StringBuilder ss = new StringBuilder();