From 12ad0155514ea3228511b615c7c5156be71c02b9 Mon Sep 17 00:00:00 2001
From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com>
Date: Mon, 4 Apr 2022 22:57:38 +0000
Subject: [PATCH] Moved EventDropManager and EventShrineManager to events
package.
---
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../{ => events}/EventDropManager.java | 2 +-
.../events}/EventShrineManager.java | 2 +-
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../events}/EventDropManager.java | 2 +-
.../events}/EventShrineManager.java | 2 +-
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../events}/EventDropManager.java | 2 +-
.../events}/EventShrineManager.java | 2 +-
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../{ => events}/EventDropManager.java | 2 +-
.../events}/EventShrineManager.java | 2 +-
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../data/scripts/events/EventShrines.java | 2 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
.../org/l2jmobius/gameserver/GameServer.java | 2 +-
.../instancemanager/EventDropManager.java | 104 ------------------
.../instancemanager/EventShrineManager.java | 45 --------
.../events/EventDropManager.java | 104 ++++++++++++++++++
.../events/EventShrineManager.java | 45 ++++++++
.../gameserver/model/actor/Attackable.java | 2 +-
.../gameserver/model/quest/LongTimeEvent.java | 4 +-
165 files changed, 2943 insertions(+), 2943 deletions(-)
rename L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/{ => events}/EventDropManager.java (95%)
rename {L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager => L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/events}/EventShrineManager.java (92%)
rename {L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager => L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/events}/EventDropManager.java (95%)
rename {L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager => L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/events}/EventShrineManager.java (92%)
rename {L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager => L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/events}/EventDropManager.java (95%)
rename {L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager => L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/events}/EventShrineManager.java (92%)
rename L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/{ => events}/EventDropManager.java (95%)
rename {L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager => L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/events}/EventShrineManager.java (92%)
delete mode 100644 L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
delete mode 100644 L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
delete mode 100644 L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
create mode 100644 L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
create mode 100644 L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/GameServer.java
index fce1685c4e..a3801f6d45 100644
--- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/GameServer.java
@@ -114,7 +114,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -142,6 +141,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
similarity index 95%
rename from L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
rename to L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
index b6f5f758c9..51fb25bd72 100644
--- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package org.l2jmobius.gameserver.instancemanager;
+package org.l2jmobius.gameserver.instancemanager.events;
import java.util.List;
import java.util.Map;
diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
similarity index 92%
rename from L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
rename to L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
index 164969f241..3fd7119483 100644
--- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package org.l2jmobius.gameserver.instancemanager;
+package org.l2jmobius.gameserver.instancemanager.events;
/**
* @author Mobius
diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index e36bf08af9..c282592213 100644
--- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AbsorberInfo;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/GameServer.java
index 1940b10af6..70a3b3cb4f 100644
--- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/GameServer.java
@@ -118,7 +118,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -146,6 +145,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
similarity index 95%
rename from L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
rename to L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
index b6f5f758c9..51fb25bd72 100644
--- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package org.l2jmobius.gameserver.instancemanager;
+package org.l2jmobius.gameserver.instancemanager.events;
import java.util.List;
import java.util.Map;
diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
similarity index 92%
rename from L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
rename to L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
index 164969f241..3fd7119483 100644
--- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package org.l2jmobius.gameserver.instancemanager;
+package org.l2jmobius.gameserver.instancemanager.events;
/**
* @author Mobius
diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 268bf847c1..b8b74cb986 100644
--- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/GameServer.java
index 1940b10af6..70a3b3cb4f 100644
--- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/GameServer.java
@@ -118,7 +118,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -146,6 +145,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
similarity index 95%
rename from L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
rename to L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
index b6f5f758c9..51fb25bd72 100644
--- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package org.l2jmobius.gameserver.instancemanager;
+package org.l2jmobius.gameserver.instancemanager.events;
import java.util.List;
import java.util.Map;
diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
similarity index 92%
rename from L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
rename to L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
index 164969f241..3fd7119483 100644
--- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package org.l2jmobius.gameserver.instancemanager;
+package org.l2jmobius.gameserver.instancemanager.events;
/**
* @author Mobius
diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 268bf847c1..b8b74cb986 100644
--- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/GameServer.java
index ba3425072d..2dd317b62d 100644
--- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/GameServer.java
@@ -118,7 +118,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -146,6 +145,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
similarity index 95%
rename from L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
rename to L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
index b6f5f758c9..51fb25bd72 100644
--- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package org.l2jmobius.gameserver.instancemanager;
+package org.l2jmobius.gameserver.instancemanager.events;
import java.util.List;
import java.util.Map;
diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
similarity index 92%
rename from L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
rename to L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
index 164969f241..3fd7119483 100644
--- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package org.l2jmobius.gameserver.instancemanager;
+package org.l2jmobius.gameserver.instancemanager.events;
/**
* @author Mobius
diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 268bf847c1..b8b74cb986 100644
--- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/GameServer.java
index 9b24703c30..35133e4fbe 100644
--- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/GameServer.java
@@ -120,7 +120,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -148,6 +147,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index c489397a7c..4301675a1c 100644
--- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/GameServer.java
index 9b24703c30..35133e4fbe 100644
--- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/GameServer.java
@@ -120,7 +120,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -148,6 +147,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index c489397a7c..4301675a1c 100644
--- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/GameServer.java
index 16ac8153f0..6bd76af43e 100644
--- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/GameServer.java
@@ -121,7 +121,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -149,6 +148,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index c489397a7c..4301675a1c 100644
--- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/GameServer.java
index 1eb54adcfe..04211718f1 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/GameServer.java
@@ -123,7 +123,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -152,6 +151,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index b3b59a01a8..9e68194133 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/GameServer.java
index b53c716016..1b696a07bf 100644
--- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/GameServer.java
@@ -123,7 +123,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -152,6 +151,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index b3b59a01a8..9e68194133 100644
--- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index ebd92135e8..22074f54c9 100644
--- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.instancemanager.events.ItemDeletionInfoManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/GameServer.java
index 743edc378b..2b657e678c 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/GameServer.java
@@ -124,7 +124,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -153,6 +152,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index b3b59a01a8..9e68194133 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index ebd92135e8..22074f54c9 100644
--- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.instancemanager.events.ItemDeletionInfoManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
diff --git a/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_10.1_MasterClass/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/GameServer.java
index a355df4623..bbb6059ff3 100644
--- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/GameServer.java
@@ -126,7 +126,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -155,6 +154,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index d878317338..c7ff09dfb6 100644
--- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index ebd92135e8..22074f54c9 100644
--- a/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_10.1_MasterClass/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.instancemanager.events.ItemDeletionInfoManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/events/EventShrines.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/events/EventShrines.java
index 35d8e01356..2eb50eb208 100644
--- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/events/EventShrines.java
+++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/events/EventShrines.java
@@ -19,7 +19,7 @@ package events;
import java.util.HashMap;
import java.util.Map;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.zone.ZoneType;
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/GameServer.java
index a355df4623..bbb6059ff3 100644
--- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/GameServer.java
@@ -126,7 +126,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.FortSiegeManager;
@@ -155,6 +154,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index d878317338..c7ff09dfb6 100644
--- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index ebd92135e8..22074f54c9 100644
--- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.instancemanager.events.ItemDeletionInfoManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/GameServer.java
index 89c4546d36..c00a7ed14e 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/GameServer.java
@@ -118,7 +118,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -144,6 +143,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 00d1babb15..73761d60e8 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/GameServer.java
index 89c4546d36..c00a7ed14e 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/GameServer.java
@@ -118,7 +118,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -144,6 +143,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 00d1babb15..73761d60e8 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/GameServer.java
index 90ee7245c4..e476314220 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/GameServer.java
@@ -119,7 +119,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -145,6 +144,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index e42f49d049..2ade9a1fe6 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/GameServer.java
index ec24f9b058..25a9aee2d3 100644
--- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/GameServer.java
@@ -120,7 +120,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -146,6 +145,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 2e262f8e18..6b3702d33a 100644
--- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -43,9 +43,9 @@ import org.l2jmobius.gameserver.enums.ElementalType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/GameServer.java
index f0fbfe4479..4ef8f44613 100644
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/GameServer.java
@@ -121,7 +121,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -147,6 +146,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 2e262f8e18..6b3702d33a 100644
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -43,9 +43,9 @@ import org.l2jmobius.gameserver.enums.ElementalType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/GameServer.java
index b6d7849146..0465d67087 100644
--- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/GameServer.java
@@ -123,7 +123,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -150,6 +149,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 2e262f8e18..6b3702d33a 100644
--- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -43,9 +43,9 @@ import org.l2jmobius.gameserver.enums.ElementalType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/GameServer.java
index 0265610d33..c724d52d0b 100644
--- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/GameServer.java
@@ -116,7 +116,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -142,6 +141,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.Lottery;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 8dc3b4d52e..a8d51da07b 100644
--- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -42,9 +42,9 @@ import org.l2jmobius.gameserver.enums.DropType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AbsorberInfo;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index 18508d0145..b6faf48317 100644
--- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.Player;
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/GameServer.java
index 5610c35dd3..d0ee9c3c7d 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/GameServer.java
@@ -130,7 +130,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -157,6 +156,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 04038f3fc3..bc4e8caa37 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -44,9 +44,9 @@ import org.l2jmobius.gameserver.enums.ElementalType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index ebd92135e8..22074f54c9 100644
--- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.instancemanager.events.ItemDeletionInfoManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/GameServer.java
index 3ef3045139..dc33e26261 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/GameServer.java
@@ -134,7 +134,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -162,6 +161,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index b34557d341..4377fb75eb 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -44,9 +44,9 @@ import org.l2jmobius.gameserver.enums.ElementalType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index ebd92135e8..22074f54c9 100644
--- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.instancemanager.events.ItemDeletionInfoManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/GameServer.java
index 3ef3045139..dc33e26261 100644
--- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/GameServer.java
@@ -134,7 +134,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -162,6 +161,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 65d00d0744..ee9eae0d6b 100644
--- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -44,9 +44,9 @@ import org.l2jmobius.gameserver.enums.ElementalType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index ebd92135e8..22074f54c9 100644
--- a/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Essence_6.1_BattleChronicle/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.instancemanager.events.ItemDeletionInfoManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/GameServer.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/GameServer.java
index 3ef3045139..dc33e26261 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/GameServer.java
+++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/GameServer.java
@@ -134,7 +134,6 @@ import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
import org.l2jmobius.gameserver.instancemanager.CustomMailManager;
import org.l2jmobius.gameserver.instancemanager.DBSpawnManager;
import org.l2jmobius.gameserver.instancemanager.DailyTaskManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.FakePlayerChatManager;
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
import org.l2jmobius.gameserver.instancemanager.GraciaSeedsManager;
@@ -162,6 +161,7 @@ import org.l2jmobius.gameserver.instancemanager.SiegeGuardManager;
import org.l2jmobius.gameserver.instancemanager.SiegeManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.games.MonsterRace;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.events.EventDispatcher;
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
deleted file mode 100644
index b6f5f758c9..0000000000
--- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/EventDropManager.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.l2jmobius.Config;
-import org.l2jmobius.commons.util.Rnd;
-import org.l2jmobius.gameserver.model.actor.Attackable;
-import org.l2jmobius.gameserver.model.actor.Creature;
-import org.l2jmobius.gameserver.model.actor.Player;
-import org.l2jmobius.gameserver.model.holders.EventDropHolder;
-import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
-
-/**
- * @author Mobius
- */
-public class EventDropManager
-{
- private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
-
- public void addDrops(LongTimeEvent longTimeEvent, List dropList)
- {
- EVENT_DROPS.put(longTimeEvent, dropList);
- }
-
- public void removeDrops(LongTimeEvent longTimeEvent)
- {
- EVENT_DROPS.remove(longTimeEvent);
- }
-
- public void doEventDrop(Creature attacker, Attackable attackable)
- {
- if (EVENT_DROPS.isEmpty())
- {
- return;
- }
-
- // Event items drop only for players.
- if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
- {
- return;
- }
-
- // Event items drop only within a default 9 level difference.
- final Player player = attacker.getActingPlayer();
- if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
- {
- return;
- }
-
- for (List eventDrops : EVENT_DROPS.values())
- {
- DROPS: for (EventDropHolder drop : eventDrops)
- {
- if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
- {
- continue DROPS;
- }
-
- final int monsterLevel = attackable.getLevel();
- if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
- {
- final int itemId = drop.getItemId();
- final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
- if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
- {
- player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
- }
- else
- {
- attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
- }
- }
- }
- }
- }
-
- public static EventDropManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventDropManager INSTANCE = new EventDropManager();
- }
-}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
deleted file mode 100644
index 164969f241..0000000000
--- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/EventShrineManager.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.instancemanager;
-
-/**
- * @author Mobius
- */
-public class EventShrineManager
-{
- private static boolean ENABLE_SHRINES = false;
-
- public boolean areShrinesEnabled()
- {
- return ENABLE_SHRINES;
- }
-
- public void setEnabled(boolean enabled)
- {
- ENABLE_SHRINES = enabled;
- }
-
- public static EventShrineManager getInstance()
- {
- return SingletonHolder.INSTANCE;
- }
-
- private static class SingletonHolder
- {
- protected static final EventShrineManager INSTANCE = new EventShrineManager();
- }
-}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
new file mode 100644
index 0000000000..51fb25bd72
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/events/EventDropManager.java
@@ -0,0 +1,104 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.Rnd;
+import org.l2jmobius.gameserver.model.actor.Attackable;
+import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.model.actor.Player;
+import org.l2jmobius.gameserver.model.holders.EventDropHolder;
+import org.l2jmobius.gameserver.model.quest.LongTimeEvent;
+
+/**
+ * @author Mobius
+ */
+public class EventDropManager
+{
+ private static final Map> EVENT_DROPS = new ConcurrentHashMap<>(1);
+
+ public void addDrops(LongTimeEvent longTimeEvent, List dropList)
+ {
+ EVENT_DROPS.put(longTimeEvent, dropList);
+ }
+
+ public void removeDrops(LongTimeEvent longTimeEvent)
+ {
+ EVENT_DROPS.remove(longTimeEvent);
+ }
+
+ public void doEventDrop(Creature attacker, Attackable attackable)
+ {
+ if (EVENT_DROPS.isEmpty())
+ {
+ return;
+ }
+
+ // Event items drop only for players.
+ if ((attacker == null) || !attacker.isPlayable() || attackable.isFakePlayer())
+ {
+ return;
+ }
+
+ // Event items drop only within a default 9 level difference.
+ final Player player = attacker.getActingPlayer();
+ if ((player.getLevel() - attackable.getLevel()) > Config.EVENT_ITEM_MAX_LEVEL_DIFFERENCE)
+ {
+ return;
+ }
+
+ for (List eventDrops : EVENT_DROPS.values())
+ {
+ DROPS: for (EventDropHolder drop : eventDrops)
+ {
+ if (!drop.getMonsterIds().isEmpty() && !drop.getMonsterIds().contains(attackable.getId()))
+ {
+ continue DROPS;
+ }
+
+ final int monsterLevel = attackable.getLevel();
+ if ((monsterLevel >= drop.getMinLevel()) && (monsterLevel <= drop.getMaxLevel()) && (Rnd.get(100d) < drop.getChance()))
+ {
+ final int itemId = drop.getItemId();
+ final long itemCount = Rnd.get(drop.getMin(), drop.getMax());
+ if (Config.AUTO_LOOT_ITEM_IDS.contains(itemId) || Config.AUTO_LOOT || attackable.isFlying())
+ {
+ player.doAutoLoot(attackable, itemId, itemCount); // Give the item to the player that has killed the attackable.
+ }
+ else
+ {
+ attackable.dropItem(player, itemId, itemCount); // Drop the item on the ground.
+ }
+ }
+ }
+ }
+ }
+
+ public static EventDropManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventDropManager INSTANCE = new EventDropManager();
+ }
+}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
new file mode 100644
index 0000000000..3fd7119483
--- /dev/null
+++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/instancemanager/events/EventShrineManager.java
@@ -0,0 +1,45 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.gameserver.instancemanager.events;
+
+/**
+ * @author Mobius
+ */
+public class EventShrineManager
+{
+ private static boolean ENABLE_SHRINES = false;
+
+ public boolean areShrinesEnabled()
+ {
+ return ENABLE_SHRINES;
+ }
+
+ public void setEnabled(boolean enabled)
+ {
+ ENABLE_SHRINES = enabled;
+ }
+
+ public static EventShrineManager getInstance()
+ {
+ return SingletonHolder.INSTANCE;
+ }
+
+ private static class SingletonHolder
+ {
+ protected static final EventShrineManager INSTANCE = new EventShrineManager();
+ }
+}
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/Attackable.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/Attackable.java
index 65d00d0744..ee9eae0d6b 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/Attackable.java
+++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/actor/Attackable.java
@@ -44,9 +44,9 @@ import org.l2jmobius.gameserver.enums.ElementalType;
import org.l2jmobius.gameserver.enums.InstanceType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
import org.l2jmobius.gameserver.instancemanager.PcCafePointsManager;
import org.l2jmobius.gameserver.instancemanager.WalkingManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
import org.l2jmobius.gameserver.model.AggroInfo;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.DamageDoneInfo;
diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
index ebd92135e8..22074f54c9 100644
--- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
+++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/model/quest/LongTimeEvent.java
@@ -39,8 +39,8 @@ import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.data.sql.AnnouncementsTable;
import org.l2jmobius.gameserver.data.xml.NpcData;
-import org.l2jmobius.gameserver.instancemanager.EventDropManager;
-import org.l2jmobius.gameserver.instancemanager.EventShrineManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventDropManager;
+import org.l2jmobius.gameserver.instancemanager.events.EventShrineManager;
import org.l2jmobius.gameserver.instancemanager.events.ItemDeletionInfoManager;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.World;