Advertisement
Sarada-L2

Annuncie Oly Time Game Acis 394+

Feb 28th, 2021
616
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. diff --git a/java/net/sf/l2j/Config.java b/java/net/sf/l2j/Config.java
  2. index e0405b0..4a44fb5 100644
  3. --- a/java/net/sf/l2j/Config.java
  4. +++ b/java/net/sf/l2j/Config.java
  5. @@ -551,7 +551,7 @@
  6. public static boolean NO_SPAWNS;
  7. public static boolean DEVELOPER;
  8. public static boolean PACKET_HANDLER_DEBUG;
  9. -
  10. + public static boolean ALT_OLY_END_ANNOUNCE;
  11. /** Deadlock Detector */
  12. public static boolean DEADLOCK_DETECTOR;
  13. public static int DEADLOCK_CHECK_INTERVAL;
  14. @@ -952,6 +952,7 @@
  15. private static final void loadSpecialMods()
  16. {
  17. final ExProperties Special = initProperties(SPECIALMODS);
  18. + ALT_OLY_END_ANNOUNCE = Boolean.parseBoolean(Special.getProperty("AltOlyEndAnnounce", "False"));
  19. ENABLE_ALTERNATIVE_SKILL_DURATION = Boolean.parseBoolean(Special.getProperty("EnableModifySkillDuration", "false"));
  20. if(ENABLE_ALTERNATIVE_SKILL_DURATION)
  21. {
  22. diff --git a/java/net/sf/l2j/gameserver/model/olympiad/Olympiad.java b/java/net/sf/l2j/gameserver/model/olympiad/Olympiad.java
  23. index 96cdf65..077081e 100644
  24. --- a/java/net/sf/l2j/gameserver/model/olympiad/Olympiad.java
  25. +++ b/java/net/sf/l2j/gameserver/model/olympiad/Olympiad.java
  26. @@ -27,6 +27,7 @@
  27. import net.sf.l2j.gameserver.model.actor.instance.OlympiadManagerNpc;
  28. import net.sf.l2j.gameserver.model.zone.type.OlympiadStadiumZone;
  29. import net.sf.l2j.gameserver.network.SystemMessageId;
  30. +import net.sf.l2j.gameserver.network.serverpackets.CreatureSay;
  31. import net.sf.l2j.gameserver.network.serverpackets.NpcSay;
  32. import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
  33.  
  34. @@ -64,10 +65,10 @@
  35. public static final String COMP_LOST = "competitions_lost";
  36. public static final String COMP_DRAWN = "competitions_drawn";
  37.  
  38. - protected long _olympiadEnd;
  39. - protected long _validationEnd;
  40. + protected static long _olympiadEnd;
  41. + protected static long _validationEnd;
  42.  
  43. - protected OlympiadState _period;
  44. + protected static OlympiadState _period;
  45. protected long _nextWeeklyChange;
  46. protected int _currentCycle;
  47. private long _compEnd;
  48. @@ -389,7 +390,7 @@
  49. }, getMillisToCompBegin());
  50. }
  51.  
  52. - private long getMillisToOlympiadEnd()
  53. + public static long getMillisToOlympiadEnd()
  54. {
  55. return (_olympiadEnd - Calendar.getInstance().getTimeInMillis());
  56. }
  57. @@ -402,14 +403,35 @@
  58. _scheduledOlympiadEnd = ThreadPool.schedule(new OlympiadEndTask(), 0);
  59. }
  60.  
  61. - protected long getMillisToValidationEnd()
  62. + protected static long getMillisToValidationEnd()
  63. {
  64. if (_validationEnd > Calendar.getInstance().getTimeInMillis())
  65. return (_validationEnd - Calendar.getInstance().getTimeInMillis());
  66.  
  67. return 10L;
  68. }
  69. -
  70. + public static void olympiadEnd(Player player)
  71. + {
  72. + long milliToEnd;
  73. + if(_period == OlympiadState.COMPETITION)
  74. + {
  75. + milliToEnd = getMillisToOlympiadEnd();
  76. + }
  77. + else
  78. + {
  79. + milliToEnd = getMillisToValidationEnd();
  80. + }
  81. +
  82. + double numSecs = milliToEnd / 1000 % 60;
  83. + double countDown = (milliToEnd / 1000 - numSecs) / 60;
  84. + int numMins = (int) Math.floor(countDown % 60);
  85. + countDown = (countDown - numMins) / 60;
  86. + int numHours = (int) Math.floor(countDown % 24);
  87. + int numDays = (int) Math.floor((countDown - numHours) / 24);
  88. +
  89. + CreatureSay cs = new CreatureSay(0, SayType.PARTY, "Announcements", "Olympiad period ends in " + numDays + " days, " + numHours + " hours and " + numMins + " mins.");
  90. + player.sendPacket(cs);
  91. + }
  92. public boolean isOlympiadEnd()
  93. {
  94. return _period == OlympiadState.VALIDATION;
  95. diff --git a/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java b/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
  96. index 48ed287..d0a9768 100644
  97. --- a/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
  98. +++ b/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
  99. @@ -230,6 +230,11 @@
  100. player.sendPacket(SevenSignsManager.getInstance().getCurrentPeriod().getMessageId());
  101. AnnouncementData.getInstance().showAnnouncements(player, false);
  102.  
  103. + if (Config.ALT_OLY_END_ANNOUNCE)
  104. + {
  105. + Olympiad.olympiadEnd(player);
  106. + }
  107. +
  108. // if player is DE, check for shadow sense skill at night
  109. if (player.getRace() == ClassRace.DARK_ELF && player.hasSkill(L2Skill.SKILL_SHADOW_SENSE))
  110. player.sendPacket(SystemMessage.getSystemMessage((GameTimeTaskManager.getInstance().isNight()) ? SystemMessageId.NIGHT_S1_EFFECT_APPLIES : SystemMessageId.DAY_S1_EFFECT_DISAPPEARS).addSkillName(L2Skill.SKILL_SHADOW_SENSE));
  111.  
  112.  
  113. Parte config.
  114.  
  115. +#=====================================================
  116. +# Annuncie Time Olympiad in Login Server
  117. +#=====================================================
  118. +# Announce olympiad end on enter world.
  119. +# Default: False
  120. +AltOlyEndAnnounce = True
  121.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement