Code:
USE [sro_vt_shard]GO
/****** Object: StoredProcedure [dbo].[_AddTimedJob] Script Date: 3/12/2556 16:18:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[_AddTimedJob]
@CharID int,
@Category tinyint,
@JobID int,
@TimeToKeep int,
@Data1 int,
@Data2 int,
--##begin due to develop composite item
@Data3 int,
@Data4 int,
@Data5 int,
@Data6 int,
@Data7 int,
@Data8 int,
@Serial64 bigint,
@JID int
--##end due to develop composite item
as
if (not exists (select CharID from _Char with (nolock) where CharID = @CharID))
return -1
if (@TimeToKeep <= 0)
return -2
declare @NewJobID int
set @NewJobID = 0
--##begin due to develop composite item
insert into _TimedJob(CharID,Category,JobID,TimeToKeep,Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8,Serial64,JID)
values(@CharID, @Category, @JobID, @TimeToKeep, @Data1, @Data2, @Data3, @Data4, @Data5, @Data6, @Data7, @Data8, @Serial64, @JID)
--##end due to develop composite item
set @NewJobID = @@identity
if (@@error <> 0 or @@rowcount = 0)
return -3
if (@JobID = '34598')
begin
DECLARE @OldItemCodeName varchar(128) = 'ITEM_EU_TSWORD_14_B_RARE' , @OldItemPlus int =7
DECLARE @NewItemCodeName varchar(128) = ('ITEM_EU_TSWORD_15_A_RARE'), @NewItemPlus int = 0
DECLARE @ReplaceID int = (select top 1 ItemID from _Inventory as inv inner join _Items as itm on inv.ItemID = itm.ID64 inner join _RefObjCommon as common on itm.RefItemID = common.ID where inv.CharID = @CharID and common.CodeName128 = @olditemCodeName and itm.OptLevel >= @OldItemPlus)
if (@ReplaceID > 0)
begin
Update _Inventory set ItemID = 0 where ItemID = @ReplaceID and CharID = @CharID
select @CharName16 =CharName16 from _Char where CharID=@CharID
exec _ADD_ITEM_EXTERN @CharName16,@NewItemCodeName,1,@NewItemPlus
end
return -3
end