Core/GameObjects: Defined more GameObjectFlags and GameObjectDynamicLowFlags
Port From (https://github.com/TrinityCore/TrinityCore/commit/21fefb31893dba5b6e2b909a672a3925a1534965)
This commit is contained in:
@@ -98,9 +98,12 @@ namespace Framework.Constants
|
|||||||
HideModel = 0x02,
|
HideModel = 0x02,
|
||||||
Activate = 0x04,
|
Activate = 0x04,
|
||||||
Animate = 0x08,
|
Animate = 0x08,
|
||||||
NoInteract = 0x10,
|
Depleted = 0x10,
|
||||||
Sparkle = 0x20,
|
Sparkle = 0x20,
|
||||||
Stopped = 0x40
|
Stopped = 0x40,
|
||||||
|
NoInterract = 0x80,
|
||||||
|
InvertedMovement = 0x100,
|
||||||
|
Highlight = 0x200
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum GameObjectFlags
|
public enum GameObjectFlags
|
||||||
@@ -115,8 +118,14 @@ namespace Framework.Constants
|
|||||||
FreezeAnimation = 0x80,
|
FreezeAnimation = 0x80,
|
||||||
Damaged = 0x200,
|
Damaged = 0x200,
|
||||||
Destroyed = 0x400,
|
Destroyed = 0x400,
|
||||||
|
|
||||||
|
IgnoreCurrentStateForUseSpell = 0x4000, // Allows casting use spell without checking current state (opening open gameobjects, unlocking unlocked gameobjects and closing closed gameobjects)
|
||||||
|
InteractDistanceIgnoresModel = 0x8000, // Client completely ignores model bounds for interaction distance check
|
||||||
|
IgnoreCurrentStateForUseSpellExceptUnlocked = 0x40000, // Allows casting use spell without checking current state except unlocking unlocked gamobjets (opening open gameobjects and closing closed gameobjects)
|
||||||
InteractDistanceUsesTemplateModel = 0x80000, // client checks interaction distance from model sent in SMSG_QUERY_GAMEOBJECT_RESPONSE instead of GAMEOBJECT_DISPLAYID
|
InteractDistanceUsesTemplateModel = 0x80000, // client checks interaction distance from model sent in SMSG_QUERY_GAMEOBJECT_RESPONSE instead of GAMEOBJECT_DISPLAYID
|
||||||
MapObject = 0x00100000 // pre-7.0 model loading used to be controlled by file extension (wmo vs m2)
|
MapObject = 0x100000, // pre-7.0 model loading used to be controlled by file extension (wmo vs m2)
|
||||||
|
InMultiUse = 0x200000, // GO_FLAG_IN_USE equivalent for objects usable by multiple players
|
||||||
|
LowPrioritySelection = 0x4000000, // client will give lower cursor priority to this object when multiple objects overlap
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum LootState
|
public enum LootState
|
||||||
|
|||||||
@@ -117,13 +117,13 @@ namespace Game.Entities
|
|||||||
case GameObjectTypes.Chest:
|
case GameObjectTypes.Chest:
|
||||||
case GameObjectTypes.Goober:
|
case GameObjectTypes.Goober:
|
||||||
if (gameObject.ActivateToQuest(receiver))
|
if (gameObject.ActivateToQuest(receiver))
|
||||||
dynFlags |= GameObjectDynamicLowFlags.Activate | GameObjectDynamicLowFlags.Sparkle;
|
dynFlags |= GameObjectDynamicLowFlags.Activate | GameObjectDynamicLowFlags.Sparkle | GameObjectDynamicLowFlags.Highlight;
|
||||||
else if (receiver.IsGameMaster())
|
else if (receiver.IsGameMaster())
|
||||||
dynFlags |= GameObjectDynamicLowFlags.Activate;
|
dynFlags |= GameObjectDynamicLowFlags.Activate;
|
||||||
break;
|
break;
|
||||||
case GameObjectTypes.Generic:
|
case GameObjectTypes.Generic:
|
||||||
if (gameObject.ActivateToQuest(receiver))
|
if (gameObject.ActivateToQuest(receiver))
|
||||||
dynFlags |= GameObjectDynamicLowFlags.Sparkle;
|
dynFlags |= GameObjectDynamicLowFlags.Sparkle | GameObjectDynamicLowFlags.Highlight;
|
||||||
break;
|
break;
|
||||||
case GameObjectTypes.Transport:
|
case GameObjectTypes.Transport:
|
||||||
case GameObjectTypes.MapObjTransport:
|
case GameObjectTypes.MapObjTransport:
|
||||||
|
|||||||
Reference in New Issue
Block a user