mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-29 00:23:48 +00:00
feat(Core/Config): Parameter to set all creatures with WP movement active (#2615)
This commit is contained in:
@@ -2217,7 +2217,11 @@ bool Creature::LoadCreaturesAddon(bool reload)
|
|||||||
|
|
||||||
//Load Path
|
//Load Path
|
||||||
if (cainfo->path_id != 0)
|
if (cainfo->path_id != 0)
|
||||||
|
{
|
||||||
|
if (sWorld->getBoolConfig(CONFIG_SET_ALL_CREATURES_WITH_WAYPOINT_MOVEMENT_ACTIVE))
|
||||||
|
setActive(true);
|
||||||
m_path_id = cainfo->path_id;
|
m_path_id = cainfo->path_id;
|
||||||
|
}
|
||||||
|
|
||||||
if (!cainfo->auras.empty())
|
if (!cainfo->auras.empty())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1520,9 +1520,7 @@ float WorldObject::GetGridActivationRange() const
|
|||||||
|
|
||||||
float WorldObject::GetVisibilityRange() const
|
float WorldObject::GetVisibilityRange() const
|
||||||
{
|
{
|
||||||
if (isActiveObject() && !ToPlayer())
|
if (IsVisibilityOverridden() && GetTypeId() == TYPEID_UNIT)
|
||||||
return MAX_VISIBILITY_DISTANCE;
|
|
||||||
else if (IsVisibilityOverridden() && GetTypeId() == TYPEID_UNIT)
|
|
||||||
return MAX_VISIBILITY_DISTANCE;
|
return MAX_VISIBILITY_DISTANCE;
|
||||||
else if (GetTypeId() == TYPEID_GAMEOBJECT)
|
else if (GetTypeId() == TYPEID_GAMEOBJECT)
|
||||||
{
|
{
|
||||||
@@ -1545,9 +1543,7 @@ float WorldObject::GetSightRange(const WorldObject* target) const
|
|||||||
{
|
{
|
||||||
if (target)
|
if (target)
|
||||||
{
|
{
|
||||||
if (target->isActiveObject() && !target->ToPlayer())
|
if (target->IsVisibilityOverridden() && target->GetTypeId() == TYPEID_UNIT)
|
||||||
return MAX_VISIBILITY_DISTANCE;
|
|
||||||
else if (target->IsVisibilityOverridden() && target->GetTypeId() == TYPEID_UNIT)
|
|
||||||
return MAX_VISIBILITY_DISTANCE;
|
return MAX_VISIBILITY_DISTANCE;
|
||||||
else if (target->GetTypeId() == TYPEID_GAMEOBJECT)
|
else if (target->GetTypeId() == TYPEID_GAMEOBJECT)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -977,7 +977,7 @@ class WorldObject : public Object, public WorldLocation
|
|||||||
|
|
||||||
bool isActiveObject() const { return m_isActive; }
|
bool isActiveObject() const { return m_isActive; }
|
||||||
void setActive(bool isActiveObject);
|
void setActive(bool isActiveObject);
|
||||||
bool IsVisibilityOverridden() const { return m_isVisibilityDistanceOverride || m_isActive; }
|
bool IsVisibilityOverridden() const { return m_isVisibilityDistanceOverride; }
|
||||||
void SetVisibilityDistanceOverride(bool isVisibilityDistanceOverride);
|
void SetVisibilityDistanceOverride(bool isVisibilityDistanceOverride);
|
||||||
void SetWorldObject(bool apply);
|
void SetWorldObject(bool apply);
|
||||||
bool IsPermanentWorldObject() const { return m_isWorldObject; }
|
bool IsPermanentWorldObject() const { return m_isWorldObject; }
|
||||||
|
|||||||
@@ -1349,6 +1349,8 @@ void World::LoadConfigSettings(bool reload)
|
|||||||
m_int_configs[CONFIG_ICC_BUFF_HORDE] = sConfigMgr->GetIntDefault("ICC.Buff.Horde", 73822);
|
m_int_configs[CONFIG_ICC_BUFF_HORDE] = sConfigMgr->GetIntDefault("ICC.Buff.Horde", 73822);
|
||||||
m_int_configs[CONFIG_ICC_BUFF_ALLIANCE] = sConfigMgr->GetIntDefault("ICC.Buff.Alliance", 73828);
|
m_int_configs[CONFIG_ICC_BUFF_ALLIANCE] = sConfigMgr->GetIntDefault("ICC.Buff.Alliance", 73828);
|
||||||
|
|
||||||
|
m_bool_configs[CONFIG_SET_ALL_CREATURES_WITH_WAYPOINT_MOVEMENT_ACTIVE] = sConfigMgr->GetBoolDefault("SetAllCreaturesWithWaypointMovementActive", false);
|
||||||
|
|
||||||
// call ScriptMgr if we're reloading the configuration
|
// call ScriptMgr if we're reloading the configuration
|
||||||
sScriptMgr->OnAfterConfigLoad(reload);
|
sScriptMgr->OnAfterConfigLoad(reload);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -172,6 +172,7 @@ enum WorldBoolConfigs
|
|||||||
CONFIG_ALLOW_TWO_SIDE_INTERACTION_EMOTE,
|
CONFIG_ALLOW_TWO_SIDE_INTERACTION_EMOTE,
|
||||||
CONFIG_ITEMDELETE_METHOD,
|
CONFIG_ITEMDELETE_METHOD,
|
||||||
CONFIG_ITEMDELETE_VENDOR,
|
CONFIG_ITEMDELETE_VENDOR,
|
||||||
|
CONFIG_SET_ALL_CREATURES_WITH_WAYPOINT_MOVEMENT_ACTIVE,
|
||||||
BOOL_CONFIG_VALUE_COUNT
|
BOOL_CONFIG_VALUE_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -422,6 +422,18 @@ PersistentCharacterCleanFlags = 0
|
|||||||
|
|
||||||
PreloadAllNonInstancedMapGrids = 0
|
PreloadAllNonInstancedMapGrids = 0
|
||||||
|
|
||||||
|
#
|
||||||
|
# SetAllCreaturesWithWaypointMovementActive
|
||||||
|
# Description: Set all creatures with waypoint movement active. This means that they will start
|
||||||
|
# movement once they are loaded (which happens on grid load) and keep moving even
|
||||||
|
# when no player is near. This will increase CPU usage significantly and can be
|
||||||
|
# used with enabled "PreloadAllNonInstancedMapGrids" to start waypoint movement on
|
||||||
|
# server startup.
|
||||||
|
# Default: 0 - (Disabled)
|
||||||
|
# 1 - (Enabled)
|
||||||
|
|
||||||
|
SetAllCreaturesWithWaypointMovementActive = 0
|
||||||
|
|
||||||
#
|
#
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user