Jump to content
  • 0

Siege Date (Setnextsiege)


Afou To Patisa

Question

Bonjour. Someone can tell me how to configure this part of code that 

refer to nextSiegeDay?

/** Set the date for the next siege. */
private void setNextSiegeDate()
{
	while (getCastle().getSiegeDate().getTimeInMillis() < Calendar.getInstance().getTimeInMillis())
	{
		if (getCastle().getSiegeDate().get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && getCastle().getSiegeDate().get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY)
		{
			getCastle().getSiegeDate().set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
		}
			
		if (getCastle().getSiegeDate().get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY && !Config.CL_SET_SIEGE_TIME_LIST.contains("day"))
		{
			getCastle().getSiegeDate().set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
		}
		
		getCastle().getSiegeDate().add(Calendar.DAY_OF_MONTH, 7);
	}

	if (!SevenSigns.getInstance().isDateInSealValidPeriod(getCastle().getSiegeDate()))
	{
		getCastle().getSiegeDate().add(Calendar.DAY_OF_MONTH, SiegeManager.getInstance().SiegeEvery()); // I set this at 14 
	}
}

The SiegeManager.getInstance().SiegeEvery() is basically an int that you set (days) Example if you set 7 sieges must start every 7 days or if you set 14 sieges start every 14 days (On Saturday or Sunday) as it says. But i'm not sure if i did it properly. Cause in server it says siege start at 8/13/2017 so in 7 days instead of 14 i put.

 

+ How to avoid confilct with isDateInSealValidPeriod idk how this work. 

Edited by Afou To Patisa
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

You can use Calendar.WEEK_OF_YEAR and add 2 instead of Calendar.DAY_OF_MONTH, 7

 

also in SS check you should increase days with your value so .add must be with Calendar.DATE , SiegeManager.getInstance().SiegeEvery()

 

 

P.s im not sure about this i have different code from you

Link to comment
Share on other sites

  • 0

You can use Calendar.WEEK_OF_YEAR and add 2 instead of Calendar.DAY_OF_MONTH, 7

 

also in SS check you should increase days with your value so .add must be with Calendar.DATE , SiegeManager.getInstance().SiegeEvery()

 

 

P.s im not sure about this i have different code from you

 

I changed the code its working fine now it use my var and set sieges every 14 days and if example the date is set on Monday it add +4 days to reach Saturday cause sieges are by default only at Saturdays or sundays.

But the question here is

Whats with the (!SevenSigns.getInstance().isDateInSealValidPeriod(getCastle().getSiegeDate()))  ?

 

If sevenSigns are running then sieges should be 1 week later? or what?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...