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;