diff --git a/sql/updates/world/4.3.4/2018_07_25_00_world.sql b/sql/updates/world/4.3.4/2018_07_25_00_world.sql new file mode 100644 index 00000000000..4235662b260 --- /dev/null +++ b/sql/updates/world/4.3.4/2018_07_25_00_world.sql @@ -0,0 +1,12 @@ +DELETE FROM `creature_equip_template` WHERE `CreatureID`= 1976 AND `ID`= 2; +INSERT INTO `creature_equip_template` (`CreatureID`, `ID`, `ItemID1`, `ItemID2`, `ItemID3`) VALUES +(1976, 2, 1902, 0, 0); -- Stormwind City Patroller + +UPDATE `creature_addon` SET `bytes2`=256 WHERE `guid`=313937; +UPDATE `waypoint_data` SET `action`=9 WHERE `id`=3139370 AND `point`=9; +DELETE FROM `waypoint_scripts` WHERE `id`=9; +INSERT INTO `waypoint_scripts` (`id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`, `x`, `y`, `z`, `o`, `guid`) VALUES +(9, 7, 31, 2, 0, 0, 0, 0, 0, 0, 950), +(9, 9, 1, 234, 0, 0, 0, 0, 0, 0, 951), +(9, 14, 1, 0, 0, 0, 0, 0, 0, 0, 952), +(9, 16, 31, 1, 0, 0, 0, 0, 0, 0, 953); diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp index d9acc07834a..e4377a1997c 100644 --- a/src/server/game/Maps/Map.cpp +++ b/src/server/game/Maps/Map.cpp @@ -47,6 +47,8 @@ #include "Weather.h" #include "WeatherMgr.h" #include "World.h" +#include +#include u_map_magic MapMagic = { {'M','A','P','S'} }; u_map_magic MapVersionMagic = { {'v','1','.','7'} }; @@ -843,6 +845,18 @@ void Map::Update(uint32 t_diff) for (Creature* c : updateList) VisitNearbyCellsOf(c, grid_object_update, world_object_update); } + + { // Update any creatures that own auras the player has applications of + std::unordered_set toVisit; + for (std::pair pair : player->GetAppliedAuras()) + { + if (Unit* caster = pair.second->GetBase()->GetCaster()) + if (caster->GetTypeId() != TYPEID_PLAYER && !caster->IsWithinDistInMap(player, GetVisibilityRange(), false)) + toVisit.insert(caster); + } + for (Unit* unit : toVisit) + VisitNearbyCellsOf(unit, grid_object_update, world_object_update); + } } // non-player active objects, increasing iterator in the loop in case of object removal diff --git a/src/server/scripts/Commands/cs_list.cpp b/src/server/scripts/Commands/cs_list.cpp index 40a5ef4d1b9..76ac9c7c8e1 100644 --- a/src/server/scripts/Commands/cs_list.cpp +++ b/src/server/scripts/Commands/cs_list.cpp @@ -678,7 +678,7 @@ public: return true; } - static char const* GetZoneName(uint32 zoneId, LocaleConstant locale) + static char const* GetZoneName(uint32 zoneId, LocaleConstant /*locale*/) { AreaTableEntry const* zoneEntry = sAreaTableStore.LookupEntry(zoneId); return zoneEntry ? zoneEntry->area_name : "";