aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorModoX <moardox@gmail.com>2023-06-30 06:39:08 +0200
committerModoX <moardox@gmail.com>2023-06-30 06:41:33 +0200
commit39c137d7c0ac1b86a3a4647113e8e3a29a32b089 (patch)
treee8c6a0a989aad574cac69b441f9b84e1d5af912e
parentad0cb188c91501887f4117157dcb450429652b7c (diff)
Core/AreaTriggers: Fixed selection range of units for box shape
Co-authored-by: Meji <alvaro.megias@outlook.com>
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp2
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
index dac8444f667..dc601efe9c9 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
@@ -456,7 +456,7 @@ void AreaTrigger::SearchUnitInBox(std::vector<Unit*>& targetList)
targetList.erase(std::remove_if(targetList.begin(), targetList.end(), [boxCenter, extentsX, extentsY, extentsZ](Unit* unit) -> bool
{
- return !unit->IsWithinBox(boxCenter, extentsX, extentsY, extentsZ);
+ return !unit->IsWithinBox(boxCenter, extentsX, extentsY, extentsZ/2);
}), targetList.end());
}
diff --git a/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp b/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp
index f89535f638b..52bd9704259 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTriggerTemplate.cpp
@@ -39,7 +39,7 @@ float AreaTriggerShapeInfo::GetMaxSearchRadius() const
case AREATRIGGER_TYPE_SPHERE:
return std::max(SphereDatas.Radius, SphereDatas.RadiusTarget);
case AREATRIGGER_TYPE_BOX:
- return std::sqrt(BoxDatas.Extents[0] * BoxDatas.Extents[0] / 4 + BoxDatas.Extents[1] * BoxDatas.Extents[1] / 4);
+ return std::sqrt(BoxDatas.Extents[0] * BoxDatas.Extents[0] + BoxDatas.Extents[1] * BoxDatas.Extents[1]);
case AREATRIGGER_TYPE_CYLINDER:
return std::max(CylinderDatas.Radius, CylinderDatas.RadiusTarget);
case AREATRIGGER_TYPE_DISK: