aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-04-12 00:18:20 +0200
committerOvahlord <dreadkiller@gmx.de>2024-05-28 16:41:52 +0200
commit139d80373d4060dda9314a64ad20c263bd69541b (patch)
tree621094442db262c4fa5b49e57b86bd3648a89eab /sql
parenta1d892195f4bb369cb6e98ca54646840f0ac9c6f (diff)
Core/Items: Implemented CreateTime item field and changed refund/soulbound trade timers to also count time offline
(cherry picked from commit 69da702b930d43738bcaf49ce57b333dfc19ecfd) # Conflicts: # sql/base/characters_database.sql
Diffstat (limited to 'sql')
-rw-r--r--sql/base/characters_database.sql4
-rw-r--r--sql/updates/characters/master/2024_04_12_00_characters.sql9
2 files changed, 12 insertions, 1 deletions
diff --git a/sql/base/characters_database.sql b/sql/base/characters_database.sql
index 7fa54e7707f..13c47a14fdf 100644
--- a/sql/base/characters_database.sql
+++ b/sql/base/characters_database.sql
@@ -2573,6 +2573,7 @@ CREATE TABLE `item_instance` (
`randomBonusListId` int unsigned NOT NULL DEFAULT '0',
`durability` smallint unsigned NOT NULL DEFAULT '0',
`playedTime` int unsigned NOT NULL DEFAULT '0',
+ `createTime` bigint NOT NULL DEFAULT '0',
`text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
`battlePetSpeciesId` int unsigned NOT NULL DEFAULT '0',
`battlePetBreedData` int unsigned NOT NULL DEFAULT '0',
@@ -3475,7 +3476,8 @@ INSERT INTO `updates` VALUES
('2024_03_12_00_characters.sql','C91A51EA86C26F3AB60445FE147B0E4B220716A0','RELEASED','2024-03-13 17:10:46',0),
('2024_03_13_00_characters.sql','6360F50059E5DB1F248FA8A270CDC4788A03A0EC','RELEASED','2024-03-13 17:10:46',0),
('2024_03_19_00_characters.sql','1D200630578074A4E3A373F891323DB867D00B02','RELEASED','2024-03-19 19:59:26',0),
-('2024_04_09_00_characters.sql','07AC79B4E489B1CD073852EC57D12939C2A1D4B1','RELEASED','2024-04-09 12:54:11',0);
+('2024_04_09_00_characters.sql','07AC79B4E489B1CD073852EC57D12939C2A1D4B1','RELEASED','2024-04-09 12:54:11',0),
+('2024_04_12_00_characters.sql','043E023F998DA77170C9D2D0162CAA340290B215','RELEASED','2024-04-12 00:23:51',0);
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
UNLOCK TABLES;
diff --git a/sql/updates/characters/master/2024_04_12_00_characters.sql b/sql/updates/characters/master/2024_04_12_00_characters.sql
new file mode 100644
index 00000000000..a26b60bb3c1
--- /dev/null
+++ b/sql/updates/characters/master/2024_04_12_00_characters.sql
@@ -0,0 +1,9 @@
+ALTER TABLE `item_instance` ADD `createTime` bigint NOT NULL DEFAULT '0' AFTER `playedTime`;
+
+UPDATE `item_instance` SET `createTime` = COALESCE(
+ (SELECT LEAST(c.`logout_time`, GREATEST(c.`createTime`, c.`logout_time` -
+ ((c.`totaltime`-`playedTime`)
+ / GREATEST(c.`totaltime`, 1)
+ * (c.`logout_time`-c.`createTime`)))) FROM `characters` c WHERE c.`guid`=`owner_guid`),
+ UNIX_TIMESTAMP()
+);