[SQL Script] Mothership War on Saturdays and Sundays (Declaration of War)

Results 1 to 1 of 1
  1. #1
    [SQL Script] Mothership War on Saturdays and Sundays (Declaration of War) Future is offline
    LegendRank
    Dec 2011 Join Date
    2,265Posts

    [SQL Script] Mothership War on Saturdays and Sundays (Declaration of War)

    A while ago I rewrote the old script posted by @PanKJ here to reset the Declaration of War table to my needs (I personally hate doing this via the Admin Tool). So I came up with a script that sets the MS summon times on Saturday for BCU and Sunday for ANI (20:00 Server time). The Attack MS, ofc.

    The script should be compatible with all episodes that are EP3+ as the MS system was not reworked ever since. Put it in your SQL Management Studio, press F5, you're done.

    Code:
    USE atum2_db_1
    GO
    
    DROP TABLE dbo.td_DeclarationOfWar
    CREATE TABLE dbo.td_DeclarationOfWar (
    	Influence				TINYINT,
    	MSWarStep				TINYINT,
    	NCP						INT,
    	MSNum               	INT,
    	MSAppearanceMap     	INT,
    	MSWarStepStartTime  	datetime,	
    	MSWarStepEndTime		datetime,
    	MSWarStartTime			datetime,	
    	MSWarEndTime			datetime,
    	SelectCount				TINYINT,
    	GiveUp					BIT,
    	MSWarEndState			TINYINT
    )
    CREATE UNIQUE CLUSTERED INDEX idx_on_DeclarationOfWar ON td_DeclarationOfWar(Influence, MSWarStep)
    GO
    
    -- Get 20:00 as start time on the current date
    DECLARE @hourStartTime DATETIME = (SELECT DATEADD(hh, 20, DATEADD(dd, DATEDIFF(dd, -2, GETDATE()), 0)))
    -- Get next saturday at that time
    DECLARE  @lastSaturday DATETIME = (SELECT DATEADD(day, -2 - (DATEPART(dw, @hourStartTime) + @@DATEFIRST - 2) % 7, @hourStartTime))
    -- Get next sunday
    DECLARE  @lastSunday DATETIME = (SELECT DATEADD(day, 1,  @lastSaturday))
    
    INSERT INTO dbo.td_DeclarationOfWar (Influence, MSWarStep, NCP, MSNum, MSAppearanceMap, MSWarStepStartTime, MSWarStepEndTime
    										, MSWarStartTime, MSWarEndTime, SelectCount, GiveUp, MSWarEndState)
    VALUES
    	-- BCU
    	 (2, 1, 0, 0, 0, DateAdd(day, -5,  @lastSaturday), DateAdd(day, -2,  @lastSaturday),  @lastSaturday, NULL, 3, 0, 0)
    	,(2, 2, 0, 0, 0, DateAdd(day, 2,  @lastSaturday), DateAdd(day, 5,  @lastSaturday), DateAdd(day, 7,  @lastSaturday), NULL, 3, 0, 0)
    	,(2, 3, 0, 0, 0, DateAdd(day, 9,  @lastSaturday), DateAdd(day, 12,  @lastSaturday), DateAdd(day, 14,  @lastSaturday), NULL, 3, 0, 0)
    	,(2, 4, 0, 0, 0, DateAdd(day, 16,  @lastSaturday), DateAdd(day, 19,  @lastSaturday), DateAdd(day, 21,  @lastSaturday), NULL, 3, 0, 0)
    	,(2, 5, 0, 0, 0, DateAdd(day, 23,  @lastSaturday), DateAdd(day, 26,  @lastSaturday), DateAdd(day, 28,  @lastSaturday), NULL, 3, 0, 0)
    	,(2, 99, 0, 0, 0, DateAdd(day, 30,  @lastSaturday), DateAdd(day, 33,  @lastSaturday), DateAdd(day, 35,  @lastSaturday), NULL, 3, 0, 0)
    
    	-- ANI
    	,(4, 1, 0, 0, 0, DateAdd(day, -5,  @lastSunday), DateAdd(day, -2,  @lastSunday),  @lastSunday, NULL, 3, 0, 0)
    	,(4, 2, 0, 0, 0, DateAdd(day, 2,  @lastSunday), DateAdd(day, 5,  @lastSunday), DateAdd(day, 7,  @lastSunday), NULL, 3, 0, 0)
    	,(4, 3, 0, 0, 0, DateAdd(day, 9,  @lastSunday), DateAdd(day, 12,  @lastSunday), DateAdd(day, 14,  @lastSunday), NULL, 3, 0, 0)
    	,(4, 4, 0, 0, 0, DateAdd(day, 16,  @lastSunday), DateAdd(day, 19,  @lastSunday), DateAdd(day, 21,  @lastSunday), NULL, 3, 0, 0)
    	,(4, 5, 0, 0, 0, DateAdd(day, 23,  @lastSunday), DateAdd(day, 26,  @lastSunday), DateAdd(day, 28,  @lastSunday), NULL, 3, 0, 0)
    	,(4, 99, 0, 0, 0, DateAdd(day, 30,  @lastSunday), DateAdd(day, 33,  @lastSunday), DateAdd(day, 35,  @lastSunday), NULL, 3, 0, 0)
    GO
    With a bit of SQL knowledge you can easily change the Nations or Times around to fit your needs.

    As always, feedback is welcome, but pls no one-liners just saying thanks or smth (there is a like button) :)
    Have fun :)
    Last edited by Future; 25-07-16 at 12:13 AM.




Advertisement