Переглянути джерело

Fixed pet evolution upgrade script (#4232)

This re-adds the missing eggs from before the change into the inventories.

Fixes #4116

Thanks to @Indigo000, @Badarosk0 and @Everade
Lemongrass3110 5 роки тому
батько
коміт
e6eaa9fe63
1 змінених файлів з 29 додано та 0 видалено
  1. 29 0
      sql-files/upgrades/upgrade_20190309.sql

+ 29 - 0
sql-files/upgrades/upgrade_20190309.sql

@@ -10,3 +10,32 @@ WHERE
 AND
 	( `i`.`card1` | ( `i`.`card2` << 16 ) ) = `c`.`pet_id`
 ;
+
+INSERT INTO `inventory`( `char_id`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `card0`, `card1`, `card2`, `card3` )
+SELECT
+	`p`.`char_id`,						-- Character ID
+	`p`.`egg_id`,						-- Egg Item ID
+	'1',								-- Amount
+	'0',								-- Equip
+	'1',								-- Identify
+	'0',								-- Refine
+	'1',								-- Attribute
+	'256',								-- Card0
+	( `p`.`pet_id` & 0xFFFF ),			-- Card1
+	( ( `p`.`pet_id` >> 16 ) & 0xFFFF ),	-- Card2
+	'0'									-- Card3
+FROM `pet` `p`
+LEFT JOIN `inventory` `i`
+ON
+	`i`.`char_id` = `p`.`char_id`
+AND
+	`i`.`nameid` = `p`.`egg_id`
+AND
+	`i`.`card0` = '256'
+AND
+	( `i`.`card1` | ( `i`.`card2` << 16 ) ) = `p`.`pet_id`
+WHERE
+	`p`.`incubate` = '0'
+AND
+	`i`.`id` IS NULL
+;