diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Object/Updates/ViewerDependentValues.h | 4 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 46 |
2 files changed, 30 insertions, 20 deletions
diff --git a/src/server/game/Entities/Object/Updates/ViewerDependentValues.h b/src/server/game/Entities/Object/Updates/ViewerDependentValues.h index e27ee27619f..2f6db818a38 100644 --- a/src/server/game/Entities/Object/Updates/ViewerDependentValues.h +++ b/src/server/game/Entities/Object/Updates/ViewerDependentValues.h @@ -76,13 +76,13 @@ public: case GAMEOBJECT_TYPE_CHEST: case GAMEOBJECT_TYPE_GOOBER: if (gameObject->ActivateToQuest(receiver)) - dynFlags |= GO_DYNFLAG_LO_ACTIVATE | GO_DYNFLAG_LO_SPARKLE; + dynFlags |= GO_DYNFLAG_LO_ACTIVATE | GO_DYNFLAG_LO_SPARKLE | GO_DYNFLAG_LO_HIGHLIGHT; else if (receiver->IsGameMaster()) dynFlags |= GO_DYNFLAG_LO_ACTIVATE; break; case GAMEOBJECT_TYPE_GENERIC: if (gameObject->ActivateToQuest(receiver)) - dynFlags |= GO_DYNFLAG_LO_SPARKLE; + dynFlags |= GO_DYNFLAG_LO_SPARKLE | GO_DYNFLAG_LO_HIGHLIGHT; break; case GAMEOBJECT_TYPE_TRANSPORT: case GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT: diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 470109e3e93..241f1fe0495 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -2765,29 +2765,39 @@ enum GameobjectTypes : uint8 enum GameObjectFlags { - GO_FLAG_IN_USE = 0x00000001, // disables interaction while animated - GO_FLAG_LOCKED = 0x00000002, // require key, spell, event, etc to be opened. Makes "Locked" appear in tooltip - GO_FLAG_INTERACT_COND = 0x00000004, // cannot interact (condition to interact - requires GO_DYNFLAG_LO_ACTIVATE to enable interaction clientside) - GO_FLAG_TRANSPORT = 0x00000008, // any kind of transport? Object can transport (elevator, boat, car) - GO_FLAG_NOT_SELECTABLE = 0x00000010, // not selectable even in GM mode - GO_FLAG_NODESPAWN = 0x00000020, // never despawn, typically for doors, they just change state - GO_FLAG_AI_OBSTACLE = 0x00000040, // makes the client register the object in something called AIObstacleMgr, unknown what it does - GO_FLAG_FREEZE_ANIMATION = 0x00000080, + GO_FLAG_IN_USE = 0x00000001, // disables interaction while animated + GO_FLAG_LOCKED = 0x00000002, // require key, spell, event, etc to be opened. Makes "Locked" appear in tooltip + GO_FLAG_INTERACT_COND = 0x00000004, // cannot interact (condition to interact - requires GO_DYNFLAG_LO_ACTIVATE to enable interaction clientside) + GO_FLAG_TRANSPORT = 0x00000008, // any kind of transport? Object can transport (elevator, boat, car) + GO_FLAG_NOT_SELECTABLE = 0x00000010, // not selectable even in GM mode + GO_FLAG_NODESPAWN = 0x00000020, // never despawn, typically for doors, they just change state + GO_FLAG_AI_OBSTACLE = 0x00000040, // makes the client register the object in something called AIObstacleMgr, unknown what it does + GO_FLAG_FREEZE_ANIMATION = 0x00000080, + // for object types GAMEOBJECT_TYPE_GARRISON_BUILDING, GAMEOBJECT_TYPE_GARRISON_PLOT and GAMEOBJECT_TYPE_PHASEABLE_MO flag bits 8 to 12 are used as WMOAreaTable::NameSetID - GO_FLAG_DAMAGED = 0x00000200, - GO_FLAG_DESTROYED = 0x00000400, - GO_FLAG_INTERACT_DISTANCE_USES_TEMPLATE_MODEL = 0x00080000, // client checks interaction distance from model sent in SMSG_QUERY_GAMEOBJECT_RESPONSE instead of GAMEOBJECT_DISPLAYID - GO_FLAG_MAP_OBJECT = 0x00100000 // pre-7.0 model loading used to be controlled by file extension (wmo vs m2) + GO_FLAG_DAMAGED = 0x00000200, + GO_FLAG_DESTROYED = 0x00000400, + + GO_FLAG_IGNORE_CURRENT_STATE_FOR_USE_SPELL = 0x00004000, // Allows casting use spell without checking current state (opening open gameobjects, unlocking unlocked gameobjects and closing closed gameobjects) + GO_FLAG_INTERACT_DISTANCE_IGNORES_MODEL = 0x00008000, // Client completely ignores model bounds for interaction distance check + GO_FLAG_IGNORE_CURRENT_STATE_FOR_USE_SPELL_EXCEPT_UNLOCKED = 0x00040000, // Allows casting use spell without checking current state except unlocking unlocked gamobjets (opening open gameobjects and closing closed gameobjects) + GO_FLAG_INTERACT_DISTANCE_USES_TEMPLATE_MODEL = 0x00080000, // client checks interaction distance from model sent in SMSG_QUERY_GAMEOBJECT_RESPONSE instead of GAMEOBJECT_DISPLAYID + GO_FLAG_MAP_OBJECT = 0x00100000, // pre-7.0 model loading used to be controlled by file extension (wmo vs m2) + GO_FLAG_IN_MULTI_USE = 0x00200000, // GO_FLAG_IN_USE equivalent for objects usable by multiple players + GO_FLAG_LOW_PRIORITY_SELECTION = 0x04000000, // client will give lower cursor priority to this object when multiple objects overlap }; enum GameObjectDynamicLowFlags { - GO_DYNFLAG_LO_HIDE_MODEL = 0x02, // Object model is not shown with this flag - GO_DYNFLAG_LO_ACTIVATE = 0x04, // enables interaction with GO - GO_DYNFLAG_LO_ANIMATE = 0x08, // possibly more distinct animation of GO - GO_DYNFLAG_LO_NO_INTERACT = 0x10, // appears to disable interaction (not fully verified) - GO_DYNFLAG_LO_SPARKLE = 0x20, // makes GO sparkle - GO_DYNFLAG_LO_STOPPED = 0x40 // Transport is stopped + GO_DYNFLAG_LO_HIDE_MODEL = 0x0002, // Object model is not shown with this flag + GO_DYNFLAG_LO_ACTIVATE = 0x0004, // enables interaction with GO + GO_DYNFLAG_LO_ANIMATE = 0x0008, // possibly more distinct animation of GO + GO_DYNFLAG_LO_DEPLETED = 0x0010, // can no longer be interacted with (and for gathering nodes it forces "open" visual state) + GO_DYNFLAG_LO_SPARKLE = 0x0020, // makes GO sparkle + GO_DYNFLAG_LO_STOPPED = 0x0040, // Transport is stopped + GO_DYNFLAG_LO_NO_INTERACT = 0x0080, + GO_DYNFLAG_LO_INVERTED_MOVEMENT = 0x0100, // GAMEOBJECT_TYPE_TRANSPORT only + GO_DYNFLAG_LO_HIGHLIGHT = 0x0200, // Allows object highlight when GO_DYNFLAG_LO_ACTIVATE or GO_DYNFLAG_LO_SPARKLE are set, not only when player is on quest determined by Data fields }; // client side GO show states |