Likes: 0
Results 1 to 10 of 98
Thread: [3.3.3a] ArcEmu Repack
-
29-03-10, 02:00 PM #1
[3.3.3a] ArcEmu Repack
Register to remove this adHere's for all you people who want to satisfy your players.
P1raten's Repack
Version 2.0.0
Screenshots
To-Do:
Fix Quests
Download Link
Download now.
Changeset
Changeset can be found in attachments.
› See More: [3.3.3a] ArcEmu RepackLast edited by P1raten; 15-05-10 at 03:57 PM.
-
29-03-10, 02:01 PM #2
Goodjob :3 keeep eet uwp pairate !
No touching please.
-
29-03-10, 02:14 PM #3
Good release mate.
-
29-03-10, 02:15 PM #4
-
29-03-10, 02:16 PM #5
On Ac-Web prob. :P
-
29-03-10, 03:21 PM #6
Updated to version 1.0.1.
-
29-03-10, 03:23 PM #7
Might also be nice if you included stuff such as what you updated in new versions. & Good job.
-
29-03-10, 03:28 PM #8
Changelog:
Code:Index: arcemu-logonserver/AccountCache.cpp =================================================================== --- arcemu-logonserver/AccountCache.cpp (revision 3234) +++ arcemu-logonserver/AccountCache.cpp (working copy) @@ -108,13 +108,13 @@ acct->AccountId = field[0].GetUInt32(); acct->AccountFlags = field[5].GetUInt8(); acct->Banned = field[6].GetUInt32(); - if ( (uint32)UNIXTIME > acct->Banned && acct->Banned != 0 && acct->Banned != 1) //1 = perm ban? + if ( (uint32)UNIXTIME > acct->Banned && acct->Banned != 0 && acct->Banned != 1 && acct->Banned != 2) //1 = perm ban? { //Accounts should be unbanned once the date is past their set expiry date. - acct->Banned = 0; + acct->Banned = 2; //me go boom :( //printf("Account %s's ban has expired.\n",acct->UsernamePtr->c_str()); - sLogonSQL->Execute("UPDATE accounts SET banned = 0 WHERE acct=%u",acct->AccountId); + sLogonSQL->Execute("UPDATE accounts SET banned = 2 WHERE acct=%u",acct->AccountId); } acct->SetGMFlags(GMFlags.c_str()); acct->Locale[0] = 'e'; @@ -201,12 +201,12 @@ acct->AccountId = field[0].GetUInt32(); acct->AccountFlags = field[5].GetUInt8(); acct->Banned = field[6].GetUInt32(); - if ((uint32)UNIXTIME > acct->Banned && acct->Banned != 0 && acct->Banned != 1) //1 = perm ban? + if ((uint32)UNIXTIME > acct->Banned && acct->Banned != 0 && acct->Banned != 1 && acct->Banned != 2) //1 = perm ban? { //Accounts should be unbanned once the date is past their set expiry date. - acct->Banned = 0; + acct->Banned = 2; sLog.outDebug("Account %s's ban has expired.",acct->UsernamePtr->c_str()); - sLogonSQL->Execute("UPDATE accounts SET banned = 0 WHERE acct=%u",acct->AccountId); + sLogonSQL->Execute("UPDATE accounts SET banned = 2 WHERE acct=%u",acct->AccountId); } acct->SetGMFlags(GMFlags.c_str()); if(strcmp(field[7].GetString(), "enUS")) Index: arcemu-logonserver/AuthSocket.cpp =================================================================== --- arcemu-logonserver/AuthSocket.cpp (revision 3234) +++ arcemu-logonserver/AuthSocket.cpp (working copy) @@ -194,6 +194,11 @@ sLog.outDebug("[AuthChallenge] Account banned state = %u", m_account->Banned); // Check that the account isn't banned. + if(m_account->Banned == 2) + { + SendChallengeError(CE_PREORDER_TIME_LIMIT); + return; + } if(m_account->Banned == 1) { SendChallengeError(CE_ACCOUNT_CLOSED); @@ -576,6 +581,11 @@ sLog.outDebug("[AuthChallenge] Account banned state = %u", m_account->Banned); // Check that the account isn't banned. + if(m_account->Banned == 2) + { + SendChallengeError(CE_PREORDER_TIME_LIMIT); + return; + } if(m_account->Banned == 1) { SendChallengeError(CE_ACCOUNT_CLOSED); Index: arcemu-shared/Auth/WowCrypt.cpp =================================================================== --- arcemu-shared/Auth/WowCrypt.cpp (revision 3234) +++ arcemu-shared/Auth/WowCrypt.cpp (working copy) @@ -32,8 +32,8 @@ void WowCrypt::Init(uint8 *K) { - static const uint8 s[16] = { 0xF4, 0x66, 0x31, 0x59, 0xFC, 0x83, 0x6E, 0x31, 0x31, 0x02, 0x51, 0xD5, 0x44, 0x31, 0x67, 0x98 }; - static const uint8 r[16] = { 0x22, 0xBE, 0xE5, 0xCF, 0xBB, 0x07, 0x64, 0xD9, 0x00, 0x45, 0x1B, 0xD0, 0x24, 0xB8, 0xD5, 0x45 }; + static const uint8 s[16] = { 0xC2, 0xB3, 0x72, 0x3C, 0xC6, 0xAE, 0xD9, 0xB5, 0x34, 0x3C, 0x53, 0xEE, 0x2F, 0x43, 0x67, 0xCE }; + static const uint8 r[16] = { 0xCC, 0x98, 0xAE, 0x04, 0xE8, 0x97, 0xEA, 0xCA, 0x12, 0xDD, 0xC0, 0x93, 0x42, 0x91, 0x53, 0x57 }; uint8 encryptHash[SHA_DIGEST_LENGTH]; uint8 decryptHash[SHA_DIGEST_LENGTH]; uint8 pass[1024]; @@ -62,4 +62,4 @@ WowCrypt::~WowCrypt() { -} +} \ No newline at end of file Index: arcemu-shared/AuthCodes.h =================================================================== --- arcemu-shared/AuthCodes.h (revision 3234) +++ arcemu-shared/AuthCodes.h (working copy) @@ -23,118 +23,118 @@ // client 3.3.0, 2009/12/20 enum LoginErrorCode { - E_RESPONSE_SUCCESS = 0x00, - E_RESPONSE_FAILURE = 0x01, - E_RESPONSE_CANCELLED = 0x02, - E_RESPONSE_DISCONNECTED = 0x03, - E_RESPONSE_FAILED_TO_CONNECT = 0x04, - E_RESPONSE_CONNECTED = 0x05, - E_RESPONSE_VERSION_MISMATCH = 0x06, + E_RESPONSE_SUCCESS = 0x00, + E_RESPONSE_FAILURE = 0x01, + E_RESPONSE_CANCELLED = 0x02, + E_RESPONSE_DISCONNECTED = 0x03, + E_RESPONSE_FAILED_TO_CONNECT = 0x04, + E_RESPONSE_VERSION_MISMATCH = 0x05, - E_CSTATUS_CONNECTING = 0x07, - E_CSTATUS_NEGOTIATING_SECURITY = 0x08, - E_CSTATUS_NEGOTIATION_COMPLETE = 0x09, - E_CSTATUS_NEGOTIATION_FAILED = 0x0A, - E_CSTATUS_AUTHENTICATING = 0x0B, + E_CSTATUS_CONNECTING = 0x06, + E_CSTATUS_NEGOTIATING_SECURITY = 0x07, + E_CSTATUS_NEGOTIATION_COMPLETE = 0x08, + E_CSTATUS_NEGOTIATION_FAILED = 0x09, + E_CSTATUS_AUTHENTICATING = 0x0A, + + E_AUTH_OK = 0x0B, + E_AUTH_FAILED = 0x0C, + E_AUTH_REJECT = 0x0D, + E_AUTH_BAD_SERVER_PROOF = 0x0E, + E_AUTH_UNAVAILABLE = 0x0F, + E_AUTH_SYSTEM_ERROR = 0x10, + E_AUTH_BILLING_ERROR = 0x11, + E_AUTH_BILLING_EXPIRED = 0x12, + E_AUTH_VERSION_MISMATCH = 0x13, + E_AUTH_UNKNOWN_ACCOUNT = 0x14, + E_AUTH_INCORRECT_PASSWORD = 0x15, + E_AUTH_SESSION_EXPIRED = 0x16, + E_AUTH_SERVER_SHUTTING_DOWN = 0x17, + E_AUTH_ALREADY_LOGGING_IN = 0x18, + E_AUTH_LOGIN_SERVER_NOT_FOUND = 0x19, + E_AUTH_WAIT_QUEUE = 0x1A, + E_AUTH_BANNED = 0x1B, + E_AUTH_ALREADY_ONLINE = 0x1C, + E_AUTH_NO_TIME = 0x1D, + E_AUTH_DB_BUSY = 0x1E, + E_AUTH_SUSPENDED = 0x1F, + E_AUTH_PARENTAL_CONTROL = 0x20, + E_AUTH_LOCKED_ENFORCED = 0x21, - E_AUTH_OK = 0x0C, - E_AUTH_FAILED = 0x0D, - E_AUTH_REJECT = 0x0E, - E_AUTH_BAD_SERVER_PROOF = 0x0F, - E_AUTH_UNAVAILABLE = 0x10, - E_AUTH_SYSTEM_ERROR = 0x11, - E_AUTH_BILLING_ERROR = 0x12, - E_AUTH_BILLING_EXPIRED = 0x13, - E_AUTH_VERSION_MISMATCH = 0x14, - E_AUTH_UNKNOWN_ACCOUNT = 0x15, - E_AUTH_INCORRECT_PASSWORD = 0x16, - E_AUTH_SESSION_EXPIRED = 0x17, - E_AUTH_SERVER_SHUTTING_DOWN = 0x18, - E_AUTH_ALREADY_LOGGING_IN = 0x19, - E_AUTH_LOGIN_SERVER_NOT_FOUND = 0x1A, - E_AUTH_WAIT_QUEUE = 0x1B, - E_AUTH_BANNED = 0x1C, - E_AUTH_ALREADY_ONLINE = 0x1D, - E_AUTH_NO_TIME = 0x1E, - E_AUTH_DB_BUSY = 0x1F, - E_AUTH_SUSPENDED = 0x20, - E_AUTH_PARENTAL_CONTROL = 0x21, - E_AUTH_LOCKED_ENFORCED = 0x22, + E_REALM_LIST_IN_PROGRESS = 0x22, + E_REALM_LIST_SUCCESS = 0x23, + E_REALM_LIST_FAILED = 0x24, + E_REALM_LIST_INVALID = 0x25, + E_REALM_LIST_REALM_NOT_FOUND = 0x26, - E_REALM_LIST_IN_PROGRESS = 0x23, - E_REALM_LIST_SUCCESS = 0x24, - E_REALM_LIST_FAILED = 0x25, - E_REALM_LIST_INVALID = 0x26, - E_REALM_LIST_REALM_NOT_FOUND = 0x27, + E_ACCOUNT_CREATE_IN_PROGRESS = 0x27, + E_ACCOUNT_CREATE_SUCCESS = 0x28, + E_ACCOUNT_CREATE_FAILED = 0x29, - E_ACCOUNT_CREATE_IN_PROGRESS = 0x28, - E_ACCOUNT_CREATE_SUCCESS = 0x29, - E_ACCOUNT_CREATE_FAILED = 0x2A, + E_CHAR_LIST_RETRIEVING = 0x2A, + E_CHAR_LIST_RETRIEVED = 0x2B, + E_CHAR_LIST_FAILED = 0x2C, - E_CHAR_LIST_RETRIEVING = 0x2B, - E_CHAR_LIST_RETRIEVED = 0x2C, - E_CHAR_LIST_FAILED = 0x2D, + E_CHAR_CREATE_IN_PROGRESS = 0x2D, + E_CHAR_CREATE_SUCCESS = 0x2E, + E_CHAR_CREATE_ERROR = 0x2F, + E_CHAR_CREATE_FAILED = 0x30, + E_CHAR_CREATE_NAME_IN_USE = 0x31, + E_CHAR_CREATE_DISABLED = 0x32, + E_CHAR_CREATE_PVP_TEAMS_VIOLATION = 0x33, + E_CHAR_CREATE_SERVER_LIMIT = 0x34, + E_CHAR_CREATE_ACCOUNT_LIMIT = 0x35, + E_CHAR_CREATE_SERVER_QUEUE = 0x36, + E_CHAR_CREATE_ONLY_EXISTING = 0x37, + E_CHAR_CREATE_EXPANSION = 0x38, + E_CHAR_CREATE_EXPANSION_CLASS = 0x39, + E_CHAR_CREATE_LEVEL_REQUIREMENT = 0x3A, + E_CHAR_CREATE_UNIQUE_CLASS_LIMIT = 0x3B, + E_CHAR_CREATE_CHARACTER_IN_GUILD = 0x3C, + E_CHAR_CREATE_RESTRICTED_RACECLASS = 0x3D, + E_CHAR_CREATE_CHARACTER_CHOOSE_RACE = 0x3E, + E_CHAR_CREATE_CHARACTER_ARENA_LEADER = 0x3F, + E_CHAR_CREATE_CHARACTER_DELETE_MAIL = 0x40, + E_CHAR_CREATE_CHARACTER_SWAP_FACTION = 0x41, + E_CHAR_CREATE_CHARACTER_RACE_ONLY = 0x42, + E_CHAR_CREATE_CHARACTER_GOLD_LIMIT = 0x43, + E_CHAR_CREATE_FORCE_LOGIN = 0x44, - E_CHAR_CREATE_IN_PROGRESS = 0x2E, - E_CHAR_CREATE_SUCCESS = 0x2F, - E_CHAR_CREATE_ERROR = 0x30, - E_CHAR_CREATE_FAILED = 0x31, - E_CHAR_CREATE_NAME_IN_USE = 0x32, - E_CHAR_CREATE_DISABLED = 0x33, - E_CHAR_CREATE_PVP_TEAMS_VIOLATION = 0x34, - E_CHAR_CREATE_SERVER_LIMIT = 0x35, - E_CHAR_CREATE_ACCOUNT_LIMIT = 0x36, - E_CHAR_CREATE_SERVER_QUEUE = 0x37, - E_CHAR_CREATE_ONLY_EXISTING = 0x38, - E_CHAR_CREATE_EXPANSION = 0x39, - E_CHAR_CREATE_EXPANSION_CLASS = 0x3A, - E_CHAR_CREATE_LEVEL_REQUIREMENT = 0x3B, - E_CHAR_CREATE_UNIQUE_CLASS_LIMIT = 0x3C, - E_CHAR_CREATE_CHARACTER_IN_GUILD = 0x3D, - E_CHAR_CREATE_RESTRICTED_RACECLASS = 0x3E, - E_CHAR_CREATE_CHARACTER_CHOOSE_RACE = 0x3F, - E_CHAR_CREATE_CHARACTER_ARENA_LEADER = 0x40, - E_CHAR_CREATE_CHARACTER_DELETE_MAIL = 0x41, - E_CHAR_CREATE_CHARACTER_SWAP_FACTION = 0x42, - E_CHAR_CREATE_CHARACTER_RACE_ONLY = 0x43, - E_CHAR_CREATE_CHARACTER_GOLD_LIMIT = 0x44, - E_CHAR_CREATE_FORCE_LOGIN = 0x45, + E_CHAR_DELETE_IN_PROGRESS = 0x45, + E_CHAR_DELETE_SUCCESS = 0x46, + E_CHAR_DELETE_FAILED = 0x47, + E_CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 0x48, + E_CHAR_DELETE_FAILED_GUILD_LEADER = 0x49, + E_CHAR_DELETE_FAILED_ARENA_CAPTAIN = 0x4A, - E_CHAR_DELETE_IN_PROGRESS = 0x46, - E_CHAR_DELETE_SUCCESS = 0x47, - E_CHAR_DELETE_FAILED = 0x48, - E_CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 0x49, - E_CHAR_DELETE_FAILED_GUILD_LEADER = 0x4A, - E_CHAR_DELETE_FAILED_ARENA_CAPTAIN = 0x4B, - - E_CHAR_LOGIN_IN_PROGRESS = 0x4C, - E_CHAR_LOGIN_SUCCESS = 0x4D, - E_CHAR_LOGIN_NO_WORLD = 0x4E, - E_CHAR_LOGIN_DUPLICATE_CHARACTER = 0x4F, - E_CHAR_LOGIN_NO_INSTANCES = 0x50, - E_CHAR_LOGIN_FAILED = 0x51, - E_CHAR_LOGIN_DISABLED = 0x52, - E_CHAR_LOGIN_NO_CHARACTER = 0x53, - E_CHAR_LOGIN_LOCKED_FOR_TRANSFER = 0x54, - E_CHAR_LOGIN_LOCKED_BY_BILLING = 0x55, - - E_CHAR_NAME_SUCCESS = 0x56, - E_CHAR_NAME_FAILURE = 0x57, - E_CHAR_NAME_NO_NAME = 0x58, - E_CHAR_NAME_TOO_SHORT = 0x59, - E_CHAR_NAME_TOO_LONG = 0x5A, - E_CHAR_NAME_INVALID_CHARACTER = 0x5B, - E_CHAR_NAME_MIXED_LANGUAGES = 0x5C, - E_CHAR_NAME_PROFANE = 0x5D, - E_CHAR_NAME_RESERVED = 0x5E, - E_CHAR_NAME_INVALID_APOSTROPHE = 0x5F, - E_CHAR_NAME_MULTIPLE_APOSTROPHES = 0x60, - E_CHAR_NAME_THREE_CONSECUTIVE = 0x61, - E_CHAR_NAME_INVALID_SPACE = 0x62, - E_CHAR_NAME_CONSECUTIVE_SPACES = 0x63, - E_CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 0x64, - E_CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 0x65, - E_CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 0x66, + E_CHAR_LOGIN_IN_PROGRESS = 0x4B, + E_CHAR_LOGIN_SUCCESS = 0x4C, + E_CHAR_LOGIN_NO_WORLD = 0x4D, + E_CHAR_LOGIN_DUPLICATE_CHARACTER = 0x4E, + E_CHAR_LOGIN_NO_INSTANCES = 0x4F, + E_CHAR_LOGIN_FAILED = 0x50, + E_CHAR_LOGIN_DISABLED = 0x51, + E_CHAR_LOGIN_NO_CHARACTER = 0x52, + E_CHAR_LOGIN_LOCKED_FOR_TRANSFER = 0x53, + E_CHAR_LOGIN_LOCKED_BY_BILLING = 0x54, + E_CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 0x55, + + E_CHAR_NAME_SUCCESS = 0x56, + E_CHAR_NAME_FAILURE = 0x57, + E_CHAR_NAME_NO_NAME = 0x58, + E_CHAR_NAME_TOO_SHORT = 0x59, + E_CHAR_NAME_TOO_LONG = 0x5A, + E_CHAR_NAME_INVALID_CHARACTER = 0x5B, + E_CHAR_NAME_MIXED_LANGUAGES = 0x5C, + E_CHAR_NAME_PROFANE = 0x5D, + E_CHAR_NAME_RESERVED = 0x5E, + E_CHAR_NAME_INVALID_APOSTROPHE = 0x5F, + E_CHAR_NAME_MULTIPLE_APOSTROPHES = 0x60, + E_CHAR_NAME_THREE_CONSECUTIVE = 0x61, + E_CHAR_NAME_INVALID_SPACE = 0x62, + E_CHAR_NAME_CONSECUTIVE_SPACES = 0x63, + E_CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 0x64, + E_CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END= 0x65, + E_CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 0x66, }; //These defines are for use with OutPacket @@ -251,4 +251,4 @@ #define CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END "\x65" #define CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME "\x66" -#endif +#endif \ No newline at end of file Index: arcemu-shared/Database/DBCStores.cpp =================================================================== --- arcemu-shared/Database/DBCStores.cpp (revision 3234) +++ arcemu-shared/Database/DBCStores.cpp (working copy) @@ -37,6 +37,7 @@ SERVER_DECL DBCStorage<CharRaceEntry> dbcCharRace; SERVER_DECL DBCStorage<CharTitlesEntry> dbcCharTitlesEntry; SERVER_DECL DBCStorage<ChatChannelDBC> dbcChatChannels; +SERVER_DECL DBCStorage<ChatProfanityDBC> dbcChatProfanity; SERVER_DECL DBCStorage<CombatRatingDBC> dbcCombatRating; SERVER_DECL DBCStorage<CreatureSpellDataEntry> dbcCreatureSpellData; SERVER_DECL DBCStorage<CreatureFamilyEntry> dbcCreatureFamily; @@ -97,9 +98,7 @@ const char* GlyphSlotEntryFormat = "uuu"; const char* skilllineentrYFormat = "uuulxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; -// const char* BattlemasterListEntryFormat = "uiiiiiiiiuuuuuiiiiiiiiiiiiiiiiiiuux"; -// const char* BattlemasterListEntryFormat = "uiiiiiiiiuuiiiiiiiiiiiiiiiiiuux"; -const char* BattlemasterListEntryFormat = "uiiiiiiiiuuiiiiiiiiiiiiiiiiiuux"; +const char* BattlemasterListEntryFormat = "niiiiiiiiixssssssssssssssssxxxxx"; const char* CharTitlesEntryfmt = "u" // ID @@ -221,8 +220,6 @@ "u" // RequiredItemFlags "uuu" // Effect[3] "uuu" // EffectDieSides[3] - "uuu" // EffectBaseDice[3] - "uuu" // EffectDicePerLevel[3] "uuu" // EffectRealPointsPerLevel[3] "uuu" // EffectBasePoints[3] "uuu" // EffectMechanic[3] @@ -321,6 +318,7 @@ const char* itemrandomsuffixformat = "uxxxxxxxxxxxxxxxxxxuuuxxuuuxx";//19, 20, 21, 24, 25, 26 const char* chatchannelformat = "iixssssssssssssssslxxxxxxxxxxxxxxxxxx"; +const char* chatprofanityformat = "isi"; const char* durabilityqualityFormat = "uf"; const char* durabilitycostsFormat = "uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu"; const char* bankslotpriceformat = "uu"; @@ -389,6 +387,7 @@ LOAD_DBC("DBC/ItemRandomSuffix.dbc", itemrandomsuffixformat, true, dbcItemRandomSuffix, false); LOAD_DBC("DBC/gtCombatRatings.dbc", gtfloatformat, false, dbcCombatRating, false); LOAD_DBC("DBC/ChatChannels.dbc", chatchannelformat, true, dbcChatChannels, true); + LOAD_DBC("DBC/ChatProfanity.dbc", chatprofanityformat, true, dbcChatProfanity, false); LOAD_DBC("DBC/DurabilityQuality.dbc", durabilityqualityFormat, true, dbcDurabilityQuality, false); LOAD_DBC("DBC/DurabilityCosts.dbc", durabilitycostsFormat, true, dbcDurabilityCosts, false); LOAD_DBC("DBC/BankBagSlotPrices.dbc", bankslotpriceformat, true, dbcBankSlotPrices, false); @@ -407,4 +406,4 @@ LOAD_DBC("DBC/ScalingStatValues.dbc",scalingstatvaluesformat,true,dbcScalingStatValues, false); LOAD_DBC("DBC/ItemLimitCategory.dbc", itemlimitcategoryformat, true, dbcItemLimitCategory, true); return true; -} +} \ No newline at end of file Index: arcemu-shared/Database/DBCStores.h =================================================================== --- arcemu-shared/Database/DBCStores.h (revision 3234) +++ arcemu-shared/Database/DBCStores.h (working copy) @@ -742,8 +742,6 @@ uint32 RequiredItemFlags; //71 uint32 Effect[3]; //72 - 74 uint32 EffectDieSides[3]; //75 - 77 - uint32 EffectBaseDice[3]; //78 - 80 - float EffectDicePerLevel[3]; //81 - 83 float EffectRealPointsPerLevel[3]; //84 - 86 int32 EffectBasePoints[3]; //87 - 89 int32 EffectMechanic[3]; //90 - 92 Related to SpellMechanic.dbc @@ -1261,6 +1259,13 @@ char * name_pattern[16]; }; +struct ChatProfanityDBC +{ + uint32 id; + char * text; + uint32 type; +}; + struct DurabilityQualityEntry { uint32 id; @@ -1744,4 +1749,4 @@ bool LoadDBCs(); -#endif +#endif \ No newline at end of file Index: arcemu-world/AchievementMgr.h =================================================================== --- arcemu-world/AchievementMgr.h (revision 3234) +++ arcemu-world/AchievementMgr.h (working copy) @@ -194,7 +194,7 @@ ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL = 113, ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS = 114, // 0..114 => 115 criteria types total - ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 120, + ACHIEVEMENT_CRITERIA_TYPE_TOTAL = 124, }; /** Index: arcemu-world/NPCHandler.cpp =================================================================== --- arcemu-world/NPCHandler.cpp (revision 3234) +++ arcemu-world/NPCHandler.cpp (working copy) @@ -407,8 +407,9 @@ } WorldPacket data(MSG_AUCTION_HELLO, 12); - data << auctioneer->GetGUID(); + data << uint64(auctioneer->GetGUID()); data << uint32(AH->GetID()); + data << uint8(1); //seems to enable auction house if 1??? SendPacket( &data ); } Index: arcemu-world/Player.cpp =================================================================== --- arcemu-world/Player.cpp (revision 3234) +++ arcemu-world/Player.cpp (working copy) @@ -2196,7 +2196,9 @@ mSpells.insert(spell_id); if(IsInWorld()) { - m_session->OutPacket(SMSG_LEARNED_SPELL, 4, &spell_id); + WorldPacket data(SMSG_LEARNED_SPELL, 6); + data << (spell_id); + data << uint16(0); } // Check if we're a deleted spell Index: arcemu-world/Spell.cpp =================================================================== --- arcemu-world/Spell.cpp (revision 3234) +++ arcemu-world/Spell.cpp (working copy) @@ -4793,7 +4793,7 @@ int32 value = 0; float basePointsPerLevel = GetProto()->EffectRealPointsPerLevel[i]; - float randomPointsPerLevel = GetProto()->EffectDicePerLevel[i]; +// float randomPointsPerLevel = GetProto()->EffectDicePerLevel[i]; int32 basePoints = GetProto()->EffectBasePoints[i] + 1; int32 randomPoints = GetProto()->EffectDieSides[i]; @@ -4840,7 +4840,7 @@ diff +=GetProto()->maxLevel; else diff +=u_caster->getLevel(); - randomPoints += float2int32(diff * randomPointsPerLevel); +// randomPoints += float2int32(diff * randomPointsPerLevel); basePoints += float2int32(diff * basePointsPerLevel ); } @@ -6047,4 +6047,4 @@ } return 0; -} +} \ No newline at end of file Index: arcemu-world/Spell.h =================================================================== --- arcemu-world/Spell.h (revision 3234) +++ arcemu-world/Spell.h (working copy) @@ -955,7 +955,9 @@ SPELL_EFFECT_UNKNOWN38, // 160 SPELL_EFFECT_LEARN_SPEC, // 161 SPELL_EFFECT_ACTIVATE_SPEC, // 162 - TOTAL_SPELL_EFFECTS, // 163 + SPELL_EFFECT_UNKNOWN163, // 163 + SPELL_EFFECT_UNKNOWN164, // 164 + TOTAL_SPELL_EFFECTS, // 165 }; // target type flags Index: arcemu-world/SpellFixes.cpp =================================================================== --- arcemu-world/SpellFixes.cpp (revision 3234) +++ arcemu-world/SpellFixes.cpp (working copy) @@ -133,8 +133,8 @@ float ftemp; temp = sp->Effect[col1_swap]; sp->Effect[col1_swap] = sp->Effect[col2_swap] ; sp->Effect[col2_swap] = temp; temp = sp->EffectDieSides[col1_swap]; sp->EffectDieSides[col1_swap] = sp->EffectDieSides[col2_swap] ; sp->EffectDieSides[col2_swap] = temp; - temp = sp->EffectBaseDice[col1_swap]; sp->EffectBaseDice[col1_swap] = sp->EffectBaseDice[col2_swap] ; sp->EffectBaseDice[col2_swap] = temp; - ftemp = sp->EffectDicePerLevel[col1_swap]; sp->EffectDicePerLevel[col1_swap] = sp->EffectDicePerLevel[col2_swap] ; sp->EffectDicePerLevel[col2_swap] = ftemp; +// temp = sp->EffectBaseDice[col1_swap]; sp->EffectBaseDice[col1_swap] = sp->EffectBaseDice[col2_swap] ; sp->EffectBaseDice[col2_swap] = temp; +// ftemp = sp->EffectDicePerLevel[col1_swap]; sp->EffectDicePerLevel[col1_swap] = sp->EffectDicePerLevel[col2_swap] ; sp->EffectDicePerLevel[col2_swap] = ftemp; ftemp = sp->EffectRealPointsPerLevel[col1_swap]; sp->EffectRealPointsPerLevel[col1_swap] = sp->EffectRealPointsPerLevel[col2_swap] ; sp->EffectRealPointsPerLevel[col2_swap] = ftemp; temp = sp->EffectBasePoints[col1_swap]; sp->EffectBasePoints[col1_swap] = sp->EffectBasePoints[col2_swap] ; sp->EffectBasePoints[col2_swap] = temp; temp = sp->EffectMechanic[col1_swap]; sp->EffectMechanic[col1_swap] = sp->EffectMechanic[col2_swap] ; sp->EffectMechanic[col2_swap] = temp; @@ -3744,8 +3744,8 @@ healsp->Effect[0] = SPELL_EFFECT_HEAL; healsp->Effect[1] = healsp->Effect[2] = SPELL_EFFECT_NULL; healsp->EffectBasePoints[0] = sp->EffectBasePoints[0]; - healsp->EffectBaseDice[0] = sp->EffectBaseDice[0]; - healsp->EffectDicePerLevel[0] = sp->EffectDicePerLevel[0]; +// healsp->EffectBaseDice[0] = sp->EffectBaseDice[0]; +// healsp->EffectDicePerLevel[0] = sp->EffectDicePerLevel[0]; healsp->EffectDieSides[0] = sp->EffectDieSides[0]; healsp->EffectImplicitTargetA[0] = EFF_TARGET_PARTY_MEMBER; } @@ -5320,7 +5320,7 @@ sp->Effect[2] = SPELL_EFFECT_APPLY_AURA; sp->EffectAmplitude[2] = 3000; sp->EffectImplicitTargetA[2] = EFF_TARGET_SELF; - sp->EffectBaseDice[2] = 1; +// sp->EffectBaseDice[2] = 1; sp->EffectDieSides[2] = 1; sp->EffectTriggerSpell[2] = 32612; sp->EffectBasePoints[2] = -1; Index: arcemu-world/UpdateFields.h =================================================================== --- arcemu-world/UpdateFields.h (revision 3234) +++ arcemu-world/UpdateFields.h (working copy) @@ -38,49 +38,49 @@ enum EItemFields { - ITEM_FIELD_OWNER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - ITEM_FIELD_CONTAINED = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC - ITEM_FIELD_CREATOR = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PUBLIC - ITEM_FIELD_GIFTCREATOR = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC - ITEM_FIELD_STACK_COUNT = OBJECT_END + 0x0008, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_DURATION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_SPELL_CHARGES = OBJECT_END + 0x000A, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_SPELL_CHARGES_1 = OBJECT_END + 0x000B, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_SPELL_CHARGES_2 = OBJECT_END + 0x000C, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_SPELL_CHARGES_3 = OBJECT_END + 0x000D, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_SPELL_CHARGES_4 = OBJECT_END + 0x000E, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_FLAGS = OBJECT_END + 0x000F, // Size: 1, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_1_1 = OBJECT_END + 0x0010, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_1_3 = OBJECT_END + 0x0012, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_2_1 = OBJECT_END + 0x0013, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_2_3 = OBJECT_END + 0x0015, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_3_1 = OBJECT_END + 0x0016, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_3_3 = OBJECT_END + 0x0018, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_4_1 = OBJECT_END + 0x0019, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_4_3 = OBJECT_END + 0x001B, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_5_1 = OBJECT_END + 0x001C, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_5_3 = OBJECT_END + 0x001E, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_6_1 = OBJECT_END + 0x001F, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_6_3 = OBJECT_END + 0x0021, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_7_1 = OBJECT_END + 0x0022, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_7_3 = OBJECT_END + 0x0024, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_8_1 = OBJECT_END + 0x0025, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_8_3 = OBJECT_END + 0x0027, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_9_1 = OBJECT_END + 0x0028, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_9_3 = OBJECT_END + 0x002A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_10_1 = OBJECT_END + 0x002B, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_10_3 = OBJECT_END + 0x002D, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_11_1 = OBJECT_END + 0x002E, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_11_3 = OBJECT_END + 0x0030, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_12_1 = OBJECT_END + 0x0031, // Size: 2, Type: INT, Flags: PUBLIC - ITEM_FIELD_ENCHANTMENT_12_3 = OBJECT_END + 0x0033, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC - ITEM_FIELD_PROPERTY_SEED = OBJECT_END + 0x0034, // Size: 1, Type: INT, Flags: PUBLIC - ITEM_FIELD_RANDOM_PROPERTIES_ID = OBJECT_END + 0x0035, // Size: 1, Type: INT, Flags: PUBLIC - ITEM_FIELD_ITEM_TEXT_ID = OBJECT_END + 0x0036, // Size: 1, Type: INT, Flags: OWNER_ONLY - ITEM_FIELD_DURABILITY = OBJECT_END + 0x0037, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x0038, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 - ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x0039, // Size: 1, Type: INT, Flags: PUBLIC - ITEM_END = OBJECT_END + 0x003A, + ITEM_FIELD_OWNER = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + ITEM_FIELD_CONTAINED = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC + ITEM_FIELD_CREATOR = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PUBLIC + ITEM_FIELD_GIFTCREATOR = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC + ITEM_FIELD_STACK_COUNT = OBJECT_END + 0x0008, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_DURATION = OBJECT_END + 0x0009, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_SPELL_CHARGES = OBJECT_END + 0x000A, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_SPELL_CHARGES_1 = OBJECT_END + 0x000B, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_SPELL_CHARGES_2 = OBJECT_END + 0x000C, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_SPELL_CHARGES_3 = OBJECT_END + 0x000D, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_SPELL_CHARGES_4 = OBJECT_END + 0x000E, // Size: 5, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_FLAGS = OBJECT_END + 0x000F, // Size: 1, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_1_1 = OBJECT_END + 0x0010, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_1_3 = OBJECT_END + 0x0012, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_2_1 = OBJECT_END + 0x0013, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_2_3 = OBJECT_END + 0x0015, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_3_1 = OBJECT_END + 0x0016, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_3_3 = OBJECT_END + 0x0018, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_4_1 = OBJECT_END + 0x0019, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_4_3 = OBJECT_END + 0x001B, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_5_1 = OBJECT_END + 0x001C, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_5_3 = OBJECT_END + 0x001E, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_6_1 = OBJECT_END + 0x001F, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_6_3 = OBJECT_END + 0x0021, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_7_1 = OBJECT_END + 0x0022, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_7_3 = OBJECT_END + 0x0024, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_8_1 = OBJECT_END + 0x0025, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_8_3 = OBJECT_END + 0x0027, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_9_1 = OBJECT_END + 0x0028, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_9_3 = OBJECT_END + 0x002A, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_10_1 = OBJECT_END + 0x002B, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_10_3 = OBJECT_END + 0x002D, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_11_1 = OBJECT_END + 0x002E, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_11_3 = OBJECT_END + 0x0030, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_12_1 = OBJECT_END + 0x0031, // Size: 2, Type: INT, Flags: PUBLIC + ITEM_FIELD_ENCHANTMENT_12_3 = OBJECT_END + 0x0033, // Size: 1, Type: TWO_SHORT, Flags: PUBLIC + ITEM_FIELD_PROPERTY_SEED = OBJECT_END + 0x0034, // Size: 1, Type: INT, Flags: PUBLIC + ITEM_FIELD_RANDOM_PROPERTIES_ID = OBJECT_END + 0x0035, // Size: 1, Type: INT, Flags: PUBLIC + ITEM_FIELD_DURABILITY = OBJECT_END + 0x0036, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_MAXDURABILITY = OBJECT_END + 0x0037, // Size: 1, Type: INT, Flags: OWNER_ONLY, UNK2 + ITEM_FIELD_CREATE_PLAYED_TIME = OBJECT_END + 0x0038, // Size: 1, Type: INT, Flags: NONE + ITEM_FIELD_ITEM_TEXT_ID = OBJECT_END + 0x0039, // Size: 1, Type: INT, Flags: OWNER_ONLY // THIS is wrong, but we shall store the dataz + ITEM_END = OBJECT_END + 0x003A, }; enum EContainerFields @@ -164,140 +164,140 @@ enum EUnitFields { - UNIT_FIELD_CHARM = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_SUMMON = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_CRITTER = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PRIVATE - UNIT_FIELD_CHARMEDBY = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_SUMMONEDBY = OBJECT_END + 0x0008, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_CREATEDBY = OBJECT_END + 0x000A, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_TARGET = OBJECT_END + 0x000C, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_CHANNEL_OBJECT = OBJECT_END + 0x000E, // Size: 2, Type: LONG, Flags: PUBLIC - UNIT_FIELD_BYTES_0 = OBJECT_END + 0x0010, // Size: 1, Type: BYTES, Flags: PUBLIC - UNIT_FIELD_HEALTH = OBJECT_END + 0x0011, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER1 = OBJECT_END + 0x0012, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER2 = OBJECT_END + 0x0013, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER3 = OBJECT_END + 0x0014, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER4 = OBJECT_END + 0x0015, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER5 = OBJECT_END + 0x0016, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER6 = OBJECT_END + 0x0017, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER7 = OBJECT_END + 0x0018, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x0019, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER1 = OBJECT_END + 0x001A, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER2 = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER3 = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER4 = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER5 = OBJECT_END + 0x001E, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER6 = OBJECT_END + 0x001F, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MAXPOWER7 = OBJECT_END + 0x0020, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x0021, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_1 = OBJECT_END + 0x0022, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_2 = OBJECT_END + 0x0023, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_3 = OBJECT_END + 0x0024, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_4 = OBJECT_END + 0x0025, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_5 = OBJECT_END + 0x0026, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_6 = OBJECT_END + 0x0027, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x0028, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_1 = OBJECT_END + 0x0029, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_2 = OBJECT_END + 0x002A, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_3 = OBJECT_END + 0x002B, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_4 = OBJECT_END + 0x002C, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_5 = OBJECT_END + 0x002D, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_6 = OBJECT_END + 0x002E, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_LEVEL = OBJECT_END + 0x002F, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x0030, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x0031, // Size: 3, Type: INT, Flags: PUBLIC - UNIT_VIRTUAL_ITEM_SLOT_ID_1 = OBJECT_END + 0x0032, // Size: 3, Type: INT, Flags: PUBLIC - UNIT_VIRTUAL_ITEM_SLOT_ID_2 = OBJECT_END + 0x0033, // Size: 3, Type: INT, Flags: PUBLIC - UNIT_FIELD_FLAGS = OBJECT_END + 0x0034, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x0035, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_AURASTATE = OBJECT_END + 0x0036, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x0037, // Size: 2, Type: INT, Flags: PUBLIC - UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x0039, // Size: 1, Type: INT, Flags: PRIVATE - UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x003A, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_FIELD_COMBATREACH = OBJECT_END + 0x003B, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_FIELD_DISPLAYID = OBJECT_END + 0x003C, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x003D, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x003E, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x003F, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x0040, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x0041, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x0042, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_BYTES_1 = OBJECT_END + 0x0043, // Size: 1, Type: BYTES, Flags: PUBLIC - UNIT_FIELD_PETNUMBER = OBJECT_END + 0x0044, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x0045, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x0046, // Size: 1, Type: INT, Flags: OWNER_ONLY - UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x0047, // Size: 1, Type: INT, Flags: OWNER_ONLY - UNIT_DYNAMIC_FLAGS = OBJECT_END + 0x0048, // Size: 1, Type: INT, Flags: DYNAMIC - UNIT_CHANNEL_SPELL = OBJECT_END + 0x0049, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_MOD_CAST_SPEED = OBJECT_END + 0x004A, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_CREATED_BY_SPELL = OBJECT_END + 0x004B, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_NPC_FLAGS = OBJECT_END + 0x004C, // Size: 1, Type: INT, Flags: DYNAMIC - UNIT_NPC_EMOTESTATE = OBJECT_END + 0x004D, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_STAT0 = OBJECT_END + 0x004E, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_STAT1 = OBJECT_END + 0x004F, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_STAT2 = OBJECT_END + 0x0050, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_STAT3 = OBJECT_END + 0x0051, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_STAT4 = OBJECT_END + 0x0052, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POSSTAT0 = OBJECT_END + 0x0053, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POSSTAT1 = OBJECT_END + 0x0054, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POSSTAT2 = OBJECT_END + 0x0055, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POSSTAT3 = OBJECT_END + 0x0056, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POSSTAT4 = OBJECT_END + 0x0057, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_NEGSTAT0 = OBJECT_END + 0x0058, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_NEGSTAT1 = OBJECT_END + 0x0059, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_NEGSTAT2 = OBJECT_END + 0x005A, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_NEGSTAT3 = OBJECT_END + 0x005B, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_NEGSTAT4 = OBJECT_END + 0x005C, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCES = OBJECT_END + 0x005D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_RESISTANCES_1 = OBJECT_END + 0x005E, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_RESISTANCES_2 = OBJECT_END + 0x005F, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_RESISTANCES_3 = OBJECT_END + 0x0060, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_RESISTANCES_4 = OBJECT_END + 0x0061, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_RESISTANCES_5 = OBJECT_END + 0x0062, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_RESISTANCES_6 = OBJECT_END + 0x0063, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x0064, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_1 = OBJECT_END + 0x0065, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_2 = OBJECT_END + 0x0066, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_3 = OBJECT_END + 0x0067, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_4 = OBJECT_END + 0x0068, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_5 = OBJECT_END + 0x0069, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_6 = OBJECT_END + 0x006A, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x006B, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_1 = OBJECT_END + 0x006C, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_2 = OBJECT_END + 0x006D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_3 = OBJECT_END + 0x006E, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_4 = OBJECT_END + 0x006F, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_5 = OBJECT_END + 0x0070, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_6 = OBJECT_END + 0x0071, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_BASE_MANA = OBJECT_END + 0x0072, // Size: 1, Type: INT, Flags: PUBLIC - UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x0073, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_BYTES_2 = OBJECT_END + 0x0074, // Size: 1, Type: BYTES, Flags: PUBLIC - UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x0075, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_ATTACK_POWER_MODS = OBJECT_END + 0x0076, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0077, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x0078, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RANGED_ATTACK_POWER_MODS = OBJECT_END + 0x0079, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x007A, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x007B, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x007C, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x007D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MODIFIER_1 = OBJECT_END + 0x007E, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MODIFIER_2 = OBJECT_END + 0x007F, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MODIFIER_3 = OBJECT_END + 0x0080, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MODIFIER_4 = OBJECT_END + 0x0081, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MODIFIER_5 = OBJECT_END + 0x0082, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MODIFIER_6 = OBJECT_END + 0x0083, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0084, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MULTIPLIER_1 = OBJECT_END + 0x0085, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MULTIPLIER_2 = OBJECT_END + 0x0086, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MULTIPLIER_3 = OBJECT_END + 0x0087, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MULTIPLIER_4 = OBJECT_END + 0x0088, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MULTIPLIER_5 = OBJECT_END + 0x0089, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_POWER_COST_MULTIPLIER_6 = OBJECT_END + 0x008A, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x008B, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY - UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x008C, // Size: 1, Type: FLOAT, Flags: PUBLIC - UNIT_FIELD_PADDING = OBJECT_END + 0x008D, // Size: 1, Type: INT, Flags: NONE - UNIT_END = OBJECT_END + 0x008E, + UNIT_FIELD_CHARM = OBJECT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_SUMMON = OBJECT_END + 0x0002, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_CRITTER = OBJECT_END + 0x0004, // Size: 2, Type: LONG, Flags: PRIVATE + UNIT_FIELD_CHARMEDBY = OBJECT_END + 0x0006, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_SUMMONEDBY = OBJECT_END + 0x0008, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_CREATEDBY = OBJECT_END + 0x000A, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_TARGET = OBJECT_END + 0x000C, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_FIELD_CHANNEL_OBJECT = OBJECT_END + 0x000E, // Size: 2, Type: LONG, Flags: PUBLIC + UNIT_CHANNEL_SPELL = OBJECT_END + 0x0010, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_BYTES_0 = OBJECT_END + 0x0011, // Size: 1, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_HEALTH = OBJECT_END + 0x0012, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER1 = OBJECT_END + 0x0013, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER2 = OBJECT_END + 0x0014, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER3 = OBJECT_END + 0x0015, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER4 = OBJECT_END + 0x0016, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER5 = OBJECT_END + 0x0017, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER6 = OBJECT_END + 0x0018, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER7 = OBJECT_END + 0x0019, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXHEALTH = OBJECT_END + 0x001A, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER1 = OBJECT_END + 0x001B, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER2 = OBJECT_END + 0x001C, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER3 = OBJECT_END + 0x001D, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER4 = OBJECT_END + 0x001E, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER5 = OBJECT_END + 0x001F, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER6 = OBJECT_END + 0x0020, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MAXPOWER7 = OBJECT_END + 0x0021, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER = OBJECT_END + 0x0022, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_1 = OBJECT_END + 0x0023, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_2 = OBJECT_END + 0x0024, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_3 = OBJECT_END + 0x0025, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_4 = OBJECT_END + 0x0026, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_5 = OBJECT_END + 0x0027, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_FLAT_MODIFIER_6 = OBJECT_END + 0x0028, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER = OBJECT_END + 0x0029, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_1 = OBJECT_END + 0x002A, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_2 = OBJECT_END + 0x002B, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_3 = OBJECT_END + 0x002C, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_4 = OBJECT_END + 0x002D, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_5 = OBJECT_END + 0x002E, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_REGEN_INTERRUPTED_FLAT_MODIFIER_6 = OBJECT_END + 0x002F, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_LEVEL = OBJECT_END + 0x0030, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_FACTIONTEMPLATE = OBJECT_END + 0x0031, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_VIRTUAL_ITEM_SLOT_ID = OBJECT_END + 0x0032, // Size: 3, Type: INT, Flags: PUBLIC + UNIT_VIRTUAL_ITEM_SLOT_ID_1 = OBJECT_END + 0x0033, // Size: 3, Type: INT, Flags: PUBLIC + UNIT_VIRTUAL_ITEM_SLOT_ID_2 = OBJECT_END + 0x0034, // Size: 3, Type: INT, Flags: PUBLIC + UNIT_FIELD_FLAGS = OBJECT_END + 0x0035, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_FLAGS_2 = OBJECT_END + 0x0036, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_AURASTATE = OBJECT_END + 0x0037, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_BASEATTACKTIME = OBJECT_END + 0x0038, // Size: 2, Type: INT, Flags: PUBLIC + UNIT_FIELD_RANGEDATTACKTIME = OBJECT_END + 0x003A, // Size: 1, Type: INT, Flags: PRIVATE + UNIT_FIELD_BOUNDINGRADIUS = OBJECT_END + 0x003B, // Size: 1, Type: FLOAT, Flags: PUBLIC + UNIT_FIELD_COMBATREACH = OBJECT_END + 0x003C, // Size: 1, Type: FLOAT, Flags: PUBLIC + UNIT_FIELD_DISPLAYID = OBJECT_END + 0x003D, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_NATIVEDISPLAYID = OBJECT_END + 0x003E, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MOUNTDISPLAYID = OBJECT_END + 0x003F, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_MINDAMAGE = OBJECT_END + 0x0040, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_MAXDAMAGE = OBJECT_END + 0x0041, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_MINOFFHANDDAMAGE = OBJECT_END + 0x0042, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_MAXOFFHANDDAMAGE = OBJECT_END + 0x0043, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_BYTES_1 = OBJECT_END + 0x0044, // Size: 1, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_PETNUMBER = OBJECT_END + 0x0045, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_PET_NAME_TIMESTAMP = OBJECT_END + 0x0046, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_PETEXPERIENCE = OBJECT_END + 0x0047, // Size: 1, Type: INT, Flags: OWNER_ONLY + UNIT_FIELD_PETNEXTLEVELEXP = OBJECT_END + 0x0048, // Size: 1, Type: INT, Flags: OWNER_ONLY + UNIT_DYNAMIC_FLAGS = OBJECT_END + 0x0049, // Size: 1, Type: INT, Flags: DYNAMIC + UNIT_MOD_CAST_SPEED = OBJECT_END + 0x004A, // Size: 1, Type: FLOAT, Flags: PUBLIC + UNIT_CREATED_BY_SPELL = OBJECT_END + 0x004B, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_NPC_FLAGS = OBJECT_END + 0x004C, // Size: 1, Type: INT, Flags: DYNAMIC + UNIT_NPC_EMOTESTATE = OBJECT_END + 0x004D, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_STAT0 = OBJECT_END + 0x004E, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_STAT1 = OBJECT_END + 0x004F, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_STAT2 = OBJECT_END + 0x0050, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_STAT3 = OBJECT_END + 0x0051, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_STAT4 = OBJECT_END + 0x0052, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT0 = OBJECT_END + 0x0053, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT1 = OBJECT_END + 0x0054, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT2 = OBJECT_END + 0x0055, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT3 = OBJECT_END + 0x0056, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POSSTAT4 = OBJECT_END + 0x0057, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT0 = OBJECT_END + 0x0058, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT1 = OBJECT_END + 0x0059, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT2 = OBJECT_END + 0x005A, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT3 = OBJECT_END + 0x005B, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_NEGSTAT4 = OBJECT_END + 0x005C, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCES = OBJECT_END + 0x005D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_RESISTANCES_1 = OBJECT_END + 0x005E, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_RESISTANCES_2 = OBJECT_END + 0x005F, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_RESISTANCES_3 = OBJECT_END + 0x0060, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_RESISTANCES_4 = OBJECT_END + 0x0061, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_RESISTANCES_5 = OBJECT_END + 0x0062, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_RESISTANCES_6 = OBJECT_END + 0x0063, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY, UNK3 + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE = OBJECT_END + 0x0064, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_1 = OBJECT_END + 0x0065, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_2 = OBJECT_END + 0x0066, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_3 = OBJECT_END + 0x0067, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_4 = OBJECT_END + 0x0068, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_5 = OBJECT_END + 0x0069, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSPOSITIVE_6 = OBJECT_END + 0x006A, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE = OBJECT_END + 0x006B, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_1 = OBJECT_END + 0x006C, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_2 = OBJECT_END + 0x006D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_3 = OBJECT_END + 0x006E, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_4 = OBJECT_END + 0x006F, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_5 = OBJECT_END + 0x0070, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RESISTANCEBUFFMODSNEGATIVE_6 = OBJECT_END + 0x0071, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_BASE_MANA = OBJECT_END + 0x0072, // Size: 1, Type: INT, Flags: PUBLIC + UNIT_FIELD_BASE_HEALTH = OBJECT_END + 0x0073, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_BYTES_2 = OBJECT_END + 0x0074, // Size: 1, Type: BYTES, Flags: PUBLIC + UNIT_FIELD_ATTACK_POWER = OBJECT_END + 0x0075, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_ATTACK_POWER_MODS = OBJECT_END + 0x0076, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x0077, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RANGED_ATTACK_POWER = OBJECT_END + 0x0078, // Size: 1, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RANGED_ATTACK_POWER_MODS = OBJECT_END + 0x0079, // Size: 1, Type: TWO_SHORT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_RANGED_ATTACK_POWER_MULTIPLIER = OBJECT_END + 0x007A, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_MINRANGEDDAMAGE = OBJECT_END + 0x007B, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_MAXRANGEDDAMAGE = OBJECT_END + 0x007C, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MODIFIER = OBJECT_END + 0x007D, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MODIFIER_1 = OBJECT_END + 0x007E, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MODIFIER_2 = OBJECT_END + 0x007F, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MODIFIER_3 = OBJECT_END + 0x0080, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MODIFIER_4 = OBJECT_END + 0x0081, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MODIFIER_5 = OBJECT_END + 0x0082, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MODIFIER_6 = OBJECT_END + 0x0083, // Size: 7, Type: INT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MULTIPLIER = OBJECT_END + 0x0084, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MULTIPLIER_1 = OBJECT_END + 0x0085, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MULTIPLIER_2 = OBJECT_END + 0x0086, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MULTIPLIER_3 = OBJECT_END + 0x0087, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MULTIPLIER_4 = OBJECT_END + 0x0088, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MULTIPLIER_5 = OBJECT_END + 0x0089, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_POWER_COST_MULTIPLIER_6 = OBJECT_END + 0x008A, // Size: 7, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_MAXHEALTHMODIFIER = OBJECT_END + 0x008B, // Size: 1, Type: FLOAT, Flags: PRIVATE, OWNER_ONLY + UNIT_FIELD_HOVERHEIGHT = OBJECT_END + 0x008C, // Size: 1, Type: FLOAT, Flags: PUBLIC + UNIT_FIELD_PADDING = OBJECT_END + 0x008D, // Size: 1, Type: INT, Flags: NONE + UNIT_END = OBJECT_END + 0x008E, PLAYER_DUEL_ARBITER = UNIT_END + 0x0000, // Size: 2, Type: LONG, Flags: PUBLIC PLAYER_FLAGS = UNIT_END + 0x0002, // Size: 1, Type: INT, Flags: PUBLIC @@ -1522,4 +1522,3 @@ #define GAMEOBJECT_PARENTROTATION_03 OBJECT_END + 0x0007 // Size: 4, Type: FLOAT, Flags: PUBLIC #endif -
-
29-03-10, 04:03 PM #9
As far as I see, that's the ArcEmu patch, that makes the enum bugged. But with what you accomplished so far, it should still work.
A good job done by you mate.
+R.
-
29-03-10, 04:28 PM #10
Register to remove this adMy repack contains a patch which fixes enum. Therefore it works.