|
USE SRO_VT_SHARDLOG
GO
/****** Object: StoredProcedure [dbo].[_JayTradingReward] Script Date: 10/10/2016 1:20:08 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Jayden
-- Create date: 10-10-2016
-- Description: Giving reward after trade
-- =============================================
CREATE PROCEDURE [dbo].[_JayTradingReward]
@CharID INT
AS
BEGIN
SET NOCOUNT ON;
SET XACT_ABORT ON;
--DECLARES
DECLARE @CL INT, @JID int,@JT TINYINT,@CN varchar(128),@RL int,@CNT real,@DCT real,@DCF real,@DCH real,@CCT int,@CCF int,@CCH int,@ICT int,@ICF int,
@ICH int,@SCT int,@SCF int,@SCH int,@GCT int,@GCF int,@GCH int,@ACT int,@ACF int,@ACH int,@SKT int,@SKF int,@SKH int,@SGT int,@SGF int,
@SGH int,@SPT int,@SPF int,@SPH int,@GT int,@GF int,@GH int,@GLT int,@GLF int,@GLH int,@RET int,@REF int,@REH int,@RST int,@RSF int,@RSH int,@HNT int,@HNF int,@HNH int
DECLARE @CampID int = (SELECT CampID from SRO_VT_SHARD.._TrainingCampMember WHERE CharID = @CharID)
SELECT @CN = Charname16 FROM SRO_VT_SHARD.dbo._Char WHERE CharID = @CharID
SELECT @CL = C.CurLevel,@JID = U.UserJID,@JT = J.JobType,@CNT = J.Contribution
FROM SRO_VT_SHARD.._Char C INNER JOIN SRO_VT_SHARD.._CharTrijob J ON J.CharID = C.CharID
INNER JOIN SRO_VT_SHARD.._User U ON U.CharID = C.CharID WHERE C.CharID = @CharID
/*Not any shit*/
IF @JT = 0 BEGIN RETURN END ELSE
DECLARE @Star int
/* Calculating Shit */
--Trader
IF @JT = 1
BEGIN
DECLARE @DCT1 real = (SELECT DefaultContributionTrader FROM _JayTradingConfig WHERE Star = 1)
, @DCT2 real = (SELECT DefaultContributionTrader FROM _JayTradingConfig WHERE Star = 2)
, @DCT3 real = (SELECT DefaultContributionTrader FROM _JayTradingConfig WHERE Star = 3)
, @DCT4 real = (SELECT DefaultContributionTrader FROM _JayTradingConfig WHERE Star = 4)
, @DCT5 real = (SELECT DefaultContributionTrader FROM _JayTradingConfig WHERE Star = 5)
BEGIN
IF @CNT <= @DCT1 BEGIN SET @Star = 1 END
ELSE IF @CNT <= @DCT2 and @CNT > @DCT1 BEGIN SET @Star = 2 END
ELSE IF @CNT <= @DCT3 and @CNT > @DCT2 BEGIN SET @Star = 3 END
ELSE IF @CNT <= @DCT4 and @CNT > @DCT3 BEGIN SET @Star = 4 END
ELSE IF @CNT <= @DCT5 and @CNT > @DCT4 BEGIN SET @Star = 5 END
END END
-- Thief
ELSE IF @JT = 1
BEGIN
DECLARE @DCF1 real = (SELECT DefaultContributionThief FROM _JayTradingConfig WHERE Star = 1)
, @DCF2 real = (SELECT DefaultContributionThief FROM _JayTradingConfig WHERE Star = 2)
, @DCF3 real = (SELECT DefaultContributionThief FROM _JayTradingConfig WHERE Star = 3)
, @DCF4 real = (SELECT DefaultContributionThief FROM _JayTradingConfig WHERE Star = 4)
, @DCF5 real = (SELECT DefaultContributionThief FROM _JayTradingConfig WHERE Star = 5)
BEGIN
IF @CNT <= @DCF1 BEGIN SET @Star = 1 END
ELSE IF @CNT <= @DCF2 and @CNT > @DCF1 BEGIN SET @Star = 2 END
ELSE IF @CNT <= @DCF3 and @CNT > @DCF2 BEGIN SET @Star = 3 END
ELSE IF @CNT <= @DCF4 and @CNT > @DCF3 BEGIN SET @Star = 4 END
ELSE IF @CNT <= @DCF5 and @CNT > @DCF4 BEGIN SET @Star = 5 END
END END
-- Hunter
ELSE IF @JT = 1
BEGIN
DECLARE @DCH1 real = (SELECT DefaultContributionHunter FROM _JayTradingConfig WHERE Star = 1)
, @DCH2 real = (SELECT DefaultContributionHunter FROM _JayTradingConfig WHERE Star = 2)
, @DCH3 real = (SELECT DefaultContributionHunter FROM _JayTradingConfig WHERE Star = 3)
, @DCH4 real = (SELECT DefaultContributionHunter FROM _JayTradingConfig WHERE Star = 4)
, @DCH5 real = (SELECT DefaultContributionHunter FROM _JayTradingConfig WHERE Star = 5)
BEGIN
IF @CNT <= @DCH1 BEGIN SET @Star = 1 END
ELSE IF @CNT <= @DCH2 and @CNT > @DCH1 BEGIN SET @Star = 2 END
ELSE IF @CNT <= @DCH3 and @CNT > @DCH2 BEGIN SET @Star = 3 END
ELSE IF @CNT <= @DCH4 and @CNT > @DCH3 BEGIN SET @Star = 4 END
ELSE IF @CNT <= @DCH5 and @CNT > @DCH4 BEGIN SET @Star = 5 END
END END
SELECT @RL = ReqLevel,@DCT = DefaultContributionTrader,@DCF=DefaultContributionThief,@DCH=DefaultContributionHunter
,@CCT=CopperCoinTrader,@CCF=CopperCoinThief,@CCH=CopperCoinHunter,@ICT=IronCoinTrader,@ICF=IronCoinThief,@ICH=IronCoinHunter
,@SCT=SilverCoinTrader,@SCF=SilverCoinThief,@SCH=SilverCoinHunter,@GCT=GoldCoinTrader,@GCF=GoldCoinThief
,@GCH=GoldCoinHunter,@ACT=ArenaCoinTrader,@ACF=ArenaCoinThief,@ACH=ArenaCoinHunter,@SKT=SilkTrader,@SKF=SilkThief
,@SKH=SilkHunter,@SGT=SilkGiftTrader,@SGF=SilkGiftThief,@SGH=SilkGiftHunter,@SPT=SilkPointTrader,@SPF=SilkPointThief
,@SPH=SilkPointHunter,@GT=GoldTrader,@GF=GoldThief,@GH=GoldHunter,@GLT=GlobalTrader,@GLF=GlobalThief
,@GLH=GlobalHunter,@RET=ReverseTrader,@REF=ReverseThief,@REH=ReverseHunter,@RST=ResurrectionTrader
,@RSF=ResurrectionThief,@RSH=ResurrectionHunter,@HNT=HonorPointTrader,@HNF=HonorPointThief,@HNH=HonorPointHunter
FROM _JayTradingConfig WHERE Star = @Star
/* Rewarding */
-- Trader
IF @JT = 1 AND @CL = @RL
BEGIN
IF @CCT IS NOT NULL OR @CCT != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_01',@CCT,0 END
IF @ICT IS NOT NULL OR @ICT != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_02',@ICT,0 END
IF @SCT IS NOT NULL OR @SCT != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_03',@SCT,0 END
IF @GCT IS NOT NULL OR @GCT != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_04',@GCT,0 END
IF @ACT IS NOT NULL OR @ACT != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_ARENA_COIN',@ACT,0 END
IF @SKT IS NOT NULL OR @SKT != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_own = silk_own + @SKT WHERE JID = @JID END
IF @SGT IS NOT NULL OR @SGT != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_gift = silk_gift + @SGT WHERE JID = @JID END
IF @SPT IS NOT NULL OR @SPT != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_point = silk_point + @SPT WHERE JID = @JID END
IF @GT IS NOT NULL OR @GT != 0 BEGIN UPDATE SRO_VT_SHARD.._Char SET RemainGold = RemainGold + @GT END
IF @GLT IS NOT NULL OR @GLT != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_GLOBAL_CHATTING',@GLT,0 END
IF @RET IS NOT NULL OR @RET != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_REVERSE_RETURN_SCROLL',@RET,0 END
IF @RST IS NOT NULL OR @RST != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_RESURRECTION_100P_SCROLL',@RST,0 END
IF @HNT IS NOT NULL OR @HNT != 0 BEGIN
IF @CampID IS NULL or @CampID = 0
BEGIN EXEC SRO_VT_SHARD.._TRAINING_CAMP_CREATE @CharID END
ELSE IF @CampID IS NOT NULL or @CampID != 0 BEGIN
Update SRO_VT_SHARD.._TrainingCamp SET GraduateCount = GraduateCount +1 , EvaluationPoint = EvaluationPoint +1 WHERE ID = @CampID END END
END
--Thief
IF @JT = 2 AND @CL = @RL
BEGIN
IF @CCF IS NOT NULL OR @CCF != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_01',@CCF,0 END
IF @ICF IS NOT NULL OR @ICF != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_02',@ICF,0 END
IF @SCF IS NOT NULL OR @SCF != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_03',@SCF,0 END
IF @GCF IS NOT NULL OR @GCF != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_04',@GCF,0 END
IF @ACF IS NOT NULL OR @ACF != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_ARENA_COIN',@ACF,0 END
IF @SKF IS NOT NULL OR @SKF != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_own = silk_own + @SKF WHERE JID = @JID END
IF @SGF IS NOT NULL OR @SGF != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_gift = silk_gift + @SGF WHERE JID = @JID END
IF @SPF IS NOT NULL OR @SPF != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_point = silk_point + @SPF WHERE JID = @JID END
IF @GF IS NOT NULL OR @GF != 0 BEGIN UPDATE SRO_VT_SHARD.._Char SET RemainGold = RemainGold + @GF END
IF @GLF IS NOT NULL OR @GLF != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_GLOBAL_CHATTING',@GLF,0 END
IF @REF IS NOT NULL OR @REF != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_REVERSE_RETURN_SCROLL',@REF,0 END
IF @RSF IS NOT NULL OR @RSF != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_RESURRECTION_100P_SCROLL',@RSF,0 END
IF @HNF IS NOT NULL OR @HNF != 0 BEGIN IF @CampID IS NULL or @CampID = 0 BEGIN EXEC SRO_VT_SHARD.._TRAINING_CAMP_CREATE @CharID END
ELSE IF @CampID IS NOT NULL or @CampID != 0 BEGIN
Update SRO_VT_SHARD.._TrainingCamp SET GraduateCount = GraduateCount +1 , EvaluationPoint = EvaluationPoint +1 WHERE ID = @CampID END END
END
--Hunter
IF @JT = 3 AND @CL = @RL
BEGIN
IF @CCH IS NOT NULL OR @CCH != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_01',@CCH,0 END
IF @ICH IS NOT NULL OR @ICH != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_02',@ICH,0 END
IF @SCH IS NOT NULL OR @SCH != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_03',@SCH,0 END
IF @GCH IS NOT NULL OR @GCH != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_SD_TOKEN_04',@GCH,0 END
IF @ACH IS NOT NULL OR @ACH != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_ETC_ARENA_COIN',@ACH,0 END
IF @SKH IS NOT NULL OR @SKH != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_own = silk_own + @SKH WHERE JID = @JID END
IF @SGH IS NOT NULL OR @SGH != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_gift = silk_gift + @SGH WHERE JID = @JID END
IF @SPH IS NOT NULL OR @SPH != 0 BEGIN UPDATE SRO_VT_ACCOUNT..SK_Silk SET silk_point = silk_point + @SPH WHERE JID = @JID END
IF @GH IS NOT NULL OR @GH != 0 BEGIN UPDATE SRO_VT_SHARD.._Char SET RemainGold = RemainGold + @GH END
IF @GLH IS NOT NULL OR @GLH != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_GLOBAL_CHATTING',@GLH,0 END
IF @REH IS NOT NULL OR @REH != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_REVERSE_RETURN_SCROLL',@REH,0 END
IF @RSH IS NOT NULL OR @RSH != 0 BEGIN exec SRO_VT_SHARD.._ADD_ITEM_EXTERN @CN,'ITEM_MALL_RESURRECTION_100P_SCROLL',@RSH,0 END
IF @HNH IS NOT NULL OR @HNH != 0 BEGIN
IF @CampID IS NULL or @CampID = 0 BEGIN EXEC SRO_VT_SHARD.._TRAINING_CAMP_CREATE @CharID END
ELSE IF @CampID IS NOT NULL or @CampID != 0 BEGIN
Update SRO_VT_SHARD.._TrainingCamp SET GraduateCount = GraduateCount +1 , EvaluationPoint = EvaluationPoint +1 WHERE ID = @CampID END END
END
UPDATE SRO_VT_SHARD.._CharTriJob SET Contribution = 1 WHERE CHarID = @CharID
END
|