Code:
USE [GM_Stuff] -- <---- add what db you wish to install this quary into or creat a new db as i did for all GM_Stuff. GO /****** Object: StoredProcedure [dbo].[usp_FC] Script Date: 01/15/2012 15:47:51 AUTHOR DASH with help from Tyler ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[usp_FC] @UserID varchar(16) AS SET NOCOUNT ON DECLARE @User int, @Country tinyint, @Family tinyint, @Charge int, @Point int, @CharID Int --SET @Charge='1000' --Set the cost of Faction Change SELECT @User=um.UserUID, @Country=umg.Country FROM PS_UserData.dbo.Users_Master AS um INNER JOIN PS_GameData.dbo.UserMaxGrow AS umg ON umg.UserUID = um.UserUID WHERE um.UserID=@UserID --SELECT @Point=Point FROM PS_UserData.dbo.Users_Master WHERE UserUID=@User --IF (@Point < @Charge) -- BEGIN --PRINT 'Insufficient AP' --RETURN --END -- Faction Selection UPDATE PS_GameData.dbo.UserMaxGrow SET Country=( CASE WHEN Country = 0 THEN 1 WHEN Country = 1 THEN 0 ELSE Country END) WHERE UserUID=@User PRINT 'Faction Changed' GOTO Family_Change; /* WHEN Family=0 AND Job = 0 THEN 'Fighter' WHEN Family=0 AND Job =1 THEN 'Defender' WHEN Family=0 AND Job =5 THEN 'Priest' WHEN Family=1 AND Job = 3 THEN 'Archer' WHEN Family=1 AND Job = 2 THEN 'Ranger' WHEN Family=1 AND Job = 4 THEN 'Mage' WHEN Family=3 AND Job = 0 THEN 'Warrior' WHEN Family=3 AND Job = 1 THEN 'Guardian' WHEN Family=3 AND Job = 3 THEN 'Hunter' WHEN Family=2 AND Job = 4 THEN 'Pagan' WHEN Family=2 AND Job = 2 THEN 'Assassin' WHEN Family=2 AND Job = 5 THEN 'Oracle' */ Family_Change: UPDATE PS_GameData.dbo.Chars SET [Family] = ( CASE WHEN Family=0 AND Job=5 THEN 2 WHEN Family=0 AND Job IN (0,1) THEN 3 WHEN Family=1 AND Job=3 THEN 3 WHEN Family=1 AND Job IN (2,4) THEN 2 WHEN Family=2 AND Job=5 THEN 0 WHEN Family=2 AND Job IN (2,4) THEN 1 WHEN Family=3 AND Job=3 THEN 1 WHEN Family=3 AND Job IN (0,1) THEN 0 ELSE Family END) WHERE UserUID=@User PRINT 'toon changed sucessfully' UPDATE PS_GameData.dbo.Chars SET [Class] = ( CASE WHEN Class='Fighter' THEN 'Warrior' WHEN Class='Warrior' THEN 'Fighter' WHEN Class='Defender' THEN 'Guardian' WHEN Class='Guardian' THEN 'Defender' WHEN Class='Ranger' THEN 'Assassin' WHEN Class='Assassin' THEN 'Ranger' WHEN Class='Priest' THEN 'Oracle' WHEN Class='Oracle' THEN 'Priest' WHEN Class='Archer' THEN 'Hunter' WHEN Class='Hunter' THEN 'Archer' WHEN Class='Mage' THEN 'Pagan' WHEN Class='Pagan' THEN 'Mage' ELSE Class END) WHERE UserUID=@User PRINT 'toon changed sucessfully' --SET SPAWN POINTS TO AH Map_Spawn_Set: UPDATE PS_GameData.dbo.Chars SET Map=42, PosX=63,PosY=2, PosZ=57 WHERE UserID=@UserID Print 'All Toons Moved To AH' --Deletion of Teleportation Spots (Not finished yet) SELECT CharID INTO #CharTemp FROM PS_GameData.dbo.Chars WHERE UserID=@UserID DELETE FROM [PS_GameData].[dbo].[CharSavePoint] WHERE [CharID] IN (SELECT [CharID] FROM #CharTemp) GOTO ItemUpdate; ItemUpdate: UPDATE PS_GameData.dbo.CharItems SET [Type]=( CASE Type WHEN 1 THEN 3 WHEN 3 THEN 1 WHEN 2 THEN 4 WHEN 4 THEN 2 WHEN 11 THEN 14 WHEN 14 THEN 11 WHEN 16 THEN 31 WHEN 31 THEN 16 WHEN 17 THEN 32 WHEN 32 THEN 17 WHEN 18 THEN 33 WHEN 33 THEN 18 WHEN 19 THEN 34 WHEN 34 THEN 19 WHEN 20 THEN 35 WHEN 35 THEN 20 WHEN 21 THEN 36 WHEN 36 THEN 21 ELSE [Type] END) WHERE CharID IN (SELECT [CharID]FROM #CharTemp); PRINT 'Items changed' GOTO WHUpdate; WHUpdate: UPDATE PS_GameData.dbo.UserStoredItems SET [Type]=( CASE Type WHEN 1 THEN 3 WHEN 3 THEN 1 WHEN 2 THEN 4 WHEN 4 THEN 2 WHEN 11 THEN 14 WHEN 14 THEN 11 WHEN 16 THEN 31 WHEN 31 THEN 16 WHEN 17 THEN 32 WHEN 32 THEN 17 WHEN 18 THEN 33 WHEN 33 THEN 18 WHEN 19 THEN 34 WHEN 34 THEN 19 WHEN 20 THEN 35 WHEN 35 THEN 20 WHEN 21 THEN 36 WHEN 36 THEN 21 ELSE [Type] END) WHERE UserUID = @User ; PRINT 'WHItems changed' GOTO ItemID; ItemID: UPDATE PS_GameData.dbo.CharItems set ItemID = ( ([Type]*1000)+[TypeID]) WHERE CharID IN (SELECT [CharID]FROM #CharTemp); GOTO WHItemID; WHItemID: UPDATE PS_GameData.dbo.UserStoredItems set ItemID = ( ([Type]*1000)+[TypeID]) WHERE UserUID=@User --GOTO DP_Charge; --Point removal --DP_Charge: --UPDATE PS_UserData.dbo.Users_Master --SET Point=(Point-@Charge) --WHERE UserUID=@User --PRINT convert(varchar(30), @Charge) + ' DP deleated sucesffuly' --Dropping temporary tables DROP TABLE #CharTemp SET NOCOUNT OFF
Code:
UPDATE PS_GameData.dbo.Chars SET [Class] = ( CASE WHEN Class='Fighter' THEN 'Warrior' WHEN Class='Warrior' THEN 'Fighter' WHEN Class='Defender' THEN 'Guardian' WHEN Class='Guardian' THEN 'Defender' WHEN Class='Ranger' THEN 'Assassin' WHEN Class='Assassin' THEN 'Ranger' WHEN Class='Priest' THEN 'Oracle' WHEN Class='Oracle' THEN 'Priest' WHEN Class='Archer' THEN 'Hunter' WHEN Class='Hunter' THEN 'Archer' WHEN Class='Mage' THEN 'Pagan' WHEN Class='Pagan' THEN 'Mage' ELSE Class END) WHERE UserUID=@User PRINT 'toon changed sucessfully'






