From dcb7082277447c21b11c4a1d59f105fa342c172e Mon Sep 17 00:00:00 2001 From: pete318 Date: Sat, 25 Jul 2015 16:34:19 +0000 Subject: Map local guids 6.x -> 3.3.35: Implemented: https://github.com/TrinityCore/TrinityCore/commit/ca83e14f8b141fab0a13e08f48fca6c1ace0c4c7 https://github.com/TrinityCore/TrinityCore/commit/ee1c1b97be4492ecabe8b15ea6323fc37e4eaa8c https://github.com/TrinityCore/TrinityCore/commit/18e4ab6911468b829b0fc768e532a770263c3717 https://github.com/TrinityCore/TrinityCore/commit/bf37446b3c2ed73b4d3aa9e227d3eff5c53b378b https://github.com/TrinityCore/TrinityCore/commit/cb854a2b7bb7bd96cf9c4d1daf3789f797bf4db8 * This adds separate (per map) guid sequences depending on object type * Ported map object container from cmangos/mangos-wotlk@a2d396e * Added type container visitor for TypeUnorderedMapContainer * Implemented helper function to erase unique pairs from multimap containers * Moved object storage of all objects except players and transports to map level * Added containers linking database spawn id with creature/gameobject in world * Renamed DBTableGuid to spawnId * Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables * Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update * Added new function to return but not increment guid * Adjusted .debug loadcells to show low guid in map before/after load * Added debug messages for creature spawn/destroy, for map guid debugging * Store all Gameobjects and Creatures added to OutdoorPvP, so the callback script can be removed when OutdoorPvP instance is destroyed. --- sql/base/characters_database.sql | 4 +--- sql/updates/characters/2015_08_26_00_characters_335.sql | 16 ++++++++++++++++ sql/updates/world/2015_09_11_99_world_335.sql | 3 +++ 3 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 sql/updates/characters/2015_08_26_00_characters_335.sql create mode 100644 sql/updates/world/2015_09_11_99_world_335.sql (limited to 'sql') diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql index 588ed0063db..571b74a749d 100644 --- a/sql/base/characters_database.sql +++ b/sql/base/characters_database.sql @@ -1332,7 +1332,6 @@ DROP TABLE IF EXISTS `corpse`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `corpse` ( - `corpseGuid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Global Unique Identifier', `guid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Character Global Unique Identifier', `posX` float NOT NULL DEFAULT '0', `posY` float NOT NULL DEFAULT '0', @@ -1350,10 +1349,9 @@ CREATE TABLE `corpse` ( `time` int(10) unsigned NOT NULL DEFAULT '0', `corpseType` tinyint(3) unsigned NOT NULL DEFAULT '0', `instanceId` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Instance Identifier', - PRIMARY KEY (`corpseGuid`), + PRIMARY KEY (`guid`), KEY `idx_type` (`corpseType`), KEY `idx_instance` (`instanceId`), - KEY `idx_player` (`guid`), KEY `idx_time` (`time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Death System'; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/sql/updates/characters/2015_08_26_00_characters_335.sql b/sql/updates/characters/2015_08_26_00_characters_335.sql new file mode 100644 index 00000000000..1f46c5dd7f7 --- /dev/null +++ b/sql/updates/characters/2015_08_26_00_characters_335.sql @@ -0,0 +1,16 @@ +-- Keep only the highest guid PvE or PvP (not bones) corpse per player guid +DELETE c FROM `corpse` c LEFT JOIN +( + SELECT MAX(`corpseGuid`) AS id + FROM `corpse` + WHERE `corpseType` IN (1,2) + GROUP BY `guid` +) corpsetemp +ON c.`corpseGuid` = corpsetemp.`id` +WHERE corpsetemp.`id` IS NULL; + +-- Remove corpseGUID and set key to player guid +ALTER TABLE `corpse` + DROP `corpseGuid`, + DROP INDEX `idx_player`, + ADD PRIMARY KEY (`guid`); diff --git a/sql/updates/world/2015_09_11_99_world_335.sql b/sql/updates/world/2015_09_11_99_world_335.sql new file mode 100644 index 00000000000..2851d4172b7 --- /dev/null +++ b/sql/updates/world/2015_09_11_99_world_335.sql @@ -0,0 +1,3 @@ +UPDATE `trinity_string` +SET `content_default` = 'Object GUID is: %s' +WHERE `entry`=201; -- cgit v1.2.3