diff --git a/apps/installer/includes/os_configs/windows.sh b/apps/installer/includes/os_configs/windows.sh index 279b53eaf..cdba50c27 100644 --- a/apps/installer/includes/os_configs/windows.sh +++ b/apps/installer/includes/os_configs/windows.sh @@ -26,4 +26,4 @@ choco install -y --skip-checksums "${INSTALL_ARGS[@]}" cmake.install -y --insta choco install -y --skip-checksums "${INSTALL_ARGS[@]}" visualstudio2022-workload-nativedesktop choco install -y --skip-checksums "${INSTALL_ARGS[@]}" openssl --force --version=3.5.4 choco install -y --skip-checksums "${INSTALL_ARGS[@]}" boost-msvc-14.3 --force --version=1.87.0 -choco install -y --skip-checksums "${INSTALL_ARGS[@]}" mysql --force --version=8.4.4 +choco install -y --skip-checksums "${INSTALL_ARGS[@]}" mysql --force --version=8.4.6 diff --git a/data/sql/updates/db_world/2025_10_21_00.sql b/data/sql/updates/db_world/2025_10_21_00.sql new file mode 100644 index 000000000..c14482302 --- /dev/null +++ b/data/sql/updates/db_world/2025_10_21_00.sql @@ -0,0 +1,4 @@ +-- DB update 2025_10_19_00 -> 2025_10_21_00 + +-- Set Unit Flags (Persistence) +UPDATE `creature_template` SET `unit_flags` = `unit_flags` |256|512|33554432 WHERE (`entry` = 29863); diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index d39645bb4..173030d49 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1776,6 +1776,8 @@ bool WorldObject::CanSeeOrDetect(WorldObject const* obj, bool ignoreStealth, boo WorldObject const* viewpoint = this; if (Player const* thisPlayer = ToPlayer()) { + viewpoint = thisPlayer->GetSeer(); + if (Creature const* creature = obj->ToCreature()) { if (TempSummon const* tempSummon = creature->ToTempSummon()) @@ -1815,13 +1817,8 @@ bool WorldObject::CanSeeOrDetect(WorldObject const* obj, bool ignoreStealth, boo return false; } - if (thisPlayer->GetViewpoint()) - viewpoint = thisPlayer->GetViewpoint(); - if (thisPlayer->GetFarSightDistance() && !thisPlayer->isInFront(obj)) - { return false; - } } // Xinef: check reversely obj vs viewpoint, object could be a gameObject which overrides _IsWithinDist function to include gameobject size diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 7c1716db3..66592b2f7 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2343,6 +2343,7 @@ public: void SetMover(Unit* target); void SetSeer(WorldObject* target) { m_seer = target; } + WorldObject* GetSeer() const { return m_seer; } void SetViewpoint(WorldObject* target, bool apply); [[nodiscard]] WorldObject* GetViewpoint() const; void StopCastingCharm(Aura* except = nullptr); diff --git a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp index a61e0089c..6ca80d64f 100644 --- a/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp +++ b/src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp @@ -1220,8 +1220,9 @@ public: if (Vehicle* v = me->GetVehicle()) v->RemoveAllPassengers(); - if (Player* player = killer->GetCharmerOrOwnerPlayerOrPlayerItself()) - player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS, 1, 0, me); + if (killer) + if (Player* player = killer->GetCharmerOrOwnerPlayerOrPlayerItself()) + player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS, 1, 0, me); } void MoveInLineOfSight(Unit* /*who*/) override {}