void WaypointManager::DeleteNode(uint32 entry, uint32 dbGuid, uint32 point, int32 pathId, WaypointPathOrigin wpOrigin) { // Support only normal movement tables if (wpOrigin != PATH_FROM_GUID && wpOrigin != PATH_FROM_ENTRY) return; WaypointPath* path = GetPathFromOrigin(entry, dbGuid, pathId, wpOrigin); if (!path) return; char const* const table = wpOrigin == PATH_FROM_GUID ? "creature_movement" : "creature_movement_template"; char const* const key_field = wpOrigin == PATH_FROM_GUID ? "id" : "entry"; uint32 const key = wpOrigin == PATH_FROM_GUID ? dbGuid : entry; WorldDatabase.PExecuteLog("DELETE FROM %s WHERE %s=%u AND point=%u", table, key_field, key, point); path->erase(point); }
void WaypointManager::DeleteNode(uint32 entry, uint32 dbGuid, uint32 point, uint32 pathId, WaypointPathOrigin wpOrigin) { // Support only normal movement tables if (wpOrigin == PATH_FROM_EXTERNAL) return; WaypointPath* path = GetPathFromOrigin(entry, dbGuid, pathId, wpOrigin); if (!path) return; char const* const table = waypointOriginTables[wpOrigin]; char const* const key_field = waypointKeyColumn[wpOrigin]; uint32 const key = wpOrigin == PATH_FROM_GUID ? dbGuid : entry; if (wpOrigin == PATH_FROM_ENTRY) WorldDatabase.PExecuteLog("DELETE FROM %s WHERE %s=%u AND point=%u AND pathId=%u", table, key_field, key, point, pathId); else WorldDatabase.PExecuteLog("DELETE FROM %s WHERE %s=%u AND point=%u", table, key_field, key, point); path->erase(point); }