aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities/AreaTrigger
diff options
context:
space:
mode:
authorMaxtorCoder <warsongkiller.s8@gmail.com>2024-03-13 21:16:18 +0100
committerGitHub <noreply@github.com>2024-03-13 21:16:18 +0100
commitcfc9cc9ec285e7934f3160047ff87be3c649594f (patch)
treebe680d4f88fac55274862251c349c644a5d90930 /src/server/game/Entities/AreaTrigger
parent46d929cb82b631648ef4a84e75ca7bc174a03fdd (diff)
Core/PacketIO: Update to 4.4.0.53627 (#29805)
* Core/PacketIO: Update to 4.4.0.53627 * Core/IO: Remove duplicate declaration of PetSpellDataID * Core/IO: Assign STATUS_UNHANDLED to some azerite packets
Diffstat (limited to 'src/server/game/Entities/AreaTrigger')
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.cpp15
-rw-r--r--src/server/game/Entities/AreaTrigger/AreaTrigger.h2
2 files changed, 3 insertions, 14 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
index bce08be9666..d1ead16c014 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp
@@ -145,8 +145,7 @@ bool AreaTrigger::Create(AreaTriggerCreatePropertiesId areaTriggerCreateProperti
SetUpdateFieldValue(areaTriggerData.ModifyValue(&UF::AreaTriggerData::SpellID), spellInfo->Id);
if (spellInfo)
SetUpdateFieldValue(areaTriggerData.ModifyValue(&UF::AreaTriggerData::SpellForVisuals), spellInfo->Id);
- SetUpdateFieldValue(areaTriggerData.ModifyValue(&UF::AreaTriggerData::SpellVisual).ModifyValue(&UF::SpellCastVisual::SpellXSpellVisualID), spellVisual.SpellXSpellVisualID);
- SetUpdateFieldValue(areaTriggerData.ModifyValue(&UF::AreaTriggerData::SpellVisual).ModifyValue(&UF::SpellCastVisual::ScriptVisualID), spellVisual.ScriptVisualID);
+ SetUpdateFieldValue(areaTriggerData.ModifyValue(&UF::AreaTriggerData::SpellXSpellVisualID), spellVisual.SpellXSpellVisualID);
if (!IsStaticSpawn())
SetUpdateFieldValue(areaTriggerData.ModifyValue(&UF::AreaTriggerData::TimeToTargetScale), GetCreateProperties()->TimeToTargetScale != 0 ? GetCreateProperties()->TimeToTargetScale : *m_areaTriggerData->Duration);
SetUpdateFieldValue(areaTriggerData.ModifyValue(&UF::AreaTriggerData::BoundsRadius2D), GetCreateProperties()->Shape.GetMaxSearchRadius());
@@ -710,9 +709,7 @@ void AreaTrigger::SearchUnitInCylinder(std::vector<Unit*>& targetList)
float scale = CalcCurrentScale();
float radius = G3D::lerp(_shape.CylinderDatas.Radius, _shape.CylinderDatas.RadiusTarget, progress) * scale;
- float height = G3D::lerp(_shape.CylinderDatas.Height, _shape.CylinderDatas.HeightTarget, progress);
- if (!m_areaTriggerData->HeightIgnoresScale)
- height *= scale;
+ float height = G3D::lerp(_shape.CylinderDatas.Height, _shape.CylinderDatas.HeightTarget, progress) * scale;
float minZ = GetPositionZ() - height;
float maxZ = GetPositionZ() + height;
@@ -736,9 +733,7 @@ void AreaTrigger::SearchUnitInDisk(std::vector<Unit*>& targetList)
float scale = CalcCurrentScale();
float innerRadius = G3D::lerp(_shape.DiskDatas.InnerRadius, _shape.DiskDatas.InnerRadiusTarget, progress) * scale;
float outerRadius = G3D::lerp(_shape.DiskDatas.OuterRadius, _shape.DiskDatas.OuterRadiusTarget, progress) * scale;
- float height = G3D::lerp(_shape.DiskDatas.Height, _shape.DiskDatas.HeightTarget, progress);
- if (!m_areaTriggerData->HeightIgnoresScale)
- height *= scale;
+ float height = G3D::lerp(_shape.DiskDatas.Height, _shape.DiskDatas.HeightTarget, progress) * scale;
float minZ = GetPositionZ() - height;
float maxZ = GetPositionZ() + height;
@@ -819,10 +814,6 @@ void AreaTrigger::HandleUnitEnterExit(std::vector<Unit*> const& newTargetList)
_ai->OnUnitExit(leavingUnit);
}
}
-
- SetUpdateFieldValue(m_values.ModifyValue(&AreaTrigger::m_areaTriggerData).ModifyValue(&UF::AreaTriggerData::NumUnitsInside), _insideUnits.size());
- SetUpdateFieldValue(m_values.ModifyValue(&AreaTrigger::m_areaTriggerData).ModifyValue(&UF::AreaTriggerData::NumPlayersInside),
- std::count_if(_insideUnits.begin(), _insideUnits.end(), [](ObjectGuid const& guid) { return guid.IsPlayer(); }));
}
AreaTriggerTemplate const* AreaTrigger::GetTemplate() const
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.h b/src/server/game/Entities/AreaTrigger/AreaTrigger.h
index 02f69ce40cf..0fa519631d5 100644
--- a/src/server/game/Entities/AreaTrigger/AreaTrigger.h
+++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.h
@@ -100,8 +100,6 @@ class TC_GAME_API AreaTrigger final : public WorldObject, public GridObject<Area
AuraEffect const* GetAuraEffect() const { return _aurEff; }
uint32 GetTimeSinceCreated() const { return _timeSinceCreated; }
- void SetHeightIgnoresScale(bool heightIgnoresScale) { SetUpdateFieldValue(m_values.ModifyValue(&AreaTrigger::m_areaTriggerData).ModifyValue(&UF::AreaTriggerData::HeightIgnoresScale), heightIgnoresScale); }
-
void SetOverrideScaleCurve(float overrideScale);
void SetOverrideScaleCurve(std::array<DBCPosition2D, 2> const& points, Optional<uint32> startTimeOffset = {}, CurveInterpolationMode interpolation = CurveInterpolationMode::Linear);
void ClearOverrideScaleCurve();