Code:
/* Item upgrading */
IF @Operation = 90 OR @Operation = 160)
BEGIN
/* Start: Max Plus */
DECLARE @strDescStrip VARCHAR(128)
DECLARE @ItemID INT
DECLARE @MaxOptLevel TINYINT
SET @MaxOptLevel = 12
/* Get current fused plus */
SET @Len_desc1 = CHARINDEX (']', @strDesc)
IF @Len_desc1 = 9)
BEGIN
SET @strDesc = SUBSTRING(@strDesc, 0, 9)
SET @strDescStrip = SUBSTRING(@strDesc, 8, 1)
END
ELSE IF @Len_desc1 = 10)
BEGIN
SET @strDesc = SUBSTRING(@strDesc, 0, 10)
SET @strDescStrip = SUBSTRING(@strDesc, 8, 2)
END
/* Check if OptLevel above @MaxOptLevel */
IF (@strDescStrip >= @MaxOptLevel)
BEGIN
/* Get ItemID */
SELECT @ItemID = ID64 from [SRO_VT_SHARD].[dbo].[_Items] WHERE Serial64 = @ItemSerial
/* Update items if has more than @MaxOptLevel without Adv elixir*/
UPDATE [SRO_VT_SHARD].[dbo].[_Items] SET OptLevel = @MaxOptLevel WHERE OptLevel > @MaxOptLevel AND Serial64 = @ItemSerial
/* Delete Adv elixir effect for item if has more than @MaxOptLevel with Adv elixir */
DELETE FROM [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] WHERE nItemDBID IN (
SELECT a.ID64 FROM [SRO_VT_SHARD].[dbo].[_Items] a WITH (NOLOCK)
INNER JOIN [SRO_VT_SHARD].[dbo].[_BindingOptionWithItem] b ON a.ID64 = b.nItemDBID
WHERE a.ID64 = @ItemID AND (a.OptLevel + b.nOptValue) > @MaxOptLevel
AND b.bOptType = 2
)
END
RETURN -1
/* End: Max Plus */
END