f58dbf7756
Adapt CypherCore from 11.2.5.63796 to 12.0.7.68453 using TrinityCore as byte-exact reference. - Fase 1: build gate 68453 (build_info + build_auth_key SQL, keys from TC) - Fase 2: Opcodes.cs remapped by name to 12.0.7 values - Fase 3: 32 DB2 structs + HotfixDatabase.cs SELECTs realigned; fixed ReputationManager/SpellInfo refs - Fase 4: UpdateFields ported (GameObject/Conversation/AreaTrigger/Player/ Unit/ActivePlayer + nested VisibleItem/QuestLog/BitVectors/CraftingOrderItem/ SkillInfo) - Critical protocol fixes: CreateObject header +3 bits (Room/Decor/MeshObject); EntityFragment enum renumbered to 12.0.7 (was 11.2.5 values, breaking every object packet) - New-entity foundation: TypeId/TypeMask/HighGuid.MeshObject, fragment tags - MeshObject entity scaffold (Midnight features are wire-format only) Builds clean (dotnet build -c Release, 0 errors). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
277 lines
7.1 KiB
C#
277 lines
7.1 KiB
C#
// Copyright (c) CypherCore <http://github.com/CypherCore> All rights reserved.
|
|
// Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
|
|
|
|
namespace Framework.Constants
|
|
{
|
|
public enum TypeId
|
|
{
|
|
Object = 0,
|
|
Item = 1,
|
|
Container = 2,
|
|
AzeriteEmpoweredItem = 3,
|
|
AzeriteItem = 4,
|
|
Unit = 5,
|
|
Player = 6,
|
|
ActivePlayer = 7,
|
|
GameObject = 8,
|
|
DynamicObject = 9,
|
|
Corpse = 10,
|
|
AreaTrigger = 11,
|
|
SceneObject = 12,
|
|
Conversation = 13,
|
|
MeshObject = 14, // 12.0.7
|
|
Max = 15
|
|
}
|
|
|
|
public enum TypeMask
|
|
{
|
|
Object = 0x01,
|
|
Item = 0x02,
|
|
Container = 0x04,
|
|
AzeriteEmpoweredItem = 0x08,
|
|
AzeriteItem = 0x10,
|
|
Unit = 0x20,
|
|
Player = 0x40,
|
|
ActivePlayer = 0x80,
|
|
GameObject = 0x100,
|
|
DynamicObject = 0x200,
|
|
Corpse = 0x400,
|
|
AreaTrigger = 0x800,
|
|
SceneObject = 0x1000,
|
|
Conversation = 0x2000,
|
|
MeshObject = 0x4000, // 12.0.7
|
|
|
|
Seer = Unit | Player | DynamicObject,
|
|
WorldObject = Unit | GameObject | DynamicObject | Corpse | AreaTrigger | SceneObject | Conversation | MeshObject
|
|
}
|
|
|
|
public enum HighGuid
|
|
{
|
|
Null = 0,
|
|
Uniq = 1,
|
|
Player = 2,
|
|
Item = 3,
|
|
WorldTransaction = 4,
|
|
StaticDoor = 5, //NYI
|
|
Transport = 6,
|
|
Conversation = 7,
|
|
Creature = 8,
|
|
Vehicle = 9,
|
|
Pet = 10,
|
|
GameObject = 11,
|
|
DynamicObject = 12,
|
|
AreaTrigger = 13,
|
|
Corpse = 14,
|
|
LootObject = 15,
|
|
SceneObject = 16,
|
|
Scenario = 17,
|
|
AIGroup = 18,
|
|
DynamicDoor = 19,
|
|
ClientActor = 20, //NYI
|
|
Vignette = 21,
|
|
CallForHelp = 22,
|
|
AIResource = 23,
|
|
AILock = 24,
|
|
AILockTicket = 25,
|
|
ChatChannel = 26,
|
|
Party = 27,
|
|
Guild = 28,
|
|
WowAccount = 29,
|
|
BNetAccount = 30,
|
|
GMTask = 31,
|
|
MobileSession = 32, //NYI
|
|
RaidGroup = 33,
|
|
Spell = 34,
|
|
Mail = 35,
|
|
WebObj = 36, //NYI
|
|
LFGObject = 37, //NYI
|
|
LFGList = 38, //NYI
|
|
UserRouter = 39,
|
|
PVPQueueGroup = 40,
|
|
UserClient = 41,
|
|
PetBattle = 42, //NYI
|
|
UniqUserClient = 43,
|
|
BattlePet = 44,
|
|
CommerceObj = 45,
|
|
ClientSession = 46,
|
|
Cast = 47,
|
|
ClientConnection = 48,
|
|
ClubFinder = 49,
|
|
ToolsClient = 50,
|
|
WorldLayer = 51,
|
|
ArenaTeam = 52,
|
|
LMMParty = 53,
|
|
LMMLobby = 54,
|
|
Housing = 55, // 12.0.7
|
|
MeshObject = 56, // 12.0.7
|
|
Entity = 57, // 12.0.7
|
|
|
|
Count
|
|
}
|
|
|
|
public enum NotifyFlags
|
|
{
|
|
None = 0x00,
|
|
AIRelocation = 0x01,
|
|
VisibilityChanged = 0x02,
|
|
All = 0xFF
|
|
}
|
|
|
|
public enum TempSummonType
|
|
{
|
|
TimedOrDeadDespawn = 1, // despawns after a specified time OR when the creature disappears
|
|
TimedOrCorpseDespawn = 2, // despawns after a specified time OR when the creature dies
|
|
TimedDespawn = 3, // despawns after a specified time
|
|
TimedDespawnOutOfCombat = 4, // despawns after a specified time after the creature is out of combat
|
|
CorpseDespawn = 5, // despawns instantly after death
|
|
CorpseTimedDespawn = 6, // despawns after a specified time after death
|
|
DeadDespawn = 7, // despawns when the creature disappears
|
|
ManualDespawn = 8 // despawns when UnSummon() is called
|
|
}
|
|
|
|
public enum SummonCategory
|
|
{
|
|
Wild = 0,
|
|
Ally = 1,
|
|
Pet = 2,
|
|
Puppet = 3,
|
|
PossessedVehicle = 4,
|
|
Vehicle = 5 // Wild, but Ride Spell will be cast
|
|
}
|
|
|
|
public enum SummonTitle
|
|
{
|
|
None = 0,
|
|
Pet = 1,
|
|
Guardian = 2,
|
|
Minion = 3,
|
|
Totem = 4,
|
|
Companion = 5,
|
|
Runeblade = 6,
|
|
Construct = 7,
|
|
Opponent = 8, // Related to phases and DK prequest line (3.3.5a)
|
|
Vehicle = 9,
|
|
Mount = 10, // Oculus and Argent Tournament vehicles (3.3.5a)
|
|
LightWell = 11,
|
|
Butler = 12,
|
|
Aka = 13,
|
|
Gateway = 14,
|
|
Hatred = 15,
|
|
Statue = 16,
|
|
Spirit = 17,
|
|
WarBanner = 18,
|
|
Heartwarmer = 19,
|
|
HiredBy = 20,
|
|
PurchasedBy = 21,
|
|
Pride = 22,
|
|
TwistedImage = 23,
|
|
NoodleCart = 24,
|
|
InnerDemon = 25,
|
|
Bodyguard = 26,
|
|
Name = 27,
|
|
Squire = 28,
|
|
Champion = 29,
|
|
TheBetrayer = 30,
|
|
EruptingReflection = 31,
|
|
HopelessReflection = 32,
|
|
MalignantReflection = 33,
|
|
WailingReflection = 34,
|
|
Assistant = 35,
|
|
Enforcer = 36,
|
|
Recruit = 37,
|
|
Admirer = 38,
|
|
EvilTwin = 39,
|
|
Greed = 40,
|
|
LostMind = 41,
|
|
ServantOfNZoth = 44
|
|
}
|
|
|
|
public enum SummonerType
|
|
{
|
|
Creature = 0,
|
|
GameObject = 1,
|
|
Map = 2
|
|
}
|
|
|
|
public enum GhostVisibilityType
|
|
{
|
|
Alive = 0x1,
|
|
Ghost = 0x2
|
|
}
|
|
|
|
public enum StealthType
|
|
{
|
|
General = 0,
|
|
Trap = 1,
|
|
|
|
Max = 2
|
|
}
|
|
|
|
public enum InvisibilityType
|
|
{
|
|
General = 0,
|
|
Unk1 = 1,
|
|
Unk2 = 2,
|
|
Trap = 3,
|
|
Unk4 = 4,
|
|
Unk5 = 5,
|
|
Drunk = 6,
|
|
QuestZoneSpecific1 = 7,
|
|
QuestZoneSpecific2 = 8,
|
|
QuestZoneSpecific3 = 9,
|
|
Unk10 = 10,
|
|
Unk11 = 11,
|
|
QuestZoneSpecific4 = 12,
|
|
QuestZoneSpecific5 = 13,
|
|
QuestZoneSpecific6 = 14,
|
|
QuestZoneSpecific7 = 15,
|
|
QuestZoneSpecific8 = 16,
|
|
QuestZoneSpecific9 = 17,
|
|
QuestZoneSpecific10 = 18,
|
|
QuestZoneSpecific11 = 19,
|
|
QuestZoneSpecific12 = 20,
|
|
QuestZoneSpecific13 = 21,
|
|
QuestZoneSpecific14 = 22,
|
|
QuestZoneSpecific15 = 23,
|
|
QuestZoneSpecific16 = 24,
|
|
QuestZoneSpecific17 = 25,
|
|
QuestZoneSpecific18 = 26,
|
|
QuestZoneSpecific19 = 27,
|
|
QuestZoneSpecific20 = 28,
|
|
QuestZoneSpecific21 = 29,
|
|
QuestZoneSpecific22 = 30,
|
|
QuestZoneSpecific23 = 31,
|
|
QuestZoneSpecific24 = 32,
|
|
QuestZoneSpecific25 = 33,
|
|
QuestZoneSpecific26 = 34,
|
|
QuestZoneSpecific27 = 35,
|
|
QuestZoneSpecific28 = 36,
|
|
QuestZoneSpecific29 = 37,
|
|
|
|
Max = 38
|
|
}
|
|
|
|
public enum ServerSideVisibilityType
|
|
{
|
|
GM = 0,
|
|
Ghost = 1,
|
|
}
|
|
|
|
public enum SessionFlags
|
|
{
|
|
None = 0x00,
|
|
FromRedirect = 0x01,
|
|
HasRedirected = 0x02
|
|
}
|
|
|
|
public enum FindCreatureAliveState
|
|
{
|
|
Alive = 0, // includes feign death
|
|
Dead = 1, // excludes feign death
|
|
EffectivelyAlive = 2, // excludes feign death
|
|
EffectivelyDead = 3, // includes feign death
|
|
|
|
Max
|
|
}
|
|
}
|