Core/Movement: use helpers for validation
Port From (https://github.com/TrinityCore/TrinityCore/commit/0b6049fe0bf49a8c21114960cb7a6522f48c8308)
This commit is contained in:
@@ -19,6 +19,7 @@ using Framework.Constants;
|
||||
using Framework.Database;
|
||||
using Game.DataStorage;
|
||||
using Game.Entities;
|
||||
using Game.Movement;
|
||||
using Game.Spells;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -717,7 +718,7 @@ namespace Game.AI
|
||||
}
|
||||
case SmartEvents.Movementinform:
|
||||
{
|
||||
if (e.Event.movementInform.type >= (uint)MovementGeneratorType.Max)
|
||||
if (MotionMaster.IsInvalidMovementGeneratorType((MovementGeneratorType)e.Event.movementInform.type))
|
||||
{
|
||||
Log.outError(LogFilter.ScriptsAi, "SmartAIMgr: Entry {0} SourceType {1} Event {2} Action {3} uses invalid Motion type {4}, skipped.", e.EntryOrGuid, e.GetScriptType(), e.EventId, e.GetActionType(), e.Event.movementInform.type);
|
||||
return false;
|
||||
|
||||
@@ -169,7 +169,7 @@ namespace Game.Entities
|
||||
|
||||
public void PauseMovement(uint timer = 0, MovementSlot slot = 0, bool forced = true)
|
||||
{
|
||||
if (slot >= MovementSlot.Max)
|
||||
if (MotionMaster.IsInvalidMovementSlot(slot))
|
||||
return;
|
||||
|
||||
IMovementGenerator movementGenerator = GetMotionMaster().GetMotionSlot(slot);
|
||||
@@ -182,7 +182,7 @@ namespace Game.Entities
|
||||
|
||||
public void ResumeMovement(uint timer = 0, MovementSlot slot = 0)
|
||||
{
|
||||
if (slot >= MovementSlot.Max)
|
||||
if (MotionMaster.IsInvalidMovementSlot(slot))
|
||||
return;
|
||||
|
||||
IMovementGenerator movementGenerator = GetMotionMaster().GetMotionSlot(slot);
|
||||
|
||||
@@ -110,7 +110,7 @@ namespace Game.Movement
|
||||
|
||||
public void Clear(MovementSlot slot)
|
||||
{
|
||||
if (Empty() || slot >= MovementSlot.Max)
|
||||
if (Empty() || IsInvalidMovementSlot(slot))
|
||||
return;
|
||||
|
||||
if (_cleanFlag.HasAnyFlag(MotionMasterCleanFlag.Update))
|
||||
@@ -147,7 +147,7 @@ namespace Game.Movement
|
||||
|
||||
public MovementGeneratorType GetMotionSlotType(MovementSlot slot)
|
||||
{
|
||||
if (Empty() || slot >= MovementSlot.Max || _slot[(int)slot] == null)
|
||||
if (Empty() || IsInvalidMovementSlot(slot) || _slot[(int)slot] == null)
|
||||
return MovementGeneratorType.Max;
|
||||
|
||||
return _slot[(int)slot].GetMovementGeneratorType();
|
||||
@@ -155,7 +155,7 @@ namespace Game.Movement
|
||||
|
||||
public IMovementGenerator GetMotionSlot(MovementSlot slot)
|
||||
{
|
||||
if (Empty() || slot >= MovementSlot.Max || _slot[(int)slot] == null)
|
||||
if (Empty() || IsInvalidMovementSlot(slot) || _slot[(int)slot] == null)
|
||||
return null;
|
||||
|
||||
return _slot[(int)slot];
|
||||
@@ -814,7 +814,8 @@ namespace Game.Movement
|
||||
return (movement == staticIdleMovement);
|
||||
}
|
||||
|
||||
bool IsInvalidMovementGeneratorType(MovementGeneratorType type) { return type == MovementGeneratorType.MaxDB || type == MovementGeneratorType.Max; }
|
||||
public static bool IsInvalidMovementGeneratorType(MovementGeneratorType type) { return type == MovementGeneratorType.MaxDB || type >= MovementGeneratorType.Max; }
|
||||
public static bool IsInvalidMovementSlot(MovementSlot slot) { return slot >= MovementSlot.Max; }
|
||||
|
||||
static uint splineId;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user