-------------------------------------------------------- rebirth by che....
declare @Strength int
declare @Intellect int
declare @MaxLevel int
declare @ReMainStatPoint int
declare @tworebirth int
declare @Charname varchar(120)
set @Charname = (select CharName16 from sro_vt_Shard_che.dbo._Char where CharID @CharID)
select @MaxLevel = MaxLevel from sro_vt_Shard_che.DBO._Char where CharID = @CharID
set @tworebirth = (select COUNT(*) FROM sro_vt_Shard_che.dbo._Char WHERE CharID = @CharID)
declare @TotalSP int
declare @TotalSPMastery int
SELECT @TotalSP = SUM(sro_vt_Shard_che.dbo._RefSkill.ReqLearn_SP) FROM sro_vt_Shard_che.DBO._RefSkill, sro_vt_Shard_che.DBO._CharSkill WHERE sro_vt_Shard_che.dbo._RefSkill.ID=sro_vt_Shard_che.dbo._CharSkill.SkillID AND sro_vt_Shard_che.dbo._CharSkill.CharID @CharID AND sro_vt_Shard_che.dbo._RefSkill.ReqCommon_MasteryLevel1 <= '120'
SELECT @TotalSPMastery = SUM(sro_vt_Shard_che.dbo._RefLevel.Exp_M) FROM sro_vt_Shard_che.DBO._CharSkillMastery, sro_vt_Shard_che.DBO._RefLevel WHERE sro_vt_Shard_che.dbo._RefLevel.Lvl=sro_vt_Shard_che.dbo._CharSkillMastery.Level AND sro_vt_Shard_che.dbo._CharSkillMastery.CharID @CharID AND sro_vt_Shard_che.dbo._CharSkillMastery.Level <= '120'
IF (@Operation = 41) -- scroll is used
BEGIN
IF (@ItemRefID = 103062) -- rebirth scroll
begin
If @tworebirth = '1')
begin
If((SELECT COUNT(*) FROM sro_vt_Shard_che.dbo._CharRebirth WHERE CharName16 @Charname) = '0')
begin
insert into sro_vt_Shard_che.dbo._CharRebirth(CharName16, Reward) values @Charname, '0')
end
else
begin
If((SELECT COUNT(*) FROM sro_vt_Shard_che.dbo._CharRebirth WHERE CharName16 @Charname And Reward = '0' And [No] <= 50000) = '1')
begin
update sro_vt_Shard_che.dbo._CharRebirth set Reward = 1 where CharName16 = @Charname
set @ReMainStatPoint = @MaxLevel*3+25)-3
set @MaxLevel = @MaxLevel+19
Update sro_vt_Shard_che.DBO._Char SET MaxLevel=120, CurLevel=120 WHERE CharID @CharID
UPDATE sro_vt_Shard_che.DBO._CHAR SET Strength @MaxLevel, Intellect @MaxLevel, RemainStatPoint @ReMainStatPoint WHERE CharID @CharID
UPDATE sro_vt_Shard_che.DBO._Char SET RemainSkillPoint=RemainSkillPoint @TotalSP @TotalSPMastery+200000 WHERE CharID @CharID
DELETE sro_vt_Shard_che.DBO._CharSkill FROM sro_vt_Shard_che.DBO._RefSkill, sro_vt_Shard_che.DBO._CharSkill WHERE sro_vt_Shard_che.dbo._RefSkill.ID=sro_vt_Shard_che.dbo._CharSkill.SkillID AND sro_vt_Shard_che.dbo._CharSkill.CharID @CharID AND sro_vt_Shard_che.dbo._RefSkill.ReqCommon_MasteryLevel1 <= '125' AND sro_vt_Shard_che.dbo._RefSkill.ID NOT IN (1,70,40,2,8421,9354,9355,11162,9944,8419,8420,11526,10625)
UPDATE sro_vt_Shard_che.DBO._CharSkillMastery SET Level='0' WHERE CharID @CharID AND Level <= '125'
end
end
end
end
end