Custom specific Olympiad competition days.

This commit is contained in:
MobiusDev 2018-03-25 13:51:07 +00:00
parent f0076797fa
commit eabec1b3e4
24 changed files with 589 additions and 21 deletions

View File

@ -186,3 +186,7 @@ AltOlyPeriodType = MONTH
# Default: 1
# Note! If type = DAY, multiplier must be >= 7!
AltOlyPeriodMultiplier = 1
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
AltOlyCompetitionDays = 1,2,3,4,5,6,7

View File

@ -539,6 +539,7 @@ public final class Config
public static boolean ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS;
public static String ALT_OLY_PERIOD;
public static int ALT_OLY_PERIOD_MULTIPLIER;
public static List<Integer> ALT_OLY_COMPETITION_DAYS;
public static int ALT_MANOR_REFRESH_TIME;
public static int ALT_MANOR_REFRESH_MIN;
public static int ALT_MANOR_APPROVE_TIME;
@ -2280,6 +2281,11 @@ public final class Config
ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS = Olympiad.getBoolean("AltOlyUseCustomPeriodSettings", false);
ALT_OLY_PERIOD = Olympiad.getString("AltOlyPeriod", "MONTH");
ALT_OLY_PERIOD_MULTIPLIER = Olympiad.getInt("AltOlyPeriodMultiplier", 1);
ALT_OLY_COMPETITION_DAYS = new ArrayList<>();
for (String s : Olympiad.getString("AltOlyCompetitionDays", "1,2,3,4,5,6,7").split(","))
{
ALT_OLY_COMPETITION_DAYS.add(Integer.parseInt(s));
}
final File hexIdFile = new File(HEXID_FILE);
if (hexIdFile.exists())

View File

@ -354,6 +354,36 @@ public class Olympiad extends ListenersContainer
}
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;
@ -646,6 +676,36 @@ public class Olympiad extends ListenersContainer
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);

View File

@ -186,3 +186,7 @@ AltOlyPeriodType = MONTH
# Default: 1
# Note! If type = DAY, multiplier must be >= 7!
AltOlyPeriodMultiplier = 1
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
AltOlyCompetitionDays = 1,2,3,4,5,6,7

View File

@ -546,6 +546,7 @@ public final class Config
public static boolean ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS;
public static String ALT_OLY_PERIOD;
public static int ALT_OLY_PERIOD_MULTIPLIER;
public static List<Integer> ALT_OLY_COMPETITION_DAYS;
public static int ALT_MANOR_REFRESH_TIME;
public static int ALT_MANOR_REFRESH_MIN;
public static int ALT_MANOR_APPROVE_TIME;
@ -2296,6 +2297,11 @@ public final class Config
ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS = Olympiad.getBoolean("AltOlyUseCustomPeriodSettings", false);
ALT_OLY_PERIOD = Olympiad.getString("AltOlyPeriod", "MONTH");
ALT_OLY_PERIOD_MULTIPLIER = Olympiad.getInt("AltOlyPeriodMultiplier", 1);
ALT_OLY_COMPETITION_DAYS = new ArrayList<>();
for (String s : Olympiad.getString("AltOlyCompetitionDays", "1,2,3,4,5,6,7").split(","))
{
ALT_OLY_COMPETITION_DAYS.add(Integer.parseInt(s));
}
final File hexIdFile = new File(HEXID_FILE);
if (hexIdFile.exists())

View File

@ -354,6 +354,36 @@ public class Olympiad extends ListenersContainer
}
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;
@ -646,6 +676,36 @@ public class Olympiad extends ListenersContainer
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);

View File

@ -186,3 +186,7 @@ AltOlyPeriodType = MONTH
# Default: 1
# Note! If type = DAY, multiplier must be >= 7!
AltOlyPeriodMultiplier = 1
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
AltOlyCompetitionDays = 1,2,3,4,5,6,7

View File

@ -546,6 +546,7 @@ public final class Config
public static boolean ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS;
public static String ALT_OLY_PERIOD;
public static int ALT_OLY_PERIOD_MULTIPLIER;
public static List<Integer> ALT_OLY_COMPETITION_DAYS;
public static int ALT_MANOR_REFRESH_TIME;
public static int ALT_MANOR_REFRESH_MIN;
public static int ALT_MANOR_APPROVE_TIME;
@ -2305,6 +2306,11 @@ public final class Config
ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS = Olympiad.getBoolean("AltOlyUseCustomPeriodSettings", false);
ALT_OLY_PERIOD = Olympiad.getString("AltOlyPeriod", "MONTH");
ALT_OLY_PERIOD_MULTIPLIER = Olympiad.getInt("AltOlyPeriodMultiplier", 1);
ALT_OLY_COMPETITION_DAYS = new ArrayList<>();
for (String s : Olympiad.getString("AltOlyCompetitionDays", "1,2,3,4,5,6,7").split(","))
{
ALT_OLY_COMPETITION_DAYS.add(Integer.parseInt(s));
}
final File hexIdFile = new File(HEXID_FILE);
if (hexIdFile.exists())

View File

@ -354,6 +354,36 @@ public class Olympiad extends ListenersContainer
}
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;
@ -646,6 +676,36 @@ public class Olympiad extends ListenersContainer
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);

View File

@ -186,3 +186,7 @@ AltOlyPeriodType = MONTH
# Default: 1
# Note! If type = DAY, multiplier must be >= 7!
AltOlyPeriodMultiplier = 1
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
AltOlyCompetitionDays = 1,2,3,4,5,6,7

View File

@ -546,6 +546,7 @@ public final class Config
public static boolean ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS;
public static String ALT_OLY_PERIOD;
public static int ALT_OLY_PERIOD_MULTIPLIER;
public static List<Integer> ALT_OLY_COMPETITION_DAYS;
public static int ALT_MANOR_REFRESH_TIME;
public static int ALT_MANOR_REFRESH_MIN;
public static int ALT_MANOR_APPROVE_TIME;
@ -2303,6 +2304,11 @@ public final class Config
ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS = Olympiad.getBoolean("AltOlyUseCustomPeriodSettings", false);
ALT_OLY_PERIOD = Olympiad.getString("AltOlyPeriod", "MONTH");
ALT_OLY_PERIOD_MULTIPLIER = Olympiad.getInt("AltOlyPeriodMultiplier", 1);
ALT_OLY_COMPETITION_DAYS = new ArrayList<>();
for (String s : Olympiad.getString("AltOlyCompetitionDays", "1,2,3,4,5,6,7").split(","))
{
ALT_OLY_COMPETITION_DAYS.add(Integer.parseInt(s));
}
final File hexIdFile = new File(HEXID_FILE);
if (hexIdFile.exists())

View File

@ -354,6 +354,36 @@ public class Olympiad extends ListenersContainer
}
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;
@ -646,6 +676,36 @@ public class Olympiad extends ListenersContainer
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);

View File

@ -100,3 +100,7 @@ AltOlyTeleportCountDown = 120
AltOlyUseCustomPeriodSettings = False
AltOlyPeriod = MONTH
AltOlyPeriodMultiplier = 1
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
AltOlyCompetitionDays = 1,2,3,4,5,6,7

View File

@ -947,6 +947,7 @@ public final class Config
public static boolean ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS;
public static OlympiadPeriod ALT_OLY_PERIOD;
public static int ALT_OLY_PERIOD_MULTIPLIER;
public static List<Integer> ALT_OLY_COMPETITION_DAYS;
public static Map<Integer, Integer> NORMAL_WEAPON_ENCHANT_LEVEL = new HashMap<>();
public static Map<Integer, Integer> BLESS_WEAPON_ENCHANT_LEVEL = new HashMap<>();
@ -2858,6 +2859,11 @@ public final class Config
ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS = Boolean.parseBoolean(OLYMPSetting.getProperty("AltOlyUseCustomPeriodSettings", "false"));
ALT_OLY_PERIOD = OlympiadPeriod.valueOf(OLYMPSetting.getProperty("AltOlyPeriod", "MONTH"));
ALT_OLY_PERIOD_MULTIPLIER = Integer.parseInt(OLYMPSetting.getProperty("AltOlyPeriodMultiplier", "1"));
ALT_OLY_COMPETITION_DAYS = new ArrayList<>();
for (String s : OLYMPSetting.getProperty("AltOlyCompetitionDays", "1,2,3,4,5,6,7").split(","))
{
ALT_OLY_COMPETITION_DAYS.add(Integer.parseInt(s));
}
}
catch (Exception e)
{

View File

@ -363,6 +363,36 @@ public class Olympiad
_classBasedRegisters = new HashMap<>();
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;
@ -907,6 +937,36 @@ public class Olympiad
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);

View File

@ -190,3 +190,7 @@ AltOlyPeriodType = MONTH
# Default: 1
# Note! If type = DAY, multiplier must be >= 7!
AltOlyPeriodMultiplier = 1
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
AltOlyCompetitionDays = 1,2,3,4,5,6,7

View File

@ -583,6 +583,7 @@ public final class Config
public static boolean ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS;
public static String ALT_OLY_PERIOD;
public static int ALT_OLY_PERIOD_MULTIPLIER;
public static List<Integer> ALT_OLY_COMPETITION_DAYS;
public static int ALT_MANOR_REFRESH_TIME;
public static int ALT_MANOR_REFRESH_MIN;
public static int ALT_MANOR_APPROVE_TIME;
@ -2832,6 +2833,11 @@ public final class Config
ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS = Olympiad.getBoolean("AltOlyUseCustomPeriodSettings", false);
ALT_OLY_PERIOD = Olympiad.getString("AltOlyPeriod", "MONTH");
ALT_OLY_PERIOD_MULTIPLIER = Olympiad.getInt("AltOlyPeriodMultiplier", 1);
ALT_OLY_COMPETITION_DAYS = new ArrayList<>();
for (String s : Olympiad.getString("AltOlyCompetitionDays", "1,2,3,4,5,6,7").split(","))
{
ALT_OLY_COMPETITION_DAYS.add(Integer.parseInt(s));
}
final File hexIdFile = new File(HEXID_FILE);
if (hexIdFile.exists())

View File

@ -381,6 +381,36 @@ public class Olympiad extends ListenersContainer
}
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;
@ -681,6 +711,36 @@ public class Olympiad extends ListenersContainer
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);

View File

@ -11,7 +11,8 @@
# Olympiad Start Time in Military hours Default 6pm (18)
# Default: 18
AltOlyStartTime = 18
# Classic: 20
AltOlyStartTime = 20
# Olympiad Start Time for Min's, Default 00 so at the start of the hour.
# Default: 00
@ -20,7 +21,8 @@ AltOlyMin = 00
# Olympiad Competition Period, Default 6 hours.
# (If set different, should be increment by 10mins)
# Default: 21600000
AltOlyCPeriod = 21600000
# Classic: 14400000
AltOlyCPeriod = 14400000
# Olympiad Battle Period, Default 5 minutes.
# Default: 300000
@ -172,7 +174,8 @@ AltOlyMaxWeeklyMatchesTeam = 10
# ---------------------------------------------------------------------------
# Enable/disable custom period settings.
# Default: False
AltOlyUseCustomPeriodSettings = False
# Classic: True
AltOlyUseCustomPeriodSettings = True
# Change the type of delay between two Olympiads.
# Available values: MONTH, WEEK, DAY
@ -186,3 +189,8 @@ AltOlyPeriodType = MONTH
# Default: 1
# Note! If type = DAY, multiplier must be >= 7!
AltOlyPeriodMultiplier = 1
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
# Classic: 6,7
AltOlyCompetitionDays = 6,7

View File

@ -545,6 +545,7 @@ public final class Config
public static boolean ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS;
public static String ALT_OLY_PERIOD;
public static int ALT_OLY_PERIOD_MULTIPLIER;
public static List<Integer> ALT_OLY_COMPETITION_DAYS;
public static int ALT_MANOR_REFRESH_TIME;
public static int ALT_MANOR_REFRESH_MIN;
public static int ALT_MANOR_APPROVE_TIME;
@ -2227,6 +2228,11 @@ public final class Config
ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS = Olympiad.getBoolean("AltOlyUseCustomPeriodSettings", false);
ALT_OLY_PERIOD = Olympiad.getString("AltOlyPeriod", "MONTH");
ALT_OLY_PERIOD_MULTIPLIER = Olympiad.getInt("AltOlyPeriodMultiplier", 1);
ALT_OLY_COMPETITION_DAYS = new ArrayList<>();
for (String s : Olympiad.getString("AltOlyCompetitionDays", "1,2,3,4,5,6,7").split(","))
{
ALT_OLY_COMPETITION_DAYS.add(Integer.parseInt(s));
}
final File hexIdFile = new File(HEXID_FILE);
if (hexIdFile.exists())

View File

@ -354,6 +354,36 @@ public class Olympiad extends ListenersContainer
}
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;
@ -646,6 +676,36 @@ public class Olympiad extends ListenersContainer
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);

View File

@ -11,7 +11,8 @@
# Olympiad Start Time in Military hours Default 6pm (18)
# Default: 18
AltOlyStartTime = 18
# Classic: 20
AltOlyStartTime = 20
# Olympiad Start Time for Min's, Default 00 so at the start of the hour.
# Default: 00
@ -20,7 +21,8 @@ AltOlyMin = 00
# Olympiad Competition Period, Default 6 hours.
# (If set different, should be increment by 10mins)
# Default: 21600000
AltOlyCPeriod = 21600000
# Classic: 14400000
AltOlyCPeriod = 14400000
# Olympiad Battle Period, Default 5 minutes.
# Default: 300000
@ -172,7 +174,8 @@ AltOlyMaxWeeklyMatchesTeam = 10
# ---------------------------------------------------------------------------
# Enable/disable custom period settings.
# Default: False
AltOlyUseCustomPeriodSettings = False
# Classic: True
AltOlyUseCustomPeriodSettings = True
# Change the type of delay between two Olympiads.
# Available values: MONTH, WEEK, DAY
@ -186,3 +189,8 @@ AltOlyPeriodType = MONTH
# Default: 1
# Note! If type = DAY, multiplier must be >= 7!
AltOlyPeriodMultiplier = 1
# Enable competitions only on specific days.
# Default: 1,2,3,4,5,6,7 (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY)
# Classic: 6,7
AltOlyCompetitionDays = 6,7

View File

@ -545,6 +545,7 @@ public final class Config
public static boolean ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS;
public static String ALT_OLY_PERIOD;
public static int ALT_OLY_PERIOD_MULTIPLIER;
public static List<Integer> ALT_OLY_COMPETITION_DAYS;
public static int ALT_MANOR_REFRESH_TIME;
public static int ALT_MANOR_REFRESH_MIN;
public static int ALT_MANOR_APPROVE_TIME;
@ -2231,6 +2232,11 @@ public final class Config
ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS = Olympiad.getBoolean("AltOlyUseCustomPeriodSettings", false);
ALT_OLY_PERIOD = Olympiad.getString("AltOlyPeriod", "MONTH");
ALT_OLY_PERIOD_MULTIPLIER = Olympiad.getInt("AltOlyPeriodMultiplier", 1);
ALT_OLY_COMPETITION_DAYS = new ArrayList<>();
for (String s : Olympiad.getString("AltOlyCompetitionDays", "1,2,3,4,5,6,7").split(","))
{
ALT_OLY_COMPETITION_DAYS.add(Integer.parseInt(s));
}
final File hexIdFile = new File(HEXID_FILE);
if (hexIdFile.exists())

View File

@ -354,6 +354,36 @@ public class Olympiad extends ListenersContainer
}
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compEnd = _compStart.getTimeInMillis() + COMP_PERIOD;
@ -646,6 +676,36 @@ public class Olympiad extends ListenersContainer
private long setNewCompBegin()
{
_compStart = Calendar.getInstance();
if (Config.ALT_OLY_USE_CUSTOM_PERIOD_SETTINGS)
{
final int currentDay = _compStart.get(Calendar.DAY_OF_WEEK);
boolean dayFound = false;
int dayCounter = 0;
for (int i = currentDay; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
dayFound = true;
break;
}
dayCounter++;
}
if (!dayFound)
{
for (int i = 1; i < 8; i++)
{
if (Config.ALT_OLY_COMPETITION_DAYS.contains(i))
{
break;
}
dayCounter++;
}
}
if (dayCounter > 0)
{
_compStart.add(Calendar.DAY_OF_MONTH, dayCounter);
}
}
_compStart.set(Calendar.HOUR_OF_DAY, COMP_START);
_compStart.set(Calendar.MINUTE, COMP_MIN);
_compStart.add(Calendar.HOUR_OF_DAY, 24);