USE [SRO_VT_SYSTEM]
GO
/****** Object: StoredProcedure [dbo].[_JobSuits] Script Date: 16.11.2019 20:55:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_JobSuits]
@Operation AS TINYINT, @CharID AS INT, @Slot_From AS TINYINT, @Slot_To AS TINYINT
AS
BEGIN TRAN
BEGIN TRY
DECLARE @ItemID int, @Serial bigint, @SkillID int;
SELECT TOP 1 @ItemID = I.RefItemID
FROM SRO_VT_SHARD.._Items I
INNER JOIN SRO_VT_SHARD.._Inventory INV
ON I.ID64 = INV.ItemID
WHERE INV.CharID = @CharID and INV.Slot = @Slot_From
IF @ItemID NOT between 67610 and 67639
BEGIN
ROLLBACK TRAN
END
ELSE
BEGIN
SELECT @Serial = (SELECT TOP 1 Serial64 + 1 FROM SRO_VT_SHARD.._TimedJob ORDER BY Serial64 DESC)
SELECT @SkillID = CASE
WHEN @ItemID IN ('67610','67625') THEN '33812'
WHEN @ItemID IN ('67611','67626') THEN '33813'
WHEN @ItemID IN ('67612','67627') THEN '33814'
WHEN @ItemID IN ('67613','67628') THEN '33815'
WHEN @ItemID IN ('67614','67629') THEN '33816'
WHEN @ItemID IN ('67615','67630') THEN '33817'
WHEN @ItemID IN ('67616','67631') THEN '33818'
WHEN @ItemID IN ('67617','67632') THEN '33819'
WHEN @ItemID IN ('67618','67633') THEN '33820'
WHEN @ItemID IN ('67619','67634') THEN '33821'
WHEN @ItemID IN ('67620','67635') THEN '33822'
WHEN @ItemID IN ('67621','67636') THEN '33823'
WHEN @ItemID IN ('67622','67637') THEN '33824'
WHEN @ItemID IN ('67623','67638') THEN '33825'
WHEN @ItemID IN ('67624','67639') THEN '33826'
ELSE 0
END
----------- ## Granting Job suit - Player wears job suit ## -----------
IF @Operation = '0' and @Slot_To = '8'
BEGIN
IF NOT EXISTS (SELECT CharID FROM SRO_VT_SHARD.._TimedJob WHERE CharID = @CharID and JobID = @skillID)
BEGIN
/*INSERT SRO_VT_SHARD.._TimedJob WITH (ROWLOCK)
SELECT @CharID,0,@SkillID,1209600000,0,0,0,0,0,0,0,0,@Serial,0*/
INSERT SRO_VT_SHARD.._TimedJob
VALUES (@CharID,0,@SkillID,(SELECT DATEDIFF(SECOND,'19700101 00:00:00:000',(SELECT DATEADD(HOUR,336,GETUTCDATE())))),0,1,0,0,0,0,0,0,0,0)
END
END
----------- ## Granted! ## -----------
----------- ## Removing Job suit - Player taking job suit off ## -----------
IF @Operation = '0' AND @Slot_From = '8'
BEGIN
IF EXISTS (SELECT * FROM SRO_VT_SHARD.._TimedJob WHERE CharID = @CharID and JobID Between '33812' AND '33826' AND Data2 = 1)
BEGIN
DELETE FROM SRO_VT_SHARD.._TimedJob WHERE CharID = @CharID AND JobID Between '33812' AND '33826'
END
END
END
----------- ## Removed! ## -----------
END TRY
BEGIN CATCH
PRINT 'ERROR'
END CATCH
COMMIT TRAN